(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバデータベースを有するサーバコンピュータと、前記ネットワークに対して接続可能なローカルデータベースを有するクライアントコンピュータとを備えてコンピュータシステムを構築し、前記サーバデータベースのデータと前記ローカルデータベースのデータとの交換を可能にしたデータベース交換システムにおいて、
前記サーバデータベースおよびローカルデータベースは、リレーショナルデータベースであり、
前記サーバコンピュータは、前記サーバデータベースのデータが変更された場合に、変更されたデータ内容と、リレーショナルデータベースの行単位を示すユニーク項目と、当該データのサーバデータベース側で行われた変更を示すバージョン情報と、当該行データに関連するモバイルクライアント名とを含む変更情報がリレーショナルデータベースの行単位で書き込まれる、変更情報テーブルと、前記ローカルデータベースのデータが変更された場合に、前記クライアントコンピュータから送信される、変更されたデータ内容と、リレーショナルデータベースの行単位を示すユニーク項目と、当該データのサーバデータベース側で行われた変更を示すバージョン情報とを含む変更情報がリレーショナルデータベースの行単位で書き込まれる、変更要求プールテーブルと、前記変更要求プールテーブルに書き込まれた変更情報に基づいて前記サーバデータベースに対する所定のデータ反映を行うことにより、当該サーバデータベースと前記ローカルデータベースとのデータを最新の内容に一致させる交換制御を行う一致交換制御手段と、を備え、
前記クライアントコンピュータは、前記ローカルデータベースのデータが変更された場合に、変更されたデータ内容と、リレーショナルデータベースの行単位を示すユニーク項目と、当該データのサーバデータベース側で行われた変更を示すバージョン情報とを含む変更情報がリレーショナルデータベースの行単位で書き込まれる、変更情報テーブルと、前記サーバデータベースのデータが変更された場合に、前記サーバコンピュータから送信される、変更されたデータ内容と、リレーショナルデータベースの行単位を示すユニーク項目と、当該データのサーバデータベース側で行われた変更を示すバージョン情報と、当該行データに関連するモバイルクライアント名とを含む変更情報がリレーショナルデータベースの行単位で書き込まれる、変更要求プールテーブルと、前記変更要求プールテーブルに書き込まれた変更情報に基づいて前記ローカルデータベースに対する所定のデータ反映を行うことにより、当該ローカルデータベースと前記サーバデータベースとのデータを最新の内容に一致させる交換制御を行う一致交換制御手段と、を備える
ことを特徴とするデータベース交換システム。
【請求項２】
前記サーバコンピュータは、前記変更要求プールテーブルに書き込まれた変更情報に係る前記バージョン情報が、変更前の情報に係るバージョン情報と一致しない場合に、当該変更情報を前記サーバデータベースに反映するか否かを、所定の優先の設定に従って決定する請求項１記載のデータベース変換システム。
【請求項３】
前記クライアントコンピュータは、前記変更要求プールテーブルに書き込まれた変更情報に係る前記ユニーク項目が、変更前の情報に係るユニーク項目と同一の場合に、当該変更情報を前記ローカルデータベースに反映するか否かを、所定の優先の設定に従って決定する請求項１又は２記載のデータベース変換システム。
【請求項４】
前記サーバデータベースおよびローカルデータベースのデータの変更が、当該データベースへのデータの追加・変更・削除の少なくともいずれか一つを含む請求項１乃至３記載のデータベース交換システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベース交換システムに関し、特にリレーショナルデータベースを用いるシステムにおいて、サーバのサーバデータベースとクライアントのローカルデータベースとの間にデータの追加,変更,削除等が生じた場合にも、それぞれのデータベースの整合性を、高速かつ正確に確保することが可能なデータベース交換システムに関する。
【０００２】
【従来の技術】
最近、ノートＰＣの普及およびＰＣの低価格化等により、オフィスの外でもＰＣを利用するいわゆるモバイルユーザ（モバイルコンピュータ,携帯型コンピュータのユーザ）が増加している。その際、オフィス内のデータベースの情報を、モバイルクライアントのローカルデータベースにコピーして、モバイル環境においても社内LANに接続している時と同様のアプリケーションを利用する形態が現れ始めた。
【０００３】
ここに、モバイルコンピュータ増加の理由としては、単に携帯性の高さだけではなく、従来からの機能であるデータ編集機能に加え、外出先から公衆回線等のネットワークを介して、情報をやり取りする機能を有することによると考えられる。
【０００４】
前記形態の従来システムの例として、次の３つがある。
▲１▼第１の従来例…特開平7-225709号公報
この公報に記載されたデータベース更新システムは、マスタデータベースシステムと、これに接続される複数のローカルデータベースシステム間におけるデータベース更新システムに関し、効率的にデータベースの更新を行うことができるデータベース更新システムである。
【０００５】
▲２▼第２の従来例…特開平10-301828号公報
この公報に記載されているデータベース管理システムは、マスタデータベースとローカルデータベースの整合性を保つために送信する情報量を少なくし、短時間に伝送を行うことができるシステムである。
【０００６】
▲３▼第３の従来例…特開平11-45201号公報
この公報に記載されているデータベース管理システムは、同一サーバリソースを、複数のクライアントコンピュータが更新しようとしたときのアクセス競合によって生じるデータの矛盾を回避できるようにし、モバイル用とのネットワークコンピュータの実現に適したコンピュータシステムを提供する。
【０００７】
【発明が解決しようとする課題】
しかしながら、第１の従来例（特開平7-225709号公報）には次の問題点がある。
即ち、ローカルデータベースシステム側は読み取り専用であり、変更不可ということである。この理由は、ローカル側システムではデータの参照のみを考慮していたためである。
【０００８】
また、第２の従来例（特開平10-301828号公報）には次の問題点がある。
即ち、データ件数が増えた場合にはデータベースの記憶容量を無駄に圧迫するだけでなく、監視情報テーブルの検索パフォーマンスも低下し、結果として全体のパフォーマンスの低下を招くということである。
【０００９】
この理由は、整合性を確保するためにサーバデータベース及びローカルデータベースに格納された全ての情報について更新したサーバもしくはクライアント情報とその更新時刻を、監視情報テーブル内に格納しておかなければならないからである。
【００１０】
また、第３の従来例（特開平11-45201号公報）には次の問題点がある。
即ち、サーバリソースに或るクライアントからアクセスした場合に、読み取りしかできない可能性があることである。この理由は整合性を確保するためにリソース単位でリソースのダウンロード時にロックをかけることで、他のクライアントユーザによる変更を不可能にしているからである。
【００１１】
そこで本発明の課題は、リレーショナルデータベースを用いるシステムにおいて、サーバのマスタデータベースとクライアントのローカルデータベースにデータの追加,変更,削除等が生じた場合にも、それぞれのデータベースの整合性を、高速かつ正確に確保することが可能なデータベース交換システムを提供することである。
【００１２】
【課題を解決するための手段】
前記課題を解決するために本発明は、ネットワークに接続されたサーバデータベースを有するサーバコンピュータと、前記ネットワークに対して接続可能なローカルデータベースを有するクライアントコンピュータとを備えてコンピュータシステムを構築し、前記サーバデータベースのデータと前記ローカルデータベースのデータとの交換を可能にしたデータベース交換システムにおいて、前記サーバデータベースおよびローカルデータベースは、リレーショナルデータベースであり、前記サーバコンピュータは、前記サーバデータベースのデータが変更された場合に、変更されたデータ内容を含む所定の変更情報がリレーショナルデータベースの行単位で書き込まれる変更情報テーブルと、前記ローカルデータベースのデータが変更された場合に、前記クライアントコンピュータから送信される所定の変更情報がリレーショナルデータベースの行単位で書き込まれる変更要求プールテーブルと、前記変更要求プールテーブルに書き込まれた変更情報に基づいて前記サーバデータベースに対する所定のデータ反映を行うことにより、当該サーバデータベースと前記ローカルデータベースとのデータを最新の内容に一致させる交換制御を行う一致交換制御手段と、を備え、前記クライアントコンピュータは、前記ローカルデータベースのデータが変更された場合に、変更されたデータ内容を含む所定の変更情報がリレーショナルデータベースの行単位で書き込まれる変更情報テーブルと、前記サーバデータベースのデータが変更された場合に、前記サーバコンピュータから送信される所定の変更情報がリレーショナルデータベースの行単位で書き込まれる変更要求プールテーブルと、前記変更要求プールテーブルに書き込まれた変更情報に基づいて前記ローカルデータベースに対する所定のデータ反映を行うことにより、当該ローカルデータベースと前記サーバデータベースとのデータを最新の内容に一致させる交換制御を行う一致交換制御手段と、を備え、また、本発明のデータベース交換システムは、前記サーバコンピュータの変更情報テーブルに書き込まれるとともに、前記クライアントコンピュータの変更要求プールテーブルに書き込まれる所定の変更情報が、リレーショナルデータベースの行単位を示すユニーク項目と、当該データのサーバデータベース側で行われた変更を示すバージョン情報と、当該行データに関連するモバイルクライアント名を含み、前記クライアントコンピュータの変更情報テーブルに書き込まれるとともに、前記サーバコンピュータの変更要求プールテーブルに書き込まれる所定の変更情報が、リレーショナルデータベースの行単位を示すユニーク項目と、当該データのサーバデータベース側で行われた変更を示すバージョン情報を含むことを特徴とする。
さらに、本発明のデータベース交換システムは、前記サーバコンピュータは、前記変更要求プールテーブルに書き込まれた変更情報に係る前記バージョン情報が、変更前の情報に係るバージョン情報と一致しない場合に、当該変更情報を前記サーバデータベースに反映するか否かを、所定の優先の設定に従って決定することを特徴とする。
【００１４】
このようにすれば、一致交換制御手段の働きにより、サーバのマスタデータベース（サーバデータベース）とクライアントのローカルデータベースにデータの追加,変更,削除等によるデータ不一致が生じた場合にも、それぞれのデータベースの整合性を、高速かつ正確に確保することができる。
【００１５】
また、本発明のデータベース交換システムは、前記クライアントコンピュータは、前記変更要求プールテーブルに書き込まれた変更情報に係る前記ユニーク項目が、変更前の情報に係るユニーク項目と同一の場合に、当該変更情報を前記ローカルデータベースに反映するか否かを、所定の優先の設定に従って決定することを特徴とする。
そして、本発明のデータベース交換システムは、前記サーバデータベースおよびローカルデータベースのデータの変更が、当該データベースへのデータの追加・変更・削除の少なくともいずれか一つを含むことを特徴とする。
【００１６】
このような本発明のデータベース交換システムは、サーバコンピュータおよび接続可能クライアントコンピュータ（即ち、モバイルコンピュータ）の何れからもデータベースの整合性を確保することができる。
【００１７】
【発明の実施の形態】
以下、本発明のデータベース交換システムを、図示の実施例に基づいて説明する。
【００１８】
［I］本発明の概念
先ず、本発明の概念を、図1に示す本発明の実施例のデータベース交換システムＤＫを借りて説明する。
本発明は、リレーショナルデータベースを用いるシステムにおいて、サーバのマスタデータベースとクライアントのローカルデータベースに、データの追加,変更,削除等が生じた場合にも、それぞれのデータベースの整合性を、高速かつ正確に確保することができる構成を提供するものである。
【００１９】
図１においてサーバコンピュータ１０内のサーバデータベース１１と、モバイルクライアントコンピュータ２０に必要な差分データをダウンロードしてあるローカルデータベース２１がある。サーバデータベース１１の情報は、ローカルデータベースを持たないクライアントコンピュータ３０によってそのデータベース内のデータを直接操作され、ローカルデータベース２１はローカルデータベースを持つモバイルクライアントコンピュータ２０によって直接操作される。サーバデータベース１１、ローカルデータベース２１は独立していて、個別にデータ操作が可能である。
【００２０】
サーバデータベース１１とローカルデータベース２１の内容を一致させる動作を「同期」と呼ぶ。この同期を行うことでサーバデータベース１１の変更内容をローカルデータベース２１へ、ローカルデータベース２１の変更内容をサーバデータベース１１へ反映させ、データベース間の整合性を保つことができる。この仕組みによりモバイルクライアントコンピュータ２０は常時ネットワークに接続されている必要がなく、必要時に同期操作を行うことによりサーバデータベース１１とローカルクライアント３１の整合性を保つことができる。
【００２１】
また、同期の際の最小単位は行単位となっており、サーバコンピュータ１０とモバイルコンピュータ１２間で送信されるデータは、変更部分のみの最小限の情報であり、これにより同期処理にかかる時間を節約できる。
【００２２】
［II］実施例の説明
（１）実施例の構成
図１は、本実施例のデータベース交換システムＤＫのシステム構成図である。データベース交換システムＤＫは、サーバコンピュータ１０と、モバイルクライアント名で一意に識別され（例えば、ユーザの姓名を予め登録しておき、識別に使用する）、サーバコンピュータ１０に対し公衆網等のネットワーク４０を介して常時接続されていない（必要に応じて接続可能な）「接続可能クライアントコンピュータ」であるモバイルクライアントコンピュータ２０と、サーバコンピュータ１０に対しＬＡＮ等のネットワーク４５で常時接続されている「常時接続クライアントコンピュータ」であるライアントコンピュータ３０とを含む。
【００２３】
サーバコンピュータ１０は、リレーショナルデータベースからなるサーバデータベース１１と、プログラム制御により動作する「一致交換制御手段」である同期制御部１２と、データ操作確認部１３とを含む。
サーバデータベース１１は、次に説明する変更要求プールテーブル１１ａと、変更情報テーブル１１ｂとを備えている。
【００２４】
モバイルクライアントコンピュータ２０は、リレーショナルデータベースからなるローカルデータベース２１と、「一致交換制御手段」である同期制御部２２と、データ操作確認部２３とを含む。ローカルデータベース２１は、次に説明する変更要求プールテーブル２１ａと変更情報テーブル２１ｂとを備えている。
モバイルクライアントコンピュータ２０は、LANもしくはWANもしくは公衆網,インターネットを介してサーバコンピュータ１０と接続されるが、接続を行う時間は同期処理される時間だけである。
【００２５】
クライアントコンピュータ３０は、オフィスに設置したデスクトップパソコン等からなり、LANを通して常にサーバコンピュータ１０と接続されている。
【００２６】
（２）実施例の動作
（２−１）概略動作
最初に図２に示す概略動作フローチャートに基づいて本実施例の概略動作を説明し、次いで図1〜図１５に基づいて詳細動作を説明する。
【００２７】
図２に示すように、先ず、モバイルクライアントコンピュータ２０のローカルデータベース２１に、サーバデータベース１１のデータをダウンロードする（ステップＳ１）。この作業は一度行えば基本的には再度行う必要がない。この作業を「初期同期」という。
【００２８】
ここに、図１３（Ａ），（Ｂ）に示すように、サーバデータベース１１内のデータは、リレーショナル（関係）データベース特有の「行」という単位でまとまっており、この行に対して複数のモバイルクライアントが関連づけられており、この情報はサーバデータベース１１内で管理されている。行はそれを特定するユニークなデータ項目（Row  ID）を持つ。
【００２９】
初期同期を行うと、初期同期を行ったモバイルクライアントには関連する行データ（図１３（Ａ））がダウンロードされ、関連のない行データはダウンロードされない。この仕組みによりローカルデータベースの容量を最小限に押さえることが可能である。即ち、請求項にいう「一致交換制御手段で交換制御する際のデータの最小単位は、前記サーバデータベースとローカルデータベースとにおけるリレーショナルデータベースの行単位である」に該当する。
【００３０】
前述の初期同期の後、データベースの変更,追加,削除（変更等と称する）があった場合は（ステップＳ２）、クライアントコンピュータ３０からの変更等か、或いはモバイルクライアント２０からの変更等かにより、処理が異なる。
【００３１】
クライアントコンピュータ３０からの変更等の場合は、図３に示す処理を行い、この処理の特徴的な処理はバージョン情報の変更である（ステップＳ３ａ）。ここに、バージョン情報とは、各行が持つデータ項目の１つであり、サーバデータベース１１側でデータ更新がされた場合に同時に変更される項目である（図１３（Ａ）の右端参照）。また、モバイルクライアント２０からの変更等の場合は、図４に示す処理を行う（ステップＳ３ｂ）。
【００３２】
これらのクライアントコンピュータ３０とモバイルクライアント２０からの操作によりサーバデータベース１１とローカルデータベース２１との間では、登録情報に不整合（不一致）が発生する場合がある。整合をとるためにサーバデータベース１１とローカルデータベース２１間の同期をとる必要がある。同期の要求は、モバイルクライアントコンピュータ２０からサーバコンピュータ１０に向けて行われる（ステップＳ４）。
【００３３】
同期要求の処理は、モバイルクライアント２０からの要求の処理（ステップＳ５ａ）と、サーバコンピュータ１０側での処理（ステップＳ５ｂ）と、モバイルクライアント２０側での処理（ステップＳ５ｃ）に分かれる。
【００３４】
ステップＳ５ａのモバイルクライアント２０からの同期要求の処理終了後、モバイルクライアント２０はネットワークから切断される（ステップＳ６）。
ステップＳ５ｂのサーバコンピュータ１０側での処理の特徴的なものとしては、後述するバージョン情報が一致しない場合における同期ルールによる衝突の回避がある。
【００３５】
ステップＳ５ｃのモバイルクライアント２０側での処理の特徴的なものとしては、後述する変更情報テーブル２１ｂ内に同一のユニーク項目を持つ行があるか否かの確認に伴なう同期ルールによる衝突の回避がある。
【００３６】
以上のステップＳ１〜ステップＳ５ａ，５ｂ，５ｃの処理を行うことにより、マスタデータベースとローカルデータベースに、データの追加,変更,削除が生じた場合にも、それぞれのデータベースの整合性を、高速かつ正確に確保することができる。
【００３７】
（２−２）細部動作
本実施例の細部動作（実際のデータベース操作と、それに伴う動作）を、図１〜図１５を参照にしつつ詳細に説明する。
【００３８】
図３に示すように、クライアントコンピュータ３０からサーバデータベース１１のデータに変更,追加,削除を加えた場合、データ操作確認部１３の監視によりその操作をサーバデータベース１１に反映すると共に、操作された行の内容を変更情報テーブル１１ｂに１行書き込む（図３のステップA1、A2、A3、A4）。そのときに行に対し前述のバージョン情報を変更する。
【００３９】
変更情報テーブル１１ｂ内のデータ形式は、図１５のようになる。変更情報テーブル１１ｂに書き込む際に、そのデータに関連づけられているモバイルクライアント毎にデータが１行作成され、図１５の項目「モバイルクライアント名」にその行のデータがひもづく（その行のデータに関連・対応する）モバイルクライアント名が書き込まれる。該当する行が複数のモバイルクライアントにひもづく場合には、変更情報テーブル１１ｂに複数レコードが作成される。
【００４０】
図４に示すように、モバイルクライアントコンピュータ２０からローカルデータベース２１のデータに変更,追加,削除を加えた場合、データ操作確認部２３の監視によりその操作をローカルデータベース２１に反映すると共に、操作された行の内容を変更情報テーブル２１ｂに１行書き込む（図４のステップA１1、A１2、A１3、A１4）。変更情報テーブル２１ｂ内のデータ形式は図１４のようになる。
【００４１】
これらの操作により、前述の如くサーバデータベース１１とローカルデータベース２１との間では、登録情報に不整合（不一致）が発生する場合がある。整合をとるために、モバイルクライアントコンピュータ２０からサーバコンピュータ１０に向けて前記同期の要求を行う。この同期要求を次の３つ（▲１▼〜▲３▼）に分けて説明する。
【００４２】
▲１▼モバイルクライアントコンピュータ２０で同期要求を行った場合の処理は、以下のようになる。
図５に示すように、同期制御部２２が先ず変更情報テーブル２１ｂに情報があるか否かを確認する（図５のステップA２1）。情報が存在する場合、ネットワークへの接続の後にデータ送信を行い、サーバコンピュータ１０にあるサーバデータベース１１内の変更要求プールテーブル１１ａへ変更情報テーブル２１ｂの情報がコピーされる（図５のステップA２3、A２4、A２5）。変更要求プールテーブル１１ａ内のデータ形式は、図１５のようになる。但し、変更情報テーブル２１ｂに情報が存在しない場合には、ネットワーク接続を行った直後にサーバコンピュータ１０側の変更情報テーブル確認に進む（図５のステップA３0）。
【００４３】
次に、サーバコンピュータ１０の同期制御部１２が、サーバデータベース１１内にある変更情報テーブル１１ｂに同期を行っているモバイルクライアントに対する変更情報が存在するか否かを確認する。変更情報がある場合にはその情報をローカルデータベース内３１の変更要求プールテーブル２１ａにコピーする（図５のステップA２7、A２8）。変更要求プールテーブル２１ａ内のデータ形式は、図１４のようになる。変更情報が存在しない場合には次のステップに進む（図５のステップA２7）。
【００４４】
これらの処理の終了後、ネットワークから切断される（図５のステップA２9）。
受け取った変更要求プールテーブルの情報を元にして、サーバデータベース１１,ローカルデータベース２１へのデータの反映を行う。
【００４５】
▲２▼サーバコンピュータ１０側での処理は以下のようになる。
同期制御部１２が変更要求プールテーブル１１ａの内容を確認する（図６のステップA３1）。
情報が存在しなければ処理は終了する（図６のステップA３2）。
【００４６】
存在するならその情報の一番はじめの行を確認し、新規行を追加する情報であったならサーバデータベース１１に変更を反映したあと、再度変更要求プールテーブル１１ａの内容を確認しに行く。このとき新規追加した行のデータバージョンが自動的に入力される（図６のステップＡ３３,Ａ３６）。
【００４７】
新規行追加でなかった場合には、データ変更の反映の前に変更行のユニーク項目をもとにサーバデータベース１１内の同一のユニーク項目を持つ行とのバージョン情報の確認を行う。バージョン情報が一致した場合はサーバデータベース１１に変更が反映される。変更が反映された場合にはバージョン情報をアップデートする（図６のステップＡ３４,Ａ３５，Ａ３６）。バージョン情報が一致しない場合には、次に説明する同期ルールによる衝突の回避が行われる（ステップＡ３７）。サーバコンピュータ１０の変更要求プールテーブル１１ａ内の該当する情報をクリアし（ステップＡ３８）、これらの処理後、再度変更要求プールテーブル１１ａの内容を確認する。情報が存在しなければ処理は終了する（図６のステップA３2）。
【００４８】
このようにして、サーバコンピュータ１０のサーバデータベース１１内に変更があった場合、変更を実行したモバイルクライアント以外のモバイルクライアントに対しての変更要求情報が、変更情報テーブルに記述されることになる。
【００４９】
▲３▼モバイルクライアント２０側での処理は、以下のようになる。
同期制御部２２が変更要求プールテーブル２１ａの内容を確認する（図７ステップA４1）。情報が存在しなければ処理は終了する（図７のステップA４2）。
情報が存在する場合、その情報を確認し、新規行の場合にはクライアントデータベース（ローカルデータベース）２１に変更を反映すると共に、再度変更要求プールテーブル２１ａの中身を確認する。
【００５０】
新規行でなかった場合には、データ変更の反映を行う前に変更行のユニーク項目をもとに変更情報テーブル２１ｂ内に同一のユニーク項目を持つ行があるか否かの確認を行う。これにより衝突発生の有無を判断する。衝突が発生していないと判断された場合は、クライアントデータベース３１に変更が反映される（ステップＡ４４,Ａ４５,Ａ４６）。衝突が発生していると判断された場合には、次に説明する同期ルールによる衝突の回避が行われる（ステップＡ４７）。これらの処理後、再度変更要求プールテーブル２１ａの内容を確認する。情報が存在しなければ処理は終了する（図７のステップA４2）。
【００５１】
▲４▼同期ルールによる衝突の回避について説明する。
同期ルールには、サーバ優先とクライアント優先の設定を行う。優先の設定は衝突した場合どちらのデータを優先するかの判断基準となり、サーバコンピュータ１０と全てのモバイルコンピュータ１２間で設定する内容を一致させておく必要がある。これらの処理はサーバコンピュータ１０もしくはモバイルコンピュータ１２の同期制御部１２もしくは同期制御部２２で行われる。
【００５２】
サーバコンピュータ１０側でサーバ優先の場合には、変更をサーバデータベース１１に反映しない（図８のステップA５1）。
サーバコンピュータ１０側でクライアント優先の場合、変更をサーバデータベース１１に反映する（図９のステップA６1）。
【００５３】
モバイルクライアントコンピュータ２０側でサーバ優先の場合変更、変更をローカルデータベース２１に反映する（図１０のステップA７1）。
【００５４】
モバイルクライアントコンピュータ２０側でクライアント優先の場合、変更をローカルデータベース２１に反映しない（図１１のステップA８1）。
【００５５】
［III］次に具体例を用いて本実施例の動作を説明する。
クライアントコンピュータ３０からサーバデータベース１１のデータを変更する場合（ステップＳ１０）、データ操作確認部１３にて変更が検出され（ステップＳ１１）、その変更内容は変更情報テーブル１１ｂに記述される（ステップＳ１２）。同様にモバイルクライアントコンピュータ２０からローカルデータベース２１のデータを変更する場合（ステップＳ１０）、データ操作確認部２３にて変更が検出され（ステップＳ１１）、その変更内容は変更情報テーブル１１ｂに記述される（ステップＳ１２）。
【００５６】
モバイルクライアントコンピュータ２０にて同期要求を行うと（ステップＳ１３）、同期制御部２２が変更情報テーブル２１ｂに情報があることを確認し（ステップＳ１４）、サーバコンピュータの変更要求プールテーブル１１ａにデータをコピーする（ステップＳ１５）。さらにサーバコンピュータ１０の同期制御部１２が変更情報テーブル１１ｂ内に情報があることを確認し（ステップＳ１６）、モバイルクライアントコンピュータ２０の変更要求プールテーブル２１ａにデータをコピーする（ステップＳ１７）。
【００５７】
変更情報テーブル２１ｂに情報があることを確認すると、同期制御部２２はそれをローカルデータベース２１に反映する（ステップＳ１８）。
【００５８】
このようにすることにより、サーバのマスタデータベースとクライアントのローカルデータベースに、データの追加,変更,削除が生じた場合にも、それぞれのデータベースの整合性を、高速かつ正確に確保することができる。
【００５９】
【発明の効果】
以上説明したように本発明によれば、以下の効果を奏することができる。
第一の効果は、常時接続されていないモバイル環境においてデータベースに高速にアクセスできることにある。その理由は、モバイルクライアントにローカルデータベースを持たせているためである。
【００６０】
第二の効果は、常時接続されていないモバイル環境においてサーバコンピュータ内のサーバデータベースとモバイルクライアント内のローカルデータベースの整合性を保つことが可能なことにある。その理由は、モバイルクライアントから行う同期処理により、サーバデータベースとローカルデータベースの変更部分の情報交換を行い、その情報を元にデータベースの内容を更新できるためである。
【００６１】
第三の効果は、サーバデータベース、モバイルデータベースどちらに対してもデータまたは行の追加,変更,削除が可能であり（第二の効果の具体例）、さらに整合性を保つことができることにある。その理由は、上記同期処理のなかに、データ操作衝突時のルールを定義しているためである。
【００６２】
第四の効果は、同期処理を短時間で実行できるためにネットワークに接続している時間を短縮できることにある。その理由は、データベース全体の情報ではなく変更のあった情報のみを送信するためである。
【図面の簡単な説明】
【図１】本発明の実施例のシステム構成図である。
【図２】同実施例の概略動作のフローチャートである。
【図３】同実施例におけるクライアントコンピュータのデータ操作のフローチャートである。
【図４】同実施例におけるモバイルクライアントのローカルデータベースのデータ操作のフローチャートである。
【図５】同実施例におけるモバイルクライアントの同期要求のフローチャートである。
【図６】同実施例における同期反映プロセスサーバ側のフローチャートである。
【図７】同実施例における同期反映プロセスローカル側のフローチャートである。
【図８】同実施例におけるサーバコンピュータ側のサーバ優先のフローチャートである。
【図９】同実施例におけるサーバコンピュータ側のクライアント優先のフローチャートである。
【図１０】同実施例におけるモバイルクライアント側のサーバ優先のフローチャートである。
【図１１】同実施例におけるモバイルクライアント側のクライアント優先のフローチャートである。
【図１２】同実施例における具体例の動作フローチャートである。
【図１３】同実施例におけるデータベースの行の情報内容とリレーショナルデータベースの構成を示す図である。
【図１４】同実施例におけるデータベースの行の別の情報内容を示す図である。
【図１５】同実施例におけるデータベースの行の別の情報内容を示す図である。
【符号の説明】
ＤＫ  データベース交換システム
１０  サーバコンピュータ
１１  サーバデータベース
１１ａ  変更要求プールテーブル
１１ｂ  変更情報テーブル
１２  同期制御部
１３  データ操作確認部
２０  モバイルクライアントコンピュータ
２１  ローカルデータベース
２１ａ  変更要求プールテーブル
２１ｂ  変更情報テーブル
２２  同期制御部
２３  データ操作確認部
３０  クライアントコンピュータ
４０  回線網
４５  ＬＡＮ
【図１】
0004025475.tif 000002
【図２】
0004025475.tif 000003
【図３】
0004025475.tif 000004
【図４】
0004025475.tif 000005
【図５】
0004025475.tif 000006
【図６】
0004025475.tif 000007
【図７】
0004025475.tif 000008
【図８】
0004025475.tif 000009
【図９】
0004025475.tif 000010
【図１０】
0004025475.tif 000011
【図１１】
0004025475.tif 000012
【図１２】
0004025475.tif 000013
【図１３】
0004025475.tif 000014
【図１４】
0004025475.tif 000015
【図１５】
0004025475.tif 000016