JP2009140515A - 中断された同期プロセスに対処してデータを同期させる方法、装置、システム - Google Patents

中断された同期プロセスに対処してデータを同期させる方法、装置、システム Download PDF

Info

Publication number
JP2009140515A
JP2009140515A JP2009014610A JP2009014610A JP2009140515A JP 2009140515 A JP2009140515 A JP 2009140515A JP 2009014610 A JP2009014610 A JP 2009014610A JP 2009014610 A JP2009014610 A JP 2009014610A JP 2009140515 A JP2009140515 A JP 2009140515A
Authority
JP
Japan
Prior art keywords
synchronization
data
session
information
update identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009014610A
Other languages
English (en)
Other versions
JP4829316B2 (ja
Inventor
Ganesh Sivaraman
シバラマン,ガネシュ
Riku Mettaelae
リク メッタラ
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
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of JP2009140515A publication Critical patent/JP2009140515A/ja
Application granted granted Critical
Publication of JP4829316B2 publication Critical patent/JP4829316B2/ja
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/273Asynchronous replication or reconciliation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】実行中に中断された過去の不完全な同期セッションを再開させることのできる方法、ネットワーク装置、システムを提供する。
【解決手段】過去の不完全な同期セッションの再開は、以下の操作に基づいている。第1の装置と第2の装置の間でデータを同期させるための通信接続を確立する。第1の装置と第2の装置は、それぞれ、互いに同期させる所定のデータ・セットを備えている。第1の更新識別子と第2の更新識別子を第1の装置と第2の装置の間で通信する。第1の更新識別子は、第1の装置と第2の装置の間で実行された過去の完全な同期セッションを表わしており、第2の更新識別子は、第1の装置と第2の装置の間で実行された過去の不完全な同期セッションを表わしている。同期関連情報を第1の装置と第2の装置の間で交換させる。
【選択図】図3b

Description

本発明は、同期させるクライアント装置と同期させるサーバー装置の間でデータを同期させる方法と装置、ならびに同期させる個々の装置に関する。さらに詳細には、本発明は、アクティブな同期プロセスの中断をよりよく処理することのできるデータ同期法とデータ処理装置に関する。
データの同期は、少なくとも2つの電子装置を使用していて同じデータをこれらの電子装置で処理するユーザーによく知られている考え方または技術である。一般に、同期は端末装置(例えば携帯電話)とサーバー装置(例えばローカルPCのアプリケーションまたは専用同期サーバー)の間で行なわれる。端末(例えば携帯用コンピュータ、PDA端末(パーソナル・ディジタル・アシスタント)、携帯電話、移動ステーション、無線呼出端末)からのデータは、同期サーバーとして機能するネットワーク化された装置(例えばネットワーク化されたアプリケーションやデスクトップ・コンピュータのアプリケーション)によって、あるいは通信システムのデータ・ストアに含まれる他の管理アプリケーションによって同期させることができる。ここで“データ・ストア”という用語は、できるだけ広い意味に理解する必要がある。すなわちこの用語には、任意のデータ・セットが含まれる。一般に同期させるのは、特に、カレンダーのデータ、契約データ、eメール・アプリケーションのデータのほか、装置/アプリケーションの設定と構成に関するデータである。
同期は、メーカーごとに異なっていて互換性のない特別なプロトコルの使用に基づいてなされる。そのため使用する端末またはデータのタイプが制限され、ユーザーにとってトラブルの原因となる。特に移動体通信では、使用する端末やアプリケーションに関係なくデータを回収して更新できることが重要である。
アプリケーション・データの同期を改善するため、同期マークアップ言語として知られるSyncMLという名称の言語が設計された。これは、拡張可能なマークアップ言語(XML)に基づいている。SyncML形式のメッセージを使用するSyncML同期プロトコルを用いることにより、ネットワーク化された端末とあらゆるタイプのネットワーク・サーバーの間で、あらゆるアプリケーションのデータを同期させることができる。SyncML同期プロトコルは、無線ネットワークと固定ネットワークの両方で機能し、いくつかの送信プロトコルをサポートしている。上記のSyncML同期技術により、特にデータ・ストアまたはデータベースを同期させることができる。
通常は、データ記録の同期は、異なる記憶場所(すなわちその記憶場所を管理し利用している別々の同期装置)に記憶されている2つの異なる所定のデータ記録セットを調和させるため、すなわち対応状態にするため、ある決まった時刻に実行する。その結果、その時刻に両方の記憶場所に2つの同じデータ記録セットが得られる。ある時刻におけるデータ記録の同期は、同期セッションとも呼ばれる。データ記録セットの同期は、そのような同期セッションの間に情報交換によってなされる。両方の同期装置に対して命令やコマンドを送ることにより、そこに記憶されているデータ記録セットを変更し、それらを調和させる。このような変更操作には、データの追加、データの移動、現在のデータに対するデータ追加、データの更新などが含まれる。必要な情報やコマンドの交換は、実際的な目的のため、それぞれの同期装置で調和操作に必要なすべての情報、命令、コマンドが分散された形で含まれた1つ以上のメッセージを同期装置相互間でやりとりすることによって実現される。さらに、1つ以上のメッセージのそれぞれが肯定応答されると、その中に含まれるメッセージ情報に従って成功した操作がどれであるかがわかる。
基本的に、上記の同期プロセスは、完全同期プロセス(遅い同期とも呼ばれる)と増分同期プロセス(通常の同期、または速い同期とも呼ばれる)のいずれかによって取り扱って実行することができる。同期セッションで完全同期プロセスまたは遅い同期プロセスが実行されている間に、同期に関与している両方の装置の所定の全データ記録セットが調和状態になる。同期セッションで増分同期プロセスまたは速い同期プロセスが実行されている間に、関与している同期装置の両方に最後に終了した同期セッションの時刻が記録され、両方の同期装置に記録されているその時刻が一致するときには、その時刻以降に変更されたデータ記録だけが同期のために選択され、他のすべてのデータ記録は同期プロセスから除外される。したがって変更ログは、変更を記録し、データ記録の時刻を追加または削除する同期装置によって維持することができる。別の方法として、変更は、記録の変更がある場合にその記録の変更時刻のスタンプを調べることによって明らかにすることもできる。両方の同期プロセス、すなわちいわゆる遅い同期といわゆる速い(通常の)同期は、SyncML規格において規定され、使用される。さらに別のタイプの同期プロセスも利用可能で利用されているが、これら別のタイプの同期プロセスは、上記の基本的な同期プロセスに還元することができる。
1つの記録および/または記録群が他のデータベースと同期したとき、肯定応答がその記録の送り手に戻される。肯定応答を取り扱う2つの基本的な方法を同期アプリケーションで実現することができる。第1の実現法では、1つのデータ記録またはデータ記録群の成功したそれぞれの同期が、好ましくはそのことを示す1つ以上の変更ログとして同期装置によって肯定応答され、記録される。第2の実現法では、肯定応答は、同期セッションの終了時に(すなわち、同期セッションが適切に終了したことを両方の同期装置が示すとすぐに)処理され、利用されることになる対応する通信が接続される。さらに、同期セッション終了時の肯定応答の取り扱いと最後に終了した同期セッションを示す時刻の更新は、実質的に同時に処理される。同期セッションが遅い同期の方法で実行される場合には、最後に終了した同期セッションを示す時刻の考慮は、明らかに不要である。
第1の実現法では、主として、例えば分散データベースを互いに高速で接続して同期させるのに用いられる同期アプリケーションを利用して、データの完全性を維持・確保する。このような実現法では、それぞれのデータ記録のための変更ログを記録し維持するのに必要な容量も、変更ログを処理するのに必要な処理能力も、必要な肯定応答を交換するのに必要なネットワーク帯域幅も、あまり重要ではない。小さな電子機器(例えば携帯電話、携帯コンピュータ、PDA、コミュニケータなど)に記憶されているデータの同期を考えると、記憶容量と処理能力は限られているため、それぞれのデータ記録のための変更ログを記録、維持、処理する操作は、重荷であり、不十分にしかできず、ときには不可能になる。さらに、必要な肯定応答によって生じるネットワーク・トラフィックは受け入れられない。というのも、携帯通信環境ではコストと時間もかかるからである。
時刻スタンプの更新と項目の肯定応答の取り扱いがセッションの終了時に行なわれる第2の実現法は、小さな電子機器で利用するのに適しており、SyncML規格によってサポートされている。しかしこの実現法には、現在実行中の同期セッションの中断が示されないという問題がある。一部が実行された同期セッションの間に交換された同期情報を維持することはできない。というのも、同期セッションの終了時に行なわれる時刻スタンプ(同期アンカー)の更新と肯定応答の取り扱いは、中断のために実施されないからである。たとえデータ項目の肯定応答がセッション中に取り扱われたとしても、時刻スタンプはセッションの終了時にしか更新されないため、遅い同期の中断により、すでに処理された同期情報が失われる。上記の両方の場合に、同期セッションを繰り返してデータの完全性を保証する必要がある。同期に関係する情報の量に応じ、すなわち同期させるデータ記録の数に応じ、通常はいくつかの同期メッセージしか含まれていない1回の同期セッションの間に巨大な数のメッセージが交換されることさえある。例えば500個のデータ記録のうちの400個を1回の同期セッションの間に同期させることができて、そこで中断が起こったとする。以後の同期セッションでは、同期を速い同期プロセスで実施するか遅い同期プロセスで実施するかに関係なく、500個のデータ記録すべてを再び同期させねばならない。
国際公開第00/29998号
本発明の目的は、中断された同期セッションの全体を繰り返すことを避けるため、その中断された同期セッションを再開させることのできる方法を提供することである。中断された同期セッションを再開させるための設備は、大きな記憶容量も、大きな処理能力も、交換される多数の肯定応答も必要なく、広い通信帯域幅も必要ないように構成する。この方法は、小さな電子機器を経済的に実現するのに適している。
本発明の一実施態様では、操作中に中断された過去の不完全な同期セッションを再開させることのできる方法が提供される。過去の不完全な同期セッションの再開は、以下の操作によって実現される。
第1の装置と第2の装置の間でデータを同期させるために通信接続が確立される。第1の装置と第2の装置は、同期させるデータ記録セットをそれぞれ備えている。通常は、データ記録は、対応するアプリケーションによってデータ記憶装置またはデータベースの中に収容されている。
本発明の一実施態様では、2つの装置間でのデータ交換に関して中断された過去の不完全な同期を再開させる方法が提供される。この方法は、過去の不完全な同期セッションの再開要求に関する情報を含む再開警告信号を第1の装置から第2の装置に送るステップを特徴とする。再開警告信号は、少なくとも、再開セッションを直接示す直接警告コードまたはサーバーによる推定が可能な信号(例えばそのセッションで使用される時刻スタンプを示すもの、またはそれ以外でそのセッションを特定する何らかのもの)にすることができる。この方法は、警告信号の状態として、実行する同期のタイプに関する情報を第2の装置から第1の装置に送るステップも特徴とする。再開警告信号の状態に関する情報は、過去の不完全な同期セッションの同期のタイプを無効にする情報を含むことができる。
本発明による別の一実施態様では、第1の更新識別子と第2の識別子が、第1の装置から第2の装置へ、あるいは第2の装置から第1の装置へと送られる。送信の方向は、どの装置が過去の不完全な同期セッションの再開を要求しているかと、同期の方向に依存する。再開を要求している装置は、両方の識別子を他方の装置に送る。第1の更新識別子は、1の装置と第2の装置の間で実行された過去の完全な同期セッションを特定する。第1の更新識別子は、過去の完全な同期セッションを初期化している間に第1の装置と第2の装置に記憶されている。さらに詳しく説明すると、識別子の値は記憶されているが、その値の名称または記憶場所は、実現法によって異なる可能性がある。一般に、第1の更新識別子は、過去の完全な同期セッションの開始時刻を記録するのに用いられる時刻スタンプである。あるいは識別子は、任意の数値でもよい。例えば、単調に増加する整数ストリング、テキスト・ストリング、あるいはこれらの混合物が、順序よく生成されたもの、あるいは少なくともある程度が、すなわち一部がランダムに生成されたものが可能である。本発明によれば、第2の更新識別子は、第1の装置と第2の装置の間で実行された過去の不完全な同期セッションを特定する。第2の更新識別子は、過去の不完全な同期セッションを初期化している間に第1の装置と第2の装置に記憶されている。一般に、第2の更新識別子も、中断された過去の不完全な同期セッションの開始時刻を示すのに用いられる時刻スタンプなどである。しかし従来技術では、第2の更新識別子の挙動と使用は、同期セッションの間だけについて規定されていて、セッションの中断または終了の後は規定されていない。
本発明の方法は、4つの同期ステップを含んでいる。第1のステップは、同期させるデータ・セットをそれぞれが備えている第1の装置と第2の装置の間でデータを同期させるために通信接続を確立する操作を含んでいる。第2のステップは、第1の更新識別子と第2の更新識別子を送信する操作を含んでいる。第1の更新識別子は、第1の装置と第2の装置の間で実行された過去の完全な同期セッションを表わしていて値が少なくとも第1の装置に記憶されている。第2の更新識別子は、第1の装置と第2の装置の間で開始された過去の不完全な同期セッションを表わしていて値が少なくとも第1の装置に記憶されている。第3のステップは、過去の不完全な同期セッションの間にうまく同期したデータの指標を取得または生成する操作を含んでいる。第4のステップは、この指標を用い、過去の不完全な同期セッションの間にうまく同期しなかったデータを同期させ;(4)少なくとも第1の装置において、第1の更新識別子の値を第2の更新識別子の値で更新する操作を含んでいる。
この方法は、過去の不完全な同期セッションに関係していて過去のその不完全な同期に関する情報群の中の少なくとも1つの情報を含む追加情報と、受信した同期関連情報に従ってうまく同期したデータに関する情報を送信するステップも含んでいる。
この方法は、第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つを実施するステップも含んでいる。
同期のために通信接続を確立する操作は、第1の装置と第2の装置のうちの少なくとも一方に対し、過去の不完全な同期を再開させる準備を指示する最初のメッセージを送信するステップを含むことができる。
同期は、SyncML規格に従う同期プロトコルに基づいており、第1の更新識別子はLAST同期アンカーである。第2の更新識別子は、次の同期アンカーと休止同期アンカーのうちの少なくとも一方である。さらに、過去の不完全な同期セッションに関する追加情報は、同期セッション識別子(セッションID)と、同期メッセージ識別子(メッセージID)と、肯定応答されたデータとそれに対応するそれぞれのデータ・ストアの1つ以上の識別子とからなるグループのうちの少なくとも1つの情報を含むことができる。さらに、追加情報は、第1の更新識別子と第2の更新識別子を送信する前に少なくとも第1の装置に記憶されている。
この方法では、データの肯定応答、またはそのデータを含むメッセージの肯定応答がうまく受信された場合にデータがうまく同期され、その肯定応答は、データまたはメッセージの同期がうまくいった状態またはいかない状態であることを示している。
本発明により、上記の方法の全ステップを実行するための部分プログラム群を含む同期用のソフトウエア・ツールであって、処理装置、端末機器、通信端末機器、ネットワーク装置のいずれかで実行されるコンピュータ・プログラムとして実現されるソフトウエア・ツールと、同期用のコンピュータ・プログラムまたはコンピュータ・プログラム製品も提供される。
本発明により、ネットワークで使用されてデータを同期させることのできる装置であって、記憶媒体と、通信インターフェイスと、取得素子または生成素子と、同期素子と、更新素子を備える装置も提供される。記憶媒体は、互いに同期させる所定のデータ・セットを含んでいる。通信インターフェイスは、ネットワーク内で使用される別の装置においてデータを同期させることを目的として通信接続を確立し、第1の更新識別子と第2の更新識別子の通信をその別のネットワーク装置との間で行ない、データをその別のネットワーク装置と交換する。第1の更新識別子は、他のネットワーク装置を用いて実行された過去の完全な同期セッションを表わしていて少なくともこのネットワーク装置に記憶されている。第2の更新識別子は、過去の不完全な同期セッションを表わしていて少なくともこのネットワーク装置に記憶されている。データは、過去の不完全な同期セッションの間に同期された少なくとも1つのデータを含んでいる。取得素子または生成素子は、過去の不完全な同期セッションの間に同期されたデータに関してネットワーク装置に記憶されている指標を取得または生成する。同期素子は、その指標に従ってデータを同期させる。更新素子は、記憶されている第1の更新識別子の内容を、記憶されている第2の更新識別子の内容で更新する。
通信インターフェイスは、過去の不完全な同期セッションに関する補足追加情報を送信できる構成にすることができる。この補足追加情報は、過去の不完全な同期セッションに関する情報と、最後にうまくいった同期関連情報の交換に関する情報と、受信した同期関連情報に従ってうまく同期したデータに関する情報からなるグループのうち少なくとも1つの情報を含むことができる。
装置は、第1回目の比較では、第1の装置から送信された第1の更新識別子の値を、第2の装置に記憶されている第1の装置の第1の更新識別子の値と比較し、第2回目の比較では、第1の装置から送信された第2の更新識別子の値を、第2の装置に記憶されている第1の装置の第2の更新識別子の値と比較する素子も備えることができる。この素子は、本発明の方法に関して上に説明した選択肢のうちの少なくとも1つを実行する。
本発明により、第1のネットワーク装置と第2のネットワーク装置を備えていて、それぞれの装置は、本発明の方法と装置の全体に関して上に説明したのと同様のステップを実行するための素子を含んでいる同期システムも提供される。
添付の図面を参照した実施態様により、本発明をさらに詳しく説明する。
情報を互いに同期させることのできる具体的な電子機器群の概略図である。 本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、同期させるクライアント装置と同期させるサーバー装置の間で交換されるいくつかのメッセージが示されている。 図2と同様の本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、中断または停止がある。 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。 図3bに示した本発明の一実施態様による同期プロセスにおけるXMLコード化された同期メッセージの抜粋である。 本発明の一実施態様による同期させるクライアント装置と同期させるサーバー装置に含まれる要素の概略ブロック・ダイヤグラムである。 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。 図3aの中断または停止した同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。
以下に、SyncML同期規格をサポートするシステムに関して本発明の実施態様を記述するが、本発明がそのようなシステムに限定されることはない。SyncML規格に関する情報は、全規格文書を公開しているSyncMLイニシアティブから得ることができる。図示した同じか同等な部分、および/または素子、および/または操作には、同じ参照番号を用いる。
図1は、情報を互いに同期させる具体的な電子機器群の概略図である。例えば携帯端末のデータ・ストアの所定の内容が、指定された装置(例えば、別のいくつかの携帯端末および/またはデータ・ストアの内容を記憶していて固定端末からアクセスできる中央記憶装置)から提供されるデータ・ストアの内容と調和されることになる。従来は、携帯端末が同期クライアントとして機能し、その同期クライアント上を走っている所定のアプリケーションに関するデータを、そのアプリケーションに関するデータを主に記憶している専用サーバー装置から提供される1つまたは複数のデータ・ストアの内容と、調和または同期させる。図1には、互いに同期させることが可能な複数のクライアント装置とサーバー装置を示してある。一般にクライアント装置は移動局であり、例えば、携帯電話17、パーソナル・ディジタル・アシスタント(PDA)、ノート型パソコン15などの携帯用コンピュータ、ディジタル・データを記憶するディジタル・カメラ16などの電子機器、デスクトップ・コンピュータ(PC)などの固定端末が挙げられる。さらに、専用同期サーバー装置としては、固定端末(デスクトップ・コンピュータ10、専用ネットワーク・サーバー11(例えばその同期化能力をネットワーク化された同期アプリケーションとして利用する)が可能であり、携帯用コンピュータ(例えば同期サーバー・アプリケーションが走っているノート型パソコン12など)さえ可能である。同期に関しての考え方を専用サーバー装置に接続された携帯端末で説明したが、クライアント装置の機能が上記の移動端末に限られることはない。
SyncMLプロトコル規格に従う対応する同期プロセスは、適切な通信接続を通じて確立される。論理通信接続は、任意の通信網において、同期プロトコルに適合したトランスポート・プロトコルを利用することによって実現される。適切な通信網としては、インターネットと社内イントラネットを含むことのできるローカル・エリア・ネットワーク(LAN)や広域ネットワーク(WAN)だけでなく、無線に基づいたシリアル・ネットワーク(例えば、汎用シリアル・バス(USB)や標準化されたシリアル通信(例えばRS-232)が可能である。関与する同期装置は、無線通信網を通じて接続することもできる。無線通信網としては、例えば、移動体網をサポートする移動通信用グローバル・システム(GSM)サービスおよび/または汎用パケット・ラジオ・サービス(GPRS)、第3世代の移動体通信網(例えば、汎用移動通信システム(UMTS)ネットワーク)、無線ローカル・エリア・ネットワーク(WLAN)、狭い範囲の無線通信網(例えば、ブルートゥース網、無線ローカル・ループ(WLL)、赤外線ネットワーク(IrDA))などがある。関与する同期装置同士の論理通信接続は、上記のタイプの単一の通信網から提供できるだけでなく、通信網を互いに接続し、必要な場合には、利用するそれぞれの通信網のデータ・プロトコル間の翻訳を行なう専用ネットワーク・ルーティング装置によって互いに接続された上記のタイプのいくつかの通信網からも提供することができる。
SyncMLプロトコル規格とSyncML同期プロトコル規格に関しては、したがってSyncML装置管理プロトコル規格に関しても、SyncML装置管理プロトコルは、使用する通信網のタイプに応じた適切なプロトコルの先頭部で実現される。先頭部でSyncML同期プロトコルを実現できる適切なプロトコルは、ハイパーテキスト転送プロトコル(HTTP)、無線アプリケーション・プロトコル(WAP)規格の無線セッション・プロトコル(WSP)、ケーブル接続(例えば汎用シリアル・バス(USB)またはRS-232)で使用される、あるいは狭い範囲の無線通信接続(ブルートゥース)で使用される、あるいは赤外線接続(IrDA)で使用されるオブジェクト交換プロトコル(OBEX)、トランスポート層サービスの先頭にあってeメール・プロトコル(例えば簡易メール転送プロトコル、SMTP)によって提供されるトランスポート制御プロトコル/インターネット・プロトコル(TCP/IP)スタックである。
より下位の層での転送は、例えば短いメッセージSMS(短いメッセージ・サービス)または他の信号伝達方式の送信法(例えばUSSD;非構造化補足サービスデータ)、回線交換データ呼び出し、パケット交換データ転送サービス、無線呼出端末・メッセージ・サービス、セル放送を通じたメッセージなどを利用した下位ネットワークに従って実行することができる。
今後は、データ・ストアという用語はできるだけ広い意味に理解するものとする。すなわち、アクセスされるデータ記憶装置から提供されるあらゆるデータ・セットがこの用語に含まれるものとする。特に、データ・セットは、特定のアプリケーションに関係し、アプリケーション特異的な条件(例えばカレンダー・アプリケーション、ディレクトリー・アプリケーション、コンタクト・アプリケーション(例えばvcardアプリケーション)、eメール・アプリケーションなどのデータ)に合うように構成するとよい。さらに、どのデータ・セットも、アクセスされるデータを提供するデータ記録が含まれた1つ以上のデータベースの構成にすることができる。さらに、データ・ストアという用語には、ネットワーク・データ・サービスまたはネットワーク化されたサービスが含まれるものとする。すなわち、データ・ストアと同様、アクセスされるネットワーク化されたサービスから提供されるすべてのデータ・セットが含まれるものとする。通常は、ネットワーク・サービスは、特定のサービスに関係するデータ・ストアの内容を含むデータ・ストアに基づいている。
以下のシーケンス・ダイヤグラムは、本発明の実施態様による操作シーケンスを示している。ここに示した操作シーケンスは単なる例示であり、それだけに限定されることはない。同様の操作シーケンスまたは関連した操作シーケンスに基づいた別の態様も可能である。
図2は、本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、同期させるクライアント装置と同期させるサーバー装置の間で交換されるいくつかのメッセージが示してある。
SyncML同期セッションは、概念的にいわゆるSyncMLパッケージに分割されている。SyncMLパッケージは、単に、同期させる装置間で物理的に交換され、同期情報とコマンドの集合を伝送するのに必要とされる1つ以上のSyncMLメッセージのための概念的枠組みである。SyncML規格によって与えられる任意のタイプの同期に必ずしもすべてのSyncMLパッケージが関与するわけではない。SyncMLメッセージの正確な数は、伝送される情報の量に依存する。
SyncMLパッケージの大まかな全体像を以下のリストにおいて記述する。詳細な記述は、SyncML規格文書から得ることができる。
パッケージ0 - 同期メッセージの開始。クライアント装置は、要求されていないのに与えられたメッセージ(いわゆる“通知”または“警告”)を受信し、受信装置に同期セッションを開始させるための逆方向の接続の確立を指示することができる。通知を受信するのと同じ効果は別の方法でも実現できることに注意されたい。
パッケージ1 - クライアント装置からサーバー装置への初期化。1つ以上の初期化メッセージが送信される。初期化メッセージとしては、例えば、クライアント装置の情報(装置識別子など)、クライアント装置のプロパティ、クライアントの認証、同期のタイプ、データ記録を同期させるデータベースの同定、記憶されている最終アンカー、新しい次のアンカーなどが挙げられる。
パッケージ2 - サーバー装置からクライアント装置への初期化。1つ以上の初期化メッセージが送信される。初期化メッセージとしては、例えば、サーバー装置の情報(装置識別子など)、サーバー装置のプロパティ、サーバーの認証、1つ以上のクライアント初期化メッセージに含まれる情報に関する応答情報と状態情報などが挙げられる。
パッケージ1と2は、初期化段階の一部である。以下のパケージ3〜6は、同期メッセージの同期段階の一部である。
パッケージ3 - クライアントからサーバーへの同期。1つ以上のクライアント同期メッセージが送信される。クライアント同期メッセージとしては、例えば、クライアント・データの変更(すなわち同期初期化において同定されたクライアント・データベースのデータに対する何らかの変更)がある。速い同期プロセスの場合には、過去の同期セッション(最終(LAST)アンカー)以降に変更されたデータ記録だけが報告される。遅い同期プロセスの場合には、すべてのデータ記録が報告される。
パッケージ4 - サーバーからクライアントへの同期。1つ以上のサーバー同期メッセージが送信される。サーバー同期メッセージとしては、例えば、送信されたクライアント・データの変更をサーバーが分析したことに関する情報と、サーバー・データの変更(すなわち同期初期化において同定されたサーバー・データベースのデータに対する何らかの変更)がある。速い同期プロセスの場合には、過去の同期セッション(最終アンカー)以降に変更されたデータ記録だけが報告される。遅い同期プロセスの場合には、すべてのデータ記録が報告される。
パッケージ5 - データ更新状態、マップ操作。1つ以上のデータ更新状態メッセージが送信される。データ更新状態メッセージとしては、例えば、データ更新(サーバーの変更に起因する同期)結果に関する情報、ローカル・ユニーク識別子(LUID)とグローバル・ユニーク識別子(GUID)をマッピングするためのマップ操作(表)が挙げられる。ローカル・ユニーク識別子は、データ記録に割り当てられる識別子であり、クライアント側において(すなわち1つの装置と1つのアプリケーションについて)局所的に唯一のものである。ローカル・ユニーク識別子により、データ記録を同定することができる。グローバル・ユニーク識別子は、データ記録に割り当てられる識別子であり、サーバー側において局所的に唯一のものである。
パッケージ6 - マップ肯定応答。1つ以上のマップ肯定応答メッセージが送信される。マップ肯定応答メッセージとしては、例えば、クライアント装置に対してサーバーからの1つ以上のデータ更新状態メッセージを通知する肯定応答が挙げられる。
クライアント・メッセージまたはサーバー・メッセージに含まれる同期情報とコマンドが何であるかに応じ、パッケージ3に従うクライアント・メッセージは、パッケージ4に従うサーバー応答メッセージを発生させることができ、逆も可能である。
同期メッセージの各メッセージはセッション識別子(セッションID)を含んでいるため、メッセージを1つの独立した同期セッションと関係づけることができる。各メッセージはメッセージ識別子(メッセージID)を含んでいるため、交換されたメッセージがクライアント装置とサーバー装置において間違った並び方をすることが防止される。さらに、それぞれのパッケージ・タイプの最後のメッセージは、それが最後のものであることを示す最終インディケータを含んでいる。
同期プロセスは、どのような情報(どのデータ記録)を同期させるか(遅い同期か速い同期か、すなわち所定の時刻以降のデータ記録の合計数か変更だけか)、どの装置(クライアント装置、サーバー装置、両方の装置のどれ)で同期を実行するか、どの装置から同期を開始するかによっても区別される。同期のタイプとしては、例えば双方向同期、遅い同期、クライアントだけからの一方向同期、クライアントだけからのリフレッシュ同期、サーバーだけからの一方向同期、サーバーだけからのリフレッシュ同期、サーバーが警告する同期が可能である。
列挙した同期のタイプの名称そのものが同期プロセスを記述しているため、容易に理解できる。より詳しい説明は、SyncML規格文書になされている。
例えば図2に示した時間シーケンス・ダイヤグラムと同期プロセスは、速い双方向同期タイプに基づいているが、本発明には別のタイプの同期も含まれる。クライアント100がサーバー110と同期する。パッケージ・シーケンスに関する上記の説明によると、図示した同期セッションは、初期化段階210の後に同期段階が続く構成になっており、それぞれの段階にはいくつかの同期メッセージが含まれている。どの同期メッセージにも同じセッションIDが含まれている(図示せず)。
クライアント100とサーバー110の初期化段階210では、両方の装置が、装置の情報(装置識別子など)、装置のプロパティ、装置の認証情報を交換する。クライアント100はさらに、同期のタイプ(ここでは、速い双方向同期タイプ)を規定し、記憶されている最終(LAST)アンカーと新しく規定された次の(NEXT)アンカーをサーバー110に報告する。サーバー110は、クライアント100から送信された最終アンカーを、サーバー110に記憶されている対応する値と比較し、受信した最終アンカーと記憶されている最終アンカーが一致して速い同期が可能になる場合には、最終アンカーと次のアンカーを一致させる。次のアンカーの状態(内容)は、クライアント100がこの新しく規定された状態を送信するまでサーバー110内では規定されない(“?”記号で示す)(従来技術の場合。すなわち従来の双方向同期プロセスによってその状態に特別な値が与えられることはない)。アンカー同士が一致しない場合には、遅い同期にする警告がクライアント100に送られる。初期化段階210における情報交換は、パッケージ1型メッセージに対応するクライアント初期化メッセージを意味する第1の操作200と、パッケージ2型メッセージに対応するサーバー初期化メッセージを意味する第1の操作201によって示してある。操作200と201で表わした両方のメッセージに同じメッセージID1が含まれている。
初期化段階210が終了した後、クライアント100は同期の準備211をする。すなわち、受信した最終アンカーに従って変更されたデータ記録を同定する。操作203で示したクライアント同期メッセージ(パッケージ3型メッセージ)は、クライアント変更事項に関する第1のバッチ(ここでは、同定された合計10個の変更のうちの5個)を含んでいる。クライアント変更事項には、コマンドおよび/またはデータの内容が含まれることに注意されたい。コマンドは、特に追加、更新、削除などを含んでいる。これらがデータ内容と合わさって、それぞれのデータ記録の同期が行なわれる。さらに、このメッセージは、過去のサーバー初期化メッセージに関する状態情報をさらに含んでいる。サーバー110はこの第1のクライアント同期メッセージを受信し、受信したクライアント変更事項を分析し、クライアント変更事項から生じる可能性のある衝突を解決し、クライアント変更事項を処理する(操作212)。操作204で示した対応するサーバー同期メッセージ(パッケージ4型メッセージ)は、クライアント変更事項の肯定応答と、分析・同期プロセスの状態に関する情報とを含んでおり、クライアントに送信される。操作203で示したクライアント同期メッセージと操作204で示したサーバー同期メッセージの両方とも、共通のメッセージID(ここではメッセージID2)によって同定することができる。しかしメッセージの番号は上に示したのと異なる可能性があることを理解されたい。実際、メッセージに番号を付けることの唯一の目的は、それぞれの装置に一貫性のあるメッセージ番号を持たせるためである。すなわち、クライアントとサーバーでの番号付けは、一致している必要さえない。
操作206で示した次のクライアント同期メッセージ(パッケージ3型メッセージ)は、クライアント変更事項に関する第2のバッチ(ここでは、同定された合計10個の変更のうちの残りの5個)を含んでいる。このクライアント同期メッセージは、クライアント変更事項を含む最後のクライアント同期メッセージであることを示す最終インディケータをさらに含んでいる。サーバー110はこの最終クライアント同期メッセージを受信し、受信したクライアント変更事項を分析し、クライアント変更事項から生じる可能性のある衝突を解決し、クライアント変更事項を処理し、最終インディケータが含まれているため、クライアント100に送信される(サーバーの最終アンカーを考慮して同定された)サーバー変更事項を用意する(操作212)。操作207で示した対応するサーバー同期メッセージ(パッケージ4型メッセージ)は、サーバー変更事項と、クライアント変更事項の肯定応答と、分析・同期プロセスの状態に関する情報とを含んでおり、クライアントに送信される。図2に示した同期セッションによると、同定されたサーバー変更をすべてクライアントに送信するには単一のサーバー同期メッセージで十分であり、このメッセージには最終インディケータも含まれている。操作214では、クライアント100が受信したサーバー変更事項を処理する。操作206と207で示した両方のメッセージに同じメッセージID3が含まれている。
次に、操作208で示したクライアント更新状態メッセージ(パッケージ5型メッセージ)がサーバー110に送られる。このクライアント更新状態メッセージは、サーバー変更事項があるために肯定応答情報と同期状態情報を含んでいる。そして必要な場合には、ローカル・ユニーク識別子とグローバル・ユニーク識別子を割り当てるデータ記録マップ表を処理するマップ操作も、サーバー110に送られる。最後に、図示していないが、1つ以上のマップ肯定応答メッセージ(パッケージ6型メッセージ)を含むクライアント更新状態メッセージに対してサーバー110が応答する可能性がある。
最後に、同期セッションと、このセッションの同期メッセージが通信される通信接続が閉じる。同期セッションと通信接続の終了に関してエラーが検出されない場合には、同期セッションの最初に規定された次のアンカーの内容が記憶される。この割り当ては、クライアント100の側では操作215において実行され、サーバー側では操作216において実行される(実際にはサーバーが最終アンカーを呼び出さない可能性があるが、アンカーに記憶されている値は、クライアントが送った次のアンカーの値である)。したがって次の速い同期プロセスが可能になる。
同期セッションの冒頭で次のアンカーを規定することと、同期セッションが適切に終了した後に次のアンカーの内容を最終アンカーに割り当てることにより、同期プロセス中にクライアント側またはサーバー側で行なわれるデータ記録変更による衝突が防止されることに注意されたい。図示した最終アンカーと次のアンカーの内容が、その利用法をまさに明らかにしていることにも注目されたい。実用上の理由で、最終アンカーと次のアンカーは、通常は日付の値と時刻の値で構成されているか、あるいはこれらの値に由来する。このような構成にすることにより、あいまいさのない最終アンカーと次のアンカーを生成させることができる。
図3aは、図2と同様の本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムであり、中断または停止がある。図3aに示した同期セッションは、図2に示したのと同じものである。すなわち、初期条件、操作200〜204、操作210〜212が、同様にして実行される。それに対応して、図3aに示した操作で図2と共通するそれぞれの操作には、同じ参照番号が付けてある。
図3aでは、初期化段階と、クライアント100とサーバー110の対応する初期化メッセージが省略されている。10個あるクライアント変更事項のうちの最初の5個を含む第1のクライアント同期メッセージ(パッケージ3型)に関する操作203と、クライアント変更事項に対応する状態情報を含む第1のサーバー同期メッセージ(パッケージ4型メッセージ)に関する操作204が示してある。
操作205では、同期が中断または停止する。中断または停止は、いくつかの理由によって起こる可能性がある。そのうちのほんのいくつかを挙げると、同期セッションが停止するのは、ユーザーの相互作用、ユーザーのイニシアティブ、クライアント100またはサーバー110の電力不足(例えば電池またはアキュムレータの容量不足による)、通信接続の失敗(例えば無線通信網におけるカバー範囲の不足、または通信接続における干渉による)などによる。
本発明の一実施態様により同期セッションを再開できるようにするため、クライアント100とサーバー110は、不完全な同期セッションに関する情報を記録する。不完全な同期セッションを再開させるこの情報は、少なくともクライアント100の最終アンカーと次のアンカーを少なくとも含んでおり、その最終アンカーと次のアンカーがクライアント100とサーバー110の両方に記録される。さらに、この情報は、不完全な同期セッションのセッションIDと、適切に送信されてクライアント100が肯定応答を受け取った最後のメッセージIDと、1つ以上のユニーク・データ記録識別子を含むこともできる。すなわち、不完全な同期セッションの間にこのような変更によるデータ記録のローカル・ユニーク識別子またはグローバル・ユニーク識別子が送信され、その送信が肯定応答される。
不完全な同期セッションが始まった時刻を記録するために次のアンカーを用いる代わりに、新しいアンカー(例えば休止(PAUSE)アンカー)を規定し、不完全な同期セッションを再開させるのに特に使用する。以下に次のアンカーを参照して本発明の考え方を説明するが、本発明の考え方がそれに限定されることはない。以下の説明を新しい休止アンカーに合わせるためには、次のアンカーという用語を単に休止アンカーに置き換えるだけでよい。
図3bは、中断または停止した図3aの同期プロセスを再開させる本発明の一実施態様による同期プロセスの時間シーケンス・ダイヤグラムである。
同期セッションの再開は、図3aを参照して説明した過去の不完全な同期セッションを再開させるためにクライアント100からサーバー110に送る警告コマンドを含む新しい初期化メッセージ(パッケージ1型)操作250によって開始される。この新しい初期化メッセージは、過去の不完全な同期セッションが中断されたことによって記録された少なくとも1つの最終アンカーと次のアンカーを含んでいる(図3aの操作205)。サーバーは、クライアントからこれら最終アンカーと次のアンカーを受信し、サーバー自身が記録している最終アンカーと次のアンカーと比較する。図2に示した同期セッションならびに図3aに示したその対応物と比較すると、次のアンカーがサーバー側で明確に定義された状態と内容を持っていることに注意されたい。
クライアント100とサーバー110の少なくとも一方は、最終アンカーが一致するか次のアンカーが一致するかに応じ、以下に示す4つの選択肢のうちの任意の1つを命令、または開始、または実行することができる。
1)受信され記録された最終アンカーが一致し、受信され記録された次のアンカーも一致する場合、サーバー110は、肯定応答のための少なくとも1つの最終アンカーと次のアンカーを含む操作251で示したサーバー初期化メッセージ(パッケージ2型)を送信することによって不完全な同期セッションの再開(速い同期の再開)を確認する。再開を可能にするこの確認は、(図3aの操作205によって示した)再開させる不完全な同期セッションに関するさらに別の情報に基づいて行なうことも可能である。例えば不完全な同期セッションについて記録されている上記セッションIDおよび/または適切に送信された最後のメッセージについて記録されている上記メッセージIDが、記録されたアンカーの検証操作中に参照される。
2)受信され記録された最終アンカーは一致するが、受信され記録された次のアンカーは一致しない場合には、図2に示したタイプの(通常の)速い同期セッションがサーバーによって命令される。次のアンカーの不一致により、図3aを参照して説明した不完全な同期セッションの再開が阻止される。
3)受信され記録された最終アンカーは一致しないが、受信され記録された次のアンカーが一致する場合には、遅い同期セッションの再開がサーバによって命令される。この遅い同期セッションの再開は、図3bには示していない。要するに、遅い同期セッションの再開によって同期関連情報が交換され、同期させる所定の全データ記録を同期させることが可能になる。しかし図3aに示した不完全な同期セッションの間に交換が成功して同期している同期関連情報は、遅い再開同期セッションから除外される。
4)受信され記録された最終アンカーが一致せず、受信され記録された次のアンカーも一致しない場合には、速い同期セッションも、遅い同期セッションも再開させることができない。また、速い同期は不可能である。関与する両方の装置間が適切に同期した状態を確立するためには、同期させるすべてのデータ記録を含む完全版の遅い同期セッション(すでに説明したもの;図3bには図示せず)を実行する必要がある。
以下の説明は、第1のケース(受信され記録された最終アンカーと受信され記録された次のアンカーが一致するケース)が正しいという仮定に基づいている。このケースは、クライアント100とサーバー110の両方の記録された最終アンカーと次のアンカーの状態(値)を示した図3bにも示してある。サーバー110は、肯定応答のための少なくとも最終アンカーと次のアンカーを含む、操作251で示したサーバー初期化メッセージ(パッケージ2型)を送信する。
図3aの操作205に関して説明したように、不完全な同期セッションに関する別のログ情報が中断時に記憶される。すでに説明したように、この情報は、不完全な同期セッションに関する少なくとも1つのセッションIDと、適切に送信された最後のメッセージに関するメッセージIDと、1つ以上のユニーク・データ記録識別子を含むことができる。すなわち、不完全な同期セッションの間にこのような変更によるデータ記録のローカル・ユニーク識別子またはグローバル・ユニーク識別子が送信され、その送信が肯定応答される。ローカル・ユニーク識別子によって提供される情報は十分でない可能性があるため、ローカル・ユニーク識別子に加えてデータベース識別子を記憶させねばならない可能性がある。ローカル・ユニーク識別子とそれに付随するデータベース識別子を組み合わせることにより、ローカル・ユニーク識別子によって参照される対応するデータ記録が(あいまいさなく)決まる。データベース識別子は、従来技術で知られているような一様リソース・ロケーター(URI)にすることができる。
不完全な同期セッションに関して記憶されている最終アンカーと次のアンカーと情報により、過去の不完全な同期セッションが中断したときの状態を回復(再確立)することができる。このタイプの再構成により、今や、完全な同期セッションを表わす図2では操作206〜208で示してあるが、同じ同期セッションでも操作204(図2と図3a)による同期メッセージの送信後に中断があるため不完全な図3aには欠けているメッセージを生成させることができる。
操作250と251で示した新しいクライアント初期化メッセージとサーバー初期化メッセージは、図2に示した操作200と201を参照して説明した同期セッションを確立するのに必要な情報も含んでいる。
この明細書では、不完全な同期セッションを再開させるための条件が満たされ、不完全な同期セッションが再構成されていてクライアント100が本発明の一実施態様による方法を実施できることを仮定している。操作252で示したクライアント同期メッセージ(パッケージ3型)は、図2に操作206で示した第2のクライアント同期メッセージに対応する。したがってクライアント同期メッセージは、10個の変更のうちの最後の5個と、このメッセージが現在の同期セッションの最後のクライアント同期メッセージであることを示す最終インディケータを含んでいる。さらに、メッセージの番号、すなわちメッセージIDは、現在の再開同期セッションに合わせてあるため、図3bのクライアント同期メッセージは、(操作250と操作251で示した)初期化メッセージに関する過去のメッセージID1に続くメッセージID2である。(本発明の範囲に他のタイプのメッセージ番号を付けたセッションも含まれることに注意することが重要である。)
サーバー110はクライアント同期装置に応答し、操作253(これは、図2に操作206で示した第2のクライアント同期メッセージに対応する)で示したサーバー同期メッセージ(パッケージ3型)を送信する。このサーバー同期メッセージには、サーバー変更事項と、クライアント変更事項の肯定応答と、分析・同期プロセスの状態に関する情報とが含まれる。図2に示した同期セッションによると、同定されたサーバー変更事項をすべてクライアントに送信するには単一のサーバー同期メッセージで十分であり、このメッセージは最終インディケータも含んでいる。操作252と253で示した両方のメッセージに同じメッセージID2が含まれている。
次に、操作254で示したクライアント更新状態メッセージ(パッケージ5型メッセージ)がサーバー110に送られる。このクライアント更新状態メッセージは、サーバー変更事項があるために肯定応答情報と同期状態情報を含んでいる。そして必要な場合には、マップ操作もサーバー110に送られ、そこでデータ記録マップ表が処理されてローカル・ユニーク識別子とグローバル・ユニーク識別子が割り当てられる。このクライアント更新状態メッセージは、図2を参照して説明した操作208で示したクライアント更新状態メッセージに対応する。最後に、図示していないが、1つ以上のマップ肯定応答メッセージ(パッケージ6型メッセージ)を含むクライアント更新状態メッセージに対してサーバー110が応答する可能性がある。
最後に、同期セッションが終了し、このセッションの同期メッセージが通信される通信接続も終了する。同期セッションと通信接続の終了に関してエラーが検出されない場合には、同期セッションの最初に規定された次のアンカーの内容が最終アンカーに割り当てられる。この割り当ては、クライアント100の側では操作260において実行され、サーバー110側では操作261において実行される。したがって次の速い同期プロセスが可能になる。同期セッションの最初に次のアンカーを規定し、同期セッションが適切に終了した後に次のアンカーの内容を最終アンカーに割り当てると、同期プロセス中にクライアント側またはサーバー側でのデータ記録の変更に起因する衝突が防止されることに注意されたい。図示した最終アンカーと次のアンカーの内容が、その利用法をまさに明らかにしていることにも注目されたい。実用上の理由で、最終アンカーと次のアンカーは、通常は日付の値と時刻の値で構成されているか、あるいはこれらの値に由来する。このような構成にすることにより、あいまいさのない最終アンカーと次のアンカーを生成させることができる。
不完全な同期セッションの後かつ同期セッションの再開前のデータ記録に関する変更は、不完全な同期セッションを再開している間は考慮されないことにも注意されたい。再開同期セッションは、データ記録の状態またはそのデータ記録を含むデータ・ストアの状態を、不完全な同期セッションがうまく終了したかのような状態にする。そのため、同期セッションの時刻スタンプを表わす次のアンカーは、再開同期セッションを初期化している間は更新されない。不完全な同期セッションの後に発生した変更は、うまくいった再開同期セッションを開始した後に同期セッションを開始することによって同期させることができる。特に、クライアント100とサーバー110に記憶されている最終アンカーが更新されて有効になっているために速い同期セッションを開始させることができる。
本発明の実施態様の文脈で説明してきた肯定応答とは、他方の装置から受信したデータに対するあらゆるタイプの応答のことであると解釈すべきであり、その応答には、データまたはメッセージの同期がうまくいった状態といかない状態が含まれる。一般に、肯定応答によって記録の更新が確認されるが、肯定応答には、例えば見つからなかった記録によって起こるうまくいかなかった操作の情報も含めることができる。しかしそのようなエラーの取り扱いは本発明の課題ではなく、エラーを何らかの形で処理する方法に任される。しかしエラーの発生によってセッションの再開が妨げられてはならない。すなわちセッションは、データ・アイテムが最初に否定応答されたとき、それ以前にデータ・アイテムにエラーがあったかどうかには関係なく再開されねばならない。
図4は、図3bに示した本発明の一実施態様による同期プロセスにおけるXMLコード化された同期メッセージの抜粋である。
簡単で相互使用が可能になるようにするため、装置とアプリケーションを同期させる同期メッセージを指定するのに工業規格の拡張可能マークアップ言語(XML)を選択する(平文または無線バイナリーXML(無線アプリケーション・プロトコルで用いられるバイナリー技術)を用いる)。SyncMLは、静的コードと実行時実行空間の両方で一般的なすべての携帯装置のメモリ容量に収まるように設計してある。メッセージを記憶するのに必要なメモリを少なくし、データを処理して送るのに必要なリソースを減らすため、特に二進コード化された拡張可能マークアップ言語(WBXML)を一般に用いてそのデータをコード化する。
SyncMLは、XML文書または多目的インターネット・メール拡張(MIME)エンティティとして表わされる(上に示したような)よく定義されたメッセージのセットを含んでいる。表示仕様は、同期を実行するのに必要なすべての情報(データ、メタデータ、コマンド)の表示を可能にするXML文書型記述(DTD)を規定する。同期仕様は、SyncMLクライアントとSyncMLサーバーが追加情報、削除情報、更新情報、あるいは他の状態情報を交換できるようにするため、DTDに合致したSyncMLメッセージを規定する。
他のDTDは、装置に関する情報(例えばメモリ容量)の表示とさまざまなタイプのメタ情報(例えばセキュリティ証明)の表示を規定する。SyncMLメッセージは、表示プロトコルによって規定されるコンテナ概念に基づいている。それぞれのSyncMLメッセージは、SyncMLヘッダ・セクションと、SyncML本体セクションを含んでいる。SyncMLヘッダ・セクションは、ルーティング、セッション、認証、メッセージ情報を含んでいるのに対し、SyncML本体セクションは、それぞれがサブコンテナを形成するよく定義されたさまざまな同期データ(例えば状態情報、同期コマンド)を含んでいる。
図4に示したXMLに基づくコード化は、図3bを参照して説明した操作252のクライアント同期メッセージであるSyncMLメッセージを平文コード化した一例の抜粋である。図示したXMLに基づくコードは、第3行〜第9行にわたるSyncMLヘッダ・セクションと、第10行〜第57行にわたるSyncML本体セクションを含んでいる。
第1行と第2行は、使用するXMLコード化に関する共通情報と、テキスト表示に使用するキャラクター・コード化に関する共通情報と、SyncMLバージョン情報を含んでいる。
それぞれのSyncMLヘッダは、文書型定義バージョン情報(VerDTD、第4行)と、SyncMLプロトコル・バージョン情報(VerProto、第5行)と、1つの同期セッションの間を通じて有効でその同期セッションに属するあいまいさのないすべての同期メッセージに割り当てられるセッション識別子(セッションID、第6行)と、受信するそれぞれの同期装置が次に受信する同期メッセージのメッセージ識別子は番号が大きくなるよう、数値が増大していくメッセージ識別子(MsgID、第7行)を含んでいる。具体例として説明したSyncMLヘッダーの上記の要素に加え、オプションの要素や必須の要素もSyncMLヘッダーに含まれる。
SyncML本体セクションは、独立な論理サブセクションをいくつか含んでいる。第1の状態情報サブセクションは、第11行〜第19行にわたっている。この第1の状態情報サブセクションは、同期させるデータ記録がアドレスする参照先と関係している。特に、目的参照先(TargetRef、第16行)は、クライアント(ここでは携帯通信装置)がアドレスする国際携帯装置識別子(IMEI)を規定しているのに対し、ソース参照先(SourceRef、第17行)は、サーバー(ここでは、HTTP(ハイパーテキスト転送プロトコル)を通じてアクセスできるネットワーク化されたサーバー装置)がアドレスするユニフォーム・リソース識別子(URI)を規定している。個々のデータ記録とデータ記憶装置へのさらなるアクセスは、この参照アドレス情報に基づいている。さらに別の状態情報サブセクションが任意の数含まれていてもよい。それを、第20行〜第22行にわたる第2の状態情報サブセクションによって示した。例えば肯定応答が状態情報としてコード化される。
SyncML本体セクションは、さらに同期サブセクションを含んでいる。この同期サブセクションは、さらに分割されている。一例として、コンタクトの追加に関してクライアントが指示した変更が含まれる。第26行には、クライアントのコンタクト・データベースの相対的アドレス経路が含まれているのに対し、第29行には、サーバーのコンタクト・データベースの相対的アドレス経路が含まれている。相対的アドレス経路は、上記の参照先へのアドレスに関係する。第31行〜第36行にわたるメタサブセクションには、サーバー内のコンタクト・データベースに追加されるデータ記録(コンタクト)に関する追加メタ情報が含まれる。第37行〜第51行にわたるサブセクションには、追加命令と、対応するコンタクト・データの内容が含まれる。第40行には、第46行〜第48行のデータの内容に関するデータ形式がx-vcardメタタイプとして規定されていて、対応するデータの内容は、第46行〜第48行に含まれている。クライアント内でこのコンタクトを独自に参照するのに用いるローカル・ユニーク識別子(LUID)は、第44行に含まれている。さらに別の同期情報サブセクションが任意の数含まれていてもよい。それを、第52行〜第54行にわたる別の同期情報サブセクションによって示した。
第56行に含まれるFinal命令は、この実施例のクライアント同期メッセージが、同期のためにサーバーに報告すべきクライアント変更事項を含む最後のメッセージであることをサーバーに知らせる。
過去の不完全な同期セッションを再開させるための本発明の一実施態様による上記の方法は、クライアント装置とサーバー装置においてさまざまな方法で実現することができる。以下に示す具体例は、SyncML規格に基づいていて、本発明の一実施態様に従って動作するよう、各要素が増強された機能と能力を持っている場合の例である。
図5は、同期させるクライアント装置と同期させるサーバー装置に含まれる要素に関する本発明の一実施態様による概略ブロック・ダイヤグラムである。図5には、ネットワーク化された同期サービスを提供するネットワーク装置を表わすサーバー110が示されている。ネットワーク化された同期サービスは、1つ以上のサーバー・アプリケーション112と、対応する付随した1つ以上のデータ記憶素子111によって表わされる。1つ以上のサーバー・アプリケーション112は、ネットワーク化された装置であるクライアント100の1つ以上のクライアント・アプリケーション102によって表わされる他のアプリケーションとのデータ同期を行なわせる。1つ以上のデータ記憶素子111(例えば1個または数個のデータベース)にはデータ記録が記憶されており、そのデータ記録を1つ以上のサーバー・アプリケーション112が取り扱い、クライアントと同期させる。サーバー110とクライアント100は、通信網トランスポートを通じて接続される。クライアント100とサーバー110を接続するのに適した通信網の選択は、すでに図1に図示して説明した。
1つ以上のサーバー・アプリケーション112は、サーバー110上の素子またはプロセスである同期サーバー・エンジン113として具体化したデータ同期プロトコルを利用する。データ同期プロトコルは、提供される同期サーバー・ネットワーク・サービスとリソースにアクセスするクライアント・アプリケーションが通信網に提示する。同期サーバー・エージェント115は、同期サーバー・エンジン113がネットワークにアクセスして通信するためのインターフェイスになると同時にそのアクセスと通信の管理を行ない、クライアント100および1つ以上のクライアント・アプリケーション102とのデータ同期操作を可能にする。同期エージェント115は、同期インターフェイス116(例えば同期アダプタ117に対するアプリケーション・プログラム・インターフェイス(API))と同期アダプタ117を関与させることによってインターフェイス機能と通信を実行する。同期アダプタ117は、サーバー110上の素子またはプロセスであり、理論的にはクライアント側の相手である同期アダプタ107と通信する。要するに同期アダプタ117は、サーバー110とクライアント100の間、すなわちデータ同期サービスを提供する1つ以上のサーバー・アプリケーション112と、このデータ同期サービスにアクセスして利用する1つ以上のクライアント・アプリケーション102の間にネットワーク通信接続を確立して維持するのに重要な役割を担っている。
クライアント側では、1つ以上のクライアント・アプリケーション102は、その1つ以上のクライアント・アプリケーション102がアクセスできるデータ記録を記憶している1つ以上のデータ記憶素子101を備えており、同期クライアント・エージェント105、同期インターフェイス106、同期アダプタ107を利用して、提供されるサーバー同期サービスにアクセスする。同期クライアント・エージェント105は、サーバー110および1つ以上のサーバー・アプリケーション112とのデータ同期操作を行なう通信を可能にする。同期インターフェイス106は、例えば、上記の場合と同様、同期アダプタ107に対するアプリケーション・プログラム・インターフェイス(API)である。
本発明の一実施態様による上記の方法は、サーバー110とクライアント100に関して上に示した概念的要素の枠組みに含まれる。そのためには、例えば、不完全な同期セッションを再開させる方法の一実施態様を実行する命令を含む1個または数個のコード・セクションを同期クライアント・エージェント105と同期サーバー・エージェント115の中で実現する。この具体化法により、同期セッションが中断した場合にその中断した同期セッションを再開させるのに必要な情報がクライアント100とサーバー110に記録または記憶される。
図6〜図8は、2つの装置間でのデータ交換が中断した過去の不完全な同期セッションを再開させる本発明の方法の別の実施態様を示している。この方法は、第1の装置から第2の装置に、過去の不完全な同期セッションの再開要求に関する情報を含む再開警告信号を送ることを特徴としている。具体的に示してあるように、第1の装置はクライアントであり、第2の装置はサーバーである。この方法は、第2の装置から第1の装置に、警告信号の状態として、実行する同期のタイプに関する情報を送ることも特徴としている。再開警告信号の状態に関する情報には、再開セッションを受け入れるための情報、または過去の不完全な同期セッションのタイプを無効にする情報を含めることができる。過去の同期のタイプが無効にされると、サーバーはクライアントに対して別の同期タイプを利用するコマンドを送る。“次の”アンカーまたは第2の更新識別子は、同期が中断された場合には、更新されてもされなくてもよい。中断後または休止の間に“次の”アンカーが更新された場合には、おそらく変更されたデータ・アイテムを中断中に同期させることが可能になり、したがってユーザーにとってより使いやすくなる。
図6では、ステップ302において、クライアントが再開警告信号をサーバーに送る。ステップ304では、サーバーが警告信号の状態に応答し、セッションの再開が可能であることを示す指示をクライアントに戻す。ステップ306では、クライアントが中断された過去の同期セッションのタイプ(例えば速い同期または遅い同期)を利用し、残ったクライアント・データを交換する。図3bに関して上に説明したステップ253、254と同様のステップ308と310により同期セッションが終了する。これらのステップには、同期セッションの再開と、中断された過去の同期セッションの同期タイプの決定の両方が含まれる。クライアントが再開警告コードを送ると、サーバーはセッションの再開を承認し、サーバー側の対応するデータ・ストアのための警告要素に含まれている適切な警告コードを送る。クライアントは、同期セッションを再開するにはこの警告コードを用いなくてはならない。このようにすると、セッションが中断されたときにクライアント側の同期のタイプを記憶せずに済む。
さらに、本発明の範囲には、中断が起こったときにはいつでもクライアントが再開のための警告を送れるような実施態様が含まれる。これは、たとえクライアントが全アイテムの状態を受信していて、再開セッション中に送るべき新しいアイテムまたは変更されたアイテムがもはやない場合に適用できる。言い換えるならば、トランスポートがエレガントな形または適切な形で中断されなかった場合には、クライアントは、新しい同期セッションを開始させるのではなく再開を要求する必要がある。そうすることにより、サーバーは、状態を得られなかったアイテムだけを送ることができる。
図7は、サーバーによる再開セッションの取り消しを示している。この場合には、ステップ302におけるクライアントの再開要求がサーバーによって受け入れられないため、サーバーは例えばステップ320において状態508(リフレッシュ同期)、または状態509(別の同期タイプ)、または同じ目的の適切な他の任意のコードを送り、その後、適切な同期タイプを警告コード201(遅い同期)または2XX(別の同期タイプの場合)の形で送ることによって過去の同期タイプを無効にすることができる。ステップ322では、クライアントは、サーバーによって指定された同期タイプを利用し、残っている5個のデータ・アイテムだけでなく、すべてのアイテムを送る。本発明の範囲が、状態コードの数が特定の値である場合に限定されることはない。状態コードが別の値である実施態様も考えられる。
図8は、遅い同期セッションの再開を示している。クライアントの再開要求がサーバーに警告として送られて再開がサーバーによって受け入れられた場合、“再開のための警告”により、状態200(OK)がステップ330において送られる。サーバーは、サーバー側の対応するデータ・ストアのための警告要素に含まれている警告201も送る。これは、図6において同期タイプの決定に関して説明したことと似ている。しかし警告201はここでは遅い同期を意味しており、クライアントは完全版の遅い同期を開始させることになるため、遅い同期の再開と強制的な完全版の遅い同期の再開をどのようにして区別するかに注意することが大切である。クライアントは、ステップ330において“再開のための警告”を受けて送られる状態コードを見ることによって遅い同期の再開と完全版の遅い同期の再開を区別することができる。コード200は、遅い同期の再開(別の方法は、例えば再開セッションがOKであることを肯定応答する200のではなく、異なるすべての同期タイプの状態コードを送る220ことである)を意味し、コード508は完全版の遅い同期を意味する。完全版の遅い同期は、再開のための警告の後に上記の警告201を受けて状態(要求されたリフレッシュ)508を送ることによって実現できる。このようにすると、クライアントは、以前に中断された遅い同期を再開させることができず、完全版の遅い同期を利用して最初から開始せねばならないことがわかる。これは、新しい同期セッションの開始を意味してはいないが、必要な場合にはそうすることになる可能性がある。
別の一実施態様によると、“休止のための警告”を示す追加警告コードを備えることが可能である。このようにすると、同期セッションをエレガントに中断する方法が得られる。再開は、この明細書の最初の部分に記載したステップに従う。この警告コードは、通常はユーザーが開始させる同期セッション中断のエレガントな手段を実現することだけに役立つ。このような警告を第2の装置が受信すると、状態コードによってその警告に応答することができる。すると第1の装置は、“休止モード”にも行けるかどうかを推論することができる。当然、“最後の”更新識別子は更新されない。第1の装置と第2の装置のいずれかが、のちに、他方の装置に対し、休止状態の同期セッションを再開させる指示を送ることができる。例えば第1の装置が再開警告信号を含むメッセージを第2の装置に送ることができ、そのことによって両方の装置は休止していた同期を再開することができる。
当業者にとって、技術が進歩するにつれて本発明の考え方を別のより多数の方法で実現できるようになることは明らかであろう。したがって本発明とその実施態様が上記に実施例に限定されることはなく、請求項の範囲内での変更が可能である。

Claims (31)

  1. 2つの装置間でのデータ交換に関して中断された過去の不完全な同期セッションを再開させる方法であって、
    過去の不完全な同期セッションの再開要求に関する情報を含む再開警告信号を、第1の装置から第2の装置に送るステップを含む方法。
  2. 上記警告信号の状態として、実行する同期のタイプに関する情報を第2の装置から第1の装置に送るステップをさらに含む、請求項1に記載の方法。
  3. 警告信号の上記状態が、過去の不完全な同期セッションの同期タイプを無効にする情報を含む、請求項2に記載の方法。
  4. 上記要求に関する情報に、過去の不完全な同期セッションの中断に関して記録されていて、過去のその不完全な同期セッションの再開を可能にする情報が含まれる、請求項1〜3のいずれか1項に記載の方法。
  5. それぞれの装置に、過去の不完全な同期セッションの中断に関して記録された情報を記録させるステップをさらに含む、請求項4に記載の方法。
  6. 過去の不完全な同期セッションの中断に関して記録された上記情報に、2つの装置間で実施された過去の完全な同期セッションに関する情報を含む第1の更新識別子と、2つの装置間で実施された過去の不完全な同期セッションに関する情報を含む第2の更新識別子が含まれる、請求項4に記載の方法。
  7. 1つの装置に記録されている更新識別子の情報を、他方の装置に記録されているその更新識別子の情報と比較し、その比較結果に基づいて過去の不完全な同期セッションを再開させるステップをさらに含む、請求項4に記載の方法。
  8. 上記比較結果に応じ、過去の不完全な同期セッションを再開させるのにいろいろな同期法を利用するステップをさらに含む、請求項7に記載の方法。
  9. 上記第1の更新識別子が最終アンカーであり、上記第2の更新識別子が次のアンカーまたは休止アンカーである、請求項6に記載の方法。
  10. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報が一致し、受信され記録された次のアンカーの情報も一致するとき、上記のいろいろな同期法に速い同期を再開させる操作が含まれる、請求項9に記載の方法。
  11. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報は一致するが、受信され記録された次のアンカーの情報は一致しないとき、上記のいろいろな同期法に通常の同期を再スタートさせる操作が含まれる、請求項9に記載の方法。
  12. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報は一致しないが、受信され記録された次のアンカーの情報は一致するとき、上記のいろいろな同期法に遅い同期を再開させる操作が含まれる、請求項9に記載の方法。
  13. 過去の不完全な同期セッションの中断に関して受信され記録された最終アンカーの情報が一致せず、受信され記録された次のアンカーの情報も一致しないとき、上記のいろいろな同期法に完全版の遅い同期を再開させる操作が含まれる、請求項9に記載の方法。
  14. 記録された上記情報に、過去の不完全な同期セッションのセッションIDと、適切に送信された最後のメッセージのメッセージIDと、1つ以上のユニーク記録識別子も含まれる、請求項7に記載の方法。
  15. 記録された上記情報に基づいて過去の不完全な同期セッションを再開させるコマンドを第2の装置から第1の装置に送るステップを含む、請求項7に記載の方法。
  16. 同期法であって、
    −同期させるデータ・セットをそれぞれが備えている第1の装置と第2の装置の間で通信接続を確立してデータを同期させるステップと;
    −第1の装置と第2の装置の間で実行された過去の完全な同期セッションを表わしていて値が少なくとも第1の装置に記憶されている第1の更新識別子と、第1の装置と第2の装置の間で開始された過去の不完全な同期セッションを表わしていて値が少なくとも第1の装置に記憶されている第2の更新識別子を送信するステップと;
    −過去の不完全な同期セッションの間にうまく同期したデータの指標を回復または形成するステップと;
    −この指標を用い、過去の不完全な同期セッションの間にうまく同期しなかったデータを同期させるステップと;
    −少なくとも第1の装置において、第1の更新識別子の値を第2の更新識別子の値で更新するステップを含む方法。
  17. −過去の不完全な同期セッションに関係していて過去の不完全な同期に関する情報群の中の少なくとも1つの情報を含む追加情報と、受信した同期関連情報に従ってうまく同期したデータに関する情報とを送信するステップをさらに含む、請求項16に記載の方法。
  18. 第1の装置と第2の装置のうちの少なくとも一方において、
    −第1回目の比較では、第1の装置から送信された第1の更新識別子の値を、第2の装置に記憶されている第1の装置の第2の更新識別子の値と比較するステップと;
    −第2回目の比較では、第1の装置から送信された第2の更新識別子の値を、第2の装置に記憶されている第1の装置の第2の更新識別子の値と比較するステップと;
    −以下に示す選択肢:
    −上記第2回目の比較によって真の値が生成された場合には、過去の不完全な同期セッションの間に交換されなかったデータを含むデータを第1の装置と第2の装置の間で同期させるステップ;
    −上記第2回目の比較によって偽の値が生成された場合には、過去の不完全な同期セッションの間に同期されたデータを少なくとも含むデータを第1の装置と第2の装置の間で同期させるステップ;
    −上記第1回目の比較によって偽の値が生成された場合には、過去の完全な同期セッションの間に同期されたデータを含むデータを第1の装置と第2の装置の間で同期させるステップ;
    −上記第1回目の比較によって真の値が生成された場合には、過去の完全な同期セッションの間に同期されなかったデータを第1の装置と第2の装置の間で同期させるステップのうちの少なくとも1つを実施するステップをさらに含む、請求項16に記載の方法。
  19. 同期のために通信接続を確立する操作が、
    −第1の装置と第2の装置のうちの少なくとも一方に対し、過去の不完全な同期を再開させる準備を指示する最初のメッセージを送信するステップをさらに含む、請求項16に記載の方法。
  20. 上記同期が、SyncML規格に従う同期プロトコルに基づいており、第1の更新識別子が最終同期アンカーである、請求項16に記載の方法。
  21. 第2の更新識別子が、次の同期アンカーと休止同期アンカーのうちの少なくとも一方である、請求項20に記載の方法。
  22. 過去の不完全な同期セッションに関する上記追加情報に、同期セッション識別子(セッションID)と、同期メッセージ識別子(メッセージID)と、認証されたデータとそれに対応するそれぞれのデータ・ストアの1つ以上の識別子とからなるグループのうちの少なくとも1つの情報が含まれる、請求項20に記載の方法。
  23. 上記追加情報が、第1の更新識別子と第2の更新識別子を送信する前に少なくとも第1の装置に記憶されている、請求項22に記載の方法。
  24. データの認証、またはそのデータを含むメッセージの認証がうまく受信された場合にデータがうまく同期され、その認証は、データまたはメッセージの同期がうまくいった状態またはいかない状態であることを示す、請求項16に記載の方法。
  25. 請求項16に記載した方法のステップを実行するための部分プログラム群を含む同期用のソフトウエア・ツールであって、処理装置、端末機器、通信端末機器、ネットワーク装置のいずれかで実行されるコンピュータ・プログラムとして実現されるソフトウエア・ツール。
  26. 請求項16に記載した方法のステップを実行するためのプログラム・コード・セクション群を含む同期用のコンピュータ・プログラムであって、処理装置、端末機器、通信端末機器、ネットワーク装置のいずれかで実行されるコンピュータ・プログラム。
  27. 請求項16〜26のいずれか1項に記載の方法を実行するためのコンピュータ可読媒体に記憶されているプログラム・コード・セクション群を含んでおり、処理装置、端末機器、通信端末機器、ネットワーク装置のいずれかで実行される同期用のコンピュータ・プログラム製品。
  28. ネットワーク内で使用されてデータを同期させることのできる装置であって、
    −互いに同期させる所定のデータ・セットを含む記憶媒体と;
    −ネットワーク内で使用される別の装置にデータを同期させることを目的として通信接続を確立し、他のネットワーク装置を用いて実行された過去の完全な同期セッションを表わしていて少なくともこのネットワーク装置に記憶されている第1の更新識別子と、過去の不完全な同期セッションを表わしていて少なくともこのネットワーク装置に記憶されている第2の更新識別子をその別のネットワーク装置と通信し、過去の不完全な同期セッションの間に同期された少なくとも1つのデータを含むデータをその別のネットワーク装置と交換する通信インターフェイスとを備え、
    −過去の不完全な同期セッションの間に同期されたデータに関してネットワーク装置に記憶されているデータの指標を回復または形成する回復素子または形成素子と;
    −上記指標に従ってデータを同期させるための同期素子と;
    −記憶されている第1の更新識別子の内容を、記憶されている第2の更新識別子の内容で更新するための更新素子とを備える装置。
  29. −上記通信インターフェイスが、過去の不完全な同期セッションに関する補足追加情報を送信する構成にされており、
    この補足追加情報は、過去の不完全な同期セッションに関する情報と、最後にうまくいった同期関連情報の交換に関する情報と、受信した同期関連情報に従ってうまく同期したデータに関する情報からなるグループのうちの少なくとも1つの情報を含む、請求項28に記載の装置。
  30. 請求項28または29に記載の装置が素子をさらに備えており、この素子が、第1回目の比較では、上記装置から送信された第1の更新識別子の値を、別の装置に記憶されている上記装置の第2の更新識別子の値と比較し、第2回目の比較では、上記装置から送信された第2の更新識別子の値を、上記別の装置に記憶されている上記装置の第2の更新識別子の値と比較し、以下に示す選択肢:
    −上記第2回目の比較によって真の値が生成された場合には、過去の不完全な同期セッションの間に交換されなかったデータを含むデータを上記装置と上記別の装置の間で同期させる操作;
    −上記第2回目の比較によって偽の値が生成された場合には、過去の不完全な同期セッションの間に同期されたデータを少なくとも含むデータを上記装置と上記別の装置の間で同期させる操作;
    −上記第1回目の比較によって偽の値が生成された場合には、過去の完全な同期セッションの間に同期されたデータを含むデータを上記装置と上記別の装置の間で同期させる操作;
    −上記第1回目の比較によって真の値が生成された場合には、過去の完全な同期セッションの間に同期されなかったデータを含むデータを上記装置と上記別の装置の間で同期させる操作
    のうちの少なくとも1つを実施することを特徴とする装置。
  31. 第1のネットワーク装置と第2のネットワーク装置を備える同期用システムであって、第1のネットワーク装置が、
    −互いに同期させる所定のデータ・セットを含む記憶媒体と;
    −ネットワーク内で使用される第2のネットワーク装置にデータを同期させることを目的として通信接続を確立し、第1の更新識別子と第2の更新識別子をその第2のネットワーク装置と通信してデータをその第2のネットワーク装置と交換する通信インターフェイスと;
    −過去の不完全な同期セッションの間に同期されたデータに関して第1のネットワーク装置に記憶されているデータの指標を回復または形成する回復素子または形成素子と;
    −上記指標に従ってデータを同期させるための同期素子と;
    −記憶されている第1の更新識別子の内容を、記憶されている第2の更新識別子の内容で更新するための更新素子とを備え;
    第2のネットワーク装置が、
    −同期させる所定のデータ・セットを含む記憶媒体と;
    −ネットワーク内で使用される第1のネットワーク装置にデータを同期させることを目的として通信接続を確立し、記憶されている第1の更新識別子と第2の更新識別子をその第1のネットワーク装置と通信してデータをその第1のネットワーク装置と交換する通信インターフェイスと;
    −上記指標に従ってデータを同期させるための同期素子と;
    −記憶されている第1の更新識別子の内容を、記憶されている第2の更新識別子の内容で更新するための更新素子と;
    −第1回目の比較では、第1の装置から送信された第1の更新識別子の値を、第2の装置に記憶されている第1の更新識別子の値と比較し、第2回目の比較では、第1の装置から送信された第2の更新識別子の値を、第2の装置に記憶されている第2の更新識別子の値と比較する装置とを備え;
    第1の更新識別子は、第2のネットワーク装置を用いて実行された過去の完全な同期セッションを表わしていて少なくとも1つのネットワーク装置に記憶されており、第2の更新識別子は、第2のネットワーク装置を用いて実行された過去の不完全な同期セッションを表わしていて少なくとも1つのネットワーク装置に記憶されており;
    上記の比較によって同じ識別子が生成される場合には、上記データは、過去の完全な同期セッションの間に同期されなかったデータを少なくとも含んでおり、交換される上記情報は上記指標に基づいていることを特徴とするシステム。
