JP4494970B2 - Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process - Google Patents

Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process Download PDF

Info

Publication number
JP4494970B2
JP4494970B2 JP2004533728A JP2004533728A JP4494970B2 JP 4494970 B2 JP4494970 B2 JP 4494970B2 JP 2004533728 A JP2004533728 A JP 2004533728A JP 2004533728 A JP2004533728 A JP 2004533728A JP 4494970 B2 JP4494970 B2 JP 4494970B2
Authority
JP
Japan
Prior art keywords
synchronization
session
information
data
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004533728A
Other languages
Japanese (ja)
Other versions
JP2005537579A (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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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
Priority claimed from US10/236,010 external-priority patent/US20040044799A1/en
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of JP2005537579A publication Critical patent/JP2005537579A/en
Application granted granted Critical
Publication of JP4494970B2 publication Critical patent/JP4494970B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Description

本発明は、同期させるクライアント装置と同期させるサーバー装置の間でデータを同期させる方法と装置、ならびに同期させる個々の装置に関する。さらに詳細には、本発明は、アクティブな同期プロセスの中断をよりよく処理することのできるデータ同期法とデータ処理装置に関する。   The present invention relates to a method and apparatus for synchronizing data between a client apparatus to be synchronized and a server apparatus to be synchronized, and to the individual apparatuses to be synchronized. More particularly, the present invention relates to a data synchronization method and data processing apparatus that can better handle interruptions in an active synchronization process.

データの同期は、少なくとも2つの電子装置を使用していて同じデータをこれらの電子装置で処理するユーザーによく知られている考え方または技術である。一般に、同期は端末装置(例えば携帯電話)とサーバー装置(例えばローカルPCのアプリケーションまたは専用同期サーバー)の間で行なわれる。端末(例えば携帯用コンピュータ、PDA端末(パーソナル・ディジタル・アシスタント)、携帯電話、移動ステーション、ポケットベル)からのデータは、同期サーバーとして機能するネットワーク化された装置(例えばネットワーク化されたアプリケーションやデスクトップ・コンピュータのアプリケーション)によって、あるいは通信システムのデータ・ストアに含まれる他の管理アプリケーションによって同期させることができる。ここで“データ・ストア”という用語は、できるだけ広い意味に理解する必要がある。すなわちこの用語には、任意のデータ・セットが含まれる。一般に同期させるのは、特に、カレンダーのデータ、契約データ、eメール・アプリケーションのデータのほか、装置/アプリケーションの設定と構成に関するデータである。   Data synchronization is a concept or technique well known to users who use at least two electronic devices and process the same data with these electronic devices. In general, synchronization is performed between a terminal device (for example, a mobile phone) and a server device (for example, a local PC application or a dedicated synchronization server). Data from terminals (eg, portable computers, PDA terminals (personal digital assistants), mobile phones, mobile stations, pagers) is converted to networked devices that function as synchronization servers (eg, networked applications and desktops) Can be synchronized by a computer application) or by other management applications included in the data store of the communication system. Here, the term “data store” should be understood in the broadest possible way. That is, the term includes any data set. In general, what is synchronized is in particular calendar data, contract data, email application data, as well as device / application settings and configuration data.

同期は、メーカーごとに異なっていて互換性のない特別なプロトコルの使用に基づいてなされる。そのため使用する端末またはデータのタイプが制限され、ユーザーにとってトラブルの原因となる。特に移動体通信では、使用する端末やアプリケーションに関係なくデータを回収して更新できることが重要である。   Synchronization is based on the use of special protocols that vary from manufacturer to manufacturer and are not compatible. This limits the type of terminal or data used, causing trouble for the user. Particularly in mobile communication, it is important that data can be collected and updated regardless of the terminal or application used.

アプリケーション・データの同期を改善するため、同期マークアップ言語として知られるSyncMLという名称の言語が設計された。これは、拡張可能なマークアップ言語(XML)に基づいている。SyncML形式のメッセージを使用するSyncML同期プロトコルを用いることにより、ネットワーク化された端末とあらゆるタイプのネットワーク・サーバーの間で、あらゆるアプリケーションのデータを同期させることができる。SyncML同期プロトコルは、無線ネットワークと固定ネットワークの両方で機能し、いくつかの送信プロトコルをサポートしている。上記のSyncML同期技術により、特にデータ・ストアまたはデータベースを同期させることができる。   To improve the synchronization of application data, a language called SyncML, known as the synchronization markup language, was designed. It is based on an extensible markup language (XML). By using the SyncML synchronization protocol that uses SyncML format messages, data of any application can be synchronized between the networked terminal and any type of network server. The SyncML synchronization protocol works on both wireless and fixed networks and supports several transmission protocols. With the above SyncML synchronization technology, it is possible in particular to synchronize data stores or databases.

通常は、データ記録の同期は、異なる記憶場所(すなわちその記憶場所を管理し利用している別々の同期装置)に記憶されている2つの異なる所定のデータ記録セットを調和させるため、すなわち対応状態にするため、ある決まった時刻に実行する。その結果、その時刻に両方の記憶場所に2つの同じデータ記録セットが得られる。ある時刻におけるデータ記録の同期は、同期セッションとも呼ばれる。データ記録セットの同期は、そのような同期セッションの間に情報交換によってなされる。両方の同期装置に対して命令やコマンドを送ることにより、そこに記憶されているデータ記録セットを変更し、それらを調和させる。このような変更操作には、データの追加、データの移動、現在のデータに対するデータ追加、データの更新などが含まれる。必要な情報やコマンドの交換は、実際的な目的のため、それぞれの同期装置で調和操作に必要なすべての情報、命令、コマンドが分散された形で含まれた1つ以上のメッセージを同期装置相互間でやりとりすることによって実現される。さらに、1つ以上のメッセージのそれぞれが認証されると、その中に含まれるメッセージ情報に従って成功した操作がどれであるかがわかる。   Normally, the synchronization of data records is to reconcile two different predetermined data record sets stored in different storage locations (ie separate synchronization devices that manage and use that storage location), ie corresponding state Therefore, it is executed at a certain time. The result is two identical data record sets in both storage locations at that time. The synchronization of data recording at a certain time is also called a synchronization session. The synchronization of the data record set is done by exchanging information during such a synchronization session. Sending commands and commands to both synchronizers changes the data record set stored therein and harmonizes them. Such change operations include data addition, data movement, data addition to current data, data update, and the like. For the purpose of exchanging necessary information and commands, each synchronizer synchronizes one or more messages that contain all the information, commands, and commands required for harmony operation in a distributed manner. This is achieved by communicating between each other. Furthermore, when each of the one or more messages is authenticated, it is possible to know which operation was successful according to the message information contained therein.

基本的に、上記の同期プロセスは、完全同期プロセス(遅い同期とも呼ばれる)と増分同期プロセス(通常の同期、または速い同期とも呼ばれる)のいずれかによって取り扱って実行することができる。同期セッションで完全同期プロセスまたは遅い同期プロセスが実行されている間に、同期に関与している両方の装置の所定の全データ記録セットが調和状態になる。同期セッションで増分同期プロセスまたは速い同期プロセスが実行されている間に、関与している同期装置の両方に最後に終了した同期セッションの時刻が記録され、両方の同期装置に記録されているその時刻が一致するときには、その時刻以降に変更されたデータ記録だけが同期のために選択され、他のすべてのデータ記録は同期プロセスから除外される。したがって変更ログは、変更を記録し、データ記録の時刻を追加または削除する同期装置によって維持することができる。別の方法として、変更は、記録の変更がある場合にその記録の変更時刻のスタンプを調べることによって明らかにすることもできる。両方の同期プロセス、すなわちいわゆる遅い同期といわゆる速い(通常の)同期は、SyncML規格において規定され、使用される。さらに別のタイプの同期プロセスも利用可能で利用されているが、これら別のタイプの同期プロセスは、上記の基本的な同期プロセスに還元することができる。   Basically, the above synchronization process can be handled and executed either by a full synchronization process (also called slow synchronization) or an incremental synchronization process (also called normal synchronization or fast synchronization). While a complete synchronization process or a slow synchronization process is being performed in a synchronization session, the entire set of predetermined data records of both devices involved in the synchronization is harmonized. While the sync session is running an incremental sync process or a fast sync process, both participating sync units record the time of the last completed sync session and that time recorded on both sync units Are matched, only data records changed after that time are selected for synchronization and all other data records are excluded from the synchronization process. Thus, the change log can be maintained by a synchronizer that records changes and adds or deletes the time of data recording. Alternatively, the change can be revealed by examining the record modification time stamp when there is a record change. Both synchronization processes, so-called slow synchronization and so-called fast (normal) synchronization, are defined and used in the SyncML standard. Still other types of synchronization processes are available and utilized, but these other types of synchronization processes can be reduced to the basic synchronization process described above.

1つの記録および/または記録群が他のデータベースと同期したとき、認証がその記録の送り手に戻される。認証を取り扱う2つの基本的な方法を同期アプリケーションで実現することができる。第1の実現法では、1つのデータ記録またはデータ記録群の成功したそれぞれの同期が、好ましくはそのことを示す1つ以上の変更ログとして同期装置によって認証され、記録される。第2の実現法では、認証は、同期セッションの終了時に(すなわち、同期セッションが適切に終了したことを両方の同期装置が示すとすぐに)処理され、利用されることになる対応する通信が接続される。さらに、同期セッション終了時の認証の取り扱いと最後に終了した同期セッションを示す時刻の更新は、実質的に同時に処理される。同期セッションが遅い同期の方法で実行される場合には、最後に終了した同期セッションを示す時刻の考慮は、明らかに不要である。   When one record and / or group of records is synchronized with another database, authentication is returned to the sender of that record. Two basic methods of handling authentication can be realized in synchronous applications. In the first implementation, each successful synchronization of a data record or group of data records is authenticated and recorded by the synchronizer, preferably as one or more change logs indicating it. In the second implementation, authentication is handled at the end of the synchronization session (ie, as soon as both synchronizers indicate that the synchronization session has been properly terminated) and the corresponding communication that will be used. Connected. Furthermore, the handling of authentication at the end of the synchronization session and the update of the time indicating the last completed synchronization session are processed substantially simultaneously. Obviously, when the synchronization session is executed in a slow synchronization manner, consideration of the time indicating the last completed synchronization session is unnecessary.

第1の実現法では、主として、例えば分散データベースを互いに高速で接続して同期させるのに用いられる同期アプリケーションを利用して、データの完全性を維持・確保する。このような実現法では、それぞれのデータ記録のための変更ログを記録し維持するのに必要な容量も、変更ログを処理するのに必要な処理能力も、必要な認証を交換するのに必要なネットワーク帯幅も、あまり重要ではない。小さな電子機器(例えば携帯電話、携帯コンピュータ、PDA、発振機など)に記憶されているデータの同期を考えると、記憶容量と処理能力は限られているため、それぞれのデータ記録のための変更ログを記録、維持、処理する操作は、重荷であり、不十分にしかできず、ときには不可能になる。さらに、必要な認証によって生じるネットワーク・トラフィックは受け入れられない。というのも、携帯通信環境ではコストと時間もかかるからである。   In the first implementation method, data integrity is maintained and ensured mainly using, for example, a synchronization application used to connect and synchronize distributed databases with each other at high speed. In such an implementation, the capacity required to record and maintain the change log for each data record, as well as the processing power required to process the change log, are required to exchange the required authentication. The network bandwidth is also not very important. Considering the synchronization of data stored in small electronic devices (for example, mobile phones, mobile computers, PDAs, oscillators, etc.), the storage capacity and processing capacity are limited, so change logs for each data recording The operation of recording, maintaining and processing is a heavy burden and can only be done poorly and sometimes impossible. Furthermore, network traffic resulting from the required authentication is not accepted. This is because the mobile communication environment is costly and time consuming.

時刻スタンプの更新と項目の認証の取り扱いがセッションの終了時に行なわれる第2の実現法は、小さな電子機器で利用するのに適しており、SyncML規格によってサポートされている。しかしこの実現法には、現在実行中の同期セッションの中断が示されないという問題がある。一部が実行された同期セッションの間に交換された同期情報を維持することはできない。というのも、同期セッションの終了時に行なわれる時刻スタンプ(同期アンカー)の更新と認証の取り扱いは、中断のために実施されないからである。たとえデータ項目の認証がセッション中に取り扱われたとしても、時刻スタンプはセッションの終了時にしか更新されないため、遅い同期の中断により、すでに処理された同期情報が失われる。上記の両方の場合に、同期セッションを繰り返してデータの完全性を保証する必要がある。同期に関係する情報の量に応じ、すなわち同期させるデータ記録の数に応じ、通常はいくつかの同期メッセージしか含まれていない1回の同期セッションの間に巨大な数のメッセージが交換されることさえある。例えば500個のデータ記録のうちの400個を1回の同期セッションの間に同期させることができて、そこで中断が起こったとする。以後の同期セッションでは、同期を速い同期プロセスで実施するか遅い同期プロセスで実施するかに関係なく、500個のデータ記録すべてを再び同期させねばならない。   The second implementation, in which time stamp updates and item authentication are handled at the end of a session, is suitable for use on small electronic devices and is supported by the SyncML standard. However, this implementation has the problem that no interruption of the currently running synchronization session is indicated. It is not possible to maintain synchronization information exchanged during a partially executed synchronization session. This is because the update of the time stamp (synchronization anchor) performed at the end of the synchronization session and the handling of authentication are not performed for interruption. Even if the authentication of the data item is handled during the session, the time stamp is only updated at the end of the session, so the synchronization information already processed is lost due to the late synchronization interruption. In both cases above, it is necessary to repeat the synchronization session to ensure data integrity. Depending on the amount of information involved in synchronization, i.e. the number of data records to be synchronized, a large number of messages are exchanged during a single synchronization session, which usually contains only a few synchronization messages Even there. For example, suppose 400 out of 500 data records could be synchronized during a single synchronization session, where an interruption occurred. In subsequent synchronization sessions, all 500 data records must be re-synchronized, regardless of whether the synchronization is performed in a fast or slow synchronization process.

本発明の目的は、中断された同期セッションの全体を繰り返すことを避けるため、その中断された同期セッションを再開させることのできる方法を提供することである。中断された同期セッションを再開させるための設備は、大きな記憶容量も、大きな処理能力も、交換される多数の認証も必要なく、広い通信帯幅も必要ないように構成する。この方法は、小さな電子機器を経済的に実現するのに適している。   It is an object of the present invention to provide a method that can resume an interrupted synchronization session to avoid repeating the entire interrupted synchronization session. The facility for resuming an interrupted synchronization session is configured so that it does not require large storage capacity, large processing power, multiple authentications to be exchanged, and no wide communication bandwidth. This method is suitable for economically realizing small electronic devices.

本発明の一実施態様では、操作中に中断された過去の不完全な同期セッションを再開させることのできる方法が提供される。過去の不完全な同期セッションの再開は、以下の操作によって実現される。   In one embodiment of the present invention, a method is provided that can resume a past incomplete synchronization session that was interrupted during operation. The resumption of the past incomplete synchronization session is realized by the following operation.

第1の装置と第2の装置の間でデータを同期させるために通信接続が確立される。第1の装置と第2の装置は、同期させるデータ記録セットをそれぞれ備えている。通常は、データ記録は、対応するアプリケーションによってデータ記憶装置またはデータベースの中に収容されている。   A communication connection is established to synchronize data between the first device and the second device. The first device and the second device each have a data recording set to be synchronized. Typically, data records are housed in data storage devices or databases by corresponding applications.

本発明の一実施態様では、2つの装置間でのデータ交換に関して中断された過去の不完全な同期を再開させる方法が提供される。この方法は、過去の不完全な同期セッションの再開要求に関する情報を含む再開警告信号を第1の装置から第2の装置に送るステップを特徴とする。再開警告信号は、少なくとも、再開セッションを直接示す直接警告コードまたはサーバーによる推定が可能な信号(例えばそのセッションで使用される時刻スタンプを示すもの、またはそれ以外でそのセッションを特定する何らかのもの)にすることができる。この方法は、警告信号の状態として、実行する同期のタイプに関する情報を第2の装置から第1の装置に送るステップも特徴とする。再開警告信号の状態に関する情報は、過去の不完全な同期セッションの同期のタイプを無効にする情報を含むことができる。   In one embodiment of the present invention, a method is provided for resuming a past incomplete synchronization that was interrupted with respect to data exchange between two devices. The method features the step of sending a restart warning signal from the first device to the second device including information relating to a request to restart a previous incomplete synchronization session. The resume warning signal is at least a direct alert code that directly indicates the resume session or a signal that can be estimated by the server (eg, an indication of the time stamp used in the session, or something else that identifies the session) can do. The method also includes the step of sending information about the type of synchronization to be performed from the second device to the first device as the state of the warning signal. Information regarding the state of the resume warning signal may include information that invalidates the synchronization type of the previous incomplete synchronization session.

本発明による別の一実施態様では、第1の更新識別子と第2の識別子が、第1の装置から第2の装置へ、あるいは第2の装置から第1の装置へと送られる。送信の方向は、どの装置が過去の不完全な同期セッションの再開を要求しているかと、同期の方向に依存する。再開を要求している装置は、両方の識別子を他方の装置に送る。第1の更新識別子は、1の装置と第2の装置の間で実行された過去の完全な同期セッションを特定する。第1の更新識別子は、過去の完全な同期セッションを初期化している間に第1の装置と第2の装置に記憶されている。さらに詳しく説明すると、識別子の値は記憶されているが、その値の名称または記憶場所は、実現法によって異なる可能性がある。一般に、第1の更新識別子は、過去の完全な同期セッションの開始時刻を記録するのに用いられる時刻スタンプである。あるいは識別子は、任意の数値でもよい。例えば、単調に増加する整数ストリング、テキスト・ストリング、あるいはこれらの混合物が、順序よく生成されたもの、あるいは少なくともある程度が、すなわち一部がランダムに生成されたものが可能である。本発明によれば、第2の更新識別子は、第1の装置と第2の装置の間で実行された過去の不完全な同期セッションを特定する。第2の更新識別子は、過去の不完全な同期セッションを初期化している間に第1の装置と第2の装置に記憶されている。一般に、第2の更新識別子も、中断された過去の不完全な同期セッションの開始時刻を示すのに用いられる時刻スタンプなどである。しかし従来技術では、第2の更新識別子の挙動と使用は、同期セッションの間だけについて規定されていて、セッションの中断または終了の後は規定されていない。   In another embodiment according to the present invention, the first update identifier and the second identifier are sent from the first device to the second device or from the second device to the first device. The direction of transmission depends on which device is requesting to resume a previous incomplete synchronization session and the direction of synchronization. The device requesting the resume sends both identifiers to the other device. The first update identifier identifies a past complete synchronization session performed between the first device and the second device. The first update identifier is stored in the first device and the second device while initializing a past complete synchronization session. More specifically, although the value of the identifier is stored, the name or storage location of the value may vary depending on the implementation method. In general, the first update identifier is a time stamp used to record the start time of a past complete synchronization session. Alternatively, the identifier may be an arbitrary numerical value. For example, monotonically increasing integer strings, text strings, or mixtures thereof can be generated in order, or at least to some extent, i.e., partially generated randomly. According to the present invention, the second update identifier identifies a past incomplete synchronization session performed between the first device and the second device. The second update identifier is stored in the first device and the second device while initializing a previous incomplete synchronization session. In general, the second update identifier is also a time stamp or the like used to indicate the start time of an interrupted incomplete synchronization session. However, in the prior art, the behavior and use of the second update identifier is specified only during the synchronization session and not after the session is interrupted or terminated.

本発明の方法は、4つの同期ステップを含んでいる。第1のステップは、同期させるデータ・セットをそれぞれが備えている第1の装置と第2の装置の間でデータを同期させるために通信接続を確立する操作を含んでいる。第2のステップは、第1の更新識別子と第2の更新識別子を送信する操作を含んでいる。第1の更新識別子は、第1の装置と第2の装置の間で実行された過去の完全な同期セッションを表わしていて値が少なくとも第1の装置に記憶されている。第2の更新識別子は、第1の装置と第2の装置の間で開始された過去の不完全な同期セッションを表わしていて値が少なくとも第1の装置に記憶されている。第3のステップは、過去の不完全な同期セッションの間にうまく同期したデータの指標を回復または形成する操作を含んでいる。第4のステップは、この指標を用い、過去の不完全な同期セッションの間にうまく同期しなかったデータを同期させ;(4)少なくとも第1の装置において、第1の更新識別子の値を第2の更新識別子の値で更新する操作を含んでいる。   The method of the present invention includes four synchronization steps. The first step includes establishing a communication connection to synchronize data between the first device and the second device, each of which has a data set to be synchronized. The second step includes an operation of transmitting the first update identifier and the second update identifier. The first update identifier represents a past complete synchronization session executed between the first device and the second device, and a value is stored in at least the first device. The second update identifier represents a past incomplete synchronization session started between the first device and the second device, and a value is stored at least in the first device. The third step involves recovering or forming an indication of data that has been successfully synchronized during a previous incomplete synchronization session. The fourth step uses this indicator to synchronize data that did not synchronize well during the past incomplete synchronization session; (4) at least the first device sets the value of the first update identifier to It includes an operation for updating with the value of the update identifier of 2.

この方法は、過去の不完全な同期セッションに関係していて過去のその不完全な同期に関する情報群の中の少なくとも1つの情報を含む追加情報と、受信した同期関連情報に従ってうまく同期したデータに関する情報を送信するステップも含んでいる。   This method relates to past information that is related to an incomplete synchronization session and includes data that has been successfully synchronized according to the received synchronization related information, with additional information including at least one piece of information about the past incomplete synchronization. It also includes the step of transmitting information.

この方法は、第1の装置と第2の装置のうちの少なくとも一方において、第1回目の比較では、第1の装置から送信された第1の更新識別子の値を、第2の装置に記憶されている第1の装置の第1の更新識別子の値と比較し;第2回目の比較では、第1の装置から送信された第2の更新識別子の値を、第2の装置に記憶されている第1の装置の第2の更新識別子の値と比較し、以下に示す選択肢:
1)第2回目の比較によって真の値が生成された場合には、過去の不完全な同期セッションの間に交換されなかったデータを含むデータを第1の装置と第2の装置の間で同期させるステップ;
2)第2回目の比較によって偽の値が生成された場合には、過去の不完全な同期セッションの間に同期されたデータを少なくとも含むデータを第1の装置と第2の装置の間で同期させるステップ;
3)第1回目の比較によって偽の値が生成された場合には、過去の完全な同期セッションの間に同期されたデータを含むデータを第1の装置と第2の装置の間で同期させるステップ;
4)第1回目の比較によって真の値が生成された場合には、過去の完全な同期セッションの間に同期されなかったデータを第1の装置と第2の装置の間で同期させるステップのうちの少なくとも1つを実施するステップも含んでいる。
In this method, in at least one of the first device and the second device, the value of the first update identifier transmitted from the first device is stored in the second device in the first comparison. compared with the first value of the update identifier of the first device being; in the second comparison, the value of the second update identifier transmitted from the first device, is stored in the second device Compare with the value of the second update identifier of the first device that has the following options:
1) If a true value is generated by the second comparison, data including data that has not been exchanged during the previous incomplete synchronization session is transferred between the first device and the second device. Synchronizing step;
2) If a false value is generated by the second comparison, data between the first device and the second device contains at least data that was synchronized during the previous incomplete synchronization session. Synchronizing step;
3) If the first comparison generates a false value, synchronize the data containing the data synchronized during the past complete synchronization session between the first device and the second device Step;
4) If the first comparison produces a true value, the step of synchronizing the data that was not synchronized during the previous full synchronization session between the first device and the second device It also includes the step of performing at least one of them.

同期のために通信接続を確立する操作は、第1の装置と第2の装置のうちの少なくとも一方に対し、過去の不完全な同期を再開させる準備を指示する最初のメッセージを送信するステップを含むことができる。   The operation of establishing a communication connection for synchronization includes sending an initial message instructing at least one of the first device and the second device to resume past incomplete synchronization. Can be included.

同期は、SyncML規格に従う同期プロトコルに基づいており、第1の更新識別子はLAST同期アンカーである。第2の更新識別子は、次の同期アンカーと休止同期アンカーのうちの少なくとも一方である。さらに、過去の不完全な同期セッションに関する追加情報は、同期セッション識別子(セッションID)と、同期メッセージ識別子(メッセージID)と、認証されたデータとそれに対応するそれぞれのデータ・ストアの1つ以上の識別子とからなるグループのうちの少なくとも1つの情報を含むことができる。さらに、追加情報は、第1の更新識別子と第2の更新識別子を送信する前に少なくとも第1の装置に記憶されている。   The synchronization is based on a synchronization protocol according to the SyncML standard, and the first update identifier is a LAST synchronization anchor. The second update identifier is at least one of the next sync anchor and the dormant sync anchor. In addition, additional information regarding past incomplete synchronization sessions includes synchronization session identifier (session ID), synchronization message identifier (message ID), authenticated data and one or more of each corresponding data store. Information on at least one of a group of identifiers can be included. Further, the additional information is stored at least in the first device before transmitting the first update identifier and the second update identifier.

この方法では、データの認証、またはそのデータを含むメッセージの認証がうまく受信された場合にデータがうまく同期され、その認証は、データまたはメッセージの同期がうまくいった状態またはいかない状態であることを示している。   In this way, if the authentication of the data or the message containing the data is successfully received, the data is successfully synchronized, and the authentication is either successful or unsuccessful in synchronizing the data or message. Is shown.

本発明により、上記の方法の全ステップを実行するための部分プログラム群を含む同期用のソフトウエア・ツールであって、処理装置、端末機器、通信端末機器、ネットワーク装置のいずれかで実行されるコンピュータ・プログラムとして実現されるソフトウエア・ツールと、同期用のコンピュータ・プログラムまたはコンピュータ・プログラム製品も提供される。   According to the present invention, a software tool for synchronization including a partial program group for executing all the steps of the above method, which is executed in any one of a processing device, a terminal device, a communication terminal device, and a network device Software tools implemented as computer programs and computer programs or computer program products for synchronization are also provided.

本発明により、ネットワークで使用されてデータを同期させることのできる装置であって、記憶媒体と、通信インターフェイスと、回復素子または形成素子と、同期素子と、更新素子を備える装置も提供される。記憶媒体は、互いに同期させる所定のデータ・セットを含んでいる。通信インターフェイスは、ネットワーク内で使用される別の装置においてデータを同期させることを目的として通信接続を確立し、第1の更新識別子と第2の更新識別子の通信をその別のネットワーク装置との間で行ない、データをその別のネットワーク装置と交換する。第1の更新識別子は、他のネットワーク装置を用いて実行された過去の完全な同期セッションを表わしていて少なくともこのネットワーク装置に記憶されている。第2の更新識別子は、過去の不完全な同期セッションを表わしていて少なくともこのネットワーク装置に記憶されている。データは、過去の不完全な同期セッションの間に同期された少なくとも1つのデータを含んでいる。回復素子または形成素子は、過去の不完全な同期セッションの間に同期されたデータに関してネットワーク装置に記憶されている指標を回復または形成する。同期素子は、その指標に従ってデータを同期させる。更新素子は、記憶されている第1の更新識別子の内容を、記憶されている第2の更新識別子の内容で更新する。   The present invention also provides an apparatus that can be used in a network to synchronize data and includes a storage medium, a communication interface, a recovery element or forming element, a synchronization element, and an update element. The storage medium includes predetermined data sets that are synchronized with each other. The communication interface establishes a communication connection for the purpose of synchronizing data in another device used in the network, and communicates between the first update identifier and the second update identifier between the other network devices. And exchange data with that other network device. The first update identifier represents a past complete synchronization session performed using another network device and is stored at least in this network device. The second update identifier represents a past incomplete synchronization session and is stored at least in this network device. The data includes at least one data synchronized during a past incomplete synchronization session. The recovery element or forming element recovers or forms an indication stored in the network device for data synchronized during a previous incomplete synchronization session. The synchronization element synchronizes data according to the index. The update element updates the content of the stored first update identifier with the content of the stored second update identifier.

通信インターフェイスは、過去の不完全な同期セッションに関する補足追加情報を送信できる構成にすることができる。この補足追加情報は、過去の不完全な同期セッションに関する情報と、最後にうまくいった同期関連情報の交換に関する情報と、受信した同期関連情報に従ってうまく同期したデータに関する情報からなるグループのうち少なくとも1つの情報を含むことができる。   The communication interface can be configured to transmit supplemental additional information regarding past incomplete synchronization sessions. This supplemental additional information includes at least one of the group consisting of information about previous incomplete synchronization sessions, information about the last successful exchange of synchronization related information, and information about data successfully synchronized according to received synchronization related information. One piece of information can be included.

装置は、第1回目の比較では、第1の装置から送信された第1の更新識別子の値を、第2の装置に記憶されている第1の装置の第1の更新識別子の値と比較し、第2回目の比較では、第1の装置から送信された第2の更新識別子の値を、第2の装置に記憶されている第1の装置の第2の更新識別子の値と比較する素子も備えることができる。この素子は、本発明の方法に関して上に説明した選択肢のうちの少なくとも1つを実行する。 Comparison device, the comparison of the first time, the value of the first update identifier transmitted from the first device, the first value of the update identifier of the first device stored in the second device In the second comparison, the value of the second update identifier transmitted from the first device is compared with the value of the second update identifier of the first device stored in the second device. An element can also be provided. This element performs at least one of the options described above with respect to the method of the invention.

本発明により、第1のネットワーク装置と第2のネットワーク装置を備えていて、それぞれの装置は、本発明の方法と装置の全体に関して上に説明したのと同様のステップを実行するための素子を含んでいる同期システムも提供される。   In accordance with the present invention, a first network device and a second network device are provided, each device having elements for performing similar steps as described above with respect to the method and apparatus of the present invention as a whole. An included synchronization system is also provided.

添付の図面を参照した実施態様により、本発明をさらに詳しく説明する。   The invention is explained in more detail by means of embodiments with reference to the accompanying drawings.

以下に、SyncML同期規格をサポートするシステムに関して本発明の実施態様を記述するが、本発明がそのようなシステムに限定されることはない。SyncML規格に関する情報は、全規格文書を公開しているSyncMLイニシアティブから得ることができる。図示した同じか同等な部分、および/または素子、および/または操作には、同じ参照番号を用いる。   In the following, embodiments of the present invention will be described with respect to a system that supports the SyncML synchronization standard, but the present invention is not limited to such a system. Information about the SyncML standard can be obtained from the SyncML initiative, which publishes all standard documents. The same reference numbers are used for the same or equivalent parts and / or elements and / or operations shown.

図1は、情報を互いに同期させる具体的な電子機器群の概略図である。例えば携帯端末のデータ・ストアの所定の内容が、指定された装置(例えば、別のいくつかの携帯端末および/またはデータ・ストアの内容を記憶していて固定端末からアクセスできる中央記憶装置)から提供されるデータ・ストアの内容と調和されることになる。従来は、携帯端末が同期クライアントとして機能し、その同期クライアント上を走っている所定のアプリケーションに関するデータを、そのアプリケーションに関するデータを主に記憶している専用サーバー装置から提供される1つまたは複数のデータ・ストアの内容と、調和または同期させる。図1には、互いに同期させることが可能な複数のクライアント装置とサーバー装置を示してある。一般にクライアント装置は移動局であり、例えば、携帯電話17、パーソナル・ディジタル・アシスタント(PDA)、ノート型パソコン15などの携帯用コンピュータ、ディジタル・データを記憶するディジタル・カメラ16などの電子機器、デスクトップ・コンピュータ(PC)などの固定端末が挙げられる。さらに、専用同期サーバー装置としては、固定端末(デスクトップ・コンピュータ10、専用ネットワーク・サーバー11(例えばその同期化能力をネットワーク化された同期アプリケーションとして利用する)が可能であり、携帯用コンピュータ(例えば同期サーバー・アプリケーションが走っているノート型パソコン12など)さえ可能である。同期に関しての考え方を専用サーバー装置に接続された携帯端末で説明したが、クライアント装置の機能が上記の移動端末に限られることはない。   FIG. 1 is a schematic diagram of a specific group of electronic devices that synchronize information with each other. For example, the predetermined content of the data store of the mobile terminal is from a specified device (eg, some other mobile terminal and / or a central storage device that stores the contents of the data store and can be accessed from a fixed terminal) It will be harmonized with the contents of the provided data store. Conventionally, a mobile terminal functions as a sync client, and data related to a predetermined application running on the sync client is provided from one or more dedicated server devices that mainly store data related to the application. Harmonize or synchronize with the contents of the data store. FIG. 1 shows a plurality of client devices and server devices that can be synchronized with each other. In general, the client device is a mobile station, for example, a mobile phone 17, a personal digital assistant (PDA), a portable computer such as a notebook personal computer 15, an electronic device such as a digital camera 16 that stores digital data, a desktop -Fixed terminals such as computers (PC). Furthermore, as the dedicated synchronization server device, a fixed terminal (desktop computer 10, dedicated network server 11 (for example, using its synchronization capability as a networked synchronization application) is possible, and a portable computer (for example, synchronization) (Notebook computers running server applications, etc. 12) The concept of synchronization was explained using a mobile terminal connected to a dedicated server device, but the client device functions are limited to the above mobile terminals. There is no.

SyncMLプロトコル規格に従う対応する同期プロセスは、適切な通信接続を通じて確立される。論理通信接続は、任意の通信網において、同期プロトコルに適合したトランスポート・プロトコルを利用することによって実現される。適切な通信網としては、インターネットと社内イントラネットを含むことのできるローカル・エリア・ネットワーク(LAN)や広域ネットワーク(WAN)だけでなく、無線に基づいたシリアル・ネットワーク(例えば、汎用シリアル・バス(USB)や標準化されたシリアル通信(例えばRS-232)が可能である。関与する同期装置は、無線通信網を通じて接続することもできる。無線通信網としては、例えば、移動体網をサポートする移動通信用グローバル・システム(GSM)サービスおよび/または汎用パケット・ラジオ・サービス(GPRS)、第3世代の移動体通信網(例えば、汎用移動通信システム(UMTS)ネットワーク)、無線ローカル・エリア・ネットワーク(WLAN)、狭い範囲の無線通信網(例えば、ブルートゥース網、無線ローカル・ループ(WLL)、赤外線ネットワーク(IrDA))などがある。関与する同期装置同士の論理通信接続は、上記のタイプの単一の通信網から提供できるだけでなく、通信網を互いに接続し、必要な場合には、利用するそれぞれの通信網のデータ・プロトコル間の翻訳を行なう専用ネットワーク・ルーティング装置によって互いに接続された上記のタイプのいくつかの通信網からも提供することができる。   A corresponding synchronization process according to the SyncML protocol standard is established through a suitable communication connection. The logical communication connection is realized by using a transport protocol adapted to the synchronization protocol in an arbitrary communication network. Suitable communication networks include not only local area networks (LAN) and wide area networks (WAN), which can include the Internet and corporate intranets, but also serial networks based on radio (for example, universal serial bus (USB) ) And standardized serial communication (for example, RS-232) The involved synchronization devices can also be connected through a wireless communication network, for example, mobile communication supporting a mobile network. Global System (GSM) service and / or General Packet Radio Service (GPRS), 3rd generation mobile communication networks (eg General Mobile Communication System (UMTS) network), Wireless Local Area Network (WLAN) ), Narrow range wireless communication networks (eg Bluetooth network, wireless local loop (WLL)) Infrared network (IrDA), etc. Not only can the logical communication connection between the involved synchronization devices be provided from a single communication network of the type described above, but also the communication networks connected to each other, if necessary, It can also be provided from several networks of the type described above connected together by a dedicated network routing device that translates between the data protocols of the respective networks used.

SyncMLプロトコル規格とSyncML同期プロトコル規格に関しては、したがってSyncML装置管理プロトコル規格に関しても、SyncML装置管理プロトコルは、使用する通信網のタイプに応じた適切なプロトコルの先頭部で実現される。先頭部でSyncML同期プロトコルを実現できる適切なプロトコルは、ハイパーテキスト転送プロトコル(HTTP)、無線アプリケーション・プロトコル(WAP)規格の無線セッション・プロトコル(WSP)、ケーブル接続(例えば汎用シリアル・バス(USB)またはRS-232)で使用される、あるいは狭い範囲の無線通信接続(ブルートゥース)で使用される、あるいは赤外線接続(IrDA)で使用されるオブジェクト交換プロトコル(OBEX)、トランスポート層サービスの先頭にあってeメール・プロトコル(例えば簡易メール転送プロトコル、SMTP)によって提供されるトランスポート制御プロトコル/インターネット・プロトコル(TCP/IP)スタックである。   With regard to the SyncML protocol standard and the SyncML synchronization protocol standard, and therefore also with respect to the SyncML device management protocol standard, the SyncML device management protocol is realized at the head of an appropriate protocol according to the type of communication network to be used. Suitable protocols that can implement the SyncML synchronization protocol at the beginning are Hypertext Transfer Protocol (HTTP), Wireless Application Protocol (WAP) standard wireless session protocol (WSP), and cable connections (eg, Universal Serial Bus (USB)) Or RS-232), or the Object Exchange Protocol (OBEX), which is used for narrow-range wireless communication connections (Bluetooth), or for infrared connections (IrDA) A Transport Control Protocol / Internet Protocol (TCP / IP) stack provided by an e-mail protocol (eg, Simple Mail Transfer Protocol, SMTP).

より下位の層での転送は、例えば短いメッセージSMS(短いメッセージ・サービス)または他の信号伝達方式の送信法(例えばUSSD;非構造化補足サービスデータ)、回線交換データ呼び出し、パケット交換データ転送サービス、ポケットベル・メッセージ・サービス、セル放送を通じたメッセージなどを利用した下位ネットワークに従って実行することができる。   Transfers at lower layers include short message SMS (short message service) or other signaling transmission methods (eg USSD; unstructured supplementary service data), circuit-switched data call, packet-switched data transfer service It can be executed according to a subordinate network using a pager message service, a message through a cell broadcast, or the like.

今後は、データ・ストアという用語はできるだけ広い意味に理解するものとする。すなわち、アクセスされるデータ記憶装置から提供されるあらゆるデータ・セットがこの用語に含まれるものとする。特に、データ・セットは、特定のアプリケーションに関係し、アプリケーション特異的な条件(例えばカレンダー・アプリケーション、ディレクトリー・アプリケーション、コンタクト・アプリケーション(例えばvcardアプリケーション)、eメール・アプリケーションなどのデータ)に合うように構成するとよい。さらに、どのデータ・セットも、アクセスされるデータを提供するデータ記録が含まれた1つ以上のデータベースの構成にすることができる。さらに、データ・ストアという用語には、ネットワーク・データ・サービスまたはネットワーク化されたサービスが含まれるものとする。すなわち、データ・ストアと同様、アクセスされるネットワーク化されたサービスから提供されるすべてのデータ・セットが含まれるものとする。通常は、ネットワーク・サービスは、特定のサービスに関係するデータ・ストアの内容を含むデータ・ストアに基づいている。   In the future, the term data store will be understood as broadly as possible. That is, any data set provided from the accessed data storage device is included in this term. In particular, the data set is relevant to a particular application and meets application-specific conditions (eg data such as calendar application, directory application, contact application (eg vcard application), email application, etc.) Configure. In addition, any data set can be in the form of one or more databases that contain data records that provide the data to be accessed. Further, the term data store is intended to include network data services or networked services. That is, as with the data store, all data sets provided by the networked service being accessed are included. Typically, a network service is based on a data store that contains the contents of the data store related to a particular service.

以下のシーケンス・ダイヤグラムは、本発明の実施態様による操作シーケンスを示している。ここに示した操作シーケンスは単なる例示であり、それだけに限定されることはない。同様の操作シーケンスまたは関連した操作シーケンスに基づいた別の態様も可能である。   The following sequence diagram shows an operation sequence according to an embodiment of the present invention. The operation sequence shown here is merely an example, and is not limited thereto. Other embodiments based on similar or related operation sequences are possible.

図2は、本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、同期させるクライアント装置と同期させるサーバー装置の間で交換されるいくつかのメッセージが示してある。   FIG. 2 is a time sequence diagram of a synchronization process according to one embodiment of the present invention, showing several messages exchanged between a synchronizing client device and a synchronizing server device.

SyncML同期セッションは、概念的にいわゆるSyncMLパッケージに分割されている。SyncMLパッケージは、単に、同期させる装置間で物理的に交換され、同期情報とコマンドの集合を伝送するのに必要とされる1つ以上のSyncMLメッセージのための概念的枠組みである。SyncML規格によって与えられる任意のタイプの同期に必ずしもすべてのSyncMLパッケージが関与するわけではない。SyncMLメッセージの正確な数は、伝送される情報の量に依存する。   A SyncML synchronization session is conceptually divided into so-called SyncML packages. The SyncML package is simply a conceptual framework for one or more SyncML messages that are physically exchanged between the devices to be synchronized and are required to carry a collection of synchronization information and commands. Not all SyncML packages are involved in any type of synchronization given by the SyncML standard. The exact number of SyncML messages depends on the amount of information transmitted.

SyncMLパッケージの大まかな全体像を以下のリストにおいて記述する。詳細な記述は、SyncML規格文書から得ることができる。   A rough overview of the SyncML package is given in the list below. A detailed description can be obtained from the SyncML standard document.

パッケージ0 - 同期メッセージの開始。クライアント装置は、要求されていないのに与えられたメッセージ(いわゆる“通知”または“警告”)を受信し、受信装置に同期セッションを開始させるための逆方向の接続の確立を指示することができる。通知を受信するのと同じ効果は別の方法でも実現できることに注意されたい。   Package 0-Start synchronous message. The client device can receive a given message (so-called “notification” or “warning”) even though it has not been requested, and can instruct the receiving device to establish a reverse connection to initiate a synchronization session. . Note that the same effect as receiving a notification can be achieved in other ways.

パッケージ1 - クライアント装置からサーバー装置への初期化。1つ以上の初期化メッセージが送信される。初期化メッセージとしては、例えば、クライアント装置の情報(装置識別子など)、クライアント装置のプロパティ、クライアントの認証、同期のタイプ、データ記録を同期させるデータベースの同定、記憶されている最終アンカー、新しい次のアンカーなどが挙げられる。   Package 1-Initialization from client device to server device. One or more initialization messages are sent. Initialization messages include, for example, client device information (device identifier, etc.), client device properties, client authentication, synchronization type, database identification to synchronize data records, stored last anchor, new next An anchor etc. are mentioned.

パッケージ2 - サーバー装置からクライアント装置への初期化。1つ以上の初期化メッセージが送信される。初期化メッセージとしては、例えば、サーバー装置の情報(装置識別子など)、サーバー装置のプロパティ、サーバーの認証、1つ以上のクライアント初期化メッセージに含まれる情報に関する応答情報と状態情報などが挙げられる。   Package 2-Initialization from server device to client device. One or more initialization messages are sent. Examples of the initialization message include server device information (device identifier, etc.), server device properties, server authentication, response information and status information regarding information included in one or more client initialization messages, and the like.

パッケージ1と2は、初期化段階の一部である。以下のパケージ3〜6は、同期メッセージの同期段階の一部である。   Packages 1 and 2 are part of the initialization phase. The following packages 3-6 are part of the synchronization phase of the synchronization message.

パッケージ3 - クライアントからサーバーへの同期。1つ以上のクライアント同期メッセージが送信される。クライアント同期メッセージとしては、例えば、クライアント・データの変更(すなわち同期初期化において同定されたクライアント・データベースのデータに対する何らかの変更)がある。速い同期プロセスの場合には、過去の同期セッション(最終(LAST)アンカー)以降に変更されたデータ記録だけが報告される。遅い同期プロセスの場合には、すべてのデータ記録が報告される。   Package 3-Client to server synchronization. One or more client synchronization messages are sent. Client synchronization messages include, for example, client data changes (i.e. any changes to the client database data identified during synchronization initialization). In the case of a fast synchronization process, only data records that have changed since the last synchronization session (last anchor) are reported. In the case of a slow synchronization process, all data records are reported.

パッケージ4 - サーバーからクライアントへの同期。1つ以上のサーバー同期メッセージが送信される。サーバー同期メッセージとしては、例えば、送信されたクライアント・データの変更をサーバーが分析したことに関する情報と、サーバー・データの変更(すなわち同期初期化において同定されたサーバー・データベースのデータに対する何らかの変更)がある。速い同期プロセスの場合には、過去の同期セッション(最終アンカー)以降に変更されたデータ記録だけが報告される。遅い同期プロセスの場合には、すべてのデータ記録が報告される。   Package 4-Server to client synchronization. One or more server synchronization messages are sent. Server synchronization messages include, for example, information about the server analyzing changes to client data sent and server data changes (ie any changes to server database data identified during synchronization initialization). is there. In the case of a fast synchronization process, only data records that have changed since the last synchronization session (final anchor) are reported. In the case of a slow synchronization process, all data records are reported.

パッケージ5 - データ更新状態、マップ操作。1つ以上のデータ更新状態メッセージが送信される。データ更新状態メッセージとしては、例えば、データ更新(サーバーの変更に起因する同期)結果に関する情報、ローカル・ユニーク識別子(LUID)とグローバル・ユニーク識別子(GUID)をマッピングするためのマップ操作(表)が挙げられる。ローカル・ユニーク識別子は、データ記録に割り当てられる識別子であり、クライアント側において(すなわち1つの装置と1つのアプリケーションについて)局所的に唯一のものである。ローカル・ユニーク識別子により、データ記録を同定することができる。グローバル・ユニーク識別子は、データ記録に割り当てられる識別子であり、サーバー側において局所的に唯一のものである。   Package 5-Data update status, map operations. One or more data update status messages are sent. Data update status messages include, for example, information on data update (synchronization due to server changes) results, and map operations (tables) for mapping local unique identifiers (LUIDs) and global unique identifiers (GUIDs). Can be mentioned. A local unique identifier is an identifier assigned to a data record and is locally unique on the client side (ie, for one device and one application). A data record can be identified by a local unique identifier. The global unique identifier is an identifier assigned to the data record and is locally unique on the server side.

パッケージ6 - マップ認証。1つ以上のマップ認証メッセージが送信される。マップ認証メッセージとしては、例えば、クライアント装置に対してサーバーからの1つ以上のデータ更新状態メッセージを通知する認証が挙げられる。   Package 6-Map authentication. One or more map authentication messages are sent. Examples of the map authentication message include authentication for notifying the client device of one or more data update status messages from the server.

クライアント・メッセージまたはサーバー・メッセージに含まれる同期情報とコマンドが何であるかに応じ、パッケージ3に従うクライアント・メッセージは、パッケージ4に従うサーバー応答メッセージを発生させることができ、逆も可能である。   Depending on what synchronization information and commands are included in the client message or server message, a client message according to package 3 can generate a server response message according to package 4 and vice versa.

同期メッセージの各メッセージはセッション識別子(セッションID)を含んでいるため、メッセージを1つの独立した同期セッションと関係づけることができる。各メッセージはメッセージ識別子(メッセージID)を含んでいるため、交換されたメッセージがクライアント装置とサーバー装置において間違った並び方をすることが防止される。さらに、それぞれのパッケージ・タイプの最後のメッセージは、それが最後のものであることを示す最終インディケータを含んでいる。   Since each message of the synchronization message includes a session identifier (session ID), the message can be associated with one independent synchronization session. Since each message includes a message identifier (message ID), it is possible to prevent the exchanged messages from being arranged incorrectly in the client device and the server device. In addition, the last message for each package type includes a final indicator that indicates that it is the last one.

同期プロセスは、どのような情報(どのデータ記録)を同期させるか(遅い同期か速い同期か、すなわち所定の時刻以降のデータ記録の合計数か変更だけか)、どの装置(クライアント装置、サーバー装置、両方の装置のどれ)で同期を実行するか、どの装置から同期を開始するかによっても区別される。同期のタイプとしては、例えば双方向同期、遅い同期、クライアントだけからの一方向同期、クライアントだけからのリフレッシュ同期、サーバーだけからの一方向同期、サーバーだけからのリフレッシュ同期、サーバーが警告する同期が可能である。   The synchronization process consists of what information (which data record) is synchronized (slow synchronization or fast synchronization, i.e., the total number of data records after a predetermined time or only changes), and which device (client device, server device). A distinction is also made according to which of the two devices performs synchronization and from which device synchronization is initiated. Synchronization types include, for example, two-way synchronization, slow synchronization, one-way synchronization from the client only, refresh synchronization from the client only, one-way synchronization from the server only, refresh synchronization from the server only, and synchronization that the server warns. Is possible.

列挙した同期のタイプの名称そのものが同期プロセスを記述しているため、容易に理解できる。より詳しい説明は、SyncML規格文書になされている。   The enumerated synchronization type names themselves describe the synchronization process and are easy to understand. A more detailed explanation can be found in the SyncML standard document.

例えば図2に示した時間シーケンス・ダイヤグラムと同期プロセスは、速い双方向同期タイプに基づいているが、本発明には別のタイプの同期も含まれる。クライアント100がサーバー110と同期する。パッケージ・シーケンスに関する上記の説明によると、図示した同期セッションは、初期化段階210の後に同期段階が続く構成になっており、それぞれの段階にはいくつかの同期メッセージが含まれている。どの同期メッセージにも同じセッションIDが含まれている(図示せず)。   For example, the time sequence diagram and synchronization process shown in FIG. 2 is based on a fast bi-directional synchronization type, but the present invention includes other types of synchronization. Client 100 synchronizes with server 110. According to the above description of the package sequence, the illustrated synchronization session is configured with an initialization phase 210 followed by a synchronization phase, each phase including several synchronization messages. All synchronization messages contain the same session ID (not shown).

クライアント100とサーバー110の初期化段階210では、両方の装置が、装置の情報(装置識別子など)、装置のプロパティ、装置の認証情報を交換する。クライアント100はさらに、同期のタイプ(ここでは、速い双方向同期タイプ)を規定し、記憶されている最終(LAST)アンカーと新しく規定された次の(NEXT)アンカーをサーバー110に報告する。サーバー110は、クライアント100から送信された最終アンカーを、サーバー110に記憶されている対応する値と比較し、受信した最終アンカーと記憶されている最終アンカーが一致して速い同期が可能になる場合には、最終アンカーと次のアンカーを一致させる。次のアンカーの状態(内容)は、クライアント100がこの新しく規定された状態を送信するまでサーバー110内では規定されない(“?”記号で示す)(従来技術の場合。すなわち従来の双方向同期プロセスによってその状態に特別な値が与えられることはない)。アンカー同士が一致しない場合には、遅い同期にする警告がクライアント100に送られる。初期化段階210における情報交換は、パッケージ1型メッセージに対応するクライアント初期化メッセージを意味する第1の操作200と、パッケージ2型メッセージに対応するサーバー初期化メッセージを意味する第1の操作201によって示してある。操作200と201で表わした両方のメッセージに同じメッセージID1が含まれている。   In the initialization stage 210 of the client 100 and server 110, both devices exchange device information (device identifier, etc.), device properties, and device authentication information. The client 100 further defines the type of synchronization (here, fast bidirectional synchronization type) and reports the stored last (LAST) anchor and the newly defined next (NEXT) anchor to the server 110. The server 110 compares the final anchor sent from the client 100 with the corresponding value stored in the server 110, and when the received final anchor matches the stored final anchor, fast synchronization is possible. To match the final anchor and the next anchor. The state (content) of the next anchor is not defined in the server 110 until the client 100 sends this newly defined state (indicated by the “?” Symbol) (prior art, ie the traditional two-way synchronization process). Does not give a special value to that state). If the anchors do not match, a warning for slow synchronization is sent to the client 100. The information exchange in the initialization stage 210 is performed by a first operation 200 meaning a client initialization message corresponding to a package type 1 message and a first operation 201 meaning a server initialization message corresponding to a package type 2 message. It is shown. Both messages represented by operations 200 and 201 contain the same message ID1.

初期化段階210が終了した後、クライアント100は同期の準備211をする。すなわち、受信した最終アンカーに従って変更されたデータ記録を同定する。操作203で示したクライアント同期メッセージ(パッケージ3型メッセージ)は、クライアント変更事項に関する第1のバッチ(ここでは、同定された合計10個の変更のうちの5個)を含んでいる。クライアント変更事項には、コマンドおよび/またはデータの内容が含まれることに注意されたい。コマンドは、特に追加、更新、削除などを含んでいる。これらがデータ内容と合わさって、それぞれのデータ記録の同期が行なわれる。さらに、このメッセージは、過去のサーバー初期化メッセージに関する状態情報をさらに含んでいる。サーバー110はこの第1のクライアント同期メッセージを受信し、受信したクライアント変更事項を分析し、クライアント変更事項から生じる可能性のある衝突を解決し、クライアント変更事項を処理する(操作212)。操作204で示した対応するサーバー同期メッセージ(パッケージ4型メッセージ)は、クライアント変更事項の認証と、分析・同期プロセスの状態に関する情報とを含んでおり、クライアントに送信される。操作203で示したクライアント同期メッセージと操作204で示したサーバー同期メッセージの両方とも、共通のメッセージID(ここではメッセージID2)によって同定することができる。しかしメッセージの番号は上に示したのと異なる可能性があることを理解されたい。実際、メッセージに番号を付けることの唯一の目的は、それぞれの装置に一貫性のあるメッセージ番号を持たせるためである。すなわち、クライアントとサーバーでの番号付けは、一致している必要さえない。   After the initialization phase 210 is completed, the client 100 prepares for synchronization 211. That is, the data record changed according to the last anchor received is identified. The client synchronization message (package 3 type message) shown in operation 203 includes the first batch (here, 5 of the 10 changes identified) relating to the client changes. Note that client changes include the contents of commands and / or data. Commands specifically include add, update, delete, etc. These are combined with the data contents to synchronize the respective data records. In addition, the message further includes status information regarding past server initialization messages. Server 110 receives the first client synchronization message, analyzes the received client changes, resolves conflicts that may arise from the client changes, and processes the client changes (operation 212). The corresponding server synchronization message (package type 4 message) indicated in operation 204 includes authentication of client changes and information regarding the status of the analysis / synchronization process and is sent to the client. Both the client synchronization message indicated by operation 203 and the server synchronization message indicated by operation 204 can be identified by a common message ID (here, message ID2). However, it should be understood that the message numbers may differ from those shown above. In fact, the only purpose of numbering messages is to ensure that each device has a consistent message number. That is, the numbering at the client and server does not even need to match.

操作206で示した次のクライアント同期メッセージ(パッケージ3型メッセージ)は、クライアント変更事項に関する第2のバッチ(ここでは、同定された合計10個の変更のうちの残りの5個)を含んでいる。このクライアント同期メッセージは、クライアント変更事項を含む最後のクライアント同期メッセージであることを示す最終インディケータをさらに含んでいる。サーバー110はこの最終クライアント同期メッセージを受信し、受信したクライアント変更事項を分析し、クライアント変更事項から生じる可能性のある衝突を解決し、クライアント変更事項を処理し、最終インディケータが含まれているため、クライアント100に送信される(サーバーの最終アンカーを考慮して同定された)サーバー変更事項を用意する(操作212)。操作207で示した対応するサーバー同期メッセージ(パッケージ4型メッセージ)は、サーバー変更事項と、クライアント変更事項の認証と、分析・同期プロセスの状態に関する情報とを含んでおり、クライアントに送信される。図2に示した同期セッションによると、同定されたサーバー変更をすべてクライアントに送信するには単一のサーバー同期メッセージで十分であり、このメッセージには最終インディケータも含まれている。操作214では、クライアント100が受信したサーバー変更事項を処理する。操作206と207で示した両方のメッセージに同じメッセージID3が含まれている。   The next client synchronization message (package type 3 message) shown in operation 206 contains a second batch of client changes (here, the remaining 5 out of a total of 10 changes identified). . The client sync message further includes a final indicator indicating that it is the last client sync message containing client changes. Server 110 receives this final client sync message, analyzes the received client changes, resolves any conflicts that may arise from the client changes, processes the client changes, and includes a final indicator The server changes (identified taking into account the server's final anchor) are prepared (operation 212). The corresponding server synchronization message (package type 4 message) indicated in operation 207 includes server change items, authentication of client change items, and information regarding the status of the analysis / synchronization process, and is transmitted to the client. According to the synchronization session shown in FIG. 2, a single server synchronization message is sufficient to send all identified server changes to the client, and this message also includes the final indicator. In operation 214, the server change received by the client 100 is processed. Both messages shown in operations 206 and 207 contain the same message ID3.

次に、操作208で示したクライアント更新状態メッセージ(パッケージ5型メッセージ)がサーバー110に送られる。このクライアント更新状態メッセージは、サーバー変更事項があるために認証情報と同期状態情報を含んでいる。そして必要な場合には、ローカル・ユニーク識別子とグローバル・ユニーク識別子を割り当てるデータ記録マップ表を処理するマップ操作も、サーバー110に送られる。最後に、図示していないが、1つ以上のマップ認証メッセージ(パッケージ6型メッセージ)を含むクライアント更新状態メッセージに対してサーバー110が応答する可能性がある。   Next, the client update status message (package 5 type message) indicated by operation 208 is sent to the server 110. This client update status message includes authentication information and synchronization status information due to server changes. Then, if necessary, a map operation is also sent to the server 110 that processes the data record map table for assigning local unique identifiers and global unique identifiers. Finally, although not shown, the server 110 may respond to a client update status message that includes one or more map authentication messages (package 6 type messages).

最後に、同期セッションと、このセッションの同期メッセージが通信される通信接続が閉じる。同期セッションと通信接続の終了に関してエラーが検出されない場合には、同期セッションの最初に規定された次のアンカーの内容が記憶される。この割り当ては、クライアント100の側では操作215において実行され、サーバー側では操作216において実行される(実際にはサーバーが最終アンカーを呼び出さない可能性があるが、アンカーに記憶されている値は、クライアントが送った次のアンカーの値である)。したがって次の速い同期プロセスが可能になる。   Finally, the communication connection over which the synchronization session and the synchronization message of this session are communicated is closed. If no error is detected regarding the termination of the synchronization session and the communication connection, the contents of the next anchor defined at the beginning of the synchronization session are stored. This assignment is performed at operation 215 on the client 100 side and at operation 216 on the server side (actually the server may not call the final anchor, but the value stored in the anchor is Next anchor value sent by the client). The next fast synchronization process is thus possible.

同期セッションの冒頭で次のアンカーを規定することと、同期セッションが適切に終了した後に次のアンカーの内容を最終アンカーに割り当てることにより、同期プロセス中にクライアント側またはサーバー側で行なわれるデータ記録変更による衝突が防止されることに注意されたい。図示した最終アンカーと次のアンカーの内容が、その利用法をまさに明らかにしていることにも注目されたい。実用上の理由で、最終アンカーと次のアンカーは、通常は日付の値と時刻の値で構成されているか、あるいはこれらの値に由来する。このような構成にすることにより、あいまいさのない最終アンカーと次のアンカーを生成させることができる。   Data record changes made on the client or server side during the synchronization process by specifying the next anchor at the beginning of the synchronization session and assigning the contents of the next anchor to the final anchor after the synchronization session has been properly terminated Note that collisions due to are prevented. Note also that the contents of the final anchor and the next anchor shown illustrate exactly how they are used. For practical reasons, the final anchor and the next anchor are usually composed of or derived from date values and time values. With such a configuration, it is possible to generate a final anchor and a next anchor without ambiguity.

図3aは、図2と同様の本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、中断または停止がある。図3aに示した同期セッションは、図2に示したのと同じものである。すなわち、初期条件、操作200〜204、操作210〜212が、同様にして実行される。それに対応して、図3aに示した操作で図2と共通するそれぞれの操作には、同じ参照番号が付けてある。   FIG. 3a is a time sequence diagram of a synchronization process according to an embodiment of the invention similar to FIG. The synchronization session shown in FIG. 3a is the same as that shown in FIG. That is, the initial conditions, operations 200 to 204, and operations 210 to 212 are executed in the same manner. Correspondingly, in the operations shown in FIG. 3a, the operations common to those in FIG. 2 are given the same reference numerals.

図3aでは、初期化段階と、クライアント100とサーバー110の対応する初期化メッセージが省略されている。10個あるクライアント変更事項のうちの最初の5個を含む第1のクライアント同期メッセージ(パッケージ3型)に関する操作203と、クライアント変更事項に対応する状態情報を含む第1のサーバー同期メッセージ(パッケージ4型メッセージ)に関する操作204が示してある。   In FIG. 3a, the initialization stage and corresponding initialization messages of the client 100 and the server 110 are omitted. Operation 203 related to the first client synchronization message (package 3 type) containing the first 5 of the 10 client changes, and the first server synchronization message (package 4) containing status information corresponding to the client change The operation 204 regarding the type message) is shown.

操作205では、同期が中断または停止する。中断または停止は、いくつかの理由によって起こる可能性がある。そのうちのほんのいくつかを挙げると、同期セッションが停止するのは、ユーザーの相互作用、ユーザーのイニシアティブ、クライアント100またはサーバー110の電力不足(例えば電池またはアキュムレータの容量不足による)、通信接続の失敗(例えば無線通信網におけるカバー範囲の不足、または通信接続における干渉による)などによる。   In operation 205, synchronization is interrupted or stopped. A break or stop can occur for several reasons. To name just a few of these, sync sessions are suspended because of user interaction, user initiatives, lack of power on the client 100 or server 110 (eg due to insufficient battery or accumulator capacity), communication connection failures ( For example, due to lack of coverage in the wireless communication network or interference in communication connection).

本発明の一実施態様により同期セッションを再開できるようにするため、クライアント100とサーバー110は、不完全な同期セッションに関する情報を記録する。不完全な同期セッションを再開させるこの情報は、少なくともクライアント100の最終アンカーと次のアンカーを少なくとも含んでおり、その最終アンカーと次のアンカーがクライアント100とサーバー110の両方に記録される。さらに、この情報は、不完全な同期セッションのセッションIDと、適切に送信されてクライアント100が認証を受け取った最後のメッセージIDと、1つ以上のユニーク・データ記録識別子を含むこともできる。すなわち、不完全な同期セッションの間にこのような変更によるデータ記録のローカル・ユニーク識別子またはグローバル・ユニーク識別子が送信され、その送信が認証される。   In order to allow the synchronization session to be resumed according to one embodiment of the present invention, the client 100 and server 110 record information regarding the incomplete synchronization session. This information for resuming an incomplete synchronization session includes at least the final anchor and the next anchor of the client 100, and the final anchor and the next anchor are recorded in both the client 100 and the server 110. In addition, this information may include the session ID of the incomplete synchronization session, the last message ID that was properly transmitted and received authentication by the client 100, and one or more unique data record identifiers. That is, during the incomplete synchronization session, the local unique identifier or global unique identifier of the data record due to such a change is transmitted and the transmission is authenticated.

不完全な同期セッションが始まった時刻を記録するために次のアンカーを用いる代わりに、新しいアンカー(例えば休止(PAUSE)アンカー)を規定し、不完全な同期セッションを再開させるのに特に使用する。以下に次のアンカーを参照して本発明の考え方を説明するが、本発明の考え方がそれに限定されることはない。以下の説明をな新しい休止アンカーに合わせるためには、次のアンカーという用語を単に休止アンカーに置き換えるだけでよい。   Instead of using the next anchor to record the time at which the incomplete synchronization session began, a new anchor (eg, a PAUSE anchor) is defined and used specifically to resume the incomplete synchronization session. The concept of the present invention will be described below with reference to the following anchors, but the concept of the present invention is not limited thereto. In order to adapt the following description to a new dormant anchor, the term next anchor can simply be replaced by a dormant anchor.

図3bは、中断または停止した図3aの同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。   FIG. 3b is a time sequence diagram of the synchronization process according to one embodiment of the present invention for resuming the interrupted or stopped synchronization process of FIG. 3a.

同期セッションの再開は、図3aを参照して説明した過去の不完全な同期セッションを再開させるためにクライアント100からサーバー110に送る警告コマンドを含む新しい初期化メッセージ(パッケージ1型)操作250によって開始される。この新しい初期化メッセージは、過去の不完全な同期セッションが中断されたことによって記録された少なくとも1つの最終アンカーと次のアンカーを含んでいる(図3aの操作205)。サーバーは、クライアントからこれら最終アンカーと次のアンカーを受信し、サーバー自身が記録している最終アンカーと次のアンカーと比較する。図2に示した同期セッションならびに図3aに示したその対応物と比較すると、次のアンカーがサーバー側で明確に定義された状態と内容を持っていることに注意されたい。   Resuming a synchronization session is initiated by a new initialization message (type 1 package) operation 250 that includes a warning command sent from the client 100 to the server 110 to resume a previous incomplete synchronization session described with reference to Figure 3a. Is done. This new initialization message includes at least one final anchor and the next anchor recorded by the interruption of a previous incomplete synchronization session (operation 205 of FIG. 3a). The server receives these final and next anchors from the client and compares them with the final and next anchors recorded by the server itself. Note that when compared to the synchronization session shown in FIG. 2 and its counterpart shown in FIG. 3a, the next anchor has a well-defined state and content on the server side.

クライアント100とサーバー110の少なくとも一方は、最終アンカーが一致するか次のアンカーが一致するかに応じ、以下に示す4つの選択肢のうちの任意の1つを命令、または開始、または実行することができる。   At least one of the client 100 and the server 110 may command, initiate, or execute any one of the following four options, depending on whether the final anchor matches the next anchor: it can.

1)受信され記録された最終アンカーが一致し、受信され記録された次のアンカーも一致する場合、サーバー110は、認証のための少なくとも1つの最終アンカーと次のアンカーを含む操作251で示したサーバー初期化メッセージ(パッケージ2型)を送信することによって不完全な同期セッションの再開(速い同期の再開)を確認する。再開を可能にするこの確認は、(図3aの操作205によって示した)再開させる不完全な同期セッションに関するさらに別の情報に基づいて行なうことも可能である。例えば不完全な同期セッションについて記録されている上記セッションIDおよび/または適切に送信された最後のメッセージについて記録されている上記メッセージIDが、記録されたアンカーの検証操作中に参照される。   1) If the received and recorded final anchor matches and the received and recorded next anchor also matches, server 110 indicated in operation 251 including at least one final anchor and the next anchor for authentication Confirm incomplete synchronization session resumption (fast resumption of synchronization) by sending server initialization message (type 2 package). This confirmation to allow resumption may be based on further information regarding the incomplete synchronization session to be resumed (as indicated by operation 205 in FIG. 3a). For example, the session ID recorded for an incomplete synchronization session and / or the message ID recorded for the last message sent properly is referenced during the recorded anchor verification operation.

2)受信され記録された最終アンカーは一致するが、受信され記録された次のアンカーは一致しない場合には、図2に示したタイプの(通常の)速い同期セッションがサーバーによって命令される。次のアンカーの不一致により、図3aを参照して説明した不完全な同期セッションの再開が阻止される。   2) If the received and recorded final anchor matches but the next received and recorded anchor does not match, a (normal) fast synchronization session of the type shown in FIG. 2 is commanded by the server. The next anchor mismatch prevents the incomplete synchronization session restart described with reference to FIG. 3a.

3)受信され記録された最終アンカーは一致しないが、受信され記録された次のアンカーが一致する場合には、遅い同期セッションの再開がサーバによって命令される。この遅い同期セッションの再開は、図3bには示していない。要するに、遅い同期セッションの再開によって同期関連情報が交換され、同期させる所定の全データ記録を同期させることが可能になる。しかし図3aに示した不完全な同期セッションの間に交換が成功して同期している同期関連情報は、遅い再開同期セッションから除外される。   3) If the last anchor received and recorded does not match, but the next anchor received and recorded matches, the server is instructed to resume the slow synchronization session. This resumption of the slow synchronization session is not shown in FIG. 3b. In short, synchronization-related information is exchanged by resuming a slow synchronization session, and it becomes possible to synchronize all predetermined data records to be synchronized. However, synchronization related information that is successfully synchronized and synchronized during the incomplete synchronization session shown in FIG. 3a is excluded from the late restart synchronization session.

4)受信され記録された最終アンカーが一致せず、受信され記録された次のアンカーも一致しない場合には、速い同期セッションも、遅い同期セッションも再開させることができない。また、速い同期は不可能である。関与する両方の装置間が適切に同期した状態を確立するためには、同期させるすべてのデータ記録を含む完全版の遅い同期セッション(すでに説明したもの;図3bには図示せず)を実行する必要がある。   4) If the last received and recorded anchor does not match and the next received and recorded anchor does not match, neither the fast synchronization session nor the slow synchronization session can be resumed. Also, fast synchronization is not possible. To establish a properly synchronized state between both participating devices, run a full version of a slow synchronization session (already described; not shown in Figure 3b) that includes all data records to be synchronized There is a need.

以下の説明は、第1のケース(受信され記録された最終アンカーと受信され記録された次のアンカーが一致するケース)が正しいという仮定に基づいている。このケースは、クライアント100とサーバー110の両方の記録された最終アンカーと次のアンカーの状態(値)を示した図3bにも示してある。サーバー110は、認証のための少なくとも最終アンカーと次のアンカーを含む、操作251で示したサーバー初期化メッセージ(パッケージ2型)を送信する。   The following description is based on the assumption that the first case (the case where the last anchor received and recorded matches the next anchor received and recorded) is correct. This case is also shown in FIG. 3b, which shows the last anchor and next anchor status (values) recorded by both client 100 and server 110. The server 110 transmits a server initialization message (package 2 type) shown in operation 251 including at least the final anchor and the next anchor for authentication.

図3aの操作205に関して説明したように、不完全な同期セッションに関する別のログ情報が中断時に記憶される。すでに説明したように、この情報は、不完全な同期セッションに関する少なくとも1つのセッションIDと、適切に送信された最後のメッセージに関するメッセージIDと、1つ以上のユニーク・データ記録識別子を含むことができる。すなわち、不完全な同期セッションの間にこのような変更によるデータ記録のローカル・ユニーク識別子またはグローバル・ユニーク識別子が送信され、その送信が認証される。ローカル・ユニーク識別子によって提供される情報は十分でない可能性があるため、ローカル・ユニーク識別子に加えてデータベース識別子を記憶させねばならない可能性がある。ローカル・ユニーク識別子とそれに付随するデータベース識別子を組み合わせることにより、ローカル・ユニーク識別子によって参照される対応するデータ記録が(あいまいさなく)決まる。データベース識別子は、従来技術で知られているような一様リソース・ロケーター(URI)にすることができる。   As described with respect to operation 205 of FIG. 3a, additional log information regarding an incomplete synchronization session is stored upon interruption. As already explained, this information can include at least one session ID for an incomplete synchronization session, a message ID for the last message sent properly, and one or more unique data record identifiers. . That is, during the incomplete synchronization session, the local unique identifier or global unique identifier of the data record due to such a change is transmitted and the transmission is authenticated. Since the information provided by the local unique identifier may not be sufficient, the database identifier may have to be stored in addition to the local unique identifier. By combining the local unique identifier and the accompanying database identifier, the corresponding data record referenced by the local unique identifier is determined (without ambiguity). The database identifier can be a uniform resource locator (URI) as known in the prior art.

不完全な同期セッションに関して記憶されている最終アンカーと次のアンカーと情報により、過去の不完全な同期セッションが中断したときの状態を回復(再確立)することができる。このタイプの再構成により、今や、完全な同期セッションを表わす図2では操作206〜208で示してあるが、同じ同期セッションでも操作204(図2と図3a)による同期メッセージの送信後に中断があるため不完全な図3aには欠けているメッセージを生成させることができる。   With the last anchor and next anchor and information stored for the incomplete synchronization session, the state when the previous incomplete synchronization session was interrupted can be recovered (re-established). With this type of reconfiguration, now shown in FIG. 2 which represents a complete synchronization session, shown as operations 206-208, the same synchronization session is interrupted after the transmission of the synchronization message by operation 204 (FIGS. 2 and 3a). Thus, it is possible to generate a message that is incomplete in FIG. 3a.

操作250と251で示した新しいクライアント初期化メッセージとサーバー初期化メッセージは、図2に示した操作200と201を参照して説明した同期セッションを確立するのに必要な情報も含んでいる。   The new client and server initialization messages indicated at operations 250 and 251 also include information necessary to establish the synchronization session described with reference to operations 200 and 201 shown in FIG.

この明細書では、不完全な同期セッションを再開させるための条件が満たされ、不完全な同期セッションが再構成されていてクライアント100が本発明の一実施態様による方法を実施できることを仮定している。操作252で示したクライアント同期メッセージ(パッケージ3型)は、図2に操作206で示した第2のクライアント同期メッセージに対応する。したがってクライアント同期メッセージは、10個の変更のうちの最後の5個と、このメッセージが現在の同期セッションの最後のクライアント同期メッセージであることを示す最終インディケータを含んでいる。さらに、メッセージの番号、すなわちメッセージIDは、現在の再開同期セッションに合わせてあるため、図3bのクライアント同期メッセージは、(操作250と操作251で示した)初期化メッセージに関する過去のメッセージID1に続くメッセージID2である。(本発明の範囲に他のタイプのメッセージ番号を付けたセッションも含まれることに注意することが重要である。)   This specification assumes that the conditions for resuming an incomplete synchronization session are met, the incomplete synchronization session has been reconfigured, and the client 100 can perform the method according to one embodiment of the present invention. . The client synchronization message (package 3 type) indicated by operation 252 corresponds to the second client synchronization message indicated by operation 206 in FIG. The client sync message thus contains the last 5 of the 10 changes and a final indicator that indicates that this message is the last client sync message of the current sync session. Further, since the message number, i.e., the message ID, is tailored to the current resume sync session, the client sync message of FIG. 3b follows the previous message ID1 for the initialization message (shown by operations 250 and 251). Message ID2. (It is important to note that sessions with other types of message numbers are also included within the scope of the present invention.)

サーバー110はクライアント同期装置に応答し、操作253(これは、図2に操作206で示した第2のクライアント同期メッセージに対応する)で示したサーバー同期メッセージ(パッケージ3型)を送信する。このサーバー同期メッセージには、サーバー変更事項と、クライアント変更事項の認証と、分析・同期プロセスの状態に関する情報とが含まれる。図2に示した同期セッションによると、同定されたサーバー変更事項をすべてクライアントに送信するには単一のサーバー同期メッセージで十分であり、このメッセージは最終インディケータも含んでいる。操作252と253で示した両方のメッセージに同じメッセージID2が含まれている。   Server 110 responds to the client synchronization device and transmits a server synchronization message (package 3 type) indicated by operation 253 (which corresponds to the second client synchronization message indicated by operation 206 in FIG. 2). This server synchronization message includes server changes, authentication of client changes, and information about the status of the analysis and synchronization process. According to the synchronization session shown in FIG. 2, a single server synchronization message is sufficient to send all identified server changes to the client, and this message also includes the final indicator. Both messages indicated by operations 252 and 253 contain the same message ID2.

次に、操作254で示したクライアント更新状態メッセージ(パッケージ5型メッセージ)がサーバー110に送られる。このクライアント更新状態メッセージは、サーバー変更事項があるために認証情報と同期状態情報を含んでいる。そして必要な場合には、マップ操作もサーバー110に送られ、そこでデータ記録マップ表が処理されてローカル・ユニーク識別子とグローバル・ユニーク識別子が割り当てられる。このクライアント更新状態メッセージは、図2を参照して説明した操作208で示したクライアント更新状態メッセージに対応する。最後に、図示していないが、1つ以上のマップ認証メッセージ(パッケージ6型メッセージ)を含むクライアント更新状態メッセージに対してサーバー110が応答する可能性がある。   Next, the client update status message (package 5 type message) indicated by operation 254 is sent to the server 110. This client update status message includes authentication information and synchronization status information due to server changes. If necessary, a map operation is also sent to the server 110 where the data record map table is processed and assigned a local unique identifier and a global unique identifier. This client update status message corresponds to the client update status message shown in operation 208 described with reference to FIG. Finally, although not shown, the server 110 may respond to a client update status message that includes one or more map authentication messages (package 6 type messages).

最後に、同期セッションが終了し、このセッションの同期メッセージが通信される通信接続も終了する。同期セッションと通信接続の終了に関してエラーが検出されない場合には、同期セッションの最初に規定された次のアンカーの内容が最終アンカーに割り当てられる。この割り当ては、クライアント100の側では操作260において実行され、サーバー110側では操作261において実行される。したがって次の速い同期プロセスが可能になる。同期セッションの最初に次のアンカーを規定し、同期セッションが適切に終了した後に次のアンカーの内容を最終アンカーに割り当てると、同期プロセス中にクライアント側またはサーバー側でのデータ記録の変更に起因する衝突が防止されることに注意されたい。図示した最終アンカーと次のアンカーの内容が、その利用法をまさに明らかにしていることにも注目されたい。実用上の理由で、最終アンカーと次のアンカーは、通常は日付の値と時刻の値で構成されているか、あるいはこれらの値に由来する。このような構成にすることにより、あいまいさのない最終アンカーと次のアンカーを生成させることができる。   Finally, the synchronization session is terminated, and the communication connection through which the synchronization message of this session is communicated is also terminated. If no error is detected regarding the termination of the synchronization session and communication connection, the content of the next anchor defined at the beginning of the synchronization session is assigned to the final anchor. This assignment is executed in operation 260 on the client 100 side and in operation 261 on the server 110 side. The next fast synchronization process is thus possible. Specifying the next anchor at the beginning of a synchronization session and assigning the contents of the next anchor to the final anchor after the synchronization session has ended properly results from a change in data recording on the client or server side during the synchronization process Note that collisions are prevented. Note also that the contents of the final anchor and the next anchor shown illustrate exactly how they are used. For practical reasons, the final anchor and the next anchor are usually composed of or derived from date values and time values. With such a configuration, it is possible to generate a final anchor and a next anchor without ambiguity.

不完全な同期セッションの後かつ同期セッションの再開前のデータ記録に関する変更は、不完全な同期セッションを再開している間は考慮されないことにも注意されたい。再開同期セッションは、データ記録の状態またはそのデータ記録を含むデータ・ストアの状態を、不完全な同期セッションがうまく終了したかのような状態にする。そのため、同期セッションの時刻スタンプを表わす次のアンカーは、再開同期セッションを初期化している間は更新されない。不完全な同期セッションの後に発生した変更は、うまくいった再開同期セッションを開始した後に同期セッションを開始することによって同期させることができる。特に、クライアント100とサーバー110に記憶されている最終アンカーが更新されて有効になっているために速い同期セッションを開始させることができる。   Note also that changes related to data recording after an incomplete synchronization session and before resuming the synchronization session are not considered while resuming the incomplete synchronization session. The resume synchronization session brings the state of the data record or the state of the data store containing the data record as if the incomplete synchronization session was successfully completed. Therefore, the next anchor representing the synchronization session time stamp is not updated while initializing the resume synchronization session. Changes that occur after an incomplete sync session can be synchronized by starting a sync session after starting a successful resume sync session. In particular, since the last anchor stored in the client 100 and the server 110 is updated and valid, a fast synchronization session can be started.

本発明の実施態様の文脈で説明してきた認証とは、他方の装置から受信したデータに対するあらゆるタイプの応答のことであると解釈すべきであり、その応答には、データまたはメッセージの同期がうまくいった状態といかない状態が含まれる。一般に、認証によって記録の更新が確認されるが、認証には、例えば見つからなかった記録によって起こるうまくいかなかった操作の情報も含めることができる。しかしそのようなエラーの取り扱いは本発明の課題ではなく、エラーを何らかの形で処理する方法に任される。しかしエラーの発生によってセッションの再開が妨げられてはならない。すなわちセッションは、データ・アイテムが最初に認証されたとき、それ以前にデータ・アイテムにエラーがあったかどうかには関係なく再開されねばならない。   The authentication described in the context of an embodiment of the present invention should be interpreted as any type of response to data received from the other device, in which the data or message is well synchronized. The state which went and the state which does not go are included. In general, authentication confirms a record update, but authentication can also include information about a failed operation, for example, caused by a missing record. However, such error handling is not the subject of the present invention, but it is left to the method of handling the error in some way. However, an error should not prevent the session from being resumed. That is, the session must be resumed when the data item is first authenticated, regardless of whether the data item has previously had an error.

図4は、図3bに示した本発明の一実施態様による同期プロセスにおけるXMLコード化された同期メッセージの抜粋である。   FIG. 4 is an excerpt of an XML encoded synchronization message in the synchronization process according to one embodiment of the present invention shown in FIG. 3b.

簡単で相互使用が可能になるようにするため、装置とアプリケーションを同期させる同期メッセージを指定するのに工業規格の拡張可能マークアップ言語(XML)を選択する(平文または無線バイナリーXML(無線アプリケーション・プロトコルで用いられるバイナリー技術)を用いる)。SyncMLは、静的コードと実行時実行空間の両方で一般的なすべての携帯装置のメモリ容量に収まるように設計してある。メッセージを記憶するのに必要なメモリを少なくし、データを処理して送るのに必要なリソースを減らすため、特に二進コード化された拡張可能マークアップ言語(WBXML)を一般に用いてそのデータをコード化する。   Select industry standard extensible markup language (XML) to specify synchronization messages that synchronize devices and applications for easy and interoperable use (plaintext or wireless binary XML (wireless application Binary technology used in the protocol)). SyncML is designed to fit into the memory capacity of all common mobile devices, both in static code and runtime execution space. To reduce the memory required to store messages and reduce the resources required to process and send the data, the data is typically used, especially using binary coded Extensible Markup Language (WBXML) Code it.

SyncMLは、XML文書または多目的インターネット・メール拡張(MIME)エンティティとして表わされる(上に示したような)よく定義されたメッセージのセットを含んでいる。表示仕様は、同期を実行するのに必要なすべての情報(データ、メタデータ、コマンド)の表示を可能にするXML文書型記述(DTD)を規定する。同期仕様は、SyncMLクライアントとSyncMLサーバーが追加情報、削除情報、更新情報、あるいは他の状態情報を交換できるようにするため、DTDに合致したSyncMLメッセージを規定する。   SyncML contains a well-defined set of messages (as shown above) represented as XML documents or multipurpose Internet mail extension (MIME) entities. The display specification specifies an XML document type description (DTD) that enables display of all information (data, metadata, commands) necessary to perform synchronization. The synchronization specification specifies a SyncML message that matches the DTD so that the SyncML client and SyncML server can exchange additional information, deletion information, update information, or other state information.

他のDTDは、装置に関する情報(例えばメモリ容量)の表示とさまざまなタイプのメタ情報(例えばセキュリティ証明)の表示を規定する。SyncMLメッセージは、表示プロトコルによって規定されるコンテナ概念に基づいている。それぞれのSyncMLメッセージは、SyncMLヘッダ・セクションと、SyncML本体セクションを含んでいる。SyncMLヘッダ・セクションは、ルーティング、セッション、認証、メッセージ情報を含んでいるのに対し、SyncML本体セクションは、それぞれがサブコンテナを形成するよく定義されたさまざまな同期データ(例えば状態情報、同期コマンド)を含んでいる。   Other DTDs specify the display of information about the device (eg memory capacity) and the display of various types of meta-information (eg security credentials). SyncML messages are based on the container concept defined by the display protocol. Each SyncML message includes a SyncML header section and a SyncML body section. The SyncML header section contains routing, session, authentication, and message information, while the SyncML body section contains a variety of well-defined synchronization data that each form a sub-container (eg status information, synchronization commands) Is included.

図4に示したXMLに基づくコード化は、図3bを参照して説明した操作252のクライアント同期メッセージであるSyncMLメッセージを平文コード化した一例の抜粋である。図示したXMLに基づくコードは、第3行〜第9行にわたるSyncMLヘッダ・セクションと、第10行〜第57行にわたるSyncML本体セクションを含んでいる。   The coding based on XML shown in FIG. 4 is an excerpt of an example in which the SyncML message, which is the client synchronization message of the operation 252 described with reference to FIG. The illustrated XML-based code includes a SyncML header section that extends from line 3 to line 9 and a SyncML body section that extends from line 10 to line 57.

第1行と第2行は、使用するXMLコード化に関する共通情報と、テキスト表示に使用するキャラクター・コード化に関する共通情報と、SyncMLバージョン情報を含んでいる。   Lines 1 and 2 contain common information regarding the XML encoding used, common information regarding character encoding used for text display, and SyncML version information.

それぞれのSyncMLヘッダは、文書型定義バージョン情報(VerDTD、第4行)と、SyncMLプロトコル・バージョン情報(VerProto、第5行)と、1つの同期セッションの間を通じて有効でその同期セッションに属するあいまいさのないすべての同期メッセージに割り当てられるセッション識別子(セッションID、第6行)と、受信するそれぞれの同期装置が次に受信する同期メッセージのメッセージ識別子は番号が大きくなるよう、数値が増大していくメッセージ識別子(MsgID、第7行)を含んでいる。具体例として説明したSyncMLヘッダーの上記の要素に加え、オプションの要素や必須の要素もSyncMLヘッダーに含まれる。   Each SyncML header contains document type definition version information (VerDTD, line 4), SyncML protocol version information (VerProto, line 5), and ambiguity that is valid for and belongs to that synchronization session. The session identifier (session ID, 6th line) assigned to all synchronization messages without a message and the message identifier of the next synchronization message received by each receiving synchronization device will increase in number so that the number will increase. Contains the message identifier (MsgID, line 7). In addition to the above-mentioned elements of the SyncML header described as specific examples, optional elements and required elements are also included in the SyncML header.

SyncML本体セクションは、独立な論理サブセクションをいくつか含んでいる。第1の状態情報サブセクションは、第11行〜第19行にわたっている。この第1の状態情報サブセクションは、同期させるデータ記録がアドレスする参照先と関係している。特に、目的参照先(TargetRef、第16行)は、クライアント(ここでは携帯通信装置)がアドレスする国際携帯装置識別子(IMEI)を規定しているのに対し、ソース参照先(SourceRef、第17行)は、サーバー(ここでは、HTTP(ハイパーテキスト転送プロトコル)を通じてアクセスできるネットワーク化されたサーバー装置)がアドレスするユニフォーム・リソース識別子(URI)を規定している。個々のデータ記録とデータ記憶装置へのさらなるアクセスは、この参照アドレス情報に基づいている。さらに別の状態情報サブセクションが任意の数含まれていてもよい。それを、第20行〜第22行にわたる第2の状態情報サブセクションによって示した。例えば認証が状態情報としてコード化される。   The SyncML body section contains several independent logical subsections. The first status information subsection extends from the 11th line to the 19th line. This first status information subsection is associated with the reference address to which the data record to be synchronized is addressed. In particular, the target reference (TargetRef, line 16) specifies the international mobile device identifier (IMEI) addressed by the client (mobile communication device here), while the source reference (SourceRef, line 17). ) Defines a uniform resource identifier (URI) addressed by a server (here, a networked server device accessible via HTTP (Hypertext Transfer Protocol)). Further access to individual data records and data storage devices is based on this reference address information. Further, any number of other status information subsections may be included. This is indicated by a second status information subsection that spans lines 20-22. For example, authentication is encoded as status information.

SyncML本体セクションは、さらに同期サブセクションを含んでいる。この同期サブセクションは、さらに分割されている。一例として、コンタクトの追加に関してクライアントが指示した変更が含まれる。第26行には、クライアントのコンタクト・データベースの相対的アドレス経路が含まれているのに対し、第29行には、サーバーのコンタクト・データベースの相対的アドレス経路が含まれている。相対的アドレス経路は、上記の参照先へのアドレスに関係する。第31行〜第36行にわたるメタサブセクションには、サーバー内のコンタクト・データベースに追加されるデータ記録(コンタクト)に関する追加メタ情報が含まれる。第37行〜第51行にわたるサブセクションには、追加命令と、対応するコンタクト・データの内容が含まれる。第40行には、第46行〜第48行のデータの内容に関するデータ形式がx-vcardメタタイプとして規定されていて、対応するデータの内容は、第46行〜第48行に含まれている。クライアント内でこのコンタクトを独自に参照するのに用いるローカル・ユニーク識別子(LUID)は、第44行に含まれている。さらに別の同期情報サブセクションが任意の数含まれていてもよい。それを、第52行〜第54行にわたる別の同期情報サブセクションによって示した。   The SyncML body section further includes a synchronization subsection. This synchronization subsection is further divided. An example includes a change indicated by the client regarding the addition of a contact. Line 26 contains the relative address path of the client contact database, while line 29 contains the relative address path of the server contact database. The relative address path relates to the address to the reference destination. The meta subsection, which extends from line 31 to line 36, contains additional meta information regarding data records (contacts) added to the contact database in the server. The subsections extending from line 37 to line 51 contain additional instructions and the contents of the corresponding contact data. In line 40, the data format regarding the contents of the data in lines 46 to 48 is defined as the x-vcard metatype, and the corresponding data contents are included in lines 46 to 48. Yes. The local unique identifier (LUID) used to uniquely refer to this contact within the client is contained in line 44. Furthermore, an arbitrary number of other synchronization information subsections may be included. This is indicated by another synchronization information subsection ranging from line 52 to line 54.

第56行に含まれるFinal命令は、この実施例のクライアント同期メッセージが、同期のためにサーバーに報告すべきクライアント変更事項を含む最後のメッセージであることをサーバーに知らせる。   The Final instruction contained in line 56 informs the server that this example client synchronization message is the last message containing client changes to be reported to the server for synchronization.

過去の不完全な同期セッションを再開させるための本発明の一実施態様による上記の方法は、クライアント装置とサーバー装置においてさまざまな方法で実現することができる。以下に示す具体例は、SyncML規格基づいていて、本発明の一実施態様に従って動作するよう、各要素が増強された機能と能力を持っている場合の例である。   The above method according to an embodiment of the present invention for resuming a past incomplete synchronization session can be implemented in various ways in a client device and a server device. The specific example shown below is based on the SyncML standard, where each element has enhanced functions and capabilities to operate in accordance with one embodiment of the present invention.

図5は、同期させるクライアント装置と同期させるサーバー装置に含まれる要素に関する本発明の一実施態様による概略ブロック・ダイヤグラムである。図5には、ネットワーク化された同期サービスを提供するネットワーク装置を表わすサーバー110が示されている。ネットワーク化された同期サービスは、1つ以上のサーバー・アプリケーション112と、対応する付随した1つ以上のデータ記憶素子111によって表わされる。1つ以上のサーバー・アプリケーション112は、ネットワーク化された装置であるクライアント100の1つ以上のクライアント・アプリケーション102によって表わされる他のアプリケーションとのデータ同期を行なわせる。1つ以上のデータ記憶素子111(例えば1個または数個のデータベース)にはデータ記録が記憶されており、そのデータ記録を1つ以上のサーバー・アプリケーション112が取り扱い、クライアントと同期させる。サーバー110とクライアント100は、通信網トランスポートを通じて接続される。クライアント100とサーバー110を接続するのに適した通信網の選択は、すでに図1に図示して説明した。   FIG. 5 is a schematic block diagram according to one embodiment of the present invention relating to elements included in a server device to be synchronized with a client device to be synchronized. FIG. 5 shows a server 110 representing a network device that provides a networked synchronization service. A networked synchronization service is represented by one or more server applications 112 and corresponding one or more data storage elements 111. One or more server applications 112 cause the client 100, which is a networked device, to perform data synchronization with other applications represented by the one or more client applications 102. One or more data storage elements 111 (eg, one or several databases) store data records that are handled by one or more server applications 112 and synchronized with the client. The server 110 and the client 100 are connected through a communication network transport. The selection of a communication network suitable for connecting the client 100 and the server 110 has already been illustrated and described with reference to FIG.

