(57)【要約】本発明は、データベースの同期を構成する方法であって、データベースを同期化する第１及び第２デバイス間の同期のためにトランスポート層コネクションを確立するステップを有している。同期の初期化期間中に、少なくとも第１デバイスに記憶され、かつそれらのデバイスがデータベースで実行した最後の同期イベントを記述する第１更新識別子と、第１デバイスにより規定されかつ現在の同期を記述する第２更新識別子とが、第１デバイスから第２デバイスへ送信される。第２更新識別子は第１及び第２デバイスに記憶される。それらのデバイスに記憶された第１更新識別子の内容は、同期が実行されて、この後前記トランスポート層コネクションが実質的に正しく終了した場合、第１及び第２デバイスで更新される。
2004534994.tif 000002
【特許請求の範囲】
【請求項１】
データベースの同期を構成する方法であって、
データベースを同期化する第１及び第２デバイス間の同期のためにトランスポート層コネクションを確立するステップと、
少なくとも前記第１デバイスに記憶され、かつ同期の初期化期間中に前記第１デバイス及び前記第２デバイスが前記データベースで実行した最後の同期イベントを記述する第１更新識別子と、前記第１デバイスにより規定されかつ現在の同期を記述する第２更新識別子とを、前記第１デバイスから前記第２デバイスに送信するステップと、
前記第２更新識別子を前記第１デバイス及び前記第２デバイスに記憶するステップと、
前記のデバイスに記憶された前記第１更新識別子の内容を、同期が実行されて、この後前記トランスポート層コネクションが実質的に正しく終了した場合、前記第１デバイス及び前記第２デバイスで前記第２更新識別子の内容で更新するステップと、を有する方法。
【請求項２】
前記第２デバイスで受信された前記第１更新識別子を前記第２デバイスに記憶された前記第１更新識別子と比較するステップと、
受信された前記第１更新識別子が記憶された前記第１更新識別子と一致する場合、
要求された方法で同期を実行するステップと、
受信された前記第１更新識別子が記憶された前記第１更新識別子と一致しない場合、前記データベースの全てのデータユニットを同期化するステップと、をさらに有する請求項１に記載の方法。
【請求項３】
記憶された前記第１更新識別子を前記第２デバイスから前記第１デバイスへ送信するステップと、
受信された前記第１更新識別子を記憶された前記第１更新識別子と前記第１デバイスで比較するステップと、をさらに有する請求項２に記載の方法。
【請求項４】
前記の更新識別子が日付と時間を示す請求項１に記載の方法。
【請求項５】
同期がＳｙｎｃＭＬ規格による同期プロトコルに基づいており、前記第１更新識別子は同期のラストアンカーでありかつ前記第２更新識別子がネクストアンカーである請求項１に記載の方法。
【請求項６】
前記トランスポート層コネクションはＨＴＴＰプロトコルによる論理コネクションであり、
「ＨＴＴＰ要求」メッセージが同期後に前記第１デバイス及び前記第２デバイスの間で転送され、かつ「ＨＴＴＰ要求」メッセージに関連する「ＨＴＴＰ状態応答」メッセージの送受信が行われた場合、前記トランスポート層コネクションは正しく終了している請求項１に記載の方法。
【請求項７】
同期を実行する第１デバイス及び第２デバイスを備える、データベースを同期化するシステムであって、
前記第１デバイス及び前記第２デバイス間で同期を実行するためにトランスポート層コネクションを確立し、
少なくとも前記第１デバイスに記憶され、かつ同期の初期化期間中に、前記第１デバイス及び前記第２デバイスが前記データベースで実行した最後の同期イベントを記述する第１更新識別子と、前記第１デバイスにより規定されかつ現在の同期を記述する第２更新識別子とを、前記第１デバイスから前記第２デバイスに送信し、
前記第２更新識別子を記憶し、
前記のデバイスに記憶された前記第１更新識別子の内容を、同期が実行されて、この後前記トランスポート層コネクションが実質的に正しく終了した場合、前記第２更新識別子の内容で更新するように構成されているシステム。
【請求項８】
前記第２デバイスが、受信された前記第１更新識別子を前記第２デバイスに記憶された前記第１更新識別子と比較するように構成され、
受信された前記第１更新識別子が記憶された前記第１更新識別子と一致する場合、前記第１及び第２デバイスは要求された方法で同期を実行するように構成されるか、又は
受信された前記第１更新識別子が記憶された前記第１更新識別子と一致しない場合、前記第１デバイス及び前記第２デバイスは前記データベースの全てのデータユニットを同期化するように構成される請求項７に記載の方法。
【請求項９】
通信デバイスであって、
データベースを同期化するために少なくとも他の１つのデバイスへのトランスポート層コネクションを確立する手段と、
前記通信デバイスにより規定される第１更新識別子及び第２更新識別子を、同期の初期化期間中に前記の他のデバイスに送信するための手段であって、前記第１更新識別子は少なくとも前記通信デバイスに記憶されかつ該通信デバイスと前記他のデバイスがデータベースで実行した最後の同期イベントを記述し、また前記第２更新識別子は現在の同期を記述する、送信手段と、
前記第２更新識別子を記憶する手段と、
前記通信デバイスに記憶された前記第１更新識別子の内容を、同期が実行されて、この後前記トランスポート層コネクションを実質的に正しく終了した場合、前記第２更新識別子の内容で更新する手段と、を備える通信デバイス。
【請求項１０】
同期デバイスであって、
データベースを同期化するために少なくとも他の１つのデバイスへのトランスポート層コネクションを確立する手段と、
第１更新識別子及び第２更新識別子を、同期の初期化期間中に前記の他のデバイスから受信するための手段であって、前記第１更新識別子は前記同期デバイスと前記他のデバイスがデータベースで実行した最後の同期イベントを記述し、また前記第２更新識別子は現在の同期を記述する、受信手段と、
前記第２更新識別子を記憶する手段と、
前記第１更新識別子を、同期が実行されて、この後前記トランスポート層コネクションを実質的に正しく終了した場合、前記第２更新識別子の内容で更新する手段と、を備える同期デバイス。
【請求項１１】
受信された前記第１更新識別子を前記同期デバイスに記憶された前記第１更新識別子と比較する手段と
受信された前記第１更新識別子が記憶された前記第１更新識別子と一致する場合、要求された方法で同期を実行する手段と、
受信された前記第１更新識別子が記憶された前記第１更新識別子と一致しない場合、全てのデータベースのデータユニットを同期化する手段と、をさらに備える請求項１０に記載の同期デバイス。
【請求項１２】
通信デバイスのメモリにロード可能で、かつ該通信デバイスで実行可能なコードを備えるコンピュータプロダクトであって、前記通信デバイスに、
データベースを同期化するために少なくとも他の１つのデバイスへのトランスポート層コネクションを確立させ、
前記通信デバイスにより規定される第１更新識別子及び第２更新識別子を、同期の初期化期間中に前記の他のデバイスに送信させ、かつ前記第１更新識別子は少なくとも前記通信デバイスに記憶されかつ該通信デバイスと前記他のデバイスがデータベースで実行した最後の同期イベントを記述し、また前記第２更新識別子は現在の同期を記述して、送信させ、
前記第２更新識別子を記憶させ、
前記通信デバイスに記憶された前記第１更新識別子の内容を、同期が実行されて、この後前記トランスポート層コネクションを実質的に正しく終了した場合、前記第２更新識別子の内容で更新させるコンピュータプロダクト。
【請求項１３】
同期デバイスとして機能するコンピュータのメモリにロード可能で、かつ該同期デバイスで実行可能なコードを備えるコンピュータプロダクトであって、前記同期デバイスに、
データベースを同期化するために少なくとも他の１つのデバイスへのトランスポート層コネクションを確立させ、
第１更新識別子及び第２更新識別子を、同期の初期化期間中に前記の他のデバイスから受信させ、かつ前記第１更新識別子は前記同期デバイスと前記他のデバイスがデータベースで実行した最後の同期イベントを記述し、また前記第２更新識別子は現在の同期を記述して、受信させ、
前記第２更新識別子を記憶させ
前記同期デバイスに記憶された前記第１更新識別子の内容を、同期が実行されて、この後前記トランスポート層コネクションを実質的に正しく終了した場合、前記第２更新識別子の内容で更新させるコンピュータプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システムにおけるデータベースデータの同期に関し、特に同期イベントの維持管理に関する。データ同期は、少なくとも２つのデータ収集が、それらのデータユニットが同期後にお互いにほぼ一致するようにお互いに同じとされる場合の機能である。
【背景技術】
【０００２】
携帯用コンピュータ、ＰＤＡデバイス（携帯情報端末）、移動局又はポケットベルのような携帯端末のデータをネットワークアプリケーション、デスクトップコンピュータのアプリケーション又は通信システムの別のデータベースに同期させることができる。特に、カレンダ及びｅ−メールアプリケーションのデータが典型的には同期化される。ＥＰ１０２４４４１はデータベース同期化の方法を開示している。この方法は、データベースがレコードを別のデータベースに送信した時間（送信時間）、データベースがレコードを別のデータベースから受信した時間（受信時間）及びデータベースのレコードが変更された時間（変更時間）に関するデータを保持するステップを有している。レコード変更時間が送信時間よりも遅く、かつ変更時間が受信時間よりも早い場合のみレコードは第１データベースから第２データベースへと伝送される。
【０００３】
同期は互換性のない異なる製造業者専用プロトコルの利用に基づいている。このことは端末又はデータ型の使用を限定し使用者に対して問題を生ずることが多い。使用する端末やアプリケーションに関係なくデータを検索したり更新したりできるということが、移動通信においては特に重要である。
【０００４】
アプリケーションデータの同期を改善するために、ＸＭＬ（拡張マークアップ言語）に基づく同期化マークアップ言語ＳｙｎｃＭＬが開発されている。ＳｙｎｃＭＬフォーマットのメッセージを用いるＳｙｎｃＭＬ同期プロトコルを利用して、任意のアプリケーションのデータを任意の型のネットワーク化された端末間で同期化することができる。ＳｙｎｃＭＬ同期プロトコルはワイヤレス及び固定ネットワークの両方で機能し、またいくつかの伝送プロトコルに対応している。
【０００５】
図１は移動局ＭＳがＳｙｎｃＭＬクライアント端末として、またネットワークサーバＳがＳｙｎｃＭＬサーバとして機能している場合の同期の例を示している。ＳｙｎｃＭＬ同期サービスは例えば同期化されるべきデータベースを選択する同期セッションを最初に起動するステップを有している。ＳｙｎｃＭＬクライアント端末ＭＳはＳｙｎｃＭＬプロトコルを実行してＳｙｎｃＭＬメッセージ（クライアント変更）を送信する。ＳｙｎｃＭＬメッセージは移動局ＭＳ内で同期化されるべきデータを少なくとも含み、最後の同期以来変化している。ＳｙｎｃＭＬサーバは同期を制御する同期サーバエージェントと同期ブロック（Ｓｙｎｃエンジン）とを備えている。サーバは通常ＳｙｎｃＭＬクライアント（ＭＳ）からの同期開始を待つ。サーバＳはデータを同期化する、すなわちデータベースとクライアント端末データに対して成された変更を分析し、またそれを調和させる（必要な変更、置き換え及び削除を行う）。  この後、ＳｙｎｃＭＬサーバＳはサーバ変更をＳｙｎｃＭＬクライアント（ＭＳ）に返送する。上記の説明例は簡単であるが、ＳｙｎｃＭＬ規格によるデバイスの役割を示している。ＳｙｎｃＭＬクライアント端末（ＭＳ）は、典型的には移動局（ＭＳ）、ＰＣ（パーソナルコンピュータ）、ラップトップ又はＰＤＡデバイスである。ＳｙｎｃＭＬサーバＳは典型的にはネットワークサーバ又はＰＣである。
【０００６】
ＳｙｎｃＭＬ規格によるシステムはデータベースに関連する「同期アンカー」を使用する。これらは同期イベントを、例えば日付と時間により記述するストリングである。使用する同期アンカーは「ラスト（ｌａｓｔ）」アンカーと「ネクスト（ｎｅｘｔ）」アンカーであり、これらのアンカーのうち、ラストアンカーは送信デバイスに関してデータベースが同期化された場合の最後のイベントを表し、ネクストアンカーは送信デバイスに関して現在の同期イベントを表す。同期セッションが成功した後、ネクストアンカーを記憶するように同期セッションの初期化の期間にお互いにこれらのアンカーを送信する。次の同期の期間にデバイスは記憶したネクストアンカーを、受信したラストアンカーと比較して、それらが一致した場合は最後の受信以来誤りが生じていないことをデバイスは示す。アンカーが一致しなければ、例えば、低速（ｓｌｏｗ）同期を実行する必要があり、この場合はデータベース内の全てのデータユニットはお互いに比較される必要がある。実際に、低速同期ではクライアント端末は同期化されるべきデータベースからの全てのデータをＳｙｎｃＭＬサーバに送信する。ＳｙｎｃＭＬサーバは受信したデータ及び同期化されるべき別のデータベースのデータを分析するか、あるいは代わりに同期化されるべき他のデータベースの全てのデータを、受信したデータと置き換える。ＳｙｎｃＭＬ同期プロトコルを規定する規格であるＳｙｎｃＭＬ同期プロトコル、バージョン１．０、２０００年１２月には、同期セッションが終了するまでは同期アンカーを更新してはならないということが記載されている。
【０００７】
図２は同期アンカーの利用法を示す。この例ではＳｙｎｃＭＬクライアント（ＭＳ）とＳｙｎｃＭＬサーバ（Ｓ）は２回同期化する（同期セッション１及び２）。同じデータベースに関係する先行する同期セッション（同期セッション１に先行する）のアンカー（２００１年９月９日午前９時９分９秒）は同期サーバＳに記憶される。このアンカーは先行する同期セッションのネクストアンカーの内容であり第１同期セッション１用のラストアンカーとして記憶される。クライアントＭＳは同期セッション１を２００１年１０月１０日午前１０時１０分１０秒に開始している。この時間は同期セッション１用のネクストアンカーになるであろう。ＭＳはその記憶しているラストアンカーとネクストアンカーをサーバＳに送信する。同期セッション１の期間中、ラスト同期アンカーが一致する、すなわちＳのメモリ内のラストアンカー（２００１年９月９日午前９時９分９秒）は受信したラストアンカーに一致するので低速同期を起動する必要はない。サーバＳが確認応答（ＯＫ）を送信した後、データを同期化できる。確認応答は初期化メッセージであることが好ましく、それはまたラスト及びネクストアンカーも含む。同期セッション１の終了後、Ｓは先行するラストアンカー（２００１年９月９日午前９時９分９秒）をメモリ内のネクストアンカー（２００１年１０月１０日午前１０時１０分１０秒）と置き換える。伝達障害がこの例では起こっている、すなわちＭＳはそのメモリに対してラストアンカーを更新しない。転送障害は例えば伝送コネクションでの誤りのこともある。Ｓは同期メッセージを受信した後直ちにコネクションを切断することもできるが、ＳｙｎｃＭＬクライアントはサーバからの確認応答を依然として待ったままでいることができる。その場合、切断はＳｙｎｃＭＬクライアントの観点からすれば転送障害である。第２の同期セッション期間中、ＭＳは更新されないラストアンカー（２００１年９月９日午前９時９分９秒）及びネクストアンカー（２００１年１０月１０日午前１０時１０分１０秒）をサーバＳに送信する。Ｓはラストアンカーが一致しないことに気づき、それによってリフレッシュ、典型的には低速同期を要求する。
【０００８】
ＳｙｎｃＭＬ規格に関連する問題は、同期（ＳｙｎｃＭＬ内の同期アンカー、例えばタイムスタンプ）を記述する更新識別子の更新時点が正確に規定されていないことである。製造業者のアプリケーションにより、いくつかのデバイスは同期メッセージが送信されたらすぐに識別子を更新するかも知れず、これにたいして別のデバイスは同期セッションに使用するコネクションが切断された後にこれを実行する。図２の例に記載されているように、いくつかのデバイスは誤りの状況では識別子を必ずしも更新せず、この結果として、低速同期は不必要に実行される。低速同期は多くの時間を要し、典型的には余分なデータ伝送コストの原因となるのでユーザにとっては特に望ましいことではない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は上記の問題を避けること及び同期に参加するデバイスにおいて可能な限り同じ機能を提供することである。
【課題を解決するための手段】
【００１０】
本発明の目的は独立請求項に開示されていることを特徴とする方法、同期システム、同期デバイス、通信デバイス及びコンピュータプログラムで達成される。本発明の好適実施例は従属項に開示されている。
本発明は、同期が実行され、かつこの後同期用に確立されたトランスポート層コネクションが実質的に正しく終了していれば、第１デバイスと第２デバイスにおいて、先行する同期を記述しデバイスに記憶されている第１更新識別子の内容を、現在の同期を記述する第２更新識別子を用いて更新することに基づく。トランスポート層は、一般に同期アプリケーション層に確実な論理データ伝送コネクションを提供する層を指す（ＴＣＰのような、ＯＳＩモデルによるトランスポート層のプロトコルであるとは限らない）。トランスポート層コネクションは、コネクションの終了に関係するハンドシェイクがトランスポート層規格で規定されたステップに従って実行された場合に、正しく終了して、その後デバイスはお互いからのどのようなトランスポート層メッセージも待たない。更新識別子の更新された内容は次の同期イベントで使用される。
【００１１】
データベースという用語は、１つ以上のアプリケーションにより更新されるかもしれない任意のデータ源又はデータ記憶のデータ収集のことを指すとして広く理解されるべきである。更新識別子はデータベースの同期イベントに関連する任意の識別子、典型的には連続番号又はタイムスタンプである。第１更新識別子は現在の同期イベントに先行する同期イベントを常に表す。更新は先行値を新しい値に置き換えることにより、又は逐次解法、すなわち新しい値を先行値に加えることにより実行され、この後最も新しい値が次の同期イベントで常に論理的に第１更新識別子である。
【００１２】
本発明の構成は、本発明に対応するデバイスが更新識別子を常にほぼ同時に更新するという特徴を有し、このことは不必要な低速同期を最小にし、かつそれに関連する欠点を避けることを可能にする。本発明によるタイミングを使用して、同期に参加しているデバイスが常に更新識別子を更新するのかしないのかを確実な方法で保証できる。
【００１３】
本発明の好適実施例によれば、同期はＳｙｎｃＭＬ規格による同期プロトコルに基づいており、従って第１更新識別子は同期のラストアンカーであり第２更新識別子はネクストアンカーである。
【００１４】
添付図面を参照して好適実施例により本発明をさらに詳細に説明する。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明の好適実施例をＳｙｎｃＭＬ規格に対応するシステムにおいてそれに限定されることなく述べる。
【００１６】
図３はデータベースＤＢと端末ＴＥのデータを同期化できるネットワーク化されたシステムを示す。同期に関しては端末ＴＥはクライアントデバイスとして機能する。図３は２つの例を示す。最初の例には、端末ＴＥ、データベースＤＢ及びローカルエリアネットワークＬＡＮにコネクションされた同期サーバＳがある。ネットワークＬＡＮに接続された端末ＴＥはネットワークＬＡＮのデバイス、例えばネットワークカード及びデータ伝送を制御するソフトウエアと通信する機能を備えている。ローカルエリアネットワークＬＡＮは任意の型のローカルエリアネットワークでよくまた端末ＴＥは典型的にはファイアウォールＦＷを使用して、インターネットを経由してサーバＳと通信もできる。第２の例では、端末ＴＥ、同期サーバＳ及びデータベースＤＢが移動体ネットワークＭＮＷに接続されている。ネットワークＭＮＷに接続された端末ＴＥはネットワークＭＮＷとワイヤレスに通信するための移動局の機能を備えている。移動体ネットワークＭＮＷはＧＳＭサービス対応のネットワーク、ＧＰＲＳサービス（一般パケット無線サービス）対応のネットワーク、ＵＭＴＳネットワーク（ユニバーサル移動通信システム）のような第３世代移動通信システム、ワイヤレスローカルエリアネットワークＷＬＡＮ又は専用線等のような任意の従来技術のワイヤレスネットワークでありうる。図３ではサーバＳ及びデータベースＤＢは明確化のために別個に示されているが、サーバＳはデータベースＤＢとしても機能する。
【００１７】
端末ＴＥ（有線ネットワークＬＡＮとワイヤレスネットワークＭＮＷ内の）とサーバはメモリＭＥＭ；ＳＭＥＭ、ユーザインタフェースＵＩ；ＳＵＩ、データ伝送を設定するＩ／Ｏ手段Ｉ／Ｏ；ＳＩ／Ｏ、１つ以上のプロセッサを有する中央処理ユニットＣＰＵ；ＳＣＰＵを備えている。メモリＭＥＭ；ＳＭＥＭは制御アプリケーションを記憶するための中央処理ユニットＣＰＵ；ＳＣＰＵの不揮発性部分及びデータ処理のためのランダムアクセスメモリ部分を含んでいる。ＴＥのメモリＭＥＭ（この例では同期化されるべきデータベース）とデータベースＤＢのメモリは同期化されるべきアプリケーションデータを記憶する。本発明に従って動作するクライアントエージェントＳＡはＣＰＵのメモリＭＥＭに記憶されたコンピュータプログラムコードを実行することにより実現するのが好ましい。同期サーバＳはまた好適にはＳＣＰＵのメモリＳＭＥＭに記憶されたコンピュータプログラムコードを実行することにより本発明による同期エージェントＳＡ及び同期ブロックＳＥを提供する。中央処理ユニットＣＰＵ；ＳＣＰＵで実行可能なコンピュータプログラムコードは端末ＴＥと同期サーバＳに本発明の手段を実現させる。これらの手段の実施例は図４及び５に示される。コンピュータプログラムはネットワークを介して取得する及び／又はメモリＭＥＭ、ＳＭＥＭ内にロードできるフロッピーディスク、ＣＤ  ＲＯＭ又は他の外部メモリ手段等のようなメモリ手段に記憶できる。
【００１８】
図４は端末ＴＥがサーバＳとの同期を開始する場合の本発明の実施例による同期方法を示している。データベース（例えばＭＥＭ、ＤＢ）のデータを同期化する必要がある（４０１）場合は、トランスポート層コネクションがサーバＳとＴＥの間で確立される（４０２）。ＴＥはそのメモリＭＥＭから先行する同期セッションの後更新されたラストアンカーを読み出し（４０３）かつネクストアンカーを規定する（４０３）、例えば日付と時間をチェックする。最新及びネクストアンカーは典型的には連続番号と時間スタンプである。アンカーはデータベース専用である、すなわち関係するデータベースのデータがいつ更新されたかを示す。ＴＥも同期用のネクストアンカーを規定しそれを一時的にメモリＭＥＭのランダムアクセスメモリ部分に記憶する。ＴＥはクライアント初期化メッセージをサーバＳに送信する（４０４）。そのメッセージ（データベースが同期化されるための）の警報要素はラストアンカーとネクストアンカーを備えている。クライアント初期化メッセージは、同期化すべきデータのデータベースとどの型の同期を使用すべきかについても同期サーバＳに知らせる。クライアント初期化メッセージは、典型的には、認証情報と端末ＴＥが対応するサービス及びデバイスの特性に関する情報も備えている。
【００１９】
サーバＳはクライアント初期化メッセージを受信し、ネクストアンカーを一時的にメモリＳＭＥＭのランダムアクセスメモリ部分に記憶し、そのメモリＳＭＥＭから、記憶されたラストアンカー（好適にはラストアンカーとラベル付けされたフィールドに記憶された最後／先行の同期セッションのネクストアンカーの内容）を読み出す（４０５）。Ｓは受信したラストアンカーとＳのメモリーから読み出したラストアンカーとをチェックする（４０６）。チェック（４０６）した後、サーバＳはネクストアンカー（ＴＥから受信した）及びラストアンカー（サーバＳのメモリＳＭＥＭからの）を含むサーバ初期化メッセージを端末ＴＥにも送信する（４０７）。サーバ初期化メッセージはタイムスタンプがお互いに一致しているかどうかに関する情報を含んでいる。ＴＥは受信したラストアンカーをメモリＭＥＭに記憶されたラストアンカーと比較することによりラストアンカーの一致をチェックする（４０８）。
【００２０】
ＴＥで実行されたチェック（４０８）とＳで実行されたチェック（４０６）の両方ともラストアンカーがお互いに一致していることを示した場合、要求された方法で同期を開始でき（４１０）、この場合ラストアンカーの後に変更されたデータユニットのみを同期化する必要がある。初期化の完了後、同期の初期化で規定された少なくとも１つのデータベースのデータ及び端末ＴＥのデータを同期化できる。図１に示すＳｙｎｃＭＬメッセージを用いて（クライアント変更、サーバ変更）必要な認証を実行できる（双方向同期の場合）。
同期の型は例えば、
双方向同期
クライアントからのみの一方向同期
クライアントからのみの更新同期
サーバからのみの一方向同期
サーバからのみの更新同期
サーバ警報同期
がありうる。
【００２１】
同期セッションとデータ同期の初期化（４０７）のさらに詳細な説明については、ＳｙｎｃＭＬ同期プロトコルを規定する規格ＳｙｎｃＭＬ同期プロトコル、バージョン１．０、２０００年１２月を参照する。
【００２２】
ラストアンカーが比較４０６及び／又は４０８により一致しない場合、誤りが発生し、同期下にあるデータベースのデータすべてを同期化する必要がある。比較（４０６）の後、Ｓは失敗した同期に関する情報を与えるか、より好適には初期化メッセージを送信しそれに従って低速同期が開始される（４０９）。ラストアンカーが比較（４０８）によりお互いに一致しない場合、ＴＥは低速同期を要求することができる。
【００２３】
次に同期が実行されてトランスポート層コネクションが適切に終了したかどうかがチェックされる（４１１）。同期の型に従って必要な全てのデータがＴＥとＳの間で転送された後（いずれも送信するものを何も持たない）、同期が実行され、どのデバイスも他からの確認応答を待たない。例えば双方向同期の場合、サーバＳが端末ＴＥにより成された変更（サーバ宛てのデータ更新状態パッケージ）を受信したということをＴＥに対して確認応答する（サーバからのマップ確認応答）時に同期が実行されており、ＴＥは待っていたその確認応答を受信する。例えば、ＴＥまたはＳが、誤りメッセージ、誤ったトランスポート層メッセージを受信する場合、又は待っているメッセージを受信しない場合（この場合ＴＥ／Ｓは誤りメッセージを送信できる）、コネクションは正しく終了していない。
【００２４】
ＳｙｎｃＭＬ同期プロトコルはＨＴＴＰプロトコル（ハイパーテキスト転送プロトコル）、ＷＡＰ規格（ワイヤレスアプリケーションプロトコル）のＷＳＰプロトコル（ワイヤレスセッションプロトコル）、短距離無線周波数コネクション（Ｂｌｕｅｔｏｏｔｈ）又は赤外線コネクション（ＩｒＤＡ）用のＵＳＢ（ユニバーサルシリアルバス）またはＲＳ−２３２のようなケーブル接続に使用されるＯＢＥＸプロトコル、ＴＣＰ／ＩＰスタック（トランスポート制御プロトコル／インターネットプロトコル）の上で及びｅ−メールプロトコル（ＳＭＴＰ、シンプルメールトランスポートプロトコル）により提供されるトランスポート層の上で、ＴＥとＳの間で実行される。下位層での転送は、例えばショートメッセージＳＭＳ又は他のシグナリング型伝送方式（例えばＵＳＳＤ；非構造付加サービスデータ）、回線交換データ呼又はパケット交換データ転送サービスを利用する基礎となるネットワークにより実行できる。
【００２５】
実施例によれば、ＨＴＴＰプロトコルはトランスポート層コネクションを提供するのに利用される。その場合、コネクションはＨＴＴＰプロトコルの「ＨＴＴＰ要求」メッセージの後に正しく終了している。このメッセージは応答を必要としないＳｙｎｃＭＬセッションの最後の確認応答を含み、またこのメッセージに応答して、終了メッセージを送信したデバイスにおいて受信された確認応答メッセージ「ＨＴＴＰ状態応答」がデバイス間で転送されている。例えば、確認応答を必要としない（すなわち、同期が実行されている）最後のメッセージ（サーバ宛てのデータ更新状態パッケージ）を含む「ＨＴＴＰ要求」メッセージをＴＥは送信することができる。Ｓは「ＨＴＴＰ状態応答」メッセージを送信することにより応答する。このメッセージの後にＳはラストアンカーの内容を更新できる（４１２）。ＴＥがサーバＳから最後の正しい「ＨＴＴＰ状態応答」メッセージを受信すれば、ラストアンカーの内容を更新できる。
【００２６】
実施例によれば、ＯＢＥＸプロトコルがトランスポート層コネクションを提供するのに利用される。その場合、ＯＢＥＸプロトコルに従う「切断」コマンドがデバイス間で転送され、また切断コマンドに関係する「応答」コマンドが送受信された場合、コネクションは正しく終了している。
【００２７】
別の実施例によれば、ＷＳＰプロトコルがトランスポート層コネクションを提供するのに利用される。その場合、「切断要求」メッセージがデバイス間で転送され、また「切断要求」メッセージに関係する「切断指示」メッセージが送受信された場合、コネクションは正しく終了している。
【００２８】
同期が実行され、トランスポート層コネクションが正しく終了した場合、現在の同期セッションのネクストアンカーの内容を有するサーバＳと端末ＴＥで、前のラストアンカーの内容（ラストアンカーが先行して記憶されていなければこの内容はゼロすなわち空でありうる）が更新される（４１２）。メモリＭＥＭ，ＳＭＥＭは次の同期用にラストアンカーを保持する１つのレコードを含むことが好ましい。先行するラストアンカーの値は削除されないが、新しい値を持つレコードをメモリに加えることにより及びそれを次の同期で使用することにより更新（４１２）が実行されることもありうる。従ってステップ４１２で記憶された値は次の同期期間中に使用できる（４１４）、すなわち開始側はメモリに記憶された値をラストアンカーとして送信できかつ受信側は比較のためにそのメモリから記憶された値を読み出すことができる。
【００２９】
同期が終了していない及び／又はトランスポート層コネクションが正しく終了していない場合、メモリに記憶されたラストアンカーの値は変更されず（４１３）、一時的に記憶されたネクストアンカーは廃棄される。
【００３０】
図５は本発明の別の実施例による同期を示す。データを同期する必要がある（５０１）場合、トランスポート層コネクションがサーバＳとＴＥの間で確立される（５０２）。ＴＥは先行する同期セッションの後更新されたラストアンカーをメモリＭＥＭから読み出して（５０３）ネクストアンカーを決定する（５０３）。ＴＥは、ラストアンカー及び規定されたネクストアンカーを含む同期セッションの初期化メッセージをサーバＳに送信する（５０４）。Ｓは初期化メッセージを受信し、ネクストアンカーを一時的に記憶し、メモリＳＭＥＭから記憶されたラストアンカー（先行する同期のネクストアンカー内容である）を読み出す（５０５）。Ｓは受信したラストアンカーとＳのメモリから読み出したラストアンカーとを比較する（５０６）。それらがお互いに一致すればＴＥによって要求された方法で同期（５０７）を実行でき、ラストアンカーの後変更されたデータユニットのみが同期化を必要とする。その場合、Ｓは初期化メッセージをＴＥに送信でき、このことは同期が要求された方法で実行できることを示す。Ｓは典型的には常にラストアンカー及びネクストアンカーをＴＥに送信するけれども、この実施例においては、ＴＥはこれらのアンカーを自身のアンカーと比較しない。初期化が終了した後、同期の初期化で規定された少なくとも１つのデータベース及び端末ＴＥのデータを同期化できる。
【００３１】
ラストアンカーが比較（５０６）によりお互いに一致しない場合、誤りが生じ、同期状態にある全てのデータベースのデータを同期化する（５０８）必要がある。Ｓ及びＴＥのデータベースのデータが先行して同期化されていない又はメモリＭＥＭ，ＳＭＥＭがクリアされている、この場合ラストアンカーは空の値を示すが、こういった場合にもステップ５０８がまた実行される。その場合、Ｓは失敗した同期に関する情報を示すか又は好ましくは初期化メッセージを送信しこれにより低速同期が開始される。
【００３２】
同期(５０７，５０８)が実行された後、同期セッションとトランスポート層コネクションを終了する（５０９）。この後記憶されたラストアンカーの内容は、同期を実行しトランスポート層コネクションを正しく終了したら、サーバＳと端末ＴＥにおいて、現在の同期セッションのネクストアンカーの内容で更新される（５１１）（ステップ４１１，４１２と比較のこと）。
【００３３】
注目すべきは、図４及び５に示された機能は３つ以上のデバイス間の同期に利用され、この場合ネクストアンカー及びラストアンカーを全てのデバイス間で伝送できることである。同期が全てのデバイス間で行われかつトランスポート層コネクションが正しく終了されたら、ラストアンカーは新しい値で更新される。
【００３４】
図４及び５の場合と異なり、別個の初期化メッセージなしに同期を開始することができる。その場合、同期と同時に初期化を行う。同期セッションとトランスポート層コネクションが終了した後、前記したようにメモリＭＥＭ，ＳＭＥＭ内のラストアンカーの値として、同期セッションのネクストアンカーを更新できる。その場合、同期の期間中送信すべきメッセージの数を減らすことができる。
【００３５】
図６は本発明の１つの実施例によるシグナリングチャートを示し、これは図２示した同期に似ている。ラスト同期アンカーは一致する、すなわちＳのメモリ内のラストアンカー（２００１年９月９日午前９時９分９秒）は受信したラストアンカーと一致するので、同期セッション１で低速同期は不要である。サーバＳが確認応答（ＯＫ）を送信した後、データを同期化できる。確認応答はラストアンカーとネクストアンカーを含む初期化メッセージであることが好ましい。同期セッション１が終了した後、この例ではデータ伝送での誤り又はデバイスの一様でない機能（ＴＥはサーバＳからの確認応答を待つ）により転送障害が生じる。本発明によれば、端末ＴＥもサーバＳも、そのメモリ内のラストアンカー用の新しい値を更新していない。同期セッション２では、ＴＥはラストアンカーの値として２００１年１０月９日午前９時９分９秒を送信する。サーバＳのメモリに記憶されたラストアンカー及び端末ＴＥから受信したラストアンカーはお互いに一致し、従って同期セッション２を低速同期なしに実行できる。これにより、図２に示した従来技術による転送障害に起因する低速同期を避けることが可能となる。
【００３６】
技術が進むにつれて、発明の概念を多くの方法で実現できることは当業者には明らかであろう。本発明とその実施例は従って前述の例に限定されることなく特許請求の範囲内で変更可能である。
【図面の簡単な説明】
【００３７】
【図１】図１はＳｙｎｃＭＬ同期プロトコルによる同期を示す図である。
【図２】図２は同期アンカーの利用を示す図である。
【図３】図３はワイヤレスネットワーク及びローカルエリアネットワークを示す図である。
【図４】図４は本発明の好適実施例による方法を示す図である。
【図５】図５は本発明の別の好適実施例による方法を示す図である。
【図６】図６は本発明の好適実施例によるシグナリングイベントを説明するシグナリングチャートを示す図である。
【図１】
2004534994.tif 000003
【図２】
2004534994.tif 000004
【図３】
2004534994.tif 000005
【図４】
2004534994.tif 000006
【図５】
2004534994.tif 000007
【図６】
2004534994.tif 000008
【国際公開パンフレット】
2004534994.tif 000009
2004534994.tif 000010
2004534994.tif 000011
2004534994.tif 000012
2004534994.tif 000013
2004534994.tif 000014
2004534994.tif 000015
2004534994.tif 000016
2004534994.tif 000017
2004534994.tif 000018
2004534994.tif 000019
2004534994.tif 000020
2004534994.tif 000021
2004534994.tif 000022
2004534994.tif 000023
2004534994.tif 000024
2004534994.tif 000025
2004534994.tif 000026
2004534994.tif 000027
2004534994.tif 000028
2004534994.tif 000029
2004534994.tif 000030
2004534994.tif 000031
【国際公開パンフレット（コレクトバージョン）】
2004534994.tif 000032
2004534994.tif 000033
【国際調査報告】
2004534994.tif 000034
2004534994.tif 000035
2004534994.tif 000036