(57)【要約】【課題】携帯型の電子デバイス、より具体的には、通信ネットワークにおいて具体化されたデータとの携帯型の電子デバイスにおけるデータの同期化を提供すること。【解決手段】第１のデータ記録を含む第１のデータベースと第２のデータ記録を含む第２のデータベースとを同期化する方法であって、第２のデータ記録を代表する情報を受信することと、第２のデータベースの第２のデータ記録との一方向性の同期化において、第１のデータベースの第１のデータ記録を改変することとを含み、改変することは、第１のデータベースに存在する第１のデータ記録のうちの一部のデータ記録を削除することを含み、この一部のデータ記録に対し、第２のデータベースにおいては対応する第２のデータ記録が存在しない。【選択図】図６
2011198385.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子デバイスにおいて第１のデータ記録を含む第１のデータベースと第２の電子デバイスにおいて第２のデータ記録を含む第２のデータベースとを同期化する方法であって、該方法は、
該第１の電子デバイスにおいて、該第２のデータ記録を表す情報を遅い同期化トリガと共に受信すること
を含み、
該遅い同期化トリガは、該第２のデータ記録のうちの一部のデータ記録を削除するためのデータ記録削除命令を受信することを含み、
該遅い同期化は、該第１の電子デバイスにおいて、該第２のデータベースの該第２のデータ記録との一方向性の同期化において、該第１のデータベースの該第１のデータ記録を改変することを含み、
該改変することは、削除するための該第２のデータ記録の数が閾値を満たすか該閾値を超えている場合には、該第１のデータベースに存在する該第１のデータ記録のうちの一部のデータ記録を削除することを含み、該一部のデータ記録に対し、該第２のデータベースにおいては対応する第２のデータ記録が存在しない、方法。
【請求項２】
前記第１のデータベースの前記第１のデータ記録を改変することは、前記第２のデータベースに存在する第２のデータ記録に対応するさらなるデータ記録を、該第１のデータベースに書き込むことをさらに含み、該第２のデータ記録に対し、該第１のデータベースにおいては対応する第１のデータ記録が存在しない、請求項１に記載の方法。
【請求項３】
前記第１のデータベースの前記第１のデータ記録を改変することは、前記第２のデータ記録のうちの対応する一部のデータ記録とは異なる第１のデータ記録に対し、該第１のデータベースのそれらの第１のデータ記録を上書きし、該第２のデータ記録のうちの対応する一部のデータ記録を反映することをさらに含む、請求項２に記載の方法。
【請求項４】
前記第１のデータベースの前記第１のデータ記録を表す情報と前記第２のデータ記録を表す前記情報とを比較することと、
前記第１のデータ記録を改変する前に、該第２のデータ記録と該第１のデータ記録との間の差を決定することと
を含む、請求項１に記載の方法。
【請求項５】
差を決定することは、前記第１のデータ記録のうちの前記一部のデータ記録を削除する前に、前記第１のデータベースにおける第１のデータ記録の各々に対し、対応する第２のデータ記録が前記第２のデータベースに存在するかどうかを決定することを含む、請求項４に記載の方法。
【請求項６】
前記差を決定することは、前記第２のデータベースの前記第２のデータ記録のうちの一部のデータ記録に対応する第１のデータ記録が、前記第１のデータベースに存在しないかどうかを決定し、存在しない場合には、前記第２のデータ記録のうちの一部のデータ記録の送信を要求することを含む、請求項４に記載の方法。
【請求項７】
前記差を決定することは、その他の第１のデータ記録が前記第２のデータ記録の対応するその他の一部のデータ記録とは異なるかどうかを決定し、異なる場合には、該第２のデータ記録のうちのその他の一部のデータ記録の送信を要求することを含む、請求項４に記載の方法。
【請求項８】
前記第２のデータ記録のうちの一部のデータ記録を受信し、前記第１のデータベースに書き込むことを含む、請求項６に記載の方法。
【請求項９】
前記第２のデータ記録のうちのその他の一部のデータ記録を受信し、前記第１のデータ記録のうちの一部のデータ記録のそれぞれの上に上書きすることを含む、請求項７に記載の方法。
【請求項１０】
前記第２のデータ記録を表す情報を受信することは、該第２のデータ記録を表すハッシュ情報を受信することを含む、請求項５に記載の方法。
【請求項１１】
前記比較することは、前記第２のデータ記録を表す前記ハッシュ情報と前記第１のデータ記録を表す対応するハッシュ情報とを比較することを含む、請求項１０に記載の方法。
【請求項１２】
前記遅い同期化トリガは、該第２のデータ記録のうちの一部のデータ記録の数と閾値とを比較することと、該第２のデータ記録のうちの一部のデータ記録の該数が該閾値を超えているかどうかを決定することとを含む、請求項１に記載の方法。
【請求項１３】
前記遅い同期化トリガは、前記第２のデータ記録を表す情報と共に開始コマンドを受信することを含む、請求項１に記載の方法。
【請求項１４】
第１のデータ記録を含む第１のデータベースと第２のデータ記録を含む第２のデータベースとを同期化する装置であって、
該装置は、
該第１のデータベースに該第１のデータ記録を格納するメモリデバイスと、
該メモリデバイスならびに送信および受信デバイスに動作可能なように接続されたプロセッサと
を備え、
該プロセッサは、該第２のデータ記録を表す情報を遅い同期化トリガと共に受信し、
該遅い同期化トリガは、該第２のデータ記録のうちの一部のデータ記録を削除するためのデータ記録削除命令を受信することを含み、
該遅い同期化は、該第２のデータベースの該第２のデータ記録との一方向性の同期化において、該第１のデータベースの該第１のデータ記録を改変することを含み、
該改変することは、削除するための該第２のデータ記録の数が閾値を満たすか該閾値を超えている場合には、該第１のデータベースに存在する該第１のデータ記録のうちの一部のデータ記録を削除することを含み、該一部のデータ記録に対し、該第２のデータベースにおいては対応する第２のデータ記録が存在しない、装置。
【請求項１５】
コンピュータ読み取り可能な媒体であって、該コンピュータ読み取り可能な媒体において具現化されたコンピュータ読み取り可能なコードを有しており、該コンピュータ読み取り可能なコードは、プロセッサによって実行されると、
第１のデータベースの第１のデータ記録を表す情報を遅い同期化トリガと共に受信することを実行し、
該遅い同期化トリガは、該第１のデータ記録のうちの一部のデータ記録を削除するためのデータ記録削除命令を受信することを含み、
該遅い同期化は、該第１のデータベースの該第１のデータ記録との一方向性の同期化において、第２のデータベースの第２のデータ記録を改変することを含み、
該改変することは、削除するための該第１のデータ記録の数が閾値を満たすか該閾値を超えている場合には、該第２のデータベースに存在する該第２のデータ記録のうちの一部のデータ記録を削除することを含み、該一部のデータ記録に対し、該第１のデータベースにおいては対応する第１のデータ記録が存在しない、コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（分野）
本発明は、概して、携帯型の電子デバイスに関し、より具体的には、通信ネットワークにおいて具体化されたデータとの携帯型の電子デバイスにおけるデータの同期化に関する。
【背景技術】
【０００２】
（背景）
携帯型の電子デバイス、例えば無線のパーソナルデジタルアシスタント（ＰＤＡ）、スマートテレフォン、および無線能力を有するラップトップコンピュータは、様々な機能のための幅広い用途を獲得してきた。一般的に、そのようなデバイスは、データの転送を含む通信目的で用いられ、データ専用のネットワーク（例えば、ＭｏｂｉｔｅｘおよびＤａｔａ  ＴＡＣ）から複雑な音声およびデータネットワーク（例えば、ＧＳＭ／ＧＰＲＳ、ＣＤＭＡ、ＥＤＧＥ、ＵＭＴＳ、およびＷ−ＣＤＭＡネットワーク）までの様々なネットワーク上で機能する。
【０００３】
これらの携帯型の電子デバイスは、一般的に、デバイスのユーザによって選択的に抽出され得るデータを格納するデータベースを含む。データは、一連のデータ記録を形成し、各データ記録は、１つ以上のフィールドを含む。デバイスの動作中、データは抽出および表示されたり、またはユーザが利用できるようにされたりする。データは、デバイスのユーザによって、改変、追加、または削除され得る。
【０００４】
電子デバイスに格納されたデータのバックアップを提供するために、データ格納装置における進歩に伴って、携帯型の電子デバイスが進歩した。デバイスをバックアップすることによって、電子デバイスにおけるデータの損失が起こった場合に、データが復元され得る。様々な電子デバイスは、これらの電子デバイスと例えばコンピューティングステーション（例えば、デスクトップコンピュータ）との間の固定（有線）接続を介する通信を経由することによって、バックアップされ得る。一旦データがコンピューティングステーションにおけるデータベースに格納されると、格納されたデータは、コンピューティングステーションにおけるユーザによって、改変、追加、または削除され得る。
【０００５】
その他の携帯型の電子デバイスは、携帯型の電子デバイスに格納されたデータのバックアップを、例えば上述のネットワークを用いることによって、無線ネットワークを経由して、コンピューティングステーションに提供する。このように、データが無線通信システムの無線通信チャネルを介して送信され、それによって携帯型の電子デバイスと遠隔局（有線接続によってリンクされていない局）との間の通信リンクを形成する。ここでもまた、一旦データがコンピューティングステーションにおけるデータベースに格納されると、格納されたデータは、コンピューティングステーションにおけるユーザによって、改変、追加、または削除され得る。このように、携帯型の電子デバイスのデータベースに格納されているデータがコンピューティングシステムにバックアップされる間に、データはまた、コンピューティングステーションから携帯型の電子デバイスに送信され、携帯型の電子デバイスのデータベースとコンピューティングステーションのデータベースとを同期化する。コンピューティングステーションに記録されているデータが携帯型の電子デバイス上に存在しないとき、またはコンピューティングステーションのデータ記録の内容（データ記録のフィールド）が携帯型の電子デバイスのデータ記録の内容と異なっているときに、追加的なデータ記録または異なるデータ記録が、携帯型の電子デバイスに転送される。同様に、携帯型の電子デバイス上に記録されたデータが、コンピューティングステーションに存在しないとき、または携帯型の電子デバイスのデータ記録の内容が、コンピューティングステーションのデータ記録の内容と異なっているときに、追加的なデータ記録または異なるデータ記録が、コンピューティングステーションに転送される。
【０００６】
無線通信チャネルを介するデータの同期化は、データが長い距離を介して遠隔的に通信され得るので、明らかに有利である。しかしながら、無線通信チャネルを介する従来のデータの同期化の方法は、不利を被っていた。そのようなデータの同期化は、帯域幅を非常に多く消費し得る。多数の記録が転送される場合、転送時間は、長時間であり得る。このことは、通信チャネルが、データ記録を転送するために長時間にわたって開かれ、それが高コストであり得るということを意味し得る。
【０００７】
データ記録が携帯型の電子デバイスから削除されるとき、コンピューティングステーションにおける対応するデータ記録を削除するために、データ記録削除指示が、携帯型の電子デバイスからコンピューティングステーションに送信される。携帯型の電子デバイスの動作中に多数の記録が削除されるとき、携帯型の電子デバイスは、いくつかのデータ記録削除指示（携帯型の電子デバイスのデータ記録の削除の各々に対し、１つのデータ記録削除指示が対応する）を転送するので、さらなる転送時間および帯域幅が必要になる。このように、データ記録の削除は全データ記録の転送を必要とするわけではないが、削除される各記録に対し、データ記録削除指示が送信されなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、無線インターフェースによって接続されたデータベースの同期化に関する改善が必要とされる。
【課題を解決するための手段】
【０００９】
（概要）
本出願の一局面にしたがうと、第１のデータ記録を含む第１のデータベースと第２のデータ記録を含む第２のデータベースとを同期化する方法が提供され、第２のデータ記録を代表する情報を受信することと、第２のデータベースの第２のデータ記録との一方向性の同期化において、第１のデータベースの第１のデータ記録を改変することとを含み、改変することは、第１のデータベースに存在する第１のデータ記録のうちの一部のデータ記録を削除することを含み、この一部のデータ記録に対し、第２のデータベースにおいては対応する第２のデータ記録は存在しない。
【００１０】
本出願の別の局面にしたがうと、第１のデータ記録を含む第１のデータベースと第２のデータ記録を含む第２のデータベースとを同期化する装置が提供される。装置は、第１のデータ記録を第１のデータベースに格納するメモリデバイスと、メモリデバイスならびに送信および受信デバイスに動作可能なように接続されたプロセッサとを含み、このプロセッサは、第２のデータ記録を代表する情報を受信し、第２のデータベースの第２のデータ記録との一方向性の同期化において、第１のデータベースの第１のデータ記録を改変し、改変することは、第１のデータベースに存在する第１のデータ記録のうちの一部のデータ記録を削除することを含み、この一部のデータ記録に対し、第２のデータベースにおいては対応する第２のデータ記録は存在しない。
【００１１】
本出願の別の局面にしたがうと、コンピュータ読み取り可能な媒体が提供され、このコンピュータ読み取り可能な媒体は、媒体中に具体化されたコンピュータ読み取り可能なコードを有している。コンピュータ読み取り可能なコードは、プロセッサによって実行されると、第２のデータ記録を代表する情報を受信することと、第２のデータベースの第２のデータ記録との一方向性の同期化において、第１のデータベースの第１のデータ記録を改変することとを実行し、改変することは、第１のデータベースに存在する第１のデータ記録のうちの一部のデータ記録を削除することを含み、この一部のデータ記録に対し、第２のデータベースにおいては対応する第２のデータ記録が存在しない。
例えば、本発明は以下の項目を提供する。
（項目１）
第１のデータ記録を含む第１のデータベースと第２のデータ記録を含む第２のデータベースとを同期化する方法であって、該方法は、
該第２のデータ記録を代表する情報を受信することと、
該第２のデータベースの該第２のデータ記録との一方向性の同期化において、該第１のデータベースの該第１のデータ記録を改変することであって、該改変することは、該第１のデータベースに存在する該第１のデータ記録のうちの一部のデータ記録を削除することであって、該一部のデータ記録に対し、該第２のデータベースにおいては対応する第２のデータ記録が存在しない、ことを含む、ことと
を包含する、方法。
（項目２）
前記第２のデータ記録を代表する前記情報と共に同期化トリガを受信することを含む、項目１に記載の方法。
（項目３）
前記第１のデータベースの前記第１のデータ記録を改変することは、前記第２のデータベースに存在する第２のデータ記録に対応するさらなるデータ記録を、該第１のデータベースに書き込むことをさらに含み、該第２のデータ記録に対し、該第１のデータベースにおいては対応する第１のデータ記録が存在しない、項目１に記載の方法。
（項目４）
前記第１のデータベースの前記第１のデータ記録を改変することは、前記第２のデータ記録のうちの対応する一部のデータ記録とは異なる第１のデータ記録に対し、該第１のデータベースのそれらの第１のデータ記録を上書きし、該第２のデータ記録のうちの対応する一部のデータ記録を反映することをさらに含む、項目３に記載の方法。
（項目５）
前記第１のデータベースの前記第１のデータ記録を代表する情報と前記第２のデータ記録を代表する前記情報とを比較することと、
前記第１のデータ記録を改変する前に、該第２のデータ記録と該第１のデータ記録との間の差を決定することと
を含む、項目１に記載の方法。
（項目６）
差を決定することは、前記第１のデータ記録のうちの前記一部のデータ記録を削除する前に、前記第１のデータベースにおける第１のデータ記録の各々に対し、対応する第２のデータ記録が前記第２のデータベースに存在するかどうかを決定することを含む、項目５に記載の方法。
（項目７）
前記差を決定することは、前記第２のデータベースの前記第２のデータ記録のうちの一部のデータ記録に対応する第１のデータ記録が、前記第１のデータベースに存在しないかどうかを決定し、存在しない場合には、前記第２のデータ記録のうちの一部のデータ記録の送信を要求することを含む、項目５または項目６に記載の方法。
（項目８）
前記差を決定することは、その他の第１のデータ記録が前記第２のデータ記録の対応するその他の一部のデータ記録とは異なるかどうかを決定し、異なる場合には、該第２のデータ記録のうちのその他の一部のデータ記録の送信を要求することを含む、項目５〜項目７のいずれか一項に記載の方法。
（項目９）
前記第２のデータ記録のうちの一部のデータ記録を受信し、前記第１のデータベースに書き込むことを含む、項目７に記載の方法。
（項目１０）
前記第２のデータ記録のうちのその他の一部のデータ記録を受信し、前記第１のデータ記録のうちの一部のデータ記録のそれぞれの上に上書きすることを含む、項目８に記載の方法。
（項目１１）
前記第２のデータ記録を代表する情報を受信することは、該第２のデータ記録を代表するハッシュ情報を受信することを含む、項目６に記載の方法。
（項目１２）
前記比較することは、前記第２のデータ記録を代表する前記ハッシュ情報と前記第１のデータ記録を代表する対応するハッシュ情報とを比較することを含む、項目１１に記載の方法。
（項目１３）
前記同期化トリガは、前記第２のデータ記録のうちの一部のデータ記録を削除するためのデータ記録削除命令を受信することを含む、項目２に記載の方法。
（項目１４）
前記同期化トリガは、前記第２のデータ記録のうちの一部のデータ記録を削除するためのデータ記録削除命令を受信し、該第２のデータ記録のうちの一部のデータ記録の数と閾値とを比較し、該第２のデータ記録のうちの一部のデータ記録の該数が該閾値を超えているかどうかを決定することを含む、項目２に記載の方法。
（項目１５）
前記同期化トリガは、前記第２のデータ記録を代表する情報と共に開始コマンドを受信することを含む、項目２に記載の方法。
（項目１６）
第１のデータ記録を含む第１のデータベースと第２のデータ記録を含む第２のデータベースとを同期化する装置であって、該装置は、
該第１のデータベースに該第１のデータ記録を格納するメモリデバイスと、
該メモリデバイスならびに送信および受信デバイスに動作可能なように接続されたプロセッサであって、該第２のデータ記録を代表する情報を受信し、該第２のデータベースの該第２のデータ記録との一方向性の同期化において、該第１のデータベースの該第１のデータ記録を改変し、該改変することは、該第１のデータベースに存在する該第１のデータ記録のうちの一部のデータ記録を削除することを含み、該一部のデータ記録に対し、該第２のデータベースにおいては対応する第２のデータ記録が存在しない、プロセッサと
を備えている、装置。
（項目１７）
コンピュータ読み取り可能な媒体であって、該コンピュータ読み取り可能な媒体において具体化されたコンピュータ読み取り可能なコードを有しており、該コンピュータ読み取り可能なコードは、プロセッサによって実行されると、
第２のデータ記録を代表する情報を受信することと、
第２のデータベースの第２のデータ記録との一方向性の同期化において、第１のデータベースの第１のデータ記録を改変することであって、該改変することは、該第１のデータベースに存在する該第１のデータ記録のうちの一部のデータ記録を削除することを含み、該一部のデータ記録に対し、該第２のデータベースにおいては対応する第２のデータ記録が存在しない、ことと
を実行する、コンピュータ読み取り可能な媒体。
【図面の簡単な説明】
【００１２】
【図１】図１は、無線通信システムおよび携帯型の電子デバイスの機能ブロック図である。
【図２】図２は、携帯型の電子デバイス内の特定の内部コンポーネントのブロック図である。
【図３】図３は、同期化サーバ内の特定の内部コンポーネントのブロック図である。
【図４】図４は、無線インターフェースによって接続されたデータベースの同期化の間に、携帯型の電子デバイスと通信システムとの両方において実行される機能を示すシーケンス図である。
【図５Ａ】図５Ａおよび図５Ｂは、データベースの更新の間に、携帯型の電子デバイスと通信システムとの両方において実行される機能を示すシーケンス図である。
【図５Ｂ】図５Ａおよび図５Ｂは、データベースの更新の間に、携帯型の電子デバイスと通信システムとの両方において実行される機能を示すシーケンス図である。
【図６】図６は、データ記録が携帯型の電子デバイスから削除されるときに、携帯型の電子デバイスと通信システムとの両方において実行される機能を示すシーケンス図である。
【図７】図７は、無線インターフェースによって接続されたデータベースの特別な同期化の間に、携帯型の電子デバイスと通信システムとの両方において実行される機能を示すシーケンス図である。
【図８】図８は、データ記録が通信システムから削除されるときに、通信システムと携帯型の電子デバイスとの両方において実行される機能を示すシーケンス図である。
【図９】図９は、無線インターフェースによって接続されたデータベースの第２の特別な同期化の間に、通信システムと携帯型の電子デバイスとの両方において実行される機能を示すシーケンス図である。
【発明を実施するための形態】
【００１３】
無線インターフェースによって接続されたデータベースを同期化する方法および装置は、以下の記載および図面を参照することによって、より良く理解される。
【００１４】
（実施形態の詳細な説明）
最初に、図１に対する参照がなされる。図１は、一般に２０によって示されている無線通信システムおよび携帯型の電子デバイス２２の機能ブロック図を示している。示されているように、無線通信システム２０は、例示的な携帯型の電子デバイス２２を含む携帯型の電子デバイスとの通信を提供する。携帯型の電子デバイス２２および無線通信システム２０は、これらの間で無線通信チャネルを介して通信を実行するように動作可能である。携帯型の電子デバイス２２から発信されるデータは、無線通信チャネルを経由して、無線通信システム２０に通信される。同様に、通信システム２０から発信されるデータは、無線通信チャネルを経由して、無線通信システム２０から携帯型の電子デバイス２２に通信されることによって、携帯型の電子デバイス２２にデータを提供する。
【００１５】
説明を目的として、図１において、通信システムが機能的に表現されており、単一の基地局２４が示されている。基地局２４は、カバーエリアまたはセル２６を定義し、このカバーエリアまたはセル２６内で、基地局２４と携帯型の電子デバイス２２との間の通信が実行され得る。携帯型の電子デバイス２２は、セル２６内で移動可能であり、この例では示されていないその他のセルによって定義されるカバーエリアに移動し得ることに留意されたい。通信システム２０は、リレーデバイス２８を含んでおり、このリレーデバイス２８は、基地局２４および同期化サーバ３０に接続されている。リレーデバイス２８および同期化サーバ３０によって提供される機能は、同じデバイス内で具体化され得ることに留意されたい。示されているように、同期化サーバ３０は、管理サーバ３２に接続されている。管理サーバ３２は、通信システム２０に管理サービスを提供し、また例えば、同期化サーバ３０上の管理された制御を提供する。
【００１６】
同期化サーバ３０は、データベースに機能的に接続されており、データベースのうち、第１のデータベース３４、第２のデータベース３６、および第３のデータベース３８を含む３つのタイプの例示的なデータベースが示されている。この例のデータベースは、テキストフォーマット、例えば、拡張マークアップ言語（ＸＭＬ）フォーマットのデータベースである。第１のデータベース３４、第２のデータベース３６、および第３のデータベース３８内で維持されるデータは、多数のデータ記録を含み、各データ記録は、データによって占有される複数のフィールドを含む。各データ記録の占有されるフィールドのうちの特定のフィールドは、これらのフィールドを含むデータ記録を一意的に識別するのに十分なキーフィールド（ｋｅｙ  ｆｉｅｌｄ）である。
【００１７】
携帯型の電子デバイス２２（本記載のために、この携帯型の電子デバイス２２のうち、特定の機能部分のみが図１に示されている）は、複数のデータベース４０、４２、および４４を含んでおり、これらは、通信システム２０の第１、第２、および第３のデータベース３４、３６、３８にそれぞれ対応している。データベース３４、３６、３８およびデータベース４０、４２、４４は、通信システム２０のデータベース３４、３６、３８が、携帯型の電子デバイス２２のデータベース４０、４２、４４に対応しないように非対称的に、選択的に変更され得る。言い換えると、データベース３４、３６、３８、４０、４２、４４のいずれかまたは全ては、記録のフィールドを占有するデータを追加、削除、または改変することによって、記録を追加し、記録を削除し、記録のフィールドを改変することにより、変更され得る。
【００１８】
ここで図２を参照する。図２は、携帯型の電子デバイス２２内の特定の内部コンポーネントのブロック図を示している。携帯型の電子デバイス２２は、リードオンリーメモリ（ＲＯＭ）４８に接続されたプロセッサ４６を含むマイクロコンピュータに基づいており、このリードオンリーメモリ（ＲＯＭ）４８は、携帯型の通信デバイス２２が通信システム２０との同期化を含む特定の機能を実行することを可能にする、プロセッサ４６によって実行可能な複数のアプリケーションを含んでいる。プロセッサ４６はまた、ランダムアクセスメモリユニット（ＲＡＭ）５０および持続性格納デバイス５２にも接続されており、この持続性格納デバイス５２は、携帯型の電子デバイス２２の様々な不揮発性格納装置としての機能を担っており、この持続性格納デバイス５２内で、データベース４０、４２、４４が維持される。プロセッサ４６は、例えばキーボードのような入力デバイス５４から入力を受信する。プロセッサ４６は、例えばＬＣＤディスプレイのような出力デバイス５６に出力する。プロセッサ４６はまた、内部クロック５８および無線デバイス６０にも接続されており、そして無線デバイス６０は、アンテナ６１に接続されている。無線デバイス６０およびアンテナ６１は共に、無線通信チャネルを介して無線通信システム２０に接続するように用いられる。このように、携帯型の電子デバイス２２は、無線デバイス６０およびアンテナ６１を介して、通信システム２０に（および通信システム２０から）通信されるデータを含む通信信号を、受信および送信するように動作可能である。
【００１９】
本明細書に記載されている機能は、任意の適切な方法で実行され得るということに留意されたい。この例では、機能は、同期化アプリケーションにおいてプロセッサ４６によって実行可能なアルゴリズムによって実行される。例えば、携帯型の電子デバイス２２のプロセッサ４６は、持続性格納デバイス５２のデータベース４０、４２、４４のうちの１つ以上からデータを抽出し、ハッシュを生成することによって、アクセスされるデータをショートダイジェスト形式にすることにより、ハッシュ関数を実行するように動作可能である。プロセッサ４６によって実行されるハッシュ関数は、例えば、チェックサムの計算およびその他のハッシュ関数の計算を含む。プロセッサ４６はさらに、無線通信チャネルを介して携帯型の電子デバイス２２から無線通信システム２０に送信するために、生成されたハッシュを無線デバイス６０に提供するように動作可能である。特に、プロセッサ４６は、データベース４０、４２、４４を代表する情報を含むデータベースハッシュを生成するように動作可能である。データベースハッシュの生成は、携帯型の電子デバイス２２において、入力デバイス５４からの入力によるイベント、または通信システム２０から受信された信号によるイベントを検出することによって、トリガされる。
【００２０】
携帯型の電子デバイス２２のマイクロコンピュータは、通信システム２０からの通信を受信するように動作可能である。例えば、マイクロコンピュータは、記録ハッシュ情報に対する要求を受信し、それに応答してデータベース４０、４２、４４のうちの１つ以上からデータを抽出し、データに対してハッシュ関数を実行することによって、記録ハッシュを通信システム２０に送信することにより、記録ハッシュ情報を提供するように動作可能である。マイクロコンピュータはさらに、データ記録に対する要求を受信し、そのような要求に応答してデータベース４０、４２、４４のうちの１つ以上からデータ記録を抽出し、通信システム２０に送信するように動作可能である。なおもさらに、マイクロプロセッサは、通信システム２０から送信されたデータを受信し、データベース４０、４２、４４のうちの１つ以上にデータを追加したり、または持続性格納デバイス５２に維持されているデータベース４０、４２、４４のうちの１つ以上におけるデータを上書きしたりすることによって、データを書き込むように動作可能である。マイクロコンピュータはまた、例えば通信システム２０からのユーザ入力または指示の受信に応答して、データベース４０、４２、４４のうちの１つ以上からのデータを削除するようにも動作可能である。マイクロコンピュータはさらに、例えばユーザ入力から受信したデータ記録削除命令にしたがって削除するデータ記録の数を決定し、この数を閾値の数と比較するように動作可能である。マイクロコンピュータは、この比較の結果に基づいて、削除されるデータ記録の各々に対し、それぞれのデータ記録削除命令を通信システム２０に送信するか、または本明細書において以下に記載されるような特定の同期化をトリガするように動作可能である。
【００２１】
ここで図３に対する参照がなされ、この図は、同期化サーバ３０内の特定の内部コンポーネントのブロック図を示している。携帯型の電子デバイス２２と同様に、同期化サーバ３０は、リードオンリーメモリ（ＲＯＭ）６４に接続されたプロセッサ６２を含んでおり、このリードオンリーメモリ（ＲＯＭ）６４は、プロセッサ６２によって実行可能であって同期化サーバ３０が特定の機能（携帯型の電子デバイス２２との同期化を含む）を実行することを可能にするアプリケーションを含んでいる。プロセッサ６２はまた、ランダムアクセスメモリ（ＲＡＭ）６６および持続性格納デバイス６８にも接続されており、これらは、同期化サーバ３０の様々な不揮発性格納装置としての機能を担っている。プロセッサ６２は、データベース３４、３６、３８、およびリレーデバイス２８に接続されており、そしてリレーデバイス２８は、無線通信チャネルを介して携帯型の電子デバイス２２に接続するために、基地局２４に接続されている。このように、同期化サーバ３０は、リレーデバイス２８および基地局２４を介して、携帯型の電子デバイス２２に（または携帯型の電子デバイス２２から）通信されるデータを含む通信信号を、受信および送信するように動作可能である。
【００２２】
ここでもまた、本明細書に記載されている機能は、任意の適切な方法で実行され得るということに留意されたい。この例では、機能は、プロセッサ６２によって実行可能なアルゴリズムによって実行される。例えば、同期化サーバ３０のプロセッサ６２は、データベース３４、３６、３８のうちの１つ以上からデータを抽出し、ハッシュを生成することによって、アクセスされるデータをショートダイジェスト形式にすることにより、ハッシュ関数を実行するように動作可能である。特に、プロセッサ６２は、データベース３４、３６、３８を代表する情報を含むデータベースハッシュを生成するように動作可能である。
【００２３】
同期化サーバ３０は、同期化に関する、携帯型の電子デバイス２２によって生成された通信を受信するように動作可能である。例えば、同期化サーバ３０は、携帯型の電子デバイス２２によって生成されたデータベースハッシュを受信し、それに応答して、このデータベースハッシュからのデータベースハッシュ情報を、同期化サーバ３０によって生成された、局所的に生成されたデータベースハッシュからのデータベースハッシュ情報と比較するように動作可能である。同期化サーバ３０はまた、携帯型の電子デバイス２２によって生成されたデータベースハッシュからのデータベースハッシュ情報と、局所的に生成されたデータベースハッシュからのデータベースハッシュ情報との比較の結果に基づいて（およびこの結果に応答して）、携帯型の電子デバイス２２から記録ハッシュ情報を要求する。記録ハッシュ情報に対する要求は、リレー２８に提供され、基地局２４を介して、携帯型の電子デバイス２２に送信される。同期化サーバ３０は、携帯型の電子デバイス２２によって生成された記録ハッシュ情報を受信し、それに応答して、この記録ハッシュ情報を、同期化サーバ３０によって生成された局所的に生成された記録ハッシュからの記録ハッシュ情報と比較するように、動作可能である。
【００２４】
同期化サーバ３０はさらに、携帯型の電子デバイス２２によって生成された記録ハッシュからの記録ハッシュ情報と、局所的に生成された記録ハッシュからの記録ハッシュ情報との比較の結果に基づいて（およびこの結果に応答して）、携帯型の電子デバイス２２からデータ記録を要求するように動作可能である。データ記録に対する要求は、リレー２８に提供され、基地局２４を介して、携帯型の電子デバイス２２に送信される。なおもさらに、同期化サーバ３０は、携帯型の電子デバイス２２から送信されたデータを（基地局２４およびリレーデバイス２８を介して）受信し、データベース３４、４６、３８のうちの１つ以上にデータを追加するか、データベース３４、３６、３８のうちの１つ以上のデータを上書きすることによってデータを書き込むように、動作可能である。同期化サーバ３０はまた、例えば、携帯型の電子デバイス２２からの入力または指示の受信に応答して、データベース３４、３６、３８のうちの１つ以上からのデータを削除するように動作可能である。同期化サーバ３０はさらに、例えば入力デバイスから受信したデータ記録削除命令にしたがって削除するデータ記録の数を決定し、この数を閾値の数と比較するように動作可能である。この比較の結果に基づいて、同期化サーバ３０は、削除されるデータ記録の各々に対し、それぞれのデータ記録削除命令を携帯型の電子デバイス２２に送信するか、または本明細書において以下に記載されるような第２の特定の同期化をトリガするように動作可能である。
【００２５】
なおもさらに、同期化サーバ３０は、持続性格納デバイス６８に同期化履歴データを格納することによって、同期化サーバ３０に接続されたデータベース３４、３６、３８、または携帯型の電子デバイス２２のデータベース４０、４２、４４に対してなされた変更のリストを維持する。同期化サーバ３０は、同期化動作の間に同期化履歴データにアクセスし、既に同期化されたデータを決定することによって、その後の同期化において通信システム２０と携帯型の電子デバイス２２との間で通信されるデータを減らす。
【００２６】
ここで図４に対する参照がなされ、この図は、本出願の一実施形態にしたがう、無線インターフェースによって接続されたデータベースの同期化の間に、携帯型の電子デバイス２２と通信システム２０との両方において実行される機能を示すシーケンス図を示している。そのようなステップを実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。最初に１００において、携帯型の電子デバイス２２は、例えば入力デバイス５４上のユーザ入力から同期化トリガを受信する。あるいは、携帯型の電子デバイス２２は、通信システム２０から同期化トリガを受信する。ステップ１０２において、同期化トリガの受信に応答して、データベース４０、４２、４４からデータが抽出され、ステップ１０４において、プロセッサ４６は、データベース４０、４２、４４の各々に対してデータベースハッシュを生成する。各データベースハッシュの生成後、ステップ１０６において、各データベースハッシュは、開始コマンドと共に、無線通信チャネルを介して通信システム２０に送信される。開始コマンドは、同期化サーバ３０において、同期化プロセスをトリガする。
【００２７】
ステップ１０８において、通信システム２０は、基地局２４における受信によって、各データベースハッシュと共に開始コマンドを受信し、データベースハッシュを同期化サーバ３０に転送する。携帯型の電子デバイス２２からの各データベースハッシュの受信に応答して、ステップ１１０において、データベース３４、３６、３８からデータが抽出され、ステップ１１２において、同期化サーバ３０のプロセッサ６２は、それぞれのデータベースの各々に対するデータベースハッシュ（本明細書においては、局所的に生成されたデータベースハッシュと称される）を生成する。局所的に生成されたデータベースハッシュの各々の生成後、ステップ１１４において、携帯型の電子デバイス２２から抽出された各データベースハッシュのハッシュ情報は、対応する局所的に生成されたデータベースハッシュのハッシュ情報と比較される。ハッシュ情報の比較が、携帯型の電子デバイス２２のデータベース４０、４２、４４が通信システム２０のデータベース３４、３６、３８のそれぞれとミスマッチではないことを示す場合、ステップ１１６において、同期化プロセスが終了する。しかしながら、ハッシュ情報の比較が、携帯型の電子デバイス２２のデータベース４０、４２、４４のうちのいずれかが通信システム２０のデータベース３４、３６、３８のそれぞれとミスマッチであることを示す場合、ステップ１１８において、少なくとも１つのデータベースが更新され、記録ハッシュ情報に対する要求が、同期化サーバ３０によって生成される。記録ハッシュ情報に対する要求は、データ記録に関連付けられた記録ハッシュ情報に対する要求である。記録ハッシュ情報は、通信システム２０の対応するデータベースとミスマッチであると決定された携帯型の電子デバイス２２の特定のデータベースの各データ記録に対して要求される。記録ハッシュ情報の生成後、ステップ１２０において、携帯型の電子デバイス２２に要求が送信される。
【００２８】
ステップ１２２において、携帯型の電子デバイス２２において記録ハッシュ情報に対する要求が受信されると、ステップ１２４において、記録ハッシュ情報に対する要求にしたがって、データベース４０、４２、４４のうちの１つ以上からデータが抽出される。そしてステップ１２６において、それぞれのデータベースのデータ記録の各々に対し、記録ハッシュが生成され、ステップ１２８において、各記録ハッシュは、無線通信チャネルを介して通信システム２０に送信される。
【００２９】
ステップ１３０において、記録ハッシュ情報は、通信システム２０において受信され、同期化サーバ３０に配信される。要求された記録ハッシュ情報の受信に応答して、ステップ１３２において、対応するデータベース３４、３６、３８のうちの１つ以上からデータが抽出され、１３４において、それぞれのデータベースの対応するデータ記録の各々に対し、記録ハッシュ（局所的に生成された記録ハッシュとも称される）が生成される。局所的に生成された記録ハッシュの各々の生成後、ステップ１３６において、携帯型の電子デバイス２２から受信された記録ハッシュ情報は、局所的に生成された記録ハッシュの各々からの記録ハッシュ情報と比較され、記録ハッシュ情報が代表しているデータが変更されたかどうかに関する決定がなされる。このデータが変更されていないことが決定された場合、１３８において、データが変更されていない特定のデータ記録に対し、同期化プロセスが終了する。しかしながら、このデータが変更されたことが決定された場合、ステップ１３６における比較はまた、通信システム２０における追加的または変更されたデータ記録が（もしあれば）、携帯型の電子デバイス２２において反映されていないかどうか、および携帯型の電子デバイス２０における追加的または変更されたデータ記録が（もしあれば）、通信システム２０において反映されていないかどうかをも決定する。このように、ステップ１３６においてデータが変更されたことが決定された場合、通信システム２０または携帯型の電子デバイス２２におけるデータベース、またはミスマッチであると決定された通信システム２０と携帯型の電子デバイス２２との両方におけるデータベースを更新することによって、データベースが同期化される。ミスマッチであると決定された場合、競合解決ポリシー（ｃｏｎｆｌｉｃｔ  ｒｅｓｏｌｕｔｉｏｎ  ｐｏｌｉｃｙ）が実行されることによって、ミスマッチな記録をどのように更新するか（すなわち、携帯型の電子デバイス２２上のデータベース記録を同期化サーバ３０のデータベース記録で更新するかどうか、同期化サーバ３０のデータベース記録を携帯型の電子デバイス２２上のデータベース記録で更新するかどうか、または両方の更新をするかどうか）を決定する。
【００３０】
ここで図５Ａを参照すると、通信システム２０のデータベース３４、３６、３８の更新の間に、携帯型の電子デバイス２２と通信システム２０との両方において実行される機能を示すシーケンス図を示している。ここでもまた、そのようなステップにおいて実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。ステップ１３６において、携帯型の電子デバイス２０における追加的なデータ記録、またはデータ記録に対する変更が、通信システム２０においては未だ反映されていないことが決定された場合、ステップ１４０Ａに示されているように、同期化サーバ３０によってフェッチ要求が生成される。フェッチ要求の生成後、ステップ１４２において、フェッチ要求は、携帯型の電子デバイス２２に送信されることによって、同期化サーバ３０上では更新されていない、携帯型の電子デバイス２２上の追加および変更されたデータ記録を要求する。
【００３１】
そしてステップ１４４において、フェッチ要求は、携帯型の電子デバイス２２において受信され、それに応答して、ステップ１４６において、要求されたデータ記録は、データベース４０、４２、４４から抽出される。データ記録の抽出後、ステップ１４８において、抽出されたデータ記録は、通信システム２０に送信される。
【００３２】
そしてステップ１５０において、要求されたデータ記録は、通信システム２０において受信され、同期化サーバ３０に配信される。要求されたデータ記録の受信に応答して、通信システム２０のデータベース３４、３６、３８のそれぞれは、新しいデータ記録を書き込むか、またはデータベース３４、３６、３８のそれぞれにおいて既にセーブされているデータ記録を上書きすることによって、更新される。携帯型の電子デバイス２０の１つのデータベースから抽出され、通信デバイス２０に送信されるデータ記録は、通信システム２０の対応するデータベースに書き込まれるか、上書きされることに留意されたい。
【００３３】
ここで図５Ｂを参照すると、携帯型の電子デバイス２２におけるデータベース４０、４２、４４の更新の間に、携帯型の電子デバイス２２と通信システム２０との両方において実行される機能を示すシーケンス図を示している。ここでもまた、そのようなステップを実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。
【００３４】
ステップ１３６において、通信システム２０における追加的なデータ記録、またはデータ記録に対する変更が、携帯型の電子デバイス２０においては未だ反映されていないことが決定された場合、ステップ１４０Ｂにおいて、携帯型の電子デバイス２２上では更新されていない、同期化サーバ３０上の追加または変更されたデータ記録が、抽出される。そして、これらのデータ記録は、ステップ１５４において、携帯型の電子デバイス２２に送信される。
【００３５】
ステップ１５６において、携帯型の電子デバイス２２は、データ記録を受信し、ステップ１５８において、新しいデータ記録を書き込むか、またはデータベース４０、４２、４４のそれぞれにおいて既にセーブされているデータ記録を上書きすることによって、データ記録を更新する。ここでもまた、通信システム２０の１つのデータベースから抽出され、携帯型の電子デバイス２２に送信されるデータ記録は、携帯型の電子デバイス２２の対応するデータベースに書き込まれるか、上書きされることに留意されたい。
【００３６】
上記の記載から、通信システム２０のデータベース３４、３６、３８には存在しているが携帯型の電子デバイス２２におけるデータベース４０、４２、４４には存在していないことが決定されたデータ記録は、ステップ１５４において、携帯型の電子デバイスに転送され、携帯型の電子デバイス２２のそれぞれのデータベースに格納されることが理解される。同様に、携帯型の電子デバイス２２のデータベース４０、４２、４４には存在しているが通信システム２０のデータベース３４、３６、３８には存在していないことが決定されたデータ記録は、ステップ１４８において、通信システム２０に転送され、ステップ１５２において、通信システム２０のデータベース３４、３６、３８のそれぞれに格納される。
【００３７】
ここで図６に対する参照がなされ、この図は、データ記録が携帯型の電子デバイス２２から削除されるときに、携帯型の電子デバイス２２と通信システム２０との両方において実行される機能を示すシーケンス図を示している。そのようなステップを実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。最初にステップ１６０において、携帯型の電子デバイス２２は、入力デバイス５４上のユーザ入力からデータ記録削除命令を受信する。ステップ１６２において、データ記録削除命令の受信後、プロセッサ４６は、データ記録削除命令が関係するデータ記録の数を決定する。言い換えると、プロセッサ４６は、削除されるデータ記録の数を決定する。次にステップ１６４において、プロセッサ４６は、データ記録削除命令が関係するデータ記録の数を所定の閾値と比較する。データ記録削除命令が関係するデータ記録の数が閾値未満である場合、ステップ１６６において、命令が関係するデータ記録は、データ記録が属するデータベース（または複数のデータベース）４０、４２、４４から削除され、ステップ１６８において、削除されるデータ記録の各々に対し、データ記録削除指示が通信システム２０に転送される。このように、データベース４０、４２、４４から削除されるデータ記録の全てに対し、対応するデータ記録削除指示が、通信システム２０に転送される。
【００３８】
ステップ１７０において、通信システム２０は、データ記録削除指示を受信し、ステップ１７２において、データベース３４、３６、３８のそれぞれから、それぞれのデータ記録を削除する。
【００３９】
他方で、ステップ１７４において、データ記録削除命令が関係するデータ記録の数が閾値よりも多い場合、データ記録削除命令が関係するデータ記録は、データ記録が属するデータベース（または複数のデータベース）４０、４２、４４から削除され、ステップ１７６において、携帯型の電子デバイス２２は、特別な同期化プロセスをトリガし、このプロセスにおいて、通信システム２０のデータベース３４、３６、３８は、携帯型の電子デバイス２２のデータベース４０、４２、４４を反映するように更新される。
【００４０】
ここで図７に対する参照がなされ、無線インターフェースによって接続されたデータベースの特別な同期化の間に、携帯型の電子デバイス２２と通信システム２０との両方において実行される機能を記載する。図７の特別な同期化に関して記載されるステップのうちの多くは、図４の同期化に関して記載されるステップと同様であることに留意されたい。したがって、可能な場合、図４のステップを記載する際に用いられる参照番号は、図７の特別な同期化ステップにおいて実行される同様のステップを参照する際に、１００だけ増加される。ここでもまた、図７に示され、本明細書中に記載されているステップを実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。
【００４１】
最初に２００において、携帯型の電子デバイス２２は、特別な同期化トリガを受信する。特別な同期化トリガの受信に応答して、ステップ２０２において、データベース４０、４２、４４のそれぞれからデータが抽出され、ステップ２０４において、プロセッサ４６は、データベース４０、４２、４４の各々に対してデータベースハッシュを生成する。各データベースハッシュの生成後、ステップ２０６において、各データベースハッシュは、開始コマンドと共に、無線通信チャネルを介して通信システム２０に送信される。開始コマンドは、同期化サーバ３０において、同期化プロセスをトリガする。
【００４２】
ステップ２０８において、通信システム２０は、基地局２４における受信によって、各データベースハッシュと共に開始コマンドを受信し、データベースハッシュを同期化サーバ３０に転送する。携帯型の電子デバイス２２からの各データベースハッシュの受信に応答して、ステップ２１０において、データベース３４、３６、３８からデータが抽出され、ステップ２１２において、同期化サーバ３０のプロセッサ６２は、それぞれのデータベースの各々に対するデータベースハッシュ（本明細書においては、局所的に生成されたデータベースハッシュと称される）を生成する。局所的に生成されたデータベースハッシュの各々の生成後、ステップ２１４において、携帯型の電子デバイス２２から受信された各データベースハッシュの情報は、対応する局所的に生成されたデータベースハッシュのハッシュ情報と比較される。ハッシュ情報の比較が、携帯型の電子デバイス２２のデータベース４０、４２、４４が通信システム２０のデータベース３４、３６、３８のそれぞれとミスマッチではないことを示す場合、ステップ２１６において、同期化プロセスが終了する。しかしながら上述のように、特別な同期化は、携帯型の電子デバイス２２におけるデータベース４０、４２、４４のうちの１つ以上に対する大きな変更の結果としてトリガされる。特に、特別な同期化は、携帯型の電子デバイス２２における多数のデータ記録の検出の結果としてトリガされる。したがって、本例においては、ステップ２１４におけるハッシュ情報の比較の結果として、携帯型の電子デバイス２２のデータベース４０、４２、４４のうちの少なくとも１つと、通信システム２０のデータベース３４、３６、３８との間のミスマッチの決定がなされる。次にステップ２１８において、記録ハッシュ情報に対する要求が、同期化サーバ３０によって生成される。記録ハッシュ情報に対する要求は、データ記録に関連付けられたハッシュ情報に対する要求である。記録ハッシュ情報は、通信システム２０の対応するデータベースとミスマッチであると決定された携帯型の電子デバイス２２の特定のデータベースの各データ記録に対して要求される。記録ハッシュ情報の生成後、ステップ２２０において、携帯型の電子デバイス２２に要求が送信される。
【００４３】
ステップ２２２において、携帯型の電子デバイス２２において記録ハッシュ情報に対する要求が受信されると、ステップ２２４において、記録ハッシュ情報に対する要求にしたがって、データベース４０、４２、４４のうちの１つ以上からデータが抽出される。そしてステップ２２６において、それぞれのデータベースのデータ記録の各々に対し、記録ハッシュが生成され、ステップ２２８において、各記録ハッシュは、無線通信チャネルを介して通信システム２０に送信される。
【００４４】
ステップ２３０において、記録ハッシュ情報は、通信システム２０において受信され、同期化サーバ３０に配信される。要求された記録ハッシュ情報の受信に応答して、ステップ２３２において、対応するデータベース３４、３６、３８のうちの１つ以上からデータが抽出され、ステップ２３４において、それぞれのデータベースのデータ記録の各々に対し、記録ハッシュ（局所的に生成された記録ハッシュとも称される）が生成される。局所的に生成された記録ハッシュの生成後、ステップ２３６において、携帯型の電子デバイス２２から受信された記録ハッシュ情報は、局所的に生成された記録ハッシュの各々からの記録ハッシュ情報と比較され、記録ハッシュ情報が代表しているデータが変更されたかどうかに関する決定がなされる。このように、携帯型の電子デバイスのデータベース４０、４２、４４のうちの１つからのデータ記録から生成された記録ハッシュ情報は、通信システム２０の対応するデータベース３４、３６、３８からのデータ記録から生成された対応する記録ハッシュ情報と比較される。最後の同期化であることが理由で特定のデータ記録に対して変更がなされないことが決定された場合、ステップ２３８において、データが変更されていない特定のデータ記録に対し、同期化プロセスが終了する。
【００４５】
このように、ステップ２３６において、プロセッサ６２は、データ記録のうちのどれが変更されたか、および通信システム２０におけるデータ記録（もしあれば）のうちのどれが携帯型の電子デバイス２２に存在しないかを決定する。ステップ２３６における比較の結果、携帯型の電子デバイス２２においては削除されたが通信システム２０においては依然存在しているデータ記録の決定がなされる。プロセッサ６２はまた、ステップ２３６における比較から、携帯型の電子デバイス２０における追加的な（または変更された）データ記録が（もしあれば）、通信システム２０においては反映されていないかどうかを決定する。ステップ２３６において、データが変更されたことが決定された場合、データベースは、通信システム２０におけるデータベース３４、３６、３８のうち、ミスマッチであることが決定されたものだけを更新することによって、同期化される。このように、通信システム２０におけるデータベース３４、３６、３８は、携帯型の電子デバイス２２のデータベース４０、４２、４４とマッチするように更新される。
【００４６】
データベース３４、３６、３８を更新するために、データベース３４、３６、３８のうちのいずれかには存在するが携帯型の電子デバイス２２のデータベース４０、４２、４４には存在しないことが決定されたデータ記録は、ステップ２３９において、削除される。このように、トリガされるべき特別な同期化を引き起こす携帯型の電子デバイス２２から削除される記録の全ては、データベース３４、３６、３８から削除される。この特別な同期化は、図４、図５Ａ、および図５Ｂを参照して上記で記載された通常の同期化（この同期化においては、通信システム２０の側のデータベース３４、３６、３８には存在するが携帯型の電子デバイス２２のデータベース４０、４２、４４には存在しない記録は、携帯型の電子デバイス２２には送信されない）とは異なることに留意されたい。代わりに、これらのデータ記録は、通信システムのそれぞれのデータベースから削除される。
【００４７】
ステップ２３６において、携帯型の電子デバイス２０における追加的なデータ記録またはデータ記録に対する変更が、通信システム２０においては未だ反映されていないことが決定された場合、ステップ２４０において示されているように、同期化サーバ３０によってフェッチ要求が生成される。フェッチ要求の生成後、ステップ２４２において、フェッチ要求は、携帯型の電子デバイス２２に送信されることによって、同期化サーバ３０上では更新されていない、携帯型の電子デバイス２２上の追加および変更されたデータ記録を要求する。
【００４８】
そしてステップ２４４において、フェッチ要求は、携帯型の電子デバイス２２において受信され、それに応答して、ステップ２４６において、要求されたデータ記録は、データベース４０、４２、４４から抽出される。データ記録の抽出後、ステップ２４８において、抽出されたデータ記録は、通信システム２０に送信される。
【００４９】
そしてステップ２５０において、要求されたデータ記録は、通信システム２０において受信され、同期化サーバ３０に配信される。要求されたデータ記録の受信に応答して、通信システム２０のデータベース３４、３６、３８のそれぞれは、ステップ２５２において、新しいデータ記録を書き込むか、またはデータベース３４、３６、３８のそれぞれにおいて既にセーブされているデータ記録を上書きすることによって、更新される。携帯型の電子デバイス２０の１つのデータベースから抽出され、通信デバイス２０に送信されるデータ記録は、通信システム２０の対応するデータベース上に書き込まれるか、上書きされることに留意されたい。ここでもまた、特別な同期化は、図４、図５Ａ、図５Ｂを参照して上記で記載された通常の同期化（この同期化においては、携帯型の電子デバイス２２のデータベース４０、４２、４４におけるデータ記録を反映するように、データ記録は、通信システム２０上のデータベース３４、３６、３８において更新される）とは異なることに留意されたい。しかしながら、携帯型の電子デバイス２２のデータ記録は、変更されない。ミスマッチであるとして決定された各データベースの各データ記録の全ての比較後、特別な同期化が終了する。
【００５０】
ここで図８に対する参照がなされ、この図は、データ記録が通信システムから削除されたときに、通信システム２０と携帯型の電子デバイス２２との両方において実行される機能を示すシーケンス図を示している。そのようなステップにおいて実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。最初にステップ２８０において、通信システム２０は、データ記録削除命令を受信する。ステップ２８２において、データ記録削除命令の受信後、プロセッサ６２は、データ記録削除命令が関係するデータ記録の数を決定する。言い換えると、プロセッサ６２は、削除されるデータ記録の数を決定する。次にステップ２８４において、プロセッサ６２は、データ記録削除命令が関係するデータ記録の数を所定の閾値と比較する。データ記録削除命令が関係するデータ記録の数が閾値未満である場合、ステップ２８６において、命令が関係するデータ記録は、データ記録が属するデータベース（または複数のデータベース）３４、３６、３８から削除され、ステップ２８８において、削除されるデータ記録の各々に対し、データ記録削除指示が携帯型の電子デバイス２２に送信される。このように、データベース３４、３６、３８から削除されるデータ記録の全てに対し、対応するデータ記録削除指示が、携帯型の電子デバイス２２に送信される。
【００５１】
ステップ２９０において、携帯型の電子デバイスは、データ記録削除指示を受信し、ステップ２９２において、データベース４０、４２、４４のそれぞれから、それぞれのデータ記録を削除する。
【００５２】
他方で、ステップ２９４において、データ記録削除命令が関係するデータ記録の数が閾値よりも多い場合、データ記録削除命令が関係するデータ記録は、データ記録が属するデータベース（または複数のデータベース）３４、３６、３８から削除され、ステップ２９６において、通信システム２０は、第２の特別な同期化プロセスをトリガし、このプロセスにおいて、携帯型の電子デバイス２２のデータベース４０、４２、４４は、通信システム２０のデータベース３４、３６、３８を反映するように更新される。通信システム２０は、ステップ２９８において、第２の特別な同期化のトリガを携帯型の電子デバイス２２に送信する。
【００５３】
ここで図９に対する参照がなされ、無線インターフェースによって接続されたデータベースの第２の特別な同期化の間に、通信システム２０と携帯型の電子デバイス２２との両方において実行される機能を記載する。図９の特別な同期化に関して記載されるステップのうちの多くは、図７の特別な同期化に関して記載されるステップと同様であることに留意されたい。したがって、可能な場合、図７のステップを記載する際に用いられる参照番号は、図９の第２の特別な同期化ステップにおいて実行される同様のステップを参照する際に、１００だけ増加される。ここでもまた、図９に示され、本明細書中に記載されているステップを実行するためのソフトウェアの符号化は、十分に当業者の範囲内にある。
【００５４】
最初に３００において、携帯型の電子デバイス２２は、第２の特別な同期化トリガを受信する。第２の特別な同期化トリガの受信に応答して、ステップ３０２において、データベース４０、４２、４４のそれぞれからデータが抽出され、ステップ３０４において、プロセッサ４６は、データベース４０、４２、４４の各々に対してデータベースハッシュを生成する。各データベースハッシュの生成後、ステップ３０６において、各データベースハッシュは、開始コマンドと共に、無線通信チャネルを介して通信システム２０に送信される。
【００５５】
ステップ３０８において、通信システム２０は、基地局２４における受信によって、各データベースハッシュを受信し、データベースハッシュを同期化サーバ３０に転送する。携帯型の電子デバイス２２からの各データベースハッシュの受信に応答して、ステップ３１０において、データベース３４、３６、３８からデータが抽出され、ステップ３１２において、同期化サーバ３０のプロセッサ６２は、それぞれのデータベースの各々に対するデータベースハッシュ（本明細書においては、局所的に生成されたデータベースハッシュと称される）を生成する。局所的に生成されたデータベースハッシュの各々の生成後、ステップ３１４において、携帯型の電子デバイス２２から受信された各データベースハッシュの情報は、対応する局所的に生成されたデータベースハッシュのハッシュ情報と比較される。ハッシュ情報の比較が、携帯型の電子デバイス２２のデータベース４０、４２、４４が通信システム２０のデータベース３４、３６、３８のそれぞれとミスマッチではないことを示す場合、ステップ３１６において、同期化プロセスが終了する。しかしながら上述のように、第２の特別な同期化は、通信システム２０のデータベース３４、３６、３８のうちの１つ以上に対する大きな変更の結果としてトリガされる。特に、特別な同期化は、データベース３４、３６、３８のうちの少なくとも１つからの多数のデータ記録の検出の結果として、トリガされる。したがって、本例においては、ステップ３１４におけるハッシュ情報の比較の結果として、携帯型の電子デバイス２２のデータベース４０、４２、４４のうちの少なくとも１つと、通信システム２０のデータベース３４、３６、３８との間のミスマッチの決定がなされる。次にステップ３１８において、記録ハッシュ情報に対する要求が、同期化サーバ３０によって生成される。記録ハッシュ情報に対する要求は、データ記録に関連付けられたハッシュ情報に対する要求である。記録ハッシュ情報は、通信システム２０の対応するデータベースとミスマッチであると決定された携帯型の電子デバイス２２の特定のデータベースの各データ記録に対して要求される。記録ハッシュ情報の生成後、ステップ３２０において、携帯型の電子デバイス２２に要求が送信される。
【００５６】
ステップ３２２において、携帯型の電子デバイス２２において記録ハッシュ情報に対する要求が受信されると、ステップ２２４において、記録ハッシュ情報に対する要求にしたがって、データベース４０、４２、４４のうちの１つ以上からデータが抽出される。そしてステップ３２６において、それぞれのデータベースのデータ記録の各々に対し、記録ハッシュが生成され、ステップ３２８において、各記録ハッシュは、無線通信チャネルを介して通信システム２０に送信される。
【００５７】
ステップ３３０において、記録ハッシュ情報は、通信システム２０において受信され、同期化サーバ３０に配信される。要求された記録ハッシュ情報の受信に応答して、ステップ３３２において、対応するデータベース３４、３６、３８のうちの１つ以上からデータが抽出され、ステップ３３４において、それぞれのデータベースのデータ記録の各々に対し、記録ハッシュ（局所的に生成された記録ハッシュとも称される）が生成される。局所的に生成された記録ハッシュの各々の生成後、ステップ３３６において、携帯型の電子デバイス２２から受信された記録ハッシュ情報は、局所的に生成された記録ハッシュの各々からの記録ハッシュ情報と比較され、記録ハッシュ情報が代表しているデータが変更されたかどうかに関する決定がなされる。このように、携帯型の電子デバイスのデータベース４０、４２、４４のうちの１つからのデータ記録から生成された記録ハッシュ情報は、通信システム２０の対応するデータベース３４、３６、３８からのデータ記録から生成された対応する記録ハッシュ情報と比較される。最後の同期化であることが理由で特定のデータ記録に対して変更がなされないことが決定された場合、ステップ３３８において、データが変更されていない特定のデータ記録に対し、同期化プロセスが終了する。
【００５８】
このように、ステップ３２６において、プロセッサ６２は、データ記録のうちのどれが変更されたか、および携帯型の電子デバイス２２におけるデータ記録（もしあれば）のうちのどれが通信システム２０に存在しないかを決定する。ステップ３３６における比較の結果、携帯型の電子デバイス２２においては削除されたが通信システム２０においては依然存在しているデータ記録の決定がなされる。プロセッサ６２はまた、ステップ３３６における比較から、携帯型の電子デバイス２０における追加的な（または変更された）データ記録が（もしあれば）、携帯型の電子デバイス２０においては反映されていないかどうかを決定する。ステップ３３６において、データが変更されたことが決定された場合、データベースは、携帯型の電子デバイス２２におけるデータベース４０、４２、４４を更新することによって、同期化される。このように、携帯型の電子デバイス２２におけるデータベース４０、４２、４４は、通信システム２０のデータベース３４、３６、３８とマッチするように更新される。
【００５９】
データベース４０、４２、４４を更新するために、データベース４０、４２、４４のうちのいずれかには存在するが通信システム２０のデータベース３４、３６、３８には存在しないことが決定されたデータ記録の各々に対し、ステップ３３７Ａにおいて、記録識別子が携帯型の電子デバイスに送信される。記録識別子は、第２の特別な同期化の間に、関連付けられたデータ記録を削除するようにという、携帯型の電子デバイスへの信号として機能する。
【００６０】
ステップ３３７Ｂにおいて、携帯型の電子デバイス２２は、記録識別子を受信し、ステップ３３９において、記録識別子が受信された対応するデータ記録を削除する。このように、トリガされるべき特別な同期化を引き起こす通信システムのデータベース３４、３６、３８から削除される記録の全ては、携帯型の電子デバイス２２のデータベース４０、４２、４４のそれぞれから削除される。第２の特別な同期化は、図４、図５Ａ、および図５Ｂを参照して上記で記載された通常の同期化（この同期化においては、携帯型の電子デバイス２２のデータベース４０、４２、４４には存在するが通信システム２０のデータベース３４、３６，３８には存在しない記録は、携帯型の電子デバイス２２から通信システム２０に送信されない）とは異なることに留意されたい。代わりに、これらのデータ記録は、携帯型の電子デバイス２２のそれぞれのデータベースから削除される。
【００６１】
ステップ３３６において、通信システム２０における追加的なデータ記録またはデータ記録に対する変更が、携帯型の電子デバイス２０においては未だ反映されていないことが決定された場合、ステップ３４０において、通信システム２０においては追加または変更されているが携帯型の電子デバイス２２上では更新されていないデータ記録が、抽出される。そしてステップ３５４において、これらのデータ記録は、携帯型の電子デバイス２２に送信される。
【００６２】
そしてステップ３５６において、携帯型の電子デバイス２２は、データ記録を受信し、ステップ３５８において、新しいデータ記録を書き込むか、またはデータベース４０、４２、４４のそれぞれにおいて既にセーブされているデータ記録を更新するように上書きすることによって、データ記録を更新する。通信システム２０の１つのデータベースから抽出され、携帯型の通信デバイス２２に送信されるデータ記録は、携帯型の電子デバイス２２の対応するデータベース上に書き込まれるか、上書きされることに留意されたい。ミスマッチであるとして決定された各データベースの各データ記録の全ての比較後、特別な同期化が終了する。
【００６３】
有利にも、多数のデータ記録が携帯型の電子デバイスから削除されるときに、多数のデータ記録削除指示を、携帯型の電子デバイスから通信システムに送信するのではなく、通信システムのみにおけるデータベースが変更される一方向性の同期化プロセスがトリガされ、携帯型の電子デバイスのデータベースを反映する。一方向性の同期化の間、通信システムのデータベースには存在するが携帯型の電子デバイスのデータベースには存在しないデータ記録が、削除される。このように、多数のデータ記録削除指示を送信する必要はない。代わりに、比較目的で、携帯型の電子デバイスからハッシュ値が送信されることによって、送信時間および帯域幅を節約する。
【００６４】
同様に、多数のデータ記録が通信システムから削除されるときに、多数のデータ記録削除指示が、通信システムから携帯型の電子デバイスに送信されるのではなく、第２の一方向性の同期化がトリガされ、この第２の一方向性の同期化において、携帯型の電子デバイスのみにおけるデータベースが、通信システムのデータベースを反映するように変更される。第２の一方向性の同期化の間、携帯型の電子デバイスのデータベースには存在するが通信システムのデータベースには存在しないデータ記録が、削除される。このように、多数のデータ記録削除指示を送信する必要はない。代わりに、比較目的で、通信システムからハッシュ値が送信され、比較に応答して、削除されるべき記録の識別子のみが携帯型の電子デバイスに送信されることによって、送信時間および帯域幅を節約する。
【００６５】
特別な同期化は、データ記録削除命令が関係するデータ記録の閾値の数を超えるときにトリガされるものとして記載されてきたが、特別な同期化は、データ記録削除イベントによってトリガされることに限定されない。むしろ、携帯型の電子デバイス２２のデータベース４０、４２、４４のうちの少なくとも１つのデータ記録が変更されるその他のイベントが、図７に関連して記載されている特別な同期化をトリガし得る。例えば、従来技術から理解され得るように、携帯型の電子デバイス２２のデータベース４０、４２、４４のデータ記録は、携帯型の電子デバイスから、例えばコンピューティングデバイス（例えば、デスクトップコンピュータ）に直列接続し、コンピューティングデバイスの対応するデータベースと同期化することによって、改変され得る。このように、データ記録を追加し、データ記録を改変し、携帯型の電子デバイス上にデータ記録を再度格納し、コンピューティングデバイスの対応するデータベースにおいてデータ記録を反映することによって、データベース４０、４２、４４のデータ記録に対する変更がなされる。携帯型の電子デバイス２２上のデータ記録に対してなされる変更は、直列同期化プロセスの間に、コンピューティングシステム２０には送信されない。したがって、直列同期化プロセスの終了後、携帯型の電子デバイス２２のデータ記録に対してなされる変更は、通信システム２０のデータ記録においては反映されない。携帯型の電子デバイス２２のデータベース４０、４２、４４と通信システムのデータベース３４、３６、３８とを同期化するために、携帯型の電子デバイス２２とコンピューティングデバイスとの間の直列接続が終端されない（接続されない）ときに、図７を参照して記載されたような特別な遅い同期化がトリガされる。このようにして、携帯型の電子デバイス２２のデータベース４０、４２、４４におけるデータ記録を反映するように、通信システム２０のデータベース３４、３６、３８においてデータ記録が更新される。しかしながら、携帯型の電子デバイス２２のデータ記録は、特別な同期化の間には更新されない。
【００６６】
本明細書において記載されてきた実施形態は、無線インターフェースによって接続されたデータベースを同期化するための方法および装置の特定の実装に関するものであるが、この実施形態に対する改変およびバリエーションが本出願の領域および範囲にあることに留意されたい。例えば、その他のイベントが、特別な同期化をトリガし得る。携帯型の電子デバイス２２上のデータ記録における任意の変更（この変更においては、携帯型の電子デバイス２２のデータベースを反映するように、通信システム２０のみのデータベースを変更することによって、携帯型の電子デバイス２２のデータベース４０、４２、４４と通信システム２０のデータベース３４、３６、３８とを同期化することが望ましい）が、特別な同期化をトリガし得る。同様に、通信システムのデータ記録における任意の変更（この変更においては、通信システム２２のデータベースを反映するように、携帯型の電子デバイス２０のみのデータベースを変更することによって、通信システム２０のデータベース３４、３６、３８と携帯型の電子デバイス２２のデータベース４０、４２、４４とを同期化することが望ましい）が、特別な同期化をトリガし得る。
【００６７】
その他の改変およびバリエーションもまた可能である。任意の個数のデータベースが可能なので、携帯型の電子デバイスは、３つのデータベースに限定されないことに留意されたい。同様に、通信システムは、任意の個数のデータベースを含み得る。上記で記載された特別な同期化は、携帯型の電子デバイスのデータベースにおける追加または変更された記録を反映するように、通信システムのデータベースにおける追加または変更された記録を更新することを含むが、特別な同期化は、携帯型の電子デバイスのデータベースには存在しない通信システムのデータベースにおける記録の検出のみを含み得る。同様に、第２の特別な同期化は、通信システムのデータベースには存在しない携帯型の電子デバイスのデータベースにおける記録の検出のみを含み得る。
【００６８】
当業者は、その他の多くの改変およびバリエーションを想起し得る。そのような改変およびバリエーションの全ては、本出願の領域および範囲にあると考えられる。
【図１】
2011198385.tif 000003
【図２】
2011198385.tif 000004
【図３】
2011198385.tif 000005
【図４】
2011198385.tif 000006
【図５Ａ】
2011198385.tif 000007
【図５Ｂ】
2011198385.tif 000008
【図６】
2011198385.tif 000009
【図７】
2011198385.tif 000010
【図８】
2011198385.tif 000011
【図９】
2011198385.tif 000012
【外国語明細書】
2011198385000001.pdf