JP2001005708A - データベース管理装置、および、そのプログラムが記録された記録媒体 - Google Patents

データベース管理装置、および、そのプログラムが記録された記録媒体

Info

Publication number
JP2001005708A
JP2001005708A JP11171681A JP17168199A JP2001005708A JP 2001005708 A JP2001005708 A JP 2001005708A JP 11171681 A JP11171681 A JP 11171681A JP 17168199 A JP17168199 A JP 17168199A JP 2001005708 A JP2001005708 A JP 2001005708A
Authority
JP
Japan
Prior art keywords
data
database
shared
database management
tip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11171681A
Other languages
English (en)
Other versions
JP3756349B2 (ja
Inventor
Toshiyuki Iwai
俊幸 岩井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP17168199A priority Critical patent/JP3756349B2/ja
Priority to US09/592,458 priority patent/US6549902B1/en
Priority to EP00112705A priority patent/EP1061455A1/en
Publication of JP2001005708A publication Critical patent/JP2001005708A/ja
Application granted granted Critical
Publication of JP3756349B2 publication Critical patent/JP3756349B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 対応するデータを複数で独立して変更可能な
データベースシステムにおいて、同期処理時の通信デー
タ量を削減可能なデータベース管理装置を実現する。 【解決手段】 各情報処理機器2は、共有フクロ内のテ
ィップについて、自らと相手との共有フクロの組み合わ
せ毎に、更新状態を示すダーティ・ビットを作成する。
データベース処理部24は、非同期期間中、ティップへ
の操作を監視して、ティップのダーティ・ビットを更新
する。同期処理は、2つの情報処理機器2間で行われ、
ダーティ・ビットを伝送した後、ティップの内容伝送の
要否と伝送方向とが決定される。また、同期処理に関連
するダーティ・ビットが更新され、同じティップに対応
する他のダーティ・ビットへ更新が伝達される。これに
より、通信データ量が少なく、かつ、3以上の情報処理
機器2間でティップを一致させることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信によって、相
手とデータの内容を同一にできるデータベース管理装置
に関し、特に、同期処理時に通信あるいは処理されるデ
ータ量を削減可能なデータベース管理装置、および、そ
のプログラムが記録された記録媒体に関するものであ
る。
【0002】
【従来の技術】従来より、情報処理機器は、広く普及し
ており、近年では、例えば、デスクトップ・パソコンな
どの高性能な情報処理機器と、携帯情報端末などの携帯
性に優れた情報処理機器となど、複数の情報処理機器を
個人が所有することも珍しくない。ここで、これら複数
の情報処理機器によって、例えば、スケジュールやアド
レス帳などの個人情報を管理する場合、いずれの情報処
理機器に設けられたデータベースであっても、同一内容
のデータを持つことが要求される。したがって、例え
ば、パソコンと携帯型情報端末とで個人情報を管理する
場合を例にすると、パソコンでマスターデータベースを
管理し、当該マスターデータベースのデータを携帯型の
情報処理機器のデータベース(携帯データベース)へコ
ピーして、個人情報を持ち歩いている。
【0003】このように、複数のデータベース管理装置
で同一のデータを管理する場合、あるデータベース管理
装置でデータが変更されると、全てのデータベース管理
装置でも、データベースを更新する必要がある。ここ
で、各データベース管理装置が常時通信可能であれば、
更新したデータベース管理装置が他のデータベース管理
装置へデータ変更を通知すれば、データ変更を即座に反
映できる。ところが、各データベース管理装置は、例え
ば、データベース管理装置が携帯情報端末の場合などの
ように、常に通信できるとは限らない。この場合、デー
タの変更時点では、他のデータベース管理装置のデータ
ベースへ当該データ変更を反映できない。したがって、
データベースの同一性を保つためには、各データベース
管理装置が通信可能になった時点で、データベースの内
容を相手と同一にするための処理、すなわち、同期処理
が必要になる。
【0004】上述の例で説明すると、携帯情報端末でデ
ータを変更した場合、携帯情報端末を自宅やオフィスな
どへ持ちかえった時点で同期処理が行われ、携帯情報端
末の携帯データベースとパソコン上のマスターデータベ
ースとの間で、データが同一になる。
【0005】ここで、従来の同期処理の一例として、ダ
ウンロード/アップロードが挙げられる。具体的には、
パソコンでデータが変更された場合、マスターデータベ
ースの内容が携帯情報端末へコピーされる(ダウンロー
ド)。一方、携帯情報端末でデータが変更された場合
は、携帯データベースの内容がパソコンへコピーされる
(アップロード)。
【0006】また、他の従来例としては、和集合を用い
る同期処理が挙げられる。この同期処理では、2つのデ
ータベース管理装置が通信可能になった時点で、双方の
データベースの内容が比較され、新たなデータベースと
して、それぞれのデータベースへ追加された情報全てを
含むような和集合が作成される。その後、作成されたデ
ータベースは、双方のデータベース管理装置に格納され
る。
【0007】例えば、両データベースに、当初データ
「A」が含まれており、一方のデータベース管理装置X
で「B」のデータが追加され、他方のデータベース管理
装置Yで「C」のデータが追加された場合、データベー
ス管理装置Xは、自らが保持する内容「A+B」を、デ
ータベース管理装置Yへ送出する。一方、データベース
管理装置Yは、受け取った「A+B」と、自らが保持す
る内容「A+C」との和集合「A+B+C」を作成し、
自らのデータベースとして格納する。さらに、データベ
ース管理装置Yは、当該データベースの内容「A+B+
C」をデータベース管理装置Xへ送り返す。これによ
り、データベース管理装置Xは、自らのデータベースの
内容を、データベース管理装置Yと同じ「A+B+C」
に更新できる。
【0008】
【発明が解決しようとする課題】しかしながら、上記同
期処理を行う従来のデータベース管理装置では、同期処
理の際に、両データベース管理装置間を伝送されるデー
タ量(通信量)、および、各データベース管理装置にて
演算されるデータ量が極めて多いという問題を生ずる。
【0009】具体的には、ダウンロード/アップロード
では、変更したデータの数に拘わらず、一方のデータベ
ースの内容全てが他方のデータベース管理装置へ送信さ
れる。例えば、1000件のデータを持つデータベース
の場合、1件のデータを変更した場合であっても、10
00件分のデータが送信される。この結果、両データベ
ース管理装置間で伝送される通信量が増大する。併せ
て、受信側のデータベース管理装置では、送信側のデー
タベースによって、データベースの内容が置き換えられ
るため、受信側でのデータ変更は、失われてしまう。
【0010】また、和集合を用いた同期処理では、和集
合を作成するために、一方のデータベースが他方へ送信
され、作成された和集合が新たなデータベースとして送
り返される。このように、当該同期処理では、データベ
ースの内容全てが両データベース管理装置間を往復する
必要があり、同期処理時の通信量がさらに増大する。
【0011】併せて、一方のみでデータが削除された場
合、他方のデータベースにはデータが残留している。し
たがって、新たなデータベースには、当該データが再び
含まれ、データが削除されない。この結果、データベー
スの記憶に必要なメモリ量が増大すると共に、同期処理
時の通信量がさらに増大する。
【0012】これらの問題を解決するために、例えば、
特開平9−6693号公報では、同期処理の他の例とし
て、データベースに含まれる全てのデータに、変更の有
無を示す更新情報が付加されたデータベース管理装置に
ついて記載されている。具体的には、各データベース管
理装置は、データベースに含まれる各データ毎に、当該
データを識別するためのID情報と、変更なし/訂正あ
り/追加/削除を示す更新情報とを記憶しており、デー
タが変更されると、当該データに対応する更新情報を更
新している。さらに、同期処理時には、各データベース
管理装置は、全データのID情報および更新情報を相手
に通知する。一方、相手のデータベース管理装置は、受
け取ったID情報に基づいて、自らのデータベースにお
いて、当該データに対応するデータを検索し、双方の更
新情報を比較する。さらに、一方のみが変更されている
場合、変更側のデータで不変のデータを置き換える。ま
た、両方が変更されている場合は、自らのデータベース
へ、相手のデータを追加し、自らのデータを相手のデー
タベースへ追加する。これにより、いずれのデータベー
ス管理装置でもデータが変更されていない場合、当該デ
ータの送付を省略でき、同期処理時の通信量を削減でき
る。
【0013】しかしながら、上記構成であっても、デー
タベース全体でID情報と更新情報とを送受する必要が
ある。さらに、双方でデータが訂正された場合は、それ
ぞれを相手のデータベースへ追加しなければならない。
これらの結果、同期処理時の通信量を充分に削減してい
るとは言いがたい。加えて、双方でデータが訂正された
場合には、データベースに含まれるデータ数が増加して
いくので、データベースの記憶に必要なメモリ量が増大
し、同期処理時の通信量が増大する虞れがある。
【0014】本発明は、上記の問題点に鑑みてなされた
ものであり、その目的は、変更の有無の記憶に必要なメ
モリ量が少なく、かつ、同期処理時に通信および処理さ
れるデータ量をさらに削減可能なデータベース管理装置
と、そのプログラムが記録された記録媒体とを実現する
ことにある。
【0015】
【課題を解決するための手段】請求項1の発明に係るデ
ータベース管理装置は、上記課題を解決するために、互
いに通信可能な状態になった他のデータベース管理装置
との間で、互いに対応付けられたデータの内容を一致さ
せる同期処理手段と、第1データベースとを有し、同期
処理の時点と次の同期処理の時点との間の非同期期間中
に、第1データベース中のデータを更新可能なデータベ
ース管理装置において、以下の手段を講じたことを特徴
としている。
【0016】すなわち、上記第1データベースの少なく
とも一部である第1共有範囲と、他の複数のデータベー
ス管理装置に、それぞれ格納された第2データベースの
少なくとも1部であり、上記第1共有範囲の第1データ
に対応付けられる第2データを格納する各第2共有範囲
とを対応付ける共有範囲対応手段と、上記非同期期間中
における上記各第1データの更新状態を示す状態情報
が、上記第1共有範囲と上記第2共有範囲の1つとの組
み合わせ毎に記憶される状態情報記憶手段とを備え、上
記同期処理手段は、同時には、ただ1つの他のデータベ
ース管理装置に格納された第2共有範囲と上記第1共有
範囲とが互いに同一となるように、両共有範囲に対応す
る状態情報に基づいて同期処理し、当該第2共有範囲に
関連する状態情報を更新すると共に、当該状態情報の更
新を、他の第2共有範囲に関連する状態情報へ伝達する
ことを特徴としている。なお、上記状態情報は、第1デ
ータの内容変更と、削除と追加と、第1共有範囲内外の
移動とのうちの少なくとも1つを含んでいる。
【0017】上記構成では、3以上のデータベース管理
装置の間で互いに対応するデータは、上記共有範囲対応
手段によって予め定められた、それぞれの共有範囲に配
される。一方、上記状態情報記憶手段は、自らの共有範
囲(第1共有範囲)と、相手の共有範囲(第2共有範
囲)との組み合わせ毎に、第1共有範囲内の第1データ
の状態情報を記憶している。
【0018】例えば、ケーブル、モデムあるいは赤外線
などを介して、データベース管理装置(第1データベー
ス管理装置)が他のデータベース管理装置(第2データ
ベース管理装置)のうちの1つと通信可能な状態になる
と、上記同期処理手段は、ただ1つの第2データベース
管理装置とのみ通信して、第1および第2共有範囲が一
致するように同期処理すると共に、両共有範囲に関連す
る状態情報を更新する。したがって、第1および第2デ
ータベース管理装置間が間欠的に接続される場合であっ
ても、両データベース管理装置のデータ内容が一致す
る。
【0019】さらに、各第1データの状態情報が更新さ
れると、当該状態情報の更新に応じて、各第1データに
対応し、かつ、他の第2共有範囲に関連する状態情報が
更新される。
【0020】上記構成によれば、複数の第2データベー
ス管理装置毎に異なる状態情報が設けられ、ある状態情
報の更新が他の状態情報に伝達される。したがって、更
新情報に基づく、同期処理が2つのデータベース管理装
置間のみで実施されるにも拘わらず、3以上のデータベ
ース管理装置間でデータの同期処理を行うことができ
る。この結果、同期処理のタイミングが各データベース
管理装置の組み合わせ毎に異なる場合であっても、何ら
支障なく同期処理できる。
【0021】さらに、異なる組み合わせの同期処理が繰
り返されると、各組み合わせ毎にデータが一致し、状態
情報が順次伝達されるので、クライアント/サーバ方式
とは異なり、全てのデータベース管理装置と、必ず特定
のデータベース管理装置(サーバ)とを対応付けする必
要がない。したがって、各データベース管理装置により
データベースシステムを構築する際、対応付けの制約が
少ないデータベースシステムを構築できる。
【0022】加えて、対応するデータが第1共有範囲に
配されており、各共有範囲間で対応付けが行われる。ま
た、状態情報に基づいて同期処理が行われる。したがっ
て、データ毎に対応付けたり、第1および第2データを
交換して同期処理する場合に比べて、同期処理の際に、
両データベース管理装置間で伝送されるデータ量を削減
できる。
【0023】さらに、請求項2の発明に係るデータベー
ス管理装置は、請求項1記載の発明の構成において、上
記第1共有範囲に含まれる各データに対応するデータ管
理番号を記憶するデータ管理番号記憶手段と、上記同期
処理以外の処理によって、上記第1共有範囲に新規に追
加されたデータに対しては、他のデータベース管理装置
とは異なる値に定められたデータベース管理番号と、少
なくとも全ての上記第1共有範囲に含まれる他のデータ
とは異なる値のデータ番号との組み合わせを、上記デー
タ管理番号として設定すると共に、同期処理によって追
加されたデータに対しては、他のデータベース管理装置
で当該データに既に割り当てられているデータ管理番号
を、上記データ管理番号とするデータ管理番号設定手段
とを備え、上記同期処理手段は、データ管理番号に基づ
いて、各データベース間で対応するデータを特定するこ
とを特徴としている。
【0024】上記構成において、データベース管理番号
は、データベースシステムで一意であり、データ番号
は、自らのデータベース管理装置内で一意なので、デー
タ管理番号設定手段は、他のデータベース管理装置と通
信できるか否かに拘わらず、データベースシステムで一
意のデータ管理番号を設定できる。また、同期処理によ
ってデータが順次伝送されても、互いに対応するデータ
では、同一のデータ管理番号が使用される。
【0025】したがって、同期処理手段は、各共有範囲
の対応関係がループ状に形成されている場合であって
も、互いに対応するデータを確実に特定できる。この結
果、誤特定に起因するデータの増加を防止でき、同期処
理時に伝送されるデータ量を削減できる。
【0026】一方、請求項3の発明に係るデータベース
管理装置は、上記課題を解決するために、互いに通信可
能な状態になった他のデータベース管理装置との間で、
同期処理する同期処理手段と、第1データベースとを有
し、同期処理の時点と次の同期処理の時点との間の非同
期期間中に、第1データベース中のデータを更新可能な
データベース管理装置において、以下の手段を講じたこ
とを特徴としている。
【0027】すなわち、上記第1データベースの一部で
ある第1共有範囲と、他の複数のデータベース管理装置
に、それぞれ格納された第2データベースの少なくとも
1部であり、上記第1共有範囲の第1データに対応付け
られる第2データを格納する各第2共有範囲とを対応付
ける共有範囲対応手段と、上記各第1データに対応する
データ管理番号を記憶するデータ管理番号記憶手段とを
備えている。さらに、データベース管理装置には、上記
同期処理以外の処理によって、上記第1共有範囲に新規
に追加されたデータに対しては、他のデータベース管理
装置とは異なる値に定められたデータベース管理番号
と、少なくとも全ての上記第1共有範囲に含まれる他の
データとは異なる値のデータ番号との組み合わせを、上
記データ管理番号として設定すると共に、同期処理によ
って追加されたデータに対しては、他のデータベース管
理装置で当該データに既に割り当てられているデータ管
理番号を、上記データ管理番号とするデータ管理番号設
定手段と、上記非同期期間中に一度でも上記第1共有範
囲に含まれた各第1データについて、非同期期間中の更
新状態を示す状態情報が上記第1共有範囲と上記第2共
有範囲との組み合わせ毎に記憶される状態情報記憶手段
が設けられていると共に、上記同期処理手段は、データ
管理番号に基づいて、互いに対応する上記第1および第
2データを特定し、上記状態情報を参照して両データの
内容を一致させる。
【0028】上記構成では、非同期期間に一度でも第1
共有範囲に含まれた第1データについて、非同期期間中
における更新状態を示す状態情報が記憶されている。し
たがって、第1データが、非同期期間中に第1共有範囲
の内外を移動したとしても、状態情報を参照すれば、更
新の有無を識別でき、更新されていないデータ転送を省
略できる。また、請求項2と同様に、他のデータベース
管理装置と通信できるか否かに拘わらず、データベース
システムで一意のデータ管理番号を設定でき、同期処理
手段は、当該データ管理番号の参照によって、容易にデ
ータの対応を識別できる。加えて、請求項1と同様に、
対応するデータが第1共有範囲に配されており、各共有
範囲間で対応付けが行われ、状態情報に基づいて同期処
理が行われる。これらの結果、同期処理時に、両データ
ベース管理装置間で伝送されるデータ量を削減できる。
【0029】さらに、請求項4の発明に係るデータベー
ス管理装置は、請求項2または3記載の発明の構成にお
いて、上記データ管理番号記憶手段は、データ管理番号
を有するデータが、上記第1共有範囲外に配された後
も、各データのデータ管理番号も保持すると共に、上記
データ管理番号設定手段は、上記データ管理番号記憶手
段にデータ管理番号が記憶され、かつ、上記第1共有範
囲外に配されたデータが、上記第1共有範囲内に配され
た場合、上記データ管理番号記憶手段に記憶されたデー
タ管理番号を当該データのデータ管理番号とすることを
特徴としている。
【0030】上記構成において、例えば、データの移
動、あるいは、共有関係の解消などによって、データ管
理番号を有するデータが第1共有範囲外に配された場合
であっても、データ管理番号記憶手段は、当該データの
データ管理番号を記憶している。その後、データの移動
や、新たな共有範囲の設定などによって、当該データが
再び第1共有範囲内に配されると、以前に使用していた
データ管理番号がそのまま使用される。
【0031】上記構成によれば、データが第1共有範囲
外に配された後、再び、第1共有範囲内に配される場合
であっても、同期処理手段は、各データの対応関係を特
定できる。この結果、誤特定に起因するデータの増加を
防止でき、同期処理時に伝送されるデータ量を削減でき
る。
【0032】また、請求項5の発明に係るデータベース
管理装置は、請求項2記載の発明の構成において、上記
同期処理手段は、上記データ管理番号が同一の第1およ
び第2データについて、内容が同一であるか否かを判定
し、同一と判定した場合、上記状態情報の伝達を中止す
ることを特徴としている。
【0033】上記構成によれば、各共有範囲の対応関係
がループ状に形成されている場合であっても、第1およ
び第2データの内容が同一であれば、状態情報の伝達が
阻止される。この結果、不要な状態情報の伝達を防止で
き、同期処理時に伝送されるデータ量を削減できる。
【0034】一方、請求項6の発明に係るデータベース
管理装置は、請求項2記載の発明の構成において、各第
1データの最終更新者を記憶する更新者記憶手段を備
え、上記同期処理手段は、相手から各データの最終更新
者を受け取り、当該最終更新者が自機器の場合、当該デ
ータに関する上記状態情報の伝達を中止することを特徴
としている。
【0035】上記構成において、相手から受け取った最
終更新者が自機器の場合、第2データの更新を示す状態
情報は、既に自らの状態情報記憶手段に記憶されてい
る。したがって、この場合に、同期処理手段が状態情報
の伝達を防止することで、不要な状態情報の伝達を防止
でき、同期処理時に伝送されるデータ量を削減できる。
【0036】さらに、最終更新者のデータベース管理装
置と同期処理した時点で、不要な状態情報の伝達を防止
できるので、請求項5の場合とは異なり、データベース
内の全てのデータベース管理装置が状態情報の伝達を中
止すべきか否かを判定しなくても、不要な状態情報の伝
達を防止できる。
【0037】また、請求項7の発明に係るデータベース
管理装置は、請求項2記載の発明の構成において、上記
各第1データについて、当該第1データが内容を維持し
たまま伝送される際、最終更新者と、最終更新者よりも
後に経由した全てのデータベース管理装置とを示す伝達
リストを記憶する伝達リスト記憶手段を備え、上記同期
処理手段は、相手から各データの伝達リストを受け取
り、当該伝達リストに自機器が含まれている場合、当該
データに関する上記状態情報の伝達を中止することを特
徴としている。
【0038】なお、伝達リストに自機器を含む場合、伝
達リストは、更新時に自機器のみを含むように初期化さ
れ、データの伝送時に受信側のデータベース管理装置が
追加される。また、伝達リストに自機器を含まない場
合、伝達リストは、更新時に空に初期化され、データの
伝送時に送信側のデータベース管理装置が追加される。
【0039】上記構成において、相手から受け取った伝
達リストに自機器が含まれている場合、第2データの更
新を示す状態情報は、既に自らの状態情報記憶手段に記
憶されている。したがって、この場合に状態情報の伝達
を防止することで、請求項6と同様に不要な状態情報の
伝達を防止でき、同期処理時に伝送されるデータ量を削
減できる。
【0040】また、当該構成によれば、データベース内
の全てのデータベース管理装置が状態情報の伝達を中止
すべきか否かを判定しなくても、最終更新者だけではな
く、伝達経路のデータベース管理装置と同期処理した時
点で、不要な状態情報の伝達を防止できる。
【0041】さらに、請求項8の発明に係るデータベー
ス管理装置は、上記課題を解決するために、互いに通信
可能な状態になった他のデータベース管理装置との間で
同期処理する同期処理手段と、第1データベースとを有
し、非同期期間中に、第1データベース中のデータを更
新可能なデータベース管理装置において、以下の手段を
講じたことを特徴としている。
【0042】すなわち、上記第1データベースの少なく
とも一部である第1共有範囲と、他の複数のデータベー
ス管理装置に、それぞれ格納された第2データベースの
少なくとも1部であり、上記第1共有範囲の第1データ
に対応付けられる第2データを格納する各第2共有範囲
とを対応付ける共有範囲対応手段を備え、上記同期処理
手段は、上記第1共有範囲と上記各第2共有範囲とを一
致させる際、上記各第2共有範囲の1つとの間の同期処
理と、他の第2共有範囲との間の同期処理とを互いに異
なる時点で行い、同時には、ただ1つの第2共有範囲と
のみ、同期処理する。
【0043】上記構成において、第1共有範囲は、複数
の他のデータベース管理装置の第2共有範囲と対応付け
られ、同期処理は、2つのデータベース管理装置で行わ
れる。ここで、異なる組み合わせの同期処理が繰り返さ
れると、各組み合わせ毎にデータが一致するので、3以
上のデータベース管理装置であっても、何ら支障なく同
期処理できる。この結果、請求項1と同様に、同期処理
のタイミングが各データベース管理装置の組み合わせ毎
に異なる場合であっても、何ら支障なく同期処理できる
と共に、対応付けの制約が少ないデータベースシステム
を構築できる。
【0044】ところで、請求項9の発明に係るデータベ
ース管理装置は、上記課題を解決するために、互いに通
信可能な状態になった他のデータベース管理装置との間
で同期処理する同期処理手段と、データベースとを有
し、非同期期間中に、上記データベース中のデータを更
新可能なデータベース管理装置において、以下の手段を
講じたことを特徴としている。
【0045】すなわち、自らのデータベースの一部とし
て、他のデータベース管理装置のデータに対応付けられ
たデータが格納される第1部分集合を設定する部分集合
設定手段と、上記第1部分集合内のデータに対応するデ
ータが格納される、他のデータベース管理装置の第2部
分集合と、当該第1部分集合とを対応させる部分集合対
応手段と、上記第1部分集合内外を移動したデータにつ
いて、最終移動時刻を記憶する移動時刻記憶手段とを備
え、上記同期処理手段としての第1同期処理手段は、第
1および第2部分集合の内容を一致させる際、最終移動
時刻が遅いデータに合わせて、対応する他のデータを、
それぞれの部分集合の内に配するか否かを決定する。
【0046】当該構成によれば、対応するデータが第1
部分集合に配されており、各部分集合間で対応付けが行
われる。また、対応するデータが各部分集合の内外を移
動した場合、各部分集合内あるいは外の一方に配され
る。したがって、部分集合の内外をデータが移動した
後、同期処理された場合であっても、部分集合の中と外
との双方に2つのデータが配される場合に比べて、デー
タ数の増大を抑えることができ、同期処理時に伝送され
るデータ量を削減できる。
【0047】また、一般に、データベース管理装置の使
用者が重要と見なさないデータは、操作されないため、
最後に移動された時刻からの経過時間が長くなる傾向に
ある。したがって、最終移動時刻が遅いデータに合わせ
て決定することで、互いに対応するデータ同士のうち、
最も使用者に重要視されているデータに合わせて、部分
集合の内外を決定でき、より使用者の要望に合った同期
処理が可能になる。
【0048】一方、請求項10の発明に係るデータベー
ス管理装置は、請求項9記載の発明の構成において、上
記移動時刻記憶手段に代えて、非同期処理期間中に、デ
ータが上記第1部分集合内外を移動した場合、移動回数
を記憶する移動回数記憶手段を備え、上記第1同期処理
手段に代わる同期処理手段として、第1および第2部分
集合の内容を一致させる際、移動回数の最も大きなデー
タに合わせて、他のデータを、それぞれの部分集合内に
配するか否かを決定する第2同期処理手段が設けられて
いることを特徴としている。
【0049】ここで、一般に、データベース管理装置の
使用者が重要と見なさないデータは、操作されないた
め、移動回数が少なくなる傾向にある。したがって、移
動回数に基づいて、部分集合内外を決定することによっ
て、請求項9と同様に、同期処理時に伝送されるデータ
量を削減できると共に、より使用者の要望に合った同期
処理が可能になる。
【0050】なお、移動回数を重視するか、最終移動時
刻を重視するかなど、部分集合の内外を決定する方法
は、データベースシステムの用途や使用者毎に異なるの
で、同期処理手段は、複数の決定方法のうち、1つを選
択して同期処理する方が好ましい。
【0051】また、請求項11の発明に係るデータベー
ス管理装置は、互いに通信可能な状態になった他のデー
タベース管理装置との間で同期処理する同期処理手段
と、第1データベースとを有し、非同期期間中に、第1
データベース中のデータを更新可能なデータベース管理
装置において、上記課題を解決するために、以下の手段
を講じたことを特徴としている。
【0052】すなわち、上記第1データベースの少なく
とも一部である第1共有範囲と、他のデータベース管理
装置に格納された第2データベースの少なくとも1部で
あり、上記第1共有範囲の第1データに対応付けられる
第2データを格納する第2共有範囲とを対応付ける共有
範囲対応手段と、上記非同期期間中における上記各第1
データの更新状態を示す状態情報が、上記第1共有範囲
と上記第2共有範囲との組み合わせ毎に記憶される状態
情報記憶手段とを備え、上記同期処理手段は、上記第1
および第2共有範囲が一致するように同期処理する際、
互いの状態情報を送受して更新の有無を確認すると共
に、複数の共有範囲で更新された場合、例えば、データ
内容の一部や、最終更新時刻、最終更新者、あるいは、
更新毎に異なる値の更新IDなどに基づいて、各データ
が同一であるか否かを判定した後で、いずれのデータの
内容で、互いに対応する残余のデータを置き換えるかを
決定する。
【0053】上記構成では、複数の共有範囲でデータが
更新された場合、各データが同一であるか否かが判定さ
れた後、対応するデータのうちで、優先されるデータを
選択し、優先側データの内容で残余のデータ(非優先側
データ)を置き換える。したがって、各データ全てを別
のデータとして各データベースに追加する場合に比べ
て、データ数の増大を防止でき、同期処理時に伝送され
るデータ量を削減できる。さらに、同一と判定された場
合は、優先側の判定自体が行われないので、同期処理時
に処理されるデータ量を削減できる。
【0054】また、請求項12の発明に係るデータベー
ス管理装置は、請求項11記載の発明の構成において、
上記同期処理手段は、各データが同一であるか否かを、
それぞれのデータの一部である付加情報に基づいて判定
することを特徴としている。
【0055】当該構成によれば、例えば、最終更新時
刻、最終更新者、あるいは、更新毎に異なる値の更新I
Dなど、データ内容全体に比べてデータ量の少ない付加
情報に基づいて、データの同一性を判断するので、同期
処理時に処理されるデータ量を削減できる。
【0056】さらに、請求項13の発明に係るデータベ
ース管理装置は、請求項12記載の発明の構成におい
て、上記付加情報として、各第1データの最終更新者を
記憶する更新者記憶手段を備え、上記同期処理手段は、
相手から受け取った第2データの最終更新者が自機器で
あり、かつ、第1データが更新されていない場合、第1
および第2データが同一であると判定することを特徴と
している。
【0057】当該構成では、最終更新者を伝送し、か
つ、自らの第1データが更新されたか否かを判定すれ
ば、両データが互いに同一であるか否かを判定できる。
また、最終更新者を示すデータは、多くの場合、データ
内容に比べて極めてデータ量が少ない。したがって、余
り多くのデータを伝送せずに、同一判定できる。
【0058】一方、請求項14の発明に係るデータベー
ス管理装置は、請求項12記載の発明の構成において、
上記付加情報として、上記各第1データについて、当該
第1データが内容を維持したまま伝送される際、最終更
新者と、最終更新者よりも後に経由した全てのデータベ
ース管理装置とを示す伝達リストを記憶する伝達リスト
記憶手段を備え、上記同期処理手段は、相手から受け取
った第2データの伝達リストに自機器が含まれ、かつ、
第1データが更新されていない場合、第1および第2デ
ータが同一であると判定することを特徴としている。
【0059】当該構成では、伝達リストを伝送し、か
つ、自らの第1データが更新されたか否かを判定すれ
ば、両データが互いに同一であるか否かを判定できる。
また、伝達リストは、多くの場合、データ内容に比べて
極めてデータ量が少ない。したがて、余り多くのデータ
を伝送せずに、同一判定できる。
【0060】また、請求項15の発明に係るデータベー
ス管理装置は、請求項12記載の発明の構成において、
上記付加情報として、上記各第1データについて、更新
毎に異なる値に設定した更新識別情報を記憶する更新識
別情報記憶手段を備え、上記同期処理手段は、更新識別
情報が同一である場合、第1および第2データが同一で
あると判定することを特徴としている。
【0061】当該構成によれば、データ内容全体に比べ
てデータ量の少ない付加情報に基づいて、データの同一
性を判断するので、同期処理時に処理されるデータ量を
削減できる。
【0062】さらにまた、請求項16の発明に係るデー
タベース管理装置は、請求項12記載の発明の構成にお
いて、上記付加情報として、上記各第1データについ
て、最終更新時刻を記憶する最終更新時刻記憶手段を備
え、上記同期処理手段は、最終更新時刻が同一である場
合、第1および第2データが同一であると判定すること
を特徴としている。
【0063】当該構成によれば、データ内容全体に比べ
てデータ量の少ない付加情報に基づいて、データの同一
性を判断するので、同期処理時に処理されるデータ量を
削減できる。
【0064】ところで、上記各構成のデータベース管理
装置は、ハードウェアで構成してもよいし、コンピュー
タに、同様の動作を行わせるためのプログラムを実行さ
せて実現することもできる。
【0065】具体的には、請求項17の発明に係る記録
媒体は、請求項8記載の共有範囲対応手段、状態情報記
憶手段および同期処理手段としてコンピュータを動作さ
せるためのプログラムが記録されていることを特徴とし
ている。
【0066】したがって、上記プログラムがコンピュー
タで実行されると、当該コンピュータは、請求項8記載
のデータベース管理装置として動作するので、同期処理
のタイミングが各データベース管理装置の組み合わせ毎
に異なる場合であっても、3以上のデータベース管理装
置間で、何ら支障なく同期処理できると共に、対応付け
の制約が少ないデータベースシステムを構築できる。
【0067】また、請求項18の発明に係る記録媒体
は、請求項3記載の共有範囲対応手段、データ管理番号
記憶手段、データ管理番号設定手段、状態情報記憶手段
および同期処理手段として、コンピュータを動作させる
ためのプログラムが記録されていることを特徴としてい
る。それゆえ、当該プログラムを実行することで、請求
項3と同様に、同期処理時に伝送されるデータ量を削減
でき、各データの対応を容易に識別できる。
【0068】さらに、請求項19の発明に係る記録媒体
は、請求項9記載の部分集合設定手段、部分集合対応手
段、移動時刻記憶手段および第1同期処理手段としてコ
ンピュータを動作させるコンピュータを動作させるため
のプログラムが記録されている。また、請求項20の発
明に係る記録媒体は、請求項10記載の部分集合設定手
段、部分集合対応手段、移動回数記憶手段および第2同
期処理手段としてコンピュータを動作させるコンピュー
タを動作させるためのプログラムが記録されている。そ
れゆえ、請求項19または20記載のプログラムを実行
することで、請求項9または10と同様に、同期処理時
に伝送されるデータ量を削減できると共に、より使用者
の要望に合った同期処理が可能になる。
【0069】また、請求項21の発明に係る記録媒体
は、請求項11記載の共有範囲対応手段、状態情報記憶
手段および同期処理手段として、コンピュータを動作さ
せるプログラムが記録されている。それゆえ、請求項1
1と同様に、同期処理時に伝送されるデータ量、およ
び、処理されるデータ量を削減できる。
【0070】
【発明の実施の形態】〔第1の実施形態〕本発明の一実
施形態について図1ないし図50に基づいて説明すると
以下の通りである。すなわち、本実施形態に係るデータ
ベースシステムは、例えば、個人情報などを複数のデー
タベース管理装置で管理する場合など、互いに通信可能
な期間が制限され、かつ、それぞれが独立してデータを
更新可能な複数のデータベース間で、対応するデータの
内容を同一に保つことが要求される場合に好適に使用さ
れるシステムである。システム構成は種々のものが考え
られるが、本実施形態では、携帯情報端末から構成され
る場合のように、互いに対等なデータベース管理装置か
らなるデータベースシステムを例にして説明する。
【0071】具体的には、例えば、図2に示すように、
本実施形態に係るデータベースシステム1は、データベ
ースを格納する情報処理機器(データベース管理装置)
2…を備えており、各情報処理機器2には、相手の情報
処理機器2と通信するための通信装置3と、使用者との
間の入出力を処理する表示装置4および入力装置5とが
接続されている。
【0072】上記通信装置3は、例えば、LANインタ
ーフェースやRS232Cインターフェースなどのイン
ターフェース、モデム、赤外線送受光器、あるいは、無
線送受信器などであって、情報処理機器2の指示に応
じ、ケーブル、公衆電話回線網、赤外線あるいは無線な
ど、種々の通信媒体のうちの少なくとも1つを介して、
相手の通信装置3と互いに通信できる。また、表示装置
4は、CRTディスプレイや液晶ディスプレイなどであ
って、情報処理機器2のデータベースの内容、あるい
は、データベースに対する操作結果など種々の情報を、
情報処理機器2の指示に応じて表示できる。さらに、入
力装置5は、キーボードやマウス、ペン、あるいは、上
記表示装置4上に配されたタッチパネルなどであって、
使用者の指示を情報処理機器2へ入力できる。
【0073】一方、本実施形態に係る情報処理機器2に
は、図1に示すように、上記通信装置3に接続され、当
該通信装置3を介して、他の情報処理機器2と通信する
通信部21と、上記表示装置4および入力装置5に接続
され、使用者とのインタフェースとなるユーザ操作部2
2と、データベースDBを格納するデータベース管理部
23と、ユーザ操作部22の指示に応じて、データベー
ス管理部23を制御するデータベース処理部24と、通
信部21およびデータベース管理部23を制御して、他
のデータベースDBとの同期に関連した処理を行う同期
部25とが設けられている。なお、上記データベース管
理部23が、特許請求の範囲に記載の第1データベース
および状態情報記憶手段に対応する。
【0074】上記各部材は、ハードウェアで実現されて
もよいし、図3に示すCPU20aがROM20bある
いはRAM20cに格納された所定のプログラムを実行
することで実現される機能ブロックであってもよい。後
者の場合は、上記プログラムが格納された記録媒体を配
付し、当該記録媒体を読み取り可能なコンピュータで実
行させるだけで、上記各部材を実現できるため、配付が
容易になる。なお、I/F20dは、CPU20aと図
1に示す通信装置3などとを接続するためのインターフ
ェースである。
【0075】ここで、上記記録媒体は、例えば、RAM
やROMなどを含むメモリであってもよいし、コンピュ
ータの外部記憶装置としてプログラム読み取り装置が接
続される場合、当該プログラム読み取り装置で読み取り
可能なプログラムメディアであってもよい。プログラム
メディアとしては、例えば、磁気テープやカセットテー
プなどのテープ、あるいは、フロッピーディスクやハー
ドディスクなどの磁気ディスク、または、CD−ROM
や光磁気ディスク(MO)、ミニディスク(MD)やデ
ジタルビデオディスク(DVD)などのディスクを使用
できる。また、ICカードや光カードのようなカード、
あるいは、マスクROMやEPROM、EEPROMま
たはフラッシュROMなどのような半導体メモリであっ
てもよい。なお、記録媒体は、コンピュータで読み取り
可能であれば、書換え(書き込み)可能であってもよい
し、固定的にプログラムを担持する媒体であってもよ
い。
【0076】さらに、インターネットを含む通信ネット
ワークと接続することで、通信ネットワークからプログ
ラムをダウンロードすることもできる。あるいは、上記
プログラムに復元可能なデータとして、プログラムが記
録またはダウンロードされてもよい。特に、本実施形態
に係る情報処理機器2は、図2に示すように、通信装置
3を介して、他の情報処理機器2と通信するので、上記
通信ネットワークと通信するための部材として通信装置
3を比較的容易に流用できる。なお、これらの場合、ダ
ウンロード用プログラムは、予め情報処理機器2に格納
しておくか、ダウンロードに使用する媒体以外の記録
(通信)媒体からインストールすることが望まれる。
【0077】本実施形態では、図4に示すように、デー
タベースDBがデータ1件を示すティップTとティップ
の母集合となるフクロFとを単位として管理されてお
り、上記データベース管理部23には、データベースを
格納するティップ管理部31およびフクロ管理部(部分
集合設定手段)32が設けられている。また、上記デー
タベース処理部24は、ティップTの更新/追加/削除
をそれぞれ行うティップ更新処理部41・ティップ追加
処理部42・ティップ削除処理部43などを備えてい
る。なお、データベース処理部24は、例えば、ティッ
プTの検索や表示、あるいは、フクロFとの包含関係の
変更など、データベースDBの他の操作に関連する部材
も備えている。これにより、所定の内容のティップTな
ど、所望の条件を満足するティップTを検索して、フク
ロFを生成したり、表示されたティップTのうち、所望
のティップTを選択して、所望のフクロFに挿入したり
できる。
【0078】また、同期部25には、ティップTの同期
処理を行うシンクロナイズ処理部(同期処理手段)51
と、同期処理に先立って、後述する共有設定を行う共有
設定処理部(共有範囲対応手段および部分集合対応手
段)52と、例えば、同期処理が不要になった場合など
に上記共有設定を解除する共有解除処理部53とが設け
られている。なお、データベース処理部24および同期
部25の構成は、データベース管理部23に格納される
データと密接に関連しており、当該データに基づく動作
に大きな特徴がある。それゆえ、以下では、データベー
ス管理部23の構成についてのみ説明し、データベース
処理部24および同期部25の構成は、動作と共に詳説
する。
【0079】具体的には、上記ティップ管理部31は、
1件分のデータをティップと呼ばれるデータ構造で管理
している。各ティップTは、データベースDB内の他の
ティップTと自らとを一意に識別するためのティップI
Dと、1件分のデータが格納される属性リストLAとを
備えている。当該属性リストLAには、図5に示すよう
に、属性Aの種別を示す属性名NAと、当該ティップT
に格納されるデータの内で当該属性Aの値を示す属性値
VAとの組み合わせが、リスト状に格納されている。
【0080】例えば、データベースDBに住所録を格納
する場合を例にして説明すると、個々のティップTは、
1件の住所データに相当する。各住所データが名前を示
すデータと、住所を示すデータと、電話番号を示すデー
タとの3種のデータから構成される場合、各ティップT
は、名前、住所および電話番号の3つの属性A1 〜A3
の集合として定義され、各ティップTの属性リストLA
は、図5に示すように、属性名NAと属性値VAとの組
み合わせが、順番に並べられたリストとして表現され
る。例えば、第1のティップの属性リストLAには、名
前の属性A1 として、「名前」という属性名NA1
「○山×夫」という属性値VA1 との組み合わせが格納
されている。同様に、「住所」および「東京都東京市
…」の組み合わせと、「電話番号」および「0123- …」
の組み合わせとが格納される。
【0081】また、上記フクロ管理部32は、データベ
ースDBに含まれるフクロFと、上記各ティップTおよ
びフクロFの包含関係とを記憶している。図6に示すよ
うに、1つの情報処理機器2に複数のデータベースDB
1 、DB2 、DB3 が格納されている場合を例にして説
明すると、情報処理機器2∋データベースDB∋フクロ
F∋ティップTの関係が成立する。上記フクロ管理部3
2は、この関係を図7に示すようなツリー構造S1とし
て格納している。
【0082】当該ツリー構造S1では、ティップT2
ように、単一のフクロ(F1 )に含まれていてもよい
し、ティップT1 のように、複数のフクロ(F1
2 )に含まれていてもよい。これにより、図6に示す
ように、複数のフクロF1 、F2 に含まれるティップT
1 を表現できる。本実施形態では、後述するように、各
フクロFは、複数のフクロFと対応付けることができ
る。したがって、図8に示すように、上記ツリー構造S
1には、共有されるフクロF(共有フクロSF)毎に、
共有相手や、その関連情報が付加されている。
【0083】なお、上記ツリー構造S1を格納できれ
ば、ツリー構造S1全体を格納してもよいし、当該ツリ
ー構造S1を複数のリストに分割して、情報処理機器2
に含まれるデータベースDBのリストと、各データベー
スDB毎のフクロFのリストと、各フクロF毎のティッ
プTのリストとして格納してもよい。本実施形態では、
ティップTと同様に、各情報処理機器2、各データベー
スDBおよび各フクロFに対して、それぞれを一意に識
別するためのIDが割り当てられているので、上記各リ
ストは、当該IDのリストとして格納される。
【0084】なお、上記ツリー構造Sを情報処理機器
2、データベースDB…の順にたどれば、あるフクロF
に含まれるティップTは、即座に判明するが、これとは
逆にティップTを含むフクロFは、最悪のケースで、ツ
リー構造S1を全て検索する必要がある。それゆえ、本
実施形態に係るティップ管理部31は、図9に示すよう
に、検索時間の短縮が要求するために、上記ツリー構造
S1とは別に、ティップT毎に当該ティップTを含むフ
クロFと、後述するダーティ・ビット、あるいは、対応
付け情報などからなるツリー構造S2が格納されてい
る。当該ダーティ・ビットは、自らの共有フクロSFと
相手の共有フクロSFとの組み合わせ毎に設けられてい
るので、ツリー構造S2には、両者の組み合わせ毎に、
ダーティ・ビットや対応付け情報が格納されている。
【0085】本実施形態に係るデータベースシステム1
では、図10に示すように、同期処理の対象となる範囲
(共有範囲)がフクロF単位で決定されており、あるテ
ィップTが他のデータベースDB間で共有されるか否か
は、予め共有すると設定されたフクロ(共有フクロS
F)に所属しているか否かで判定される。
【0086】ここで、通常、通信装置3などを介した他
の情報処理機器2へのアクセスは、自らの情報処理機器
2内のアクセスに比べると極めて低速であり、同期処理
の所要時間は増大しがちである。それゆえ、所要時間の
短縮が切望されており、他の情報処理機器2との間で伝
送されるデータ量の削減が望まれる。なお、自らの情報
処理機器2内へのアクセスは比較的高速なので、前回の
同期処理と次回の同期処理との間の期間中(非同期期間
中)の処理が増大したとしても、処理時間は、余り長く
ならない。
【0087】本実施形態に係るフクロ管理部32は、上
記データ量を削減するため、非同期期間中における各テ
ィップTの状態を示すダーティ・ビットDからなるダー
ティ・ビット・リストLDを格納している。ダーティ・
ビット・リストLDは、各ダーティ・ビットDの順序
が、自らと相手とで互いに対応するティップTのダーテ
ィ・ビットDが同じ順位になるように管理されており、
後述するように、ティップTの対応関係をも示してい
る。さらに、フクロ管理部32には、前回の同期処理で
既に対応付けられたティップTの数を示すシンク・リミ
ットLimが格納されており、ダーティ・ビットDに対
応するティップTが、相手の共有フクロSF内のティッ
プTと既に対応付けられているか否かを判別できる。
【0088】例えば、図11に示すように、前回の同期
処理において、両共有フクロSFa・SFb 間で、3つ
のティップ(T1a〜T3aおよびT1b〜T3b)が対応付け
られた場合、両情報処理機器2a ・2b には、シンク・
リミットLimとして、”3”が記憶される。さらに、
図12に示すように、情報処理機器2a のダーティ・ビ
ット・リストLDabでは、各ティップT1a〜T6aに対応
するダーティ・ビットD1ab 〜D6ab が、この順番で格
納されている。同様に、情報処理機器2b のダーティ・
ビット・リストLDabでは、各ティップT1b〜T3b、T
7bおよびT8bに対応するダーティ・ビットD1ba 〜D
3ba 、D7ba およびD8ba が、この順番で格納されてい
る。この場合、シンク・リミットLimが”3”なの
で、ダーティ・ビットDが3番目よりも後に格納された
ティップT4a〜T6a、および、T7b〜T8bは、相手の共
有フクロSF内のティップTと対応付けられていない。
なお、図12は、ダーティ・ビット・リストLDの格納
方法の一例として、ダーティ・ビットDとダーティ・ビ
ットDに対応するティップIDとの組み合わせを順次格
納する場合を示している。
【0089】以下では、説明の便宜上、ダーティ・ビッ
ト・リストLDにおけるダーティ・ビットDの順位をシ
ンク・タグと称し、図中では、〔〕内の数字として表記
する。また、ティップTに対応するダーティ・ビットD
は、例えば、ティップT1aに対するダーティ・ビットD
1ab のように、同じ添字に、共有相手を示す英小文字を
加えて表記する。さらに、一方の情報処理機器2a に格
納される情報は、例えば、ティップT1aのように添字a
を付して、他方の情報処理機器2b に格納された情報
(添字b を付す)と区別する。なお、特に対応関係を明
記する必要がない場合、あるいは、総称する場合は、添
字を省略する。
【0090】上記ダーティ・ビットDは、非同期期間中
に一度でも共有フクロSF内に存在したティップTそれ
ぞれに対応して作成されており、対応するティップTが
非同期期間中に更新されたか否かを示す更新パラメタ
と、当該ティップTが非同期期間中に共有フクロSF内
外を移動したか否かを示す移動パラメタとを有してい
る。更新パラメタは、更新を示す「m」、あるいは、維
持を示す「p」の値を取り、移動パラメタの値は、静止
を示す「X」、挿入を示す「I」、あるいは、排出を示
す「O」のいずれかである。より詳細には、「X」は、
前回の同期処理以降、共有フクロSF中に存在し続けて
いることを示し、「I」は、前回の同期処理以降、共有
フクロSFに入れられたこと、あるいは、戻されたこと
を示している。同様に、「O」は、前回の同期処理以
降、共有フクロSFから取り出されたこと、あるいは、
一度挿入された後、再び取り出されたことを示してい
る。上記移動パラメタは、例えば、図13に示すよう
に、共有フクロSFへ追加されたことを示す追加ビット
BIと、共有フクロSFから削除されたことを示す削除
ビットBOとの組み合わせとして格納される。また、例
えば、同期処理の結果、共有フクロSF外に存在すると
判定した場合など、それ以降は、ティップTの状態監視
が不要な場合には、両ビットBIおよびBOが共にオン
に設定される。以下では、更新パラメタの値に拘わら
ず、この状態を無効「K」と称する。したがって、ダー
ティ・ビットDから識別可能なティップTの状態は、静
止維持「Xp」、静止更新「Xm」、挿入維持「I
p」、挿入更新「Im」、排出維持「Op」、排出更新
「Om」および無効「K」の7つとなる。
【0091】ところで、同じ共有フクロSFであって
も、相手の共有フクロSFが異なれば、それぞれとの非
同期期間は、通常、互いに異なっている。したがって、
本実施形態では、ダーティ・ビット・リストLDおよび
シンク・リミットLimは、自らの共有フクロSFと相
手の共有フクロSFとの組み合わせ(ペア)毎に設けら
れている。
【0092】例えば、図14に示すように、共有フクロ
SFa が、3つの異なる共有フクロSFb ・SFc ・S
d と対応している場合、図15に示すように、各ペア
に対応するダーティ・ビット・リストLDab・LDac
LDad、および、シンク・リミットLimab・Limac
・Limadが設けられる。図14および図15に示すよ
うに、各ダーティ・ビット・リストLDは、相手のダー
ティ・ビット・リストLDと順序が揃えられていればよ
く、相手が異なるダーティ・ビット・リスト(LDab
LDacなど)間では、ダーティ・ビットDの順序や値、
あるいは、シンク・リミットLimが異なっていてもよ
い。例えば、ダーティ・ビット・リストLDabでは、テ
ィップT2aを示すダーティ・ビットD2ab (値は、I
m)が、2番目に格納されているが、ダーティ・ビット
・リストLDacでは、ダーティ・ビットD2ac (値は、
Xp)が1番目に格納されている。一方、共有フクロS
bのダーティ・ビット・リストLDbaでは、ティップ
T2b を示すダーティ・ビットD2ba が2番目に格納さ
れており、ダーティ・ビット・リストLDcaでは、ダー
ティ・ビットD2ca が1番目に格納されている。
【0093】本実施形態に係るフクロ管理部32には、
上記各リストに加えて、各共有フクロSF毎に、当該共
有フクロSFの共有相手を示す共有相手リストLSが設
けられている。このリストLSを参照すれば、ある共有
フクロSFの共有相手全てを容易に検索できるので、例
えば、当該共有フクロSF内のティップTに対して、追
加、削除あるいは内容更新などの変更が加えられた場
合、当該ティップTに対応するダーティ・ビットD全て
をより短時間で更新できる。
【0094】上記構成のデータベースシステム1におい
て、図16に大略的に示すように、実際の同期処理に先
立って共有設定が行われ、各情報処理機器2(例えば、
aおよび2b )の共有設定処理部52は、例えば、自
らおよび相手の共有フクロSFの設定、並びに、ダーテ
ィ・ビット・リストLDやシンク・リミットLimの生
成など、同期処理に必要な処理を行う(S1)。なお、
この段階では、両共有フクロSFa ・SFb が共有範囲
であることが、両情報処理機器2a ・2b に登録された
だけであり、同期処理が行われるまでは両共有フクロの
内容は一致しない。
【0095】ここで、共有解除は、基本的には、共有フ
クロSF間の対応を解除するだけであり、共有フクロS
Fの内容が互いに一致しているとは限らない。それゆ
え、共有フクロSFの内容を一致させる場合は、共有解
除の直前に、自動的に、あるいは、使用者の指示によっ
て同期処理すればよい。
【0096】なお、上記では、共有設定と同期処理とを
別に説明しているが、共有設定と同時に同期処理を行う
こともできる。この場合は、例えば、共有設定の終了時
点で、両共有フクロSFの内容が一致する。ただし、本
実施形態では、共有設定と同期処理とを分離して、共有
設定の所要時間を短縮している。これにより、共有設定
の時点では、双方の情報処理機器2がそれぞれの使用者
へ共有設定の可否を確認し、同期処理の時点では、一方
の情報処理機器2の使用者のみが操作する場合、双方の
使用者による操作時間の合計を短縮できる。この結果、
安全性の向上と、操作時間の短縮との双方を実現でき
る。
【0097】その後、両情報処理機器2a ・2b が通信
可能であるか否かに拘わらず、非同期期間中は、自らの
データベースDBへの操作に基づいて、ダーティ・ビッ
ト・リストLDが更新される(S2)。また、両情報処
理機器2a ・2b が通信可能な期間には、同期処理が行
われ、双方の共有フクロSF内のティップ数およびティ
ップTの内容は、上記ダーティ・ビット・リストLDお
よびシンク・リミットLimを参照して揃えられると共
に、ダーティ・ビット・リストLDおよびシンク・リミ
ットLimも更新される(S3)。各情報処理機器2a
・2b 間の通信路が間欠的に接続される場合、当該S3
のように、意図的な同期処理によって、整合性の保たれ
る共有フクロは、非常に有用である。
【0098】なお、ティップTは複数のフクロFに入れ
ることができるため、いずれかの共有設定に関連する同
期処理が実行されると、同期処理に関係のないフクロF
に所属するティップTが変更されることがある。ただ
し、いずれの共有設定に関連する同期処理を行った場合
であっても、共有フクロSF以外のフクロFへ、ティッ
プTが挿入されたり、除去されることはない。
【0099】上記S2およびS3の処理は、必要に応じ
て繰り返され、それ以降の同期処理が不要になると、S
4において、共有設定が解除される。なお、図16で
は、ステップS1の後、最初にステップS2が行われる
ように記載しているが、両ステップS2・S3が交互に
繰り返されれば、両ステップS2・S3の順番を入れ換
えてもよい。
【0100】ここで、図16では、データベースシステ
ム1で行われる処理のうち、2つの情報処理機器2間で
行われる処理のみを記載したが、上記図14に示すよう
に、本実施形態では、ある情報処理機器2a のフクロS
a は、複数の情報処理機器2b ・2c ・2d のフクロ
SFb ・SFc ・SFd と共有設定でき、図15に示す
ように、共有フクロSFのペア毎に、ダーティ・ビット
・リストLDab・LDac・LDadが作成される。したが
って、上記S1〜S4の処理は、共有設定される共有フ
クロSFのペア毎に、互いに独立して行われる。
【0101】ここで、ある共有フクロSFのペア間の同
期処理の結果、ティップTの内容が更新されると、当該
ティップTに関連する全てのダーティ・ビットDが更新
される。これにより、ある共有フクロSFのペア間の同
期処理でのティップTの変更は、他の共有フクロSFペ
アの非同期期間におけるティップTの変更として、ダー
ティ・ビットDに反映される。この結果、情報処理機器
a 〜2d の任意の2つの間での同期処理を繰り返すこ
とによって、各情報処理機器2は、ある時点では、ただ
一つの情報処理機器2と同期処理しているにも拘わら
ず、各情報処理機器2a 〜2d で互いに対応する共有フ
クロSFa 〜SFd の内容を、互いに同一に保つことが
できる。
【0102】また、上記共有フクロSFa 〜SFd は、
任意の2つの間での同期処理を繰り返しているため、各
共有フクロSFは、少なくとも、他の共有フクロSFの
1つと共有設定されていれば、互いの内容を同一に設定
できる。例えば、図14の例では、共有フクロSFb
SFd は、それぞれ、共有フクロSFa とのみ共有設定
されているにも拘わらず、共有フクロSFa 〜SF
d は、互いの内容が同一に設定される。この結果、クラ
イアント/サーバ方式のように、特定の情報処理機器2
と対応付けることなく、データベースシステム1全体で
データの整合性を取ることができる。
【0103】以下では、3以上の共有フクロSF間の同
期処理の一例として、図17〜図29を参照して、共有
フクロSFa が3つの共有フクロSFb 〜SFd のそれ
ぞれと共有設定される場合の動作について詳細に説明す
る。図17に示すように、各共有フクロSFa 〜SFd
の同期処理が終了した安定状態では、各共有フクロSF
a 〜SFd に含まれるティップTの数が同じであり、対
応するティップTの内容が一致している。なお、以下で
は、説明の便宜上、対応するティップTには、例えば、
1aとT1dとのように、同じ数字を添えて示し、同じ共
有フクロSFに含まれるティップTには、例えば、T1a
と後述のT2aとのように、同じ英小文字を添えて示す。
また、例えば、対応関係および共有フクロSFの一方ま
たは双方の特定が不要な場合は、T1 、Ta 、あるいは
Tのように、添字の一部または全部を省略して説明す
る。
【0104】この状態で、図18に示すように、共有フ
クロSFa にティップT2aが追加されると、情報処理機
器2a において、ティップT2aのダーティ・ビットD
2ab 〜D2ad は、それぞれ、挿入・更新を示す値「I
m」に設定される。次に、共有フクロSFa ・SFb
ペア間、共有フクロSFa ・SFc のペア間、および、
共有フクロSFa ・SFd のペア間で、同期処理が順次
行われ、図19に示すように、各共有フクロSFb 〜S
d へ、ティップT2aと同一内容のティップT2b〜T2d
が追加され、それぞれのダーティ・ビットD2ab ・D
2ba 、D2ca ・D2ac・D2da ・D2ad は、静止・維持
を示す値「Xp」に設定される。
【0105】一方、図17に示す状態において、図20
に示すように、共有フクロSFa のみと共有設定されて
いる共有フクロSFb に、ティップT2bが追加される
と、図20に示すように、情報処理機器2b において、
ティップT2bのダーティ・ビットD2ba は、挿入・更新
を示す値「Im」に設定される。さらに、共有フクロS
b ・SFa のペア間で同期処理が行われると、図21
に示すように、情報処理機器2a の共有フクロSF
a へ、ティップT2bと同一内容のティップT2aが追加さ
れ、両情報処理機器2a ・2b のダーティ・ビット・リ
ストLDab・LDbaにおいて、ダーティ・ビットD2ab
・D2ba は、静止・維持を示す値「Xp」に設定され
る。
【0106】ここで、共有フクロSFa は、共有フクロ
SFb 以外にも、共有フクロSFおよびSFと共
有設定されている。したがって、情報処理機器2a のシ
ンクロナイズ処理部51は、ダーティ・ビット・リスト
LDac・LDad において、ティップT2aに対応するダ
ーティ・ビットD2ac ・D2ad を作成し、挿入・更新を
示す値「Im」に設定する。この結果、共有フクロSF
a は、共有フクロSFc・SFd との間で同期処理され
ると、共有フクロSFb と共有フクロSFc ・SFd
の間では、直接共有設定されていないにも拘わらず、図
19と同様、各共有フクロSFa 〜SFd の内容が一致
する。
【0107】上記では、ティップTが挿入される場合を
例にして説明したが、ティップTが削除された場合や、
内容が更新された場合、あるいは、共有フクロSF内外
を移動した場合も同様に、2つずつの同期処理を繰り返
すことで、全ての共有フクロSFの内容が同一になる。
【0108】例えば、図22に示すように、ティップT
2aが削除された場合は、共有フクロSFa と、各共有フ
クロSFb 〜SFd との同期処理によって、図23に示
すように、全てのティップT2a〜T2dが削除され、図2
4に示すように、ティップT2bが削除された場合は、図
25に示すように、ティップT2aが削除された後、全て
のティップT2a〜T2dが削除される。同様に、図26に
示すように、ティップT2aの内容が更新された場合は、
図27に示すように、全てのティップT2a〜T2dも同様
に更新される。また、図28に示すように、ティップT
2bの内容が更新された場合は、図29に示すように、テ
ィップT2aが更新された後、全てのティップT2a〜T2d
が更新される。
【0109】ここで、図16のS1〜S4の処理をさら
に詳細に説明すると、以下の通りである。なお、共有設
定のモデルとしては、予め存在するフクロFa ・Fb
での共有設定を行うフクロ融合型モデルや、一方の情報
処理機器2に存在するフクロFを指定し、他方の情報処
理機器2には、当該フクロFに対応する新たなフクロF
を作成するフクロ取込み型モデル、あるいは、双方の情
報処理機器2に共有用の新たなフクロFa ・Fb を作成
するフクロ新規作成型モデルなどが挙げられるが、以下
では、フクロ融合型モデルの共有設定を例にして説明す
る。
【0110】すなわち、図30に示すように、両情報処
理機器2a ・2b が通信可能になると、S11におい
て、一方の情報処理機器2a に設けられた共有設定処理
部52は、他方の情報処理機器2b へ共有設定要求を送
出する。当該要求には、情報処理機器2a を示す機器番
号と、情報処理機器2a のフクロFa を示すフクロID
と、共有を希望する情報処理機器2b のフクロFb を示
すフクロIDとが含まれている。なお、以下では、共有
設定要求を送出する側を共有設定起動側と称し、共有設
定要求を受け取る側を共有設定受動側と称する。
【0111】さらに、共有設定起動側の共有設定処理部
52は、S12において、上記共有設定要求と同様の情
報を共有情報として登録する。さらに、共有設定処理部
52は、自らのフクロFa に対応する共有相手リストL
Sを作成し、相手のフクロIDを登録する。これによ
り、当該フクロFa は、共有フクロSFa となる。ま
た、当該共有フクロSFa と相手のフクロFb との組み
合わせに対応するダーティ・ビット・リストLDと、シ
ンク・リミットLimとが作成される。
【0112】一方、共有設定受動側の情報処理機器2b
では、S13において、共有設定処理部52が共有設定
要求を受け取ると、S14において、当該共有設定要求
に基づいて、共有情報を登録する。共有情報には、自ら
の情報処理機器2b を示す機器番号と、情報処理機器2
a において共有対象となるフクロIDと、情報処理機器
b において共有対象となるフクロIDと、共有設定の
際に決定されるオプションとが含まれる。さらに、共有
設定処理部52は、共有設定起動側と同様に、自らのフ
クロFb に対応する共有相手リストLSへ、相手のフク
ロIDを登録して、共有フクロSFb を生成すると共
に、自らの共有フクロSFb と相手の共有フクロSFa
との組み合わせに対応するダーティ・ビット・リストL
Dおよびシンク・リミットLimを作成する。
【0113】続いて、図16に示すS2の処理、すなわ
ち、非同期期間中の処理について詳細に説明する。非同
期期間中には、ティップTへの操作と、操作時点でのダ
ーティ・ビット・リストLDおよびシンク・リミットL
imとに基づいて、ティップTに対応するダーティ・ビ
ットDが、図31に示すように更新される。
【0114】具体的には、ティップTの内容更新が指示
された場合、図32に示すS21において、ティップ更
新処理部41(図1参照)は、ユーザ操作部22から当
該指示を受け取り、指示に応じて、ティップTの内容を
更新する。さらに、S22において、当該ティップTに
対応するダーティ・ビットDについて、更新パラメタを
「m」に設定する。なお、移動パラメタは、それまでの
値のまま保たれる。
【0115】上記ティップTは、複数の共有フクロSF
に所属可能であり、また、各共有フクロSFは、複数の
相手と共有されていることがある。この結果、情報処理
機器2全体でみると、当該ティップTに対応するダーテ
ィ・ビットDは、複数存在する場合がある。したがっ
て、当該ティップTに対応する全てのダーティ・ビット
Dが検索され、それぞれが更新される。対応するダーテ
ィ・ビットDの検索は、例えば、全てのダーティ・ビッ
ト・リストLDを参照してもよいし、検索時間を短縮す
るために、各ティップTに対応するダーティ・ビットD
のリストを予め作成しておき、当該リストを参照して検
索してもよい。
【0116】いずれの場合でも、本実施形態では、非同
期期間に一度でも共有フクロSFに所属したティップT
について、ダーティ・ビットDが作成され、当該ティッ
プTへの操作を監視して、ダーティ・ビットDを更新し
ている。したがって、例えば、ティップTの移動などに
よって、当該ティップTが現時点では共有フクロSFに
存在しない場合であっても、ダーティ・ビットDは、確
実に更新される。
【0117】一方、ティップTの新規作成やティップT
の移動などによって、ティップTが共有フクロSFへ挿
入される場合、図33に示すように、ティップ追加処理
部42(図1参照)は、ユーザ操作部22からの指示に
応じて、フクロ管理部32を制御して、当該ティップT
を共有フクロSFに所属させる(S31)。さらに、テ
ィップ追加処理部42は、S32において、当該共有フ
クロSFを示すダーティ・ビット・リストLDが、ティ
ップTに対応するダーティ・ビットDを含んでいるか否
かを判定する。
【0118】ここで、ダーティ・ビットDを含んでいる
場合は、例えば、共有フクロSF内のティップTを出し
入れした場合など、当該ティップTの内容更新が既に監
視されていることを示している。したがって、ティップ
追加処理部42は、S33において、当該ダーティ・ビ
ットDの移動パラメタを「I」に設定する。一方、含ん
でいない場合は、例えば、一度も共有フクロSFに含ま
れていない場合やティップTを新規作成した場合などで
あり、非同期期間中に、当該ティップTの内容が更新さ
れたか否かを識別できないことを示している。したがっ
て、ティップ追加処理部42は、S34において、例え
ば、ダーティ・ビット・リストLDの末尾など、シンク
・リミットLimよりも後の順位に、値が「Im」で上
記ティップTを示すダーティ・ビットDを追加する。な
お、共有フクロSFに対応するダーティ・ビット・リス
トLDが複数存在する場合は、全てのダーティ・ビット
・リストLDについて、S32ないしS34の処理が行
われる。
【0119】さらに、例えば、ティップTの削除や移動
などによって、ティップTが共有フクロSFから排出さ
れる場合、図34に示すように、ティップ削除処理部4
3(図1参照)は、ユーザ操作部22からの指示に応じ
て、フクロ管理部32を制御して、当該ティップTを共
有フクロSFから取り除く(S41)。ここで、本実施
形態では、非同期期間に共有フクロSFに一度でも含ま
れたティップTについてダーティ・ビットDを保持して
いる。したがって、ティップ削除処理部43は、S42
において、当該共有フクロSFを示す全てのダーティ・
ビット・リストLDにおいて、当該ティップTに対応す
るダーティ・ビットDの移動パラメタを「O」に変更す
る。なお、更新パラメタは、そのまま保たれる。
【0120】例えば、同期処理の終了時点では、図35
に示すように、両共有フクロSFa・SFb 内の全ての
ティップTは、互いに1対1に対応付けられており、対
応するティップTの内容は、同一に設定されている。し
たがって、図36に示すように、シンク・リミットLi
mは、ダーティ・ビット・リストLDの長さ(ダーティ
・ビットDの数)と同一であり、両ダーティ・ビット・
リストLDにおいて、対応するダーティ・ビットDab
baは、それぞれ同じ順位になるように格納される。ま
た、各ダーティ・ビットDの値は、全て「Xp」に設定
されている。
【0121】さらに、非同期期間中、両情報処理機器2
で、それぞれのデータベースDBが独立に操作される
と、各情報処理機器2の上記各処理部41〜43は、そ
れぞれのダーティ・ビット・リストLDを更新する。こ
の結果、非同期期間中、ダーティ・ビットDの値は、対
応するティップTの状態を常に示している。これによ
り、それぞれのデータベースDBが独立に更新された場
合、次の同期処理の直前の時点では、両ダーティ・ビッ
ト・リストLDは、例えば、図37に示すように、一致
しなくなる。
【0122】ただし、両ダーティ・ビット・リストLD
において、シンク・リミットLimが示す順位、およ
び、それ以前のダーティ・ビットDは、対応するティッ
プTが削除されたとしても削除されず、非同期期間中
は、同じ順序を保っている。この結果、ダーティ・ビッ
トD3ab ・D3ba など、両共有フクロSFa ・SF
b で、互いに対応するティップTを示すダーティ・ビッ
トDの順位は、互いに同一に保たれている。
【0123】シンク・リミットLimより後のダーティ
・ビットDは、非同期期間中に、新たに共有フクロSF
へ追加されたティップTを示しており、例えば、ダーテ
ィ・ビットD22ab・D27baなど、同じ順位に格納されて
いるダーティ・ビットDであっても、それぞれのティッ
プTは、対応していない。これらのシンク・リミットL
imより後のダーティ・ビットDは、「Im」か「O
m」を示しており、「Om」は、共有フクロSFに新た
に挿入されたティップTが、現在は、共有フクロSFに
所属していないことを示している。また、追加されたテ
ィップTの数が異なる場合、両ダーティ・ビット・リス
トLDの長さも互いに異なっている。
【0124】この状態で、使用者の指示や、通信可能を
検出するセンサなどによって同期処理が指示されると、
図16のS3に示す同期処理が行われる。より詳細に説
明すると、図38に示すように、S51において、各情
報処理機器2のシンクロナイズ処理部51は、それぞれ
のダーティ・ビット・リストLDにおいて、シンク・リ
ミットLimより後のダーティ・ビットDのうち、移動
パラメタが「O」のダーティ・ビットDを削除する。こ
れにより、図39に示すように、両ダーティ・ビット・
リストLDにおいて、シンク・リミットLimより後の
ダーティ・ビットDは、値が「Im」のみとなる。
【0125】上記移動パラメタが「O」のダーティ・ビ
ットDは、対応するティップTが前回の同期処理および
今回の同期処理の時点で、自らの共有フクロSFに含ま
れていない。したがって、当該ティップTの内容は、相
手の共有フクロSFの状態に拘わらず、相手に送出する
必要がない。この結果、これらのティップTを削除する
ことによって、以降の処理において、両情報処理機器2
a ・2b 間を伝送されるダーティ・ビットDの数を削減
できる。
【0126】上記S51にて、ダーティ・ビット・リス
トLDの圧縮が終了すると、両シンクロナイズ処理部5
1は、S52において、シンク・リミットLimより後
のダーティ・ビットDを送受して、相手から送られたダ
ーティ・ビットDに対応するダーティ・ビットDを生成
する。具体的には、一方の情報処理機器2b は、自らの
ダーティ・ビット・リストLDba内で、シンク・リミッ
トLimbaより後のダーティ・ビットDの数Ybaを送出
し、他方の情報処理機器2a は、自らのダーティ・ビッ
ト・リストLDabにおいて、シンク・リミットLimab
の直後に、値が「Op」のダーティ・ビットDを、受け
取った数Ybaだけ挿入する。さらに、両情報処理機器2
a ・2b は、それぞれのシンク・リミットLimを上記
baだけ増加させる。これにより、図40に示すよう
に、情報処理機器2b で追加されたティップTに対応す
るダーティ・ビットDが、情報処理機器2a にも作成さ
れる。同様にして、情報処理機器2a で追加されたティ
ップTに対応するダーティ・ビットDが、情報処理機器
b にも追加され、シンク・リミットLimが調整され
る。
【0127】ここで、図40に示すように、情報処理機
器2a のダーティ・ビット・リストLDabへ、情報処理
機器2b のティップTに対するダーティ・ビットDを追
加した状態では、シンク・リミットLimが既に変更さ
れており、情報処理機器2bのダーティ・ビット・リス
トLDbaの末尾を示している(この場合、シンク・リミ
ットLim=23)。したがって、情報処理機器2a
ティップTに対応するダーティ・ビットDを追加する
際、ダーティ・ビット・リストLDbaのシンク・リミッ
トLimの直後に、これらのダーティ・ビットDを追加
すると、情報処理機器2a にて追加されたティップT
(T22a 、T24a 、T26a など)に対応するダーティ・
ビットDは、両ダーティ・ビット・リストLDab・LD
baのいずれにおいても、情報処理機器2b にて追加され
たティップT(T27b 、T29b など)に対応するダーテ
ィ・ビットDよりも、順序が後になる。この結果、両ダ
ーティ・ビット・リストLDab・LDbaにおいて、対応
するダーティ・ビットDの順位は一致する。
【0128】これにより、図41に示すように、両ダー
ティ・ビット・リストLDab・LDbaの長さは、互いに
等しくなり、互いに同じ順位のダーティ・ビットD・D
は、対応するティップTを示すようになる。また、両シ
ンク・リミットLimは、ダーティ・ビット・リストL
Dの長さと同一になり、シンク・リミットLimより後
のダーティ・ビットDは、存在していない。なお、この
段階では、ダーティ・ビット・リストLDおよびシンク
・リミットLimを更新すればよく、ティップTの内容
を伝送する必要はない。
【0129】なお、上記では、数Ya (Yb )を送受す
る場合を例にして説明したが、対応するティップTのダ
ーティ・ビットDを同一の順位にできれば、送受する情
報は、数Yab(Yba)に限らない。また、上記では、値
が「Op」のダーティ・ビットDを追加したが、「I
m」よりも優先度が低い値であれば同様の効果が得られ
る。
【0130】上記S52にて、ダーティ・ビットDの対
応付けが終了すると、S53において、両シンクロナイ
ズ処理部51は、両情報処理機器2a ・2b 間を伝送さ
れるダーティ・ビットDに基づいて、各ダーティ・ビッ
トDに対応するティップTが共有フクロSF内に配され
るか否かを決定する。もし、両ダーティ・ビットDab
baの移動パラメタが異なっていた場合は、例えば、図
42に示す優先ルールで、当該ティップTb が共有フク
ロSFb 内に配されるか否かを判定する。なお、図42
では、矢印の先の方が優先される。
【0131】具体的には、一方の情報処理機器2a から
他方の情報処理機器2b へ、ダーティ・ビット・リスト
LD内のダーティ・ビットDが順次送出される。他方の
情報処理機器2b では、受け取ったダーティ・ビットD
abと、自らのダーティ・ビット・リストLDbaのうち、
受け取った順番と同じ順番のダーティ・ビットDbaとを
比較する。情報処理機器2b のシンクロナイズ処理部5
1は、図43に示すように、移動パラメタの組み合わせ
が、(X−X)、(X−I)、(I−I)、(I−K)
および(I−O)のいずれかの場合、ダーティ・ビット
DのティップTが、共有フクロSF内に配されると判定
し、ダーティ・ビットDに対応する両ティップTを、そ
れぞれの共有フクロSFに所属させる。さらに、自らと
相手の移動パラメタを「X」に設定する。
【0132】これとは逆に、移動パラメタの組み合わせ
が、(X−O)、(O−K)、(O−O)および(K−
K)のいずれかの場合、シンクロナイズ処理部51は、
ティップTが共有フクロSF外に配されると判定し、例
えば、自らおよび相手のティップTをそれぞれの共有フ
クロSFから排出すると共に、それぞれのダーティ・ビ
ットDが無効状態「K」に設定される。なお、両情報処
理機器2a ・2b が正常に動作していれば、上記組み合
わせは(X−K)とならない。したがって、この場合
は、エラーと判断し、例えば、使用者の指示を仰ぐなど
のエラー処理を行う。
【0133】上記相手のティップTの排出、および、ダ
ーティ・ビットDの設定は、自らのダーティ・ビットD
を変更前に相手へ送出し、相手のシンクロナイズ処理部
51に処理させてもよいし、自らの判定結果を相手へ伝
えてもよい。いずれの場合であっても、ダーティ・ビッ
トDあるいは判定結果を送出する順番で、相手のダーテ
ィ・ビットDおよびティップTが特定され、それぞれを
特定するための情報が特に送付されない。したがって、
内外判定時に、伝送されるデータ量は、極めて少ない。
この結果、図44に示すように、両ダーティ・ビット・
リストLD内の全てのダーティ・ビットDは、移動パラ
メタが「X」あるいは「K」に設定される。
【0134】なお、移動パラメタが「X」ではないティ
ップT、すなわち、共有フクロSF外と判断されたティ
ップTやエラーとなったティップTは、以下のS54お
よびS55からなるティップ同期処理の対象外であり、
更新パラメタの優先度判定やティップTの内容送付は行
われない。
【0135】続いて、上記S53のフクロ同期にて、共
有フクロSF内と判定されたティップT(移動パラメタ
が「X」のティップT)について、上記シンクロナイズ
処理部51は、S54において、両ダーティ・ビットD
の更新パラメタを比較して、対応するティップTそれぞ
れの優先度を決定する。ティップTの優先度は、図45
に示すように、更新パラメタによって決められ、更新
「m」の方が維持「p」よりも優先される。これによ
り、ティップTの内容を伝送すべきか否かと、伝送する
場合の方向とが決定される。
【0136】具体的には、シンクロナイズ処理部51
は、図46に示すように、両ダーティ・ビットDab・D
baを比較して、更新パラメタの組み合わせが(p−p)
の場合、ティップTの内容の送付が不要であると判定す
る。また、組み合わせが(p−m)の場合、更新パラメ
タが「m」の側を優先側と判定し、優先側の情報処理機
器2から、非優先側の情報処理機器2へ、ティップTの
内容を送付すべきと判定する。したがって、両ダーティ
・ビット・リストLDが上記図44に示す値の場合は、
図47に示すように、優先側が判定される。なお、上記
S54にて、組み合わせが(m−m)の場合、すなわ
ち、双方でティップTが更新された場合は、ティップT
の衝突として扱われる。この場合は、後述するように、
例えば、ティップTの内容(更新時刻や所定のキーフィ
ールドなど)や、同期処理を指示した側や共有設定を起
動した側、あるいは、予め設定された側など、ダーティ
・ビットD以外の情報を参照したり、あるいは、使用者
に問い合わせるなど、予め定められた優先ルールで、優
先側を決定する。なお、ティップTが衝突した場合は、
それぞれのティップTを別のティップTと見なし、相手
のティップTを自らの共有フクロSFに追加してもよ
い。
【0137】上記S54にて、ティップTの優先度が判
定され、ティップTの内容の送付が必要であると判断さ
れた場合、S55において、上記両シンクロナイズ処理
部51は、優先側のティップTの内容を非優先側へ送出
し、非優先側のティップTの内容を優先側の内容で置き
換える。これにより、両ティップTの内容が一致するの
で、それぞれのダーティ・ビットDの更新パラメタが
「p」に設定される。この結果、図48に示すように、
ダーティ・ビット・リストLD内の全てのダーティ・ビ
ットDは、「Xp」あるいは「K」のいずれかに設定さ
れる。
【0138】さらに、上記S54およびS55におい
て、ティップ同期が終了すると、S56において、両ダ
ーティ・ビット・リストLDの圧縮が行われ、値が
「K」のダーティ・ビットDは、それぞれのダーティ・
ビット・リストLDから削除される。例えば、図48で
は、5、6、10、11、19、20および21番目の
7つのダーティ・ビットDが、それぞれのダーティ・ビ
ット・リストLDから削除される。この結果、図49に
示すように、全てのダーティ・ビットDは、「Xp」と
なり、ダーティ・ビットDの数に合わせて、シンク・リ
ミットLimが更新される。なお、図49の例では、値
が「Xp」のダーティ・ビットDの順序を変更していな
いが、両ダーティ・ビット・リストLDで、対応するダ
ーティ・ビットDの順位が同じであれば、順序を変更し
てもよい。
【0139】上記S51ないしS56の同期処理によっ
て、両共有フクロSF内のティップTの数、および、対
応するティップTの内容は、同一になる。この結果、一
方の情報処理機器2で、データベースDBが独立に操作
された場合であっても、他の情報処理機器2と通信可能
になった時点で同期処理を行えば、それぞれの共有フク
ロSFの内容を一致させることができる。それゆえ、互
いに通信可能な期間が断続する情報処理機器2で、デー
タベースシステム1が構成されている場合であっても、
データの整合性を保つことができる。
【0140】さらに、上記同期処理では、S55にて、
ティップTの内容を送付する前に、S53およびS54
にて、両情報処理機器2a ・2b でダーティ・ビットD
が比較され、内容送付の要否と伝送方向とがティップT
毎に決められる。したがって、この時点で内容の送付が
不要と判明したティップTは、内容の伝送を省略でき
る。ここで、本実施形態では、ダーティ・ビットDを有
するティップTについて、内容の更新を監視している。
したがって、移動も更新も行われていないティップTだ
けではなく、前回の同期処理時点と、今回の同期処理時
点との双方で、共有フクロSF内に存在し、かつ、非同
期期間中、更新されていないティップTについても、内
容の送付を省略できる。
【0141】また、本実施形態では、ティップTの対応
関係がダーティ・ビットDの順位として格納されている
ので、相手のティップTを示すIDを記憶しなくても、
対応関係を記憶できる。加えて、当該IDを送付しなく
ても、対応するティップTを特定できるので、ダーティ
・ビットDの送受の際に、両情報処理機器2a ・2b
を伝送されるデータ量と、ダーティ・ビットDの記憶に
必要なメモリ量とを削減できる。
【0142】なお、本実施形態では、非同期期間中に一
度でも、共有フクロSFに含まれたティップTについ
て、ダーティ・ビットDを作成しているが、これに限る
ものではない。前回の同期処理の終了時点で、共有フク
ロSFに含まれているティップTについて、ダーティ・
ビットDが作成されていれば、本実施形態と同様に、上
述の移動のみが行われたティップTの内容送付を省略で
きる。ただし、本実施形態のように、現時点で共有フク
ロSFに含まれるティップTについても、ダーティ・ビ
ットDを作成する場合は、非同期期間中に新たに挿入さ
れたティップTを検索する際の速度が向上すると共に、
ダーティ・ビットDの移動パラメタが「X」または
「I」のティップTのみを抽出することで、図7に示す
ツリー構造Sのうち、共有フクロSFに含まれるティッ
プTのリストを作成できる。この結果、当該ティップT
のリストを削除でき、メモリ量を削減できる。
【0143】また、例えば、ティップTの追加など、個
々の処理は、いずれの情報処理機器2のシンクロナイズ
処理部51が行ってもよい。例えば、全ての処理を一方
のシンクロナイズ処理部51が実施してもよいし、双方
が分担して行ってもよい。
【0144】図16のS2に示す非同期期間中の処理
と、上述のS3に示す同期処理とが交互に繰り返され、
それ以降は、同期処理が不要になると、S4において、
共有設定が解除される。共有解除の一例として、情報処
理機器2a ・2b 双方にフクロFおよびティップTが残
留するモデル(ティップ複写型モデル)について説明す
ると、図50に示すように、一方の情報処理機器2a
設けられた共有解除処理部53は、S61において、他
方の情報処理機器2b の共有解除処理部53へ共有解除
要求を送出する。当該共有解除要求には、例えば、自ら
のフクロIDと相手のIDとの組み合わせなど、自らの
共有フクロSFを示す情報と、当該共有フクロSFに対
応する相手の共有フクロSFを示す情報とが含まれてい
る。
【0145】さらに、共有解除起動側の共有解除処理部
53は、S62において、例えば、上記組み合わせに応
じたダーティ・ビット・リストLDおよびシンク・リミ
ットLim、並びに、共有相手リストLSに登録された
相手のフクロIDなど、共有設定時に設けられた共有情
報を削除する。一方、共有解除受動側となる情報処理機
器2b では、S63にて、受け取った共有設定解除要求
に基づいて、共有解除処理部53が、自らに格納された
上記共有情報を抹消する(S64)。なお、図50で
は、共有相手の認証を図示していないが、共有設定と同
様に、共有解除受動側が共有解除要求の内容に応じて、
共有解除するか否かを決定してもよい。
【0146】これにより、両情報処理機器2a ・2b
で共有されていた共有フクロSFa・SFb は、それぞ
れ非共有のフクロFa ・Fb となる。上記ティップ複写
型モデルの共有解除では、共有解除が指示された場合、
両共有フクロSFa ・SFb間の共有設定が解除される
だけであり、それぞれに含まれているティップTは、双
方のフクロFa ・Fb に残留する。
【0147】ここで、共有解除のモデルは、ティップ複
写型モデルに限るものではなく、種々のモデルを適用で
きる。例えば、共有設定が解除された場合、一方のフク
ロFにのみ、ティップを残し、他方のフクロFでは、テ
ィップを削除するモデル(ティップ偏在型モデル)を採
用してもよいし、ティップ消滅型モデル、すなわち、双
方のフクロFからティップTを削除するモデルを採用し
てもよい。さらに、ティップ複写型モデルやティップ偏
在型モデルの場合は、共有解除が指示されたとき、同期
処理した後で、共有解除することもできる。この場合
は、特に同期処理を指示しなくても、共有解除の時点
で、ティップTの整合性を保つことができる。また、テ
ィップ偏在型モデル、および、ティップ消滅型モデルの
ように、ティップTを除去する場合、ティップTの除去
により、空になるフクロFを削除してもよい。いずれの
場合であっても、情報処理機器2が共有解除のモデルを
複数選択可能な場合は、上述の優先側決定のモデル選択
と同様に、図16のS1に示す共有設定時のオプション
として、共有解除のモデルを設定する方がよい。
【0148】なお、本実施形態では、対応関係をダーテ
ィ・ビットDの順序として記憶しているが、これに限る
ものではない。例えば、ティップIDなど、相手のティ
ップTを示す情報で、対応するティップTを特定しても
よい。ただし、この場合は、同期処理時に、ダーティ・
ビットDだけではなく、相手のティップIDを送出する
必要があり、通信されるデータ量が増大する虞れがあ
る。
【0149】さらに、相手のティップIDは、相手のデ
ータベースDBの規模が増大するに従って、データ量が
多くなる。この結果、特に、例えば、サーバとクライア
ントのように、データベースシステム1を構成する情報
処理機器2が対等ではない場合、クライアント側のよう
に、メモリ量の削減が強く要求される情報処理機器2に
おいて、対応関係の記憶に必要なメモリ量が多くなって
しまう。
【0150】これに対して、本実施形態では、ティップ
Tの対応関係は、自らのティップTに関連する情報の順
序で格納されている。したがって、相手のデータベース
DBの規模やティップTの格納方法に拘わらず、対応関
係を格納できる。この結果、相手のティップTを示す情
報で特定する場合よりも、対応関係の記憶に必要なメモ
リ量を削減できると共に、同期処理の際に伝送されるデ
ータ量を削減できる。
【0151】また、本実施形態では、ダーティ・ビット
Dの順序が、ダーティ・ビット・リストLDとして格納
されているが、これに限るものではない。例えば、ダー
ティ・ビット・リストLDとは別に順序を示すリストを
設けてもよいし、各ティップT毎に、ダーティ・ビット
Dと、順位を示す情報とを格納することもできる。ただ
し、ダーティ・ビットDと順序とは、同じティップTに
対応する場合であっても、自らの共有フクロSFと相手
の共有フクロSFとの組み合わせ毎に設けられ、共有相
手の数は、データベースDBの作成時点では予測できな
いことが多い。したがって、ダーティ・ビットDと順序
とは、ティップTの内容自体とは別に設ける方がよい。
それゆえ、それぞれを別に記憶すると、対応するティッ
プTを示す情報が別に必要になり、必要なメモリ量が増
大する。したがって、ダーティ・ビットDを格納する順
序として、対応関係を格納することで、必要なメモリ量
をさらに削減できる。
【0152】〔第2の実施形態〕ところで、上述のデー
タベースシステム1では、2つの共有フクロSF間のみ
でティップTを対応付けているため、共有関係がループ
状に設定された場合は、以下に示す不具合が発生する虞
れがある。すなわち、上述のデータベースシステム1に
おいて、図51に示すように、共有フクロSFa ・SF
b のペア、共有フクロSFb ・SFc のペア、および、
共有フクロSFc ・SFa のペアで共有設定されている
場合、図52に示すように、共有フクロSFa でティッ
プT1aが追加され、続いて、共有フクロSFa と、共有
フクロSFb ・SFc との双方との同期処理が行われる
と、図53に示すように、共有フクロSFb (SFc
には、ティップT1aと同じ内容のティップT1b(T1c
が追加される。この状態では、各シンク・リミットLi
ab・LimbaおよびLimac・Limcaは、いずれ
も”1”になり、ダーティ・ビットD1ab ・D1ba およ
びD1ac ・D1ca は、いずれも、静止・維持を示す値
「Xp」となる。
【0153】ここで、共有フクロSFb ・SFc には、
同期処理の結果、ティップT1b・T1cが追加されてお
り、この時点では、共有フクロSFb ・SFc 間では同
期処理が行われていない。したがって、両者間のダーテ
ィ・ビットD1bc ・D1cb は、いずれも、挿入・更新を
示す値「Im」に設定される。また、各ティップT
1b(T1c)は、それぞれ共有フクロSFb (SFc )に
独立して追加されているので、各ダーティ・ビット・リ
ストLDbc(LDcb)において、シンク・リミットLi
bc(Limcb)は、”0”のままである。
【0154】この状態で、共有フクロSFb ・SFc
で同期処理が行われると、各ダーティ・ビットD
1bc (D1cb )は、シンク・リミットLimbc(Lim
cb)より、後に配されているので、両ティップT1b・T
1cは、未だ対応付けられていないティップT、すなわ
ち、非同期期間中に、各情報処理機器2b ・2c が独自
に追加したティップTと判定される。この結果、図54
に示すように、両ティップT1b・T1cは、同じティップ
1aに対応しているにも拘わらず、情報処理機器2b
シンクロナイズ処理部51は、ティップT1cと同じ内容
のティップT11b を共有フクロSFb に追加し、情報処
理機器2c のシンクロナイズ処理部51は、ティップT
1bと同じ内容のティップT11c 共有フクロSFc へ追加
する。
【0155】ここで、ティップT11b ・T11c が追加さ
れた状態では、共有フクロSFb ・SFc 間では同期が
取られているが、それぞれと共有フクロSFa との間で
は、同期が取られていない。したがって、ダーティ・ビ
ットD11ba・D11caは、挿入・更新を示す値「Im」に
設定され、シンク・リミットLimba・Limcaの後に
配される。この結果、共有フクロSFb ・SFa のペア
間(あるいは、共有フクロSFc ・SFa のペア間)で
同期処理が行われると、上記と同様に、共有フクロSF
a には、ティップT11b (T11c )と同一内容のティッ
プTが追加されてしまう。
【0156】このように、上記データベースシステム1
の構成では、ループ状に共有関係が形成されると、同期
処理の度に、ティップTの複製が作成され、各共有フク
ロSF内のティップTが増殖する虞れがある。
【0157】これに対して、本実施形態に係るデータベ
ースシステム6では、互いに対応するティップT同士で
は共通で、対応しないティップT同士では異なるシンク
ID(SID)を各ティップTに割り当てることによっ
て、上記ティップTの増殖問題を解決する。以下では、
SIDを用いた対応付け方法をスターモデルと称し、シ
ンクタグのみを用いた対応付け方法(ペアモデル)と区
別する。なお、以下の実施形態に係るデータベースシス
テムの各部材は、上記データベースシステム1と同様
で、対応関係などを記憶する方法と同期処理時の動作と
のみが異なるので、同様の機能を有する部材には、同じ
参照符号を用いて説明を省略する。
【0158】具体的には、本実施形態において、ティッ
プ管理部31は、各ティップTに割り当てられるSID
を管理する際、例えば、図55に示すように、情報処理
機器7を一意に識別する番号(機器番号MID)と、各
情報処理機器2内でティップTに対して一意に割り当て
られる番号(ティップ番号)との組み合わせとして、S
IDを格納している。ここで、機器番号MIDは、図5
6に示すように、同期処理する可能性がある情報処理機
器7全てに対して、互いに異なる値が予め割り当てられ
ているので、情報処理機器7は、自機器内で一意なティ
ップ番号を割り当てることで、非同期期間中であって
も、データベースシステム6内で一意なSIDを生成で
きる。なお、本実施形態に係るティップ管理部31が、
特許請求の範囲に記載のデータ管理番号記憶手段とデー
タ管理番号設定手段とに対応する。
【0159】また、ティップ追加処理部42は、使用者
の指示によって、共有フクロSF内に新たに追加される
ティップTには、SIDのティップ番号として、情報処
理機器7の他のティップTとは異なる値を割り当てる。
さらに、シンクロナイズ処理部51は、各ティップT間
の対応をシンク・タグに加えて(あるいは代えて)SI
Dで判別すると共に、同期処理によって追加されるティ
ップTのSIDとして、元となったティップTのSID
と同じ値を割り当てる。
【0160】上記構成のデータベースシステム6におい
て、図52と同様に、共有フクロSFa に新たなティッ
プT1aが追加されると、図57に示すように、ティップ
追加処理部42は、ティップT1aに対応するダーティ・
ビットD1ab ・D1ac の値を、挿入・更新を示す値「I
m」に設定する。また、当該ティップT1aのSIDとし
て、自らの機器番号MID(この例では、「31」)
と、自機器内の他のティップTとは異なるティップ番号
(この例では、「1」)が割り当てられる。なお、図中
では、SIDを”(31−1)”のように、()で囲ん
で表示する。
【0161】この状態で、図53と同様に、共有フクロ
SFa ・SFb 間、および、共有フクロSFa ・SFc
間で同期処理されると、図58に示すように、ティップ
1aと同一内容のティップTとして、共有フクロSFb
には、ティップT1bが、共有フクロSFc にはティップ
1cが生成される。また、図53と同様に、ダーティ・
ビットD1ab ・D1ba ・D1ac ・D1ca は、「Xp」に
設定され、ダーティ・ビットD1bc ・D1cb は、「I
m」に設定される。ただし、本実施形態では、図53と
は異なり、ティップT1b・T1cのSIDは、ティップT
1aのSIDと同じ値(この例では、31−1)に設定さ
れる。
【0162】ここで、共有フクロSFb ・SFc 間で同
期処理が行われると、上述した図38と同様の処理が行
われる。ただし、本実施形態では、S52にて、ダーテ
ィ・ビット・リストLDへ新規のダーティ・ビットDを
追加する際、SIDが比較され、同じSIDのダーティ
・ビットDが既にダーティ・ビット・リストLDに含ま
れている場合、両者が互いに対応していると判断して、
ダーティ・ビットDを追加せず、同じSIDのダーティ
・ビットDが含まれていない場合にのみ、ダーティ・ビ
ットDを追加する。
【0163】例えば、図58では、ティップT1bのSI
Dと、ティップT1cのSIDとが同じ値(31−1)を
有している。したがって、情報処理機器2b (2c )の
シンクロナイズ処理部51は、ダーティ・ビットD1cb
(D1bc )を、ダーティ・ビット・リストLDbc(LD
cb)へ追加しない。なお、本実施形態では、シンク・タ
グも併用しているので、両ダーティ・ビット・リストL
bc・LDcbにおいて、ダーティ・ビットD1bc ・D
1cb は、互いに同じ順位に配される。
【0164】その後、S53以降の処理が行われ、図5
9に示すように、共有フクロSFb・SFc の内容が同
一になる。本実施形態では、SIDが互いに同一であれ
ば、非同期期間に追加されたティップTであっても、互
いに対応するティップTと判断され、ティップTが追加
されない。したがって、図54とは異なり、共有関係が
ループ状に形成されている場合であっても、ティップの
増殖問題は発生せず、データベースDBの不所望なデー
タ量の増加を防止できる。この結果、各情報処理機器2
に必要なメモリ量を削減すると共に、同期処理の際に伝
送されるデータ量を削減できる。
【0165】ここで、各情報処理機器2は、共有フクロ
SFが共有されている間、各ティップTのSIDを保持
していればよく、図16のS4の共有解除以降は、SI
Dを保持しなくてもよい。ただし、共有解除後であって
も、再び、共有設定が行われる場合がある。したがっ
て、空きメモリ量が十分にある場合には、情報処理機器
2は、共有解除後も各ティップTのSIDを保持してお
き、再び、共有設定された場合、当該ティップTのSI
Dとして、保持していた値を使用する方が望ましい。
【0166】なお、上記では、第1の実施形態と同様
に、既に対応付けられている両ティップTは、それぞれ
のダーティ・ビット・リストLDにおけるダーティ・ビ
ットDの順序が互いに同一になるように記憶している
が、これに限るものではない。例えば、既に、対応付け
られているティップTについても、SIDを比較して、
互いに対応しているか否かを判定すれば、任意の順序で
記憶してもよい。ただし、第1の実施形態と同様に、順
序を互いに同一に設定すれば、同期処理の際、伝送ある
いは処理されるデータ量を削減できる。
【0167】〔第3の実施形態〕ところで、上記第2の
実施形態のように、スターモデルでティップTを対応付
けると、ティップTの増殖問題が解決されるが、優先側
の決定方法によっては、以下のように、対応するティッ
プTの内容が互いに同一に設定された後も、各同期処理
において、各情報処理機器7間でティップTの内容が伝
送される虞れがある。
【0168】具体的には、図58に示すように、共有フ
クロSFa ・SFb の間、および、共有フクロSFa
SFc の間で同期処理され、共有フクロSFb ・SFc
間で同期処理されていない場合、ティップT1bのダーテ
ィ・ビットD1bc 、および、ティップT1cのダーティ・
ビットD1cb は、ダーティ・ビットD1ba 、ダーティ・
ビットD1ca に合わせて、いずれも挿入・更新を示す値
「Im」に設定される。
【0169】ここで、共有フクロSFb ・SFc 間で同
期処理が行われると、図38のS53のフクロ同期処理
では、各ティップT1b(T1c)は、共有フクロSF
b (SFc )内に配され、上記両ダーティ・ビットD
1bc ・D1cb は、いずれも、静止・更新を示す値「X
m」に変更される。したがって、S54の優先度判定で
は、両ティップT1b・T1cが互いに独立して更新された
状態、すなわち、衝突と判定され、例えば、予め定めら
れた情報処理機器7または共有設定や共有設定を起動し
た情報処理機器7による判定、あるいは、ティップTの
最終更新時刻による判定など、予め定められた規則に従
って、優先側が判定される。ここで、一例として、ティ
ップT1bとティップT1cとでは、ティップT1c が優先
と判定された場合、S55の内容同期において、情報処
理機器7c から情報処理機器7b へ、ティップT1cの内
容が伝送される。これにより、ティップT1bの内容がテ
ィップT1cと同一の内容に変更され、両ダーティ・ビッ
トD1bc ・D1cb の値が、静止・維持を示す値「Xp」
に設定される。
【0170】ところが、上述したように、ダーティ・ビ
ットDの変更は、他のダーティ・ビット・リストLDに
伝達されるため、図60に示すように、情報処理機器7
b において、共有フクロSFa に関連するダーティ・ビ
ットD1ba は、「Xm」に変更されてしまう。これによ
り、共有フクロSFa ・SFb 間で同期処理が行われる
と、再び、ティップT1bの内容が情報処理機器7a へ送
出されるだけではなく、さらに、情報処理機器7a にお
いて、共有フクロSFc に対するダーティ・ビットD
1ac が変更されてしまう。
【0171】この結果、各ティップTの内容が同一であ
るにも拘わらず、同期処理の際にティップTの内容が伝
送されると共に、ダーティ・ビットDの変更が次々に伝
えられ、同期処理の際に伝送あるいは処理されるデータ
量を増大させてしまう。なお、以下では、前者の問題を
「ループ状共有関係の同一性判定問題」と称し、後者の
問題を「ループ状共有関係の更新情報伝達問題」と称す
る。
【0172】本実施形態では、ループ状共有関係の更新
情報伝達問題を解決するためのデータベースシステム8
として、同期処理によるダーティ・ビットDの変更を他
のダーティ・ビットDへ伝達する前に、情報処理機器9
が、ティップTの内容が互いに同一であるか否かを判定
する場合について説明する。
【0173】具体的には、本実施形態に係る情報処理機
器9において、シンクロナイズ処理部51は、上記図3
8に示すS55において、図61のS71に示すよう
に、送られてきたティップT(例えば、T1c)と、元々
存在していたティップT(例えば、T1b)とが同一であ
るか否かを判定する。さらに、上記S71にて不一致と
判定された場合、シンクロナイズ処理部51は、S72
において、元々存在していたティップTの内容を、送ら
れてきたティップTの内容で置き換えると共に、S73
において、当該ティップTに対応する他のダーティ・ビ
ットD(例えば、D1ba )を変更する。これとは逆に、
上記S71にて一致すると判定された場合、上記S72
・S73は実施されず、他のダーティ・ビットDは、変
更されない。なお、同期処理に関連するダーティ・ビッ
トD1ab ・D1ba は、同一であるか否かに拘わらず、静
止・維持を示す値「Xp」に設定される。
【0174】したがって、例えば、図58に示す状態で
共有フクロSFb ・SFc 間の同期処理が行われた場
合、ティップT1bよりもティップT1cの方が優先されて
いるにも拘わらず、図62に示すように、情報処理機器
b において、他の共有フクロSFa に関連するダーテ
ィ・ビットD1ba は、「Xp」のまま保たれる。
【0175】このように、本実施形態に係る情報処理機
器9は、優先側と非優先側のティップTの内容が互いに
同一の場合、非優先側と判定されたティップTのダーテ
ィ・ビットDを、他の共有関係へ伝達しない。この結
果、上述したループ状共有関係の更新情報伝達問題を防
止でき、同期処理において、情報処理機器9間を伝送さ
れるデータ量、および、各情報処理機器9におけるデー
タ処理量を削減できる。
【0176】上記S71において、ティップTの内容が
互いに同一であるか否かを判定する方法は、例えば、テ
ィップTの全ての内容に基づいて判定してもよいが、同
期処理時のデータ伝送量を削減するためには、例えば、
最終更新時刻や最終更新者あるいは、更新毎に異なる値
に設定される更新IDなど、ティップTの内容の一部を
比較して、同一か否かを判定する方が望ましい。
【0177】この場合は、シンクロナイズ処理部51
は、図63に示すように、S81において、ティップT
の内容の一部を先に転送し、S82にて、両者を比較す
る。さらに、両ティップTが不一致の場合にのみ、S8
3にて、残余の内容を転送し、上記S72およびS73
と同様に、ティップTの内容とダーティ・ビットDを更
新する。また、上記S82にて、一致すると判断された
場合、シンクロナイズ処理部51は、残余の内容伝送を
省略する。この結果、ループ状共有関係の更新情報伝達
問題だけではなく、上述のループ状共有関係の同一性判
定問題をも解決でき、同期処理において、同一性の判定
に必要なデータ転送量を削減でき、同期処理時の転送効
率を向上できる。
【0178】例えば、同一性の判定基準として、最終更
新時刻を使用した場合、図64に示す時刻7:00のよ
うに、同期処理の時点で、最終更新時刻が互いに同一の
場合、ティップTの転送が省略される。なお、この場
合、データベース管理部23が特許請求の範囲に記載の
最終更新時刻記憶手段に対応する。また、同一性の判定
基準として、最終更新者を示す情報を使用した場合は、
図65に示す時刻7:00のように、同期処理時点で最
終更新者が同一の場合、ティップTの転送が省略され
る。同様に、同一性の判定基準として、例えば、更新す
る毎にインクリメントされる値など、更新毎に異なる値
に設定される更新IDを使用した場合は、図66に示す
時刻7:00のように、同期処理時点で更新IDが同一
の場合のティップTの転送が省略される。この場合は、
データベース管理部23が特許請求の範囲に記載の更新
識別情報記憶手段に対応する。
【0179】ここで、最終更新時刻や最終更新者あるい
は更新IDなどの情報をティップTに付加すると、情報
処理機器9に必要がメモリ量が増大するが、これらの情
報は、ティップTの内容に比べれば、十分データ量が少
ないため、メモリ量の増加は、余り問題にならない。さ
らに、これらの情報は、非同期期間中、ティップTへの
操作に応じて更新されるので、各情報処理機器9におけ
るデータ処理量が増加するが、上述したように、同期処
理の際に使用される通信路の伝送速度が、非同期期間に
おける自機器内へのアクセス速度よりも極めて低速なの
で、全体的には、処理時間を短縮できる。
【0180】また、内容の一部分のうち、最終更新者、
すなわち、ダーティ・ビットDの更新パラメタとして、
最初に「m」を付加した情報処理機器9(あるいは、そ
の使用者)のみを使用した場合、同一人物が複数回更新
しても、それぞれの更新を区別できない。一方、最終更
新時刻および更新IDは、各情報処理機器9で独立して
設定されるため、異なる情報処理機器9間で独立して更
新された場合であっても、同一の値を持つ虞れがある。
したがって、それぞれを単独で使用するよりも、最終更
新時刻と最終更新者との組み合わせ、最終更新時刻と更
新IDとの組み合わせ、または、最終更新者と更新者毎
に独立に付加する更新IDとの組み合わせ、あるいは、
3つの組み合わせを用いる方がよい。なお、メモリ量を
削減するために、単独で使用する場合は、最終更新時刻
が好ましい。この場合、同時刻に更新される虞れはある
が、秒単位の精度で設定されていれば、実用状は十分な
精度で、ティップTが同一であるか否かを判定できる。
【0181】ここで、上記S71やS82などの同一判
定が内容の一部分に基づいて決定される場合、ティップ
Tの内容を全て伝送する前に実施される方がデータの伝
送量を削減できる。さらに、図67のS57に示すよう
に、これらの同一判定は、図41に示す優先度判定(S
54)よりも前に実施される方がよい。この場合は、同
一と判定された時点で、優先度の判定処理自体を省略で
きるので、同期処理時のデータ処理量を、さらに削減で
きる。
【0182】〔第4の実施形態〕本実施形態では、ルー
プ状共有関係の更新情報伝達問題を解決するための他の
データベースシステム10として、情報処理機器11
が、各ティップTに最終更新者を付加し、最終更新者が
自機器の場合は、ダーティ・ビットDを伝達しない場合
について説明する。
【0183】本実施形態では、ティップTの内容の一部
として、最終更新者が含まれており、情報処理機器11
のティップ更新処理部41は、非同期期間中の操作によ
りティップTの内容が変更される場合、ティップ管理部
31に格納されるティップTの最終更新者を、例えば、
機器番号MIDなど、自機器を示す値に設定する。な
お、本実施形態では、ティップ管理部31が特許請求の
範囲に記載の更新者記憶手段に対応する。
【0184】上記構成では、上記第2の実施形態と同様
に、共有フクロSFa ・SFb 間および共有フクロSF
a ・SFc 間で同期処理された後、共有フクロSFb
SFc 間で同期処理されると、図60に示すように、情
報処理機器11b において、共有フクロSFa に関連す
るダーティ・ビットD1ba が、「Xm」に変更されてし
まう。
【0185】ところが、上記第2の実施形態とは異な
り、各ティップT1a〜T1cには、内容の一部として、最
終更新者(例えば、31)が格納されており、各シンク
ロナイズ処理部51は、図68に示すように、S91に
て送られてきた最終更新者を比較する(S92)。最終
更新者が自機器を示している場合、このティップTへの
操作は、既にダーティ・ビットDに反映されている。し
たがって、同期処理の際にダーティ・ビットDが変更さ
れても、他のダーティ・ビットDを変更しない。特に、
最終更新者が自機器で、かつ、非同期期間中に、自機器
でティップTが更新されていない場合は、送信側および
受信側のティップTが互いに同一なので、内容伝送自体
を省略できる。なお、上記S91にて、自機器ではない
と判定された場合、上述のS83、S72およびS73
の処理が行われ、ティップTの全ての内容が伝送される
と共に、他の共有フクロSFに関連するダーティ・ビッ
トDへ変更が伝達される。
【0186】この結果、例えば、図63に示す状態で、
共有フクロSFa ・SFb 間で同期処理されたとして
も、図69に示すように、情報処理機器11a のシンク
ロナイズ処理部51は、ダーティ・ビットD1ab の更新
をダーティ・ビットD1ac へ伝達せず、ダーティ・ビッ
トD1ac を「Xp」のまま維持する。
【0187】これにより、共有関係がループ状に形成さ
れていたとしても、ダーティ・ビットDの伝達は、必
ず、最終更新者の情報処理機器11で阻止され、それ以
降は、伝達されない。この結果、上述のループ状共有関
係の更新情報伝達問題を解決でき、同期処理の際に伝送
されるデータ量を削減できる。
【0188】また、この場合は、上記第3の実施形態と
は異なり、ある情報処理機器11がダーティ・ビットD
の伝達を阻止できなかったとしても、最終更新者の情報
処理機器11で伝達を阻止できる。したがって、例え
ば、データベースシステム10内に、ダーティ・ビット
Dの伝達を阻止できない情報処理機器が存在していたと
しても、残余の情報処理機器11で伝達を阻止できる。
この結果、例えば、データベースシステム10内に、デ
ータを更新できない情報処理機器が含まれている場合に
は、当該情報処理機器が伝達を阻止する必要がなくな
り、動作を簡略化できる。
【0189】〔第5の実施形態〕ところで、第4の実施
形態では、ティップTが最終更新者のみを含む場合につ
いて説明したが、ループ状共有関係の更新情報伝達問題
は、本実施形態に示すように、最終更新者以降に経由し
た全ての情報処理機器のリスト(伝達リスト)を保持す
ると共に、相手から受け取ったリスト中に自機器が存在
すれば、ダーティ・ビットDの伝達を阻止する構成でも
解決できる。
【0190】具体的には、本実施形態に係るデータベー
スシステム12では、ティップTに上記伝達リストが含
まれ、各情報処理機器13のデータベース処理部24
は、ティップTが変更された場合、伝達リストを初期化
して、自機器を伝達リストに含める。これにより、例え
ば、共有フクロSFa にティップT1aが追加された場合
は、図70の[]内に示すように、当該ティップT1aの伝
達リストには、自機器を示す値「31」のみが含まれ
る。なお、本実施形態では、ティップTの一部として伝
達リストが記憶されており、当該ティップ管理部31が
特許請求の範囲に記載の伝達リスト記憶手段に対応す
る。
【0191】続いて、共有フクロSF間で同期処理され
ると、受信側の情報処理機器13のシンクロナイズ処理
部51は、図71に示すように、S101にて受け取っ
た伝達リストに、自機器を示す値が含まれているか否か
を判定する(S102)。含まれている場合、このティ
ップTへの操作は、既に自機器のティップTおよびダー
ティ・ビットDに反映されている。したがって、同期処
理の際にダーティ・ビットDが変更されても、他のダー
ティ・ビットDを変更しない。特に、自機器が含まれ、
かつ、非同期期間中に、自機器でティップTが更新され
ていない場合は、送信側および受信側のティップTが互
いに同一なので、内容伝送自体を省略できる。これとは
逆に、自機器を示す値が含まれていない場合は、S10
3において、伝達リストを更新して、自機器を示す値を
追加する。さらに、図68と同様に、S83、S72お
よびS73にて、ティップTの内容全てを伝送して、当
該ティップTに関連する他のダーティ・ビットDを変更
する。
【0192】これにより、例えば、上記図70の状態に
おいて、共有フクロSFa ・SFb間、および、共有フ
クロSFa ・SFb 間で同期処理されると、図72に示
すように、ティップT1bの伝達リストは、「31・3
2」となり、ティップT1cの伝達リストは、「31・3
3」となる。この状態で、さらに、共有フクロSFb
SFc 間で同期処理が行われ、ティップT1bよりもティ
ップT1cの方が優先された場合、ティップT1cの内容が
情報処理機器13b に伝送され、ティップT1bがティッ
プT1cと同じ内容に変更される。また、受信側の情報処
理機器13b では、ティップT1bの伝達リストに、自機
器を示す値「32」が追加され、図73に示すように、
「31・33・32」となる。
【0193】この状態で、共有フクロSFa ・SFb
で同期処理されたとしても、伝達リストに情報処理機器
11a を示す値「31」が既に含まれている。したがっ
て、情報処理機器11a のシンクロナイズ処理部51
は、ダーティ・ビットD1ab の更新をダーティ・ビット
1ac へ伝達せず、ダーティ・ビットD1ac を「Xp」
のまま維持する。この結果、第4の実施形態と同様に、
ループ状共有関係の更新情報伝達問題を解決できる。
【0194】さらに、本実施形態では、同期処理の際、
受け取った伝達リスト中に自機器の値が含まれていれ
ば、ダーティ・ビットDの更新の伝達が阻止される。し
たがって、第4の実施形態とは異なり、最終更新者でな
くても、ダーティ・ビットDの伝達を防止できる。この
結果、伝達を抑止できない情報処理機器がデータベース
システム10内に混在する場合であっても、上記問題を
解決できる。
【0195】なお、上記の説明では、各情報処理機器1
1は、ティップTの更新時に、自機器のみを含むように
伝達リストを初期化し、伝達リストの更新時に、受信側
の機器を追加しているが、これに限るものではない。テ
ィップTの更新時に、伝達リストを空に初期化し、伝達
リストの更新時に、送信側の機器を追加してもよい。い
ずれの場合であっても、受け取った伝達リストの中に、
最終更新者以降に経由した全ての情報処理機器を示す値
が含まれていれば、同様の効果が得られる。
【0196】ところで、上記各実施形態に係る各情報処
理機器2(7・9・11;以下では、参照符号2のみで
代表する)では、図38のS53において、ティップT
が共有フクロSFの中に配されるか否かを判定する際、
図46に示す比較ルールに基づいて判定しているが、他
の比較ルールとして、例えば、ティップTの内容に、最
終移動時刻を含め、最終移動時刻が遅いティップTが、
共有フクロSFに含まれている場合、両ティップTを共
有フクロSF内に配し、含まれていない場合、両ティッ
プTを共有フクロSF外に配してもよい。この場合、例
えば、図74に示すように、ティップT1a・T1bが移動
したとすると、ティップT1bの最終移動時刻の方が遅
く、当該ティップT1bは、次の同期処理の時点で共有フ
クロSFbの外に配されている。したがって、図46に
示す比較ルールを採用した場合とは異なり、上記S53
において、ティップT1a(T1b)は、共有フクロSFa
(SFb )の外に入れる。
【0197】また、さらに他の比較ルールとして、例え
ば、ティップTの内容に移動回数を含め、移動回数が多
いティップTに合わせて、両ティップTが共有フクロS
Fの外に配されるか否かを決定してもよい。図74の例
では、ティップT1bの方が移動回数が多く、ティップT
1bは、共有フクロSFb の外に配されている。したがっ
て、次の同期処理の際、ティップT1a(T1b)は、共有
フクロSFa (SFb)の外に配される。
【0198】一般に、情報処理機器2の使用者は、より
重要と判断しているティップT程、参照、更新あるいは
移動などの操作を頻繁に繰り返す傾向にある。また、余
り重要と判断していないティップT程、操作しなくなる
ため、現時点における関心が薄れているティップT程、
最後に移動されてからの期間が長くなる傾向にある。し
たがって、移動回数あるいは最終移動時刻に基づいて判
定することで、各情報処理機器2の使用者のうち、当該
ティップTに関心を持っている使用者の要求に応じた内
外判定を行うことができる。なお、本実施形態では、テ
ィップTの一部として最終移動時刻や移動回数が記憶さ
れているので、ティップ管理部31が特許請求の範囲に
記載の移動時刻記憶手段あるいは移動回数記憶手段に対
応する。
【0199】ここで、いずれの比較ルールで内外判定す
ると良いかは、データベースシステム1(6・8・1
0;以下では、参照符号1のみで代表する)の用途や、
使用者によって異なることが多い。したがって、各情報
処理機器2のシンクロナイズ処理部51は、予め、複数
の比較ルールを用意しておき、そのうちの1つを用いて
内外判定する方が望ましい。ただし、比較ルールが通信
相手と異なっていると、正しく同期処理できなくなる虞
れがある。したがって、比較ルールの決定は、例えば、
共有設定の際など、通信相手と通信できる時点に制限さ
れる方が望ましい。これにより、各情報処理機器2は、
勝手に比較ルールを変更できなくなるので、比較ルール
の不一致に起因する同期処理の失敗を防止できる。
【0200】上記構成のデータベースシステム1の使用
例としては、例えば、会社などに設置され、サーバとな
る情報処理機器2で、全営業マンに必要なアドレス情報
を一括管理し、携帯情報端末となる情報処理機器2が各
営業マンそれぞれに配付される場合が挙げられる。ここ
で、各営業マン毎に必要なアドレス情報の組み合わせ
は、互いに異なっており、かつ、複数の営業マンに共通
のアドレス情報があることが多い。したがって、情報処
理機器2にて、データベースDBに全アドレス情報を格
納し、各営業マンに必要なアドレス情報の組み合わせを
フクロFとして管理することで、情報処理機器2は、例
えば、各営業マン毎のアドレス情報を別のデータベース
DBに格納する場合と異なり、各アドレス情報を整合性
を損なうことなく管理できる。また、情報処理機器2
は、情報処理機器2の1つのフクロFを格納できればよ
いので、アドレス情報全体を記憶する場合よりも記憶容
量を削減できる。
【0201】なお、上記各実施形態では、ティップTが
個々の住所を示す場合を例にして説明したが、当然なが
ら、ティップTが示すデータは、データベースの用途に
応じて自由に設定できる。また、各ティップTが同じ種
類の属性A…を有し、共有相手が同じティップTが、共
有フクロSFに集められる場合を例にして説明したが、
これに限るものではない。例えば、共有相手とアプリケ
ーションとの組み合わせ毎に共有フクロSFを設けても
よい。アドレス帳、電子帳およびメイルアドレスデータ
ベースのアプリケーションが存在する場合を例にして説
明すると、アドレス帳で使用されるティップTは、名
前、電話番号、メールアドレス、住所および勤務先など
を示す属性を備えている。また、電話帳で使用されるテ
ィップTは、名前と電話番号とを示す属性を備え、メイ
ルアドレスデータベースのティップTは、名前とメール
アドレスとを示す属性を備えている。さらに、各ティッ
プTは、使用アプリケーションを示すフクロFに集めら
れる。例えば、電話帳で使用されるティップTは、アド
レス帳を示すフクロFにも所属する。この場合、アドレ
ス帳全体を新しくしたい場合は、アドレス帳を示すフク
ロFに対して共有設定すればよいし、電話帳のフクロF
のみを変更したい場合は、当該フクロFに対し共有設定
して同期処理すればよい。このように、使用するアプリ
ケーション毎にフクロFを割り当てれば、用途毎に同期
処理できる。
【0202】さらに、上記各実施形態では、自らの共有
フクロSFと相手の共有フクロSFとの組み合わせ毎
に、ダーティ・ビットDを設けているが、非同期期間が
同一であれば、複数の共有フクロSF間で、ダーティ・
ビット・リストLD(ダーティ・ビットD)を共用でき
る。
【0203】なお、上記各実施形態では、例えば、各情
報処理機器2がシンクロナイズ処理部51を備えている
場合について説明したが、シンクロナイズ処理部51や
共有設定処理部52など、各情報処理機器2が通信可能
な期間のみに動作する部材は、いずれか一方に設けられ
ていればよい。また、例えば、シンクロナイズ処理部5
1のうち、ティップTの衝突を検出する部分と、優先側
を決定する部分とが異なる情報処理機器2に配されてい
てもよい。通信可能な時点で、上記各部材を形成できれ
ば、同様の効果が得られる。
【0204】
【発明の効果】請求項1の発明に係るデータベース管理
装置は、以上のように、複数の第2共有範囲毎に設けら
れた状態情報に基づいて同期処理する際、同期処理手段
が、同時には、ただ1つの他のデータベース管理装置に
格納された第2共有範囲と上記第1共有範囲とが互いに
同一となるように、両共有範囲に対応する状態情報に基
づいて同期処理し、当該第2共有範囲に関連する状態情
報を更新すると共に、当該状態情報の更新を、他の第2
共有範囲に関連する状態情報へ伝達する構成である。
【0205】上記構成によれば、複数の第2データベー
ス管理装置毎に異なる状態情報が設けられ、ある状態情
報の更新が他の状態情報に伝達される。したがって、更
新情報に基づく、同期処理が2つのデータベース管理装
置間のみで実施されるにも拘わらず、3以上のデータベ
ース管理装置間でデータの同期処理を行うことができる
という効果を奏する。
【0206】加えて、各共有範囲間で対応付けが行わ
れ、状態情報に基づいて同期処理するので、同期処理の
際に、両データベース管理装置間で伝送されるデータ量
を削減できるという効果を併せて奏する。
【0207】請求項2の発明に係るデータベース管理装
置は、以上のように、請求項1記載の発明の構成におい
て、上記第1共有範囲の各データに対応するデータ管理
番号を記憶するデータ管理番号記憶手段と、上記同期処
理以外による追加データに対しては、自機器に固有のデ
ータベース管理番号を含むデータ管理番号を作成し、同
期処理による追加データに対しては、既に割り当てられ
ているデータ管理番号を使用するデータ管理番号設定手
段とを備え、データ管理番号に基づいて、各データベー
ス間で対応するデータを特定する構成である。
【0208】上記構成によれば、データの伝達経路に拘
わらず、同一のデータ管理番号が使用されるので、同期
処理手段は、各共有範囲の対応関係がループ状に形成さ
れている場合であっても、互いに対応するデータを確実
に特定できる。この結果、誤特定に起因するデータの増
加を防止でき、同期処理時に伝送されるデータ量を削減
できるという効果を奏する。
【0209】請求項3の発明に係るデータベース管理装
置は、以上のように、第1データベースの一部である第
1共有範囲の各データに対応するデータ管理番号を記憶
するデータ管理番号記憶手段と、上記同期処理以外によ
る追加データに対しては、自機器に固有のデータベース
管理番号を含むデータ管理番号を作成し、同期処理によ
る追加データに対しては、既に割り当てられているデー
タ管理番号を使用するデータ管理番号設定手段と、非同
期期間中に一度でも第1共有範囲に含まれた各第1デー
タについて、非同期期間中の更新状態を示す状態情報を
記憶する状態情報記憶手段とを備え、データ管理番号に
基づいて、各データベース間で対応するデータを特定す
ると共に、上記状態情報を参照して両データの内容を一
致させる構成である。
【0210】当該構成では、非同期期間中に一度でも第
1共有範囲に含まれた各第1データについて、状態情報
が記憶されているので、第1データが、非同期期間中に
第1共有範囲の内外を移動したとしても、状態情報を参
照すれば、更新の有無を識別でき、更新されていないデ
ータ転送を省略できる。また、請求項2と同様に、他の
データベース管理装置と通信できるか否かに拘わらず、
データベースシステムで一意のデータ管理番号を設定で
き、同期処理手段は、当該データ管理番号の参照によっ
て、容易にデータの対応を識別できる。加えて、請求項
1と同様に、対応するデータが第1共有範囲に配されて
おり、各共有範囲間で対応付けが行われ、状態情報に基
づいて同期処理が行われる。これらの結果、同期処理時
に、両データベース管理装置間で伝送されるデータ量を
削減できるという効果を奏する。
【0211】請求項4の発明に係るデータベース管理装
置は、以上のように、請求項2または3記載の発明の構
成において、上記データ管理番号設定手段は、上記デー
タ管理番号記憶手段にデータ管理番号が記憶されたデー
タが、新たに、上記第1共有範囲内に配された場合、以
前と同じデータ管理番号を使用する構成である。
【0212】上記構成によれば、データが第1共有範囲
外に配された後、再び、第1共有範囲内に配される場合
であっても、同期処理手段は、各データの対応関係を特
定できる。この結果、誤特定に起因するデータの増加を
防止でき、同期処理時に伝送されるデータ量を削減でき
るという効果を奏する。
【0213】請求項5の発明に係るデータベース管理装
置は、以上のように、請求項2記載の発明の構成におい
て、上記同期処理手段は、上記データ管理番号が同一の
第1および第2データについて、内容が同一であるか否
かを判定し、同一と判定した場合、上記状態情報の伝達
を中止する構成である。
【0214】上記構成によれば、各共有範囲の対応関係
がループ状に形成されている場合であっても、第1およ
び第2データの内容が同一であれば、状態情報の伝達が
阻止される。この結果、不要な状態情報の伝達を防止で
き、同期処理時に伝送されるデータ量を削減できるとい
う効果を奏する。
【0215】請求項6の発明に係るデータベース管理装
置は、以上のように、請求項2記載の発明の構成におい
て、上記同期処理手段は、相手から受け取った各データ
の最終更新者が、自機器の場合、当該データに関する上
記状態情報の伝達を中止する構成である。
【0216】上記構成において、同期処理手段は、相手
から最終更新者が自機器のデータを受け取った場合、当
該データの更新は、自らの状態情報に既に反映されてい
るので状態情報の伝達を防止する。これにより、不要な
状態情報の伝達を防止でき、同期処理時に伝送されるデ
ータ量を削減できるという効果を奏する。
【0217】請求項7の発明に係るデータベース管理装
置は、以上のように、請求項2記載の発明の構成におい
て、上記各第1データについて、当該第1データが内容
を維持したまま伝送される際、最終更新者と、最終更新
者よりも後に経由した全てのデータベース管理装置とを
示す伝達リストを記憶する伝達リスト記憶手段を備え、
上記同期処理手段は、相手から受け取ったデータの伝達
リストに自機器が含まれている場合、当該データに関す
る上記状態情報の伝達を中止する構成である。
【0218】上記構成において、同期処理手段は、相手
から受け取った伝達リストに自機器が含まれている場
合、第2データの更新を示す状態情報は、自らの状態情
報に既に反映されているので、状態情報の伝達を防止す
る。これにより、不要な状態情報の伝達を防止でき、同
期処理時に伝送されるデータ量を削減できるという効果
を奏する。
【0219】請求項8の発明に係るデータベース管理装
置は、以上のように、同期処理手段は、自らの第1共有
範囲と複数の相手の第2共有範囲とを一致させる際、上
記各第2共有範囲の1つとの間の同期処理と、他の第2
共有範囲との間の同期処理とを互いに異なる時点で行
い、同時には、ただ1つの第2共有範囲とのみ、同期処
理する構成である。
【0220】上記構成において、異なる組み合わせの同
期処理が繰り返されると、各組み合わせ毎にデータが一
致するので、3以上のデータベース管理装置であって
も、何ら支障なく同期処理できる。この結果、請求項1
と同様に、同期処理のタイミングが各データベース管理
装置の組み合わせ毎に異なる場合であっても、何ら支障
なく同期処理できると共に、対応付けの制約が少ないデ
ータベースシステムを構築できるという効果を奏する。
【0221】請求項9の発明に係るデータベース管理装
置は、以上のように、対応付けられたデータを格納する
第1部分集合を設定する部分集合設定手段と、他のデー
タベース管理装置の第2部分集合と当該第1部分集合と
を対応させる部分集合対応手段と、上記第1部分集合内
外を移動したデータについて、最終移動時刻を記憶する
移動時刻記憶手段とを備え、上記同期処理手段としての
第1同期処理手段は、第1および第2部分集合の内容を
一致させる際、最終移動時刻が遅いデータに合わせて、
対応する他のデータを、それぞれの部分集合の内に配す
るか否かを決定する構成である。
【0222】当該構成によれば、各部分集合間で対応付
けが行われ、対応するデータが各部分集合の内外を移動
した場合、各部分集合内あるいは外の一方に配される。
したがって、部分集合の内外をデータが移動した後、同
期処理された場合であっても、データ数の増大を抑える
ことができ、同期処理時に伝送されるデータ量を削減で
きるという効果を奏する。
【0223】さらに、最終移動時刻が遅いデータに合わ
せて決定することで、互いに対応するデータ同士のう
ち、最も使用者に重要視されているデータに合わせて、
部分集合の内外を決定できるという効果を併せて奏す
る。
【0224】請求項10の発明に係るデータベース管理
装置は、以上のように、請求項9記載の発明の構成にお
いて、上記移動時刻記憶手段に代えて、移動回数を記憶
する移動回数記憶手段を備え、上記第1同期処理手段に
代わる同期処理手段として、移動回数の最も大きなデー
タに合わせて、他のデータを、それぞれの部分集合内に
配するか否かを決定する第2同期処理手段が設けられて
いる構成である。
【0225】上記構成では、移動回数の多いデータに合
わせて部分集合の内外が判定されるので、請求項9と同
様に、同期処理時に伝送されるデータ量を削減できると
共に、より使用者の要望に合った同期処理が可能になる
という効果を奏する。
【0226】請求項11の発明に係るデータベース管理
装置は、以上のように、上記非同期期間中における上記
各第1データの更新状態を示す状態情報が、上記第1共
有範囲と上記第2共有範囲との組み合わせ毎に記憶され
る状態情報記憶手段とを備え、上記同期処理手段は、上
記第1および第2共有範囲が一致するように同期処理す
る際、互いの状態情報を送受して更新の有無を確認する
と共に、複数の共有範囲で更新された場合、各データが
同一であるか否かを判定した後で、いずれのデータの内
容で、互いに対応する残余のデータを置き換えるかを決
定する構成である。
【0227】上記構成では、複数の共有範囲でデータが
更新された場合、各データが同一であるか否かが判定さ
れた後、対応するデータのうちで、優先されるデータを
選択し、優先側データの内容で残余のデータ(非優先側
データ)を置き換える。したがって、各データ全てを別
のデータとして各データベースに追加する場合に比べて
データ数の増大を防止できる。また、同一と判定された
場合には、優先側の判定自体を省略できる。これらの結
果、同期処理時に伝送されるデータ量と、同期処理時に
処理されるデータ量とを削減できる。
【0228】請求項12の発明に係るデータベース管理
装置は、以上のように、請求項11記載の発明の構成に
おいて、上記同期処理手段は、各データが同一であるか
否かを、それぞれのデータの一部である付加情報に基づ
いて判定する構成である。
【0229】当該構成によれば、例えば、最終更新時
刻、最終更新者、あるいは、更新毎に異なる値の更新I
Dなど、データ内容全体に比べてデータ量の少ない付加
情報に基づいて、データの同一性を判断するので、同期
処理時に処理されるデータ量を削減できるという効果を
奏する。
【0230】請求項13の発明に係るデータベース管理
装置は、以上のように、請求項12記載の発明の構成に
おいて、上記同期処理手段は、相手から受け取った第2
データの最終更新者が自機器であり、かつ、第1データ
が更新されていない場合、第1および第2データが同一
であると判定する構成である。
【0231】当該構成では、最終更新者を伝送し、か
つ、自らの第1データが更新されたか否かを判定すれ
ば、両データが互いに同一であるか否かを判定できるの
で、余り多くのデータを伝送せずに、同一判定できると
いう効果を奏する。
【0232】請求項14の発明に係るデータベース管理
装置は、以上のように、請求項12記載の発明の構成に
おいて、上記同期処理手段は、相手から受け取った第2
データの伝達リストに自機器が含まれ、かつ、第1デー
タが更新されていない場合、第1および第2データが同
一であると判定する構成である。
【0233】当該構成では、伝達リストを伝送し、か
つ、自らの第1データが更新されたか否かを判定すれ
ば、両データが互いに同一であるか否かを判定できるの
で、余り多くのデータを伝送せずに、同一判定できると
いう効果を奏する。
【0234】請求項15の発明に係るデータベース管理
装置は、以上のように、請求項12記載の発明の構成に
おいて、上記同期処理手段は、更新毎に異なる値に設定
される更新識別情報が同一である場合、第1および第2
データが同一であると判定する構成である。
【0235】当該構成によれば、データ内容全体に比べ
てデータ量の少ない付加情報に基づいて、データの同一
性を判断するので、同期処理時に処理されるデータ量を
削減できるという効果を奏する。
【0236】請求項16の発明に係るデータベース管理
装置は、以上のように、請求項12記載の発明の構成に
おいて、上記同期処理手段は、最終更新時刻が同一であ
る場合、第1および第2データが同一であると判定する
構成である。
【0237】当該構成によれば、データ内容全体に比べ
てデータ量の少ない付加情報に基づいて、データの同一
性を判断するので、同期処理時に処理されるデータ量を
削減できるという効果を奏する。
【0238】請求項17ないし21の発明に係る記録媒
体は、以上のように、請求項8、3、9、10または1
1のデータベース管理装置を実現するためのプログラム
が記録されている構成である。それゆえ、上記構成のプ
ログラムをコンピュータで実行させることによって、各
請求項8、3、9、10または11と同様の効果が得ら
れる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すものであり、情報処
理機器の要部構成を示すブロック図である。
【図2】上記情報処理機器を使用して構築されるデータ
ベースシステムの一例を示すブロック図である。
【図3】上記情報処理機器のハードウェア構成の一例を
示すブロック図である。
【図4】上記情報処理機器において、データ1件を示す
ティップと、その母集合となるフクロとの関係を示す説
明図である。
【図5】上記情報処理機器において、ティップの格納方
法を示す説明図である。
【図6】上記情報処理機器において、ティップと、フク
ロと、データベースとの関係を示す説明図である。
【図7】上記情報処理機器において、ティップの格納方
法を示すものであり、ティップと、フクロと、データベ
ースとからなるツリー構造を示す説明図である。
【図8】上記情報処理機器のフクロ管理部で管理される
データ構造の一例を示す説明図である。
【図9】上記情報処理機器のティップ管理部で管理され
るデータ構造の一例を示す説明図である。
【図10】上記データベースシステムにおいて、情報処
理機器の共有範囲となる共有フクロと、他の情報処理機
器の共有フクロとの関係を示す説明図である。
【図11】上記データベースシステムにおいて、ティッ
プの対応関係と、対応関係の記憶方法とを示す説明図で
ある。
【図12】上記データベースシステムにおいて、各情報
処理機器に格納されるダーティ・ビット・リストを示す
説明図である。
【図13】上記ダーティ・ビット・リストを構成するダ
ーティ・ビットにおいて、移動パラメタの格納例を示す
説明図である。
【図14】自らの共有フクロが複数の共有フクロと共有
される場合において、ティップの対応関係を示す説明図
である。
【図15】上記対応関係において、ダーティ・ビット・
リストを示す説明図である。
【図16】上記データベースシステムの概略の動作を示
すフローチャートである。
【図17】上記データベースシステムにおいて、複数の
共有フクロ間での対応付けを示す説明図である。
【図18】上記データベースシステムにおいて、ある共
有フクロにティップが追加された場合を示す説明図であ
る。
【図19】図18の後の同期処理を示す説明図である。
【図20】上記データベースシステムにおいて、他の共
有フクロにティップが追加された場合を示す説明図であ
る。
【図21】図20の後の同期処理を示す説明図である。
【図22】上記データベースシステムにおいて、ある共
有フクロでティップが削除された場合を示す説明図であ
る。
【図23】図22の後の同期処理を示す説明図である。
【図24】上記データベースシステムにおいて、他の共
有フクロでティップが削除された場合を示す説明図であ
る。
【図25】図24の後の同期処理を示す説明図である。
【図26】上記データベースシステムにおいて、ある共
有フクロでティップが更新された場合を示す説明図であ
る。
【図27】図26の後の同期処理を示す説明図である。
【図28】上記データベースシステムにおいて、他の共
有フクロでティップが更新された場合を示す説明図であ
る。
【図29】図28の後の同期処理を示す説明図である。
【図30】上記データベースシステムにおいて、共有設
定時の動作を詳細に説明するフローチャートである。
【図31】上記データベースシステムにおいて、非同期
期間中の各種操作に応じたダーティ・ビットの変化を示
す説明図である。
【図32】上記データベースシステムの非同期期間中の
動作を詳細に説明するものであり、ティップの内容更新
処理を示すフローチャートである。
【図33】上記データベースシステムの非同期期間中の
動作を詳細に説明するものであり、ティップの挿入処理
を示すフローチャートである。
【図34】上記データベースシステムの非同期期間中の
動作を詳細に説明するものであり、ティップの排出処理
を示すフローチャートである。
【図35】上記データベースシステムにおいて、同期処
理の終了直後におけるティップの対応関係を示す説明図
である。
【図36】上記データベースシステムにおいて、同期処
理の終了直後におけるダーティ・ビット・リストを示す
説明図である。
【図37】上記データベースシステムにおいて、次の同
期処理の直前におけるダーティ・ビット・リストを示す
説明図である。
【図38】上記データベースシステムにおいて、同期処
理中の動作を詳細に説明するフローチャートである。
【図39】上記データベースシステムにおいて、同期処
理中の状態を説明するものであり、圧縮後のダーティ・
ビット・リストを示す説明図である。
【図40】上記データベースシステムにおいて、同期処
理中の他の状態を説明するものであり、他の情報処理機
器で追加されたダーティ・ビットが、自らのダーティ・
ビット・リストに追加された状態を示す説明図である。
【図41】上記データベースシステムにおいて、同期処
理中のさらに他の状態を説明するものであり、自らで追
加されたダーティ・ビットが、他の情報処理機器のダー
ティ・ビット・リストに追加された状態を示す説明図で
ある。
【図42】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの移動パラメタの優
先度を示す説明図である。
【図43】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの変化を示す説明図
である。
【図44】上記データベースシステムの同期処理を説明
するものであり、内外判定同期処理の終了時点における
ダーティ・ビット・リストを示す説明図である。
【図45】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの更新パラメタの優
先度を示す説明図である。
【図46】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの更新パラメタの変
化を示す説明図である。
【図47】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットによる優先側判定を
示す説明図である。
【図48】上記データベースシステムの同期処理を説明
するものであり、データ内容同期処理後のダーティ・ビ
ット・リストを示す説明図である。
【図49】上記データベースシステムの同期処理を説明
するものであり、データ内容同期処理後に、さらに圧縮
されたダーティ・ビット・リストを示す説明図である。
【図50】上記データベースシステムにおいて、共有解
除の動作を詳細に説明するフローチャートである。
【図51】上記データベースシステムにおいて、各共有
フクロの共有関係がループ状に形成された状態を示す説
明図である。
【図52】図51の状態で、ある共有フクロにティップ
が追加された場合を示す説明図である。
【図53】図52の後の同期処理を示す説明図である。
【図54】図52の後に、さらに同期処理された場合を
示す説明図である。
【図55】本発明の他の実施形態に係るデータベースシ
ステムにおいて、シンクIDのフォーマットを示す説明
図である。
【図56】上記データベースシステムにおいて、各共有
フクロの共有関係がループ状に形成された状態を示す説
明図である。
【図57】図56の状態で、ある共有フクロにティップ
が追加された場合を示す説明図である。
【図58】図57の後の同期処理を示す説明図である。
【図59】図58の後に、さらに同期処理された場合を
示す説明図である。
【図60】上記データベースシステムにおいて、ダーテ
ィ・ビットの更新伝達を示す説明図である。
【図61】本発明のさらに他の実施形態を示すものであ
り、データベースシステムにおいて、ダーティ・ビット
の更新を伝達する際の動作を示すフローチャートであ
る。
【図62】上記データベースシステムにおいて、ダーテ
ィ・ビットの更新伝達を示す説明図である。
【図63】上記データベースシステムの変形例を示すも
のであり、ダーティ・ビットの更新を伝達する際の動作
を示すフローチャートである。
【図64】上記データベースシステムが同一性判定の基
準として最終更新時刻を使用した場合を示すものであ
り、処理とティップの転送方向とを示す説明図である。
【図65】上記データベースシステムが同一性判定の基
準として最終更新者を使用した場合を示すものであり、
処理とティップの転送方向とを示す説明図である。
【図66】上記データベースシステムが同一性判定の基
準として更新IDを使用した場合を示すものであり、処
理とティップの転送方向とを示す説明図である。
【図67】上記データベースシステムのさらに他の変形
例を示すものであり、同期処理全体を示すフローチャー
トである。
【図68】本発明のまた別の実施形態を示すものであ
り、データベースシステムにおいて、ダーティ・ビット
の更新を伝達する際の動作を示すフローチャートであ
る。
【図69】上記データベースシステムにおいて、ダーテ
ィ・ビットの更新伝達を示す説明図である。
【図70】本発明のまた別の実施形態を示すものであ
り、データベースシステムにおいて、ある共有フクロに
ティップが追加された場合を示す説明図である。
【図71】上記データベースシステムにおいて、ダーテ
ィ・ビットの更新を伝達する際の動作を示すフローチャ
ートである。
【図72】図70の後の同期処理を示す説明図である。
【図73】図72の後に、さらに同期処理された場合を
示す説明図である。
【図74】上記各データベースシステムの変形例を示す
ものであり、各ティップへの操作の一例を示す説明図で
ある。
【符号の説明】
2・7・9・11 情報処理機器(データベース管理
装置) 23 データベース管理部(第1データベース、状態情
報記憶手段、データ管理番号記憶手段、更新者記憶手
段、伝達リスト記憶手段、移動時刻記憶手段、移動回数
記憶手段、更新識別情報記憶手段および最終更新時刻記
憶手段) 24 データベース処理部(データ管理番号設定手段) 32 フクロ管理部(部分集合設定手段) 51 シンクロナイズ処理部(同期処理手段、第1およ
び第2同期処理手段) 52 共有設定処理部(共有範囲対応手段、部分集合対
応手段)

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】互いに通信可能な状態になった他のデータ
    ベース管理装置との間で、互いに対応付けられたデータ
    の内容を一致させる同期処理手段と、第1データベース
    とを有し、同期処理の時点と次の同期処理の時点との間
    の非同期期間中に、第1データベース中のデータを更新
    可能なデータベース管理装置において、 上記第1データベースの少なくとも一部である第1共有
    範囲と、他の複数のデータベース管理装置に、それぞれ
    格納された第2データベースの少なくとも1部であり、
    上記第1共有範囲の第1データに対応付けられる第2デ
    ータを格納する各第2共有範囲とを対応付ける共有範囲
    対応手段と、 上記非同期期間中における上記各第1データの更新状態
    を示す状態情報が、上記第1共有範囲と上記第2共有範
    囲の1つとの組み合わせ毎に記憶される状態情報記憶手
    段とを備え、 上記同期処理手段は、同時には、ただ1つの他のデータ
    ベース管理装置に格納された第2共有範囲と上記第1共
    有範囲とが互いに同一となるように、両共有範囲に対応
    する状態情報に基づいて同期処理し、当該第2共有範囲
    に関連する状態情報を更新すると共に、当該状態情報の
    更新を、他の第2共有範囲に関連する状態情報へ伝達す
    ることを特徴とするデータベース管理装置。
  2. 【請求項2】上記第1共有範囲に含まれる各データに対
    応するデータ管理番号を記憶するデータ管理番号記憶手
    段と、 上記同期処理以外の処理によって、上記第1共有範囲に
    新規に追加されたデータに対しては、他のデータベース
    管理装置とは異なる値に定められたデータベース管理番
    号と、少なくとも全ての上記第1共有範囲に含まれる他
    のデータとは異なる値のデータ番号との組み合わせを、
    上記データ管理番号として設定すると共に、同期処理に
    よって追加されたデータに対しては、他のデータベース
    管理装置で当該データに既に割り当てられているデータ
    管理番号を、上記データ管理番号とするデータ管理番号
    設定手段とを備え、 上記同期処理手段は、データ管理番号に基づいて、各デ
    ータベース間で対応するデータを特定することを特徴と
    する請求項1記載のデータベース管理装置。
  3. 【請求項3】互いに通信可能な状態になった他のデータ
    ベース管理装置との間で、互いに対応付けられたデータ
    の内容を一致させる同期処理手段と、第1データベース
    とを有し、同期処理の時点と次の同期処理の時点との間
    の非同期期間中に、第1データベース中のデータを更新
    可能なデータベース管理装置において、 上記第1データベースの一部である第1共有範囲と、他
    の複数のデータベース管理装置に、それぞれ格納された
    第2データベースの少なくとも1部であり、上記第1共
    有範囲の第1データに対応付けられる第2データを格納
    する各第2共有範囲とを対応付ける共有範囲対応手段
    と、 上記各第1データに対応するデータ管理番号を記憶する
    データ管理番号記憶手段と、 上記同期処理以外の処理によって、上記第1共有範囲に
    新規に追加されたデータに対しては、他のデータベース
    管理装置とは異なる値に定められたデータベース管理番
    号と、少なくとも全ての上記第1共有範囲に含まれる他
    のデータとは異なる値のデータ番号との組み合わせを、
    上記データ管理番号として設定すると共に、同期処理に
    よって追加されたデータに対しては、他のデータベース
    管理装置で当該データに既に割り当てられているデータ
    管理番号を、上記データ管理番号とするデータ管理番号
    設定手段と、 上記非同期期間中に一度でも上記第1共有範囲に含まれ
    た各第1データについて、非同期期間中の更新状態を示
    す状態情報が上記第1共有範囲と上記第2共有範囲との
    組み合わせ毎に記憶される状態情報記憶手段とを備え、 上記同期処理手段は、データ管理番号に基づいて、互い
    に対応する上記第1および第2データを特定し、上記状
    態情報を参照して両データの内容を一致させることを特
    徴とするデータベース管理装置。
  4. 【請求項4】上記データ管理番号記憶手段は、データ管
    理番号を有するデータが、上記第1共有範囲外に配され
    た後も、各データのデータ管理番号も保持すると共に、 上記データ管理番号設定手段は、上記データ管理番号記
    憶手段にデータ管理番号が記憶され、かつ、上記第1共
    有範囲外に配されたデータが、上記第1共有範囲内に配
    された場合、上記データ管理番号記憶手段に記憶された
    データ管理番号を当該データのデータ管理番号とするこ
    とを特徴とする請求項2または3記載のデータベース管
    理装置。
  5. 【請求項5】上記同期処理手段は、上記データ管理番号
    が同一の第1および第2データについて、内容が同一で
    あるか否かを判定し、同一と判定した場合、上記状態情
    報の伝達を中止することを特徴とする請求項2記載のデ
    ータベース管理装置。
  6. 【請求項6】各第1データの最終更新者を記憶する更新
    者記憶手段を備え、 上記同期処理手段は、相手から各データの最終更新者を
    受け取り、当該最終更新者が自機器の場合、当該データ
    に関する上記状態情報の伝達を中止することを特徴とす
    る請求項2記載のデータベース管理装置。
  7. 【請求項7】上記各第1データについて、当該第1デー
    タが内容を維持したまま伝送される際、最終更新者と、
    最終更新者よりも後に経由した全てのデータベース管理
    装置とを示す伝達リストを記憶する伝達リスト記憶手段
    を備え、 上記同期処理手段は、相手から各データの伝達リストを
    受け取り、当該伝達リストに自機器が含まれている場
    合、当該データに関する上記状態情報の伝達を中止する
    ことを特徴とする請求項2記載のデータベース管理装
    置。
  8. 【請求項8】互いに通信可能な状態になった他のデータ
    ベース管理装置との間で、互いに対応付けられたデータ
    の内容を一致させる同期処理手段と、第1データベース
    とを有し、同期処理の時点と次の同期処理の時点との間
    の非同期期間中に、第1データベース中のデータを更新
    可能なデータベース管理装置において、 上記第1データベースの少なくとも一部である第1共有
    範囲と、他の複数のデータベース管理装置に、それぞれ
    格納された第2データベースの少なくとも1部であり、
    上記第1共有範囲の第1データに対応付けられる第2デ
    ータを格納する各第2共有範囲とを対応付ける共有範囲
    対応手段を備え、 上記同期処理手段は、上記第1共有範囲と上記各第2共
    有範囲とを一致させる際、上記各第2共有範囲の1つと
    の間の同期処理と、他の第2共有範囲との間の同期処理
    とを互いに異なる時点で行い、同時には、ただ1つの第
    2共有範囲とのみ、同期処理することを特徴とするデー
    タベース管理装置。
  9. 【請求項9】互いに通信可能な状態になった他のデータ
    ベース管理装置との間で、互いに対応付けられたデータ
    の内容を一致させる同期処理手段と、データベースとを
    有し、同期処理の時点と次の同期処理の時点との間の非
    同期期間中に、上記データベース中のデータを更新可能
    なデータベース管理装置において、 自らのデータベースの一部として、他のデータベース管
    理装置のデータに対応付けられたデータが格納される第
    1部分集合を設定する部分集合設定手段と、 上記第1部分集合内のデータに対応するデータが格納さ
    れる、他のデータベース管理装置の第2部分集合と、当
    該第1部分集合とを対応させる部分集合対応手段と、 上記第1部分集合内外を移動したデータについて、最終
    移動時刻を記憶する移動時刻記憶手段とを備え、 上記同期処理手段としての第1同期処理手段は、第1お
    よび第2部分集合の内容を一致させる際、最終移動時刻
    が遅いデータに合わせて、対応する他のデータを、それ
    ぞれの部分集合の内に配するか否かを決定することを特
    徴とするデータベース管理装置。
  10. 【請求項10】上記最終移動時刻記憶手段に代えて、非
    同期処理期間中に、データが上記第1部分集合内外を移
    動した場合、移動回数を記憶する移動回数記憶手段を備
    え、 上記第1同期処理手段に代わる同期処理手段として、第
    1および第2部分集合の内容を一致させる際、移動回数
    の最も大きなデータに合わせて、他のデータを、それぞ
    れの部分集合内に配するか否かを決定する第2同期処理
    手段が設けられていることを特徴とする請求項9記載の
    データベース管理装置。
  11. 【請求項11】互いに通信可能な状態になった他のデー
    タベース管理装置との間で、互いに対応付けられたデー
    タの内容を一致させる同期処理手段と、第1データベー
    スとを有し、同期処理の時点と次の同期処理の時点との
    間の非同期期間中に、第1データベース中のデータを更
    新可能なデータベース管理装置において、 上記第1データベースの少なくとも一部である第1共有
    範囲と、他のデータベース管理装置に格納された第2デ
    ータベースの少なくとも1部であり、上記第1共有範囲
    の第1データに対応付けられる第2データを格納する第
    2共有範囲とを対応付ける共有範囲対応手段と、 上記非同期期間中における上記各第1データの更新状態
    を示す状態情報が、上記第1共有範囲と上記第2共有範
    囲との組み合わせ毎に記憶される状態情報記憶手段とを
    備え、 上記同期処理手段は、上記第1および第2共有範囲が一
    致するように同期処理する際、互いの状態情報を送受し
    て更新の有無を確認すると共に、複数の共有範囲で更新
    された場合、各データが同一であるか否かを判定した後
    で、いずれのデータの内容で、互いに対応する残余のデ
    ータを置き換えるかを決定することを特徴とするデータ
    ベース管理装置。
  12. 【請求項12】上記同期処理手段は、各データが同一で
    あるか否かを、それぞれのデータの一部である付加情報
    に基づいて判定することを特徴とする請求項11記載の
    データベース管理装置。
  13. 【請求項13】上記付加情報として、各第1データの最
    終更新者を記憶する更新者記憶手段を備え、 上記同期処理手段は、相手から受け取った第2データの
    最終更新者が自機器であり、かつ、第1データが更新さ
    れていない場合、第1および第2データが同一であると
    判定することを特徴とする請求項12記載のデータベー
    ス管理装置。
  14. 【請求項14】上記付加情報として、上記各第1データ
    について、当該第1データが内容を維持したまま伝送さ
    れる際、最終更新者と、最終更新者よりも後に経由した
    全てのデータベース管理装置とを示す伝達リストを記憶
    する伝達リスト記憶手段を備え、 上記同期処理手段は、相手から受け取った第2データの
    伝達リストに自機器が含まれ、かつ、第1データが更新
    されていない場合、第1および第2データが同一である
    と判定することを特徴とする請求項12記載のデータベ
    ース管理装置。
  15. 【請求項15】上記付加情報として、上記各第1データ
    について、更新毎に異なる値に設定した更新識別情報を
    記憶する更新識別情報記憶手段を備え、 上記同期処理手段は、更新識別情報が同一である場合、
    第1および第2データが同一であると判定することを特
    徴とする請求項12記載のデータベース管理装置。
  16. 【請求項16】上記付加情報として、上記各第1データ
    について、最終更新時刻を記憶する最終更新時刻記憶手
    段を備え、 上記同期処理手段は、最終更新時刻が同一である場合、
    第1および第2データが同一であると判定することを特
    徴とする請求項12記載のデータベース管理装置。
  17. 【請求項17】同期処理の時点と次の同期処理の時点と
    の間の非同期期間中に、自らの第1データベース中のデ
    ータを更新可能で、かつ、互いに通信可能な状態になっ
    た他のデータベース管理装置との間で、互いに対応付け
    られたデータの内容を一致させるデータベース管理プロ
    グラムが記憶された記録媒体において、 請求項8記載の共有範囲対応手段、状態情報記憶手段お
    よび同期処理手段として、コンピュータを動作させるた
    めのプログラムが記録された記録媒体。
  18. 【請求項18】同期処理の時点と次の同期処理の時点と
    の間の非同期期間中に、自らの第1データベース中のデ
    ータを更新可能で、かつ、互いに通信可能な状態になっ
    た他のデータベース管理装置との間で、互いに対応付け
    られたデータの内容を一致させるデータベース管理プロ
    グラムが記憶された記録媒体において、 請求項3記載の共有範囲対応手段、データ管理番号記憶
    手段、データ管理番号設定手段、状態情報記憶手段およ
    び同期処理手段として、コンピュータを動作させるため
    のプログラムが記録された記録媒体。
  19. 【請求項19】同期処理の時点と次の同期処理の時点と
    の間の非同期期間中に、自らの第1データベース中のデ
    ータを更新可能で、かつ、互いに通信可能な状態になっ
    た他のデータベース管理装置との間で、互いに対応付け
    られたデータの内容を一致させるデータベース管理プロ
    グラムが記憶された記録媒体において、 請求項9記載の部分集合設定手段、部分集合対応手段、
    移動時刻記憶手段および第1同期処理手段として、コン
    ピュータを動作させるためのプログラムが記録された記
    録媒体。
  20. 【請求項20】上記最終移動時刻記憶手段としてコンピ
    ュータを動作させるためのプログラムに代えて、非同期
    処理期間中に、データが上記第1部分集合内外を移動し
    た場合、移動回数を記憶する移動回数記憶手段として、
    コンピュータを動作させるためのプログラムが記録さ
    れ、 上記第1同期処理手段としてコンピュータを動作させる
    ためのプログラムに代えて、移動回数の最も大きなデー
    タに合わせて、他のデータを、それぞれの部分集合内に
    配するか否かを決定する第2同期処理手段として、コン
    ピュータを動作させるためのプログラムが記録されてい
    ることを特徴とする請求項19記載の記録媒体。
  21. 【請求項21】同期処理の時点と次の同期処理の時点と
    の間の非同期期間中に、自らの第1データベース中のデ
    ータを更新可能で、かつ、互いに通信可能な状態になっ
    た他のデータベース管理装置との間で、互いに対応付け
    られたデータの内容を一致させるデータベース管理プロ
    グラムが記憶された記録媒体において、 請求項11記載の共有範囲対応手段、状態情報記憶手段
    および同期処理手段として、コンピュータを動作させる
    ためのプログラムが記録された記録媒体。
JP17168199A 1999-06-17 1999-06-17 データベース管理装置、および、そのプログラムが記録された記録媒体 Expired - Fee Related JP3756349B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP17168199A JP3756349B2 (ja) 1999-06-17 1999-06-17 データベース管理装置、および、そのプログラムが記録された記録媒体
US09/592,458 US6549902B1 (en) 1999-06-17 2000-06-09 Database managing device
EP00112705A EP1061455A1 (en) 1999-06-17 2000-06-15 Database managing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17168199A JP3756349B2 (ja) 1999-06-17 1999-06-17 データベース管理装置、および、そのプログラムが記録された記録媒体

Publications (2)

Publication Number Publication Date
JP2001005708A true JP2001005708A (ja) 2001-01-12
JP3756349B2 JP3756349B2 (ja) 2006-03-15

Family

ID=15927734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17168199A Expired - Fee Related JP3756349B2 (ja) 1999-06-17 1999-06-17 データベース管理装置、および、そのプログラムが記録された記録媒体

Country Status (3)

Country Link
US (1) US6549902B1 (ja)
EP (1) EP1061455A1 (ja)
JP (1) JP3756349B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002075549A1 (ja) * 2001-03-16 2004-07-08 シャープ株式会社 データを同期させるシステム、そのシステムに用いられる装置およびデータ同期方法
JPWO2003040925A1 (ja) * 2001-10-22 2005-03-03 アイシン・エィ・ダブリュ株式会社 情報管理システム、情報管理システム用サーバ及び情報管理システム用情報端末
JP2007164523A (ja) * 2005-12-14 2007-06-28 Nec Corp 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム
JP2013211016A (ja) * 2006-09-29 2013-10-10 Lam Research Corporation 動的コンポーネントトラッキングシステムおよびそのための方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8588729B2 (en) * 1994-11-21 2013-11-19 Bgc Partners, Inc. Method for retrieving data stored in a database
US6876309B1 (en) * 1994-11-21 2005-04-05 Espeed, Inc. Bond trading system
WO2000078004A2 (en) 1999-06-10 2000-12-21 Alcatel Internetworking, Inc. Policy based network architecture
US7032022B1 (en) 1999-06-10 2006-04-18 Alcatel Statistics aggregation for policy-based network
US7650364B2 (en) * 2002-10-09 2010-01-19 Hewlett-Packard Development Company, L.P. Portable database system
US7761412B2 (en) * 2005-04-22 2010-07-20 Microsoft Corporation Synchronization move support systems and methods
US20090292883A1 (en) * 2008-05-23 2009-11-26 Nokia Corporation Apparatus, Method, and Computer Program Product for Memory Validation Operations in a Memory
US8977776B1 (en) * 2012-06-18 2015-03-10 Amazon Technologies, Inc. Content streaming with bandwidth management
CN105808446B (zh) * 2016-03-08 2019-01-29 广东宝莱特医用科技股份有限公司 一种数据管理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241237A (ja) * 1994-12-07 1996-09-17 Xerox Corp データ識別プロセス
JPH09128280A (ja) * 1995-10-27 1997-05-16 Toshiba Corp データ管理装置及びデータ管理方法
JPH09134304A (ja) * 1995-11-10 1997-05-20 Nippon Telegr & Teleph Corp <Ntt> スケジュール同期方法
JPH10149308A (ja) * 1996-11-19 1998-06-02 Sharp Corp データベース管理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157777A (en) * 1989-12-22 1992-10-20 Intel Corporation Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism
US5710922A (en) 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5664207A (en) 1994-12-16 1997-09-02 Xcellenet, Inc. Systems and methods for automatically sharing information among remote/mobile nodes
JPH096693A (ja) 1995-06-22 1997-01-10 Toshiba Corp 情報処理方法
US5884323A (en) 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5926816A (en) * 1996-10-09 1999-07-20 Oracle Corporation Database Synchronizer
US5870765A (en) 1996-10-09 1999-02-09 Oracle Corporation Database synchronizer
US6324581B1 (en) * 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241237A (ja) * 1994-12-07 1996-09-17 Xerox Corp データ識別プロセス
JPH09128280A (ja) * 1995-10-27 1997-05-16 Toshiba Corp データ管理装置及びデータ管理方法
JPH09134304A (ja) * 1995-11-10 1997-05-20 Nippon Telegr & Teleph Corp <Ntt> スケジュール同期方法
JPH10149308A (ja) * 1996-11-19 1998-06-02 Sharp Corp データベース管理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002075549A1 (ja) * 2001-03-16 2004-07-08 シャープ株式会社 データを同期させるシステム、そのシステムに用いられる装置およびデータ同期方法
JPWO2003040925A1 (ja) * 2001-10-22 2005-03-03 アイシン・エィ・ダブリュ株式会社 情報管理システム、情報管理システム用サーバ及び情報管理システム用情報端末
JP2007164523A (ja) * 2005-12-14 2007-06-28 Nec Corp 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム
JP2013211016A (ja) * 2006-09-29 2013-10-10 Lam Research Corporation 動的コンポーネントトラッキングシステムおよびそのための方法

Also Published As

Publication number Publication date
EP1061455A1 (en) 2000-12-20
US6549902B1 (en) 2003-04-15
JP3756349B2 (ja) 2006-03-15

Similar Documents

Publication Publication Date Title
KR100945221B1 (ko) 통신 시스템의 데이터 동기화 장치
US9021137B2 (en) Massively scalable object storage system
CN100492356C (zh) 用于管理媒体项的方法、系统和设备
US7836015B1 (en) Fast synchronization of computer databases using coverage status
JP2001005708A (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
US20140082301A1 (en) Massively scalable object storage for storing object replicas
JP2003522344A (ja) データベース同期化/組織化システムおよび方法
CN101009516A (zh) 一种进行数据同步的方法及系统
IL131710A (en) A method for maintaining consistency in copying
JP2010134630A (ja) 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム
JP4225729B2 (ja) 情報管理装置
CN101207580A (zh) 即时通信平台和业务平台同步增删联系人的方法及系统
US20200412795A1 (en) Merge trees for collaboration
CN1818902A (zh) 使用设备数据模式同步服务器和设备数据
CN104967653B (zh) 数据同步拉取、下发方法和装置
CN103701653B (zh) 一种接口热插拔配置数据的处理方法及网络配置服务器
CN102325367B (zh) 为客户端应用进行数据分组同步的装置和方法
JP4481053B2 (ja) 通信機器、通信機器の制御方法、通信機器の制御プログラム
KR20020014888A (ko) 이동통신 단말기와 개인정보 서버와의 주소록 동기화 방법
JP4142866B2 (ja) データベース同期化装置及びプログラム
JP3501968B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
JPH113368A (ja) 分散環境におけるスケジュールデータ管理方法及びシステム及びスケジュールデータ管理プログラムを格納した記憶媒体
JPH09134304A (ja) スケジュール同期方法
JP3501944B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
JP3501943B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050805

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051221

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100106

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110106

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees