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

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

Info

Publication number
JPH11327987A
JPH11327987A JP10135778A JP13577898A JPH11327987A JP H11327987 A JPH11327987 A JP H11327987A JP 10135778 A JP10135778 A JP 10135778A JP 13577898 A JP13577898 A JP 13577898A JP H11327987 A JPH11327987 A JP H11327987A
Authority
JP
Japan
Prior art keywords
database management
data
sharing
database
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
JP10135778A
Other languages
English (en)
Other versions
JP3501943B2 (ja
Inventor
Toshiyuki Iwai
俊幸 岩井
Kanji Nakagawa
寛治 中川
Hidetoshi Takizawa
英俊 瀧沢
Tashi Kamakura
多志 鎌倉
Fusayuki Fujita
房之 藤田
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 JP13577898A priority Critical patent/JP3501943B2/ja
Publication of JPH11327987A publication Critical patent/JPH11327987A/ja
Application granted granted Critical
Publication of JP3501943B2 publication Critical patent/JP3501943B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 対応するデータを複数で独立して変更可能な
データベースシステムにて、同期処理時の通信データ量
と、データベースの格納に必要なメモリ量と、操作の手
間とを削減可能なデータベース管理装置を実現する。 【解決手段】 両情報処理機器2の共有設定処理部52
は、自らの共有フクロと相手の共有フクロとを対応付け
る。その後、各情報処理機器2は、独立してティップを
変更し、通信可能になった時点で、共有フクロ内のティ
ップ内容を一致させる。ティップが双方で変更された場
合、シンクロナイズ処理部51は、共有設定時に選択さ
れたルールで優先側を決定し、優先側の内容で非優先側
を置き換える。これにより、ルールの不一致による不所
望な置き換えを防止できる。また、同期処理後に不要な
ティップを抽出・削除する場合よりも、上記通信データ
量、メモリ量および操作の手間を削減できる。

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】しかしながら、上記構成では、双方でデー
タが訂正された場合は、それぞれが相手のデータベース
に追加され、データベースに含まれるデータ数が増加す
る。この結果、データベースの記憶に必要なメモリ量が
増大し、通信量も増大する。また、データ数の増加を抑
えるためには、同期処理の後、不要なデータを削除する
必要がある。ところが、この操作は、同期処理後のデー
タベースから、一方で訂正されたデータと他方で訂正さ
れたデータとを抽出し、双方を比較すると共に、削除す
るデータを指定する必要があり、非常に手間がかかる。
さらに、通常は、一方のデータベース管理装置で操作さ
れるので、他方のデータベース管理装置へ、データの削
除を反映させる必要があり、両データベース管理装置間
の通信量がさらに増大する。
【0014】さらに、データベース単位で同期処理する
か否かを設定する場合、同期処理が不要なデータについ
ても同期処理するか、あるいは、同期処理を要するデー
タのみからなるデータベースを新たに作成する必要があ
る。一方、データ毎に同期処理するか否かを指示する場
合は、非常に手間がかかる。
【0015】本発明は、上記の問題点に鑑みてなされた
ものであり、その目的は、互いに対応するデータが複数
で独立して更新された場合であっても、データベースの
規模が増大せず、少ない通信データ量で同期処理できる
と共に、同期処理と、同期処理の前後の共有設定および
共有解除とを少ない手間で操作可能なデータベース管理
装置、および、そのプログラムが記録された記録媒体と
を実現することにある。
【0016】
【課題を解決するための手段】請求項1の発明に係るデ
ータベース管理装置は、上記課題を解決するために、複
数のデータベース管理装置と、同期処理よりも前に、対
応するデータが格納される共有範囲を各データベース間
で指定する共有設定手段と、互いに通信可能になったデ
ータベース管理装置に格納されたデータベース間で、対
応するデータの内容を一致させる同期処理手段とを有す
るデータベースシステムを構成するために設けられ、少
なくとも1つのデータベースを有するデータベース管理
装置において、以下の手段を講じたことを特徴としてい
る。
【0017】すなわち、前回の同期処理から次回の同期
処理まで非同期期間中に、互いに対応するデータのうち
で複数のデータが変更された場合に優先側を決定すると
共に、上記同期処理手段に指示して、優先側のデータ内
容で非優先側のデータ内容を置き換えさせる優先側決定
手段を複数備え、さらに、上記複数の優先側決定手段の
うちで使用する優先側決定手段を、共有設定の時点で選
択する選択手段が設けられていることを特徴としてい
る。
【0018】上記構成によれば、互いに対応するデータ
が、複数のデータベース管理装置で更新された場合(デ
ータが衝突した場合)、予め選択された優先側決定手段
によって優先側が決定され、優先側のデータ内容で、非
優先側のデータ内容が置き換えられる。この結果、デー
タベースのデータ数の増大を防止できると共に、同期処
理の際、伝送あるいは処理されるデータ量を削減でき
る。
【0019】また、互いに異なるルールで優先側を決定
する優先側決定手段のうち、1つを選択する。それゆ
え、データ毎に優先側を指示する場合、および、同期処
理が終了した後で、不要なデータを削除する場合に比べ
て、少ない操作で不要なデータを削除できる。
【0020】さらに、各データベース管理装置間が通信
可能な共有設定の時点で、優先側決定手段が選択され
る。それゆえ、各データベース管理装置が承認した優先
側決定手段を使用でき、各データベース管理装置は、不
所望な優先側決定手段の使用を拒絶できる。この結果、
互いに通信不能な時点で選択する場合よりも、安全なデ
ータベースシステムを実現できる。
【0021】請求項2の発明に係るデータベース管理装
置は、請求項1記載の発明の構成において、さらに、上
記非同期期間中に、互いに対応するデータのうちで複数
のデータが変更された場合、変更されたデータを残余の
データベースへ追加する複写手段を備え、上記選択手段
は、優先側決定手段と複写手段とのうちの一つを選択す
ることを特徴としている。
【0022】当該構成では、選択手段が共有設定の時点
で、選択手段が複写手段を選択することで、不所望なデ
ータの削除を確実に防止できる。それゆえ、データベー
ス管理装置の安全性を向上できる。
【0023】また、請求項3の発明に係るデータベース
管理装置は、上記課題を解決するために、複数のデータ
ベース管理装置と、当該データベース管理装置の指示に
基づいて、互いに通信可能になったデータベース管理装
置に格納されたデータベース間で、対応するデータの内
容を一致させる同期処理手段とを有するデータベースシ
ステムを構成するために設けられ、少なくとも1つのデ
ータベースを有するデータベース管理装置において、以
下の手段を講じたことを特徴としている。
【0024】すなわち、前回の同期処理から次回の同期
処理まで非同期期間中に、互いに対応するデータのうち
で複数のデータが変更された場合、同期処理の開始を指
示したデータベース管理装置に基づいて、優先側を決定
すると共に、上記同期処理手段に指示して、優先側のデ
ータ内容で非優先側のデータ内容を置き換えさせる優先
側決定手段を備えている。なお、優先側決定手段は、同
期処理の開始を指示した側(同期処理起動側)を優先側
と決定してもよいし、同期処理の開始指示を受け取った
側(同期処理受動側)を優先側と決定してもよい。
【0025】上記構成によれば、同期処理の際、対応す
るデータの組のうちで複数のデータが変更された場合
(データが衝突した場合)、優先側となるデータが決定
され、当該データの内容で、非優先側の内容が置き換え
られる。この結果、データが衝突した場合であっても、
データベースに含まれるデータ数を一定に保つことがで
きる。さらに、同期処理時に優先側が決定されるので、
同期処理後に非優先側のデータを削除する手間が必要な
従来技術よりも、手間を削減できると共に、同期処理の
際に伝送あるいは処理されるデータ量を削減できる。
【0026】加えて、いずれのデータベース管理装置が
同期処理の開始を指示するかで優先側を変更できるの
で、同期処理毎に優先側を問い合わせる場合に比べて少
ない手間で優先側を変更できる。
【0027】なお、各データベース管理装置が対等で、
いずれのデータベース管理装置を優先するかを特定でき
ない場合であっても、各データベース管理装置、あるい
は、それぞれの使用者は、データベースへの操作から、
データが変更されたか否かを識別でき、同期処理の開始
を指示できる。それゆえ、各データベース管理装置が対
等な場合であっても、適切に優先側を決定できる。
【0028】さらに、請求項4の発明に係るデータベー
ス管理装置は、複数のデータベース管理装置と、当該デ
ータベース管理装置の指示に基づいて、同期処理よりも
前に、対応するデータが格納される共有範囲を各データ
ベース間で指定する共有設定手段と、互いに通信可能に
なったデータベース管理装置に格納されたデータベース
間で、対応するデータの内容を一致させる同期処理手段
とを有するデータベースシステムを構成するために設け
られ、少なくとも1つのデータベースを有するデータベ
ース管理装置において、以下の手段を講じたことを特徴
としている。
【0029】すなわち、前回の同期処理から次回の同期
処理まで非同期期間中に、互いに対応するデータのうち
で複数のデータが変更された場合、共有設定を指示した
データベース管理装置に基づいて、優先側を決定すると
共に、上記同期処理手段に指示して、優先側のデータ内
容で非優先側のデータ内容を置き換えさせる優先側決定
手段を備えている。なお、優先側決定手段は、共有設定
を指示した側(共有設定起動側)を優先側と決定しても
よいし、共有設定の指示を受け取った側(共有設定受動
側)を優先側と決定してもよい。
【0030】当該構成では、請求項5に係るデータベー
ス管理装置と同様に、データベースに含まれるデータ数
を一定に保つことができ、個々のデータを削減する手間
を削減できると共に、同期処理の際に伝送あるいは処理
されるデータ量を削減できる。加えて、いずれのデータ
ベース管理装置が共有設定を指示するかで優先側を変更
できるので、共有設定とは別に、優先側を決定する場合
に比べて、少ない手間で優先側を設定できる。
【0031】なお、当該構成は、例えば、各データベー
ス管理装置によりクライアント/サーバ型のデータベー
スシステムが構築され、各データベースが、マスターと
コピーとの関係にある場合のように、優先側のデータベ
ース管理装置を固定できる場合に好適に使用される。
【0032】一方、請求項6の発明に係るデータベース
管理装置は、上記課題を解決するために、複数のデータ
ベース管理装置と、当該データベース管理装置の指示に
基づいて、互いに通信可能になったデータベース管理装
置に格納されたデータベース間で、対応するデータの内
容を一致させる同期処理手段とを有するデータベースシ
ステムを構成するために設けられ、少なくとも1つのデ
ータベースを有するデータベース管理装置において、以
下の手段を講じたことを特徴としている。
【0033】すなわち、前回の同期処理から次回の同期
処理まで非同期期間中に、互いに対応するデータのうち
で複数のデータが変更された場合、優先側を問い合わせ
て優先側を決定すると共に、上記同期処理手段に指示し
て、優先側のデータ内容で非優先側のデータ内容を置き
換えさせる優先側決定手段を備えていることを特徴とし
ている。
【0034】上記構成によれば、優先側決定手段は、例
えば、自らの上位アプリケーションや使用者などへ、デ
ータ衝突の発生を示す情報、あるいは、例えば、各デー
タの内容の一部または全部など、データ衝突の状態を示
す情報を提示して、いずれのデータを優先するかを問い
合わせる。なお、当該問い合わせは、各データ毎に行っ
てもよいし、同期処理毎に行ってもよい。一方、上位ア
プリケーションや使用者などは、提示された情報に基づ
き、優先側を決定して回答する。さらに、優先側決定手
段は、当該回答に基づいて、優先側を決定し、同期処理
手段に置き換えを指示する。
【0035】当該構成では、請求項3に係るデータベー
ス管理装置と同様に、データベースに含まれるデータ数
を一定に保つことができ、同期処理の際に伝送あるいは
処理されるデータ量を削減できる。また、同期処理毎の
場合は、一度の回答で優先側を決定できると共に、デー
タ毎の場合であっても、データ衝突毎に回答するだけで
優先側を決定できる。それゆえ、データ衝突時に、変更
されたデータ全てを残し、かつ、同期処理後に、衝突し
たデータを抽出して削除する従来技術に比べて、操作の
手間を削減できる。
【0036】ところで、同期処理の際、各データベース
管理装置間の通信路を維持しようとすると、例えば、使
用者が席を外している場合や、上位アプリケーションが
優先側を決定する際に複雑な演算を必要とする場合のよ
うに、優先側決定手段が問い合わせてから回答が得られ
るまでの応答時間が長くなるに伴って、通信時間が増大
する。この結果、例えば、公衆電話回線を使用している
場合などのように、通信時間に応じて、通信費用が増大
する場合には、同期処理に要する通信費用が高騰する虞
れがある。また、通信路を維持している場合、通信路あ
るいはデータベース管理装置が占有される場合には、こ
れらを他の用途に転用できない。
【0037】これに対して、請求項6の発明に係るデー
タベース管理装置は、請求項5記載の発明の構成におい
て、上記優先側決定手段は、上記優先側の問い合わせと
データ内容の置き換えとの間に、他のデータベース管理
装置との通信を切断することを特徴としている。
【0038】それゆえ、上記応答時間に拘わらず、通信
時間の合計を一定の値に保つことができ、応答中通信路
を維持し続ける場合に比べて、通信時間を短縮できる。
【0039】請求項7の発明に係るデータベース管理装
置は、請求項1、2、3、4、5または6記載の発明の
構成において、上記優先側決定手段は、自らが決定した
優先側と、相手から指定された優先側とに基づいて、上
記同期処理手段へ指示する優先側を決定することを特徴
としている。
【0040】当該構成によれば、優先側決定手段は、自
らで決定した優先側だけではなく、他の優先側決定手段
から指定された優先側とに基づいて、優先側を決定す
る。それゆえ、各データベース管理装置が優先側決定手
段を持ち、それぞれでの優先側が互いに異なる場合であ
っても、例えば、優先側を再考するなどして、適切な優
先側を決定できる。
【0041】一方、請求項8の発明に係るデータベース
管理装置は、請求項1、2、3、4、5、6または7記
載の発明の構成において、上記優先側決定手段は、互い
に対応するデータのうちで複数のデータが変更され、か
つ、相手のデータベース管理装置が優先側を指定しなか
った場合、自らが決定した優先側を、上記同期処理手段
へ指示することを特徴としている。
【0042】上記構成によれば、例えば、データベース
システム内に、優先側決定手段を持たないデータベース
管理装置が存在する場合であっても、同期処理時に互い
に通信するデータベース管理装置のうち、少なくとも1
つのデータベース管理装置が優先側決定手段を持ってい
れば、優先側を決定できる。
【0043】また、請求項9の発明に係るデータベース
管理装置は、請求項1、2、3、4、5、6、7または
8記載の発明の構成において、上記優先側決定手段は、
互いに対応するデータのうちで、少なくとも一つのデー
タが変更された場合も、優先側を決定することを特徴と
している。
【0044】上記構成では、優先側決定手段は、データ
の少なくとも一つが変更された場合も、データが衝突し
た場合と同様に優先側を決定する。それゆえ、優先側が
変更されていない場合は、非優先側のデータの内容を変
更前に戻すことができ、ダウンロードやアップロードを
確実に実施できる。
【0045】さらに、請求項10の発明に係るデータベ
ース管理装置は、複数のデータベース管理装置と、互い
に通信可能になったデータベース管理装置に格納された
データベース間で、対応するデータの内容を一致させる
同期処理手段とを有するデータベースシステムを構成す
るために設けられ、少なくとも1つのデータベースを有
するデータベース管理装置において、以下の手段を講じ
たことを特徴としている。
【0046】すなわち、同期処理よりも前に、対応する
データが格納される共有範囲を各データベース間で指定
する共有設定手段を備え、当該共有設定手段は、共有が
指示されたデータベースのうち、少なくとも1つに、共
有範囲となる部分集合を新たに作成することを特徴とし
ている。なお、残余の共有範囲は、既に存在する部分集
合を指定してもよいし、データベース全体を指定しても
よい。また、全てのデータベースで部分集合を作成して
もよい。
【0047】上記構成では、データベースの大きさとは
独立して、共有範囲を指定できるので、共有専用のデー
タベースを新たに作成する必要がない。この結果、デー
タベース管理装置に必要なメモリ量を削減できると共
に、同期処理の際、各データベース管理装置間で、伝送
あるいは処理されるデータ量を削減できる。また、デー
タが共有範囲に含まれるか否かによって、同期処理を行
うか否かを決定できるので、データ毎に同期処理するか
否かを指定する場合に比べて、共有設定時の手間を削減
できる。
【0048】また、少なくとも1つのデータベース内に
部分集合を作成するので、共有設定の際、対応するデー
タを持たないデータベース管理装置へ新たな部分集合の
作成を指示することなく、各共有範囲を対応付けること
ができる。この結果、共有設定時の手間をさらに削減で
きる。
【0049】一方、請求項11の発明に係るデータベー
ス管理装置は、上記課題を解決するために、複数のデー
タベース管理装置と、互いに通信可能になったデータベ
ース管理装置に格納されたデータベース間で、対応する
データの内容を一致させる同期処理手段とを有するデー
タベースシステムを構成するために設けられ、少なくと
も1つのデータベースを有するデータベース管理装置に
おいて、以下の手段を講じたことを特徴としている。
【0050】すなわち、同期処理よりも前に、対応する
データが格納される共有範囲を各データベース間で指定
する共有設定手段を備え、当該共有設定手段は、共有設
定の後、上記同期処理手段に、対応付けられた共有範囲
間の同期処理を指示する。
【0051】上記構成によれば、共有設定の際、合わせ
て同期処理も行われる。それゆえ、共有設定の後、特に
同期処理を指示せずに、各共有範囲の内容を互いに一致
させることができる。
【0052】請求項12の発明に係るデータベース管理
装置は、上記課題を解決するために、複数のデータベー
ス管理装置と、同期処理よりも前に、対応するデータが
格納される共有範囲を各データベース間で指定する共有
設定手段と、互いに通信可能になったデータベース管理
装置に格納されたデータベース間で、対応するデータの
内容を一致させる同期処理手段とを有するデータベース
システムを構成するために設けられ、少なくとも1つの
データベースを有するデータベース管理装置において、
以下の手段を講じたことを特徴としている。すなわち、
上記共有設定手段により指定された共有範囲の対応付け
を解消する共有解除手段を備え、当該共有解除手段は、
共有解除に先立って、上記同期処理手段に、対応付けら
れた共有範囲間の同期処理を指示する。
【0053】上記構成によれば、共有解除の際、合わせ
て同期処理も行われる。それゆえ、共有解除に先立っ
て、特に同期処理を指示しなくても、各共有範囲の内容
を互いに一致させた状態で、共有解除できる。
【0054】また、請求項13の発明に係るデータベー
ス管理装置は、上記課題を解決するために、複数のデー
タベース管理装置と、同期処理よりも前に、対応するデ
ータが格納される共有範囲を各データベース間で指定す
る共有設定手段と、互いに通信可能になったデータベー
ス管理装置に格納されたデータベース間で、対応するデ
ータの内容を一致させる同期処理手段とを有するデータ
ベースシステムを構成するために設けられ、少なくとも
1つのデータベースを有するデータベース管理装置にお
いて、以下の手段を講じたことを特徴としている。
【0055】すなわち、上記共有設定手段により指定さ
れた共有範囲の対応付けを解消する共有解除手段を備
え、当該共有解除手段は、少なくとも1つの共有範囲に
含まれるデータを削除する。なお、全ての共有範囲に
て、データを削除してもよい。
【0056】ところで、同期処理の際、共有設定内の全
てのデータは、相手の共有範囲内のデータと対応付けら
れ、それぞれのデータ変更の有無に応じて、データの内
容が転送される。それゆえ、共有範囲内に含まれるデー
タ数が増大するに従って、伝送あるいは処理されるデー
タ量が増大する。
【0057】また、共有解除後は、互いに対応するデー
タは、各データベース管理装置それぞれに残留する。こ
の結果、データベースシステム全体のデータ量は、共有
設定前に比べて増大しがちである。ここで、互いに対応
するデータのうち、不要なものを削除しようとすると、
各データベース管理装置において、データ削除を指示す
る必要があり、手間がかかる。
【0058】ところが、上記構成によれば、同期処理が
不要になった時点で、共有設定が解除される。これによ
り、共有範囲の不所望な拡大を防止でき、同期処理時に
伝送あるいは処理されるデータ量を削減できる。さら
に、共有解除の際、共有範囲内のデータ削除を指示する
ことなく、少なくとも1つの共有範囲に含まれるデータ
を削減できる。この結果、操作の手間を増大させること
なく、データベースシステム全体に含まれるデータ量を
削減できる。
【0059】さらに、請求項14の発明に係るデータベ
ース管理装置は、請求項13の発明の構成において、上
記共有解除手段は、対応付けを解消する共有範囲のう
ち、1つの共有範囲では、データを削除せず、残余の共
有範囲では、データを削除することを特徴としている。
【0060】ところで、共有解除の後、互いに対応する
データが、複数のデータベース管理装置に残留すると、
それぞれで独立して変更される虞れがある。したがっ
て、これらのデータを再び対応付ける場合には、例え
ば、それぞれを別のデータとして扱ったり、データの内
容を参照して、対応付ける必要がある。この結果、共有
解除と共有設定とを繰り返すと、各データベース管理装
置に含まれるデータ量が増大したり、対応付けの際に、
煩雑な操作や複雑な演算が必要になる虞れがある。
【0061】これに対して、上記構成では、共有解除の
際、互いに対応しているデータのうち、特定の共有範囲
に含まれるデータのみが残留する。それゆえ、共有解除
と共有設定とを繰り返した場合であっても、データベー
スシステムのデータ量、および、対応付けの際の手間や
演算量の増大を抑制できる。
【0062】請求項15の発明に係るデータベース管理
装置は、上記課題を解決するために、複数のデータベー
ス管理装置と、同期処理よりも前に、対応するデータが
格納される共有範囲を各データベース間で指定する共有
設定手段と、互いに通信可能になったデータベース管理
装置に格納されたデータベース間で、対応するデータの
内容を一致させる同期処理手段とを有するデータベース
システムを構成するために設けられ、少なくとも1つの
データベースを有するデータベース管理装置において、
上記共有設定手段により指定された共有範囲の対応付け
を解消する共有解除手段を備え、当該共有解除手段は、
共有範囲となる部分集合のうち、少なくとも1つの部分
集合を削除することを特徴としている。
【0063】上記構成によれば、請求項13と同様に、
同期処理が不要になった時点で、共有設定が解除され
る。これにより、共有範囲の不所望な拡大を防止でき、
同期処理時に伝送あるいは処理されるデータ量を削減で
きる。さらに、共有解除の際、共有範囲の削除を指示す
ることなく、少なくとも1つの共有範囲が削減できる。
この結果、操作の手間を増大させることなく、各データ
ベース管理装置にて、共有範囲の設定に必要なメモリ量
を削減できる。
【0064】請求項16の発明に係るデータベース管理
装置は、上記課題を解決するために複数のデータベース
管理装置と、同期処理よりも前に、対応するデータが格
納される共有範囲を各データベース間で指定する共有設
定手段と、互いに通信可能になったデータベース管理装
置に格納されたデータベース間で、対応するデータの内
容を一致させる同期処理手段とを有するデータベースシ
ステムを構成するために設けられ、少なくとも1つのデ
ータベースを有するデータベース管理装置において、以
下の手段を講じたことを特徴としている。
【0065】すなわち、請求項13、14または15記
載の共有解除手段のうちの少なくとも1つを含む複数の
異なる共有解除手段を備え、さらに、共有設定の時点
で、いずれの共有解除手段を使用するかを選択する選択
手段を備えている。
【0066】上記構成によれば、請求項13、14また
は15と同様に、同期処理が不要になった時点で、共有
設定が解除される。これにより、共有範囲の不所望な拡
大を防止でき、同期処理時に伝送あるいは処理されるデ
ータ量を削減できる。
【0067】ここで、上記各請求項に記載の共有解除手
段は、少なくとも1つのデータベース管理装置におい
て、データあるいは共有範囲を削除する。それゆえ、各
データベース管理装置が独立して共有解除手段を指定で
きる場合、自らのデータあるいは共有範囲が、相手の共
有解除手段によって不所望に削除される虞れがある。
【0068】ところが、上記構成によれば、共有解除手
段の選択時点が共有設定の時点に限定されているので、
各データベース管理装置が承認した共有解除手段を使用
できる。この結果、各データベース管理装置は、不所望
な共有解除手段の使用を拒絶でき、それぞれが独立して
選択できる場合よりも、安全なデータベースシステムを
実現できる。
【0069】ところで、上記各データベース管理装置
は、ハードウェアで実現してもよいし、以下に示すよう
に、コンピュータに所定のプログラムを実行させて実現
してもよい。
【0070】具体的には、請求項17の発明に係る記録
媒体は、上記課題を解決するために、複数のデータベー
ス間で互いに対応するデータの内容を同一に管理するた
めのプログラムが記録された記録媒体において、請求項
1記載の優先側決定手段および選択手段として、コンピ
ュータを動作させるためのプログラムが記録されている
ことを特徴としている。
【0071】上記構成の記録媒体をコンピュータが読み
取り、プログラムを実行すると、当該コンピュータは、
請求項1記載のデータベース管理装置として動作する。
それゆえ、請求項1と同様に、データベースのデータ
数、通信および処理されるデータ量、並びに、操作の手
間が少なく、安全なデータベース管理装置を実現でき
る。
【0072】同様に、請求項18ないし25の発明に係
るデータベース管理装置は、上記課題を解決するため
に、複数のデータベース間で互いに対応するデータの内
容を同一に管理するためのプログラムが記録された記録
媒体において、請求項3、4、5、10、11、12、
13または15のデータベース管理装置として、コンピ
ュータを動作させるためのプログラムが記録されている
ことを特徴としている。
【0073】それゆえ、上記プログラムをコンピュータ
に実行させることによって、上記各請求項と同様に、デ
ータベースのデータ数、通信および処理されるデータ
量、並びに、操作の手間が少ないデータベース管理装置
を実現できる。
【0074】
【発明の実施の形態】〔第1の実施形態〕本発明の一実
施形態について図1ないし図61に基づいて説明すると
以下の通りである。すなわち、本実施形態に係るデータ
ベースシステムは、例えば、個人情報などを複数のデー
タベース管理装置で管理する場合など、互いに通信可能
な期間が制限され、かつ、それぞれが独立してデータを
更新可能な複数のデータベース間で、対応するデータの
内容を同一に保つことが要求される場合に好適に使用さ
れるシステムである。システム構成は種々のものが考え
られるが、本実施形態では、携帯情報端末から構成され
る場合のように、互いに対等なデータベース管理装置か
らなるデータベースシステムを例にして説明する。
【0075】具体的には、例えば、図2に示すように、
本実施形態に係るデータベースシステム1は、データベ
ースを格納する情報処理機器(データベース管理装置)
2・2を備えており、各情報処理機器2には、相手の情
報処理機器2と通信するための通信装置3と、使用者と
の間の入出力を処理する表示装置4および入力装置5と
が接続されている。
【0076】上記通信装置3は、例えば、LANインタ
ーフェースやRS232Cインターフェースなどのイン
ターフェース、モデム、赤外線送受光器、あるいは、無
線送受信器などであって、情報処理機器2の指示に応
じ、ケーブル、公衆電話回線網、赤外線あるいは無線な
ど、種々の通信媒体のうちの少なくとも1つを介して、
相手の通信装置3と互いに通信できる。また、表示装置
4は、CRTディスプレイや液晶ディスプレイなどであ
って、情報処理機器2のデータベースの内容、あるい
は、データベースに対する操作結果など種々の情報を、
情報処理機器2の指示に応じて表示できる。さらに、入
力装置5は、キーボードやマウス、ペン、あるいは、上
記表示装置4上に配されたタッチパネルなどであって、
使用者の指示を情報処理機器2へ入力できる。
【0077】一方、本実施形態に係る情報処理機器2に
は、図1に示すように、上記通信装置3に接続され、当
該通信装置3を介して、他の情報処理機器2と通信する
通信部21と、上記表示装置4および入力装置5に接続
され、使用者とのインタフェースとなるユーザ操作部2
2と、データベースDBを格納するデータベース管理部
23と、ユーザ操作部22の指示に応じて、データベー
ス管理部23を制御するデータベース処理部24と、通
信部21およびデータベース管理部23を制御して、他
のデータベースDBとの同期に関連した処理を行う同期
部25とが設けられている。上記各部材は、ハードウェ
アで実現されてもよいし、CPUが所定のプログラムを
実行することで実現される機能ブロックであってもよ
い。後者の場合は、上記プログラムが格納された記録媒
体を配付し、当該記録媒体を読み取り可能なコンピュー
タで実行させるだけで、上記各部材を実現できるため、
配付が容易になる。なお、上記データベース管理部23
が、特許請求の範囲に記載のデータベースに対応してい
る。
【0078】本実施形態では、図3に示すように、デー
タベースDBがデータ1件を示すティップTとティップ
の母集合となるフクロFとを単位として管理されてお
り、上記データベース管理部23には、データベースを
格納するティップ管理部31およびフクロ管理部32が
設けられている。また、上記データベース処理部24
は、ティップTの更新/追加/削除をそれぞれ行うティ
ップ更新処理部41・ティップ追加処理部42・ティッ
プ削除処理部43などを備えている。なお、データベー
ス処理部24は、例えば、ティップTの検索や表示、あ
るいは、フクロFとの包含関係の変更など、データベー
スDBの他の操作に関連する部材も備えている。これに
より、所定の内容のティップTなど、所望の条件を満足
するティップTを検索して、フクロFを生成したり、表
示されたティップTのうち、所望のティップTを選択し
て、所望のフクロFに挿入したりできる。
【0079】また、同期部25には、ティップTの同期
処理を行うシンクロナイズ処理部51と、同期処理に先
立って、後述する共有設定を行う共有設定処理部52
と、例えば、同期処理が不要になった場合などに上記共
有設定を解除する共有解除処理部53とが設けられてい
る。なお、上記シンクロナイズ処理部51が、特許請求
の範囲に記載の同期処理手段、優先側決定手段、選択手
段および複写手段に対応しており、共有設定処理部52
と共有解除処理部53とが、共有設定手段と共有解除手
段とに、それぞれ対応している。また、データベース処
理部24および同期部25の構成は、データベース管理
部23に格納されるデータと密接に関連しており、当該
データに基づく動作に大きな特徴がある。それゆえ、以
下では、データベース管理部23の構成についてのみ説
明し、データベース処理部24および同期部25の構成
は、動作と共に詳説する。
【0080】具体的には、上記ティップ管理部31は、
1件分のデータをティップと呼ばれるデータ構造で管理
している。各ティップTは、データベースDB内の他の
ティップTと自らとを一意に識別するためのティップI
Dと、1件分のデータが格納される属性リストLAとを
備えている。当該属性リストLAには、図4に示すよう
に、属性Aの種別を示す属性名NAと、当該ティップT
に格納されるデータの内で当該属性Aの値を示す属性値
VAとの組み合わせが、リスト状に格納されている。
【0081】例えば、データベースDBに住所録を格納
する場合を例にして説明すると、個々のティップTは、
1件の住所データに相当する。各住所データが名前を示
すデータと、住所を示すデータと、電話番号を示すデー
タとの3種のデータから構成される場合、各ティップT
は、名前、住所および電話番号の3つの属性A1 〜A3
の集合として定義され、各ティップTの属性リストLA
は、図4に示すように、属性名NAと属性値VAとの組
み合わせが、順番に並べられたリストとして表現され
る。例えば、第1のティップの属性リストLAには、名
前の属性A1 として、「名前」という属性名NA1
「○山×夫」という属性値VA1 との組み合わせが格納
されている。同様に、「住所」および「東京都東京市
…」の組み合わせと、「電話番号」および「0123- …」
の組み合わせとが格納される。
【0082】また、上記フクロ管理部32は、データベ
ースDBに含まれるフクロFと、上記各ティップTおよ
びフクロFの包含関係とを記憶している。図5に示すよ
うに、1つの情報処理機器2に複数のデータベースDB
1 、DB2 、DB3 が格納されている場合を例にして説
明すると、情報処理機器2∋データベースDB∋フクロ
F∋ティップTの関係が成立する。上記フクロ管理部3
2は、この関係を図6に示すようなツリー構造Sとして
格納している。
【0083】当該ツリー構造Sでは、ティップT2 のよ
うに、単一のフクロ(F1 )に含まれていてもよいし、
ティップT1 のように、複数のフクロ(F1 ・F2 )に
含まれていてもよい。これにより、図5に示すように、
複数のフクロF1 、F2 に含まれるティップT1 を表現
できる。
【0084】なお、上記ツリー構造Sを格納できれば、
ツリー構造S全体を格納してもよいし、当該ツリー構造
Sを複数のリストに分割して、情報処理機器2に含まれ
るデータベースDBのリストと、各データベースDB毎
のフクロFのリストと、各フクロF毎のティップTのリ
ストとして格納してもよい。本実施形態では、ティップ
Tと同様に、各情報処理機器2、各データベースDBお
よび各フクロFに対して、それぞれを一意に識別するた
めのIDが割り当てられているので、上記各リストは、
当該IDのリストとして格納される。なお、上記各リス
トとして格納した場合、あるフクロFに含まれるティッ
プTは、当該リストを参照すれば即座に判明するが、こ
れとは逆に、ティップTを含むフクロFは、最悪のケー
スで、全てのリストを検索する必要がある。それゆえ、
検索時間の短縮が要求される場合には、上記各リストと
は別に、ティップT毎に当該ティップTを含むフクロF
のリストを設ける方がよい。
【0085】本実施形態に係るデータベースシステム1
では、図7に示すように、同期処理の対象となる範囲
(共有範囲)がフクロF単位で決定されており、あるテ
ィップTが他のデータベースDB間で共有されるか否か
は、予め共有すると設定されたフクロ(共有フクロS
F)に所属しているか否かで判定される。
【0086】ここで、通常、通信装置3などを介した他
の情報処理機器2へのアクセスは、自らの情報処理機器
2内のアクセスに比べると極めて低速であり、同期処理
の所要時間は増大しがちである。それゆえ、所要時間の
短縮が切望されており、両情報処理機器2a・2b間で
伝送されるデータ量の削減が望まれる。なお、自らの情
報処理機器2内へのアクセスは比較的高速なので、前回
の同期処理と次回の同期処理との間の期間中(非同期期
間中)の処理が増大したとしても、処理時間は、余り長
くならない。
【0087】本実施形態に係るフクロ管理部32は、上
記データ量を削減するため、非同期期間中における各テ
ィップTの状態を示すダーティ・ビットDからなるダー
ティ・ビット・リストLDを格納している。ダーティ・
ビット・リストLDは、各ダーティ・ビットDの順序
が、自らと相手とで互いに対応するティップTのダーテ
ィ・ビットDが同じ順位になるように管理されており、
後述するように、ティップTの対応関係をも示してい
る。さらに、フクロ管理部32には、前回の同期処理で
既に対応付けられたティップTの数を示すシンク・リミ
ットLimが格納されており、ダーティ・ビットDに対
応するティップTが、相手の共有フクロSF内のティッ
プTと既に対応付けられているか否かを判別できる。
【0088】例えば、図8に示すように、前回の同期処
理において、両共有フクロSFa ・SFb 間で、3つの
ティップ(T1a〜T3aおよびT1b〜T3b)が対応付けら
れた場合、両情報処理機器2a・2bには、シンク・リ
ミットLimとして、”3”が記憶される。さらに、図
9に示すように、情報処理機器2aのダーティ・ビット
・リストLDa では、各ティップT1a〜T6aに対応する
ダーティ・ビットD1a〜D6aが、この順番で格納されて
いる。同様に、情報処理機器2bのダーティ・ビット・
リストLDb では、各ティップT1b〜T3b、T7bおよび
8bに対応するダーティ・ビットD1b〜D3b、D7bおよ
びD8bが、この順番で格納されている。この場合、シン
ク・リミットLimが”3”なので、ダーティ・ビット
Dが3番目よりも後に格納されたティップT4a〜T6a
および、T7b〜T8bは、相手の共有フクロSF内のティ
ップTと対応付けられていない。なお、図9は、ダーテ
ィ・ビット・リストLDの格納方法の一例として、ダー
ティ・ビットDとダーティ・ビットDに対応するティッ
プIDとの組み合わせを順次格納する場合を示してい
る。
【0089】以下では、説明の便宜上、ダーティ・ビッ
ト・リストLDにおけるダーティ・ビットDの順位をシ
ンク・タグと称し、図中では、〔〕内の数字として表記
する。また、ダーティ・ビットDとティップTとなど、
対応するデータは、例えば、ダーティ・ビットD1aとテ
ィップT1aとのように、同じ添字を付して表記する。さ
らに、一方の情報処理機器2aに格納される情報は、例
えば、ティップT1aのように添字a を付して、他方の情
報処理機器2bに格納された情報(添字b を付す)と区
別する。なお、特に対応関係を明記する必要がない場
合、あるいは、総称する場合は、添字を省略する。
【0090】上記ダーティ・ビットDは、非同期期間中
に一度でも共有フクロSF内に存在したティップTそれ
ぞれに対応して作成されており、対応するティップTが
非同期期間中に更新されたか否かを示す更新パラメタ
と、当該ティップTが非同期期間中に共有フクロSF内
外を移動したか否かを示す移動パラメタとを有してい
る。更新パラメタは、更新を示す「m」、あるいは、維
持を示す「p」の値を取り、移動パラメタの値は、静止
を示す「X」、挿入を示す「I」、あるいは、排出を示
す「O」のいずれかである。より詳細には、「X」は、
前回の同期処理以降、共有フクロSF中に存在し続けて
いることを示し、「I」は、前回の同期処理以降、共有
フクロSFに入れられたこと、あるいは、戻されたこと
を示している。同様に、「O」は、前回の同期処理以
降、共有フクロSFから取り出されたこと、あるいは、
一度挿入された後、再び取り出されたことを示してい
る。上記移動パラメタは、例えば、図10に示すよう
に、共有フクロ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】例えば、図11に示すように、共有フクロ
SFa が、3つの異なる共有フクロSFb ・SFc ・S
d と対応している場合、図12に示すように、それぞ
れに対応するダーティ・ビット・リストLDab・LDac
・LDad、および、シンク・リミットLimab・Lim
ac・Limadが設けられる。図11および図12に示す
ように、各ダーティ・ビット・リストLDは、相手のダ
ーティ・ビット・リストLDと順序が揃えられていれば
よく、相手が異なるダーティ・ビット・リスト(LDab
・LDacなど)間では、ダーティ・ビットDの順序や
値、あるいは、シンク・リミットLimが異なっていて
もよい。例えば、ダーティ・ビット・リストLDab
は、ティップT2aを示すダーティ・ビットD2ab (値
は、Im)が、2番目に格納されているが、ダーティ・
ビット・リストLDacでは、ダーティ・ビットD
2ac (値は、Xp)が1番目に格納されている。ただ
し、共有フクロSFb のダーティ・ビット・リストLD
b では、ティップT2b を示すダーティ・ビットD2b
2番目に格納されており、ダーティ・ビット・リストL
c では、ダーティ・ビットD2cが1番目に格納されて
いる。
【0093】本実施形態に係るフクロ管理部32には、
上記各リストに加えて、各共有フクロSF毎に、当該共
有フクロSFの共有相手を示す共有相手リストLSが設
けられている。このリストLSを参照すれば、ある共有
フクロSFの共有相手全てを容易に検索できるので、例
えば、当該共有フクロSF内のティップTに対して、追
加、削除あるいは内容更新などの変更が加えられた場
合、当該ティップTに対応するダーティ・ビットD全て
をより短時間で更新できる。
【0094】上記構成のデータベースシステム1の動作
について、図13から図61に基づいて説明する。すな
わち、図13に大略的に示すように、実際の同期処理に
先立って共有設定が行われ、例えば、自らおよび相手の
共有フクロSFの設定、並びに、ダーティ・ビット・リ
ストLDやシンク・リミットLimの生成など、同期処
理に必要な処理が行われる(S1)。なお、この段階で
は、図14に示すように、両共有フクロSFa ・SFb
が共有範囲であることが、両情報処理機器2a・2bに
登録されただけであり、同期処理が行われるまでは両共
有フクロの内容は一致しない。
【0095】その後、両情報処理機器2a・2bが通信
可能であるか否かに拘わらず、非同期期間中は、自らの
データベースDBへの操作に基づいて、ダーティ・ビッ
ト・リストLDが更新される(S2)。また、両情報処
理機器2a・2bが通信可能な期間には、同期処理が行
われ、図15に示すように、双方の共有フクロSF内の
ティップ数およびティップTの内容は、上記ダーティ・
ビット・リストLDおよびシンク・リミットLimを参
照して揃えられると共に、ダーティ・ビット・リストL
Dおよびシンク・リミットLimも更新される(S
3)。各情報処理機器2a・2b間の通信路が間欠的に
接続される場合、当該S3のように、意図的な同期処理
によって、整合性の保たれる共有フクロは、非常に有用
である。
【0096】なお、ティップTは複数のフクロFに入れ
ることができるため、いずれかの共有設定にて、同期処
理が実行されると、同期処理に関係のないフクロFに所
属するティップTが変更されることがある。ただし、い
ずれの共有設定に関連する同期処理を行った場合であっ
ても、共有フクロSF以外のフクロFへ、ティップTが
挿入されたり、除去されることはない。
【0097】上記S2およびS3の処理は、必要に応じ
て繰り返され、それ以降の同期処理が不要になると、S
4において、共有設定が解除される。なお、図13で
は、ステップS1の後、最初にステップS2が行われる
ように記載しているが、両ステップS2・S3が交互に
繰り返されれば、両ステップS2・S3の順番を入れ換
えてもよい。
【0098】ここで、共有解除は、基本的には、共有フ
クロSF間の対応を解除するだけであり、共有フクロS
Fの内容が互いに一致しているとは限らない。それゆ
え、共有フクロSFの内容を一致させる場合は、共有解
除の直前に、自動的に、あるいは、使用者の指示によっ
て同期処理すればよい。
【0099】なお、上記では、共有設定と同期処理とを
別に説明しているが、共有設定と同時に同期処理を行う
こともできる。この場合は、例えば、共有設定の終了時
点で、両共有フクロSFの内容が一致する。ただし、本
実施形態では、共有設定と同期処理とを分離して、共有
設定の所要時間を短縮している。これにより、共有設定
の時点では、双方の情報処理機器2がそれぞれの使用者
へ共有設定の可否を確認し、同期処理の時点では、一方
の情報処理機器2の使用者のみが操作する場合、双方の
使用者による操作時間の合計を短縮できる。この結果、
安全性の向上と、操作時間の短縮との双方を実現でき
る。
【0100】以下では、上記S1の処理の一例として、
フクロ融合型モデルの共有設定について詳細に説明す
る。フクロ融合型の共有設定は、図14に示すように、
両情報処理機器2a・2bに、予め存在するフクロFa
・Fb 間での共有設定であり、図16に示すように、両
情報処理機器2a・2bが通信可能になると、S11に
おいて、一方の情報処理機器2aに設けられた共有設定
処理部52は、他方の情報処理機器2bへ共有設定要求
を送出する。当該要求には、情報処理機器2aを示すマ
シンIDと、情報処理機器2aのフクロFa を示すフク
ロIDと、共有を希望する情報処理機器2bのフクロF
b を示すフクロIDとが含まれている。なお、以下で
は、共有設定要求を送出する側を共有設定起動側と称
し、共有設定要求を受け取る側を共有設定受動側と称す
る。
【0101】さらに、共有設定起動側の共有設定処理部
52は、S12において、上記共有設定要求と同様の情
報を共有情報として登録する。さらに、共有設定処理部
52は、自らのフクロFa に対応する共有相手リストL
Sを作成し、相手のフクロIDを登録する。これによ
り、当該フクロFa は、共有フクロSFa となる。ま
た、当該共有フクロSFa と相手のフクロFb との組み
合わせに対応するダーティ・ビット・リストLDと、シ
ンク・リミットLimとが作成される。
【0102】一方、共有設定受動側の情報処理機器2b
では、S13において、共有設定処理部52が共有設定
要求を受け取ると、S14において、当該共有設定要求
に基づいて、共有情報を登録する。共有情報には、自ら
の情報処理機器2bを示すマシンIDと、情報処理機器
2aにおいて共有対象となるフクロIDと、情報処理機
器2bにおいて共有対象となるフクロIDと、共有設定
の際に決定されるオプションとが含まれる。さらに、共
有設定処理部52は、共有設定起動側と同様に、自らの
フクロFb に対応する共有相手リストLSへ、相手のフ
クロIDを登録して、共有フクロSFb を生成すると共
に、自らの共有フクロSFb と相手の共有フクロSFa
との組み合わせに対応するダーティ・ビット・リストL
Dおよびシンク・リミットLimを作成する。
【0103】本実施形態に係るデータベースシステム1
では、各情報処理機器2が、例えば、上記S3の同期処
理における優先側決定ルールやダウンロード処理の要
否、衝突時のコピーの要否、あるいは、上記S4の共有
解除で採用するモデルなど、種々のオプション(後述)
を選択可能な場合、当該オプションは、共有設定の段階
において設定されることも特徴としており、上記共有設
定要求には、当該オプションを示す情報も含まれてい
る。これにより、各オプションの設定時点を共有設定時
点に限定できる。
【0104】ここで、各情報処理機器2が任意の時点
で、オプションを設定できる場合は、一方の情報処理機
器2への操作に応じて、優先側決定ルールなどが変更さ
れ、他方の情報処理機器2の使用者にとって不所望な設
定が行われる虞れがある。ところが、上記構成では、各
情報処理機器2が通信可能な共有設定時点のみで、オプ
ションが変更されるので、上記不所望な設定を拒絶でき
る。
【0105】なお、図16では、共有相手を認証するス
テップを図示していないが、共有設定受動側が、例え
ば、共有設定のオプションなど、共有設定要求の内容に
応じて、共有設定するか否かを決定してもよい。この場
合、共有設定受動側の情報処理機器2は、例えば、受付
可能な共有設定要求を予め格納しておき、格納した共有
設定要求に基づいて要否を決定すればよい。
【0106】上記ダーティ・ビット・リストLDおよび
シンク・リミットLimの初期値は、両共有フクロSF
a ・SFb に含まれるティップTの対応関係によって異
なる。例えば、共有設定の際、両共有フクロSFa ・S
b 内のティップTをそれぞれ別のティップTと判定す
る場合、シンク・リミットLimの初期値は、0にな
り、各ティップTに対応するダーティ・ビットDは、挿
入更新「Im」に設定される。また、例えば、ティップ
Tの内容などを参照して、ティップTを対応付ける場
合、シンク・リミットLimは、対応付けに成功したテ
ィップTの数になり、当該ティップTに対応するダーテ
ィ・ビットDは、両ダーティ・ビット・リストLD内で
の順位が同一になるように格納される。なお、両ティッ
プTの内容が同一であれば、ダーティ・ビットDの値
は、静止維持「Xp」となり、同一か否かが不明な場合
は、静止更新「Xm」に設定される。
【0107】また、共有設定のモデルは、フクロ融合型
モデルに限るものではなく、図17に示すフクロ取込み
型モデルのように、共有設定の際、一方の共有フクロS
Fを新たに作成してもよいし、図18に示すフクロ新規
作成型モデルのように、双方の情報処理機器2a・2b
に、新たな共有フクロSFを作成してもよい。これらの
場合も図16に示す処理と略同様の処理が行われ、それ
ぞれに、共有情報や、ダーティ・ビット・リストLDお
よびシンク・リミットLimや、共有情報などが登録さ
れる。ただし、共有設定受動側に新たな共有フクロSF
が新規作成される場合は、上記共有情報などを登録する
際に、当該共有フクロSFのフクロIDが共有設定起動
側へ返される。
【0108】続いて、図13に示すS2の処理、すなわ
ち、非同期期間中の処理について詳細に説明する。非同
期期間中には、ティップTへの操作と、操作時点でのダ
ーティ・ビット・リストLDおよびシンク・リミットL
imとに基づいて、ティップTに対応するダーティ・ビ
ットDが、図19に示すように更新される。
【0109】具体的には、ティップTの内容更新が指示
された場合、図20に示すS21において、ティップ更
新処理部41(図1参照)は、ユーザ操作部22から当
該指示を受け取り、指示に応じて、ティップTの内容を
更新する。さらに、S22において、当該ティップTに
対応するダーティ・ビットDについて、更新パラメタを
「m」に設定する。なお、移動パラメタは、それまでの
値のまま保たれる。
【0110】上記ティップTは、複数の共有フクロSF
に所属可能であり、また、各共有フクロSFは、複数の
相手と共有されていることがある。この結果、情報処理
機器2全体でみると、当該ティップTに対応するダーテ
ィ・ビットDは、複数存在する場合がある。したがっ
て、当該ティップTに対応する全てのダーティ・ビット
Dが検索され、それぞれが更新される。対応するダーテ
ィ・ビットDの検索は、例えば、全てのダーティ・ビッ
ト・リストLDを参照してもよいし、検索時間を短縮す
るために、各ティップTに対応するダーティ・ビットD
のリストを予め作成しておき、当該リストを参照して検
索してもよい。
【0111】いずれの場合でも、本実施形態では、非同
期期間に一度でも共有フクロSFに所属したティップT
について、ダーティ・ビットDが作成され、当該ティッ
プTへの操作を監視して、ダーティ・ビットDを更新し
ている。したがって、例えば、ティップTの移動などに
よって、当該ティップTが現時点では共有フクロSFに
存在しない場合であっても、ダーティ・ビットDは、確
実に更新される。
【0112】一方、ティップTの新規作成やティップT
の移動などによって、ティップTが共有フクロSFへ挿
入される場合、図21に示すように、ティップ追加処理
部42(図1参照)は、ユーザ操作部22からの指示に
応じて、フクロ管理部32を制御して、当該ティップT
を共有フクロSFに所属させる(S31)。さらに、テ
ィップ追加処理部42は、S32において、当該共有フ
クロSFを示すダーティ・ビット・リストLDが、ティ
ップTに対応するダーティ・ビットDを含んでいるか否
かを判定する。
【0113】ここで、ダーティ・ビットDを含んでいる
場合は、例えば、共有フクロSF内のティップTを出し
入れした場合など、当該ティップTの内容更新が既に監
視されていることを示している。したがって、ティップ
追加処理部42は、S33において、当該ダーティ・ビ
ットDの移動パラメタを「I」に設定する。一方、含ん
でいない場合は、例えば、一度も共有フクロSFに含ま
れていない場合やティップTを新規作成した場合などで
あり、非同期期間中に、当該ティップTの内容が更新さ
れたか否かを識別できないことを示している。したがっ
て、ティップ追加処理部42は、S34において、例え
ば、ダーティ・ビット・リストLDの末尾など、シンク
・リミットLimよりも後の順位に、値が「Im」で上
記ティップTを示すダーティ・ビットDを追加する。な
お、共有フクロSFに対応するダーティ・ビット・リス
トLDが複数存在する場合は、全てのダーティ・ビット
・リストLDについて、S32ないしS34の処理が行
われる。
【0114】さらに、例えば、ティップTの削除や移動
などによって、ティップTが共有フクロSFから排出さ
れる場合、図22に示すように、ティップ削除処理部4
3(図1参照)は、ユーザ操作部22からの指示に応じ
て、フクロ管理部32を制御して、当該ティップTを共
有フクロSFから取り除く(S41)。ここで、本実施
形態では、非同期期間に共有フクロSFに一度でも含ま
れたティップTについてダーティ・ビットDを保持して
いる。したがって、ティップ追加処理部42は、S42
において、当該共有フクロSFを示す全てのダーティ・
ビット・リストLDにおいて、当該ティップTに対応す
るダーティ・ビットDの移動パラメタを「O」に変更す
る。なお、更新パラメタは、そのまま保たれる。
【0115】例えば、同期処理の終了時点では、図23
に示すように、両共有フクロSFa・SFb 内の全ての
ティップTは、互いに1対1に対応付けられており、対
応するティップTの内容は、同一に設定されている。し
たがって、図24に示すように、シンク・リミットLi
mは、ダーティ・ビット・リストLDの長さ(ダーティ
・ビットDの数)と同一であり、両ダーティ・ビット・
リストLDにおいて、対応するダーティ・ビットDa
b は、それぞれ同じ順位になるように格納される。ま
た、各ダーティ・ビットDの値は、全て「Xp」に設定
されている。
【0116】さらに、非同期期間中、両情報処理機器2
で、それぞれのデータベースDBが独立に操作される
と、各情報処理機器2の上記各処理部41〜43は、そ
れぞれのダーティ・ビット・リストLDを更新する。こ
の結果、非同期期間中、ダーティ・ビットDの値は、対
応するティップTの状態を常に示している。これによ
り、それぞれのデータベースDBが独立に更新された場
合、次の同期処理の直前の時点では、両ダーティ・ビッ
ト・リストLDは、例えば、図25に示すように、一致
しなくなる。
【0117】ただし、両ダーティ・ビット・リストLD
において、シンク・リミットLimが示す順位、およ
び、それ以前のダーティ・ビットDは、対応するティッ
プTが削除されたとしても削除されず、非同期期間中
は、同じ順序を保っている。この結果、ダーティ・ビッ
トD3a・D3bなど、両共有フクロSFa ・SFb で、互
いに対応するティップTを示すダーティ・ビットDの順
位は、互いに同一に保たれている。
【0118】シンク・リミットLimより後のダーティ
・ビットDは、非同期期間中に、新たに共有フクロSF
へ追加されたティップTを示しており、例えば、ダーテ
ィ・ビットD22・D27など、同じ順位に格納されている
ダーティ・ビットDであっても、それぞれのティップT
は、対応していない。これらのシンク・リミットLim
より後のダーティ・ビットDは、「Im」か「Om」を
示しており、「Om」は、共有フクロSFに新たに挿入
されたティップTが、現在は、共有フクロSFに所属し
ていないことを示している。また、追加されたティップ
Tの数が異なる場合、両ダーティ・ビット・リストLD
の長さも互いに異なっている。
【0119】この状態で、使用者の指示や、通信可能を
検出するセンサなどによって同期処理が指示されると、
図13のS3に示す同期処理が行われる。より詳細に説
明すると、図26に示すように、S51において、各情
報処理機器2のシンクロナイズ処理部51は、それぞれ
のダーティ・ビット・リストLDにおいて、シンク・リ
ミットLimより後のダーティ・ビットDのうち、移動
パラメタが「O」のダーティ・ビットDを削除する。こ
れにより、図27に示すように、両ダーティ・ビット・
リストLDにおいて、シンク・リミットLimより後の
ダーティ・ビットDは、値が「Im」のみとなる。
【0120】上記移動パラメタが「O」のダーティ・ビ
ットDは、対応するティップTが前回の同期処理および
今回の同期処理の時点で、自らの共有フクロSFに含ま
れていない。したがって、当該ティップTの内容は、相
手の共有フクロSFの状態に拘わらず、相手に送出する
必要がない。この結果、これらのティップTを削除する
ことによって、以降の処理において、両情報処理機器2
a・2b間を伝送されるダーティ・ビットDの数を削減
できる。
【0121】上記S51にて、ダーティ・ビット・リス
トLDの圧縮が終了すると、両シンクロナイズ処理部5
1は、S52において、シンク・リミットLimより後
のダーティ・ビットDを送受して、相手から送られたダ
ーティ・ビットDに対応するダーティ・ビットDを生成
する。具体的には、一方の情報処理機器2bは、自らの
ダーティ・ビット・リストLDb 内で、シンク・リミッ
トLimb より後のダーティ・ビットDの数Yb を送出
し、他方の情報処理機器2aは、自らのダーティ・ビッ
ト・リストLDa において、シンク・リミットLima
の直後に、値が「Op」のダーティ・ビットDを、受け
取った数Yb だけ挿入する。さらに、両情報処理機器2
a・2bは、それぞれのシンク・リミットLimを上記
b だけ増加させる。これにより、図28に示すよう
に、情報処理機器2bで追加されたティップTに対応す
るダーティ・ビットDが、情報処理機器2aにも作成さ
れる。同様にして、情報処理機器2aで追加されたティ
ップTに対応するダーティ・ビットDが、情報処理機器
2bにも追加され、シンク・リミットLimが調整され
る。
【0122】ここで、図28に示すように、情報処理機
器2aのダーティ・ビット・リストLDa へ、情報処理
機器2bのティップTに対するダーティ・ビットDを追
加した状態では、シンク・リミットLimが既に変更さ
れており、情報処理機器2bのダーティ・ビット・リス
トLDb の末尾を示している(この場合、シンク・リミ
ットLim=23)。したがって、情報処理機器2aの
ティップTに対応するダーティ・ビットDを追加する
際、ダーティ・ビット・リストLDb のシンク・リミッ
トLimの直後に、これらのダーティ・ビットDを追加
すると、情報処理機器2aにて追加されたティップT
(T22a 、T24a 、T26a など)に対応するダーティ・
ビットDは、両ダーティ・ビット・リストLDa ・LD
b のいずれにおいても、情報処理機器2bにて追加され
たティップT(T27b 、T29b など)に対応するダーテ
ィ・ビットDよりも、順序が後になる。この結果、両ダ
ーティ・ビット・リストLDa ・LDb において、対応
するダーティ・ビットDの順位は一致する。
【0123】これにより、図29に示すように、両ダー
ティ・ビット・リストLDa ・LDb の長さは、互いに
等しくなり、互いに同じ順位のダーティ・ビットD・D
は、対応するティップTを示すようになる。また、両シ
ンク・リミットLimは、ダーティ・ビット・リストL
Dの長さと同一になり、シンク・リミットLimより後
のダーティ・ビットDは、存在していない。なお、この
段階では、ダーティ・ビット・リストLDおよびシンク
・リミットLimを更新すればよく、ティップTの内容
を伝送する必要はない。
【0124】なお、上記では、数Ya (Yb )を送受す
る場合を例にして説明したが、対応するティップTのダ
ーティ・ビットDを同一の順位にできれば、送受する情
報は、数Ya (Yb )に限らない。また、上記では、値
が「Op」のダーティ・ビットDを追加したが、「I
m」よりも優先度が低い値であれば同様の効果が得られ
る。
【0125】上記S52にて、ダーティ・ビットDの対
応付けが終了すると、S53において、両シンクロナイ
ズ処理部51は、両情報処理機器2a・2b間を伝送さ
れるダーティ・ビットDに基づいて、各ダーティ・ビッ
トDに対応するティップTが共有フクロSF内に配され
るか否かを決定する。もし、両ダーティ・ビットDa
b の移動パラメタが異なっていた場合は、例えば、図
30に示す優先ルールで、当該ティップTb が共有フク
ロSFb 内に配されるか否かを判定する。なお、図30
では、矢印の先の方が優先される。
【0126】具体的には、一方の情報処理機器2aから
他方の情報処理機器2bへ、ダーティ・ビット・リスト
LD内のダーティ・ビットDが順次送出される。他方の
情報処理機器2bでは、受け取ったダーティ・ビットD
a と、自らのダーティ・ビット・リストLDb のうち、
受け取った順番と同じ順番のダーティ・ビットDb とを
比較する。情報処理機器2bのシンクロナイズ処理部5
1は、図31に示すように、移動パラメタの組み合わせ
が、(X−X)、(X−I)、(I−I)、(I−K)
および(I−O)のいずれかの場合、ダーティ・ビット
DのティップTが、共有フクロSF内に配されると判定
し、ダーティ・ビットDに対応する両ティップTを、そ
れぞれの共有フクロSFに所属させる。さらに、自らと
相手の移動パラメタを「X」に設定する。
【0127】これとは逆に、移動パラメタの組み合わせ
が、(X−O)、(O−K)、(O−O)および(K−
K)のいずれかの場合、シンクロナイズ処理部51は、
ティップTが共有フクロSF外に配されると判定し、例
えば、自らおよび相手のティップTをそれぞれの共有フ
クロSFから排出すると共に、それぞれのダーティ・ビ
ットDが無効状態「K」に設定される。なお、両情報処
理機器2a・2bが正常に動作していれば、上記組み合
わせは(X−K)とならない。したがって、この場合
は、エラーと判断し、例えば、使用者の指示を仰ぐなど
のエラー処理を行う。
【0128】上記相手のティップTの排出、および、ダ
ーティ・ビットDの設定は、自らのダーティ・ビットD
を変更前に相手へ送出し、相手のシンクロナイズ処理部
51に処理させてもよいし、自らの判定結果を相手へ伝
えてもよい。いずれの場合であっても、ダーティ・ビッ
トDあるいは判定結果を送出する順番で、相手のダーテ
ィ・ビットDおよびティップTが特定され、それぞれを
特定するための情報が特に送付されない。したがって、
内外判定時に、伝送されるデータ量は、極めて少ない。
この結果、図32に示すように、両ダーティ・ビット・
リストLD内の全てのダーティ・ビットDは、移動パラ
メタが「X」あるいは「K」に設定される。
【0129】なお、移動パラメタが「X」ではないティ
ップT、すなわち、共有フクロSF外と判断されたティ
ップTやエラーとなったティップTは、以下のS54お
よびS55からなるティップ同期処理の対象外であり、
更新パラメタの優先度判定やティップTの内容送付は行
われない。
【0130】続いて、上記S53のフクロ同期にて、共
有フクロSF内と判定されたティップT(移動パラメタ
が「X」のティップT)について、上記シンクロナイズ
処理部51は、S54において、両ダーティ・ビットD
の更新パラメタを比較して、対応するティップTそれぞ
れの優先度を決定する。ティップTの優先度は、図33
に示すように、更新パラメタによって決められ、更新
「m」の方が維持「p」よりも優先される。これによ
り、ティップTの内容を伝送すべきか否かと、伝送する
場合の方向とが決定される。
【0131】具体的には、シンクロナイズ処理部51
は、図34に示すように、両ダーティ・ビットDa ・D
b を比較して、更新パラメタの組み合わせが(p−p)
の場合、ティップTの内容の送付が不要であると判定す
る。また、組み合わせが(p−m)の場合、更新パラメ
タが「m」の側を優先側と判定し、優先側の情報処理機
器2から、非優先側の情報処理機器2へ、ティップTの
内容を送付すべきと判定する。したがって、両ダーティ
・ビット・リストLDが上記図32に示す値の場合は、
図35に示すように、優先側が判定される。なお、上記
S54にて、組み合わせが(m−m)の場合、すなわ
ち、双方でティップTが更新された場合は、ティップT
の衝突として扱われ、後述するように、予め定められた
優先ルールで優先側を決定する。
【0132】上記S54にて、ティップTの優先度が判
定され、ティップTの内容の送付が必要であると判断さ
れた場合、S55において、上記両シンクロナイズ処理
部51は、優先側のティップTの内容を非優先側へ送出
し、非優先側のティップTの内容を優先側の内容で置き
換える。これにより、両ティップTの内容が一致するの
で、それぞれのダーティ・ビットDの更新パラメタが
「p」に設定される。この結果、図36に示すように、
ダーティ・ビット・リストLD内の全てのダーティ・ビ
ットDは、「Xp」あるいは「K」のいずれかに設定さ
れる。
【0133】さらに、上記S54およびS55におい
て、ティップ同期が終了すると、S56において、両ダ
ーティ・ビット・リストLDの圧縮が行われ、値が
「K」のダーティ・ビットDは、それぞれのダーティ・
ビット・リストLDから削除される。例えば、図36で
は、5、6、10、11、19、20および21番目の
7つのダーティ・ビットDが、それぞれのダーティ・ビ
ット・リストLDから削除される。この結果、図37に
示すように、全てのダーティ・ビットDは、「Xp」と
なり、ダーティ・ビットDの数に合わせて、シンク・リ
ミットLimが更新される。なお、図37の例では、値
が「Xp」のダーティ・ビットDの順序を変更していな
いが、両ダーティ・ビット・リストLDで、対応するダ
ーティ・ビットDの順位が同じであれば、順序を変更し
てもよい。
【0134】上記S51ないしS56の同期処理によっ
て、両共有フクロSF内のティップTの数、および、対
応するティップTの内容は、同一になる。この結果、一
方の情報処理機器2で、データベースDBが独立に操作
された場合であっても、他の情報処理機器2と通信可能
になった時点で同期処理を行えば、それぞれの共有フク
ロSFの内容を一致させることができる。それゆえ、互
いに通信可能な期間が断続する情報処理機器2で、デー
タベースシステム1が構成されている場合であっても、
データの整合性を保つことができる。
【0135】さらに、上記同期処理では、S55にて、
ティップTの内容を送付する前に、S53およびS54
にて、両情報処理機器2a・2bでダーティ・ビットD
が比較され、内容送付の要否と伝送方向とがティップT
毎に決められる。したがって、この時点で内容の送付が
不要と判明したティップTは、内容の伝送を省略でき
る。ここで、本実施形態では、ダーティ・ビットDを有
するティップTについて、内容の更新を監視している。
したがって、移動も更新も行われていないティップTだ
けではなく、前回の同期処理時点と、今回の同期処理時
点との双方で、共有フクロSF内に存在し、かつ、非同
期期間中、更新されていないティップTについても、内
容の送付を省略できる。
【0136】また、本実施形態では、ティップTの対応
関係がダーティ・ビットDの順位として格納されている
ので、相手のティップTを示すIDを記憶しなくても、
対応関係を記憶できる。加えて、当該IDを送付しなく
ても、対応するティップTを特定できるので、ダーティ
・ビットDの送受の際に、両情報処理機器2a・2b間
を伝送されるデータ量と、ダーティ・ビットDの記憶に
必要なメモリ量とを削減できる。
【0137】なお、本実施形態では、非同期期間中に一
度でも、共有フクロSFに含まれたティップTについ
て、ダーティ・ビットDを作成しているが、これに限る
ものではない。前回の同期処理の終了時点で、共有フク
ロSFに含まれているティップTについて、ダーティ・
ビットDが作成されていれば、本実施形態と同様に、上
述の移動のみが行われたティップTの内容送付を省略で
きる。ただし、本実施形態のように、現時点で共有フク
ロSFに含まれるティップTについても、ダーティ・ビ
ットDを作成する場合は、非同期期間中に新たに挿入さ
れたティップTを検索する際の速度が向上すると共に、
ダーティ・ビットDの移動パラメタが「X」または
「I」のティップTのみを抽出することで、図6に示す
ツリー構造Sのうち、共有フクロSFに含まれるティッ
プTのリストを作成できる。この結果、当該ティップT
のリストを削除でき、メモリ量を削減できる。
【0138】なお、例えば、ティップTの追加など、個
々の処理は、いずれの情報処理機器2のシンクロナイズ
処理部51が行ってもよい。例えば、全ての処理を一方
のシンクロナイズ処理部51が実施してもよいし、双方
が分担して行ってもよい。
【0139】以下では、上記S54にて、ティップTの
衝突が検出された場合の動作について、さらに詳細に説
明する。すなわち、本実施形態では、衝突が検出された
場合、衝突を解決する主体として、以下の3つのモデル
のいずれかを採用している。なお、ある1つのモデルを
採用してもよいが、本実施形態に係る情報処理機器2
は、使用可能な複数のモデルのうち、図13のS1に示
す共有設定の際にオプションとして指示されたモデルを
使用する。
【0140】第1のモデル(話し合いモデル)は、図3
8に示すように、両情報処理機器2a・2bのシンク・
マネージャ61が、それぞれの上位アプリケーション6
2へ優先側を問い合わせ、両情報処理機器2a・2bで
独立して優先側を決定する。また、第2のモデル(選択
解決モデル)は、図39に示すように、両情報処理機器
2a・2bのうちの一方のシンク・マネージャ61のみ
が、上位アプリケーション62へ問い合わせて、優先側
を決定する。さらに、第3のモデル(自動解決モデル)
は、図40に示すように、上位アプリケーション62へ
問い合わせず、双方のシンク・マネージャ61が予め定
められた優先ルールに基づいて、優先側を選択する。な
お、上記シンク・マネージャ61は、図1に示すシンク
ロナイズ処理部51の一部である。また、上位アプリケ
ーション62は、データベースのデータを解析するアプ
リケーションなど、データベースのデータを参照するア
プリケーションや、情報処理機器2の使用者へ優先側を
問い合わせるアプリケーションであり、シンク・マネー
ジャ61からの問い合わせに対して、優先側を返答でき
る。
【0141】なお、上記選択解決モデルにおいて、一方
の情報処理機器2を選択する方法は、上位アプリケーシ
ョン62の有無や、例えば、共有設定の起動側など、後
述する自動解決モデルの一方選択モデルと同様の方法を
採用できる。ただし、優先側の決定方法を示すモデルと
同様、選択される情報処理機器2が異なる場合、不所望
な方が選択される虞れがあるので、当該情報処理機器2
を選択する方法は、共有設定時に設定される方がよい。
【0142】上記話し合いモデルは、さらに、衝突を解
決するタイミングによって、衝突を検出した同期処理中
に衝突を解決する折衝解決型モデルと、衝突の検出と衝
突の解決との間で、一度通信を切断するアプリ解決型モ
デルとに分けられる。同様に、選択解決モデルも、クラ
イアント即時型モデルと、クライアント遅延型モデルと
に分けられる。なお、図41に示すように、折衝解決型
モデルとクライアント即時型モデルとは、解決時期が、
検出と同じ同期処理中である即時解決モデルに分類さ
れ、アプリ解決型モデルとクライアント遅延型モデルと
は、解決時期が、衝突の検出よりも後の同期処理中の遅
延解決モデルに分類される。
【0143】ここで、即時解決モデルのうち、折衝解決
型モデルを採用した場合、例えば、図42に示すよう
に、S61において、一方の情報処理機器2aのシンク
・マネージャ61は、自らのティップTの内容のうちで
優先側決定に必要な情報と、相手のティップTの内容の
うちで優先側決定に必要な情報とを上位アプリケーショ
ン62へ提示する。同様に、S62では、相手の情報処
理機器2bにおいて、自らのティップTと相手のティッ
プTとを示す情報が上位アプリケーション62へ提示さ
れる。さらに、S63およびS64において、各情報処
理機器2a・2bの上位アプリケーション62は、それ
ぞれ独立して優先側を決定する。
【0144】双方で優先側が決定されると、S65にお
いて、シンク・マネージャ61は、双方の優先側が一致
するか否かを判定する。双方が一致した場合(上記S6
5にて YESの場合)、S66において、優先側が自機器
であるか否かが判定される。自機器の場合、シンク・マ
ネージャ61は、S67において、自らのティップTの
内容を相手の情報処理機器2へ送出して、当該内容で、
相手のティップTの内容を置き換える。一方、自機器で
はない場合、S68において、相手の情報処理機器2か
ら、相手のティップTの内容を受け取り、当該内容で、
自らのティップTの内容を置き換える。これにより、衝
突したティップTの組は、内容が同一になる。
【0145】上記S65において、双方の優先側が一致
しなかった場合、情報処理機器2aのシンク・マネージ
ャ61は、S69において、自らの上位アプリケーショ
ン62に対して、上記S61で提示された内容に加え
て、さらに、相手で決定された優先側を提示する。同様
に、S70において、情報処理機器2bのシンク・マネ
ージャ61は、上記S62の提示内容と、情報処理機器
2aが決定した優先側とを、自らの上位アプリケーショ
ン62へ提示する。その後、上記S63以降の処理が繰
り返され、それぞれの上位アプリケーション62で優先
側が再考される。
【0146】また、クライアント即時型モデルを採用し
た場合は、例えば、図43に示すように、一方の情報処
理機器2において、図42のS61と同様に、自らのテ
ィップTと相手のティップTとを示す情報が上位アプリ
ケーション62に提示される(S81)。また、S82
において、当該上位アプリケーション62は、これらの
情報に基づいて、優先側を決定する。さらに、優先側が
自機器の場合(S83にて YESの場合)、S84におい
て、相手のティップTの内容を自らのティップTの内容
で置き換え、相手機器を優先する場合(S83にて No
の場合)は、S85において、相手のティップTの内容
で、自らのティップTの内容を置き換える。これによ
り、衝突したティップTの組は、内容が同一になる。
【0147】一方、遅延解決型モデルのうち、アプリ解
決型モデルを採用した場合は、例えば、図44に示すよ
うに、S91において、両ティップTの内容が一致する
か否かが判定される。両者が一致する場合は、前回の同
期処理にて、ティップTの衝突が検出され、かつ、両者
が独立に提案する解決案が一致した場合である。この場
合、S95において、両情報処理機器2a・2bのシン
ク・マネージャ61は、それぞれ、当該ティップTに対
応する自らのダーティ・ビットDの更新パラメタを維持
「p」に設定して処理を完了する。
【0148】これに対して、両ティップTの内容が一致
しない場合(上記S91にて、 Noの場合)、各シンク
・マネージャ61は、S92にて、ティップTの内容を
互いに交換した後、S93にて、例えば、通信を切断し
たり、他のティップTの衝突を判定したりして、当該テ
ィップTに関する同期処理を一度中断する。さらに、通
信が切断されている間、両情報処理機器2a・2bのシ
ンク・マネージャ61は、S94において、それぞれの
上位アプリケーション62の指示に応じ、相手のシンク
・マネージャ61とは独立に衝突解決処理して、処理を
完了する。
【0149】以下では、図45に基づいて、上記S94
の処理をさらに詳細に説明する。すなわち、シンク・マ
ネージャ61は、S111において、上記S91にて、
相手から受け取ったティップTの内容と、自らのティッ
プTの内容とを、自らの上位アプリケーション62へ提
示し、上位アプリケーション62から、いずれを優先す
るかの指示を受け取る。
【0150】上位アプリケーション62が、相手機器の
ティップTの内容を優先すると判断した場合(上記S1
12にて、 YESの場合)、シンク・マネージャ61は、
S113にて、自らのティップTの内容を、相手のティ
ップTの内容で置き換え、S114にて、当該ティップ
Tに対応するダーティ・ビットDの更新パラメタを更新
「m」に設定して、処理を完了する。これとは逆に、自
機器のティップTの内容を優先すると判断した場合(上
記S112にて、 No の場合)、シンク・マネージャ6
1は、上記S113の処理を行わず、上記S114に
て、当該ティップTに対応するダーティ・ビットDの更
新パラメタを更新「m」に設定する。
【0151】ここで、両情報処理機器2a・2bが上記
S111ないしS114の処理を行うと、いずれを優先
側と判断したかに拘わらず、上記S114にて、ダーテ
ィ・ビットDの更新パラメタを更新「m」に設定するの
で、次回の同期処理の際には、一旦、衝突と判断され
る。ところが、双方の優先側が一致した場合には、双方
のティップTの内容が一致しているので、図44に示す
S91の判定が YESとなる。
【0152】例えば、情報処理機器2aにて、相手機器
が優先側と判断され、かつ、情報処理機器2bでは、自
機器が優先側と判断された場合を例にすると、情報処理
機器2aでは、上記S112の判定が YESとなるので、
情報処理機器2aのティップTの内容は、情報処理機器
2bのティップTの内容で置き換えられる。また、情報
処理機器2bでは、上記S112の判定が No になるの
で、情報処理機器2bのティップTの内容は、変更され
ない。
【0153】このように、双方の優先側が一致した場合
には、次回の同期処理の時点で双方のティップTの内容
が一致し、上記S91の判定が YESになる。この結果、
両情報処理機器2a・2bにて、上記S95の処理が行
われ、当該ティップTに対応するダーティ・ビットDの
更新パラメタは、それぞれ、維持「p」となって、衝突
が完全に解決される。
【0154】なお、双方の優先側が一致しなかった場合
は、次回の同期処理の時点で、双方のティップTの内容
が一致しない。したがって、次回の同期処理の際、再
度、S92以降の処理が繰り返され、それぞれの上位ア
プリケーション62に再度衝突解決が求められる。
【0155】また、クライアント遅延型モデルの場合、
上位アプリケーション62へ問い合わせる情報処理機器
2では、図46に示す処理が行われる。すなわち、S1
21において、シンク・マネージャ61は、相手のティ
ップTの内容を自らに転送して受け取る。さらに、S1
22において、当該ティップTに対応する相手のダーテ
ィ・ビットDの更新パラメタを維持「p」に変更する。
【0156】さらに、S123およびS124におい
て、上記S93および図45に示すS111と同様に、
同期処理の中断後に優先側を決定される。相手機器を優
先側と判断した場合(S125にて、 YESの場合)、シ
ンク・マネージャ61は、S126において、上記S1
21にて受け取った相手機器のティップTの内容で、自
らのティップTの内容を置き換える。さらに、S127
では、当該ティップTに対応する自らのダーティ・ビッ
トDの更新パラメタを維持「p」に設定して処理を完了
する。
【0157】これとは逆に、自機器を優先側と判断した
場合(S125にて、 No の場合)、シンク・マネージ
ャ61は、当該ティップTに対応する自らのダーティ・
ビットDの更新パラメタを更新「m」に設定する(S1
28)。ここで、上記S122にて、相手機器では、当
該ティップTに対応するダーティ・ビットDの更新パラ
メタが維持「p」に設定されている。したがって、自機
器を優先側と判断した場合(更新パラメタが更新「m」
の場合)は、次回の同期処理の際、相手機器のティップ
Tの内容は、自機器のティップTの内容で置き換えられ
る。
【0158】上記の遅延解決モデルを採用した場合は、
ある同期処理にて、ティップTの衝突が検出された後、
次回以降の同期処理にて、ティップTの内容が一致され
るため、単一の同期処理中に、優先側を決定する必要が
なくなる。この結果、例えば、上位アプリケーション6
2が使用者の指示を受け取っている場合のように、シン
ク・マネージャ61が優先側を問い合わせてから回答が
得られるまでの時間が長い場合であっても、通信時間の
合計を一定の時間に抑えることができ、通信コストや消
費電力を削減できる。なお、上記では、両ティップTの
内容全てを提示する場合を例にして説明したが、優先側
を決定可能であれば、提示する情報は、衝突の発生や、
ティップTの内容の一部であっても同様の効果が得られ
る。
【0159】一方、自動解決型モデルは、衝突したティ
ップTの組毎に、優先側を決定する逐次決定モデルと、
同期処理の開始時点で、予め1つの情報処理機器2を優
先側と設定する一方選択モデルとに大別できる。前者の
例としては、例えば、最終更新時刻など、ティップTの
内容の一部に基づいて、優先側を判定する方法が挙げら
れる。この場合は、例えば、図47に示すように、S1
31において、図40に示すシンク・マネージャ61
は、自らの情報処理機器2において、処理対象となるテ
ィップTの最終更新時刻t1を取得する。また、S13
2では、当該ティップTに対応する相手のティップTの
最終更新時刻t2を取得する。さらに、S133におい
て、自らの最終更新時刻t1が相手の最終更新時刻t2
よりも新しいか否かを判定する。自らの最終更新時刻t
1の方が新しい場合は、S134にて、自らのティップ
Tの内容で、相手のティップTの内容を置き換える。こ
れとは逆に、相手の最終時刻t2の方が新しい場合は、
S135にて、相手のティップTの内容で自らのティッ
プTの内容を置き換える。これにより、より遅くに更新
したティップTを優先することができる。例えば、図4
8に示す例では、情報処理機器2aのティップT8aの方
が、情報処理機器2bのティップT8bよりも最終の更新
時刻が新しい。それゆえ、ティップT8aの内容で、ティ
ップT8bの内容が置き換えられる。なお、優先側決定の
基準は、最終更新時刻に限るものではなく、ティップT
の内容の一部であれば、同様の効果が得られる。
【0160】また、自動解決型モデルのうち、一方選択
モデルは、例えば、図49に示すように、S141にお
いて、同期処理の開始までに定められた優先側が、自機
器であるか否かが判定される。自機器を優先する場合
は、S142にて、自らのティップTの内容で相手のテ
ィップTの内容が置き換えられ、相手機器を優先する場
合は、S143にて、相手のティップTの内容で、自ら
のティップTの内容が置き換えられる。これにより、予
め定められた側のティップTを優先できる。
【0161】本実施形態では、上記S141にて参照さ
れる優先側を、以下の3つのモデルのいずれかで決定し
ている。第1のモデルは、図13のS1に示す同期設定
の際に予め優先側を設定し、優先側情報として記憶して
おき、当該優先側情報に基づいて決定するモデルであ
る。なお、優先側の決定方法は、どんな方法でもよく、
例えば、使用者や上位アプリケーション62の指示に応
じて設定してもよい。
【0162】また、第2のモデルは、上記第1のモデル
のうち、共有設定を起動した側に基づいて、優先側を決
定するモデルであり、さらに、共有設定起動側優先モデ
ルと、共有設定受動側優先モデルとに分けられる。共有
設定起動側優先モデルは、例えば、情報処理機器2…か
らなるデータベースシステム1がクライアント/サーバ
型のクライアント側を常に優先したい場合などに好適に
用いられ、同期処理の起動側やティップTの内容などに
拘わらず、常に、共有設定起動側を優先する。一方、共
有設定受動側モデルは、例えば、上記データベースシス
テム1のサーバ側を常に優先したい場合などに好適に用
いられ、共有設定受動側を常に優先する。いずれの場合
であっても、共有設定の起動と、優先側の特定とを同じ
操作で指定できるので、それぞれを別の操作で指定する
場合に比べて操作を簡略化できる。
【0163】さらに、第3のモデルは、図13のS3に
おいて、同期処理を起動する側に基づいて、優先側を決
定するモデルであり、同期処理起動側優先モデルと、同
期処理受動側優先モデルとに分けられる。これらのモデ
ルは、例えば、各情報処理機器2が対等な場合におい
て、前者は、自機器を優先したい場合に、後者は、相手
機器を優先したい場合に用いられる。いずれの場合であ
っても、同期処理の起動と、優先側の特定とを同じ操作
で指定できるので、それぞれを別の操作で指定する場合
に比べて操作を簡略化できる。さらに、各同期処理の時
点で、いずれの情報処理機器2が同期処理を起動するか
によって、優先側を変更できる。
【0164】ところで、上記では、1つの情報処理機器
2のみでティップTが変更された場合は、当該変更を他
の情報処理機器2へ反映していたが、これに限るもので
はない。例えば、図50に示すように、情報処理機器2
a(優先側)の共有フクロSFa の内容に合わせて、非
優先側となる情報処理機器2bにおいて、共有フクロS
b の内容を更新してもよい。この場合、同期処理は、
ダウンロード(アップロード)となる。なお、情報処理
機器2がダウンロードを行うか否かを選択可能な場合、
当該選択は、優先側決定のモデルと同様に、図13のS
1に示す共有設定時のオプションとして指定する方がよ
い。
【0165】具体的には、図51に示すように、S15
1において、優先側のダーティ・ビット・リストLD
は、図26に示すS51と同様に圧縮される。さらに、
S152において、非優先側で、非同期期間中に追加さ
れたティップTを共有フクロSFから削除する。また、
S153では、優先側で追加されたティップTに対応す
るダーティ・ビットDが、S52と同様に、非優先側の
ダーティ・ビット・リストLDに追加される。
【0166】S154では、図1に示すシンクロナイズ
処理部51が、優先側のダーティ・ビットDに基づいて
内外判定し、双方のダーティ・ビット・リストLDにお
いて、ダーティ・ビットDの移動パラメタを「X」また
は「K」に設定すると共に、内外判定に応じて、ティッ
プTを移動する。すなわち、優先側のダーティ・ビット
Dの移動パラメタが「X」または「I」の場合は、共有
フクロSF内を示している。したがって、当該ティップ
Tを共有フクロSF内に残すと共に、当該ティップTに
対応する双方のダーティ・ビットDの移動パラメタを
「X」に設定する。また、優先側のダーティ・ビットD
の移動パラメタが「K」または「O」の場合は、共有フ
クロSF外を示しているので、当該ティップTを共有フ
クロSF外へ移動すると共に、当該ティップTに対応す
る双方のダーティ・ビットDの移動パラメタを「K」に
設定する。
【0167】さらに、S155において、双方のダーテ
ィ・ビットDの更新パラメタに基づいて、優先側のティ
ップTの内容で、非優先側のティップTの内容を置き換
える。具体的には、優先側の更新パラメタが更新「m」
の場合、当該ティップTの内容が非優先側へ送出され
る。また、優先側の更新パラメタが維持「p」の場合で
あっても、非優先側の更新パラメタが更新「m」であれ
ば、同様に、当該ティップTの内容で非優先側を置き換
える。なお、双方の更新パラメタが維持「p」の場合
は、ティップTの内容を転送しない。
【0168】上記S155にて、ティップTの内容同期
が終了すると、S156において、図26のS56と同
様に、双方のダーティ・ビット・リストLDが圧縮され
る。この結果、同期処理の開始時点までに、予め定めら
れた優先側の共有フクロSFの内容に合わせて、非優先
側の共有フクロSFの内容を更新できる。
【0169】また、共有設定処理部52にて設定可能な
オプションの一つとして、図52に示すように、衝突し
たティップTを互いに別のティップTと見なして、自ら
のティップTを相手の共有フクロSFへ追加するモデル
も採用できる。ダウンロードの要否と同様に、当該モデ
ルを採用するか否かも、共有設定時のオプションとして
指定される。
【0170】具体的には、図53のS161に示すよう
に、ティップT4a・T4bが衝突した場合、相手のダーテ
ィ・ビット・リストLDb において、自らのダーティ・
ビット・リストLDa における当該ダーティ・ビットD
4aの順位と同じ順位に、例えば、「Op」など、自らの
ダーティ・ビットD4aよりも優先度の低いダーティ・ビ
ットD4ab を新たに作成する。同様に、S162におい
て、自らのダーティ・ビット・リストLDa において、
相手のダーティ・ビットD4bと同じ順位に新たなダーテ
ィ・ビットD4ba を作成する。さらに、これらのダーテ
ィ・ビットDに基づいて、S163では、ティップT4a
の内容が情報処理機器2bに伝送され、ティップT4a
対応する新たなティップT4ab が、共有フクロSFb
追加される。また、S164において、ティップT4b
対応する新たなティップT4ba が、共有フクロSFa
追加される。これにより、ティップTが衝突した場合
に、変更されたティップTの内容全てを保存できる。
【0171】なお、図52および図53では、ティップ
Tの衝突が発生した場合のみ、コピーする例について説
明したが、他の選択肢として、図54に示すように、対
応するティップTの少なくとも一方が変更された場合に
コピーするモデルも採用できる。この場合は、変更され
ていないティップTの組は、何ら変更されないが、ティ
ップTの組のうち、少なくとも1つが変更されると、テ
ィップTをコピーする。これにより、一方のみが変更さ
れたティップT2a・T2b、T3a・T3bについてもコピー
が作成され、変更されたティップTの内容全てを保存で
きる。
【0172】図13のS2に示す非同期期間中の処理
と、上述のS3に示す同期処理とが交互に繰り返され、
それ以降は、同期処理が不要になると、S4において、
共有設定が解除される。共有解除の一例として、情報処
理機器2a・2b双方にフクロFおよびティップTが残
留するモデル(ティップ複写型モデル)について説明す
ると、図55に示すように、一方の情報処理機器2aに
設けられた共有解除処理部53は、S171において、
他方の情報処理機器2bの共有解除処理部53へ共有解
除要求を送出する。当該共有解除要求には、例えば、自
らのフクロIDと相手のIDとの組み合わせなど、自ら
の共有フクロSFを示す情報と、当該共有フクロSFに
対応する相手の共有フクロSFを示す情報とが含まれて
いる。
【0173】さらに、共有解除起動側の共有解除処理部
53は、S172において、例えば、上記組み合わせに
応じたダーティ・ビット・リストLDおよびシンク・リ
ミットLim、並びに、共有相手リストLSに登録され
た相手のフクロIDなど、共有設定時に設けられた共有
情報を削除する。一方、共有解除受動側となる情報処理
機器2bでは、受け取った共有解除要求に基づいて、共
有解除処理部53が、自らに格納された上記共有情報を
抹消する(S173、S174)。なお、図55では、
共有相手の認証を図示していないが、共有設定と同様
に、共有解除受動側が共有解除要求の内容に応じて、共
有解除するか否かを決定してもよい。
【0174】これにより、図56に示すように、両情報
処理機器2a・2b間で共有されていた共有フクロSF
a ・SFb は、それぞれ非共有のフクロFa ・Fb とな
る。上記ティップ複写型モデルの共有解除では、共有解
除が指示された場合、両共有フクロSFa ・SFb 間の
共有設定が解除されるだけであり、それぞれに含まれて
いるティップTは、双方のフクロFa ・Fb に残留す
る。
【0175】なお、共有解除のモデルは、ティップ複写
型モデルに限るものではなく、種々のモデルを適用でき
る。例えば、共有設定が解除された場合、図57に示す
ように、一方のフクロFにのみ、ティップを残し、他方
のフクロFでは、ティップを削除するモデル(ティップ
偏在型モデル)を採用してもよいし、図58に示すよう
に、ティップ消滅型モデル、すなわち、双方のフクロF
からティップTを削除するモデルを採用してもよい。さ
らに、ティップ複写型モデルやティップ偏在型モデルの
場合は、共有解除が指示されたとき、同期処理した後
で、共有解除することもできる。この場合は、特に同期
処理を指示しなくても、共有解除の時点で、ティップT
の整合性を保つことができる。また、ティップ偏在型モ
デル、および、ティップ消滅型モデルのように、ティッ
プTを除去する場合、図59および図60に示すよう
に、ティップTの除去により、空になるフクロFを削除
してもよい。いずれの場合であっても、情報処理機器2
が共有解除のモデルを複数選択可能な場合は、上述の優
先側決定のモデル選択と同様に、図13のS1に示す共
有設定時のオプションとして、共有解除のモデルを設定
する方がよい。
【0176】ところで、上記では、S51、すなわち、
図13のS3に示す同期処理の際に、シンク・リミット
Limより後のダーティ・ビットDを圧縮したが、この
処理は、自らの情報処理機器2に格納されているダーテ
ィ・ビットDのみを参照しているため、S2の非同期期
間中に実施できる。
【0177】この場合は、ティップ削除処理部43(図
1参照)は、ティップTの排出が指示された場合、図2
1に代えて、図61に示す処理を行う。すなわち、S1
81において、当該ティップTに対応するダーティ・ビ
ットDが、シンク・リミットLimより後か否かが判定
され、後の場合は、S182において、ダーティ・ビッ
トDがダーティ・ビット・リストLDから削除される。
一方、後ではない場合は、S183において、ダーティ
・ビットDの移動パラメタが「O」に変更される。この
結果、同期処理時に上記S51の処理が不要になり、所
要時間を短縮できる。
【0178】また、非同期期間中に圧縮する場合は、例
えば、誤操作でティップTを挿入したときのように、共
有フクロSF内に存在する期間が極めて短いティップT
に関連するダーティ・ビットDを、ダーティ・ビット・
リストLDから即座に削除できる。この結果、ダーティ
・ビット・リストLDの長さを抑制でき、記憶に必要な
メモリ量を削減できる。
【0179】図61では、ティップTの排出時にダーテ
ィ・ビット・リストLDを圧縮する場合について説明し
たが、非同期期間中の任意の時点で圧縮することもでき
る。この場合は、例えば、上位アプリケーションの指示
などによって、シンク・リミットLimより後ろに位置
し、かつ、移動パラメタが排出「O」であるダーティ・
ビットDが、ダーティ・ビット・リストLDから削除さ
れる。これにより、1回の処理で複数のティップTのダ
ーティ・ビットDをダーティ・ビット・リストLDから
削除できる。
【0180】〔第2の実施形態〕ところで、第1の実施
形態では、データベースシステム1を構成する各情報処
理機器2…が、データベースDBの部分集合となるフク
ロFを作成可能で、それぞれが対等の場合を例にして説
明した。これに対して、本実施形態では、図62に示す
ように、データベースシステム11に、部分集合を設定
できない情報処理機器(データベース管理装置)12が
含まれる場合について説明する。
【0181】上記データベースシステム11は、例え
ば、クライアント−サーバ型のデータベースシステムな
ど、互いに対等ではない情報処理機器から構成される場
合に好適に使用される。上記情報処理機器2は、例え
ば、サーバとして動作するデスクトップ型のコンピュー
タなどとして実現され、上記情報処理機器12は、例え
ば、携帯情報端末など、格納可能なデータベースDBの
規模が情報処理機器2よりも小さい機器にて実現され
る。
【0182】当該情報処理機器12は、図1に示す情報
処理機器2と略同一の構造であるが、データベース管理
部23は、図63に示すように、1つのデータベースD
Bを1つのフクロFとして格納しており、図62に示す
ように、情報処理機器12のデータベースDB全体とな
るフクロFが、情報処理機器2のフクロFと共有され
る。
【0183】上記構成のデータベースシステム11であ
っても、同期処理の際、ティップTの内容伝送に先立っ
て、情報処理機器2・12間でダーティ・ビットDが比
較され、内容伝送の要否と伝送方向とが決定される。こ
こで、情報処理機器2では、第1の実施形態と同様に、
ダーティ・ビットDに基づいて、移動のみが行われたテ
ィップTを判別できる。この結果、当該ティップTの内
容伝送を確実に抑止でき、同期処理時に伝送されるデー
タ量を削減できる。
【0184】さらに、本実施形態でも、両ダーティ・ビ
ット・リストLDにおけるダーティ・ビットDの順位
で、ティップTの対応関係が記憶されているので、より
少ないメモリ量でティップTの状態を把握できると共
に、同期処理時に通信されるデータ量を削減できる。
【0185】上記構成のデータベースシステム11の使
用例としては、例えば、会社などに設置され、サーバと
なる情報処理機器2で、全営業マンに必要なアドレス情
報を一括管理し、携帯情報端末となる情報処理機器12
が各営業マンそれぞれに配付される場合が挙げられる。
ここで、各営業マン毎に必要なアドレス情報の組み合わ
せは、互いに異なっており、かつ、複数の営業マンに共
通のアドレス情報があることが多い。したがって、情報
処理機器2にて、データベースDBに全アドレス情報を
格納し、各営業マンに必要なアドレス情報の組み合わせ
をフクロFとして管理することで、情報処理機器2は、
例えば、各営業マン毎のアドレス情報を別のデータベー
スDBに格納する場合と異なり、各アドレス情報を整合
性を損なうことなく管理できる。また、情報処理機器1
2は、情報処理機器2の1つのフクロFを格納できれば
よいので、アドレス情報全体を記憶する場合よりも記憶
容量を削減できる。
【0186】なお、上記第1および第2の実施形態で
は、ティップTが個々の住所を示す場合を例にして説明
したが、当然ながら、ティップTが示すデータは、デー
タベースの用途に応じて自由に設定できる。また、各テ
ィップTが同じ種類の属性A…を有し、共有相手が同じ
ティップTが、共有フクロSFに集められる場合を例に
して説明したが、これに限るものではない。例えば、共
有相手とアプリケーションとの組み合わせ毎に共有フク
ロSFを設けてもよい。アドレス帳、電子帳およびメイ
ルアドレスデータベースのアプリケーションが存在する
場合を例にして説明すると、アドレス帳で使用されるテ
ィップTは、名前、電話番号、メールアドレス、住所お
よび勤務先などを示す属性を備えている。また、電話帳
で使用されるティップTは、名前と電話番号とを示す属
性を備え、メイルアドレスデータベースのティップT
は、名前とメールアドレスとを示す属性を備えている。
さらに、各ティップTは、使用アプリケーションを示す
フクロFに集められる。例えば、電話帳で使用されるテ
ィップTは、アドレス帳を示すフクロFにも所属する。
この場合、アドレス帳全体を新しくしたい場合は、アド
レス帳を示すフクロFに対して共有設定すればよいし、
電話帳のフクロFのみを変更したい場合は、当該フクロ
Fに対し共有設定して同期処理すればよい。このよう
に、使用するアプリケーション毎にフクロFを割り当て
れば、用途毎に同期処理できる。
【0187】また、上記第1および第2の実施形態で
は、対応関係をダーティ・ビットDの順序として記憶し
ているが、これに限るものではない。例えば、ティップ
IDなど、相手のティップTを示す情報で、対応するテ
ィップTを特定してもよい。ただし、この場合は、同期
処理時に、ダーティ・ビットDだけではなく、相手のテ
ィップIDを送出する必要があり、通信されるデータ量
が増大する虞れがある。
【0188】さらに、相手のティップIDは、相手のデ
ータベースDBの規模が増大するに従って、データ量が
多くなる。この結果、特に、第2の実施形態のように、
情報処理機器2と情報処理機器12とが対応ではない場
合、メモリ量の削減が強く要求される情報処理機器12
において、ダーティ・ビットDの順序で特定するより
も、対応関係の記憶に必要なメモリ量が多くなってしま
う。
【0189】これに対して、上記第1および第2の実施
形態では、ティップTの対応関係は、自らのティップT
に関連する情報の順序で格納さている。したがって、相
手のデータベースDBの規模やティップTの格納方法に
拘わらず、対応関係を格納できる。この結果、相手のテ
ィップTを示す情報で特定する場合よりも、対応関係の
記憶に必要なメモリ量を削減できると共に、同期処理の
際に伝送されるデータ量を削減できる。
【0190】また、上記第1および第2の実施形態で
は、ダーティ・ビットDの順序が、ダーティ・ビット・
リストLDとして格納されているが、これに限るもので
はない。例えば、ダーティ・ビット・リストLDとは別
に順序を示すリストを設けてもよいし、各ティップT毎
に、ダーティ・ビットDと、順位を示す情報とを格納す
ることもできる。ただし、ダーティ・ビットDと順序と
は、同じティップTに対応する場合であっても、自らの
共有フクロSFと相手の共有フクロSFとの組み合わせ
毎に設けられ、共有相手の数は、データベースDBの作
成時点では予測できないことが多い。したがって、ダー
ティ・ビットDと順序とは、ティップTの内容自体とは
別に設ける方がよい。それゆえ、それぞれを別に記憶す
ると、対応するティップTを示す情報が別に必要にな
り、必要なメモリ量が増大する。したがって、ダーティ
・ビットDを格納する順序として、対応関係を格納する
ことで、必要なメモリ量をさらに削減できる。
【0191】さらに、上記各実施形態では、自らの共有
フクロSFと相手の共有フクロSFとの組み合わせ毎
に、ダーティ・ビットDを設けているが、非同期期間が
同一であれば、複数の共有フクロSF間で、ダーティ・
ビット・リストLD(ダーティ・ビットD)を共用でき
る。
【0192】なお、上記各実施形態では、例えば、各情
報処理機器2(12)がシンクロナイズ処理部51を備
えている場合について説明したが、シンクロナイズ処理
部51や共有設定処理部52など、各情報処理機器2
(12)が通信可能な期間のみに動作する部材は、いず
れか一方に設けられていればよい。また、例えば、シン
クロナイズ処理部51のうち、ティップTの衝突を検出
する部分と、優先側を決定する部分とが異なる情報処理
機器2(12)に配されていてもよい。通信可能な時点
で、上記各部材を形成できれば、同様の効果が得られ
る。
【0193】
【発明の効果】請求項1の発明に係るデータベース管理
装置は、以上のように、データの衝突時に優先側を決定
する優先側決定手段を複数備え、さらに、使用する優先
側決定手段を、共有設定の時点で選択する選択手段が設
けられている構成である。
【0194】上記構成によれば、データ衝突時に、優先
側のデータ内容で非優先側が置き換えられるので、デー
タベースのデータ数、同期処理時に通信および処理され
るデータ量を削減できると共に、同期処理後に個々のデ
ータを削除する従来技術よりも、操作の手間を削減でき
るという効果を奏する。加えて、共有設定の時点で、優
先側決定手段が選択されるので、各データベース管理装
置は、不所望な優先側決定手段の使用を拒絶できる。こ
の結果、より安全なデータベースシステムを実現できる
という効果を併せて奏する。
【0195】請求項2の発明に係るデータベース管理装
置は、以上のように、請求項1記載の発明の構成におい
て、選択手段の選択対象として、さらに、上記非同期期
間中に、互いに対応するデータのうちで複数のデータが
変更された場合、変更されたデータを残余のデータベー
スへ追加する複写手段を備えている構成である。
【0196】当該構成では、選択手段が共有設定の時点
で、選択手段が複写手段を選択することで、不所望なデ
ータの削除を確実に防止できる。それゆえ、データベー
ス管理装置の安全性を向上できるという効果を奏する。
【0197】請求項3の発明に係るデータベース管理装
置は、以上のように、データの衝突時に、同期処理の開
始を指示したデータベース管理装置に基づいて、優先側
を決定する優先側決定手段を備えている構成である。
【0198】上記構成によれば、データ衝突時に、優先
側のデータ内容で非優先側が置き換えられるので、請求
項1と同様、従来技術よりも少ない手間で、データベー
スのデータ数と、同期処理時に通信および処理されるデ
ータ量とを削減できるという効果を奏する。加えて、同
期処理の開始と優先側の指定とを同じ操作で指示できる
ので、操作の手間をさらに削減できるという効果を併せ
て奏する。
【0199】請求項4の発明に係るデータベース管理装
置は、以上のように、データの衝突時に、共有設定を指
示したデータベース管理装置に基づいて、優先側を決定
する優先側決定手段を備えている構成である。
【0200】それゆえ、請求項1と同様、従来技術より
も少ない手間で、データベースのデータ数と、同期処理
時に通信および処理されるデータ量とを削減できるとい
う効果を奏する。加えて、共有設定と優先側の指定とを
同じ操作で指示できるので、操作の手間をさらに削減で
きるという効果を併せて奏する。
【0201】請求項5の発明に係るデータベース管理装
置は、以上のように、データの衝突時に、優先側を問い
合わせて優先側を決定する優先側決定手段を備えている
構成である。
【0202】それゆえ、請求項1と同様、従来技術より
も少ない手間で、データベースのデータ数と、同期処理
時に通信および処理されるデータ量とを削減できるとい
う効果を奏する。
【0203】請求項6の発明に係るデータベース管理装
置は、以上のように、請求項5記載の発明の構成におい
て、上記優先側決定手段は、上記優先側の問い合わせと
データ内容の置き換えとの間に、他のデータベース管理
装置との通信を切断する構成である。
【0204】それゆえ、上記応答時間に拘わらず、通信
時間の合計を一定の値に保つことができ、応答中、通信
路を維持し続ける場合よりも、同期処理に要する通信時
間を短縮できるという効果を奏する。
【0205】請求項7の発明に係るデータベース管理装
置は、以上のように、請求項1、2、3、4、5または
6記載の発明の構成において、上記優先側決定手段は、
自らが決定した優先側と、相手から指定された優先側と
に基づいて、上記同期処理手段へ指示する優先側を決定
する構成である。
【0206】それゆえ、各データベース管理装置が優先
側決定手段を持ち、それぞれでの優先側が互いに異なる
場合であっても、例えば、優先側を再考するなどして、
適切な優先側を決定できるという効果を奏する。
【0207】請求項8の発明に係るデータベース管理装
置は、以上のように、請求項1、2、3、4、5、6ま
たは7記載の発明の構成において、上記優先側決定手段
は、互いに対応するデータのうちで複数のデータが変更
され、かつ、相手のデータベース管理装置が優先側を指
定しなかった場合、自らが決定した優先側を、上記同期
処理手段へ指示する構成である。
【0208】それゆえ、少なくとも1つのデータベース
管理装置が優先側決定手段を持っていれば、優先側を決
定でき、データベースシステム内に、優先側決定手段を
持たないデータベース管理装置を混在させることができ
るという効果を奏する。
【0209】請求項9の発明に係るデータベース管理装
置は、以上のように、請求項1、2、3、4、5、6、
7または8記載の発明の構成において、上記優先側決定
手段は、互いに対応するデータのうちで、少なくとも一
つのデータが変更された場合も、優先側を決定する構成
である。
【0210】それゆえ、優先側が変更されていない場合
は、非優先側のデータの内容を変更前に戻すことがで
き、ダウンロードやアップロードを確実に実施できると
いう効果を奏する。
【0211】請求項10の発明に係るデータベース管理
装置は、以上のように、同期処理よりも前に、対応する
データが格納される共有範囲を各データベース間で指定
する共有設定手段を備え、当該共有設定手段は、共有が
指示されたデータベースのうち、少なくとも1つに、共
有範囲となる部分集合を新たに作成する構成である。
【0212】上記構成では、データベースの大きさとは
独立して、共有範囲を指定できるので、共有専用のデー
タベースを新たに作成する必要がない。それゆえ、デー
タベース管理装置に必要なメモリ量を削減できると共
に、同期処理の際、各データベース管理装置間で、伝送
あるいは処理されるデータ量を削減できるという効果を
奏する。
【0213】加えて、データが共有範囲に含まれるか否
かによって、同期処理を行うか否かを決定できると共
に、少なくとも1つのデータベース管理装置で、新たな
部分集合の作成指示を省略できる。これらの結果、操作
の手間が少ないデータベース管理装置を実現できるとい
う効果を奏する。
【0214】請求項11の発明に係るデータベース管理
装置は、以上のように、共有設定手段を備え、当該共有
設定手段は、共有設定の後、上記同期処理手段に、対応
付けられた共有範囲間の同期処理を指示する構成であ
る。
【0215】それゆえ、共有設定の後、特に同期処理を
指示せずに、各共有範囲の内容を互いに一致させること
ができるという効果を奏する。
【0216】請求項12の発明に係るデータベース管理
装置は、以上のように、共有解除手段を備え、当該共有
解除手段は、共有解除に先立って、上記同期処理手段
に、対応付けられた共有範囲間の同期処理を指示する構
成である。
【0217】それゆえ、共有解除に先立って、特に同期
処理を指示しなくても、各共有範囲の内容を互いに一致
させた状態で、共有解除できるという効果を奏する。
【0218】請求項13の発明に係るデータベース管理
装置は、以上のように、上記共有設定手段により指定さ
れた共有範囲の対応付けを解消する共有解除手段を備
え、当該共有解除手段は、少なくとも1つの共有範囲に
含まれるデータを削除する構成である。
【0219】上記構成によれば、同期処理が不要になっ
た時点で、共有設定を解除できるので、共有範囲の不所
望な拡大を防止でき、同期処理時に伝送あるいは処理さ
れるデータ量を削減できるという効果を奏する。さら
に、共有解除の際、共有範囲内のデータ削除を指示する
ことなく、少なくとも1つの共有範囲に含まれるデータ
を削減できるので、操作の手間を増大させることなく、
データベースシステム全体に含まれるデータ量を削減で
きるという効果を併せて奏する。
【0220】請求項14の発明に係るデータベース管理
装置は、以上のように、請求項13の発明の構成におい
て、上記共有解除手段は、対応付けを解消する共有範囲
のうち、1つの共有範囲では、データを削除せず、残余
の共有範囲では、データを削除する構成である。
【0221】上記構成によれば、共有解除の際、互いに
対応しているデータのうち、特定の共有範囲に含まれる
データのみが残留する。それゆえ、共有解除と共有設定
とを繰り返した場合であっても、データベースシステム
のデータ量、および、対応付けの際の手間や演算量の増
大を抑制できるという効果を奏する。
【0222】請求項15の発明に係るデータベース管理
装置は、以上のように、共有解除手段を備え、当該共有
解除手段は、共有範囲となる部分集合のうち、少なくと
も1つの部分集合を削除する構成である。
【0223】それゆえ、請求項13と同様、共有範囲の
不所望な拡大を防止でき、同期処理時に伝送あるいは処
理されるデータ量を削減できるという効果を奏する。加
えて、共有解除の際、共有範囲の削除を指示することな
く、少なくとも1つの共有範囲が削減される。この結
果、操作の手間を増大させることなく、各データベース
管理装置にて、共有範囲の設定に必要なメモリ量を削減
できるという効果を併せて奏する。
【0224】請求項16の発明に係るデータベース管理
装置は、以上のように、請求項13、14または15記
載の共有解除手段のうちの少なくとも1つを含む複数の
異なる共有解除手段を備え、さらに、共有設定の時点
で、いずれの共有解除手段を使用するかを選択する選択
手段を備えている構成である。
【0225】上記構成によれば、請求項13、14また
は15と同様に、同期処理が不要になった時点で、共有
設定を解除できるので、共有範囲の不所望な拡大を防止
でき、同期処理時に伝送あるいは処理されるデータ量を
削減できるという効果を奏する。
【0226】加えて、共有解除手段の選択時点が共有設
定の時点に限定されているので、各データベース管理装
置は、不所望な共有解除手段の使用を拒絶でき、より安
全なデータベースシステムを実現できるという効果を併
せて奏する。
【0227】請求項17ないし25の発明に係る記録媒
体は、以上のように、請求項1、3、4、5、10、1
1、12、13または15のデータベース管理装置とし
て、コンピュータを動作させるためのプログラムが記録
されている構成である。
【0228】それゆえ、上記プログラムをコンピュータ
に実行させることによって、上記各請求項と同様に、デ
ータベースのデータ数、通信および処理されるデータ
量、並びに、操作時の手間が少ないデータベース管理装
置を実現できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すものであり、情報処
理機器の要部構成を示すブロック図である。
【図2】上記情報処理機器を使用して構築されるデータ
ベースシステムの一例を示すブロック図である。
【図3】上記情報処理機器において、データ1件を示す
ティップと、その母集合となるフクロとの関係を示す説
明図である。
【図4】上記情報処理機器において、ティップの格納方
法を示す説明図である。
【図5】上記情報処理機器において、ティップと、フク
ロと、データベースとの関係を示す説明図である。
【図6】上記情報処理機器において、ティップの格納方
法を示すものであり、ティップと、フクロと、データベ
ースとからなるツリー構造を示す説明図である。
【図7】上記データベースシステムにおいて、情報処理
機器の共有範囲となる共有フクロと、他の情報処理機器
の共有フクロとの関係を示す説明図である。
【図8】上記データベースシステムにおいて、ティップ
の対応関係と、対応関係の記憶方法とを示す説明図であ
る。
【図9】上記データベースシステムにおいて、各情報処
理機器に格納されるダーティ・ビット・リストを示す説
明図である。
【図10】上記ダーティ・ビット・リストを構成するダ
ーティ・ビットにおいて、移動パラメタの格納例を示す
説明図である。
【図11】自らの共有フクロが複数の共有フクロと共有
される場合において、ティップの対応関係を示す説明図
である。
【図12】上記対応関係において、ダーティ・ビット・
リストを示す説明図である。
【図13】上記データベースシステムの概略の動作を示
すフローチャートである。
【図14】上記データベースシステムにおいて、フクロ
融合型モデルの共有設定を示す説明図である。
【図15】上記データベースシステムにおいて、同期処
理を示す説明図である。
【図16】上記データベースシステムにおいて、共有設
定時の動作を詳細に説明するフローチャートである。
【図17】上記データベースシステムの変形例を示すも
のであり、フクロ取込み型モデルの共有設定を示す説明
図である。
【図18】上記データベースシステムの他の変形例を示
すものであり、フクロ新規作成型モデルの共有設定を示
す説明図である。
【図19】上記データベースシステムにおいて、非同期
期間中の各種操作に応じたダーティ・ビットの変化を示
す説明図である。
【図20】上記データベースシステムの非同期期間中の
動作を詳細に説明するものであり、ティップの内容更新
処理を示すフローチャートである。
【図21】上記データベースシステムの非同期期間中の
動作を詳細に説明するものであり、ティップの挿入処理
を示すフローチャートである。
【図22】上記データベースシステムの非同期期間中の
動作を詳細に説明するものであり、ティップの排出処理
を示すフローチャートである。
【図23】上記データベースシステムにおいて、同期処
理の終了直後におけるティップの対応関係を示す説明図
である。
【図24】上記データベースシステムにおいて、同期処
理の終了直後におけるダーティ・ビット・リストを示す
説明図である。
【図25】上記データベースシステムにおいて、次の同
期処理の直前におけるダーティ・ビット・リストを示す
説明図である。
【図26】上記データベースシステムにおいて、同期処
理中の動作を詳細に説明するフローチャートである。
【図27】上記データベースシステムにおいて、同期処
理中の状態を説明するものであり、圧縮後のダーティ・
ビット・リストを示す説明図である。
【図28】上記データベースシステムにおいて、同期処
理中の他の状態を説明するものであり、他の情報処理機
器で追加されたダーティ・ビットが、自らのダーティ・
ビット・リストに追加された状態を示す説明図である。
【図29】上記データベースシステムにおいて、同期処
理中のさらに他の状態を説明するものであり、自らで追
加されたダーティ・ビットが、他の情報処理機器のダー
ティ・ビット・リストに追加された状態を示す説明図で
ある。
【図30】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの移動パラメタの優
先度を示す説明図である。
【図31】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの変化を示す説明図
である。
【図32】上記データベースシステムの同期処理を説明
するものであり、内外判定同期処理の終了時点における
ダーティ・ビット・リストを示す説明図である。
【図33】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの更新パラメタの優
先度を示す説明図である。
【図34】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットの更新パラメタの変
化を示す説明図である。
【図35】上記データベースシステムの同期処理を説明
するものであり、ダーティ・ビットによる優先側判定を
示す説明図である。
【図36】上記データベースシステムの同期処理を説明
するものであり、データ内容同期処理後のダーティ・ビ
ット・リストを示す説明図である。
【図37】上記データベースシステムの同期処理を説明
するものであり、データ内容同期処理後に、さらに圧縮
されたダーティ・ビット・リストを示す説明図である。
【図38】上記データベースシステムにおいて、ティッ
プ衝突を解決する主体を説明するものであり、話し合い
モデルを示す説明図である。
【図39】上記データベースシステムにおいて、ティッ
プ衝突を解決する主体を説明するものであり、選択解決
モデルを示す説明図である。
【図40】上記データベースシステムにおいて、ティッ
プ衝突を解決する主体を説明するものであり、自動解決
モデルを示す説明図である。
【図41】上記データベースシステムにおいて、ティッ
プ衝突の解決主体と解決時期との関係を示す説明図であ
る。
【図42】上記データベースシステムにおいて、ティッ
プ衝突解決時の動作を示すものであり、折衝解決型モデ
ルを示すフローチャートである。
【図43】上記データベースシステムにおいて、ティッ
プ衝突解決時の動作を示すものであり、クライアント即
時型モデルを示すフローチャートである。
【図44】上記データベースシステムにおいて、ティッ
プ衝突解決時の動作を示すものであり、アプリ解決型モ
デルを示すフローチャートである。
【図45】図44を、さらに詳細に示すフローチャート
である。
【図46】上記データベースシステムにおいて、ティッ
プ衝突解決時の動作を示すものであり、クライアント遅
延型モデルを示すフローチャートである。
【図47】上記データベースシステムにおいて、ティッ
プ衝突解決時の動作を示すものであり、最終更新時刻に
基づく自動解決型モデルを示すフローチャートである。
【図48】上記データベースシステムにおいて、各ティ
ップの更新状況を示す説明図である。
【図49】上記データベースシステムにおいて、ティッ
プ衝突解決時の動作を示すものであり、自動解決型モデ
ルのうち、一方選択モデルを示すフローチャートであ
る。
【図50】上記データベースシステムにおいて、ダウン
ロードを示す説明図である。
【図51】上記データベースシステムにおいて、ダウン
ロード時の動作を示すフローチャートである。
【図52】上記データベースシステムにおいて、ティッ
プ衝突時に、コピーを用いて対応付けを変更する場合を
示す説明図である。
【図53】上記データベースシステムにおいて、コピー
を用いた対応付け変更時の動作を示すフローチャートで
ある。
【図54】上記データベースシステムにおいて、ティッ
プの変更時に、コピーを用いて対応付けを変更する場合
を示す説明図である。
【図55】上記データベースシステムにおいて、共有解
除の動作を詳細に説明するフローチャートである。
【図56】上記データベースシステムにおいて、ティッ
プ複写型モデルの共有解除を示す説明図である。
【図57】上記データベースシステムの変形例を示すも
のであり、ティップ偏在型モデルの共有解除を示す説明
図である。
【図58】上記データベースシステムのさらに他の変形
例を示すものであり、ティップ消滅型モデルの共有解除
を示す説明図である。
【図59】上記データベースシステムのさらに他の変形
例を示すものであり、ティップ偏在型モデルで、かつ、
空のフクロも消去する場合の共有解除を示す説明図であ
る。
【図60】上記データベースシステムのさらに他の変形
例を示すものであり、ティップ消滅型モデルで、かつ、
空のフクロも消去する場合の共有解除を示す説明図であ
る。
【図61】上記データベースシステムのさらに他の変形
例を示すものであり、非同期期間中に、ダーティ・ビッ
ト・リストを圧縮する場合の動作を示すフローチャート
である。
【図62】本発明の他の実施形態を示すものであり、デ
ータベースシステムにおいて、各情報処理機器間で共有
されるティップとフクロとデータベースとの関係を示す
説明図である。
【図63】上記データベースシステムにおいて、データ
ベース全体を1つのフクロとして処理する情報処理機器
に、ティップを格納する方法を示す説明図である。
【符号の説明】
1・11 データベースシステム 2・12 情報処理機器(データベース管理装置) 23 データベース管理部(データベース) 51 シンクロナイズ処理部(同期処理手段、優先側決
定手段、選択手段、複写手段) 52 共有設定処理部(共有設定手段) 53 共有解除処理部(共有解除手段)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鎌倉 多志 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 藤田 房之 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】複数のデータベース管理装置と、同期処理
    よりも前に、対応するデータが格納される共有範囲を各
    データベース間で指定する共有設定手段と、互いに通信
    可能になったデータベース管理装置に格納されたデータ
    ベース間で、対応するデータの内容を一致させる同期処
    理手段とを有するデータベースシステムを構成するため
    に設けられ、少なくとも1つのデータベースを有するデ
    ータベース管理装置において、 前回の同期処理から次回の同期処理まで非同期期間中
    に、互いに対応するデータのうちで複数のデータが変更
    された場合に優先側を決定すると共に、上記同期処理手
    段に指示して、優先側のデータ内容で非優先側のデータ
    内容を置き換えさせる優先側決定手段を複数備え、 さらに、上記複数の優先側決定手段のうちで使用する優
    先側決定手段を、共有設定の時点で選択する選択手段が
    設けられていることを特徴とするデータベース管理装
    置。
  2. 【請求項2】さらに、上記非同期期間中に、互いに対応
    するデータのうちで複数のデータが変更された場合、変
    更されたデータを残余のデータベースへ追加する複写手
    段を備え、 上記選択手段は、優先側決定手段と複写手段とのうちの
    一つを選択することを特徴とする請求項1記載のデータ
    ベース管理装置。
  3. 【請求項3】複数のデータベース管理装置と、当該デー
    タベース管理装置の指示に基づいて、互いに通信可能に
    なったデータベース管理装置に格納されたデータベース
    間で、対応するデータの内容を一致させる同期処理手段
    とを有するデータベースシステムを構成するために設け
    られ、少なくとも1つのデータベースを有するデータベ
    ース管理装置において、 前回の同期処理から次回の同期処理まで非同期期間中
    に、互いに対応するデータのうちで複数のデータが変更
    された場合、同期処理の開始を指示したデータベース管
    理装置に基づいて、優先側を決定すると共に、上記同期
    処理手段に指示して、優先側のデータ内容で非優先側の
    データ内容を置き換えさせる優先側決定手段を備えてい
    ることを特徴とするデータベース管理装置。
  4. 【請求項4】複数のデータベース管理装置と、当該デー
    タベース管理装置の指示に基づいて、同期処理よりも前
    に、対応するデータが格納される共有範囲を各データベ
    ース間で指定する共有設定手段と、互いに通信可能にな
    ったデータベース管理装置に格納されたデータベース間
    で、対応するデータの内容を一致させる同期処理手段と
    を有するデータベースシステムを構成するために設けら
    れ、少なくとも1つのデータベースを有するデータベー
    ス管理装置において、 前回の同期処理から次回の同期処理まで非同期期間中
    に、互いに対応するデータのうちで複数のデータが変更
    された場合、共有設定を指示したデータベース管理装置
    に基づいて、優先側を決定すると共に、上記同期処理手
    段に指示して、優先側のデータ内容で非優先側のデータ
    内容を置き換えさせる優先側決定手段を備えていること
    を特徴とするデータベース管理装置。
  5. 【請求項5】複数のデータベース管理装置と、当該デー
    タベース管理装置の指示に基づいて、互いに通信可能に
    なったデータベース管理装置に格納されたデータベース
    間で、対応するデータの内容を一致させる同期処理手段
    とを有するデータベースシステムを構成するために設け
    られ、少なくとも1つのデータベースを有するデータベ
    ース管理装置において、 前回の同期処理から次回の同期処理まで非同期期間中
    に、互いに対応するデータのうちで複数のデータが変更
    された場合、優先側を問い合わせて優先側を決定すると
    共に、上記同期処理手段に指示して、優先側のデータ内
    容で非優先側のデータ内容を置き換えさせる優先側決定
    手段を備えていることを特徴とするデータベース管理装
    置。
  6. 【請求項6】上記優先側決定手段は、上記優先側の問い
    合わせとデータ内容の置き換えとの間に、他のデータベ
    ース管理装置との通信を切断することを特徴とする請求
    項5記載のデータベース管理装置。
  7. 【請求項7】上記優先側決定手段は、自らが決定した優
    先側と、相手から指定された優先側とに基づいて、上記
    同期処理手段へ指示する優先側を決定することを特徴と
    する請求項1、2、3、4、5または6記載のデータベ
    ース管理装置。
  8. 【請求項8】上記優先側決定手段は、互いに対応するデ
    ータのうちで複数のデータが変更され、かつ、相手のデ
    ータベース管理装置が優先側を指定しなかった場合、自
    らが決定した優先側を、上記同期処理手段へ指示するこ
    とを特徴とする請求項1、2、3、4、5、6または7
    記載のデータベース管理装置。
  9. 【請求項9】上記優先側決定手段は、互いに対応するデ
    ータのうちで、少なくとも一つのデータが変更された場
    合も、優先側を決定することを特徴とする請求項1、
    2、3、4、5、6、7または8記載のデータベース管
    理装置。
  10. 【請求項10】複数のデータベース管理装置と、互いに
    通信可能になったデータベース管理装置に格納されたデ
    ータベース間で、対応するデータの内容を一致させる同
    期処理手段とを有するデータベースシステムを構成する
    ために設けられ、少なくとも1つのデータベースを有す
    るデータベース管理装置において、 同期処理よりも前に、対応するデータが格納される共有
    範囲を各データベース間で指定する共有設定手段を備
    え、 当該共有設定手段は、共有が指示されたデータベースの
    うち、少なくとも1つに、共有範囲となる部分集合を新
    たに作成することを特徴とするデータベース管理装置。
  11. 【請求項11】複数のデータベース管理装置と、互いに
    通信可能になったデータベース管理装置に格納されたデ
    ータベース間で、対応するデータの内容を一致させる同
    期処理手段とを有するデータベースシステムを構成する
    ために設けられ、少なくとも1つのデータベースを有す
    るデータベース管理装置において、 同期処理よりも前に、対応するデータが格納される共有
    範囲を各データベース間で指定する共有設定手段を備
    え、 当該共有設定手段は、共有設定の後、上記同期処理手段
    に、対応付けられた共有範囲間の同期処理を指示するこ
    とを特徴とするデータベース管理装置。
  12. 【請求項12】複数のデータベース管理装置と、同期処
    理よりも前に、対応するデータが格納される共有範囲を
    各データベース間で指定する共有設定手段と、互いに通
    信可能になったデータベース管理装置に格納されたデー
    タベース間で、対応するデータの内容を一致させる同期
    処理手段とを有するデータベースシステムを構成するた
    めに設けられ、少なくとも1つのデータベースを有する
    データベース管理装置において、 上記共有設定手段により指定された共有範囲の対応付け
    を解消する共有解除手段を備え、 当該共有解除手段は、共有解除に先立って、上記同期処
    理手段に、対応付けられた共有範囲間の同期処理を指示
    することを特徴とするデータベース管理装置。
  13. 【請求項13】複数のデータベース管理装置と、同期処
    理よりも前に、対応するデータが格納される共有範囲を
    各データベース間で指定する共有設定手段と、互いに通
    信可能になったデータベース管理装置に格納されたデー
    タベース間で、対応するデータの内容を一致させる同期
    処理手段とを有するデータベースシステムを構成するた
    めに設けられ、少なくとも1つのデータベースを有する
    データベース管理装置において、 上記共有設定手段により指定された共有範囲の対応付け
    を解消する共有解除手段を備え、 当該共有解除手段は、少なくとも1つの共有範囲に含ま
    れるデータを削除することを特徴とするデータベース管
    理装置。
  14. 【請求項14】上記共有解除手段は、対応付けを解消す
    る共有範囲のうち、1つの共有範囲では、データを削除
    せず、残余の共有範囲では、データを削除することを特
    徴とする請求項13記載のデータベース管理装置。
  15. 【請求項15】複数のデータベース管理装置と、同期処
    理よりも前に、対応するデータが格納される共有範囲を
    各データベース間で指定する共有設定手段と、互いに通
    信可能になったデータベース管理装置に格納されたデー
    タベース間で、対応するデータの内容を一致させる同期
    処理手段とを有するデータベースシステムを構成するた
    めに設けられ、少なくとも1つのデータベースを有する
    データベース管理装置において、 上記共有設定手段により指定された共有範囲の対応付け
    を解消する共有解除手段を備え、 当該共有解除手段は、共有範囲となる部分集合のうち、
    少なくとも1つの部分集合を削除することを特徴とする
    データベース管理装置。
  16. 【請求項16】複数のデータベース管理装置と、同期処
    理よりも前に、対応するデータが格納される共有範囲を
    各データベース間で指定する共有設定手段と、互いに通
    信可能になったデータベース管理装置に格納されたデー
    タベース間で、対応するデータの内容を一致させる同期
    処理手段とを有するデータベースシステムを構成するた
    めに設けられ、少なくとも1つのデータベースを有する
    データベース管理装置において、 請求項13、14または15記載の共有解除手段のうち
    の少なくとも1つを含む、複数の異なる共有解除手段を
    備え、 さらに、共有設定の時点で、いずれの共有解除手段を使
    用するかを選択する選択手段を備えていることを特徴と
    するデータベース管理装置。
  17. 【請求項17】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項1記載の優先側決定手段および選択手段として、
    コンピュータを動作させるためのプログラムが記録され
    ていることを特徴とする記録媒体。
  18. 【請求項18】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項3記載の優先側決定手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  19. 【請求項19】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項4記載の優先側決定手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  20. 【請求項20】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項5記載の優先側決定手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  21. 【請求項21】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項10記載の共有設定手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  22. 【請求項22】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項11記載の共有設定手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  23. 【請求項23】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項12記載の共有解除手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  24. 【請求項24】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項13記載の共有解除手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
  25. 【請求項25】複数のデータベース間で互いに対応する
    データの内容を同一に管理するためのプログラムが記録
    された記録媒体において、 請求項15記載の共有解除手段として、コンピュータを
    動作させるためのプログラムが記録されていることを特
    徴とする記録媒体。
JP13577898A 1998-05-18 1998-05-18 データベース管理装置、および、そのプログラムが記録された記録媒体 Expired - Fee Related JP3501943B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13577898A JP3501943B2 (ja) 1998-05-18 1998-05-18 データベース管理装置、および、そのプログラムが記録された記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13577898A JP3501943B2 (ja) 1998-05-18 1998-05-18 データベース管理装置、および、そのプログラムが記録された記録媒体

Publications (2)

Publication Number Publication Date
JPH11327987A true JPH11327987A (ja) 1999-11-30
JP3501943B2 JP3501943B2 (ja) 2004-03-02

Family

ID=15159646

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3501943B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327989A (ja) * 1998-05-18 1999-11-30 Sharp Corp データベース管理装置、および、そのプログラムが記録された記録媒体
JP2000040025A (ja) * 1998-05-18 2000-02-08 Sharp Corp デ―タベ―ス管理装置、および、そのプログラムが記録された記録媒体
JP2002055864A (ja) * 2000-08-09 2002-02-20 Seiko Epson Corp データ更新方法および情報処理装置
JP2003527688A (ja) * 2000-03-14 2003-09-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クライアントのデータベースとサーバーのデータベースとを同期させる方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241236A (ja) * 1994-12-07 1996-09-17 Xerox Corp 書き込み衝突解決プロセス
JPH08328931A (ja) * 1995-05-29 1996-12-13 Nec Corp データ処理装置
JPH09128280A (ja) * 1995-10-27 1997-05-16 Toshiba Corp データ管理装置及びデータ管理方法
JPH09134304A (ja) * 1995-11-10 1997-05-20 Nippon Telegr & Teleph Corp <Ntt> スケジュール同期方法
JPH11327989A (ja) * 1998-05-18 1999-11-30 Sharp Corp データベース管理装置、および、そのプログラムが記録された記録媒体
JP2000040025A (ja) * 1998-05-18 2000-02-08 Sharp Corp デ―タベ―ス管理装置、および、そのプログラムが記録された記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241236A (ja) * 1994-12-07 1996-09-17 Xerox Corp 書き込み衝突解決プロセス
JPH08328931A (ja) * 1995-05-29 1996-12-13 Nec Corp データ処理装置
JPH09128280A (ja) * 1995-10-27 1997-05-16 Toshiba Corp データ管理装置及びデータ管理方法
JPH09134304A (ja) * 1995-11-10 1997-05-20 Nippon Telegr & Teleph Corp <Ntt> スケジュール同期方法
JPH11327989A (ja) * 1998-05-18 1999-11-30 Sharp Corp データベース管理装置、および、そのプログラムが記録された記録媒体
JP2000040025A (ja) * 1998-05-18 2000-02-08 Sharp Corp デ―タベ―ス管理装置、および、そのプログラムが記録された記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327989A (ja) * 1998-05-18 1999-11-30 Sharp Corp データベース管理装置、および、そのプログラムが記録された記録媒体
JP2000040025A (ja) * 1998-05-18 2000-02-08 Sharp Corp デ―タベ―ス管理装置、および、そのプログラムが記録された記録媒体
JP2003527688A (ja) * 2000-03-14 2003-09-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クライアントのデータベースとサーバーのデータベースとを同期させる方法
JP4732661B2 (ja) * 2000-03-14 2011-07-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クライアントのデータベースとサーバーのデータベースとを同期させる方法
JP2002055864A (ja) * 2000-08-09 2002-02-20 Seiko Epson Corp データ更新方法および情報処理装置
US7280996B2 (en) 2000-08-09 2007-10-09 Seiko Epson Corporation Data updating method and related information processing device

Also Published As

Publication number Publication date
JP3501943B2 (ja) 2004-03-02

Similar Documents

Publication Publication Date Title
CN101167069B (zh) 文件对等同步的系统和方法
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
JP5021723B2 (ja) データストアの絞込み複製
JP5092234B2 (ja) 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム
CN101207580B (zh) 即时通信平台和业务平台同步增删联系人的方法及系统
JP4324118B2 (ja) サービス処理装置およびサービス表示方法および記憶媒体およびプログラム
KR20120018178A (ko) 객체 저장부들의 네트워크상의 스웜-기반의 동기화
EP2075975A1 (en) Relay server and relay communication system
CN112035420A (zh) 数据共享方法、共享设备和系统
JP3756349B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
JP3501968B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
CN115277683A (zh) 文件传送/接收装置及其控制方法
JPH11327987A (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
JP3501944B2 (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
US11303476B2 (en) Communication apparatus, communication system, communication control method, communication program and device connection control program
JP2007025964A (ja) データ所在管理サーバ及びデータ所在管理プログラム
JP2002334088A (ja) 文書蓄積サーバ、文書管理システム、プログラムおよび記録媒体
JP4481053B2 (ja) 通信機器、通信機器の制御方法、通信機器の制御プログラム
CN112685613B (zh) 一种资源包查询的方法、装置及信息处理系统
US11500622B2 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium for coordinating a switch to an updated program in a cluster to suppress confusion on users
JP4200456B2 (ja) 周辺装置、プログラム、制御方法
JP2015133067A (ja) 情報処理装置、情報処理方法及びプログラム
JP5853791B2 (ja) データ同期方法及びサーバ装置
JPH08272721A (ja) カスタマイズ環境データ転送装置
KR100379457B1 (ko) 개인 정보 관리 방법

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031203

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

Free format text: PAYMENT UNTIL: 20071212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees