(57)【要約】【課題】  電子装置はしばしばデータ自体を同期させる必要がある。【解決手段】  同期エンジンは、変更されたデータの追跡、フィルタリング、および回復同期をサポートするデータベースを含む。電子装置で行われるデータ変更は、データ同期のために追跡される。データは、日付の範囲、装置の状態、および新しく追加された項目、変更された項目、削除された項目などの項目のカテゴリなど、予め定められた基準に従ってデータベースによってフィルタにかけられる。回復同期は、同期プロセス中の通信の中断のために紛失したデータの回復を可能にする。【選択図】  図３
2005322250.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子装置と第２の電子装置との間でデータを同期させるコンピュータ実装方法であって、
前記第１の電子装置と前記第２の電子装置との間で更新すべきメタデータを含むデータベースを選択するステップと、
前記選択されたデータベースの種別に対応し、クエリを前記第１の電子装置から前記第２の電子装置に送信して、前記第２の電子装置には存在するが、前記第１の電子装置には存在しない前記メタデータに関連付けられている情報を反映する前記更新すべきメタデータの項目のリストを前記第２の電子装置が作成するステップと、
前記更新すべき情報を前記第１の電子装置から前記第２の電子装置に送信するステップと
を備えたことを特徴とするコンピュータ実装方法。
【請求項２】
前記クエリを特に更新すべきメタデータの種別用に設計するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記第２の電子装置は、前記データベースに対して前記更新されたメタデータについてのクエリを発行することを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項４】
前記更新すべきメタデータの項目の前記リストを前記データベースから取り出すステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項５】
前記第１の電子装置上の変更されたメタデータに関連付けられている生成番号と前記第２の電子装置上の前記更新すべきメタデータとを比較して、前記第２の電子装置には存在するが、前記第１の電子装置には存在しない前記メタデータに関連付けられている前記情報を決定するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項６】
前記更新すべきメタデータに関連付けられているプロフィール情報を取得して、メタデータを更新する要求が繰り返されていることを決定するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項７】
前記メタデータを種別ごとにカテゴリ化するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項８】
前記第１の電子装置および前記第２の電子装置に格納されているメタデータ間の競合を解決して、前記メタデータの同じバージョンが前記第１の電子装置上、および前記第２の電子装置上に存在するようにするステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項９】
第１の電子装置と第２の電子装置との間でデータを同期させるシステムであって、
前記第１および第２の電子装置に結合され、前記第１および第２の電子装置上のメタデータへの変更が実装されるデータベースと、
前記データベースに結合される同期エンジンであって、
クエリを前記第２の電子装置に送信して、前記第２の電子装置には存在するが、前記第１の電子装置には存在しない前記メタデータに関連付けられている情報を反映する前記更新すべきメタデータの項目のリストを前記第２の電子装置が作成し、および
前記更新すべき情報を前記第２の電子装置に送信する
よう構成される同期エンジンと
を備えたことを特徴とするシステム。
【請求項１０】
前記データベースは、前記第１の電子装置および前記第２の電子装置から成るグループのうちの少なくとも１つのメモリ構成要素で使用可能であることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記更新すべき情報は、前記データベースから取り出されることを特徴とする請求項９に記載のシステム。
【請求項１２】
前記データベースに結合されて、前記情報にどの変更が加えられたかに基づく情報のカテゴリを含む特定の情報が前記データベースから取得可能なフィルタをさらに備えたことを特徴とする請求項９に記載のシステム。
【請求項１３】
前記情報のカテゴリは、新しく追加された情報、変更された情報、ソフト削除された情報、および削除された情報を含むことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記同期エンジンは、前記データベースと前記アプリケーションプログラムインターフェイスとを仲裁して、前記同期エンジンが起動されるたびに、アプリケーションプログラムインターフェイスと通信し、前記情報を列挙するようにすることを特徴とする請求項９に記載のシステム。
【請求項１５】
前記アプリケーションプログラムインターフェイスの各項目は、情報の列挙によって確実に前記データベース内にさらに含まれるようにすることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記データベースは、データを更新する要求が繰り返されるかどうかを決定するために使用されるプロフィール情報を含むことを特徴とする請求項９に記載のシステム。
【請求項１７】
前記データベースは、回復同期が必要かどうかを決定するために使用されるプロフィール情報を含むことを特徴とする請求項９に記載のシステム。
【請求項１８】
同期が中断されると、前記メタデータが回復可能なように、最新の情報更新要求に関連付けられている前記メタデータのバックアップを格納するステップを回復同期が含むことを特徴とする請求項１７に記載のシステム。
【請求項１９】
第１の電子装置と第２の電子装置との間でデータを同期させるコンピュータ実行可能命令を有するコンピュータ読取可能な媒体であって、
前記第１の電子装置と前記第２の電子装置との間で、更新すべきメタデータを含むデータベースを選択するステップと、
選択されたデータベースの種別に対応し、更新すべきメタデータの種類用に特に設計されたクエリを前記第１の電子装置から前記第２の電子装置に送信して、前記第２の電子装置には存在するが、前記第１の電子装置には存在しない情報を反映する前記更新すべきメタデータの項目のリストを前記第２の電子装置が作成するステップと、
前記更新すべきメタデータに関連付けられている情報を前記第１の電子装置から前記第２の電子装置に送信するステップと
を備えたことを特徴とするコンピュータ読取可能な媒体。
【請求項２０】
前記第１の電子装置上の変更されたメタデータに関連付けられている生成番号と、前記第２の電子装置上の前記更新すべきメタデータとを比較して、前記第２の電子装置には存在するが、前記第１の電子装置には存在しない前記メタデータに関連付けられている前記情報を決定するステップをさらに備えたことを特徴とする請求項１９に記載のコンピュータ読取可能な媒体。
【請求項２１】
第１の電子装置と第２の電子装置との間でデータを同期させるシステムであって、
前記第１の電子装置と前記第２の電子装置との間で更新すべきメタデータを含むデータベースを選択する手段と、
クエリを前記第１の電子装置から前記第２の電子装置に送信して、前記第２の電子装置には存在するが、前記第１の電子装置には存在しないメタデータに関連付けられている情報を反映する前記更新すべきメタデータの項目のリストを前記第２の電子装置が作成するようにする手段と、
前記更新すべき情報を前記第１の電子装置から前記第２の電子装置に送信する手段と
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
データ同期は、ある電子装置でのデータの変更を別の電子装置で実行できるようにすることによって、コンピューティング装置の可動性を向上させる。例えば、カレンダアプリケーションをモバイル装置上で変更することができる。その変更は、ユーザがデータを手動で更新させる必要がないように、データ同期を使用して、パーソナルコンピュータに格納されている同じカレンダアプリケーション上に複写することができる。
【０００２】
アプリケーションに関連付けられている同期ファイルは、ファイルに関連付けられているデータの状態の管理を行う。例えば、コンピューティング装置は、多数の項目を含む電子メールアプリケーションの受信トレイを有することができる。こうした項目は、すべての項目または項目の一部に関連付けられている情報を追跡することによって同期させることができる。同期ファイルは項目の一部に関連する情報を格納してはいるが、しかし装置が残りの項目の状態を知らない場合がある。したがって、残りの項目に対する変更は、その装置では更新されない場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ユーザは、予め定められた基準に従ってデータをフィルタにかけることを望む場合がある。例えば、ユーザが、ある期間にわたって受信したすべての電子メールメッセージを要求する場合がある。次いで同期ファイルは、電子メールアプリケーション内のすべての項目を検査して、所与の期間中にその項目を受信したかどうかを決定する。フィルタリングプロセスは、遅く、非効率的である。というのは、その項目がフィルタパラメータ内に含まれるかどうかを決定するために、フィルタプロパティへのインデックスを使用せずにすべての項目がチェックされるからである。
【課題を解決するための手段】
【０００４】
本発明は、電子装置間でデータ同期を行う方法およびシステムを目的としている。同期エンジンは、変更データの追跡、フィルタリング、および回復同期（ｒｅｃｏｖｅｒｙ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ）が可能なデータベースを含む。電子装置で行われるデータ変更は、データ同期のために追跡される。データは、日付の範囲、装置の状態、および新しく追加された項目、変更された項目、削除された項目などの項目のカテゴリなど、予め定められた基準に従ってデータベースによってフィルタにかけられる。回復同期により、同期プロセス中の通信の中断のために紛失したデータの回復が可能となる。
【０００５】
本発明の一態様によれば、コンピュータ実装方法は、第１の電子装置と第２の電子装置との間でデータを同期させる。第１の電子装置と第２の電子装置との間で更新すべきメタデータを含むデータベースが選択される。更新すべきメタデータの項目のリストが第２の電子装置によって作成されるように、第１の電子装置から第２の電子装置にクエリが送信される。項目のリストには、第２の電子装置には存在するが、第１の電子装置には存在しないメタデータに関連付けられている情報が反映される。更新すべき情報は第１の電子装置から第２の電子装置に送信される。
【０００６】
本発明の別の態様によれば、システムは、第１の電子装置と第２の電子装置との間でデータを同期させる。このシステムは、第１の電子装置および第２の電子装置に結合されたデータベース、およびデータベースに結合された同期エンジンを含む。第１の電子装置および第２の電子装置でのメタデータに対する変更は、データベースに実装される。同期エンジンは、更新すべきメタデータの項目のリストが第２の電子装置によって作成されるように、第２の電子装置にクエリを送信するように構成される。リストは、第２の電子装置には存在するが、第１の電子装置には存在しないメタデータに関連付けられている情報を反映する。同期エンジンはさらに、第２の電子装置に更新すべき情報を送信するように構成される。
【発明を実施するための最良の形態】
【０００７】
以下に、電子装置間でのデータ同期のための方法およびシステムについて説明する。同期エンジンには、変更データの追跡、データのフィルタ、および回復同期をサポートするデータベースが含まれる。電子装置で行われるデータ変更は、データ同期のために追跡される。データは、日付の範囲、装置の状態、および新しく追加された項目、変更された項目、削除された項目などの項目のカテゴリなど、予め定められた基準に従ってデータベースによってフィルタにかけられる。回復同期により、同期プロセス中の通信の中断のために紛失したデータの回復が可能となる。
【０００８】
動作環境例
図１を参照すると、本発明を実施する１つのシステム例には、コンピューティング装置１００などのコンピューティング装置が含まれる。コンピューティング装置１００は、クライアント、サーバ、モバイル装置、またはネットワークを基礎とするコラボレーションシステム（ｎｅｔｗｏｒｋ  ｂａｓｅｄ  ｃｏｌｌａｂｏｒａｔｉｏｎ  ｓｙｓｔｅｍ）のデータと対話する他の任意のコンピューティング装置として構成することができる。非常に基本的な構成では、コンピューティング装置１００は一般に、少なくとも１つの処理ユニット１０２およびシステムメモリ１０４を備える。コンピューティング装置の正確な構成および種類に応じて、システムメモリ１０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組み合わせとすることができる。システムメモリ１０４は、一般にオペレーティングシステム１０５、１つまたは複数のアプリケーション１０６を含み、またプログラムデータ１０７を含んでいてもよい。本発明は、以下で詳述するように、アプリケーション１０６内に実装される。
【０００９】
コンピューティング装置１００は、追加の特徴および機能を有していてもよい。例えば、コンピューティング装置１００は、磁気ディスク、光ディスク、テープなどの追加のデータ記憶装置（取外式および／または固定式）を含むこともできる。こうした追加の記憶装置を、図１に、取外式記憶装置１０９および固定式記憶装置１１０で示している。コンピュータ記憶媒体には、コンピュータ読取可能命令、データ構造、プログラムモジュール、他のデータなど、情報を格納するための任意の方法または技術で実施される揮発性および不揮発性の取外式および固定式媒体などがある。システムメモリ１０４、取外式記憶装置１０９、および固定式記憶装置１１０はすべて、コンピュータ記憶装置媒体の例である。コンピュータ記憶媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報の格納に使用でき、コンピューティング装置１００からアクセスできる他の任意の媒体などがある。こうした任意のコンピュータ記憶媒体は、装置１００の一部とすることができる。コンピューティング装置１００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置１１２を含むこともできる。ディスプレイ、スピーカ、プリンタなどの出力装置１１４を含むこともできる。
【００１０】
コンピューティング装置１００は、装置が例えばネットワークを介して他のコンピューティング装置１１８と通信できるようにする通信接続１１６も含む。ネットワークは、ローカルエリアネットワーク、広域ネットワーク、およびそれだけには限定されないがイントラネットおよびエクストラネットを含む他の大規模ネットワークを含む。通信接続１１６は、通信媒体の一例である。通信媒体は一般に、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータによって搬送波または他の移送機構などの変調されたデータ信号に組み込まれる。これには任意の情報配送媒体がある。「変調されたデータ信号」という用語は、信号に情報を符号化するように１つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体がある。コンピュータ読取可能な媒体という用語は、本明細書で使用する場合、記憶媒体および通信媒体の両方を含む。
【００１１】
電子装置間でのデータの同期
図２は、本発明による電子装置間でデータを同期させるためのシステムを示す機能ブロック図である。このシステムは、電子装置２００、２１０、デ―タベース２２０、フィルタ２４０、同期エンジン２５０、およびアプリケーションプログラムインターフェイス（ＡＰＩ）２６０を含む。電子装置２００、２１０は、情報を電子的に通信する任意の装置でよい。例えば、電子装置２００、２１０は、図１に関連して上述したようなコンピューティング装置とすることができる。
【００１２】
データベース２２０は、ファイルに関連付けられている情報を含む。一実施形態において、データベース２２０は、電子装置２００および／または２１０のメモリ構成要素で使用可能である。別の実施形態において、データベース２２０は、電子装置２００、２１０の外部にあるサーバに格納される。別の実施形態において、データベース２２０は、企業のイントラネットなど、内部ドメインに関連付けられている。
【００１３】
データベース２２０は、アプリケーションに関連付けられているデータオブジェクトを記述するテーブル２３０を含む。テーブルスキーマは、データベース２２０に格納されたメタデータで定義される。データベース２２０は、フォルダのリストも含むことができる。例えば、電子メールアプリケーションに関連付けられているフォルダは、受信トレイ、送信済み項目、削除済み項目を含むことができる。テーブル２３０は、各フォルダに関連付けられている情報、およびフォルダ内の各項目に関連付けられている情報を含むことができる。一実施形態において、あるテーブルは、親フォルダに関連付けられている別のテーブルを指す可能性がある。
【００１４】
データベース２２０は、その項目に対して行われる任意の変更を含めて、装置アプリケーションに関連付けられている項目を追跡する。データベース２２０は、データベース２２０が同期プロセスを駆動するように、項目がどの電子装置に関連付けられているかについての情報を含めて、項目の状況を維持する。電子装置２００（または２１０）に関連付けられているデータが変更されると、この変更は、データベース２２０にも実装される。次いでデータベース２２０は、電子装置２１０（または２００）がデータベース２２０からデータを取り出し、そのデータが電子装置２１０（または２００）で更新されるように、格納されているデータへの変更を電子装置２１０（または２００）に通知する。データに関連付けられているアプリケーションは、データに対して行われた変更を電子装置２００、２１０に連続的に通知する。
【００１５】
一例において、データ変更は、受信トレイに到達する新しい電子メールメッセージ、入力される新しいカレンダ項目、または受信される新しいミーティング要求を含むことができる。別の例において、データ変更は、電子装置２００（または２１０）での新しい項目の作成を含むことができる。さらに別の例において、データ変更は、データベース２２０でのフォルダ名の変更を含むことができる。
【００１６】
電子装置２００、２１０は、フィルタ２４０を使用して、データベース２２０からの特定の項目の取り出しを要求することができる。項目は、項目にどの変更を加えたかに従ってカテゴリ化することができる。例えば、変更された項目のカテゴリは、新しく追加された項目、変更された項目、ソフト削除された項目（ｓｏｆｔ  ｄｅｌｅｔｅｄ  ｉｔｅｍ）、および削除された項目を含む。ソフト削除された項目とは、電子装置２００（または２１０）にいったん関連付けられ、しかしもはや指定されたフィルタ範囲内には含まれないフィルタ処理された項目を指す。一例において、フィルタ２４０は、電子メールアプリケーションに関連付けられている受信トレイフォルダで２日以内に受信されたすべての項目を提供するように設定することができる。２日経った後、項目はソフト削除されると考えられる。
【００１７】
フィルタ２４０によって、電子装置２００、２１０は、テーブル２３０から要求された情報を取り出すことができる。電子装置２００、２１０が要求された項目に関連付けられているフォルダとの同期をとると、電子装置２００、２１０に関連付けられている設定は、前の同期以降に変更された要求された項目のみが電子装置２００、２１０に送信されるように決定される。一実施形態において、データ変更を要求する装置からデータベース２２０に送信された追加項目、変更項目、ソフト削除項目、削除項目に対応するデータ変更は、その後の同期中、要求側装置に戻されない。
【００１８】
フィルタ２４０は、データベース２２０内のテーブル２３０にアクセスするクエリとして実装される。フィルタ２４０は、変更された項目の検索を促進するために、要求された項目のインデックスを提供する。したがって、項目がフィルタ２４０によって設定されたパラメータ内に含まれるかどうかを決定するために、データベース２２０内のすべての項目を検索する必要はない。例えば、ユーザは、所与のミーティング要求を送信した同じ人物によって送信されたすべてのカレンダ項目を要求することができる。次いでフィルタ２４０は、データベース２２０内のテーブル２３０をその人物に関連付けられているカレンダ項目について検索するだけでよい。次いで要求された項目は、要求側電子装置に戻される。
【００１９】
ＡＰＩ２６０は、アプリケーションに関連付けられているインターフェイスを公開する。一実施形態において、ＡＰＩ２６０は、電子メールアプリケーションに関連付けられているインターフェイスを公開するメッセージングアプリケーションである。
【００２０】
同期エンジン２５０は、データベース２２０を制御する。同期エンジン２５０は、同期エンジン２５０が起動されるたびに、同期エンジン２５０がＡＰＩ２６０と通信し、すべての項目を列挙するように、データベース２５０とＡＰＩ２６０とを仲裁する。項目の列挙は、データベース２２０とＡＰＩ２６０との間に１対１の対応が存在するように、ＡＰＩ２６０のすべての項目が確実にデータベース２２０内にも存在するようにする。一実施形態において、ＡＰＩ２６０とデータベース２２０との間の関係が制限される場合があり、したがってすべての項目がＡＰＩ２６０の各フォルダに格納されるわけではない。装置は一度に１つのアプリケーションに関連付けられているデータを同期させているため、項目は、同期をとられているアプリケーションに関連付けられているフォルダ内のみに格納される場合がある。
【００２１】
一例において、同期エンジン２５０は、所与のフォルダ内のある項目が変更された、または電子装置２００内の異なるフォルダに移動された旨の通知を受信する。データベース２２０は、変更を反映するように更新される。同期エンジン２５０は、電子装置２１０が変更されたデータをデータベース２２０から取り出すように、電子装置２１０への呼出を駆動する（ｔｒｉｇｇｅｒ）。電子装置２１０は、変更されたデータをデータベース２２０に要求し、対応するフォルダに関連付けられているプロフィール情報もデータベース２２０から取り出すことができる。プロフィール情報には、要求が繰り返されているかどうかを決定できるように、前の同期の試行についての情報が含まれる。プロフィール情報は、回復が必要かどうかを決定するためにも使用される。
【００２２】
同期エンジン２２０は、前のフィルタリングプロセスの結果を検査して、電子装置２００に格納されたデータを決定する。新しいフィルタリングプロセスは、追加、変更、ソフト削除、または削除された電子装置２００上の項目のリストを計算する。電子装置２００および２１０の同じ項目に変更が加えられる場合があり、したがって異なるバージョンの項目が各電子装置に存在する。例えば、予約項目に関連付けられている開始時刻または終了時刻が電子装置２００で変更され、また電子装置２１０でも異なる時間に変更される。したがって、電子装置２００に格納されたデータと電子装置２１０に格納されたデータとの間で競合が生じる。こうした任意の競合は、同期プロセス中に解決される。
【００２３】
図３は、本発明による変更された電子装置と要求側電子装置との間でデータを同期させるためのプロセスを示す動作フロー図である。変更された電子装置は、変更されたメタデータを有する。要求側電子装置は、メタデータが要求側装置で更新されるように、その装置に関連付けられているデータベースに変更されたメタデータを要求する。メタデータには、データおよびデータの記述が含まれる。
【００２４】
このプロセスは開始ブロックで開始し、メタデータが変更された電子装置で変更され、関連のデータベースに格納されると、同期プロセスが開始する。ブロック３００に移動すると、要求側電子装置は、変更されたメタデータを含むデータベースを選択する。要求側電子装置に、同期エンジンによるデータベースへの変更の旨が通知される。データベースは、要求側電子装置の内部にあっても外部にあってもよい。
【００２５】
ブロック３０５に進むと、変更されたメタデータをデータベースから取り出すためにクエリが設計される。各クエリは、最後の同期以降に変更された要求されたメタデータのみが取り出されるように、特に変更された種類のメタデータ用に設計される。ブロック３１０に進むと、要求側電子装置は、データベースに対して更新されたメタデータについてのクエリが発行される。
【００２６】
ブロック３１５に移行すると、データベースに、変更されたメタデータのリストを変更された電子装置から取り出す。変更されたデータに関連付けられている一意の識別子をデータベースに送信することもできる。一実施形態においては、一意の識別子は、データが変更されるたびに更新される変更番号である（すなわち一意の識別子への参照は取り除かれる）。
【００２７】
決定ブロック３２０に進むと、更新すべきメタデータのリスト上のメタデータに関連付けられている生成番号が、変更されたメタデータに関連付けられている生成番号と同じであるかどうかの決定が行われる。メタデータが最初に作成され、転送され、変更され、そうでない場合は最初に同期エンジンに処理されるとき、メタデータに生成番号が割り当てられる。生成番号を使用して、メタデータが最後の同期以降変更されたかどうかを決定する。生成番号が最後の同期が行われたのと同じである場合、一部のメタデータは更新を必要とする。一実施形態において、変更されたメタデータの各種別は、個別の生成番号に関連付けられている。生成番号が同じである場合、処理はブロック３５５に進む。生成番号が異なる場合、処理はブロック３２５に進む。
【００２８】
決定ブロック３２５に進むと、生成番号が予想より１だけ小さいかどうかの決定が行われる。生成番号が予想より１だけ小さい場合、処理はブロック３３５に進む。生成番号が予想より１だけ小さいものではない場合、処理はブロック３３０に進み、クライアントに同期エラーが送信される。次いで処理は終了ブロック３９５で終了する。
【００２９】
ブロック３３５に進むと、要求側電子装置は、要求側装置がクエリを処理するように、更新すべきメタデータをデータベースに要求する。ブロック３４０に移行すると、更新されたメタデータに関連付けられているプロフィール情報を取得することによって要求が満たされる。プロフィール情報には、前の同期の試行についての情報が含まれ、要求が繰り返されているかどうかを決定できるようになっている。ブロック３４５に移動すると、プロフィール情報に一致するメタデータが決定される。ブロック３５０に進むと、最後の更新要求から残っているコマンドは、現在の更新要求からのコマンドで解決される。処理はブロック３７０に進む。
【００３０】
ブロック３５５に進むと、要求側電子装置は、要求側装置がクエリを処理するように、更新すべきメタデータをデータベースに要求する。ブロック３６０に移行すると、更新されたメタデータに関連付けられているプロフィール情報を取得することによって要求が満たされる。ブロック３６５に移動すると、プロフィール情報に一致するメタデータが決定される。
【００３１】
ブロック３７０に進むと、プロフィール情報に一致するメタデータについて、前の検索フィルタが現在の検索フィルタと比較される。ブロック３７５に進むと、メタデータがカテゴリ化される。一実施形態において、メタデータは、新しく追加された項目、変更された項目、ソフト削除された項目、および削除された項目のカテゴリに分けられる。
【００３２】
ブロック３８０に移動すると、異なる電子装置に格納された同じメタデータ項目の異なるバージョンの間の任意の競合を解決するための競合の解決が行われる。メタデータ項目間の任意の競合を解決するために、要求側電子装置に送信されるべき各メタデータ項目が要求側電子装置に予め存在していたメタデータ項目のリストと比較される。
【００３３】
ブロック３８５に進むと、変更されたメタデータが要求側電子装置で更新されるように、変更されたメタデータの最後のリストが生成され、要求側電子装置に転送される。メタデータの更新は、新しいメタデータの作成、メタデータの削除、またはメタデータを異なるフォルダに移動することなどによるメタデータの変更を含む可能性がある。ブロック３９０に進むと、メタデータに関連付けられている生成番号が変更される。次いで処理は終了ブロック３９５で終了する。
【００３４】
一実施形態において、電子装置間の通信が同期中に中断される場合、データを回復できるように、最新の更新要求に関連付けられているデータのバックアップが格納される。データは、電子装置のネットワークからの切断、またはシステムの障害のために紛失する可能性がある。
【００３５】
上記の仕様、例、およびデータは、製造の完全な説明および本発明の構成の使用を提供している。本発明の多くの実施形態は、本発明の意図および範囲から逸脱することなく作成することができるので、本発明は特許請求の範囲にある。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態例に従って使用できるコンピューティング装置を示している。
【図２】本発明による電子装置間でデータを同期させるためのシステムを示す機能ブロック図である。
【図３】本発明による電子装置間でデータを同期させるためのプロセスを示す動作フロー図である。
【符号の説明】
【００３７】
１００  コンピューティング装置
１０２  処理ユニット
１０４  システムメモリ
１０５  オペレーティングシステム
１０６  アプリケーション
１０７  プログラムデータ
１０９  取外式記憶装置
１１０  固定式記憶装置
１１２  入力装置
１１４  出力装置
１１６  通信接続
１１８  他のコンピューティング装置
２００  電子装置
２１０  電子装置
２２０  データベース
２３０  テーブル
２４０  フィルタ
２５０  同期エンジン
【図１】
2005322250.tif 000003
【図２】
2005322250.tif 000004
【図３】
2005322250.tif 000005
【外国語明細書】
2005322250000001.pdf