JP2009014610A 2002-09-03 2009-01-26 中断された同期プロセスに対処してデータを同期させる方法、装置、システム Expired - Lifetime JP4829316B2 (ja)

Applications Claiming Priority (4)

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/236,010 2002-09-03
US10/291,192 2002-11-08
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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004533728A Division JP4494970B2 (ja) 2002-09-03 2003-09-03 中断された同期プロセスに対処してデータを同期させる方法、装置、システム

Publications (2)

Publication Number Publication Date
JP2009140515A true JP2009140515A (ja) 2009-06-25
JP4829316B2 JP4829316B2 (ja) 2011-12-07

Family

ID=31977595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009014610A Expired - Lifetime JP4829316B2 (ja) 2002-09-03 2009-01-26 中断された同期プロセスに対処してデータを同期させる方法、装置、システム

Country Status (5)

Country Link
US (2) US20040044799A1 (ja)
EP (1) EP1980954A1 (ja)
JP (1) JP4829316B2 (ja)
CN (1) CN1708755B (ja)
MY (1) MY146705A (ja)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689721B2 (en) * 1998-05-29 2010-03-30 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US20040044799A1 (en) * 2002-09-03 2004-03-04 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
EP1398883A1 (en) * 2002-09-12 2004-03-17 Nokia Corporation Code phase acquisition
US7831734B2 (en) * 2002-11-25 2010-11-09 Sap Ag Method and system for remote configuration of network devices
US7533158B2 (en) * 2003-01-17 2009-05-12 At&T Intellectual Property I, L.P. System and method for handling digital content delivery to portable devices
US7409460B1 (en) * 2003-05-12 2008-08-05 F5 Networks, Inc. Method and apparatus for managing network traffic
US20070276911A1 (en) * 2003-07-11 2007-11-29 Soujanya Bhumkar Method and System for Transferring Contact Information and Calendar Events to a Wireless Device Via E-Mail
US7925790B2 (en) * 2003-09-17 2011-04-12 Sony Corporation Middleware filter agent between server and PDA
US20050060578A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Method of and system for authentication downloading
US20050060370A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Version based content distribution and synchronization system and method
US7735000B2 (en) * 2003-09-25 2010-06-08 Sony Corporation Information and content exchange document type definitions to support content distribution
KR100584316B1 (ko) * 2003-10-17 2006-05-26 삼성전자주식회사 단말장치와 서버간의 프레전스 정보 데이터 동기화를 위한시스템 및 방법
US7437484B2 (en) * 2003-12-29 2008-10-14 International Business Machines Corporation Method for optimizing synchronization
KR100557192B1 (ko) * 2004-04-06 2006-03-03 삼성전자주식회사 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
US7672978B2 (en) * 2004-08-20 2010-03-02 Nokia Corporation Handling of content in a data processing device
US20060041893A1 (en) * 2004-08-20 2006-02-23 Microsoft Corporation Extensible device synchronization architecture and user interface
US20060074841A1 (en) * 2004-09-27 2006-04-06 Harikrishnan Sugumaran Method, system, and program for translating and interfacing between data pools and product information management (PIM) systems
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US8682844B2 (en) * 2005-01-28 2014-03-25 Sap Ag Method and apparatus for collision resolution in an asynchronous database system
US7783746B2 (en) * 2005-06-30 2010-08-24 Infinera Corporation Efficient synchronization of element management systems to network element attributes
US8001076B2 (en) * 2005-07-12 2011-08-16 International Business Machines Corporation Ranging scalable time stamp data synchronization
US7849199B2 (en) * 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US20070016636A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Methods and systems for data transfer and notification mechanisms
US7631045B2 (en) * 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US20070014277A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Content router repository
US20070014307A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Content router forwarding
US20070038703A1 (en) * 2005-07-14 2007-02-15 Yahoo! Inc. Content router gateway
US7623515B2 (en) * 2005-07-14 2009-11-24 Yahoo! Inc. Content router notification
US20070079260A1 (en) * 2005-10-04 2007-04-05 Bhogal Kulvir S Method and apparatus to transmit a calendar event in target calendaring system format
US8095599B2 (en) 2005-10-20 2012-01-10 International Business Machines Corporation Mail-based web application and document delivery
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) * 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
US9367832B2 (en) * 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
US7877797B2 (en) 2006-02-23 2011-01-25 Microsoft Corporation Non-intrusive background synchronization when authentication is required
KR100724879B1 (ko) * 2006-03-06 2007-06-04 삼성전자주식회사 휴대단말기의 서머타임정보 업데이트 방법
CN100450108C (zh) * 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
KR100772879B1 (ko) 2006-04-19 2007-11-02 삼성전자주식회사 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법
US7509350B2 (en) * 2006-06-01 2009-03-24 Research In Motion Limited Method and apparatus for synchronizing of databases
DE602006002597D1 (de) * 2006-06-01 2008-10-16 Research In Motion Ltd Verfahren und Vorrichtung zur Synchronisierung von Datenbanken
US8572182B2 (en) 2006-07-21 2013-10-29 Blackberry Limited Handling notifications in instant messaging systems
US20080034008A1 (en) * 2006-08-03 2008-02-07 Yahoo! Inc. User side database
WO2008019501A1 (en) * 2006-08-17 2008-02-21 Research In Motion Limited Enhanced user interface manager and method for managing non-contemporaneous user interface modules
US8151201B2 (en) * 2006-08-17 2012-04-03 Research In Motion Limited User interface manager and method for reacting to a change in system status
JP4222404B2 (ja) * 2006-10-18 2009-02-12 船井電機株式会社 クライアント・サーバシステム
US7653664B2 (en) * 2006-11-03 2010-01-26 Microsoft Corporation Anchor for database synchronization excluding uncommitted transaction modifications
US8149748B2 (en) * 2006-11-14 2012-04-03 Raytheon Company Wireless data networking
KR101221672B1 (ko) * 2006-11-30 2013-01-14 재단법인서울대학교산학협력재단 데이터 동기화 시스템
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US7715444B2 (en) * 2007-02-02 2010-05-11 Palm, Inc Resuming a previously interrupted peer-to-peer synchronization operation
US20080270629A1 (en) * 2007-04-27 2008-10-30 Yahoo! Inc. Data snychronization and device handling using sequence numbers
CN101340286B (zh) * 2007-05-30 2011-03-30 华为技术有限公司 会话连接发起方法及设备
CN101374144B (zh) * 2007-08-21 2012-04-25 华为技术有限公司 控制会话的数据同步的方法、装置和系统
CN101387972B (zh) * 2007-09-14 2010-06-09 英业达股份有限公司 应用软件网络同步系统及其方法
US8131759B2 (en) * 2007-10-18 2012-03-06 Asurion Corporation Method and apparatus for identifying and resolving conflicting data records
US20090196311A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation Initiation and expiration of objects in a knowledge based framework for a multi-master synchronization environment
KR101430517B1 (ko) * 2008-01-31 2014-08-19 삼성전자주식회사 복수의 데이터 통신장치들 간의 데이터 동기 방법
US20090234872A1 (en) * 2008-03-11 2009-09-17 Microsoft Corporation Synchronization of disconnected/offline data processing/entry
US20100131398A1 (en) * 2008-03-20 2010-05-27 Theresa Molloy System and method for providing market insight regarding securities trading
US8429123B2 (en) * 2008-06-06 2013-04-23 Apple Inc. Synchronization improvements
US20090307280A1 (en) * 2008-06-06 2009-12-10 Mccarthy Brendan A Synchronization improvements
US8135769B2 (en) * 2008-06-06 2012-03-13 Apple Inc. Synchronization improvements
US20090319593A1 (en) * 2008-06-18 2009-12-24 International Business Machines Corporation Optimized Message Format for Synchronization Flows Between Transaction Processing Systems
US8135670B2 (en) * 2008-07-22 2012-03-13 International Business Machines Corporation Embedded change logging for data synchronization
US8209437B2 (en) * 2008-09-25 2012-06-26 Rockliffe Systems, Inc. Personal information management data synchronization
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
JP5061166B2 (ja) 2009-09-04 2012-10-31 Kii株式会社 データ同期システムおよびデータ同期方法
US8924592B2 (en) * 2009-09-29 2014-12-30 Citrix Systems, Inc. Synchronization of server-side cookies with client-side cookies
TW201202956A (en) * 2010-06-01 2012-01-16 Htc Corp Method for exchanging device management (DM) tree information and communication apparatus
US8918467B2 (en) 2010-10-01 2014-12-23 Clover Leaf Environmental Solutions, Inc. Generation and retrieval of report information
US8516062B2 (en) 2010-10-01 2013-08-20 @Pay Ip Holdings Llc Storage, communication, and display of task-related data
GB2485241A (en) 2010-11-05 2012-05-09 Bluecava Inc Incremental browser-based fingerprinting of a computing device
CN102013123B (zh) * 2010-11-22 2013-04-24 北京亚博高腾科技有限公司 防止利用外插输入设备进行操作的彩票机
CN102651683A (zh) * 2011-02-24 2012-08-29 中国电信股份有限公司 用户分组信息的同步方法、系统及服务器
US9369433B1 (en) 2011-03-18 2016-06-14 Zscaler, Inc. Cloud based social networking policy and compliance systems and methods
US9060239B1 (en) * 2011-08-09 2015-06-16 Zscaler, Inc. Cloud based mobile device management systems and methods
US20130086437A1 (en) * 2011-09-30 2013-04-04 Microsoft Corporation Communicating unexpected collaboration server responses on reconnection
US8392617B1 (en) 2011-12-06 2013-03-05 Google Inc. Browsing context continuation across multiple devices
US20150205463A1 (en) * 2012-06-26 2015-07-23 Google Inc. Method for storing form data
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9330561B2 (en) 2013-03-04 2016-05-03 Hello Inc. Remote communication systems and methods for communicating with a building gateway control to control building systems and elements
US9298882B2 (en) * 2013-03-04 2016-03-29 Hello Inc. Methods using patient monitoring devices with unique patient IDs and a telemetry system
US9532716B2 (en) 2013-03-04 2017-01-03 Hello Inc. Systems using lifestyle database analysis to provide feedback
US9526422B2 (en) 2013-03-04 2016-12-27 Hello Inc. System for monitoring individuals with a monitoring device, telemetry system, activity manager and a feedback system
US9406220B2 (en) 2013-03-04 2016-08-02 Hello Inc. Telemetry system with tracking receiver devices
US9345404B2 (en) 2013-03-04 2016-05-24 Hello Inc. Mobile device that monitors an individuals activities, behaviors, habits or health parameters
US9432091B2 (en) 2013-03-04 2016-08-30 Hello Inc. Telemetry system with wireless power receiver and monitoring devices
US9634921B2 (en) 2013-03-04 2017-04-25 Hello Inc. Wearable device coupled by magnets positioned in a frame in an interior of the wearable device with at least one electronic circuit
US9425627B2 (en) 2013-03-04 2016-08-23 Hello Inc. Telemetry system with remote firmware updates
US9398854B2 (en) 2013-03-04 2016-07-26 Hello Inc. System with a monitoring device that monitors individual activities, behaviors or habit information and communicates with a database with corresponding individual base information for comparison
US9848776B2 (en) 2013-03-04 2017-12-26 Hello Inc. Methods using activity manager for monitoring user activity
US9430938B2 (en) 2013-03-04 2016-08-30 Hello Inc. Monitoring device with selectable wireless communication
US9339188B2 (en) 2013-03-04 2016-05-17 James Proud Methods from monitoring health, wellness and fitness with feedback
US9159223B2 (en) 2013-03-04 2015-10-13 Hello, Inc. User monitoring device configured to be in communication with an emergency response system or team
US9345403B2 (en) 2013-03-04 2016-05-24 Hello Inc. Wireless monitoring system with activity manager for monitoring user activity
US9392939B2 (en) 2013-03-04 2016-07-19 Hello Inc. Methods using a monitoring device to monitor individual activities, behaviors or habit information and communicate with a database with corresponding individual base information for comparison
US9737214B2 (en) 2013-03-04 2017-08-22 Hello Inc. Wireless monitoring of patient exercise and lifestyle
US9357922B2 (en) 2013-03-04 2016-06-07 Hello Inc. User or patient monitoring systems with one or more analysis tools
US9320434B2 (en) 2013-03-04 2016-04-26 Hello Inc. Patient monitoring systems and messages that send alerts to patients only when the patient is awake
US9405816B2 (en) * 2013-03-05 2016-08-02 Microsoft Technology Licensing, Llc Reconciliation of geo-replicated database clusters
KR102020358B1 (ko) * 2013-03-14 2019-11-05 삼성전자 주식회사 단말 및 그 단말에서 애플리케이션 동기화 방법
US9681472B2 (en) * 2014-01-31 2017-06-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for mapping identities to device-to-device synchronization sequences
GB2527798A (en) 2014-07-02 2016-01-06 Ibm Synchronizing operations between regions when a network connection fails
JP6442230B2 (ja) 2014-10-31 2018-12-19 キヤノン株式会社 情報処理装置、同期制御方法、及びプログラム
US9606856B2 (en) 2014-12-03 2017-03-28 International Business Machines Corporation Event logging and error recovery
US20170091253A1 (en) * 2015-09-29 2017-03-30 Dropbox, Inc. Interrupted synchronization detection and recovery
US10452635B2 (en) 2016-03-23 2019-10-22 Microsoft Technology Licensing, Llc Synchronizing files on different computing devices using file anchors
US11297058B2 (en) 2016-03-28 2022-04-05 Zscaler, Inc. Systems and methods using a cloud proxy for mobile device management and policy
US20180054480A1 (en) * 2016-08-17 2018-02-22 Microsoft Technology Licensing, Llc Interrupt synchronization of content between client device and cloud-based storage service
US11341100B2 (en) * 2016-12-12 2022-05-24 Egnyte, Inc. System and method for eliminating full rescan synchronizations on service restarts
CN109391656B (zh) * 2017-08-09 2021-10-08 中兴通讯股份有限公司 一种设备管理会话的恢复方法、装置、客户端及服务器
CN109587065B (zh) * 2017-09-28 2021-02-23 北京金山云网络技术有限公司 转发报文的方法、装置、交换机、设备及存储介质
CN108377265B (zh) * 2018-02-07 2020-10-16 南京南瑞继保电气有限公司 一种电力系统中控制保护分布式系统的实时同步方法
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US10795747B2 (en) * 2018-05-17 2020-10-06 Microsoft Technology Licensing, Llc File synchronizing service status monitoring and error handling
CN110765204B (zh) * 2019-09-30 2022-02-01 武汉达梦数据库股份有限公司 一种对增量同步异常中断情况的处理方法和装置
CN110781373B (zh) * 2019-10-29 2022-09-06 北京字节跳动网络技术有限公司 榜单更新方法、装置、可读介质和电子设备
CN111737204B (zh) * 2020-06-12 2024-03-19 北京百度网讯科技有限公司 文件目录遍历方法、装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000029998A2 (en) * 1998-11-17 2000-05-25 Telefonaktiebolaget Lm Ericsson (Publ) Optimization of change log handling

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
DE19836347C2 (de) * 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem
US6477545B1 (en) * 1998-10-28 2002-11-05 Starfish Software, Inc. System and methods for robust synchronization of datasets
US6810405B1 (en) * 1998-08-18 2004-10-26 Starfish Software, Inc. System and methods for synchronizing data between multiple datasets
US7007003B1 (en) * 1998-12-04 2006-02-28 Intellisync Corporation Notification protocol for establishing synchronization mode for use in synchronizing databases
US6247135B1 (en) * 1999-03-03 2001-06-12 Starfish Software, Inc. Synchronization process negotiation for computing devices
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
US6820204B1 (en) * 1999-03-31 2004-11-16 Nimesh Desai System and method for selective information exchange
US6549917B1 (en) * 1999-04-29 2003-04-15 Waveware Communications, Inc. Synchronization of host computers and handheld remote computers
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
US6829655B1 (en) * 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7072911B1 (en) * 2001-07-27 2006-07-04 Novell, Inc. System and method for incremental replication of changes in a state based distributed database
US7761535B2 (en) * 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
US20030194999A1 (en) * 2002-04-16 2003-10-16 Quick Roy Franklin Method and apparatus for reestablishing crypto-sync synchronization in a communication system
US20040044799A1 (en) * 2002-09-03 2004-03-04 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000029998A2 (en) * 1998-11-17 2000-05-25 Telefonaktiebolaget Lm Ericsson (Publ) Optimization of change log handling

Also Published As

Publication number Publication date
MY146705A (en) 2012-09-14
CN1708755A (zh) 2005-12-14
US9792343B2 (en) 2017-10-17
CN1708755B (zh) 2010-09-08
EP1980954A1 (en) 2008-10-15
US20040044799A1 (en) 2004-03-04
JP4829316B2 (ja) 2011-12-07
US20040205263A1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
JP4829316B2 (ja) 中断された同期プロセスに対処してデータを同期させる方法、装置、システム
JP4494970B2 (ja) 中断された同期プロセスに対処してデータを同期させる方法、装置、システム
KR100937163B1 (ko) 데이터베이스 데이터의 동기화
KR100945221B1 (ko) 통신 시스템의 데이터 동기화 장치
JP5753597B2 (ja) データ同期プロトコル
US8190671B2 (en) Arranging synchronization session
US8489548B2 (en) Method, system, and device for data synchronization
CN102594874B (zh) 一种同步处理方法和装置
EP1835424A1 (en) Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
AU2012201747B2 (en) Data synchronization protocol

Legal Events

Date Code Title Description
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: 20110816

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

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

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4829316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

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

EXPY Cancellation because of completion of term