1つ以上のサーバー・アプリケーション112は、サーバー110上の素子またはプロセスである同期サーバー・エンジン113として具体化したデータ同期プロトコルを利用する。データ同期プロトコルは、提供される同期サーバー・ネットワーク・サービスとリソースにアクセスするクライアント・アプリケーションが通信網に提示する。同期サーバー・エージェント115は、同期サーバー・エンジン113がネットワークにアクセスして通信するためのインターフェイスになると同時にそのアクセスと通信の管理を行ない、クライアント100および1つ以上のクライアント・アプリケーション102とのデータ同期操作を可能にする。同期エージェント115は、同期インターフェイス116(例えば同期アダプタ117に対するアプリケーション・プログラム・インターフェイス(API))と同期アダプタ117を関与させることによってインターフェイス機能と通信を実行する。同期アダプタ117は、サーバー110上の素子またはプロセスであり、理論的にはクライアント側の相手である同期アダプタ107と通信する。要するに同期アダプタ117は、サーバー110とクライアント100の間、すなわちデータ同期サービスを提供する1つ以上のサーバー・アプリケーション112と、このデータ同期サービスにアクセスして利用する1つ以上のクライアント・アプリケーション102の間にネットワーク通信接続を確立して維持するのに重要な役割を担っている。   One or more server applications 112 utilize a data synchronization protocol embodied as a synchronization server engine 113, which is an element or process on the server 110. The data synchronization protocol is presented to the communication network by client applications that access the provided synchronization server network services and resources. The sync server agent 115 provides an interface for the sync server engine 113 to access and communicate with the network, and at the same time manages its access and communication and synchronizes data with the client 100 and one or more client applications 102 Enable operation. The synchronization agent 115 performs interface functions and communications by involving the synchronization interface 116 (eg, an application program interface (API) for the synchronization adapter 117) and the synchronization adapter 117. The synchronization adapter 117 is an element or process on the server 110 and theoretically communicates with the synchronization adapter 107 that is a client side partner. In short, the synchronization adapter 117 includes one or more server applications 112 that provide a data synchronization service between the server 110 and the client 100, and one or more client applications 102 that access and use the data synchronization service. It plays an important role in establishing and maintaining network communication connections between them.

クライアント側では、1つ以上のクライアント・アプリケーション102は、その1つ以上のクライアント・アプリケーション102がアクセスできるデータ記録を記憶している1つ以上のデータ記憶素子101を備えており、同期クライアント・エージェント105、同期インターフェイス106、同期アダプタ107を利用して、提供されるサーバー同期サービスにアクセスする。同期クライアント・エージェント105は、サーバー110および1つ以上のサーバー・アプリケーション112とのデータ同期操作を行なう通信を可能にする。同期インターフェイス106は、例えば、上記の場合と同様、同期アダプタ107に対するアプリケーション・プログラム・インターフェイス(API)である。   On the client side, one or more client applications 102 include one or more data storage elements 101 that store data records that can be accessed by the one or more client applications 102, and are synchronized client agents. 105, the synchronization interface 106, and the synchronization adapter 107 are used to access the provided server synchronization service. The sync client agent 105 enables communication to perform data synchronization operations with the server 110 and one or more server applications 112. The synchronization interface 106 is, for example, an application program interface (API) for the synchronization adapter 107 as in the above case.

本発明の一実施態様による上記の方法は、サーバー110とクライアント100に関して上に示した概念的要素の枠組みに含まれる。そのためには、例えば、不完全な同期セッションを再開させる方法の一実施態様を実行する命令を含む1個または数個のコード・セクションを同期クライアント・エージェント105と同期サーバー・エージェント115の中で実現する。この具体化法により、同期セッションが中断した場合にその中断した同期セッションを再開させるのに必要な情報がクライアント100とサーバー110に記録または記憶される。   The above method according to one embodiment of the present invention falls within the conceptual element framework shown above with respect to server 110 and client 100. To that end, for example, one or several code sections containing instructions for performing an embodiment of a method for resuming an incomplete synchronization session are implemented in the synchronization client agent 105 and the synchronization server agent 115. To do. According to this embodiment, when a synchronization session is interrupted, information necessary for resuming the interrupted synchronization session is recorded or stored in the client 100 and the server 110.

図6〜図8は、2つの装置間でのデータ交換が中断した過去の不完全な同期セッションを再開させる本発明の方法の別の実施態様を示している。この方法は、第1の装置から第2の装置に、過去の不完全な同期セッションの再開要求に関する情報を含む再開警告信号を送ることを特徴としている。具体的に示してあるように、第1の装置はクライアントであり、第2の装置はサーバーである。この方法は、第2の装置から第1の装置に、警告信号の状態として、実行する同期のタイプに関する情報を送ることも特徴としている。再開警告信号の状態に関する情報には、再開セッションを受け入れるための情報、または過去の不完全な同期セッションのタイプを無効にする情報を含めることができる。過去の同期のタイプが無効にされると、サーバーはクライアントに対して別の同期タイプを利用するコマンドを送る。“次の”アンカーまたは第2の更新識別子は、同期が中断された場合には、更新されてもされなくてもよい。中断後または休止の間に“次の”アンカーが更新された場合には、おそらく変更されたデータ・アイテムを中断中に同期させることが可能になり、したがってユーザーにとってより使いやすくなる。   FIGS. 6-8 illustrate another embodiment of the method of the present invention for resuming a past incomplete synchronization session in which data exchange between two devices has been interrupted. This method is characterized in that a restart warning signal including information relating to a request for restarting a previous incomplete synchronization session is sent from the first device to the second device. As specifically shown, the first device is a client and the second device is a server. This method is also characterized in that information on the type of synchronization to be performed is sent from the second device to the first device as the state of the warning signal. Information regarding the state of the resume warning signal may include information for accepting a resume session or information that invalidates a past incomplete synchronization session type. If the past sync type is disabled, the server sends a command to the client that uses another sync type. The “next” anchor or second update identifier may or may not be updated if synchronization is interrupted. If the “next” anchor is updated after an interruption or during a pause, it will likely be possible to synchronize the changed data item during the interruption, thus making it more user friendly.

図6では、ステップ302において、クライアントが再開警告信号をサーバーに送る。ステップ304では、サーバーが警告信号の状態に応答し、セッションの再開が可能であることを示す指示をクライアントに戻す。ステップ306では、クライアントが中断された過去の同期セッションのタイプ(例えば速い同期または遅い同期)を利用し、残ったクライアント・データを交換する。図3bに関して上に説明したステップ253、254と同様のステップ308と310により同期セッションが終了する。これらのステップには、同期セッションの再開と、中断された過去の同期セッションの同期タイプの決定の両方が含まれる。クライアントが再開警告コードを送ると、サーバーはセッションの再開を承認し、サーバー側の対応するデータ・ストアのための警告要素に含まれている適切な警告コードを送る。クライアントは、同期セッションを再開するにはこの警告コードを用いなくてはならない。このようにすると、セッションが中断されたときにクライアント側の同期のタイプを記憶せずに済む。   In FIG. 6, in step 302, the client sends a restart warning signal to the server. In step 304, the server responds to the warning signal condition and returns an indication to the client indicating that the session can be resumed. In step 306, the client uses the type of past sync session that was interrupted (eg, fast sync or slow sync) to exchange the remaining client data. The synchronization session is terminated by steps 308 and 310 similar to steps 253 and 254 described above with respect to FIG. 3b. These steps include both resuming the sync session and determining the sync type of the interrupted past sync session. When the client sends a resume warning code, the server acknowledges resumption of the session and sends the appropriate warning code contained in the warning element for the corresponding data store on the server side. The client must use this warning code to resume the synchronization session. In this way, it is not necessary to memorize the type of synchronization on the client side when the session is interrupted.

さらに、本発明の範囲には、中断が起こったときにはいつでもクライアントが再開のための警告を送れるような実施態様が含まれる。これは、たとえクライアントが全アイテムの状態を受信していて、再開セッション中に送るべき新しいアイテムまたは変更されたアイテムがもはやない場合に適用できる。言い換えるならば、トランスポートがエレガントな形または適切な形で中断されなかった場合には、クライアントは、新しい同期セッションを開始させるのではなく再開を要求する必要がある。そうすることにより、サーバーは、状態を得られなかったアイテムだけを送ることができる。   In addition, the scope of the present invention includes embodiments in which the client can send a restart alert whenever an interruption occurs. This is applicable even if the client has received the status of all items and there are no more new or changed items to send during the resume session. In other words, if the transport was not interrupted elegantly or properly, the client needs to request a resume rather than start a new synchronization session. By doing so, the server can only send items that did not get status.

図7は、サーバーによる再開セッションの取り消しを示している。この場合には、ステップ302におけるクライアントの再開要求がサーバーによって受け入れられないため、サーバーは例えばステップ320において状態508(リフレッシュ同期)、または状態509(別の同期タイプ)、または同じ目的の適切な他の任意のコードを送り、その後、適切な同期タイプを警告コード201(遅い同期)または2XX(別の同期タイプの場合)の形で送ることによって過去の同期タイプを無効にすることができる。ステップ322では、クライアントは、サーバーによって指定された同期タイプを利用し、残っている5個のデータ・アイテムだけでなく、すべてのアイテムを送る。本発明の範囲が、状態コードの数が特定の値である場合に限定されることはない。状態コードが別の値である実施態様も考えられる。   FIG. 7 shows the cancellation of the resume session by the server. In this case, since the client resume request in step 302 is not accepted by the server, the server may, for example, state 508 (refresh synchronization) or state 509 (another synchronization type) in step 320, or any other suitable for the same purpose. Can then invalidate past sync types by sending the appropriate sync type in the form of a warning code 201 (slow sync) or 2XX (for another sync type). In step 322, the client uses the synchronization type specified by the server and sends all items, not just the five remaining data items. The scope of the present invention is not limited to the case where the number of status codes is a specific value. Embodiments in which the status code is another value are also conceivable.

図8は、遅い同期セッションの再開を示している。クライアントの再開要求がサーバーに警告として送られて再開がサーバーによって受け入れられた場合、“再開のための警告”により、状態200(OK)がステップ330において送られる。サーバーは、サーバー側の対応するデータ・ストアのための警告要素に含まれている警告201も送る。これは、図6において同期タイプの決定に関して説明したことと似ている。しかし警告201はここでは遅い同期を意味しており、クライアントは完全版の遅い同期を開始させることになるため、遅い同期の再開と強制的な完全版の遅い同期の再開をどのようにして区別するかに注意することが大切である。クライアントは、ステップ330において“再開のための警告”を受けて送られる状態コードを見ることによって遅い同期の再開と完全版の遅い同期の再開を区別することができる。コード200は、遅い同期の再開(別の方法は、例えば再開セッションがOKであることを認証する200のではなく、異なるすべての同期タイプの状態コードを送る220ことである)を意味し、コード508は完全版の遅い同期を意味する。完全版の遅い同期は、再開のための警告の後に上記の警告201を受けて状態(要求されたリフレッシュ)508を送ることによって実現できる。このようにすると、クライアントは、以前に中断された遅い同期を再開させることができず、完全版の遅い同期を利用して最初から開始せねばならないことがわかる。これは、新しい同期セッションの開始を意味してはいないが、必要な場合にはそうすることになる可能性がある。   FIG. 8 shows the resumption of a slow synchronization session. If the client resume request is sent to the server as a warning and the resume is accepted by the server, a “warning for resume” state 200 (OK) is sent in step 330. The server also sends a warning 201 contained in a warning element for the corresponding data store on the server side. This is similar to that described for determining the synchronization type in FIG. But warning 201 here means slow sync, and the client will initiate a full slow sync, so how to distinguish between a slow sync resume and a forced full slow resume restart. It is important to pay attention to what you do. The client can distinguish between slow sync restart and full slow sync restart by looking at the status code sent in response to the "warning for restart" at step 330. Code 200 means slow sync resumption (another way is to send a status code of all the different sync types, for example, instead of 200 authenticating that the resume session is OK) 508 means slow synchronization of the full version. A full version of slow synchronization can be achieved by sending a status (requested refresh) 508 in response to the warning 201 above after a warning to resume. In this way, it can be seen that the client cannot resume the previously interrupted slow sync and must start from the beginning using the full version of the slow sync. This does not imply the start of a new synchronization session, but may do so if necessary.

別の一実施態様によると、“休止のための警告”を示す追加警告コードを備えることが可能である。このようにすると、同期セッションをエレガントに中断する方法が得られる。再開は、この明細書の最初の部分に記載したステップに従う。この警告コードは、通常はユーザーが開始させる同期セッション中断のエレガントな手段を実現することだけに役立つ。このような警告を第2の装置が受信すると、状態コードによってその警告に応答することができる。すると第1の装置は、“休止モード”にも行けるかどうかを推論することができる。当然、“最後の”更新識別子は更新されない。第1の装置と第2の装置のいずれかが、のちに、他方の装置に対し、休止状態の同期セッションを再開させる指示を送ることができる。例えば第1の装置が再開警告信号を含むメッセージを第2の装置に送ることができ、そのことによって両方の装置は休止していた同期を再開することができる。   According to another embodiment, it is possible to provide an additional warning code indicating "warning warning". This provides a way to gracefully interrupt the synchronization session. Resume follows the steps described in the first part of this specification. This warning code is only useful for providing an elegant means of interrupting a synchronization session that is usually initiated by the user. When such a warning is received by the second device, it can respond to the warning with a status code. The first device can then infer whether it can also go into “sleep mode”. Of course, the “last” update identifier is not updated. Either the first device or the second device can later send an instruction to the other device to resume the dormant synchronization session. For example, the first device can send a message containing a resume warning signal to the second device, which allows both devices to resume the paused synchronization.

当業者にとって、技術が進歩するにつれて本発明の考え方を別のより多数の方法で実現できるようになことは明らかであろう。したがって本発明とその実施態様が上記に実施例に限定されることはなく、請求項の範囲内での変更が可能である。   It will be apparent to those skilled in the art that as the technology advances, the idea of the present invention can be implemented in many other ways. Therefore, the present invention and its embodiments are not limited to the above examples, but can be modified within the scope of the claims.

情報を互いに同期させることのできる具体的な電子機器群の概略図である。It is the schematic of the specific electronic device group which can synchronize information mutually. 本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、同期させるクライアント装置と同期させるサーバー装置の間で交換されるいくつかのメッセージが示されている。FIG. 4 is a time sequence diagram of a synchronization process according to an embodiment of the present invention, showing several messages exchanged between a client device to be synchronized and a server device to be synchronized. 図2と同様の本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、中断または停止がある。FIG. 3 is a time sequence diagram of a synchronization process according to an embodiment of the invention similar to FIG. 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。FIG. 3b is a time sequence diagram of the synchronization process according to one embodiment of the present invention for resuming the interrupted or stopped synchronization process of FIG. 3a. 図3bに示した本発明の一実施態様による同期プロセスにおけるXMLコード化された同期メッセージの抜粋である。4 is an excerpt of an XML encoded synchronization message in the synchronization process according to one embodiment of the present invention shown in FIG. 本発明の一実施態様による同期させるクライアント装置と同期させるサーバー装置に含まれる要素の概略ブロック・ダイヤグラムである。FIG. 3 is a schematic block diagram of elements included in a server device to be synchronized with a client device to be synchronized according to an embodiment of the present invention. 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。FIG. 3b is a time sequence diagram of the synchronization process according to one embodiment of the present invention for resuming the interrupted or stopped synchronization process of FIG. 3a. 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。FIG. 3b is a time sequence diagram of the synchronization process according to one embodiment of the present invention for resuming the interrupted or stopped synchronization process of FIG. 3a. 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。FIG. 3b is a time sequence diagram of the synchronization process according to one embodiment of the present invention for resuming the interrupted or stopped synchronization process of FIG. 3a.

Claims (22)

