(57)【特許請求の範囲】
【請求項１】
互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる同期処理手段と、第１データベースとを有し、同期処理の時点と次の同期処理の時点との間の非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、
上記第１データベースの少なくとも一部である第１共有範囲と、他の複数のデータベース管理装置に、それぞれ格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する各第２共有範囲とを対応付ける共有範囲対応手段と、
上記非同期期間中における上記各第１データの更新状態を示す状態情報が、上記第１共有範囲と上記第２共有範囲の１つとの組み合わせ毎に記憶される状態情報記憶手段とを備え、
上記同期処理手段は、同時には、ただ１つの他のデータベース管理装置に格納された第２共有範囲と上記第１共有範囲とが互いに同一となるように、両共有範囲に対応する状態情報に基づいて同期処理し、当該第２共有範囲に関連する状態情報を更新すると共に、当該状態情報の更新を、他の第２共有範囲に関連する状態情報へ伝達することを特徴とするデータベース管理装置。
【請求項２】
上記第１共有範囲に含まれる各データに対応するデータ管理番号を記憶するデータ管理番号記憶手段と、
上記同期処理以外の処理によって、上記第１共有範囲に新規に追加されたデータに対しては、他のデータベース管理装置とは異なる値に定められたデータベース管理番号と、少なくとも全ての上記第１共有範囲に含まれる他のデータとは異なる値のデータ番号との組み合わせを、上記データ管理番号として設定すると共に、同期処理によって追加されたデータに対しては、他のデータベース管理装置で当該データに既に割り当てられているデータ管理番号を、上記データ管理番号とするデータ管理番号設定手段とを備え、
上記同期処理手段は、データ管理番号に基づいて、各データベース間で対応するデータを特定することを特徴とする請求項１記載のデータベース管理装置。
【請求項３】
互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる同期処理手段と、第１データベースとを有し、同期処理の時点と次の同期処理の時点との間の非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、
上記第１データベースの一部である第１共有範囲と、他の複数のデータベース管理装置に、それぞれ格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する各第２共有範囲とを対応付ける共有範囲対応手段と、
上記各第１データに対応するデータ管理番号を記憶するデータ管理番号記憶手段と、
上記同期処理以外の処理によって、上記第１共有範囲に新規に追加されたデータに対しては、他のデータベース管理装置とは異なる値に定められたデータベース管理番号と、少なくとも全ての上記第１共有範囲に含まれる他のデータとは異なる値のデータ番号との組み合わせを、上記データ管理番号として設定すると共に、同期処理によって追加されたデータに対しては、他のデータベース管理装置で当該データに既に割り当てられているデータ管理番号を、上記データ管理番号とするデータ管理番号設定手段と、
上記非同期期間中に一度でも上記第１共有範囲に含まれた各第１データについて、非同期期間中の更新状態を示す状態情報が上記第１共有範囲と上記第２共有範囲との組み合わせ毎に記憶される状態情報記憶手段とを備え、
上記同期処理手段は、データ管理番号に基づいて、互いに対応する上記第１および第２データを特定し、上記状態情報を参照して両データの内容を一致させることを特徴とするデータベース管理装置。
【請求項４】
上記データ管理番号記憶手段は、データ管理番号を有するデータが、上記第１共有範囲外に配された後も、各データのデータ管理番号も保持すると共に、
上記データ管理番号設定手段は、上記データ管理番号記憶手段にデータ管理番号が記憶され、かつ、上記第１共有範囲外に配されたデータが、上記第１共有範囲内に配された場合、上記データ管理番号記憶手段に記憶されたデータ管理番号を当該データのデータ管理番号とすることを特徴とする請求項２または３記載のデータベース管理装置。
【請求項５】
上記同期処理手段は、上記データ管理番号が同一の第１および第２データについて、内容が同一であるか否かを判定し、同一と判定した場合、上記状態情報の伝達を中止することを特徴とする請求項２記載のデータベース管理装置。
【請求項６】
各第１データの最終更新者を記憶する更新者記憶手段を備え、
上記同期処理手段は、相手から各データの最終更新者を受け取り、当該最終更新者が自機器の場合、当該データに関する上記状態情報の伝達を中止することを特徴とする請求項２記載のデータベース管理装置。
【請求項７】
上記各第１データについて、当該第１データが内容を維持したまま伝送される際、最終更新者と、最終更新者よりも後に経由した全てのデータベース管理装置とを示す伝達リストを記憶する伝達リスト記憶手段を備え、
上記同期処理手段は、相手から各データの伝達リストを受け取り、当該伝達リストに自機器が含まれている場合、当該データに関する上記状態情報の伝達を中止することを特徴とする請求項２記載のデータベース管理装置。
【請求項８】
互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる同期処理手段と、データベースとを有し、同期処理の時点と次の同期処理の時点との間の非同期期間中に、上記データベース中のデータを更新可能なデータベース管理装置において、
自らのデータベースの一部として、他のデータベース管理装置のデータに対応付けられたデータが格納される第１部分集合を設定する部分集合設定手段と、
上記第１部分集合内のデータに対応するデータが格納される、他のデータベース管理装置の第２部分集合と、当該第１部分集合とを対応させる部分集合対応手段と、
上記第１部分集合内外を移動したデータについて、最終移動時刻を記憶する移動時刻記憶手段とを備え、
上記同期処理手段としての第１同期処理手段は、第１および第２部分集合の内容を一致させる際、最終移動時刻が遅いデータに合わせて、対応する他のデータを、それぞれの部分集合の内に配するか否かを決定することを特徴とするデータベース管理装置。
【請求項９】
上記移動時刻記憶手段に代えて、非同期処理期間中に、データが上記第１部分集合内外を移動した場合、移動回数を記憶する移動回数記憶手段を備え、
上記第１同期処理手段に代わる同期処理手段として、第１および第２部分集合の内容を一致させる際、移動回数の最も大きなデータに合わせて、他のデータを、それぞれの部分集合内に配するか否かを決定する第２同期処理手段が設けられていることを特徴とする請求項８記載のデータベース管理装置。
【請求項１０】
互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる同期処理手段と、第１データベースとを有し、同期処理の時点と次の同期処理の時点との間の非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、
上記第１データベースの少なくとも一部である第１共有範囲と、他のデータベース管理装置に格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する第２共有範囲とを対応付ける共有範囲対応手段と、
上記非同期期間中における上記各第１データの更新状態を示す状態情報が、上記第１共有範囲と上記第２共有範囲との組み合わせ毎に記憶される状態情報記憶手段とを備え、
上記同期処理手段は、上記第１および第２共有範囲が一致するように同期処理する際、互いの状態情報を送受して更新の有無を確認すると共に、複数の共有範囲で更新された場合、各データが同一であるか否かを判定した後で、いずれのデータの内容で、互いに対応する残余のデータを置き換えるかを決定することを特徴とするデータベース管理装置。
【請求項１１】
上記同期処理手段は、各データが同一であるか否かを、それぞれのデータの一部である付加情報に基づいて判定することを特徴とする請求項１０記載のデータベース管理装置。
【請求項１２】
上記付加情報として、各第１データの最終更新者を記憶する更新者記憶手段を備え、
上記同期処理手段は、相手から受け取った第２データの最終更新者が自機器であり、かつ、第１データが更新されていない場合、第１および第２データが同一であると判定することを特徴とする請求項１１記載のデータベース管理装置。
【請求項１３】
上記付加情報として、上記各第１データについて、当該第１データが内容を維持したまま伝送される際、最終更新者と、最終更新者よりも後に経由した全てのデータベース管理装置とを示す伝達リストを記憶する伝達リスト記憶手段を備え、
上記同期処理手段は、相手から受け取った第２データの伝達リストに自機器が含まれ、かつ、第１データが更新されていない場合、第１および第２データが同一であると判定することを特徴とする請求項１１記載のデータベース管理装置。
【請求項１４】
上記付加情報として、上記各第１データについて、更新毎に異なる値に設定した更新識別情報を記憶する更新識別情報記憶手段を備え、
上記同期処理手段は、更新識別情報が同一である場合、第１および第２データが同一であると判定することを特徴とする請求項１１記載のデータベース管理装置。
【請求項１５】
上記付加情報として、上記各第１データについて、最終更新時刻を記憶する最終更新時刻記憶手段を備え、
上記同期処理手段は、最終更新時刻が同一である場合、第１および第２データが同一であると判定することを特徴とする請求項１１記載のデータベース管理装置。
【請求項１６】
同期処理の時点と次の同期処理の時点との間の非同期期間中に、自らの第１データベース中のデータを更新可能で、かつ、互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる機能をコンピュータに実現させるためのデータベース管理プログラムが記録されたコンピュータ読み取り可能な記録媒体において、
コンピュータを請求項１記載の共有範囲対応手段、状態情報記憶手段および同期処理手段として機能させるためのデータベース管理プログラムを記録したコンピュータ読み取り可能な記録媒体。  
【請求項１７】
同期処理の時点と次の同期処理の時点との間の非同期期間中に、自らの第１データベース中のデータを更新可能で、かつ、互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる機能をコンピュータに実現させるためのデータベース管理プログラムが記録されたコンピュータ読み取り可能な記録媒体において、
コンピュータを請求項３記載の共有範囲対応手段、データ管理番号記憶手段、データ管理番号設定手段、状態情報記憶手段および同期処理手段として機能させるためのデータベース管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１８】
同期処理の時点と次の同期処理の時点との間の非同期期間中に、自らの第１データベース中のデータを更新可能で、かつ、互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる機能をコンピュータに実現させるためのデータベース管理プログラムが記録されたコンピュータ読み取り可能な記録媒体において、
コンピュータを請求項８記載の部分集合設定手段、部分集合対応手段、移動時刻記憶手段および第１同期処理手段として機能させるためのデータベース管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１９】
コンピュータを上記移動時刻記憶手段として機能させるためのデータベース管理プログラムに代えて、コンピュータを、非同期処理期間中に、データが上記第１部分集合内外を移動した場合、移動回数を記憶する移動回数記憶手段として機能させるためのデータベース管理プログラムが記録され、
コンピュータを上記第１同期処理手段として機能させるためのデータベース管理プログラムに代えて、コンピュータを移動回数の最も大きなデータに合わせて、他のデータを、それぞれの部分集合内に配するか否かを決定する第２同期処理手段として機能させるためのデータベース管理プログラムが記録されていることを特徴とする請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
同期処理の時点と次の同期処理の時点との間の非同期期間中に、自らの第１データベース中のデータを更新可能で、かつ、互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる機能をコンピュータに実現させるためのデータベース管理プログラムが記録されたコンピュータ読み取り可能な記録媒体において、
コンピュータを請求項１０記載の共有範囲対応手段、状態情報記憶手段および同期処理手段として、機能させるためのデータベース管理プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信によって、相手とデータの内容を同一にできるデータベース管理装置に関し、特に、同期処理時に通信あるいは処理されるデータ量を削減可能なデータベース管理装置、および、そのプログラムが記録された記録媒体に関するものである。
【０００２】
【従来の技術】
従来より、情報処理機器は、広く普及しており、近年では、例えば、デスクトップ・パソコンなどの高性能な情報処理機器と、携帯情報端末などの携帯性に優れた情報処理機器となど、複数の情報処理機器を個人が所有することも珍しくない。ここで、これら複数の情報処理機器によって、例えば、スケジュールやアドレス帳などの個人情報を管理する場合、いずれの情報処理機器に設けられたデータベースであっても、同一内容のデータを持つことが要求される。したがって、例えば、パソコンと携帯型情報端末とで個人情報を管理する場合を例にすると、パソコンでマスターデータベースを管理し、当該マスターデータベースのデータを携帯型の情報処理機器のデータベース（携帯データベース）へコピーして、個人情報を持ち歩いている。
【０００３】
このように、複数のデータベース管理装置で同一のデータを管理する場合、あるデータベース管理装置でデータが変更されると、全てのデータベース管理装置でも、データベースを更新する必要がある。ここで、各データベース管理装置が常時通信可能であれば、更新したデータベース管理装置が他のデータベース管理装置へデータ変更を通知すれば、データ変更を即座に反映できる。ところが、各データベース管理装置は、例えば、データベース管理装置が携帯情報端末の場合などのように、常に通信できるとは限らない。この場合、データの変更時点では、他のデータベース管理装置のデータベースへ当該データ変更を反映できない。したがって、データベースの同一性を保つためには、各データベース管理装置が通信可能になった時点で、データベースの内容を相手と同一にするための処理、すなわち、同期処理が必要になる。
【０００４】
上述の例で説明すると、携帯情報端末でデータを変更した場合、携帯情報端末を自宅やオフィスなどへ持ちかえった時点で同期処理が行われ、携帯情報端末の携帯データベースとパソコン上のマスターデータベースとの間で、データが同一になる。
【０００５】
ここで、従来の同期処理の一例として、ダウンロード／アップロードが挙げられる。具体的には、パソコンでデータが変更された場合、マスターデータベースの内容が携帯情報端末へコピーされる（ダウンロード）。一方、携帯情報端末でデータが変更された場合は、携帯データベースの内容がパソコンへコピーされる（アップロード）。
【０００６】
また、他の従来例としては、和集合を用いる同期処理が挙げられる。この同期処理では、２つのデータベース管理装置が通信可能になった時点で、双方のデータベースの内容が比較され、新たなデータベースとして、それぞれのデータベースへ追加された情報全てを含むような和集合が作成される。その後、作成されたデータベースは、双方のデータベース管理装置に格納される。
【０００７】
例えば、両データベースに、当初データ「Ａ」が含まれており、一方のデータベース管理装置Ｘで「Ｂ」のデータが追加され、他方のデータベース管理装置Ｙで「Ｃ」のデータが追加された場合、データベース管理装置Ｘは、自らが保持する内容「Ａ＋Ｂ」を、データベース管理装置Ｙへ送出する。一方、データベース管理装置Ｙは、受け取った「Ａ＋Ｂ」と、自らが保持する内容「Ａ＋Ｃ」との和集合「Ａ＋Ｂ＋Ｃ」を作成し、自らのデータベースとして格納する。さらに、データベース管理装置Ｙは、当該データベースの内容「Ａ＋Ｂ＋Ｃ」をデータベース管理装置Ｘへ送り返す。これにより、データベース管理装置Ｘは、自らのデータベースの内容を、データベース管理装置Ｙと同じ「Ａ＋Ｂ＋Ｃ」に更新できる。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記同期処理を行う従来のデータベース管理装置では、同期処理の際に、両データベース管理装置間を伝送されるデータ量（通信量）、および、各データベース管理装置にて演算されるデータ量が極めて多いという問題を生ずる。
【０００９】
具体的には、ダウンロード／アップロードでは、変更したデータの数に拘わらず、一方のデータベースの内容全てが他方のデータベース管理装置へ送信される。例えば、１０００件のデータを持つデータベースの場合、１件のデータを変更した場合であっても、１０００件分のデータが送信される。この結果、両データベース管理装置間で伝送される通信量が増大する。併せて、受信側のデータベース管理装置では、送信側のデータベースによって、データベースの内容が置き換えられるため、受信側でのデータ変更は、失われてしまう。
【００１０】
また、和集合を用いた同期処理では、和集合を作成するために、一方のデータベースが他方へ送信され、作成された和集合が新たなデータベースとして送り返される。このように、当該同期処理では、データベースの内容全てが両データベース管理装置間を往復する必要があり、同期処理時の通信量がさらに増大する。
【００１１】
併せて、一方のみでデータが削除された場合、他方のデータベースにはデータが残留している。したがって、新たなデータベースには、当該データが再び含まれ、データが削除されない。この結果、データベースの記憶に必要なメモリ量が増大すると共に、同期処理時の通信量がさらに増大する。
【００１２】
これらの問題を解決するために、例えば、特開平９−６６９３号公報では、同期処理の他の例として、データベースに含まれる全てのデータに、変更の有無を示す更新情報が付加されたデータベース管理装置について記載されている。具体的には、各データベース管理装置は、データベースに含まれる各データ毎に、当該データを識別するためのＩＤ情報と、変更なし／訂正あり／追加／削除を示す更新情報とを記憶しており、データが変更されると、当該データに対応する更新情報を更新している。さらに、同期処理時には、各データベース管理装置は、全データのＩＤ情報および更新情報を相手に通知する。一方、相手のデータベース管理装置は、受け取ったＩＤ情報に基づいて、自らのデータベースにおいて、当該データに対応するデータを検索し、双方の更新情報を比較する。さらに、一方のみが変更されている場合、変更側のデータで不変のデータを置き換える。また、両方が変更されている場合は、自らのデータベースへ、相手のデータを追加し、自らのデータを相手のデータベースへ追加する。これにより、いずれのデータベース管理装置でもデータが変更されていない場合、当該データの送付を省略でき、同期処理時の通信量を削減できる。
【００１３】
しかしながら、上記構成であっても、データベース全体でＩＤ情報と更新情報とを送受する必要がある。さらに、双方でデータが訂正された場合は、それぞれを相手のデータベースへ追加しなければならない。これらの結果、同期処理時の通信量を充分に削減しているとは言いがたい。加えて、双方でデータが訂正された場合には、データベースに含まれるデータ数が増加していくので、データベースの記憶に必要なメモリ量が増大し、同期処理時の通信量が増大する虞れがある。
【００１４】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、変更の有無の記憶に必要なメモリ量が少なく、かつ、同期処理時に通信および処理されるデータ量をさらに削減可能なデータベース管理装置と、そのプログラムが記録された記録媒体とを実現することにある。
【００１５】
【課題を解決するための手段】
本発明に係るデータベース管理装置は、上記課題を解決するために、互いに通信可能な状態になった他のデータベース管理装置との間で、互いに対応付けられたデータの内容を一致させる同期処理手段と、第１データベースとを有し、同期処理の時点と次の同期処理の時点との間の非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、以下の手段を講じたことを特徴としている。
【００１６】
すなわち、上記第１データベースの少なくとも一部である第１共有範囲と、他の複数のデータベース管理装置に、それぞれ格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する各第２共有範囲とを対応付ける共有範囲対応手段と、上記非同期期間中における上記各第１データの更新状態を示す状態情報が、上記第１共有範囲と上記第２共有範囲の１つとの組み合わせ毎に記憶される状態情報記憶手段とを備え、上記同期処理手段は、同時には、ただ１つの他のデータベース管理装置に格納された第２共有範囲と上記第１共有範囲とが互いに同一となるように、両共有範囲に対応する状態情報に基づいて同期処理し、当該第２共有範囲に関連する状態情報を更新すると共に、当該状態情報の更新を、他の第２共有範囲に関連する状態情報へ伝達することを特徴としている。なお、上記状態情報は、第１データの内容変更と、削除と追加と、第１共有範囲内外の移動とのうちの少なくとも１つを含んでいる。  上記構成では、３以上のデータベース管理装置の間で互いに対応するデータは、上記共有範囲対応手段によって予め定められた、それぞれの共有範囲に配される。一方、上記状態情報記憶手段は、自らの共有範囲（第１共有範囲）と、相手の共有範囲（第２共有範囲）との組み合わせ毎に、第１共有範囲内の第１データの状態情報を記憶している。
【００１７】
例えば、ケーブル、モデムあるいは赤外線などを介して、データベース管理装置（第１データベース管理装置）が他のデータベース管理装置（第２データベース管理装置）のうちの１つと通信可能な状態になると、上記同期処理手段は、ただ１つの第２データベース管理装置とのみ通信して、第１および第２共有範囲が一致するように同期処理すると共に、両共有範囲に関連する状態情報を更新する。したがって、第１および第２データベース管理装置間が間欠的に接続される場合であっても、両データベース管理装置のデータ内容が一致する。
【００１８】
さらに、各第１データの状態情報が更新されると、当該状態情報の更新に応じて、各第１データに対応し、かつ、他の第２共有範囲に関連する状態情報が更新される。
【００１９】
上記構成によれば、複数の第２データベース管理装置毎に異なる状態情報が設けられ、ある状態情報の更新が他の状態情報に伝達される。したがって、更新情報に基づく、同期処理が２つのデータベース管理装置間のみで実施されるにも拘わらず、３以上のデータベース管理装置間でデータの同期処理を行うことができる。この結果、同期処理のタイミングが各データベース管理装置の組み合わせ毎に異なる場合であっても、何ら支障なく同期処理できる。
【００２０】
さらに、異なる組み合わせの同期処理が繰り返されると、各組み合わせ毎にデータが一致し、状態情報が順次伝達されるので、クライアント／サーバ方式とは異なり、全てのデータベース管理装置と、必ず特定のデータベース管理装置（サーバ）とを対応付けする必要がない。したがって、各データベース管理装置によりデータベースシステムを構築する際、対応付けの制約が少ないデータベースシステムを構築できる。
【００２１】
加えて、対応するデータが第１共有範囲に配されており、各共有範囲間で対応付けが行われる。また、状態情報に基づいて同期処理が行われる。したがって、データ毎に対応付けたり、第１および第２データを交換して同期処理する場合に比べて、同期処理の際に、両データベース管理装置間で伝送されるデータ量を削減できる。
【００２２】
さらに、本発明に係るデータベース管理装置は、上記した構成において、上記第１共有範囲に含まれる各データに対応するデータ管理番号を記憶するデータ管理番号記憶手段と、上記同期処理以外の処理によって、上記第１共有範囲に新規に追加されたデータに対しては、他のデータベース管理装置とは異なる値に定められたデータベース管理番号と、少なくとも全ての上記第１共有範囲に含まれる他のデータとは異なる値のデータ番号との組み合わせを、上記データ管理番号として設定すると共に、同期処理によって追加されたデータに対しては、他のデータベース管理装置で当該データに既に割り当てられているデータ管理番号を、上記データ管理番号とするデータ管理番号設定手段とを備え、上記同期処理手段は、データ管理番号に基づいて、各データベース間で対応するデータを特定することを特徴としている。
【００２３】
上記構成において、データベース管理番号は、データベースシステムで一意であり、データ番号は、自らのデータベース管理装置内で一意なので、データ管理番号設定手段は、他のデータベース管理装置と通信できるか否かに拘わらず、データベースシステムで一意のデータ管理番号を設定できる。また、同期処理によってデータが順次伝送されても、互いに対応するデータでは、同一のデータ管理番号が使用される。
【００２４】
したがって、同期処理手段は、各共有範囲の対応関係がループ状に形成されている場合であっても、互いに対応するデータを確実に特定できる。この結果、誤特定に起因するデータの増加を防止でき、同期処理時に伝送されるデータ量を削減できる。
【００２５】
一方、本発明に係るデータベース管理装置は、上記課題を解決するために、互いに通信可能な状態になった他のデータベース管理装置との間で、同期処理する同期処理手段と、第１データベースとを有し、同期処理の時点と次の同期処理の時点との間の非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、以下の手段を講じたことを特徴としている。
【００２６】
すなわち、上記第１データベースの一部である第１共有範囲と、他の複数のデータベース管理装置に、それぞれ格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する各第２共有範囲とを対応付ける共有範囲対応手段と、上記各第１データに対応するデータ管理番号を記憶するデータ管理番号記憶手段とを備えている。さらに、データベース管理装置には、上記同期処理以外の処理によって、上記第１共有範囲に新規に追加されたデータに対しては、他のデータベース管理装置とは異なる値に定められたデータベース管理番号と、少なくとも全ての上記第１共有範囲に含まれる他のデータとは異なる値のデータ番号との組み合わせを、上記データ管理番号として設定すると共に、同期処理によって追加されたデータに対しては、他のデータベース管理装置で当該データに既に割り当てられているデータ管理番号を、上記データ管理番号とするデータ管理番号設定手段と、上記非同期期間中に一度でも上記第１共有範囲に含まれた各第１データについて、非同期期間中の更新状態を示す状態情報が上記第１共有範囲と上記第２共有範囲との組み合わせ毎に記憶される状態情報記憶手段が設けられていると共に、上記同期処理手段は、データ管理番号に基づいて、互いに対応する上記第１および第２データを特定し、上記状態情報を参照して両データの内容を一致させる。
【００２７】
上記構成では、非同期期間に一度でも第１共有範囲に含まれた第１データについて、非同期期間中における更新状態を示す状態情報が記憶されている。したがって、第１データが、非同期期間中に第１共有範囲の内外を移動したとしても、状態情報を参照すれば、更新の有無を識別でき、更新されていないデータ転送を省略できる。また、上記データ管理番号記憶手段、データ管理番号設定手段、および同期処理手段を備えたデータベース管理装置と同様に、他のデータベース管理装置と通信できるか否かに拘わらず、データベースシステムで一意のデータ管理番号を設定でき、同期処理手段は、当該データ管理番号の参照によって、容易にデータの対応を識別できる。加えて、上記した構成と同様に、対応するデータが第１共有範囲に配されており、各共有範囲間で対応付けが行われ、状態情報に基づいて同期処理が行われる。これらの結果、同期処理時に、両データベース管理装置間で伝送されるデータ量を削減できる。
【００２８】
さらに、本発明に係るデータベース管理装置は、上記した構成において、上記データ管理番号記憶手段は、データ管理番号を有するデータが、上記第１共有範囲外に配された後も、各データのデータ管理番号も保持すると共に、上記データ管理番号設定手段は、上記データ管理番号記憶手段にデータ管理番号が記憶され、かつ、上記第１共有範囲外に配されたデータが、上記第１共有範囲内に配された場合、上記データ管理番号記憶手段に記憶されたデータ管理番号を当該データのデータ管理番号とすることを特徴としている。
【００２９】
上記構成において、例えば、データの移動、あるいは、共有関係の解消などによって、データ管理番号を有するデータが第１共有範囲外に配された場合であっても、データ管理番号記憶手段は、当該データのデータ管理番号を記憶している。その後、データの移動や、新たな共有範囲の設定などによって、当該データが再び第１共有範囲内に配されると、以前に使用していたデータ管理番号がそのまま使用される。
【００３０】
上記構成によれば、データが第１共有範囲外に配された後、再び、第１共有範囲内に配される場合であっても、同期処理手段は、各データの対応関係を特定できる。この結果、誤特定に起因するデータの増加を防止でき、同期処理時に伝送されるデータ量を削減できる。
【００３１】
また、本発明に係るデータベース管理装置は、上記した構成において、上記同期処理手段は、上記データ管理番号が同一の第１および第２データについて、内容が同一であるか否かを判定し、同一と判定した場合、上記状態情報の伝達を中止することを特徴としている。
【００３２】
上記構成によれば、各共有範囲の対応関係がループ状に形成されている場合であっても、第１および第２データの内容が同一であれば、状態情報の伝達が阻止される。この結果、不要な状態情報の伝達を防止でき、同期処理時に伝送されるデータ量を削減できる。
【００３３】
一方、本発明に係るデータベース管理装置は、上記した構成において、各第１データの最終更新者を記憶する更新者記憶手段を備え、上記同期処理手段は、相手から各データの最終更新者を受け取り、当該最終更新者が自機器の場合、当該データに関する上記状態情報の伝達を中止することを特徴としている。
【００３４】
上記構成において、相手から受け取った最終更新者が自機器の場合、第２データの更新を示す状態情報は、既に自らの状態情報記憶手段に記憶されている。したがって、この場合に、同期処理手段が状態情報の伝達を防止することで、不要な状態情報の伝達を防止でき、同期処理時に伝送されるデータ量を削減できる。
【００３５】
さらに、最終更新者のデータベース管理装置と同期処理した時点で、不要な状態情報の伝達を防止できるので、上記同期処理手段は、上記データ管理番号が同一の第１および第２データについて、内容が同一であるか否かを判定し、同一と判定した場合、上記状態情報の伝達を中止する構成の場合とは異なり、データベース内の全てのデータベース管理装置が状態情報の伝達を中止すべきか否かを判定しなくても、不要な状態情報の伝達を防止できる。
【００３６】
また、本発明に係るデータベース管理装置は、上記した構成において、上記各第１データについて、当該第１データが内容を維持したまま伝送される際、最終更新者と、最終更新者よりも後に経由した全てのデータベース管理装置とを示す伝達リストを記憶する伝達リスト記憶手段を備え、上記同期処理手段は、相手から各データの伝達リストを受け取り、当該伝達リストに自機器が含まれている場合、当該データに関する上記状態情報の伝達を中止することを特徴としている。
【００３７】
なお、伝達リストに自機器を含む場合、伝達リストは、更新時に自機器のみを含むように初期化され、データの伝送時に受信側のデータベース管理装置が追加される。また、伝達リストに自機器を含まない場合、伝達リストは、更新時に空に初期化され、データの伝送時に送信側のデータベース管理装置が追加される。
【００３８】
上記構成において、相手から受け取った伝達リストに自機器が含まれている場合、第２データの更新を示す状態情報は、既に自らの状態情報記憶手段に記憶されている。したがって、この場合に状態情報の伝達を防止することで、各第１データの最終更新者を記憶する更新者記憶手段を備え、上記同期処理手段は、相手から各データの最終更新者を受け取り、当該最終更新者が自機器の場合、当該データに関する上記状態情報の伝達を中止する構成と同様に不要な状態情報の伝達を防止でき、同期処理時に伝送されるデータ量を削減できる。
【００３９】
また、当該構成によれば、データベース内の全てのデータベース管理装置が状態情報の伝達を中止すべきか否かを判定しなくても、最終更新者だけではなく、伝達経路のデータベース管理装置と同期処理した時点で、不要な状態情報の伝達を防止できる。
【００４０】
さらに、本発明に係るデータベース管理装置は、上記課題を解決するために、互いに通信可能な状態になった他のデータベース管理装置との間で同期処理する同期処理手段と、第１データベースとを有し、非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、以下の手段を講じたことを特徴としている。
【００４１】
すなわち、上記第１データベースの少なくとも一部である第１共有範囲と、他の複数のデータベース管理装置に、それぞれ格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する各第２共有範囲とを対応付ける共有範囲対応手段を備え、上記同期処理手段は、上記第１共有範囲と上記各第２共有範囲とを一致させる際、上記各第２共有範囲の１つとの間の同期処理と、他の第２共有範囲との間の同期処理とを互いに異なる時点で行い、同時には、ただ１つの第２共有範囲とのみ、同期処理する。
【００４２】
上記構成において、第１共有範囲は、複数の他のデータベース管理装置の第２共有範囲と対応付けられ、同期処理は、２つのデータベース管理装置で行われる。ここで、異なる組み合わせの同期処理が繰り返されると、各組み合わせ毎にデータが一致するので、３以上のデータベース管理装置であっても、何ら支障なく同期処理できる。この結果、上記第１データベースの少なくとも一部である第１共有範囲と、他の複数のデータベース管理装置に、それぞれ格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する各第２共有範囲とを対応付ける共有範囲対応手段と、上記非同期期間中における上記各第１データの更新状態を示す状態情報が、上記第１共有範囲と上記第２共有範囲の１つとの組み合わせ毎に記憶される状態情報記憶手段とを備え、上記同期処理手段は、同時には、ただ１つの他のデータベース管理装置に格納された第２共有範囲と上記第１共有範囲とが互いに同一となるように、両共有範囲に対応する状態情報に基づいて同期処理し、当該第２共有範囲に関連する状態情報を更新すると共に、当該状態情報の更新を、他の第２共有範囲に関連する状態情報へ伝達することを特徴とする構成と同様に、同期処理のタイミングが各データベース管理装置の組み合わせ毎に異なる場合であっても、何ら支障なく同期処理できると共に、対応付けの制約が少ないデータベースシステムを構築できる。
【００４３】
ところで、本発明に係るデータベース管理装置は、上記課題を解決するために、互いに通信可能な状態になった他のデータベース管理装置との間で同期処理する同期処理手段と、データベースとを有し、非同期期間中に、上記データベース中のデータを更新可能なデータベース管理装置において、以下の手段を講じたことを特徴としている。
【００４４】
すなわち、自らのデータベースの一部として、他のデータベース管理装置のデータに対応付けられたデータが格納される第１部分集合を設定する部分集合設定手段と、上記第１部分集合内のデータに対応するデータが格納される、他のデータベース管理装置の第２部分集合と、当該第１部分集合とを対応させる部分集合対応手段と、上記第１部分集合内外を移動したデータについて、最終移動時刻を記憶する移動時刻記憶手段とを備え、上記同期処理手段としての第１同期処理手段は、第１および第２部分集合の内容を一致させる際、最終移動時刻が遅いデータに合わせて、対応する他のデータを、それぞれの部分集合の内に配するか否かを決定する。
【００４５】
当該構成によれば、対応するデータが第１部分集合に配されており、各部分集合間で対応付けが行われる。また、対応するデータが各部分集合の内外を移動した場合、各部分集合内あるいは外の一方に配される。したがって、部分集合の内外をデータが移動した後、同期処理された場合であっても、部分集合の中と外との双方に２つのデータが配される場合に比べて、データ数の増大を抑えることができ、同期処理時に伝送されるデータ量を削減できる。
【００４６】
また、一般に、データベース管理装置の使用者が重要と見なさないデータは、操作されないため、最後に移動された時刻からの経過時間が長くなる傾向にある。したがって、最終移動時刻が遅いデータに合わせて決定することで、互いに対応するデータ同士のうち、最も使用者に重要視されているデータに合わせて、部分集合の内外を決定でき、より使用者の要望に合った同期処理が可能になる。
【００４７】
一方、本発明に係るデータベース管理装置は、上記した構成において、上記移動時刻記憶手段に代えて、非同期処理期間中に、データが上記第１部分集合内外を移動した場合、移動回数を記憶する移動回数記憶手段を備え、上記第１同期処理手段に代わる同期処理手段として、第１および第２部分集合の内容を一致させる際、移動回数の最も大きなデータに合わせて、他のデータを、それぞれの部分集合内に配するか否かを決定する第２同期処理手段が設けられていることを特徴としている。
【００４８】
ここで、一般に、データベース管理装置の使用者が重要と見なさないデータは、操作されないため、移動回数が少なくなる傾向にある。したがって、移動回数に基づいて、部分集合内外を決定することによって、部分集合設定手段と、部分集合対応手段と、移動時刻記憶手段とを備え、上記同期処理手段としての第１同期処理手段は、第１および第２部分集合の内容を一致させる際、最終移動時刻が遅いデータに合わせて、対応する他のデータを、それぞれの部分集合の内に配するか否かを決定する構成と同様に、同期処理時に伝送されるデータ量を削減できると共に、より使用者の要望に合った同期処理が可能になる。  なお、移動回数を重視するか、最終移動時刻を重視するかなど、部分集合の内外を決定する方法は、データベースシステムの用途や使用者毎に異なるので、同期処理手段は、複数の決定方法のうち、１つを選択して同期処理する方が好ましい。
【００４９】
また、本発明に係るデータベース管理装置は、互いに通信可能な状態になった他のデータベース管理装置との間で同期処理する同期処理手段と、第１データベースとを有し、非同期期間中に、第１データベース中のデータを更新可能なデータベース管理装置において、上記課題を解決するために、以下の手段を講じたことを特徴としている。
【００５０】
すなわち、上記第１データベースの少なくとも一部である第１共有範囲と、他のデータベース管理装置に格納された第２データベースの少なくとも１部であり、上記第１共有範囲の第１データに対応付けられる第２データを格納する第２共有範囲とを対応付ける共有範囲対応手段と、上記非同期期間中における上記各第１データの更新状態を示す状態情報が、上記第１共有範囲と上記第２共有範囲との組み合わせ毎に記憶される状態情報記憶手段とを備え、上記同期処理手段は、上記第１および第２共有範囲が一致するように同期処理する際、互いの状態情報を送受して更新の有無を確認すると共に、複数の共有範囲で更新された場合、例えば、データ内容の一部や、最終更新時刻、最終更新者、あるいは、更新毎に異なる値の更新ＩＤなどに基づいて、各データが同一であるか否かを判定した後で、いずれのデータの内容で、互いに対応する残余のデータを置き換えるかを決定する。
【００５１】
上記構成では、複数の共有範囲でデータが更新された場合、各データが同一であるか否かが判定された後、対応するデータのうちで、優先されるデータを選択し、優先側データの内容で残余のデータ（非優先側データ）を置き換える。したがって、各データ全てを別のデータとして各データベースに追加する場合に比べて、データ数の増大を防止でき、同期処理時に伝送されるデータ量を削減できる。さらに、同一と判定された場合は、優先側の判定自体が行われないので、同期処理時に処理されるデータ量を削減できる。
【００５２】
また、本発明に係るデータベース管理装置は、上記した構成において、上記同期処理手段は、各データが同一であるか否かを、それぞれのデータの一部である付加情報に基づいて判定することを特徴としている。
【００５３】
当該構成によれば、例えば、最終更新時刻、最終更新者、あるいは、更新毎に異なる値の更新ＩＤなど、データ内容全体に比べてデータ量の少ない付加情報に基づいて、データの同一性を判断するので、同期処理時に処理されるデータ量を削減できる。
【００５４】
さらに、本発明に係るデータベース管理装置は、上記した構成において、上記付加情報として、各第１データの最終更新者を記憶する更新者記憶手段を備え、上記同期処理手段は、相手から受け取った第２データの最終更新者が自機器であり、かつ、第１データが更新されていない場合、第１および第２データが同一であると判定することを特徴としている。
【００５５】
当該構成では、最終更新者を伝送し、かつ、自らの第１データが更新されたか否かを判定すれば、両データが互いに同一であるか否かを判定できる。また、最終更新者を示すデータは、多くの場合、データ内容に比べて極めてデータ量が少ない。したがって、余り多くのデータを伝送せずに、同一判定できる。
【００５６】
一方、本発明に係るデータベース管理装置は、上記した構成において、上記付加情報として、上記各第１データについて、当該第１データが内容を維持したまま伝送される際、最終更新者と、最終更新者よりも後に経由した全てのデータベース管理装置とを示す伝達リストを記憶する伝達リスト記憶手段を備え、上記同期処理手段は、相手から受け取った第２データの伝達リストに自機器が含まれ、かつ、第１データが更新されていない場合、第１および第２データが同一であると判定することを特徴としている。
【００５７】
当該構成では、伝達リストを伝送し、かつ、自らの第１データが更新されたか否かを判定すれば、両データが互いに同一であるか否かを判定できる。また、伝達リストは、多くの場合、データ内容に比べて極めてデータ量が少ない。したがて、余り多くのデータを伝送せずに、同一判定できる。
【００５８】
また、本発明に係るデータベース管理装置は、上記した構成において、上記付加情報として、上記各第１データについて、更新毎に異なる値に設定した更新識別情報を記憶する更新識別情報記憶手段を備え、上記同期処理手段は、更新識別情報が同一である場合、第１および第２データが同一であると判定することを特徴としている。
【００５９】
当該構成によれば、データ内容全体に比べてデータ量の少ない付加情報に基づいて、データの同一性を判断するので、同期処理時に処理されるデータ量を削減できる。
【００６０】
さらにまた、本発明に係るデータベース管理装置は、上記した構成において、上記付加情報として、上記各第１データについて、最終更新時刻を記憶する最終更新時刻記憶手段を備え、上記同期処理手段は、最終更新時刻が同一である場合、第１および第２データが同一であると判定することを特徴としている。
【００６１】
当該構成によれば、データ内容全体に比べてデータ量の少ない付加情報に基づいて、データの同一性を判断するので、同期処理時に処理されるデータ量を削減できる。
【００６２】
ところで、上記各構成のデータベース管理装置は、ハードウェアで構成してもよいし、コンピュータに、同様の動作を行わせるためのプログラムを実行させて実現することもできる。
【００６３】
具体的には、本発明に係るコンピュータ読み取り可能な記録媒体は、コンピュータを上記共有範囲対応手段および同期処理手段として機能させるためのプログラムが記録されていることを特徴としている。
【００６４】
したがって、上記プログラムがコンピュータで実行されると、当該コンピュータは、共有範囲対応手段および同期処理手段を備えたデータベース管理装置として動作するので、同期処理のタイミングが各データベース管理装置の組み合わせ毎に異なる場合であっても、３以上のデータベース管理装置間で、何ら支障なく同期処理できると共に、対応付けの制約が少ないデータベースシステムを構築できる。
【００６５】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、コンピュータを上記共有範囲対応手段、データ管理番号記憶手段、データ管理番号設定手段、状態情報記憶手段および同期処理手段として、機能させるためのプログラムが記録されていることを特徴としている。それゆえ、当該プログラムを実行することで、上記共有範囲対応手段、データ管理番号記憶手段、データ管理番号設定手段、状態情報記憶手段および同期処理手段を備えた構成と同様に、同期処理時に伝送されるデータ量を削減でき、各データの対応を容易に識別できる。
【００６６】
さらに、本発明に係るコンピュータ読み取り可能な記録媒体は、コンピュータを上記部分集合設定手段、部分集合対応手段、移動時刻記憶手段および第１同期処理手段として機能させるためのプログラムが記録されている。また、本発明に係るコンピュータ読み取り可能な記録媒体は、コンピュータを上記部分集合設定手段、部分集合対応手段、移動時刻記憶手段、移動回数記憶手段および第２同期処理手段として機能させるためのプログラムが記録されている。それゆえ、このプログラムを実行することで、上記部分集合設定手段、部分集合対応手段、移動時刻記憶手段、移動回数記憶手段および第２同期処理手段を備えたデータベース管理装置と同様に、同期処理時に伝送されるデータ量を削減できると共に、より使用者の要望に合った同期処理が可能になる。
【００６７】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、コンピュータを上記共有範囲対応手段、状態情報記憶手段および同期処理手段として、機能させるプログラムが記録されている。それゆえ、有範囲対応手段、状態情報記憶手段および同期処理手段を備えたデータベース管理装置と同様に、同期処理時に伝送されるデータ量、および、処理されるデータ量を削減できる。
【００６８】
【発明の実施の形態】
〔第１の実施形態〕
本発明の一実施形態について図１ないし図５０に基づいて説明すると以下の通りである。すなわち、本実施形態に係るデータベースシステムは、例えば、個人情報などを複数のデータベース管理装置で管理する場合など、互いに通信可能な期間が制限され、かつ、それぞれが独立してデータを更新可能な複数のデータベース間で、対応するデータの内容を同一に保つことが要求される場合に好適に使用されるシステムである。システム構成は種々のものが考えられるが、本実施形態では、携帯情報端末から構成される場合のように、互いに対等なデータベース管理装置からなるデータベースシステムを例にして説明する。  具体的には、例えば、図２に示すように、本実施形態に係るデータベースシステム１は、データベースを格納する情報処理機器（データベース管理装置）２…を備えており、各情報処理機器２には、相手の情報処理機器２と通信するための通信装置３と、使用者との間の入出力を処理する表示装置４および入力装置５とが接続されている。
【００６９】
上記通信装置３は、例えば、ＬＡＮインターフェースやＲＳ２３２Ｃインターフェースなどのインターフェース、モデム、赤外線送受光器、あるいは、無線送受信器などであって、情報処理機器２の指示に応じ、ケーブル、公衆電話回線網、赤外線あるいは無線など、種々の通信媒体のうちの少なくとも１つを介して、相手の通信装置３と互いに通信できる。また、表示装置４は、ＣＲＴディスプレイや液晶ディスプレイなどであって、情報処理機器２のデータベースの内容、あるいは、データベースに対する操作結果など種々の情報を、情報処理機器２の指示に応じて表示できる。さらに、入力装置５は、キーボードやマウス、ペン、あるいは、上記表示装置４上に配されたタッチパネルなどであって、使用者の指示を情報処理機器２へ入力できる。
【００７０】
一方、本実施形態に係る情報処理機器２には、図１に示すように、上記通信装置３に接続され、当該通信装置３を介して、他の情報処理機器２と通信する通信部２１と、上記表示装置４および入力装置５に接続され、使用者とのインタフェースとなるユーザ操作部２２と、データベースＤＢを格納するデータベース管理部２３と、ユーザ操作部２２の指示に応じて、データベース管理部２３を制御するデータベース処理部２４と、通信部２１およびデータベース管理部２３を制御して、他のデータベースＤＢとの同期に関連した処理を行う同期部２５とが設けられている。なお、上記データベース管理部２３が、特許請求の範囲に記載の第１データベースおよび状態情報記憶手段に対応する。
【００７１】
上記各部材は、ハードウェアで実現されてもよいし、図３に示すＣＰＵ２０ａがＲＯＭ２０ｂあるいはＲＡＭ２０ｃに格納された所定のプログラムを実行することで実現される機能ブロックであってもよい。後者の場合は、上記プログラムが格納された記録媒体を配付し、当該記録媒体を読み取り可能なコンピュータで実行させるだけで、上記各部材を実現できるため、配付が容易になる。なお、Ｉ／Ｆ２０ｄは、ＣＰＵ２０ａと図１に示す通信装置３などとを接続するためのインターフェースである。
【００７２】
ここで、上記記録媒体は、例えば、ＲＡＭやＲＯＭなどを含むメモリであってもよいし、コンピュータの外部記憶装置としてプログラム読み取り装置が接続される場合、当該プログラム読み取り装置で読み取り可能なプログラムメディアであってもよい。プログラムメディアとしては、例えば、磁気テープやカセットテープなどのテープ、あるいは、フロッピーディスクやハードディスクなどの磁気ディスク、または、ＣＤ−ＲＯＭや光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）やデジタルビデオディスク（ＤＶＤ）などのディスクを使用できる。また、ＩＣカードや光カードのようなカード、あるいは、マスクＲＯＭやＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュＲＯＭなどのような半導体メモリであってもよい。なお、記録媒体は、コンピュータで読み取り可能であれば、書換え（書き込み）可能であってもよいし、固定的にプログラムを担持する媒体であってもよい。
【００７３】
さらに、インターネットを含む通信ネットワークと接続することで、通信ネットワークからプログラムをダウンロードすることもできる。あるいは、上記プログラムに復元可能なデータとして、プログラムが記録またはダウンロードされてもよい。特に、本実施形態に係る情報処理機器２は、図２に示すように、通信装置３を介して、他の情報処理機器２と通信するので、上記通信ネットワークと通信するための部材として通信装置３を比較的容易に流用できる。なお、これらの場合、ダウンロード用プログラムは、予め情報処理機器２に格納しておくか、ダウンロードに使用する媒体以外の記録（通信）媒体からインストールすることが望まれる。
【００７４】
本実施形態では、図４に示すように、データベースＤＢがデータ１件を示すティップＴとティップの母集合となるフクロＦとを単位として管理されており、上記データベース管理部２３には、データベースを格納するティップ管理部３１およびフクロ管理部（部分集合設定手段）３２が設けられている。また、上記データベース処理部２４は、ティップＴの更新／追加／削除をそれぞれ行うティップ更新処理部４１・ティップ追加処理部４２・ティップ削除処理部４３などを備えている。なお、データベース処理部２４は、例えば、ティップＴの検索や表示、あるいは、フクロＦとの包含関係の変更など、データベースＤＢの他の操作に関連する部材も備えている。これにより、所定の内容のティップＴなど、所望の条件を満足するティップＴを検索して、フクロＦを生成したり、表示されたティップＴのうち、所望のティップＴを選択して、所望のフクロＦに挿入したりできる。
【００７５】
また、同期部２５には、ティップＴの同期処理を行うシンクロナイズ処理部（同期処理手段）５１と、同期処理に先立って、後述する共有設定を行う共有設定処理部（共有範囲対応手段および部分集合対応手段）５２と、例えば、同期処理が不要になった場合などに上記共有設定を解除する共有解除処理部５３とが設けられている。なお、データベース処理部２４および同期部２５の構成は、データベース管理部２３に格納されるデータと密接に関連しており、当該データに基づく動作に大きな特徴がある。それゆえ、以下では、データベース管理部２３の構成についてのみ説明し、データベース処理部２４および同期部２５の構成は、動作と共に詳説する。
【００７６】
具体的には、上記ティップ管理部３１は、１件分のデータをティップと呼ばれるデータ構造で管理している。各ティップＴは、データベースＤＢ内の他のティップＴと自らとを一意に識別するためのティップＩＤと、１件分のデータが格納される属性リストＬＡとを備えている。当該属性リストＬＡには、図５に示すように、属性Ａの種別を示す属性名ＮＡと、当該ティップＴに格納されるデータの内で当該属性Ａの値を示す属性値ＶＡとの組み合わせが、リスト状に格納されている。
【００７７】
例えば、データベースＤＢに住所録を格納する場合を例にして説明すると、個々のティップＴは、１件の住所データに相当する。各住所データが名前を示すデータと、住所を示すデータと、電話番号を示すデータとの３種のデータから構成される場合、各ティップＴは、名前、住所および電話番号の３つの属性Ａ1 〜Ａ3 の集合として定義され、各ティップＴの属性リストＬＡは、図５に示すように、属性名ＮＡと属性値ＶＡとの組み合わせが、順番に並べられたリストとして表現される。例えば、第１のティップの属性リストＬＡには、名前の属性Ａ1 として、「名前」という属性名ＮＡ1 と「○山×夫」という属性値ＶＡ1 との組み合わせが格納されている。同様に、「住所」および「東京都東京市…」の組み合わせと、「電話番号」および「0123- …」の組み合わせとが格納される。
【００７８】
また、上記フクロ管理部３２は、データベースＤＢに含まれるフクロＦと、上記各ティップＴおよびフクロＦの包含関係とを記憶している。図６に示すように、１つの情報処理機器２に複数のデータベースＤＢ1 、ＤＢ2 、ＤＢ3 が格納されている場合を例にして説明すると、情報処理機器２∋データベースＤＢ∋フクロＦ∋ティップＴの関係が成立する。上記フクロ管理部３２は、この関係を図７に示すようなツリー構造Ｓ１として格納している。
【００７９】
当該ツリー構造Ｓ１では、ティップＴ2 のように、単一のフクロ（Ｆ1 ）に含まれていてもよいし、ティップＴ1 のように、複数のフクロ（Ｆ1 ・Ｆ2 ）に含まれていてもよい。これにより、図６に示すように、複数のフクロＦ1 、Ｆ2 に含まれるティップＴ1 を表現できる。本実施形態では、後述するように、各フクロＦは、複数のフクロＦと対応付けることができる。したがって、図８に示すように、上記ツリー構造Ｓ１には、共有されるフクロＦ（共有フクロＳＦ）毎に、共有相手や、その関連情報が付加されている。
【００８０】
なお、上記ツリー構造Ｓ１を格納できれば、ツリー構造Ｓ１全体を格納してもよいし、当該ツリー構造Ｓ１を複数のリストに分割して、情報処理機器２に含まれるデータベースＤＢのリストと、各データベースＤＢ毎のフクロＦのリストと、各フクロＦ毎のティップＴのリストとして格納してもよい。本実施形態では、ティップＴと同様に、各情報処理機器２、各データベースＤＢおよび各フクロＦに対して、それぞれを一意に識別するためのＩＤが割り当てられているので、上記各リストは、当該ＩＤのリストとして格納される。  なお、上記ツリー構造Ｓを情報処理機器２、データベースＤＢ…の順にたどれば、あるフクロＦに含まれるティップＴは、即座に判明するが、これとは逆にティップＴを含むフクロＦは、最悪のケースで、ツリー構造Ｓ１を全て検索する必要がある。それゆえ、本実施形態に係るティップ管理部３１は、図９に示すように、検索時間の短縮が要求するために、上記ツリー構造Ｓ１とは別に、ティップＴ毎に当該ティップＴを含むフクロＦと、後述するダーティ・ビット、あるいは、対応付け情報などからなるツリー構造Ｓ２が格納されている。当該ダーティ・ビットは、自らの共有フクロＳＦと相手の共有フクロＳＦとの組み合わせ毎に設けられているので、ツリー構造Ｓ２には、両者の組み合わせ毎に、ダーティ・ビットや対応付け情報が格納されている。
【００８１】
本実施形態に係るデータベースシステム１では、図１０に示すように、同期処理の対象となる範囲（共有範囲）がフクロＦ単位で決定されており、あるティップＴが他のデータベースＤＢ間で共有されるか否かは、予め共有すると設定されたフクロ（共有フクロＳＦ）に所属しているか否かで判定される。
【００８２】
ここで、通常、通信装置３などを介した他の情報処理機器２へのアクセスは、自らの情報処理機器２内のアクセスに比べると極めて低速であり、同期処理の所要時間は増大しがちである。それゆえ、所要時間の短縮が切望されており、他の情報処理機器２との間で伝送されるデータ量の削減が望まれる。なお、自らの情報処理機器２内へのアクセスは比較的高速なので、前回の同期処理と次回の同期処理との間の期間中（非同期期間中）の処理が増大したとしても、処理時間は、余り長くならない。
【００８３】
本実施形態に係るフクロ管理部３２は、上記データ量を削減するため、非同期期間中における各ティップＴの状態を示すダーティ・ビットＤからなるダーティ・ビット・リストＬＤを格納している。ダーティ・ビット・リストＬＤは、各ダーティ・ビットＤの順序が、自らと相手とで互いに対応するティップＴのダーティ・ビットＤが同じ順位になるように管理されており、後述するように、ティップＴの対応関係をも示している。さらに、フクロ管理部３２には、前回の同期処理で既に対応付けられたティップＴの数を示すシンク・リミットＬｉｍが格納されており、ダーティ・ビットＤに対応するティップＴが、相手の共有フクロＳＦ内のティップＴと既に対応付けられているか否かを判別できる。
【００８４】
例えば、図１１に示すように、前回の同期処理において、両共有フクロＳＦa ・ＳＦb 間で、３つのティップ（Ｔ1a〜Ｔ3aおよびＴ1b〜Ｔ3b）が対応付けられた場合、両情報処理機器２a ・２b には、シンク・リミットＬｉｍとして、”３”が記憶される。さらに、図１２に示すように、情報処理機器２a のダーティ・ビット・リストＬＤabでは、各ティップＴ1a〜Ｔ6aに対応するダーティ・ビットＤ1ab 〜Ｄ6ab が、この順番で格納されている。同様に、情報処理機器２b のダーティ・ビット・リストＬＤabでは、各ティップＴ1b〜Ｔ3b、Ｔ7bおよびＴ8bに対応するダーティ・ビットＤ1ba 〜Ｄ3ba 、Ｄ7ba およびＤ8ba が、この順番で格納されている。この場合、シンク・リミットＬｉｍが”３”なので、ダーティ・ビットＤが３番目よりも後に格納されたティップＴ4a〜Ｔ6a、および、Ｔ7b〜Ｔ8bは、相手の共有フクロＳＦ内のティップＴと対応付けられていない。なお、図１２は、ダーティ・ビット・リストＬＤの格納方法の一例として、ダーティ・ビットＤとダーティ・ビットＤに対応するティップＩＤとの組み合わせを順次格納する場合を示している。  以下では、説明の便宜上、ダーティ・ビット・リストＬＤにおけるダーティ・ビットＤの順位をシンク・タグと称し、図中では、〔〕内の数字として表記する。また、ティップＴに対応するダーティ・ビットＤは、例えば、ティップＴ1aに対するダーティ・ビットＤ1ab のように、同じ添字に、共有相手を示す英小文字を加えて表記する。さらに、一方の情報処理機器２a に格納される情報は、例えば、ティップＴ1aのように添字a を付して、他方の情報処理機器２b に格納された情報（添字b を付す）と区別する。なお、特に対応関係を明記する必要がない場合、あるいは、総称する場合は、添字を省略する。
【００８５】
上記ダーティ・ビットＤは、非同期期間中に一度でも共有フクロＳＦ内に存在したティップＴそれぞれに対応して作成されており、対応するティップＴが非同期期間中に更新されたか否かを示す更新パラメタと、当該ティップＴが非同期期間中に共有フクロＳＦ内外を移動したか否かを示す移動パラメタとを有している。更新パラメタは、更新を示す「ｍ」、あるいは、維持を示す「ｐ」の値を取り、移動パラメタの値は、静止を示す「Ｘ」、挿入を示す「Ｉ」、あるいは、排出を示す「Ｏ」のいずれかである。より詳細には、「Ｘ」は、前回の同期処理以降、共有フクロＳＦ中に存在し続けていることを示し、「Ｉ」は、前回の同期処理以降、共有フクロＳＦに入れられたこと、あるいは、戻されたことを示している。同様に、「Ｏ」は、前回の同期処理以降、共有フクロＳＦから取り出されたこと、あるいは、一度挿入された後、再び取り出されたことを示している。上記移動パラメタは、例えば、図１３に示すように、共有フクロＳＦへ追加されたことを示す追加ビットＢＩと、共有フクロＳＦから削除されたことを示す削除ビットＢＯとの組み合わせとして格納される。また、例えば、同期処理の結果、共有フクロＳＦ外に存在すると判定した場合など、それ以降は、ティップＴの状態監視が不要な場合には、両ビットＢＩおよびＢＯが共にオンに設定される。以下では、更新パラメタの値に拘わらず、この状態を無効「Ｋ」と称する。したがって、ダーティ・ビットＤから識別可能なティップＴの状態は、静止維持「Ｘｐ」、静止更新「Ｘｍ」、挿入維持「Ｉｐ」、挿入更新「Ｉｍ」、排出維持「Ｏｐ」、排出更新「Ｏｍ」および無効「Ｋ」の７つとなる。
【００８６】
ところで、同じ共有フクロＳＦであっても、相手の共有フクロＳＦが異なれば、それぞれとの非同期期間は、通常、互いに異なっている。したがって、本実施形態では、ダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍは、自らの共有フクロＳＦと相手の共有フクロＳＦとの組み合わせ（ペア）毎に設けられている。
【００８７】
例えば、図１４に示すように、共有フクロＳＦa が、３つの異なる共有フクロＳＦb ・ＳＦc ・ＳＦd と対応している場合、図１５に示すように、各ペアに対応するダーティ・ビット・リストＬＤab・ＬＤac・ＬＤad、および、シンク・リミットＬｉｍab・Ｌｉｍac・Ｌｉｍadが設けられる。図１４および図１５に示すように、各ダーティ・ビット・リストＬＤは、相手のダーティ・ビット・リストＬＤと順序が揃えられていればよく、相手が異なるダーティ・ビット・リスト（ＬＤab・ＬＤacなど）間では、ダーティ・ビットＤの順序や値、あるいは、シンク・リミットＬｉｍが異なっていてもよい。例えば、ダーティ・ビット・リストＬＤabでは、ティップＴ2aを示すダーティ・ビットＤ2ab （値は、Ｉｍ）が、２番目に格納されているが、ダーティ・ビット・リストＬＤacでは、ダーティ・ビットＤ2ac （値は、Ｘｐ）が１番目に格納されている。一方、共有フクロＳＦb のダーティ・ビット・リストＬＤbaでは、ティップＴ２b を示すダーティ・ビットＤ2ba が２番目に格納されており、ダーティ・ビット・リストＬＤcaでは、ダーティ・ビットＤ2ca が１番目に格納されている。
【００８８】
本実施形態に係るフクロ管理部３２には、上記各リストに加えて、各共有フクロＳＦ毎に、当該共有フクロＳＦの共有相手を示す共有相手リストＬＳが設けられている。このリストＬＳを参照すれば、ある共有フクロＳＦの共有相手全てを容易に検索できるので、例えば、当該共有フクロＳＦ内のティップＴに対して、追加、削除あるいは内容更新などの変更が加えられた場合、当該ティップＴに対応するダーティ・ビットＤ全てをより短時間で更新できる。
【００８９】
上記構成のデータベースシステム１において、図１６に大略的に示すように、実際の同期処理に先立って共有設定が行われ、各情報処理機器２（例えば、２a および２b ）の共有設定処理部５２は、例えば、自らおよび相手の共有フクロＳＦの設定、並びに、ダーティ・ビット・リストＬＤやシンク・リミットＬｉｍの生成など、同期処理に必要な処理を行う（Ｓ１）。なお、この段階では、両共有フクロＳＦa ・ＳＦb が共有範囲であることが、両情報処理機器２a ・２b に登録されただけであり、同期処理が行われるまでは両共有フクロの内容は一致しない。
【００９０】
ここで、共有解除は、基本的には、共有フクロＳＦ間の対応を解除するだけであり、共有フクロＳＦの内容が互いに一致しているとは限らない。それゆえ、共有フクロＳＦの内容を一致させる場合は、共有解除の直前に、自動的に、あるいは、使用者の指示によって同期処理すればよい。
【００９１】
なお、上記では、共有設定と同期処理とを別に説明しているが、共有設定と同時に同期処理を行うこともできる。この場合は、例えば、共有設定の終了時点で、両共有フクロＳＦの内容が一致する。ただし、本実施形態では、共有設定と同期処理とを分離して、共有設定の所要時間を短縮している。これにより、共有設定の時点では、双方の情報処理機器２がそれぞれの使用者へ共有設定の可否を確認し、同期処理の時点では、一方の情報処理機器２の使用者のみが操作する場合、双方の使用者による操作時間の合計を短縮できる。この結果、安全性の向上と、操作時間の短縮との双方を実現できる。
【００９２】
その後、両情報処理機器２a ・２b が通信可能であるか否かに拘わらず、非同期期間中は、自らのデータベースＤＢへの操作に基づいて、ダーティ・ビット・リストＬＤが更新される（Ｓ２）。また、両情報処理機器２a ・２b が通信可能な期間には、同期処理が行われ、双方の共有フクロＳＦ内のティップ数およびティップＴの内容は、上記ダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍを参照して揃えられると共に、ダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍも更新される（Ｓ３）。各情報処理機器２a ・２b 間の通信路が間欠的に接続される場合、当該Ｓ３のように、意図的な同期処理によって、整合性の保たれる共有フクロは、非常に有用である。
【００９３】
なお、ティップＴは複数のフクロＦに入れることができるため、いずれかの共有設定に関連する同期処理が実行されると、同期処理に関係のないフクロＦに所属するティップＴが変更されることがある。ただし、いずれの共有設定に関連する同期処理を行った場合であっても、共有フクロＳＦ以外のフクロＦへ、ティップＴが挿入されたり、除去されることはない。
【００９４】
上記Ｓ２およびＳ３の処理は、必要に応じて繰り返され、それ以降の同期処理が不要になると、Ｓ４において、共有設定が解除される。なお、図１６では、ステップＳ１の後、最初にステップＳ２が行われるように記載しているが、両ステップＳ２・Ｓ３が交互に繰り返されれば、両ステップＳ２・Ｓ３の順番を入れ換えてもよい。
【００９５】
ここで、図１６では、データベースシステム１で行われる処理のうち、２つの情報処理機器２間で行われる処理のみを記載したが、上記図１４に示すように、本実施形態では、ある情報処理機器２a のフクロＳＦa は、複数の情報処理機器２b ・２c ・２d のフクロＳＦb ・ＳＦc ・ＳＦd と共有設定でき、図１５に示すように、共有フクロＳＦのペア毎に、ダーティ・ビット・リストＬＤab・ＬＤac・ＬＤadが作成される。したがって、上記Ｓ１〜Ｓ４の処理は、共有設定される共有フクロＳＦのペア毎に、互いに独立して行われる。
【００９６】
ここで、ある共有フクロＳＦのペア間の同期処理の結果、ティップＴの内容が更新されると、当該ティップＴに関連する全てのダーティ・ビットＤが更新される。これにより、ある共有フクロＳＦのペア間の同期処理でのティップＴの変更は、他の共有フクロＳＦペアの非同期期間におけるティップＴの変更として、ダーティ・ビットＤに反映される。この結果、情報処理機器２a 〜２d の任意の２つの間での同期処理を繰り返すことによって、各情報処理機器２は、ある時点では、ただ一つの情報処理機器２と同期処理しているにも拘わらず、各情報処理機器２a 〜２d で互いに対応する共有フクロＳＦa 〜ＳＦd の内容を、互いに同一に保つことができる。
【００９７】
また、上記共有フクロＳＦa 〜ＳＦd は、任意の２つの間での同期処理を繰り返しているため、各共有フクロＳＦは、少なくとも、他の共有フクロＳＦの１つと共有設定されていれば、互いの内容を同一に設定できる。例えば、図１４の例では、共有フクロＳＦb 〜ＳＦd は、それぞれ、共有フクロＳＦa とのみ共有設定されているにも拘わらず、共有フクロＳＦa 〜ＳＦd は、互いの内容が同一に設定される。この結果、クライアント／サーバ方式のように、特定の情報処理機器２と対応付けることなく、データベースシステム１全体でデータの整合性を取ることができる。
【００９８】
以下では、３以上の共有フクロＳＦ間の同期処理の一例として、図１７〜図２９を参照して、共有フクロＳＦa が３つの共有フクロＳＦb 〜ＳＦd のそれぞれと共有設定される場合の動作について詳細に説明する。図１７に示すように、各共有フクロＳＦa 〜ＳＦd の同期処理が終了した安定状態では、各共有フクロＳＦa 〜ＳＦd に含まれるティップＴの数が同じであり、対応するティップＴの内容が一致している。なお、以下では、説明の便宜上、対応するティップＴには、例えば、Ｔ1aとＴ1dとのように、同じ数字を添えて示し、同じ共有フクロＳＦに含まれるティップＴには、例えば、Ｔ1aと後述のＴ2aとのように、同じ英小文字を添えて示す。また、例えば、対応関係および共有フクロＳＦの一方または双方の特定が不要な場合は、Ｔ1 、Ｔa 、あるいはＴのように、添字の一部または全部を省略して説明する。
【００９９】
この状態で、図１８に示すように、共有フクロＳＦa にティップＴ2aが追加されると、情報処理機器２a において、ティップＴ2aのダーティ・ビットＤ2ab 〜Ｄ2ad は、それぞれ、挿入・更新を示す値「Ｉｍ」に設定される。次に、共有フクロＳＦa ・ＳＦb のペア間、共有フクロＳＦa ・ＳＦc のペア間、および、共有フクロＳＦa ・ＳＦd のペア間で、同期処理が順次行われ、図１９に示すように、各共有フクロＳＦb 〜ＳＦd へ、ティップＴ2aと同一内容のティップＴ2b〜Ｔ2dが追加され、それぞれのダーティ・ビットＤ2ab ・Ｄ2ba 、Ｄ2ca ・Ｄ2ac ・Ｄ2da ・Ｄ2ad は、静止・維持を示す値「Ｘｐ」に設定される。
【０１００】
一方、図１７に示す状態において、図２０に示すように、共有フクロＳＦa のみと共有設定されている共有フクロＳＦb に、ティップＴ2bが追加されると、図２０に示すように、情報処理機器２b において、ティップＴ2bのダーティ・ビットＤ2ba は、挿入・更新を示す値「Ｉｍ」に設定される。さらに、共有フクロＳＦb ・ＳＦa のペア間で同期処理が行われると、図２１に示すように、情報処理機器２a の共有フクロＳＦa へ、ティップＴ2bと同一内容のティップＴ2aが追加され、両情報処理機器２a ・２b のダーティ・ビット・リストＬＤab・ＬＤbaにおいて、ダーティ・ビットＤ2ab ・Ｄ2ba は、静止・維持を示す値「Ｘｐ」に設定される。
【０１０１】
ここで、共有フクロＳＦa は、共有フクロＳＦb 以外にも、共有フクロＳＦc およびＳＦd と共有設定されている。したがって、情報処理機器２a のシンクロナイズ処理部５１は、ダーティ・ビット・リストＬＤac・ＬＤad  において、ティップＴ2aに対応するダーティ・ビットＤ2ac ・Ｄ2ad を作成し、挿入・更新を示す値「Ｉｍ」に設定する。この結果、共有フクロＳＦa は、共有フクロＳＦc ・ＳＦd との間で同期処理されると、共有フクロＳＦb と共有フクロＳＦc ・ＳＦd との間では、直接共有設定されていないにも拘わらず、図１９と同様、各共有フクロＳＦa 〜ＳＦd の内容が一致する。
【０１０２】
上記では、ティップＴが挿入される場合を例にして説明したが、ティップＴが削除された場合や、内容が更新された場合、あるいは、共有フクロＳＦ内外を移動した場合も同様に、２つずつの同期処理を繰り返すことで、全ての共有フクロＳＦの内容が同一になる。  例えば、図２２に示すように、ティップＴ2aが削除された場合は、共有フクロＳＦa と、各共有フクロＳＦb 〜ＳＦd との同期処理によって、図２３に示すように、全てのティップＴ2a〜Ｔ2dが削除され、図２４に示すように、ティップＴ2bが削除された場合は、図２５に示すように、ティップＴ2aが削除された後、全てのティップＴ2a〜Ｔ2dが削除される。同様に、図２６に示すように、ティップＴ2aの内容が更新された場合は、図２７に示すように、全てのティップＴ2a〜Ｔ2dも同様に更新される。また、図２８に示すように、ティップＴ2bの内容が更新された場合は、図２９に示すように、ティップＴ2aが更新された後、全てのティップＴ2a〜Ｔ2dが更新される。
【０１０３】
ここで、図１６のＳ１〜Ｓ４の処理をさらに詳細に説明すると、以下の通りである。なお、共有設定のモデルとしては、予め存在するフクロＦa ・Ｆb 間での共有設定を行うフクロ融合型モデルや、一方の情報処理機器２に存在するフクロＦを指定し、他方の情報処理機器２には、当該フクロＦに対応する新たなフクロＦを作成するフクロ取込み型モデル、あるいは、双方の情報処理機器２に共有用の新たなフクロＦa ・Ｆb を作成するフクロ新規作成型モデルなどが挙げられるが、以下では、フクロ融合型モデルの共有設定を例にして説明する。
【０１０４】
すなわち、図３０に示すように、両情報処理機器２a ・２b が通信可能になると、Ｓ１１において、一方の情報処理機器２a に設けられた共有設定処理部５２は、他方の情報処理機器２b へ共有設定要求を送出する。当該要求には、情報処理機器２a を示す機器番号と、情報処理機器２a のフクロＦa を示すフクロＩＤと、共有を希望する情報処理機器２b のフクロＦb を示すフクロＩＤとが含まれている。なお、以下では、共有設定要求を送出する側を共有設定起動側と称し、共有設定要求を受け取る側を共有設定受動側と称する。
【０１０５】
さらに、共有設定起動側の共有設定処理部５２は、Ｓ１２において、上記共有設定要求と同様の情報を共有情報として登録する。さらに、共有設定処理部５２は、自らのフクロＦa に対応する共有相手リストＬＳを作成し、相手のフクロＩＤを登録する。これにより、当該フクロＦa は、共有フクロＳＦa となる。また、当該共有フクロＳＦa と相手のフクロＦb との組み合わせに対応するダーティ・ビット・リストＬＤと、シンク・リミットＬｉｍとが作成される。
【０１０６】
一方、共有設定受動側の情報処理機器２b では、Ｓ１３において、共有設定処理部５２が共有設定要求を受け取ると、Ｓ１４において、当該共有設定要求に基づいて、共有情報を登録する。共有情報には、自らの情報処理機器２b を示す機器番号と、情報処理機器２a において共有対象となるフクロＩＤと、情報処理機器２b において共有対象となるフクロＩＤと、共有設定の際に決定されるオプションとが含まれる。さらに、共有設定処理部５２は、共有設定起動側と同様に、自らのフクロＦb に対応する共有相手リストＬＳへ、相手のフクロＩＤを登録して、共有フクロＳＦb を生成すると共に、自らの共有フクロＳＦb と相手の共有フクロＳＦa との組み合わせに対応するダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍを作成する。
【０１０７】
続いて、図１６に示すＳ２の処理、すなわち、非同期期間中の処理について詳細に説明する。非同期期間中には、ティップＴへの操作と、操作時点でのダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍとに基づいて、ティップＴに対応するダーティ・ビットＤが、図３１に示すように更新される。
【０１０８】
具体的には、ティップＴの内容更新が指示された場合、図３２に示すＳ２１において、ティップ更新処理部４１（図１参照）は、ユーザ操作部２２から当該指示を受け取り、指示に応じて、ティップＴの内容を更新する。さらに、Ｓ２２において、当該ティップＴに対応するダーティ・ビットＤについて、更新パラメタを「ｍ」に設定する。なお、移動パラメタは、それまでの値のまま保たれる。
【０１０９】
上記ティップＴは、複数の共有フクロＳＦに所属可能であり、また、各共有フクロＳＦは、複数の相手と共有されていることがある。この結果、情報処理機器２全体でみると、当該ティップＴに対応するダーティ・ビットＤは、複数存在する場合がある。したがって、当該ティップＴに対応する全てのダーティ・ビットＤが検索され、それぞれが更新される。対応するダーティ・ビットＤの検索は、例えば、全てのダーティ・ビット・リストＬＤを参照してもよいし、検索時間を短縮するために、各ティップＴに対応するダーティ・ビットＤのリストを予め作成しておき、当該リストを参照して検索してもよい。
【０１１０】
いずれの場合でも、本実施形態では、非同期期間に一度でも共有フクロＳＦに所属したティップＴについて、ダーティ・ビットＤが作成され、当該ティップＴへの操作を監視して、ダーティ・ビットＤを更新している。したがって、例えば、ティップＴの移動などによって、当該ティップＴが現時点では共有フクロＳＦに存在しない場合であっても、ダーティ・ビットＤは、確実に更新される。
【０１１１】
一方、ティップＴの新規作成やティップＴの移動などによって、ティップＴが共有フクロＳＦへ挿入される場合、図３３に示すように、ティップ追加処理部４２（図１参照）は、ユーザ操作部２２からの指示に応じて、フクロ管理部３２を制御して、当該ティップＴを共有フクロＳＦに所属させる（Ｓ３１）。さらに、ティップ追加処理部４２は、Ｓ３２において、当該共有フクロＳＦを示すダーティ・ビット・リストＬＤが、ティップＴに対応するダーティ・ビットＤを含んでいるか否かを判定する。
【０１１２】
ここで、ダーティ・ビットＤを含んでいる場合は、例えば、共有フクロＳＦ内のティップＴを出し入れした場合など、当該ティップＴの内容更新が既に監視されていることを示している。したがって、ティップ追加処理部４２は、Ｓ３３において、当該ダーティ・ビットＤの移動パラメタを「Ｉ」に設定する。一方、含んでいない場合は、例えば、一度も共有フクロＳＦに含まれていない場合やティップＴを新規作成した場合などであり、非同期期間中に、当該ティップＴの内容が更新されたか否かを識別できないことを示している。したがって、ティップ追加処理部４２は、Ｓ３４において、例えば、ダーティ・ビット・リストＬＤの末尾など、シンク・リミットＬｉｍよりも後の順位に、値が「Ｉｍ」で上記ティップＴを示すダーティ・ビットＤを追加する。なお、共有フクロＳＦに対応するダーティ・ビット・リストＬＤが複数存在する場合は、全てのダーティ・ビット・リストＬＤについて、Ｓ３２ないしＳ３４の処理が行われる。
【０１１３】
さらに、例えば、ティップＴの削除や移動などによって、ティップＴが共有フクロＳＦから排出される場合、図３４に示すように、ティップ削除処理部４３（図１参照）は、ユーザ操作部２２からの指示に応じて、フクロ管理部３２を制御して、当該ティップＴを共有フクロＳＦから取り除く（Ｓ４１）。ここで、本実施形態では、非同期期間に共有フクロＳＦに一度でも含まれたティップＴについてダーティ・ビットＤを保持している。したがって、ティップ削除処理部４３は、Ｓ４２において、当該共有フクロＳＦを示す全てのダーティ・ビット・リストＬＤにおいて、当該ティップＴに対応するダーティ・ビットＤの移動パラメタを「Ｏ」に変更する。なお、更新パラメタは、そのまま保たれる。
【０１１４】
例えば、同期処理の終了時点では、図３５に示すように、両共有フクロＳＦa ・ＳＦb 内の全てのティップＴは、互いに１対１に対応付けられており、対応するティップＴの内容は、同一に設定されている。したがって、図３６に示すように、シンク・リミットＬｉｍは、ダーティ・ビット・リストＬＤの長さ（ダーティ・ビットＤの数）と同一であり、両ダーティ・ビット・リストＬＤにおいて、対応するダーティ・ビットＤab・Ｄbaは、それぞれ同じ順位になるように格納される。また、各ダーティ・ビットＤの値は、全て「Ｘｐ」に設定されている。
【０１１５】
さらに、非同期期間中、両情報処理機器２で、それぞれのデータベースＤＢが独立に操作されると、各情報処理機器２の上記各処理部４１〜４３は、それぞれのダーティ・ビット・リストＬＤを更新する。この結果、非同期期間中、ダーティ・ビットＤの値は、対応するティップＴの状態を常に示している。これにより、それぞれのデータベースＤＢが独立に更新された場合、次の同期処理の直前の時点では、両ダーティ・ビット・リストＬＤは、例えば、図３７に示すように、一致しなくなる。
【０１１６】
ただし、両ダーティ・ビット・リストＬＤにおいて、シンク・リミットＬｉｍが示す順位、および、それ以前のダーティ・ビットＤは、対応するティップＴが削除されたとしても削除されず、非同期期間中は、同じ順序を保っている。この結果、ダーティ・ビットＤ3ab ・Ｄ3ba など、両共有フクロＳＦa ・ＳＦb で、互いに対応するティップＴを示すダーティ・ビットＤの順位は、互いに同一に保たれている。
【０１１７】
シンク・リミットＬｉｍより後のダーティ・ビットＤは、非同期期間中に、新たに共有フクロＳＦへ追加されたティップＴを示しており、例えば、ダーティ・ビットＤ22ab・Ｄ27baなど、同じ順位に格納されているダーティ・ビットＤであっても、それぞれのティップＴは、対応していない。これらのシンク・リミットＬｉｍより後のダーティ・ビットＤは、「Ｉｍ」か「Ｏｍ」を示しており、「Ｏｍ」は、共有フクロＳＦに新たに挿入されたティップＴが、現在は、共有フクロＳＦに所属していないことを示している。また、追加されたティップＴの数が異なる場合、両ダーティ・ビット・リストＬＤの長さも互いに異なっている。
【０１１８】
この状態で、使用者の指示や、通信可能を検出するセンサなどによって同期処理が指示されると、図１６のＳ３に示す同期処理が行われる。より詳細に説明すると、図３８に示すように、Ｓ５１において、各情報処理機器２のシンクロナイズ処理部５１は、それぞれのダーティ・ビット・リストＬＤにおいて、シンク・リミットＬｉｍより後のダーティ・ビットＤのうち、移動パラメタが「Ｏ」のダーティ・ビットＤを削除する。これにより、図３９に示すように、両ダーティ・ビット・リストＬＤにおいて、シンク・リミットＬｉｍより後のダーティ・ビットＤは、値が「Ｉｍ」のみとなる。
【０１１９】
上記移動パラメタが「Ｏ」のダーティ・ビットＤは、対応するティップＴが前回の同期処理および今回の同期処理の時点で、自らの共有フクロＳＦに含まれていない。したがって、当該ティップＴの内容は、相手の共有フクロＳＦの状態に拘わらず、相手に送出する必要がない。この結果、これらのティップＴを削除することによって、以降の処理において、両情報処理機器２a ・２b 間を伝送されるダーティ・ビットＤの数を削減できる。
【０１２０】
上記Ｓ５１にて、ダーティ・ビット・リストＬＤの圧縮が終了すると、両シンクロナイズ処理部５１は、Ｓ５２において、シンク・リミットＬｉｍより後のダーティ・ビットＤを送受して、相手から送られたダーティ・ビットＤに対応するダーティ・ビットＤを生成する。具体的には、一方の情報処理機器２b は、自らのダーティ・ビット・リストＬＤba内で、シンク・リミットＬｉｍbaより後のダーティ・ビットＤの数Ｙbaを送出し、他方の情報処理機器２a は、自らのダーティ・ビット・リストＬＤabにおいて、シンク・リミットＬｉｍabの直後に、値が「Ｏｐ」のダーティ・ビットＤを、受け取った数Ｙbaだけ挿入する。さらに、両情報処理機器２a ・２b は、それぞれのシンク・リミットＬｉｍを上記Ｙbaだけ増加させる。これにより、図４０に示すように、情報処理機器２b で追加されたティップＴに対応するダーティ・ビットＤが、情報処理機器２a にも作成される。同様にして、情報処理機器２a で追加されたティップＴに対応するダーティ・ビットＤが、情報処理機器２b にも追加され、シンク・リミットＬｉｍが調整される。
【０１２１】
ここで、図４０に示すように、情報処理機器２a のダーティ・ビット・リストＬＤabへ、情報処理機器２b のティップＴに対するダーティ・ビットＤを追加した状態では、シンク・リミットＬｉｍが既に変更されており、情報処理機器２b のダーティ・ビット・リストＬＤbaの末尾を示している（この場合、シンク・リミットＬｉｍ＝２３）。したがって、情報処理機器２a のティップＴに対応するダーティ・ビットＤを追加する際、ダーティ・ビット・リストＬＤbaのシンク・リミットＬｉｍの直後に、これらのダーティ・ビットＤを追加すると、情報処理機器２a にて追加されたティップＴ（Ｔ22a 、Ｔ24a 、Ｔ26a など）に対応するダーティ・ビットＤは、両ダーティ・ビット・リストＬＤab・ＬＤbaのいずれにおいても、情報処理機器２b にて追加されたティップＴ（Ｔ27b 、Ｔ29b など）に対応するダーティ・ビットＤよりも、順序が後になる。この結果、両ダーティ・ビット・リストＬＤab・ＬＤbaにおいて、対応するダーティ・ビットＤの順位は一致する。
【０１２２】
これにより、図４１に示すように、両ダーティ・ビット・リストＬＤab・ＬＤbaの長さは、互いに等しくなり、互いに同じ順位のダーティ・ビットＤ・Ｄは、対応するティップＴを示すようになる。また、両シンク・リミットＬｉｍは、ダーティ・ビット・リストＬＤの長さと同一になり、シンク・リミットＬｉｍより後のダーティ・ビットＤは、存在していない。なお、この段階では、ダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍを更新すればよく、ティップＴの内容を伝送する必要はない。
【０１２３】
なお、上記では、数Ｙa （Ｙb ）を送受する場合を例にして説明したが、対応するティップＴのダーティ・ビットＤを同一の順位にできれば、送受する情報は、数Ｙab（Ｙba）に限らない。また、上記では、値が「Ｏｐ」のダーティ・ビットＤを追加したが、「Ｉｍ」よりも優先度が低い値であれば同様の効果が得られる。
【０１２４】
上記Ｓ５２にて、ダーティ・ビットＤの対応付けが終了すると、Ｓ５３において、両シンクロナイズ処理部５１は、両情報処理機器２a ・２b 間を伝送されるダーティ・ビットＤに基づいて、各ダーティ・ビットＤに対応するティップＴが共有フクロＳＦ内に配されるか否かを決定する。もし、両ダーティ・ビットＤab・Ｄbaの移動パラメタが異なっていた場合は、例えば、図４２に示す優先ルールで、当該ティップＴb が共有フクロＳＦb 内に配されるか否かを判定する。なお、図４２では、矢印の先の方が優先される。
【０１２５】
具体的には、一方の情報処理機器２a から他方の情報処理機器２b へ、ダーティ・ビット・リストＬＤ内のダーティ・ビットＤが順次送出される。他方の情報処理機器２b では、受け取ったダーティ・ビットＤabと、自らのダーティ・ビット・リストＬＤbaのうち、受け取った順番と同じ順番のダーティ・ビットＤbaとを比較する。情報処理機器２b のシンクロナイズ処理部５１は、図４３に示すように、移動パラメタの組み合わせが、（Ｘ−Ｘ）、（Ｘ−Ｉ）、（Ｉ−Ｉ）、（Ｉ−Ｋ）および（Ｉ−Ｏ）のいずれかの場合、ダーティ・ビットＤのティップＴが、共有フクロＳＦ内に配されると判定し、ダーティ・ビットＤに対応する両ティップＴを、それぞれの共有フクロＳＦに所属させる。さらに、自らと相手の移動パラメタを「Ｘ」に設定する。
【０１２６】
これとは逆に、移動パラメタの組み合わせが、（Ｘ−Ｏ）、（Ｏ−Ｋ）、（Ｏ−Ｏ）および（Ｋ−Ｋ）のいずれかの場合、シンクロナイズ処理部５１は、ティップＴが共有フクロＳＦ外に配されると判定し、例えば、自らおよび相手のティップＴをそれぞれの共有フクロＳＦから排出すると共に、それぞれのダーティ・ビットＤが無効状態「Ｋ」に設定される。なお、両情報処理機器２a ・２b が正常に動作していれば、上記組み合わせは（Ｘ−Ｋ）とならない。したがって、この場合は、エラーと判断し、例えば、使用者の指示を仰ぐなどのエラー処理を行う。
【０１２７】
上記相手のティップＴの排出、および、ダーティ・ビットＤの設定は、自らのダーティ・ビットＤを変更前に相手へ送出し、相手のシンクロナイズ処理部５１に処理させてもよいし、自らの判定結果を相手へ伝えてもよい。いずれの場合であっても、ダーティ・ビットＤあるいは判定結果を送出する順番で、相手のダーティ・ビットＤおよびティップＴが特定され、それぞれを特定するための情報が特に送付されない。したがって、内外判定時に、伝送されるデータ量は、極めて少ない。この結果、図４４に示すように、両ダーティ・ビット・リストＬＤ内の全てのダーティ・ビットＤは、移動パラメタが「Ｘ」あるいは「Ｋ」に設定される。
【０１２８】
なお、移動パラメタが「Ｘ」ではないティップＴ、すなわち、共有フクロＳＦ外と判断されたティップＴやエラーとなったティップＴは、以下のＳ５４およびＳ５５からなるティップ同期処理の対象外であり、更新パラメタの優先度判定やティップＴの内容送付は行われない。
【０１２９】
続いて、上記Ｓ５３のフクロ同期にて、共有フクロＳＦ内と判定されたティップＴ（移動パラメタが「Ｘ」のティップＴ）について、上記シンクロナイズ処理部５１は、Ｓ５４において、両ダーティ・ビットＤの更新パラメタを比較して、対応するティップＴそれぞれの優先度を決定する。ティップＴの優先度は、図４５に示すように、更新パラメタによって決められ、更新「ｍ」の方が維持「ｐ」よりも優先される。これにより、ティップＴの内容を伝送すべきか否かと、伝送する場合の方向とが決定される。
【０１３０】
具体的には、シンクロナイズ処理部５１は、図４６に示すように、両ダーティ・ビットＤab・Ｄbaを比較して、更新パラメタの組み合わせが（ｐ−ｐ）の場合、ティップＴの内容の送付が不要であると判定する。また、組み合わせが（ｐ−ｍ）の場合、更新パラメタが「ｍ」の側を優先側と判定し、優先側の情報処理機器２から、非優先側の情報処理機器２へ、ティップＴの内容を送付すべきと判定する。したがって、両ダーティ・ビット・リストＬＤが上記図４４に示す値の場合は、図４７に示すように、優先側が判定される。なお、上記Ｓ５４にて、組み合わせが（ｍ−ｍ）の場合、すなわち、双方でティップＴが更新された場合は、ティップＴの衝突として扱われる。この場合は、後述するように、例えば、ティップＴの内容（更新時刻や所定のキーフィールドなど）や、同期処理を指示した側や共有設定を起動した側、あるいは、予め設定された側など、ダーティ・ビットＤ以外の情報を参照したり、あるいは、使用者に問い合わせるなど、予め定められた優先ルールで、優先側を決定する。なお、ティップＴが衝突した場合は、それぞれのティップＴを別のティップＴと見なし、相手のティップＴを自らの共有フクロＳＦに追加してもよい。
【０１３１】
上記Ｓ５４にて、ティップＴの優先度が判定され、ティップＴの内容の送付が必要であると判断された場合、Ｓ５５において、上記両シンクロナイズ処理部５１は、優先側のティップＴの内容を非優先側へ送出し、非優先側のティップＴの内容を優先側の内容で置き換える。これにより、両ティップＴの内容が一致するので、それぞれのダーティ・ビットＤの更新パラメタが「ｐ」に設定される。この結果、図４８に示すように、ダーティ・ビット・リストＬＤ内の全てのダーティ・ビットＤは、「Ｘｐ」あるいは「Ｋ」のいずれかに設定される。
【０１３２】
さらに、上記Ｓ５４およびＳ５５において、ティップ同期が終了すると、Ｓ５６において、両ダーティ・ビット・リストＬＤの圧縮が行われ、値が「Ｋ」のダーティ・ビットＤは、それぞれのダーティ・ビット・リストＬＤから削除される。例えば、図４８では、５、６、１０、１１、１９、２０および２１番目の７つのダーティ・ビットＤが、それぞれのダーティ・ビット・リストＬＤから削除される。この結果、図４９に示すように、全てのダーティ・ビットＤは、「Ｘｐ」となり、ダーティ・ビットＤの数に合わせて、シンク・リミットＬｉｍが更新される。なお、図４９の例では、値が「Ｘｐ」のダーティ・ビットＤの順序を変更していないが、両ダーティ・ビット・リストＬＤで、対応するダーティ・ビットＤの順位が同じであれば、順序を変更してもよい。
【０１３３】
上記Ｓ５１ないしＳ５６の同期処理によって、両共有フクロＳＦ内のティップＴの数、および、対応するティップＴの内容は、同一になる。この結果、一方の情報処理機器２で、データベースＤＢが独立に操作された場合であっても、他の情報処理機器２と通信可能になった時点で同期処理を行えば、それぞれの共有フクロＳＦの内容を一致させることができる。それゆえ、互いに通信可能な期間が断続する情報処理機器２で、データベースシステム１が構成されている場合であっても、データの整合性を保つことができる。
【０１３４】
さらに、上記同期処理では、Ｓ５５にて、ティップＴの内容を送付する前に、Ｓ５３およびＳ５４にて、両情報処理機器２a ・２b でダーティ・ビットＤが比較され、内容送付の要否と伝送方向とがティップＴ毎に決められる。したがって、この時点で内容の送付が不要と判明したティップＴは、内容の伝送を省略できる。ここで、本実施形態では、ダーティ・ビットＤを有するティップＴについて、内容の更新を監視している。したがって、移動も更新も行われていないティップＴだけではなく、前回の同期処理時点と、今回の同期処理時点との双方で、共有フクロＳＦ内に存在し、かつ、非同期期間中、更新されていないティップＴについても、内容の送付を省略できる。
【０１３５】
また、本実施形態では、ティップＴの対応関係がダーティ・ビットＤの順位として格納されているので、相手のティップＴを示すＩＤを記憶しなくても、対応関係を記憶できる。加えて、当該ＩＤを送付しなくても、対応するティップＴを特定できるので、ダーティ・ビットＤの送受の際に、両情報処理機器２a ・２b 間を伝送されるデータ量と、ダーティ・ビットＤの記憶に必要なメモリ量とを削減できる。
【０１３６】
なお、本実施形態では、非同期期間中に一度でも、共有フクロＳＦに含まれたティップＴについて、ダーティ・ビットＤを作成しているが、これに限るものではない。前回の同期処理の終了時点で、共有フクロＳＦに含まれているティップＴについて、ダーティ・ビットＤが作成されていれば、本実施形態と同様に、上述の移動のみが行われたティップＴの内容送付を省略できる。ただし、本実施形態のように、現時点で共有フクロＳＦに含まれるティップＴについても、ダーティ・ビットＤを作成する場合は、非同期期間中に新たに挿入されたティップＴを検索する際の速度が向上すると共に、ダーティ・ビットＤの移動パラメタが「Ｘ」または「Ｉ」のティップＴのみを抽出することで、図７に示すツリー構造Ｓのうち、共有フクロＳＦに含まれるティップＴのリストを作成できる。この結果、当該ティップＴのリストを削除でき、メモリ量を削減できる。
【０１３７】
また、例えば、ティップＴの追加など、個々の処理は、いずれの情報処理機器２のシンクロナイズ処理部５１が行ってもよい。例えば、全ての処理を一方のシンクロナイズ処理部５１が実施してもよいし、双方が分担して行ってもよい。
【０１３８】
図１６のＳ２に示す非同期期間中の処理と、上述のＳ３に示す同期処理とが交互に繰り返され、それ以降は、同期処理が不要になると、Ｓ４において、共有設定が解除される。共有解除の一例として、情報処理機器２a ・２b 双方にフクロＦおよびティップＴが残留するモデル（ティップ複写型モデル）について説明すると、図５０に示すように、一方の情報処理機器２a に設けられた共有解除処理部５３は、Ｓ６１において、他方の情報処理機器２b の共有解除処理部５３へ共有解除要求を送出する。当該共有解除要求には、例えば、自らのフクロＩＤと相手のＩＤとの組み合わせなど、自らの共有フクロＳＦを示す情報と、当該共有フクロＳＦに対応する相手の共有フクロＳＦを示す情報とが含まれている。
【０１３９】
さらに、共有解除起動側の共有解除処理部５３は、Ｓ６２において、例えば、上記組み合わせに応じたダーティ・ビット・リストＬＤおよびシンク・リミットＬｉｍ、並びに、共有相手リストＬＳに登録された相手のフクロＩＤなど、共有設定時に設けられた共有情報を削除する。一方、共有解除受動側となる情報処理機器２b では、Ｓ６３にて、受け取った共有設定解除要求に基づいて、共有解除処理部５３が、自らに格納された上記共有情報を抹消する（Ｓ６４）。なお、図５０では、共有相手の認証を図示していないが、共有設定と同様に、共有解除受動側が共有解除要求の内容に応じて、共有解除するか否かを決定してもよい。
【０１４０】
これにより、両情報処理機器２a ・２b 間で共有されていた共有フクロＳＦa ・ＳＦb は、それぞれ非共有のフクロＦa ・Ｆb となる。上記ティップ複写型モデルの共有解除では、共有解除が指示された場合、両共有フクロＳＦa ・ＳＦb 間の共有設定が解除されるだけであり、それぞれに含まれているティップＴは、双方のフクロＦa ・Ｆb に残留する。
【０１４１】
ここで、共有解除のモデルは、ティップ複写型モデルに限るものではなく、種々のモデルを適用できる。例えば、共有設定が解除された場合、一方のフクロＦにのみ、ティップを残し、他方のフクロＦでは、ティップを削除するモデル（ティップ偏在型モデル）を採用してもよいし、ティップ消滅型モデル、すなわち、双方のフクロＦからティップＴを削除するモデルを採用してもよい。さらに、ティップ複写型モデルやティップ偏在型モデルの場合は、共有解除が指示されたとき、同期処理した後で、共有解除することもできる。この場合は、特に同期処理を指示しなくても、共有解除の時点で、ティップＴの整合性を保つことができる。また、ティップ偏在型モデル、および、ティップ消滅型モデルのように、ティップＴを除去する場合、ティップＴの除去により、空になるフクロＦを削除してもよい。いずれの場合であっても、情報処理機器２が共有解除のモデルを複数選択可能な場合は、上述の優先側決定のモデル選択と同様に、図１６のＳ１に示す共有設定時のオプションとして、共有解除のモデルを設定する方がよい。
【０１４２】
なお、本実施形態では、対応関係をダーティ・ビットＤの順序として記憶しているが、これに限るものではない。例えば、ティップＩＤなど、相手のティップＴを示す情報で、対応するティップＴを特定してもよい。ただし、この場合は、同期処理時に、ダーティ・ビットＤだけではなく、相手のティップＩＤを送出する必要があり、通信されるデータ量が増大する虞れがある。
【０１４３】
さらに、相手のティップＩＤは、相手のデータベースＤＢの規模が増大するに従って、データ量が多くなる。この結果、特に、例えば、サーバとクライアントのように、データベースシステム１を構成する情報処理機器２が対等ではない場合、クライアント側のように、メモリ量の削減が強く要求される情報処理機器２において、対応関係の記憶に必要なメモリ量が多くなってしまう。
【０１４４】
これに対して、本実施形態では、ティップＴの対応関係は、自らのティップＴに関連する情報の順序で格納されている。したがって、相手のデータベースＤＢの規模やティップＴの格納方法に拘わらず、対応関係を格納できる。この結果、相手のティップＴを示す情報で特定する場合よりも、対応関係の記憶に必要なメモリ量を削減できると共に、同期処理の際に伝送されるデータ量を削減できる。
【０１４５】
また、本実施形態では、ダーティ・ビットＤの順序が、ダーティ・ビット・リストＬＤとして格納されているが、これに限るものではない。例えば、ダーティ・ビット・リストＬＤとは別に順序を示すリストを設けてもよいし、各ティップＴ毎に、ダーティ・ビットＤと、順位を示す情報とを格納することもできる。ただし、ダーティ・ビットＤと順序とは、同じティップＴに対応する場合であっても、自らの共有フクロＳＦと相手の共有フクロＳＦとの組み合わせ毎に設けられ、共有相手の数は、データベースＤＢの作成時点では予測できないことが多い。したがって、ダーティ・ビットＤと順序とは、ティップＴの内容自体とは別に設ける方がよい。それゆえ、それぞれを別に記憶すると、対応するティップＴを示す情報が別に必要になり、必要なメモリ量が増大する。したがって、ダーティ・ビットＤを格納する順序として、対応関係を格納することで、必要なメモリ量をさらに削減できる。
【０１４６】
〔第２の実施形態〕
ところで、上述のデータベースシステム１では、２つの共有フクロＳＦ間のみでティップＴを対応付けているため、共有関係がループ状に設定された場合は、以下に示す不具合が発生する虞れがある。すなわち、上述のデータベースシステム１において、図５１に示すように、共有フクロＳＦa ・ＳＦb のペア、共有フクロＳＦb ・ＳＦc のペア、および、共有フクロＳＦc ・ＳＦa のペアで共有設定されている場合、図５２に示すように、共有フクロＳＦa でティップＴ1aが追加され、続いて、共有フクロＳＦa と、共有フクロＳＦb ・ＳＦc との双方との同期処理が行われると、図５３に示すように、共有フクロＳＦb （ＳＦc ）には、ティップＴ1aと同じ内容のティップＴ1b（Ｔ1c）が追加される。この状態では、各シンク・リミットＬｉｍab・ＬｉｍbaおよびＬｉｍac・Ｌｉｍcaは、いずれも”１”になり、ダーティ・ビットＤ1ab ・Ｄ1ba およびＤ1ac ・Ｄ1ca は、いずれも、静止・維持を示す値「Ｘｐ」となる。
【０１４７】
ここで、共有フクロＳＦb ・ＳＦc には、同期処理の結果、ティップＴ1b・Ｔ1cが追加されており、この時点では、共有フクロＳＦb ・ＳＦc 間では同期処理が行われていない。したがって、両者間のダーティ・ビットＤ1bc ・Ｄ1cb は、いずれも、挿入・更新を示す値「Ｉｍ」に設定される。また、各ティップＴ1b（Ｔ1c）は、それぞれ共有フクロＳＦb （ＳＦc ）に独立して追加されているので、各ダーティ・ビット・リストＬＤbc（ＬＤcb）において、シンク・リミットＬｉｍbc（Ｌｉｍcb）は、”０”のままである。
【０１４８】
この状態で、共有フクロＳＦb ・ＳＦc 間で同期処理が行われると、各ダーティ・ビットＤ1bc （Ｄ1cb ）は、シンク・リミットＬｉｍbc（Ｌｉｍcb）より、後に配されているので、両ティップＴ1b・Ｔ1cは、未だ対応付けられていないティップＴ、すなわち、非同期期間中に、各情報処理機器２b ・２c が独自に追加したティップＴと判定される。この結果、図５４に示すように、両ティップＴ1b・Ｔ1cは、同じティップＴ1aに対応しているにも拘わらず、情報処理機器２b のシンクロナイズ処理部５１は、ティップＴ1cと同じ内容のティップＴ11b を共有フクロＳＦb に追加し、情報処理機器２c のシンクロナイズ処理部５１は、ティップＴ1bと同じ内容のティップＴ11c 共有フクロＳＦc へ追加する。
【０１４９】
ここで、ティップＴ11b ・Ｔ11c が追加された状態では、共有フクロＳＦb ・ＳＦc 間では同期が取られているが、それぞれと共有フクロＳＦa との間では、同期が取られていない。したがって、ダーティ・ビットＤ11ba・Ｄ11caは、挿入・更新を示す値「Ｉｍ」に設定され、シンク・リミットＬｉｍba・Ｌｉｍcaの後に配される。この結果、共有フクロＳＦb ・ＳＦa のペア間（あるいは、共有フクロＳＦc ・ＳＦa のペア間）で同期処理が行われると、上記と同様に、共有フクロＳＦa には、ティップＴ11b （Ｔ11c ）と同一内容のティップＴが追加されてしまう。
【０１５０】
このように、上記データベースシステム１の構成では、ループ状に共有関係が形成されると、同期処理の度に、ティップＴの複製が作成され、各共有フクロＳＦ内のティップＴが増殖する虞れがある。
【０１５１】
これに対して、本実施形態に係るデータベースシステム６では、互いに対応するティップＴ同士では共通で、対応しないティップＴ同士では異なるシンクＩＤ（ＳＩＤ）を各ティップＴに割り当てることによって、上記ティップＴの増殖問題を解決する。以下では、ＳＩＤを用いた対応付け方法をスターモデルと称し、シンクタグのみを用いた対応付け方法（ペアモデル）と区別する。なお、以下の実施形態に係るデータベースシステムの各部材は、上記データベースシステム１と同様で、対応関係などを記憶する方法と同期処理時の動作とのみが異なるので、同様の機能を有する部材には、同じ参照符号を用いて説明を省略する。
【０１５２】
具体的には、本実施形態において、ティップ管理部３１は、各ティップＴに割り当てられるＳＩＤを管理する際、例えば、図５５に示すように、情報処理機器７を一意に識別する番号（機器番号ＭＩＤ）と、各情報処理機器２内でティップＴに対して一意に割り当てられる番号（ティップ番号）との組み合わせとして、ＳＩＤを格納している。ここで、機器番号ＭＩＤは、図５６に示すように、同期処理する可能性がある情報処理機器７全てに対して、互いに異なる値が予め割り当てられているので、情報処理機器７は、自機器内で一意なティップ番号を割り当てることで、非同期期間中であっても、データベースシステム６内で一意なＳＩＤを生成できる。なお、本実施形態に係るティップ管理部３１が、特許請求の範囲に記載のデータ管理番号記憶手段とデータ管理番号設定手段とに対応する。
【０１５３】
また、ティップ追加処理部４２は、使用者の指示によって、共有フクロＳＦ内に新たに追加されるティップＴには、ＳＩＤのティップ番号として、情報処理機器７の他のティップＴとは異なる値を割り当てる。さらに、シンクロナイズ処理部５１は、各ティップＴ間の対応をシンク・タグに加えて（あるいは代えて）ＳＩＤで判別すると共に、同期処理によって追加されるティップＴのＳＩＤとして、元となったティップＴのＳＩＤと同じ値を割り当てる。
【０１５４】
上記構成のデータベースシステム６において、図５２と同様に、共有フクロＳＦa に新たなティップＴ1aが追加されると、図５７に示すように、ティップ追加処理部４２は、ティップＴ1aに対応するダーティ・ビットＤ1ab ・Ｄ1ac の値を、挿入・更新を示す値「Ｉｍ」に設定する。また、当該ティップＴ1aのＳＩＤとして、自らの機器番号ＭＩＤ（この例では、「３１」）と、自機器内の他のティップＴとは異なるティップ番号（この例では、「１」）が割り当てられる。なお、図中では、ＳＩＤを”（３１−１）”のように、（）で囲んで表示する。
【０１５５】
この状態で、図５３と同様に、共有フクロＳＦa ・ＳＦb 間、および、共有フクロＳＦa ・ＳＦc 間で同期処理されると、図５８に示すように、ティップＴ1aと同一内容のティップＴとして、共有フクロＳＦb には、ティップＴ1bが、共有フクロＳＦc にはティップＴ1cが生成される。また、図５３と同様に、ダーティ・ビットＤ1ab ・Ｄ1ba ・Ｄ1ac ・Ｄ1ca は、「Ｘｐ」に設定され、ダーティ・ビットＤ1bc ・Ｄ1cb は、「Ｉｍ」に設定される。ただし、本実施形態では、図５３とは異なり、ティップＴ1b・Ｔ1cのＳＩＤは、ティップＴ1aのＳＩＤと同じ値（この例では、３１−１）に設定される。
【０１５６】
ここで、共有フクロＳＦb ・ＳＦc 間で同期処理が行われると、上述した図３８と同様の処理が行われる。ただし、本実施形態では、Ｓ５２にて、ダーティ・ビット・リストＬＤへ新規のダーティ・ビットＤを追加する際、ＳＩＤが比較され、同じＳＩＤのダーティ・ビットＤが既にダーティ・ビット・リストＬＤに含まれている場合、両者が互いに対応していると判断して、ダーティ・ビットＤを追加せず、同じＳＩＤのダーティ・ビットＤが含まれていない場合にのみ、ダーティ・ビットＤを追加する。
【０１５７】
例えば、図５８では、ティップＴ1bのＳＩＤと、ティップＴ1cのＳＩＤとが同じ値（３１−１）を有している。したがって、情報処理機器２b （２c ）のシンクロナイズ処理部５１は、ダーティ・ビットＤ1cb （Ｄ1bc ）を、ダーティ・ビット・リストＬＤbc（ＬＤcb）へ追加しない。なお、本実施形態では、シンク・タグも併用しているので、両ダーティ・ビット・リストＬＤbc・ＬＤcbにおいて、ダーティ・ビットＤ1bc ・Ｄ1cb は、互いに同じ順位に配される。
【０１５８】
その後、Ｓ５３以降の処理が行われ、図５９に示すように、共有フクロＳＦb ・ＳＦc の内容が同一になる。本実施形態では、ＳＩＤが互いに同一であれば、非同期期間に追加されたティップＴであっても、互いに対応するティップＴと判断され、ティップＴが追加されない。したがって、図５４とは異なり、共有関係がループ状に形成されている場合であっても、ティップの増殖問題は発生せず、データベースＤＢの不所望なデータ量の増加を防止できる。この結果、各情報処理機器２に必要なメモリ量を削減すると共に、同期処理の際に伝送されるデータ量を削減できる。
【０１５９】
ここで、各情報処理機器２は、共有フクロＳＦが共有されている間、各ティップＴのＳＩＤを保持していればよく、図１６のＳ４の共有解除以降は、ＳＩＤを保持しなくてもよい。ただし、共有解除後であっても、再び、共有設定が行われる場合がある。したがって、空きメモリ量が十分にある場合には、情報処理機器２は、共有解除後も各ティップＴのＳＩＤを保持しておき、再び、共有設定された場合、当該ティップＴのＳＩＤとして、保持していた値を使用する方が望ましい。
【０１６０】
なお、上記では、第１の実施形態と同様に、既に対応付けられている両ティップＴは、それぞれのダーティ・ビット・リストＬＤにおけるダーティ・ビットＤの順序が互いに同一になるように記憶しているが、これに限るものではない。例えば、既に、対応付けられているティップＴについても、ＳＩＤを比較して、互いに対応しているか否かを判定すれば、任意の順序で記憶してもよい。ただし、第１の実施形態と同様に、順序を互いに同一に設定すれば、同期処理の際、伝送あるいは処理されるデータ量を削減できる。
【０１６１】
〔第３の実施形態〕
ところで、上記第２の実施形態のように、スターモデルでティップＴを対応付けると、ティップＴの増殖問題が解決されるが、優先側の決定方法によっては、以下のように、対応するティップＴの内容が互いに同一に設定された後も、各同期処理において、各情報処理機器７間でティップＴの内容が伝送される虞れがある。
【０１６２】
具体的には、図５８に示すように、共有フクロＳＦa ・ＳＦb の間、および、共有フクロＳＦa ・ＳＦc の間で同期処理され、共有フクロＳＦb ・ＳＦc 間で同期処理されていない場合、ティップＴ1bのダーティ・ビットＤ1bc 、および、ティップＴ1cのダーティ・ビットＤ1cb は、ダーティ・ビットＤ1ba 、ダーティ・ビットＤ1ca に合わせて、いずれも挿入・更新を示す値「Ｉｍ」に設定される。
【０１６３】
ここで、共有フクロＳＦb ・ＳＦc 間で同期処理が行われると、図３８のＳ５３のフクロ同期処理では、各ティップＴ1b（Ｔ1c）は、共有フクロＳＦb （ＳＦc ）内に配され、上記両ダーティ・ビットＤ1bc ・Ｄ1cb は、いずれも、静止・更新を示す値「Ｘｍ」に変更される。したがって、Ｓ５４の優先度判定では、両ティップＴ1b・Ｔ1cが互いに独立して更新された状態、すなわち、衝突と判定され、例えば、予め定められた情報処理機器７または共有設定や共有設定を起動した情報処理機器７による判定、あるいは、ティップＴの最終更新時刻による判定など、予め定められた規則に従って、優先側が判定される。ここで、一例として、ティップＴ1bとティップＴ1cとでは、ティップＴ1c  が優先と判定された場合、Ｓ５５の内容同期において、情報処理機器７c から情報処理機器７b へ、ティップＴ1cの内容が伝送される。これにより、ティップＴ1bの内容がティップＴ1cと同一の内容に変更され、両ダーティ・ビットＤ1bc ・Ｄ1cb の値が、静止・維持を示す値「Ｘｐ」に設定される。
【０１６４】
ところが、上述したように、ダーティ・ビットＤの変更は、他のダーティ・ビット・リストＬＤに伝達されるため、図６０に示すように、情報処理機器７b において、共有フクロＳＦa に関連するダーティ・ビットＤ1ba は、「Ｘｍ」に変更されてしまう。これにより、共有フクロＳＦa ・ＳＦb 間で同期処理が行われると、再び、ティップＴ1bの内容が情報処理機器７a へ送出されるだけではなく、さらに、情報処理機器７a において、共有フクロＳＦc に対するダーティ・ビットＤ1ac が変更されてしまう。
【０１６５】
この結果、各ティップＴの内容が同一であるにも拘わらず、同期処理の際にティップＴの内容が伝送されると共に、ダーティ・ビットＤの変更が次々に伝えられ、同期処理の際に伝送あるいは処理されるデータ量を増大させてしまう。なお、以下では、前者の問題を「ループ状共有関係の同一性判定問題」と称し、後者の問題を「ループ状共有関係の更新情報伝達問題」と称する。
【０１６６】
本実施形態では、ループ状共有関係の更新情報伝達問題を解決するためのデータベースシステム８として、同期処理によるダーティ・ビットＤの変更を他のダーティ・ビットＤへ伝達する前に、情報処理機器９が、ティップＴの内容が互いに同一であるか否かを判定する場合について説明する。
【０１６７】
具体的には、本実施形態に係る情報処理機器９において、シンクロナイズ処理部５１は、上記図３８に示すＳ５５において、図６１のＳ７１に示すように、送られてきたティップＴ（例えば、Ｔ1c）と、元々存在していたティップＴ（例えば、Ｔ1b）とが同一であるか否かを判定する。さらに、上記Ｓ７１にて不一致と判定された場合、シンクロナイズ処理部５１は、Ｓ７２において、元々存在していたティップＴの内容を、送られてきたティップＴの内容で置き換えると共に、Ｓ７３において、当該ティップＴに対応する他のダーティ・ビットＤ（例えば、Ｄ1ba ）を変更する。これとは逆に、上記Ｓ７１にて一致すると判定された場合、上記Ｓ７２・Ｓ７３は実施されず、他のダーティ・ビットＤは、変更されない。なお、同期処理に関連するダーティ・ビットＤ1ab ・Ｄ1ba は、同一であるか否かに拘わらず、静止・維持を示す値「Ｘｐ」に設定される。
【０１６８】
したがって、例えば、図５８に示す状態で共有フクロＳＦb ・ＳＦc 間の同期処理が行われた場合、ティップＴ1bよりもティップＴ1cの方が優先されているにも拘わらず、図６２に示すように、情報処理機器９b において、他の共有フクロＳＦa に関連するダーティ・ビットＤ1ba は、「Ｘｐ」のまま保たれる。
【０１６９】
このように、本実施形態に係る情報処理機器９は、優先側と非優先側のティップＴの内容が互いに同一の場合、非優先側と判定されたティップＴのダーティ・ビットＤを、他の共有関係へ伝達しない。この結果、上述したループ状共有関係の更新情報伝達問題を防止でき、同期処理において、情報処理機器９間を伝送されるデータ量、および、各情報処理機器９におけるデータ処理量を削減できる。
【０１７０】
上記Ｓ７１において、ティップＴの内容が互いに同一であるか否かを判定する方法は、例えば、ティップＴの全ての内容に基づいて判定してもよいが、同期処理時のデータ伝送量を削減するためには、例えば、最終更新時刻や最終更新者あるいは、更新毎に異なる値に設定される更新ＩＤなど、ティップＴの内容の一部を比較して、同一か否かを判定する方が望ましい。
【０１７１】
この場合は、シンクロナイズ処理部５１は、図６３に示すように、Ｓ８１において、ティップＴの内容の一部を先に転送し、Ｓ８２にて、両者を比較する。さらに、両ティップＴが不一致の場合にのみ、Ｓ８３にて、残余の内容を転送し、上記Ｓ７２およびＳ７３と同様に、ティップＴの内容とダーティ・ビットＤを更新する。また、上記Ｓ８２にて、一致すると判断された場合、シンクロナイズ処理部５１は、残余の内容伝送を省略する。この結果、ループ状共有関係の更新情報伝達問題だけではなく、上述のループ状共有関係の同一性判定問題をも解決でき、同期処理において、同一性の判定に必要なデータ転送量を削減でき、同期処理時の転送効率を向上できる。
【０１７２】
例えば、同一性の判定基準として、最終更新時刻を使用した場合、図６４に示す時刻７：００のように、同期処理の時点で、最終更新時刻が互いに同一の場合、ティップＴの転送が省略される。なお、この場合、データベース管理部２３が特許請求の範囲に記載の最終更新時刻記憶手段に対応する。また、同一性の判定基準として、最終更新者を示す情報を使用した場合は、図６５に示す時刻７：００のように、同期処理時点で最終更新者が同一の場合、ティップＴの転送が省略される。同様に、同一性の判定基準として、例えば、更新する毎にインクリメントされる値など、更新毎に異なる値に設定される更新ＩＤを使用した場合は、図６６に示す時刻７：００のように、同期処理時点で更新ＩＤが同一の場合のティップＴの転送が省略される。この場合は、データベース管理部２３が特許請求の範囲に記載の更新識別情報記憶手段に対応する。
【０１７３】
ここで、最終更新時刻や最終更新者あるいは更新ＩＤなどの情報をティップＴに付加すると、情報処理機器９に必要がメモリ量が増大するが、これらの情報は、ティップＴの内容に比べれば、十分データ量が少ないため、メモリ量の増加は、余り問題にならない。さらに、これらの情報は、非同期期間中、ティップＴへの操作に応じて更新されるので、各情報処理機器９におけるデータ処理量が増加するが、上述したように、同期処理の際に使用される通信路の伝送速度が、非同期期間における自機器内へのアクセス速度よりも極めて低速なので、全体的には、処理時間を短縮できる。
【０１７４】
また、内容の一部分のうち、最終更新者、すなわち、ダーティ・ビットＤの更新パラメタとして、最初に「ｍ」を付加した情報処理機器９（あるいは、その使用者）のみを使用した場合、同一人物が複数回更新しても、それぞれの更新を区別できない。一方、最終更新時刻および更新ＩＤは、各情報処理機器９で独立して設定されるため、異なる情報処理機器９間で独立して更新された場合であっても、同一の値を持つ虞れがある。したがって、それぞれを単独で使用するよりも、最終更新時刻と最終更新者との組み合わせ、最終更新時刻と更新ＩＤとの組み合わせ、または、最終更新者と更新者毎に独立に付加する更新ＩＤとの組み合わせ、あるいは、３つの組み合わせを用いる方がよい。なお、メモリ量を削減するために、単独で使用する場合は、最終更新時刻が好ましい。この場合、同時刻に更新される虞れはあるが、秒単位の精度で設定されていれば、実用状は十分な精度で、ティップＴが同一であるか否かを判定できる。
【０１７５】
ここで、上記Ｓ７１やＳ８２などの同一判定が内容の一部分に基づいて決定される場合、ティップＴの内容を全て伝送する前に実施される方がデータの伝送量を削減できる。さらに、図６７のＳ５７に示すように、これらの同一判定は、図４１に示す優先度判定（Ｓ５４）よりも前に実施される方がよい。この場合は、同一と判定された時点で、優先度の判定処理自体を省略できるので、同期処理時のデータ処理量を、さらに削減できる。
【０１７６】
〔第４の実施形態〕
本実施形態では、ループ状共有関係の更新情報伝達問題を解決するための他のデータベースシステム１０として、情報処理機器１１が、各ティップＴに最終更新者を付加し、最終更新者が自機器の場合は、ダーティ・ビットＤを伝達しない場合について説明する。
【０１７７】
本実施形態では、ティップＴの内容の一部として、最終更新者が含まれており、情報処理機器１１のティップ更新処理部４１は、非同期期間中の操作によりティップＴの内容が変更される場合、ティップ管理部３１に格納されるティップＴの最終更新者を、例えば、機器番号ＭＩＤなど、自機器を示す値に設定する。なお、本実施形態では、ティップ管理部３１が特許請求の範囲に記載の更新者記憶手段に対応する。
【０１７８】
上記構成では、上記第２の実施形態と同様に、共有フクロＳＦa ・ＳＦb 間および共有フクロＳＦa ・ＳＦc 間で同期処理された後、共有フクロＳＦb ・ＳＦc 間で同期処理されると、図６０に示すように、情報処理機器１１b において、共有フクロＳＦa に関連するダーティ・ビットＤ1ba が、「Ｘｍ」に変更されてしまう。
【０１７９】
ところが、上記第２の実施形態とは異なり、各ティップＴ1a〜Ｔ1cには、内容の一部として、最終更新者（例えば、３１）が格納されており、各シンクロナイズ処理部５１は、図６８に示すように、Ｓ９１にて送られてきた最終更新者を比較する（Ｓ９２）。最終更新者が自機器を示している場合、このティップＴへの操作は、既にダーティ・ビットＤに反映されている。したがって、同期処理の際にダーティ・ビットＤが変更されても、他のダーティ・ビットＤを変更しない。特に、最終更新者が自機器で、かつ、非同期期間中に、自機器でティップＴが更新されていない場合は、送信側および受信側のティップＴが互いに同一なので、内容伝送自体を省略できる。なお、上記Ｓ９１にて、自機器ではないと判定された場合、上述のＳ８３、Ｓ７２およびＳ７３の処理が行われ、ティップＴの全ての内容が伝送されると共に、他の共有フクロＳＦに関連するダーティ・ビットＤへ変更が伝達される。
【０１８０】
この結果、例えば、図６３に示す状態で、共有フクロＳＦa ・ＳＦb 間で同期処理されたとしても、図６９に示すように、情報処理機器１１a のシンクロナイズ処理部５１は、ダーティ・ビットＤ1ab の更新をダーティ・ビットＤ1ac へ伝達せず、ダーティ・ビットＤ1ac を「Ｘｐ」のまま維持する。
【０１８１】
これにより、共有関係がループ状に形成されていたとしても、ダーティ・ビットＤの伝達は、必ず、最終更新者の情報処理機器１１で阻止され、それ以降は、伝達されない。この結果、上述のループ状共有関係の更新情報伝達問題を解決でき、同期処理の際に伝送されるデータ量を削減できる。
【０１８２】
また、この場合は、上記第３の実施形態とは異なり、ある情報処理機器１１がダーティ・ビットＤの伝達を阻止できなかったとしても、最終更新者の情報処理機器１１で伝達を阻止できる。したがって、例えば、データベースシステム１０内に、ダーティ・ビットＤの伝達を阻止できない情報処理機器が存在していたとしても、残余の情報処理機器１１で伝達を阻止できる。この結果、例えば、データベースシステム１０内に、データを更新できない情報処理機器が含まれている場合には、当該情報処理機器が伝達を阻止する必要がなくなり、動作を簡略化できる。
【０１８３】
〔第５の実施形態〕
ところで、第４の実施形態では、ティップＴが最終更新者のみを含む場合について説明したが、ループ状共有関係の更新情報伝達問題は、本実施形態に示すように、最終更新者以降に経由した全ての情報処理機器のリスト（伝達リスト）を保持すると共に、相手から受け取ったリスト中に自機器が存在すれば、ダーティ・ビットＤの伝達を阻止する構成でも解決できる。
【０１８４】
具体的には、本実施形態に係るデータベースシステム１２では、ティップＴに上記伝達リストが含まれ、各情報処理機器１３のデータベース処理部２４は、ティップＴが変更された場合、伝達リストを初期化して、自機器を伝達リストに含める。これにより、例えば、共有フクロＳＦa にティップＴ1aが追加された場合は、図７０の[]内に示すように、当該ティップＴ1aの伝達リストには、自機器を示す値「３１」のみが含まれる。なお、本実施形態では、ティップＴの一部として伝達リストが記憶されており、当該ティップ管理部３１が特許請求の範囲に記載の伝達リスト記憶手段に対応する。
【０１８５】
続いて、共有フクロＳＦ間で同期処理されると、受信側の情報処理機器１３のシンクロナイズ処理部５１は、図７１に示すように、Ｓ１０１にて受け取った伝達リストに、自機器を示す値が含まれているか否かを判定する（Ｓ１０２）。含まれている場合、このティップＴへの操作は、既に自機器のティップＴおよびダーティ・ビットＤに反映されている。したがって、同期処理の際にダーティ・ビットＤが変更されても、他のダーティ・ビットＤを変更しない。特に、自機器が含まれ、かつ、非同期期間中に、自機器でティップＴが更新されていない場合は、送信側および受信側のティップＴが互いに同一なので、内容伝送自体を省略できる。これとは逆に、自機器を示す値が含まれていない場合は、Ｓ１０３において、伝達リストを更新して、自機器を示す値を追加する。さらに、図６８と同様に、Ｓ８３、Ｓ７２およびＳ７３にて、ティップＴの内容全てを伝送して、当該ティップＴに関連する他のダーティ・ビットＤを変更する。
【０１８６】
これにより、例えば、上記図７０の状態において、共有フクロＳＦa ・ＳＦb 間、および、共有フクロＳＦa ・ＳＦb 間で同期処理されると、図７２に示すように、ティップＴ1bの伝達リストは、「３１・３２」となり、ティップＴ1cの伝達リストは、「３１・３３」となる。この状態で、さらに、共有フクロＳＦb ・ＳＦc 間で同期処理が行われ、ティップＴ1bよりもティップＴ1cの方が優先された場合、ティップＴ1cの内容が情報処理機器１３b に伝送され、ティップＴ1bがティップＴ1cと同じ内容に変更される。また、受信側の情報処理機器１３b では、ティップＴ1bの伝達リストに、自機器を示す値「３２」が追加され、図７３に示すように、「３１・３３・３２」となる。
【０１８７】
この状態で、共有フクロＳＦa ・ＳＦb 間で同期処理されたとしても、伝達リストに情報処理機器１１a を示す値「３１」が既に含まれている。したがって、情報処理機器１１a のシンクロナイズ処理部５１は、ダーティ・ビットＤ1ab の更新をダーティ・ビットＤ1ac へ伝達せず、ダーティ・ビットＤ1ac を「Ｘｐ」のまま維持する。この結果、第４の実施形態と同様に、ループ状共有関係の更新情報伝達問題を解決できる。
【０１８８】
さらに、本実施形態では、同期処理の際、受け取った伝達リスト中に自機器の値が含まれていれば、ダーティ・ビットＤの更新の伝達が阻止される。したがって、第４の実施形態とは異なり、最終更新者でなくても、ダーティ・ビットＤの伝達を防止できる。この結果、伝達を抑止できない情報処理機器がデータベースシステム１０内に混在する場合であっても、上記問題を解決できる。
【０１８９】
なお、上記の説明では、各情報処理機器１１は、ティップＴの更新時に、自機器のみを含むように伝達リストを初期化し、伝達リストの更新時に、受信側の機器を追加しているが、これに限るものではない。ティップＴの更新時に、伝達リストを空に初期化し、伝達リストの更新時に、送信側の機器を追加してもよい。いずれの場合であっても、受け取った伝達リストの中に、最終更新者以降に経由した全ての情報処理機器を示す値が含まれていれば、同様の効果が得られる。
【０１９０】
ところで、上記各実施形態に係る各情報処理機器２（７・９・１１；以下では、参照符号２のみで代表する）では、図３８のＳ５３において、ティップＴが共有フクロＳＦの中に配されるか否かを判定する際、図４６に示す比較ルールに基づいて判定しているが、他の比較ルールとして、例えば、ティップＴの内容に、最終移動時刻を含め、最終移動時刻が遅いティップＴが、共有フクロＳＦに含まれている場合、両ティップＴを共有フクロＳＦ内に配し、含まれていない場合、両ティップＴを共有フクロＳＦ外に配してもよい。この場合、例えば、図７４に示すように、ティップＴ1a・Ｔ1bが移動したとすると、ティップＴ1bの最終移動時刻の方が遅く、当該ティップＴ1bは、次の同期処理の時点で共有フクロＳＦb の外に配されている。したがって、図４６に示す比較ルールを採用した場合とは異なり、上記Ｓ５３において、ティップＴ1a（Ｔ1b）は、共有フクロＳＦa （ＳＦb ）の外に入れる。
【０１９１】
また、さらに他の比較ルールとして、例えば、ティップＴの内容に移動回数を含め、移動回数が多いティップＴに合わせて、両ティップＴが共有フクロＳＦの外に配されるか否かを決定してもよい。図７４の例では、ティップＴ1bの方が移動回数が多く、ティップＴ1bは、共有フクロＳＦb の外に配されている。したがって、次の同期処理の際、ティップＴ1a（Ｔ1b）は、共有フクロＳＦa （ＳＦb ）の外に配される。
【０１９２】
一般に、情報処理機器２の使用者は、より重要と判断しているティップＴ程、参照、更新あるいは移動などの操作を頻繁に繰り返す傾向にある。また、余り重要と判断していないティップＴ程、操作しなくなるため、現時点における関心が薄れているティップＴ程、最後に移動されてからの期間が長くなる傾向にある。したがって、移動回数あるいは最終移動時刻に基づいて判定することで、各情報処理機器２の使用者のうち、当該ティップＴに関心を持っている使用者の要求に応じた内外判定を行うことができる。なお、本実施形態では、ティップＴの一部として最終移動時刻や移動回数が記憶されているので、ティップ管理部３１が特許請求の範囲に記載の移動時刻記憶手段あるいは移動回数記憶手段に対応する。
【０１９３】
ここで、いずれの比較ルールで内外判定すると良いかは、データベースシステム１（６・８・１０；以下では、参照符号１のみで代表する）の用途や、使用者によって異なることが多い。したがって、各情報処理機器２のシンクロナイズ処理部５１は、予め、複数の比較ルールを用意しておき、そのうちの１つを用いて内外判定する方が望ましい。ただし、比較ルールが通信相手と異なっていると、正しく同期処理できなくなる虞れがある。したがって、比較ルールの決定は、例えば、共有設定の際など、通信相手と通信できる時点に制限される方が望ましい。これにより、各情報処理機器２は、勝手に比較ルールを変更できなくなるので、比較ルールの不一致に起因する同期処理の失敗を防止できる。
【０１９４】
上記構成のデータベースシステム１の使用例としては、例えば、会社などに設置され、サーバとなる情報処理機器２で、全営業マンに必要なアドレス情報を一括管理し、携帯情報端末となる情報処理機器２が各営業マンそれぞれに配付される場合が挙げられる。ここで、各営業マン毎に必要なアドレス情報の組み合わせは、互いに異なっており、かつ、複数の営業マンに共通のアドレス情報があることが多い。したがって、情報処理機器２にて、データベースＤＢに全アドレス情報を格納し、各営業マンに必要なアドレス情報の組み合わせをフクロＦとして管理することで、情報処理機器２は、例えば、各営業マン毎のアドレス情報を別のデータベースＤＢに格納する場合と異なり、各アドレス情報を整合性を損なうことなく管理できる。また、情報処理機器２は、情報処理機器２の１つのフクロＦを格納できればよいので、アドレス情報全体を記憶する場合よりも記憶容量を削減できる。
【０１９５】
なお、上記各実施形態では、ティップＴが個々の住所を示す場合を例にして説明したが、当然ながら、ティップＴが示すデータは、データベースの用途に応じて自由に設定できる。また、各ティップＴが同じ種類の属性Ａ…を有し、共有相手が同じティップＴが、共有フクロＳＦに集められる場合を例にして説明したが、これに限るものではない。例えば、共有相手とアプリケーションとの組み合わせ毎に共有フクロＳＦを設けてもよい。アドレス帳、電子帳およびメイルアドレスデータベースのアプリケーションが存在する場合を例にして説明すると、アドレス帳で使用されるティップＴは、名前、電話番号、メールアドレス、住所および勤務先などを示す属性を備えている。また、電話帳で使用されるティップＴは、名前と電話番号とを示す属性を備え、メイルアドレスデータベースのティップＴは、名前とメールアドレスとを示す属性を備えている。さらに、各ティップＴは、使用アプリケーションを示すフクロＦに集められる。例えば、電話帳で使用されるティップＴは、アドレス帳を示すフクロＦにも所属する。この場合、アドレス帳全体を新しくしたい場合は、アドレス帳を示すフクロＦに対して共有設定すればよいし、電話帳のフクロＦのみを変更したい場合は、当該フクロＦに対し共有設定して同期処理すればよい。このように、使用するアプリケーション毎にフクロＦを割り当てれば、用途毎に同期処理できる。  さらに、上記各実施形態では、自らの共有フクロＳＦと相手の共有フクロＳＦとの組み合わせ毎に、ダーティ・ビットＤを設けているが、非同期期間が同一であれば、複数の共有フクロＳＦ間で、ダーティ・ビット・リストＬＤ（ダーティ・ビットＤ）を共用できる。
【０１９６】
なお、上記各実施形態では、例えば、各情報処理機器２がシンクロナイズ処理部５１を備えている場合について説明したが、シンクロナイズ処理部５１や共有設定処理部５２など、各情報処理機器２が通信可能な期間のみに動作する部材は、いずれか一方に設けられていればよい。また、例えば、シンクロナイズ処理部５１のうち、ティップＴの衝突を検出する部分と、優先側を決定する部分とが異なる情報処理機器２に配されていてもよい。通信可能な時点で、上記各部材を形成できれば、同様の効果が得られる。
【０１９７】
【発明の効果】
本発明に係るデータベース管理装置は、以上のように、複数の第２共有範囲毎に設けられた状態情報に基づいて同期処理する際、同期処理手段が、同時には、ただ１つの他のデータベース管理装置に格納された第２共有範囲と上記第１共有範囲とが互いに同一となるように、両共有範囲に対応する状態情報に基づいて同期処理し、当該第２共有範囲に関連する状態情報を更新すると共に、当該状態情報の更新を、他の第２共有範囲に関連する状態情報へ伝達する構成である。
【０１９８】
上記構成によれば、複数の第２データベース管理装置毎に異なる状態情報が設けられ、ある状態情報の更新が他の状態情報に伝達される。したがって、更新情報に基づく、同期処理が２つのデータベース管理装置間のみで実施されるにも拘わらず、３以上のデータベース管理装置間でデータの同期処理を行うことができるという効果を奏する。
【０１９９】
加えて、各共有範囲間で対応付けが行われ、状態情報に基づいて同期処理するので、同期処理の際に、両データベース管理装置間で伝送されるデータ量を削減できるという効果を併せて奏する。
【０２００】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記第１共有範囲の各データに対応するデータ管理番号を記憶するデータ管理番号記憶手段と、上記同期処理以外による追加データに対しては、自機器に固有のデータベース管理番号を含むデータ管理番号を作成し、同期処理による追加データに対しては、既に割り当てられているデータ管理番号を使用するデータ管理番号設定手段とを備え、データ管理番号に基づいて、各データベース間で対応するデータを特定する構成である。
【０２０１】
上記構成によれば、データの伝達経路に拘わらず、同一のデータ管理番号が使用されるので、同期処理手段は、各共有範囲の対応関係がループ状に形成されている場合であっても、互いに対応するデータを確実に特定できる。この結果、誤特定に起因するデータの増加を防止でき、同期処理時に伝送されるデータ量を削減できるという効果を奏する。
【０２０２】
本発明に係るデータベース管理装置は、以上のように、第１データベースの一部である第１共有範囲の各データに対応するデータ管理番号を記憶するデータ管理番号記憶手段と、上記同期処理以外による追加データに対しては、自機器に固有のデータベース管理番号を含むデータ管理番号を作成し、同期処理による追加データに対しては、既に割り当てられているデータ管理番号を使用するデータ管理番号設定手段と、非同期期間中に一度でも第１共有範囲に含まれた各第１データについて、非同期期間中の更新状態を示す状態情報を記憶する状態情報記憶手段とを備え、データ管理番号に基づいて、各データベース間で対応するデータを特定すると共に、上記状態情報を参照して両データの内容を一致させる構成である。
【０２０３】
当該構成では、非同期期間中に一度でも第１共有範囲に含まれた各第１データについて、状態情報が記憶されているので、第１データが、非同期期間中に第１共有範囲の内外を移動したとしても、状態情報を参照すれば、更新の有無を識別でき、更新されていないデータ転送を省略できる。また、データ管理番号記憶手段、データ管理番号設定手段、および同期処理手段を備えたデータベース管理装置と同様に、他のデータベース管理装置と通信できるか否かに拘わらず、データベースシステムで一意のデータ管理番号を設定でき、同期処理手段は、当該データ管理番号の参照によって、容易にデータの対応を識別できる。加えて、上記共有範囲対応手段、状態情報記憶手段、および同期処理手段を備えたデータベース管理装置と同様に、対応するデータが第１共有範囲に配されており、各共有範囲間で対応付けが行われ、状態情報に基づいて同期処理が行われる。これらの結果、同期処理時に、両データベース管理装置間で伝送されるデータ量を削減できるという効果を奏する。
【０２０４】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記データ管理番号設定手段は、上記データ管理番号記憶手段にデータ管理番号が記憶されたデータが、新たに、上記第１共有範囲内に配された場合、以前と同じデータ管理番号を使用する構成である。
【０２０５】
上記構成によれば、データが第１共有範囲外に配された後、再び、第１共有範囲内に配される場合であっても、同期処理手段は、各データの対応関係を特定できる。この結果、誤特定に起因するデータの増加を防止でき、同期処理時に伝送されるデータ量を削減できるという効果を奏する。
【０２０６】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、上記データ管理番号が同一の第１および第２データについて、内容が同一であるか否かを判定し、同一と判定した場合、上記状態情報の伝達を中止する構成である。
【０２０７】
上記構成によれば、各共有範囲の対応関係がループ状に形成されている場合であっても、第１および第２データの内容が同一であれば、状態情報の伝達が阻止される。この結果、不要な状態情報の伝達を防止でき、同期処理時に伝送されるデータ量を削減できるという効果を奏する。
【０２０８】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、相手から受け取った各データの最終更新者が、自機器の場合、当該データに関する上記状態情報の伝達を中止する構成である。
【０２０９】
上記構成において、同期処理手段は、相手から最終更新者が自機器のデータを受け取った場合、当該データの更新は、自らの状態情報に既に反映されているので状態情報の伝達を防止する。これにより、不要な状態情報の伝達を防止でき、同期処理時に伝送されるデータ量を削減できるという効果を奏する。
【０２１０】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記各第１データについて、当該第１データが内容を維持したまま伝送される際、最終更新者と、最終更新者よりも後に経由した全てのデータベース管理装置とを示す伝達リストを記憶する伝達リスト記憶手段を備え、上記同期処理手段は、相手から受け取ったデータの伝達リストに自機器が含まれている場合、当該データに関する上記状態情報の伝達を中止する構成である。
【０２１１】
上記構成において、同期処理手段は、相手から受け取った伝達リストに自機器が含まれている場合、第２データの更新を示す状態情報は、自らの状態情報に既に反映されているので、状態情報の伝達を防止する。これにより、不要な状態情報の伝達を防止でき、同期処理時に伝送されるデータ量を削減できるという効果を奏する。
【０２１２】
本発明に係るデータベース管理装置は、以上のように、同期処理手段は、自らの第１共有範囲と複数の相手の第２共有範囲とを一致させる際、上記各第２共有範囲の１つとの間の同期処理と、他の第２共有範囲との間の同期処理とを互いに異なる時点で行い、同時には、ただ１つの第２共有範囲とのみ、同期処理する構成である。
【０２１３】
上記構成において、異なる組み合わせの同期処理が繰り返されると、各組み合わせ毎にデータが一致するので、３以上のデータベース管理装置であっても、何ら支障なく同期処理できる。この結果、上記共有範囲対応手段、状態情報記憶手段、および同期処理手段を備えたデータベース管理装置と同様に、同期処理のタイミングが各データベース管理装置の組み合わせ毎に異なる場合であっても、何ら支障なく同期処理できると共に、対応付けの制約が少ないデータベースシステムを構築できるという効果を奏する。
【０２１４】
本発明に係るデータベース管理装置は、以上のように、対応付けられたデータを格納する第１部分集合を設定する部分集合設定手段と、他のデータベース管理装置の第２部分集合と当該第１部分集合とを対応させる部分集合対応手段と、上記第１部分集合内外を移動したデータについて、最終移動時刻を記憶する移動時刻記憶手段とを備え、上記同期処理手段としての第１同期処理手段は、第１および第２部分集合の内容を一致させる際、最終移動時刻が遅いデータに合わせて、対応する他のデータを、それぞれの部分集合の内に配するか否かを決定する構成である。
【０２１５】
当該構成によれば、各部分集合間で対応付けが行われ、対応するデータが各部分集合の内外を移動した場合、各部分集合内あるいは外の一方に配される。したがって、部分集合の内外をデータが移動した後、同期処理された場合であっても、データ数の増大を抑えることができ、同期処理時に伝送されるデータ量を削減できるという効果を奏する。
【０２１６】
さらに、最終移動時刻が遅いデータに合わせて決定することで、互いに対応するデータ同士のうち、最も使用者に重要視されているデータに合わせて、部分集合の内外を決定できるという効果を併せて奏する。
【０２１７】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記移動時刻記憶手段に代えて、移動回数を記憶する移動回数記憶手段を備え、上記第１同期処理手段に代わる同期処理手段として、移動回数の最も大きなデータに合わせて、他のデータを、それぞれの部分集合内に配するか否かを決定する第２同期処理手段が設けられている構成である。
【０２１８】
上記構成では、移動回数の多いデータに合わせて部分集合の内外が判定されるので、上記部分集合設定手段、部分集合対応手段、移動時刻記憶手段、同期処理手段を備えるデータベース管理装置と同様に、同期処理時に伝送されるデータ量を削減できると共に、より使用者の要望に合った同期処理が可能になるという効果を奏する。
【０２１９】
本発明に係るデータベース管理装置は、以上のように、上記非同期期間中における上記各第１データの更新状態を示す状態情報が、上記第１共有範囲と上記第２共有範囲との組み合わせ毎に記憶される状態情報記憶手段とを備え、上記同期処理手段は、上記第１および第２共有範囲が一致するように同期処理する際、互いの状態情報を送受して更新の有無を確認すると共に、複数の共有範囲で更新された場合、各データが同一であるか否かを判定した後で、いずれのデータの内容で、互いに対応する残余のデータを置き換えるかを決定する構成である。
【０２２０】
上記構成では、複数の共有範囲でデータが更新された場合、各データが同一であるか否かが判定された後、対応するデータのうちで、優先されるデータを選択し、優先側データの内容で残余のデータ（非優先側データ）を置き換える。したがって、各データ全てを別のデータとして各データベースに追加する場合に比べてデータ数の増大を防止できる。また、同一と判定された場合には、優先側の判定自体を省略できる。これらの結果、同期処理時に伝送されるデータ量と、同期処理時に処理されるデータ量とを削減できる。
【０２２１】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、各データが同一であるか否かを、それぞれのデータの一部である付加情報に基づいて判定する構成である。
【０２２２】
当該構成によれば、例えば、最終更新時刻、最終更新者、あるいは、更新毎に異なる値の更新ＩＤなど、データ内容全体に比べてデータ量の少ない付加情報に基づいて、データの同一性を判断するので、同期処理時に処理されるデータ量を削減できるという効果を奏する。
【０２２３】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、相手から受け取った第２データの最終更新者が自機器であり、かつ、第１データが更新されていない場合、第１および第２データが同一であると判定する構成である。
【０２２４】
当該構成では、最終更新者を伝送し、かつ、自らの第１データが更新されたか否かを判定すれば、両データが互いに同一であるか否かを判定できるので、余り多くのデータを伝送せずに、同一判定できるという効果を奏する。
【０２２５】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、相手から受け取った第２データの伝達リストに自機器が含まれ、かつ、第１データが更新されていない場合、第１および第２データが同一であると判定する構成である。
【０２２６】
当該構成では、伝達リストを伝送し、かつ、自らの第１データが更新されたか否かを判定すれば、両データが互いに同一であるか否かを判定できるので、余り多くのデータを伝送せずに、同一判定できるという効果を奏する。
【０２２７】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、更新毎に異なる値に設定される更新識別情報が同一である場合、第１および第２データが同一であると判定する構成である。
【０２２８】
当該構成によれば、データ内容全体に比べてデータ量の少ない付加情報に基づいて、データの同一性を判断するので、同期処理時に処理されるデータ量を削減できるという効果を奏する。
【０２２９】
本発明に係るデータベース管理装置は、以上のように、上記した構成において、上記同期処理手段は、最終更新時刻が同一である場合、第１および第２データが同一であると判定する構成である。
【０２３０】
当該構成によれば、データ内容全体に比べてデータ量の少ない付加情報に基づいて、データの同一性を判断するので、同期処理時に処理されるデータ量を削減できるという効果を奏する。
【０２３１】
本発明に係るコンピュータ読み取り可能な記録媒体は、以上のように、同期処理手段、共有範囲対応手段、部分集合設定手段、部分集合対応手段、移動時刻記憶手段、データ管理番号記憶手段、データ管理番号設定手段、状態情報記憶手段、移動回数記憶手段、および／または第２同期処理手段を備えたデータベース管理装置を実現するためのプログラムが記録されている構成である。それゆえ、コンピュータを上記した手段として機能させるためのプログラムをコンピュータで実行させることによって、同期処理手段、共有範囲対応手段、部分集合設定手段、部分集合対応手段、移動時刻記憶手段、データ管理番号記憶手段、データ管理番号設定手段、状態情報記憶手段、移動回数記憶手段、および／または第２同期処理手段を備えたデータベース管理装置と同様の効果が得られる。
【図面の簡単な説明】
【図１】  本発明の一実施形態を示すものであり、情報処理機器の要部構成を示すブロック図である。
【図２】  上記情報処理機器を使用して構築されるデータベースシステムの一例を示すブロック図である。
【図３】  上記情報処理機器のハードウェア構成の一例を示すブロック図である。
【図４】  上記情報処理機器において、データ１件を示すティップと、その母集合となるフクロとの関係を示す説明図である。
【図５】  上記情報処理機器において、ティップの格納方法を示す説明図である。
【図６】  上記情報処理機器において、ティップと、フクロと、データベースとの関係を示す説明図である。
【図７】  上記情報処理機器において、ティップの格納方法を示すものであり、ティップと、フクロと、データベースとからなるツリー構造を示す説明図である。
【図８】  上記情報処理機器のフクロ管理部で管理されるデータ構造の一例を示す説明図である。
【図９】  上記情報処理機器のティップ管理部で管理されるデータ構造の一例を示す説明図である。
【図１０】  上記データベースシステムにおいて、情報処理機器の共有範囲となる共有フクロと、他の情報処理機器の共有フクロとの関係を示す説明図である。
【図１１】  上記データベースシステムにおいて、ティップの対応関係と、対応関係の記憶方法とを示す説明図である。
【図１２】  上記データベースシステムにおいて、各情報処理機器に格納されるダーティ・ビット・リストを示す説明図である。
【図１３】  上記ダーティ・ビット・リストを構成するダーティ・ビットにおいて、移動パラメタの格納例を示す説明図である。
【図１４】  自らの共有フクロが複数の共有フクロと共有される場合において、ティップの対応関係を示す説明図である。
【図１５】  上記対応関係において、ダーティ・ビット・リストを示す説明図である。
【図１６】  上記データベースシステムの概略の動作を示すフローチャートである。
【図１７】  上記データベースシステムにおいて、複数の共有フクロ間での対応付けを示す説明図である。
【図１８】  上記データベースシステムにおいて、ある共有フクロにティップが追加された場合を示す説明図である。
【図１９】  図１８の後の同期処理を示す説明図である。
【図２０】  上記データベースシステムにおいて、他の共有フクロにティップが追加された場合を示す説明図である。
【図２１】  図２０の後の同期処理を示す説明図である。
【図２２】  上記データベースシステムにおいて、ある共有フクロでティップが削除された場合を示す説明図である。
【図２３】  図２２の後の同期処理を示す説明図である。
【図２４】  上記データベースシステムにおいて、他の共有フクロでティップが削除された場合を示す説明図である。
【図２５】  図２４の後の同期処理を示す説明図である。
【図２６】  上記データベースシステムにおいて、ある共有フクロでティップが更新された場合を示す説明図である。
【図２７】  図２６の後の同期処理を示す説明図である。
【図２８】  上記データベースシステムにおいて、他の共有フクロでティップが更新された場合を示す説明図である。
【図２９】  図２８の後の同期処理を示す説明図である。
【図３０】  上記データベースシステムにおいて、共有設定時の動作を詳細に説明するフローチャートである。
【図３１】  上記データベースシステムにおいて、非同期期間中の各種操作に応じたダーティ・ビットの変化を示す説明図である。
【図３２】  上記データベースシステムの非同期期間中の動作を詳細に説明するものであり、ティップの内容更新処理を示すフローチャートである。
【図３３】  上記データベースシステムの非同期期間中の動作を詳細に説明するものであり、ティップの挿入処理を示すフローチャートである。
【図３４】  上記データベースシステムの非同期期間中の動作を詳細に説明するものであり、ティップの排出処理を示すフローチャートである。
【図３５】  上記データベースシステムにおいて、同期処理の終了直後におけるティップの対応関係を示す説明図である。
【図３６】  上記データベースシステムにおいて、同期処理の終了直後におけるダーティ・ビット・リストを示す説明図である。
【図３７】  上記データベースシステムにおいて、次の同期処理の直前におけるダーティ・ビット・リストを示す説明図である。
【図３８】  上記データベースシステムにおいて、同期処理中の動作を詳細に説明するフローチャートである。
【図３９】  上記データベースシステムにおいて、同期処理中の状態を説明するものであり、圧縮後のダーティ・ビット・リストを示す説明図である。
【図４０】  上記データベースシステムにおいて、同期処理中の他の状態を説明するものであり、他の情報処理機器で追加されたダーティ・ビットが、自らのダーティ・ビット・リストに追加された状態を示す説明図である。
【図４１】  上記データベースシステムにおいて、同期処理中のさらに他の状態を説明するものであり、自らで追加されたダーティ・ビットが、他の情報処理機器のダーティ・ビット・リストに追加された状態を示す説明図である。
【図４２】  上記データベースシステムの同期処理を説明するものであり、ダーティ・ビットの移動パラメタの優先度を示す説明図である。
【図４３】  上記データベースシステムの同期処理を説明するものであり、ダーティ・ビットの変化を示す説明図である。
【図４４】  上記データベースシステムの同期処理を説明するものであり、内外判定同期処理の終了時点におけるダーティ・ビット・リストを示す説明図である。
【図４５】  上記データベースシステムの同期処理を説明するものであり、ダーティ・ビットの更新パラメタの優先度を示す説明図である。
【図４６】  上記データベースシステムの同期処理を説明するものであり、ダーティ・ビットの更新パラメタの変化を示す説明図である。
【図４７】  上記データベースシステムの同期処理を説明するものであり、ダーティ・ビットによる優先側判定を示す説明図である。
【図４８】  上記データベースシステムの同期処理を説明するものであり、データ内容同期処理後のダーティ・ビット・リストを示す説明図である。
【図４９】  上記データベースシステムの同期処理を説明するものであり、データ内容同期処理後に、さらに圧縮されたダーティ・ビット・リストを示す説明図である。
【図５０】  上記データベースシステムにおいて、共有解除の動作を詳細に説明するフローチャートである。
【図５１】  上記データベースシステムにおいて、各共有フクロの共有関係がループ状に形成された状態を示す説明図である。
【図５２】  図５１の状態で、ある共有フクロにティップが追加された場合を示す説明図である。
【図５３】  図５２の後の同期処理を示す説明図である。
【図５４】  図５２の後に、さらに同期処理された場合を示す説明図である。
【図５５】  本発明の他の実施形態に係るデータベースシステムにおいて、シンクＩＤのフォーマットを示す説明図である。
【図５６】  上記データベースシステムにおいて、各共有フクロの共有関係がループ状に形成された状態を示す説明図である。
【図５７】  図５６の状態で、ある共有フクロにティップが追加された場合を示す説明図である。
【図５８】  図５７の後の同期処理を示す説明図である。
【図５９】  図５８の後に、さらに同期処理された場合を示す説明図である。
【図６０】  上記データベースシステムにおいて、ダーティ・ビットの更新伝達を示す説明図である。
【図６１】  本発明のさらに他の実施形態を示すものであり、データベースシステムにおいて、ダーティ・ビットの更新を伝達する際の動作を示すフローチャートである。
【図６２】  上記データベースシステムにおいて、ダーティ・ビットの更新伝達を示す説明図である。
【図６３】  上記データベースシステムの変形例を示すものであり、ダーティ・ビットの更新を伝達する際の動作を示すフローチャートである。
【図６４】  上記データベースシステムが同一性判定の基準として最終更新時刻を使用した場合を示すものであり、処理とティップの転送方向とを示す説明図である。
【図６５】  上記データベースシステムが同一性判定の基準として最終更新者を使用した場合を示すものであり、処理とティップの転送方向とを示す説明図である。
【図６６】  上記データベースシステムが同一性判定の基準として更新ＩＤを使用した場合を示すものであり、処理とティップの転送方向とを示す説明図である。
【図６７】  上記データベースシステムのさらに他の変形例を示すものであり、同期処理全体を示すフローチャートである。
【図６８】  本発明のまた別の実施形態を示すものであり、データベースシステムにおいて、ダーティ・ビットの更新を伝達する際の動作を示すフローチャートである。
【図６９】  上記データベースシステムにおいて、ダーティ・ビットの更新伝達を示す説明図である。
【図７０】  本発明のまた別の実施形態を示すものであり、データベースシステムにおいて、ある共有フクロにティップが追加された場合を示す説明図である。
【図７１】  上記データベースシステムにおいて、ダーティ・ビットの更新を伝達する際の動作を示すフローチャートである。
【図７２】  図７０の後の同期処理を示す説明図である。
【図７３】  図７２の後に、さらに同期処理された場合を示す説明図である。
【図７４】  上記各データベースシステムの変形例を示すものであり、各ティップへの操作の一例を示す説明図である。
【符号の説明】
２・７・９・１１    情報処理機器（データベース管理装置）
２３  データベース管理部（第１データベース、状態情報記憶手段、データ管理番号記憶手段、更新者記憶手段、伝達リスト記憶手段、移動時刻記憶手段、移動回数記憶手段、更新識別情報記憶手段）
２４  データベース処理部（データ管理番号設定手段）
３２  フクロ管理部（部分集合設定手段）
５１  シンクロナイズ処理部（同期処理手段、第１および第２同期処理手段）
５２  共有設定処理部（共有範囲対応手段、部分集合対応手段）
【図１】
0003756349.tif 000002
【図２】
0003756349.tif 000003
【図３】
0003756349.tif 000004
【図４】
0003756349.tif 000005
【図５】
0003756349.tif 000006
【図６】
0003756349.tif 000007
【図７】
0003756349.tif 000008
【図８】
0003756349.tif 000009
【図９】
0003756349.tif 000010
【図１０】
0003756349.tif 000011
【図１１】
0003756349.tif 000012
【図１２】
0003756349.tif 000013
【図１３】
0003756349.tif 000014
【図１４】
0003756349.tif 000015
【図１５】
0003756349.tif 000016
【図１６】
0003756349.tif 000017
【図１７】
0003756349.tif 000018
【図１８】
0003756349.tif 000019
【図１９】
0003756349.tif 000020
【図２０】
0003756349.tif 000021
【図２１】
0003756349.tif 000022
【図２２】
0003756349.tif 000023
【図２３】
0003756349.tif 000024
【図２４】
0003756349.tif 000025
【図２５】
0003756349.tif 000026
【図２６】
0003756349.tif 000027
【図２７】
0003756349.tif 000028
【図２８】
0003756349.tif 000029
【図２９】
0003756349.tif 000030
【図３０】
0003756349.tif 000031
【図３１】
0003756349.tif 000032
【図３２】
0003756349.tif 000033
【図３３】
0003756349.tif 000034
【図３４】
0003756349.tif 000035
【図３５】
0003756349.tif 000036
【図３６】
0003756349.tif 000037
【図３７】
0003756349.tif 000038
【図３８】
0003756349.tif 000039
【図３９】
0003756349.tif 000040
【図４０】
0003756349.tif 000041
【図４１】
0003756349.tif 000042
【図４２】
0003756349.tif 000043
【図４３】
0003756349.tif 000044
【図４４】
0003756349.tif 000045
【図４５】
0003756349.tif 000046
【図４６】
0003756349.tif 000047
【図４７】
0003756349.tif 000048
【図４８】
0003756349.tif 000049
【図４９】
0003756349.tif 000050
【図５０】
0003756349.tif 000051
【図５１】
0003756349.tif 000052
【図５２】
0003756349.tif 000053
【図５３】
0003756349.tif 000054
【図５４】
0003756349.tif 000055
【図５５】
0003756349.tif 000056
【図５６】
0003756349.tif 000057
【図５７】
0003756349.tif 000058
【図５８】
0003756349.tif 000059
【図５９】
0003756349.tif 000060
【図６０】
0003756349.tif 000061
【図６１】
0003756349.tif 000062
【図６２】
0003756349.tif 000063
【図６３】
0003756349.tif 000064
【図６４】
0003756349.tif 000065
【図６５】
0003756349.tif 000066
【図６６】
0003756349.tif 000067
【図６７】
0003756349.tif 000068
【図６８】
0003756349.tif 000069
【図６９】
0003756349.tif 000070
【図７０】
0003756349.tif 000071
【図７１】
0003756349.tif 000072
【図７２】
0003756349.tif 000073
【図７３】
0003756349.tif 000074
【図７４】
0003756349.tif 000075