第1の装置と第2の装置との間でデータ同期を行う方法であって、
前記第1の装置と前記第2の装置との間でのデータ交換に関して中断された過去の不完全な同期セッションを前記第1の装置と前記第2の装置とが再開させるステップと、
過去の不完全な同期セッションの再開要求に関する情報を含む再開通知信号を、前記第1の装置が前記第2の装置に送るステップと、
前記第1の装置が実行する同期のタイプを判定できるように、前記通知信号の状態として、前記実行する同期のタイプに関する情報を前記第2の装置が前記第1の装置へ送るステップと、
を含む方法。
A method for synchronizing data between a first device and a second device, comprising:
Causing the first device and the second device to resume a past incomplete synchronization session that was interrupted with respect to data exchange between the first device and the second device;
Sending the first device to the second device a resume notification signal that includes information about a request to resume a previous incomplete synchronization session;
The second device sending information about the type of synchronization to be performed to the first device as the state of the notification signal so that the type of synchronization performed by the first device can be determined;
Including methods.
前記通知信号の状態として、再開セッションを受け入れるための情報を含む、請求項1に記載の方法。  The method of claim 1, wherein the state of the notification signal includes information for accepting a resume session. 前記通知信号の状態に関する情報は、過去の不完全な同期セッションの同期タイプを無効にする情報を含む、請求項1に記載の方法。  The method of claim 1, wherein the information regarding the state of the notification signal includes information that invalidates a synchronization type of a past incomplete synchronization session. 前記再開要求に関する情報に、過去の不完全な同期セッションの中断に関して記録されていて、過去のその不完全な同期セッションの再開を可能にする情報が含まれる、請求項1に記載の方法。  The method of claim 1, wherein the information related to the resume request includes information recorded about an interruption of an incomplete synchronization session in the past that enables the incomplete synchronization session in the past to be resumed. それぞれの装置に、過去の不完全な同期セッションの中断に関して記録された情報を記録させるステップをさらに含む、請求項4に記載の方法。  5. The method of claim 4, further comprising causing each device to record information recorded regarding past incomplete synchronization session interruptions. 前記の過去の不完全な同期セッションの中断に関して記録された情報に、前記第1の装置と前記第2の装置との間で実施された過去の完全な同期セッションに関する情報を含む第1の更新識別子と、前記第1の装置と前記第2の装置との間で実施された過去の不完全な同期セッションに関する情報を含む第2の更新識別子と、が含まれる、請求項4に記載の方法。  A first update that includes information about a past complete synchronization session performed between the first device and the second device in information recorded about the interruption of the previous incomplete synchronization session; The method of claim 4, comprising: an identifier; and a second update identifier that includes information about a previous incomplete synchronization session performed between the first device and the second device. . 1つの装置に記録されている更新識別子の情報を、他方の装置に記録されている更新識別子の情報と比較し、その比較結果に基づいて過去の不完全な同期セッションを再開させるステップをさらに含む、請求項4に記載の方法。  The step of comparing the update identifier information recorded in one device with the update identifier information recorded in the other device and resuming a past incomplete synchronization session based on the comparison result is further included. The method according to claim 4. 前記比較結果に応じ、過去の不完全な同期セッションを再開させるのに別個の同期法を利用するステップをさらに含む、請求項7に記載の方法。  8. The method of claim 7, further comprising utilizing a separate synchronization method to resume a previous incomplete synchronization session in response to the comparison result. 前記第1の更新識別子が最終アンカーであり、前記第2の更新識別子が次のアンカーまたは休止アンカーである、請求項6に記載の方法。  The method of claim 6, wherein the first update identifier is a final anchor and the second update identifier is a next anchor or a dormant anchor. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報が一致し、受信され記録された次のアンカーの情報も一致するとき、前記別個の同期法は、増分同期を再開させる操作とする請求項8に記載の方法。  The separate synchronization method resumes incremental synchronization when the last anchor information received and recorded for previous incomplete sync session interruptions matches and the next anchor information received and recorded also matches. The method according to claim 8, wherein the method is an operation. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報は一致するが、受信され記録された次のアンカーの情報は一致しないとき、前記別個の同期法は、増分同期を始めから開始させる操作とする請求項8に記載の方法。  When the last anchor information received and recorded for a previous incomplete synchronization session interruption matches, but the next anchor information received and recorded does not match, the separate synchronization method starts incremental synchronization. The method according to claim 8, wherein the operation is started from. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報は一致しないが、受信され記録された次のアンカーの情報は一致するとき、前記別個の同期法は、完全同期を再開させる操作とする請求項8に記載の方法。  The separate synchronization method resumes full synchronization when the last anchor information received and recorded for a previous incomplete synchronization session break does not match, but the next anchor information received and recorded matches. The method according to claim 8, wherein the operation is performed. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報が一致せず、受信され記録された次のアンカーの情報も一致しないとき、前記別個の同期法は、完全同期を初めから開始させる操作とする請求項8に記載の方法。  When the last anchor information received and recorded for a previous incomplete synchronization session break does not match, and the next anchor information received and recorded does not match, the separate synchronization method starts with full synchronization. The method according to claim 8, wherein the operation is started from. 記録された前記情報に、過去の不完全な同期セッションのセッションIDと、適切に送信された最後のメッセージのメッセージIDと、1つ以上のユニーク記録識別子と、も含まれる、請求項7に記載の方法。  8. The recorded information also includes a session ID of a previous incomplete synchronization session, a message ID of the last message properly transmitted, and one or more unique record identifiers. the method of. 記録された前記情報に基づいて過去の不完全な同期セッションを再開させるコマンドを前記第2の装置から前記第1の装置に送るステップを含む、請求項7に記載の方法。  8. The method of claim 7, comprising sending a command from the second device to the first device to resume a previous incomplete synchronization session based on the recorded information. 第1の装置と、
第2の装置と
を備えたシステムであって、
前記第1の装置は、前記第1の装置と前記第2の装置との間でのデータ交換に関して中断された過去の不完全な同期セッションの再開要求に関する情報を含む再開通知信号を前記第2の装置へ送るように構成した1または複数のモジュールを備え、
前記第2の装置は、前記第1の装置が実行する同期のタイプを判定できるように、前記通知信号の状態として、前記実行する同期のタイプに関する情報を前記第1の装置へ送るように構成した1または複数のモジュールを備える
システム。
A first device;
A system comprising a second device,
The first device transmits a restart notification signal including information on a request for resuming a previous incomplete synchronization session suspended with respect to data exchange between the first device and the second device. One or more modules configured to be sent to
The second device is configured to send information on the type of synchronization to be executed to the first device as the state of the notification signal so that the type of synchronization to be executed by the first device can be determined. System comprising one or more modules.
第1の装置と第2の装置との間でデータ同期を行う方法であって、
前記第1の装置と前記第2の装置との間でのデータ交換に関して、中断された過去の不完全な同期セッションの再開要求に関する情報を含む再開通知信号を前記第1の装置が前記第2の装置へ送るステップと、
前記第1の装置が実行する同期のタイプを判定できるように、前記通知信号の状態として、前記実行する同期のタイプに関する情報を前記第1の装置において前記第2の装置から受信するステップと、
を有する方法。
A method for synchronizing data between a first device and a second device, comprising:
With respect to data exchange between the first device and the second device, the first device sends a resume notification signal including information on a resume request for a suspended incomplete synchronization session. Sending to other devices,
Receiving information on the type of synchronization to be performed from the second device at the first device as the state of the notification signal so that the type of synchronization to be performed by the first device can be determined;
Having a method.
第1の装置であって、
前記第1の装置と第2の装置との間でのデータ交換に関して、中断された過去の不完全な同期セッションの再開要求に関する情報を含む再開通知信号を前記第2の装置へ送るように構成した1または複数のモジュールと、
前記第1の装置が実行する同期のタイプを判定できるように、前記通知信号の状態として、前記実行する同期のタイプに関する情報を前記第2の装置から受信するように構成した1または複数のモジュールと、
を備える装置。
A first device comprising:
Constructed to send a resume notification signal to the second device, including information regarding a resume request for a suspended previous incomplete synchronization session for data exchange between the first device and the second device One or more modules,
One or more modules configured to receive information about the type of synchronization to be executed from the second device as the state of the notification signal so that the type of synchronization to be executed by the first device can be determined When,
A device comprising:
第1の装置と第2の装置との間でデータ同期を行う方法であって、
前記第1の装置と前記第2の装置との間でのデータ交換に関して、中断された過去の不完全な同期セッションの再開要求に関する情報を含む再開通知信号を前記第2の装置において前記第1の装置から受信するステップと、
前記第1の装置が実行する同期のタイプを判定できるように、前記通知信号の状態として、前記実行する同期のタイプに関する情報を前記第2の装置が前記第1の装置へ送るステップと、
を有する方法。
A method for synchronizing data between a first device and a second device, comprising:
With respect to data exchange between the first device and the second device, a restart notification signal including information related to a request for restarting a past incomplete synchronization session that has been interrupted is transmitted to the first device. Receiving from the device;
The second device sending information about the type of synchronization to be performed to the first device as the state of the notification signal so that the type of synchronization performed by the first device can be determined;
Having a method.
請求項19に記載した方法のステップを実行するためのプログラム・コード・セクション群を含むコンピュータ・プログラムであって、処理装置、端末機器、通信端末機器、ネットワーク装置のいずれかで実行されるコンピュータ・プログラム。A computer program including a program code section group for executing the steps of the method according to claim 19 , wherein the computer program is executed by any one of a processing device, a terminal device, a communication terminal device, and a network device. program. 請求項20に記載したコンピュータ・プログラムを含むコンピュータ可読記憶媒体。A computer-readable storage medium containing the computer program according to claim 20 . 第2の装置であって、
第1の装置と前記第2の装置との間でのデータ交換に関して、中断された過去の不完全な同期セッションの再開要求に関する情報を含む再開通知信号を前記第1の装置から受信するように構成した1または複数のモジュールと、
前記第1の装置が実行する同期のタイプを判定できるように、前記通知信号の状態として、前記実行する同期のタイプに関する情報を前記第1の装置へ送るように構成した1または複数のモジュールと、
を備える装置。
A second device comprising:
As for data exchange between the first device and the second device, a resumption notification signal including information relating to a resumption request of a suspended past incomplete synchronization session is received from the first device. One or more configured modules;
One or more modules configured to send information about the type of synchronization to be performed to the first device as the state of the notification signal so that the type of synchronization to be performed by the first device can be determined; ,
A device comprising:
JP2004533728A 2002-09-03 2003-09-03 Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process Expired - Lifetime JP4494970B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/236,010 US20040044799A1 (en) 2002-09-03 2002-09-03 Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
US10/291,192 US9792343B2 (en) 2002-09-03 2002-11-08 Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
PCT/IB2003/003737 WO2004023233A2 (en) 2002-09-03 2003-09-03 Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009014610A Division JP4829316B2 (en) 2002-09-03 2009-01-26 Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process

Publications (2)

Publication Number Publication Date
JP2005537579A JP2005537579A (en) 2005-12-08
JP4494970B2 true JP4494970B2 (en) 2010-06-30

Family

ID=31980974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004533728A Expired - Lifetime JP4494970B2 (en) 2002-09-03 2003-09-03 Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process

Country Status (9)

Country Link
EP (1) EP1540503A4 (en)
JP (1) JP4494970B2 (en)
KR (1) KR100728076B1 (en)
AU (1) AU2003255972A1 (en)
CA (1) CA2497525A1 (en)
EG (1) EG23768A (en)
MX (1) MXPA05002408A (en)
TW (1) TWI231426B (en)
WO (1) WO2004023233A2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122107B2 (en) 2004-06-30 2012-02-21 Jumpstart Wireless Corporation Method for extending business systems to a mobile workforce
US8065359B2 (en) * 2004-09-16 2011-11-22 Nokia Corporation Integrated method and apparatus to manage mobile devices and services
CN1852309A (en) * 2005-11-16 2006-10-25 华为技术有限公司 Data synchronizing processing method and its client end
US7581148B2 (en) * 2006-01-31 2009-08-25 Verigy (Singapore) Pte. Ltd. System, method and apparatus for completing the generation of test records after an abort event
US8769033B2 (en) * 2006-03-03 2014-07-01 Microsoft Corporation Identifying changes to media-device contents
CN101047707A (en) 2006-03-30 2007-10-03 华为技术有限公司 Method and system for initiating equipment ability information consultation
KR100782858B1 (en) * 2006-04-11 2007-12-06 삼성전자주식회사 Method and apparatus for synchronizing contents of home network devices
KR100755715B1 (en) * 2006-04-21 2007-09-05 삼성전자주식회사 Method for synchronizing multiple cds devices, cds device, and system comprising the cds device
US7706368B2 (en) * 2007-04-06 2010-04-27 Research In Motion Limited System and method for correlating messages within a wireless transaction
US7747784B2 (en) * 2008-03-04 2010-06-29 Apple Inc. Data synchronization protocol
JP5180013B2 (en) * 2008-09-11 2013-04-10 キヤノンマーケティングジャパン株式会社 Authentication processing system, control method thereof, and program
JP5061166B2 (en) 2009-09-04 2012-10-31 Kii株式会社 Data synchronization system and data synchronization method
CN101674326B (en) * 2009-09-21 2012-09-05 中兴通讯股份有限公司 Method for realizing interprocess synchronization communication and agent unit
US10089323B2 (en) * 2012-04-05 2018-10-02 Microsoft Technology Licensing, Llc Telemetry system for a cloud synchronization system
US9173095B2 (en) * 2013-03-11 2015-10-27 Intel Corporation Techniques for authenticating a device for wireless docking
JP6442230B2 (en) 2014-10-31 2018-12-19 キヤノン株式会社 Information processing apparatus, synchronization control method, and program
CN107846476B (en) * 2017-12-18 2020-06-16 东软集团股份有限公司 Information synchronization method, equipment and storage medium
CN111737204B (en) 2020-06-12 2024-03-19 北京百度网讯科技有限公司 File directory traversal method, device, equipment and medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477545B1 (en) * 1998-10-28 2002-11-05 Starfish Software, Inc. System and methods for robust synchronization of datasets
US6535892B1 (en) * 1999-03-08 2003-03-18 Starfish Software, Inc. System and methods for exchanging messages between a client and a server for synchronizing datasets
US6941326B2 (en) * 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
US7761535B2 (en) * 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device

Also Published As

Publication number Publication date
AU2003255972A8 (en) 2004-03-29
WO2004023233A2 (en) 2004-03-18
KR20050031466A (en) 2005-04-06
WO2004023233A3 (en) 2004-07-15
MXPA05002408A (en) 2005-05-27
JP2005537579A (en) 2005-12-08
EP1540503A2 (en) 2005-06-15
EG23768A (en) 2007-08-08
EP1540503A4 (en) 2006-07-19
TWI231426B (en) 2005-04-21
TW200405966A (en) 2004-04-16
KR100728076B1 (en) 2007-06-13
AU2003255972A1 (en) 2004-03-29
CA2497525A1 (en) 2004-03-18

Similar Documents

Publication Publication Date Title
JP4829316B2 (en) Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process
JP4494970B2 (en) Method, apparatus, and system for synchronizing data in response to an interrupted synchronization process
KR100937163B1 (en) Synchronization of database data
KR100945221B1 (en) Arrangement of data synchronization in a telecommunications system
US8489548B2 (en) Method, system, and device for data synchronization
US8190671B2 (en) Arranging synchronization session
US6928467B2 (en) Apparatus and methods for providing data synchronization by facilitating data synchronization system design
JP4943512B2 (en) Notification message processing method and apparatus
CN102594874B (en) Synchronization processing method and device
PT1518381E (en) Method and device for retrieving data store access information
EP1835424A1 (en) Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
WO2022211676A1 (en) Method and system for the interaction of programs and devices with the aid of a control platform
KR20070071599A (en) Method for performing data synchronization among client terminals using sms message
KR20020089089A (en) Data link system using public packet, and method thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080407

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080805

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100209

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: 20100309

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100408

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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