JP2003263356A - クライアント、クライアント・サーバ・システム、サーバ、プログラム、記録媒体及びデータ制御方法 - Google Patents

クライアント、クライアント・サーバ・システム、サーバ、プログラム、記録媒体及びデータ制御方法

Info

Publication number
JP2003263356A
JP2003263356A JP2002065698A JP2002065698A JP2003263356A JP 2003263356 A JP2003263356 A JP 2003263356A JP 2002065698 A JP2002065698 A JP 2002065698A JP 2002065698 A JP2002065698 A JP 2002065698A JP 2003263356 A JP2003263356 A JP 2003263356A
Authority
JP
Japan
Prior art keywords
data
server
client
database
local
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.)
Pending
Application number
JP2002065698A
Other languages
English (en)
Inventor
Masato Oguchi
正人 小口
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.)
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
Original Assignee
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
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 Toyota Motor Corp, Toyota InfoTechnology Center Co Ltd filed Critical Toyota Motor Corp
Priority to JP2002065698A priority Critical patent/JP2003263356A/ja
Publication of JP2003263356A publication Critical patent/JP2003263356A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 クライアント内にローカルサーバを搭載しつ
つも、サーバとのデータの一貫性を保持可能なクライア
ント、クライアント・サーバ・システム、サーバ、プロ
グラム、記録媒体及びデータ制御方法を提供する。 【解決手段】 この処理においては、サーバのデータベ
ース内に格納されたデータをクライアントのローカルデ
ータベース内に取り込んで格納する。クライアントはロ
ーカルデータを用いて特定の処理を実行するが、ローカ
ルデータと当該ローカルデータに対応するサーバのデー
タとに同一のデータ操作も行う。このデータ操作が正常
終了しない場合にはデータ操作をロールバックする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアント、ク
ライアント・サーバ・システム、サーバ、プログラム、
記録媒体及びデータ制御方法に関する。
【0002】
【従来の技術】従来のクライアント・サーバ・システム
は、特開2000−276410号公報に記載されてい
る。このシステムでは、サーバとデータ交換するローカ
ルサーバをクライアント内に搭載しており、WWW環境
で動作するオープンなシステムであるにも拘らず、クラ
イアントとサーバが接続されていないオフライン状態に
おいても、サーバと接続している時と変わらない運用を
行うことができる。
【0003】
【発明が解決しようとする課題】しかしながら、オープ
ンなシステム環境であるが故、クライアントとサーバの
データ交換に障害があった場合には、データの一貫性が
失われる。本発明は、このような課題に鑑みてなされた
ものであり、障害があった場合にも、サーバとのデータ
の一貫性を保持可能なクライアント、クライアント・サ
ーバ・システム、サーバ、プログラム、記録媒体及びデ
ータ制御方法を提供することを目的とする。
【0004】
【課題を解決するための手段】上述の課題を解決するた
め、本発明のクライアントは、通信可能に設けられるサ
ーバからデータを読み出す手段と、読み出されたデータ
をローカルデータとして格納する手段と、ローカルデー
タを用いて特定の処理を実行する手段と、ローカルデー
タと当該ローカルデータに対応する前記サーバのデータ
とに同一のデータ操作を行う手段と、データ操作が正常
終了しない場合には前記データ操作をロールバックする
手段とを備えることを特徴とする。
【0005】このクライアントは、自身でローカルデー
タを格納しているので、オフライン時においても仮想的
にサーバにアクセスして、特定の処理を行うことができ
る。また、オンラインであっても、アクセス時間や処理
時間を短縮することができる。なお、自身のローカルデ
ータベース内にデータが無い場合にはサーバにアクセス
することができる。
【0006】また、クライアントのローカルデータにデ
ータ操作を施す場合には、サーバのデータにも同じくデ
ータ操作を施す。データ操作における通信障害等によっ
てデータ操作が正常終了しない場合には、データ操作を
ロールバックする。これにより、サーバ内のデータと、
クライアント内のローカルデータの一貫性を保持するこ
とが可能となる。
【0007】また、上記特定の処理及び前記データ操作
はブラウザ上から実行可能であることが好ましく、ユー
ザの操作性を向上させることができる。また、本発明の
クライアント・サーバ・システムは、上記サーバを備え
てなるものである。
【0008】このクライアント・サーバ・システムは、
データベースを有するサーバと、サーバと通信可能であ
ってローカルウェブサーバ及びローカルデータベースサ
ーバを有するクライアントとを備えるクライアント・サ
ーバ・システムであって、ローカルウェブサーバを介し
て、クライアントのローカルデータベース内のローカル
データにデータ操作を施すと共に、サーバのデータベー
ス内のデータにデータ操作と同一のデータ操作を施す手
段と、データ操作が正常終了しない場合にはデータ操作
をロールバックする手段とを備える。本発明のサーバ
は、ローカルデータを有するクライアントと通信可能に
設けられたサーバであって、このサーバのデータとクラ
イアントのローカルデータとに同一のデータ操作が実行
され、当該データ操作が正常終了しない場合には、デー
タ操作をロールバックする手段を備える。これにより、
サーバ側においても、データ操作の履歴が取り消される
ので、クライアントとサーバのデータは同一のものとな
る。
【0009】クライアントに上述の処理を実行させるた
めのプログラムは、クライアントに通信可能に設けられ
るサーバのデータベース内に格納されたデータを、クラ
イアントのローカルデータベース内に取り込んで格納す
る工程と、格納されたデータを用いて特定の処理が実行
できる場合には、ローカルデータベースにアクセスして
特定の処理を実行する工程と、格納されたデータを用い
て特定の処理が実行できない場合には、サーバのデータ
ベースにアクセスし、必要なデータを取り込んでローカ
ルデータベース内に格納した後、特定の処理を実行する
工程と、ローカルデータベース内のデータと、当該デー
タに対応するデータベースのデータに同一のデータ操作
を行う工程と、データ操作工程が正常終了しない場合に
はデータ操作工程をロールバックする工程とを備える。
【0010】また、本発明の記録媒体は、このプログラ
ムを記録したコンピュータ読み取り可能な記録媒体であ
る。
【0011】また、本発明のデータ制御方法は、クライ
アントに通信可能に設けられるサーバのデータベース内
に格納されたデータを、クライアントのローカルデータ
ベース内に取り込んで格納する工程と、格納されたデー
タを用いて特定の処理が実行できる場合には、ローカル
データベースにアクセスして前記特定の処理を実行する
工程と、格納されたデータを用いて特定の処理が実行で
きない場合には、サーバのデータベースにアクセスし、
必要なデータを取り込んでローカルデータベース内に格
納した後、特定の処理を実行する工程と、ローカルデー
タベース内のデータと、当該データに対応するデータベ
ースのデータに同一のデータ操作を行う工程と、データ
操作工程が正常終了しない場合にはデータ操作工程をロ
ールバックする工程とを備えることを特徴とする
【0012】この場合、上述のクライアントにおける処
理が実行され、データの一貫性が保持されることとな
る。
【0013】なお、上述のデータ操作工程が正常終了し
ない場合とは、前記クライアントと前記サーバとを接
続するネットワークに障害が発生している場合、前記
クライアントの当該データ操作工程に障害が発生してい
る場合、前記サーバにおける当該データ操作工程に障
害が発生している場合、又はデータ操作対象となる前
記サーバの前記データベース内のデータと、これに対応
するデータ操作対象となる前記ローカルデータベース内
のデータとが異なっている場合等であり、クライアント
或いはサーバは、かかる場合を自己診断機能等を用いて
検出し、ロールバックを行う。
【0014】
【発明の実施の形態】以下、実施の形態に係るクライア
ント・サーバ・システムについて説明する。なお、同一
要素には同一符号を用い、重複する説明は省略する。
【0015】図1はクライアント・サーバ・システムの
ブロック図である。複数のクライアントA1,A2,A
3,A4,A5…は、インターネット等の公衆通信網X
を介して、サーバBに接続されている。それそれのクラ
イアントA1,A2,A3,A4,A5…はコンピュー
タであり、代表的な1つのクライアントA1は、バスラ
インを介して接続されたCPU(中央処理装置)A1
a、記憶装置A1b、通信装置A1c、ROM(BIO
S用メモリ)A1dを備えている。
【0016】CPUA1aは、記憶装置A1b内に格納
されたプログラムに従って所定の処理を実行する。処理
結果や通信装置A1cを介して受信した情報、記憶装置
A1b内に格納されたデータは、必要に応じてモニター
A1eに表示される。クライアントA1は、キーボード
やマウス等の入力装置A1fを備えており、当該システ
ムが銀行システムである場合には、ユーザが、例えば、
口座振込等の金額等の数値入力、サーバBへのログイン
時の暗証番号、パスワード、ID番号等の入力等を行う
ことができる。
【0017】サーバBもコンピュータであり、バスライ
ンを介して接続されたCPUB1a、記憶装置B1b、
通信装置B1c、ROM(BIOS用メモリ)B1dを
備えている。CPUB1aは、記憶装置B1b内に格納
されたプログラムに従って所定の処理を実行する。当該
システムが銀行システムである場合には、記憶装置B1
b内にはデータベースが構築され、当該データベース内
には顧客の口座情報が格納されている。クライアントA
1の記憶装置A1b内にはローカルデータを格納するロ
ーカルデータベースが構築されており、これは、サーバ
Bの記憶装置B1b内のデータベースと同期している。
サーバBのデータベース内データは、クライアントA1
からの要求によって読み出され、ローカルデータとして
クライアントA1のローカルデータベース内に格納され
る。
【0018】サーバBの記憶装置B1bに構築されてい
るデータベースシステムについて若干の説明をしてお
く。現在、普及しているデータベースシステムは、リレ
ーショナルデータベースであり、行(レコード)を一件
分のデータとし、この行を構成する列(フィールド)
に、実際のデータを格納してなる表(テーブル)を有し
ている。当該データベースは、必要であれば、このよう
なテーブルを複数持たせ、テーブル間の関係を集合論的
に結合し、膨大な量のデータを簡単に処理することがで
きる。
【0019】リレーショナルデータベース管理システム
(RDBMS)の基本的な使用方法を規定する言語は、
SQL(Structured Query Lang
uage)であり、ISO(Internationa
l Organization for Standa
rdization)やANSI(AmericanN
ational Standard Institut
e)等で標準化されている。そのため、SQLを用いる
ことにより、異なるRDBMS上でも同じようにデータ
ベースを扱うことができる。
【0020】SQLは、データの検索( Query
)…SELECT、新規挿入…INSERT、更新…
UPDATE、削除…DELETEなどのデータ操作文
(DML / Data Manipulate L
anguage )、表の作成、変更などのデータ定
義文 ( DDL / Data Definitio
n Language ) 、コミット(COMMI
T)、ロールバック(ROLLBACK)などデータ制
御文 ( DCL / Data Control L
anguage ) からなる。
【0021】かかるデータベースシステムは、例えば銀
行預金システムに適用することができる。銀行預金シス
テムでは、顧客とその預金残高の関係がテーブルに格納
されており、格納されたデータは特定の一連の作業(I
NSERT、UPDATE、DELETE )によって
変更することができる。データ変更のための一連の作業
単位をトランザクションといい、例えば、クライアント
A1から、口座振込を行う場合、「顧客預金残高の減
少」、「振込先預金残高の増加」、「振込手数料分の銀
行資産の増加」 という3つの作業が1つのトランザク
ションを構成する。
【0022】トランザクションとは、データ不整合が発
生しないために最低限グループ化されるべき処理単位で
あり、例えば、3つの作業は「3つとも成功する」か、
「3つとも失敗する」かのどちらかである必要があり、
上述の例では、3つの作業は同時に成功又は失敗する必
要がある。例えば、「振込先預金残高の増加」に失敗し
た場合、「振込手数料分の銀行資産の増加」を含む残り
の2つの処理も失敗させる、すなわち、振込み作業は初
めから無かったものと見なす返金作業命令「ロールバッ
ク」を発行する必要がある。
【0023】通常、トランザクションは「BIGIN
TRANSACTION…」のようなSQLを発行して
開始し、正常終了時にはデータ変更を確定させるための
命令コミット(COMMIT)を発行し、異常終了時に
はデータ変更を取り消すための命令ロールバック(RO
LLBACK)を発行して終了する。換言すれば、コミ
ットは、今まで行ってきた操作をデータベースに反映さ
せる命令であり、反対に ロールバックは、今まで行っ
てきた操作を反映させないようデータベースシステムに
通知する命令である。
【0024】本システムでは、クライアントA1及びサ
ーバBの記憶装置A1b,B1bの双方内にデータベー
スを構築しており、クライアントA1が、一旦、サーバ
Bのデータベースからデータを自身のデータベース内に
取り込んだ後には、かかるデータを用いて特定の処理、
例えば、クライアントに搭載されたアプリケーションが
口座残高の前年同月比を演算して表示する場合には、2
つの口座残高がクライアントA1のデータベース内に既
に読み込まれていれば、サーバBのデータベースにアク
セスする必要はないため、クライアント自身のデータベ
ースにアクセスして当該演算を行う。データが無けれ
ば、もちろん、サーバBのデータベースにアクセスし、
自身のデータベースにデータを取り込んでから、演算を
行う。
【0025】口座残高を確認した後、例えば、ユーザが
口座振込を行う場合のように、サーバデータの変更を必
要とする場合には、トランザクションの「最小グルー
プ」を、クライアントA1におけるデータ操作、サーバ
Bにおける同一のデータ操作とし、双方のデータ操作が
正常に終了した場合に双方が「コミット」を行い、そう
でない場合には双方とも「ロールバック」を行う。
【0026】データ操作とは、上述の「新規挿入」、
「更新」、「削除」等の命令からなる処理であり、例え
ば、クライアントA1の記憶装置A1b内のデータベー
スの口座残高データが正常に更新され、サーバBの記憶
装置B1b内のデータベースの口座残高データが正常に
更新された場合には、「コミット」が行われる。これに
より、データの一貫性が保持される。
【0027】なお、口座振込を例にとると、この処理は
上述のトランザクションの「最小グループ」であって、
「コミット」命令も「仮のコミット」命令である。すな
わち、クライアントA1及びサーバBの双方において同
時性を保持することを最小グループのトランザクション
とする3つのデータ操作、すなわち、「顧客預金残高の
減少」、「振込先預金残高の増加」、「振込手数料分の
銀行資産の増加」が正常に終了した場合、最終的な「コ
ミット」を発行し、そうでない場合には、「ロールバッ
ク」を発行する。
【0028】図2はクライアントAの記憶装置A1b内
に格納されたプログラムと、サーバBの記憶装置B1b
内に格納されたプログラムとの関係を示すシステムのブ
ロック図である。
【0029】クライアントAのプログラムは、ウェブブ
ラウザ26を備えている。ウェブブラウザ(WWWブラ
ウザ)とは、「Netscape Navigato
r」や「Internet Explorer」など
の、ホームページ閲覧ソフトウエアであり、ホームペー
ジはHTML(Hyper Text MarkupL
anguage)で記述されている。ブラウザ26が受
信するホームページのデータは、クライアントA1のプ
ログラムであるローカルウェブサーバ24から送られ
る。
【0030】ホームページ上に設定されたリンクやアプ
レットに従って、例えば、ユーザが自分の口座残高の先
月のデータの要求すると、ミドルウエア22は、かかる
データをローカルデータベースサーバ25内のデータベ
ース内に検索しに行き、当該データが存在する場合に
は、ミドルウエア22はローカルウェブサーバ24を介
してブラウザ26に検索されたデータを表示させる。
【0031】ローカルデータベースサーバ25から読み
出されたデータに、特定の処理を行う場合には、ミドル
ウエア22はアプリケーションサーバ23上でアプリケ
ーション21を実行させ、当該処理を行わせる。このア
プリケーション21は、サーバB内のサーブレット12
と同一の機能を有するものであり、演算の負荷はサーバ
BからクライアントAに移動している。アプリケーショ
ン21はミドルウエア22を介してローカルデータベー
スサーバ25にアクセスして、必要なデータを要求する
ことができる。
【0032】ローカルデータベースサーバ25内に必要
なデータが存在しない場合には、ミドルウエア22は、
公衆通信網(HTTP(Hypertext Tran
sfer Protocol)接続ネットワーク)Xを
介してサーバB内のウェブサーバ14にアクセスし、ウ
ェブサーバ14上のホームページに設定されたリンクや
サーブレット12をアプリケーションサーバ13から起
動し、これらを通じてデータベースサーバ11に格納さ
れたデータを読み出し、ミドルウエア22を介してロー
カルデータベースサーバ25内に読み出されたデータを
格納させる。
【0033】本例のサーブレット12はサーバB側で動
作するJavaプログラムであり、クライアントA1の
要求(リクエスト)をサーバB側で処理し、処理結果ペ
ージを動的に生成してリプライする。これはウェブサー
バ14を介して送信され、ミドルウエア22は、含まれ
るデータを必要に応じて抽出してローカルデータベース
サーバ25内に格納させる。
【0034】当該格納後には、ローカルデータベースサ
ーバ25内に必要なデータが格納されているので、ブラ
ウザ26へデータを送る場合にはローカルデータベース
サーバ25にアクセスすればよい。
【0035】図3は上述のクライアント・サーバ・シス
テムにおけるデータの流れを示すフローチャートである
(正常終了時)。
【0036】ブラウザ26の表示画面に設定されたリン
クやアプレットに従ってデータを読み出す場合、まず、
クライアントのブラウザ26、ローカルウェブサーバ2
4、ミドルウエア22を介してローカルデータベースサ
ーバ25にアクセスしてデータを探し、「データ無し」
とミドルウエア22が判断した場合には、ネットワーク
Xを介して、サーバB側のウェブサーバ14、アプリケ
ーションサーバ13を介してデータベースサーバ11に
アクセスし、データを探す。データベースサーバ11か
らデータを読み出されたデータは、アプリケーションサ
ーバ13、ウェブサーバ14、ネットワークX及びミド
ルウエア22を介してローカルデータベースサーバ25
に書き込まれる。書き込まれたデータは、ミドルウエア
22、ローカルウェブサーバ24を介してブラウザ26
に送られる。
【0037】ブラウザ26の表示画面に設定されたリン
クやアプレットに従ってデータを書き込む場合、まず、
クライアントのブラウザ26、ローカルウェブサーバ2
4、ミドルウエア22を介してローカルデータベースサ
ーバ25にアクセスしてデータを書き込み(データ操
作)、しかる後、ミドルウエア22はネットワークを介
して、サーバB側のウェブサーバ14、アプリケーショ
ンサーバ13を介してデータベースサーバ11にアクセ
スし、データを書き込む(データ操作)。データベース
サーバ11からは確認応答が送信され、この応答はアプ
リケーションサーバ13、ウェブサーバ14、ネットワ
ークX、ミドルウエア22、ローカルウェブサーバ24
を介してブラウザ26に送られ、データ操作が正常に終
了したものと判定され、クライアントA1及びサーバB
においてコミットが行われる。
【0038】図4は上述のクライアント・サーバ・シス
テムにおけるデータの流れを示すフローチャートである
(データ操作異常終了時)。本例では、図3のフローに
おけるデータ書き込み確認応答が、ネットワーク障害に
よって、クライアントA1のブラウザ26まで伝達され
なかった場合である。すなわち、本例は、データ操作工
程が正常終了しない場合であり、特に、クライアントA
1とサーバBとを接続するネットワークに障害が発生し
ている場合である。
【0039】クライアントA1は、確認応答のタイムア
ウトを検出することによって、ネットワーク障害を検出
し、サーバBは確認応答を受け取ったというクライアン
トA1からの更なる確認応答のタイムアウトを検出する
ことによって、ネットワーク障害を検出し、双方とも直
前のチェックポイントにおけるデータ書き込み地点より
も前の時点までロールバックを行う。すなわち、データ
書き込み操作を取り消す。
【0040】図5は上述のクライアント・サーバ・シス
テムにおけるデータの流れを示すフローチャートである
(データ操作異常終了時)。本例は、図3のフローにお
いてデータ書き込み操作のコミットが行われた後、クラ
イアントのデータ操作工程に障害が発生した場合であ
る。クライアントA1は、その自身の障害を自己診断機
能(OSに付属)を用いて検出し、障害が検出された場
合には、ロールバックを行う。すなわち、前回のコミッ
トが行われた時点まで、ロールバックする。もちろん、
このようなデータ操作工程の障害がサーバB側で生じた
場合には、サーバBが自己診断機能を使って、自身の障
害を検出し、前回のコミットが行われた時点まで、ロー
ルバックする。
【0041】図6は上述のクライアント・サーバ・シス
テムにおけるデータの流れを示すフローチャートである
(データ操作異常終了時)。本例は、図3のフローのデ
ータベースサーバへのデータ書き込み時において、デー
タ操作対象となるサーバBのデータベース内のデータ
と、これに対応するデータ操作対象となるクライアント
A1の記憶装置A1b内データベースのデータとが異な
っている場合である。すなわち、サーバ内データを書き
換える際の元のデータが、既に、別のクライアント(A
2とする)からのデータ操作によって書き換えられ、現
在のクライアントA1のデータと異なっていた場合、こ
の書き込み操作を取り消し、前回のチェックポイントの
履歴まで戻る。この際、別のクライアントA2もロール
バックする。
【0042】ブラウザのみを用いたThinクライアン
ト・サーバ・システムは、アプリケーションの実行やシ
ステム管理などをすべてサーバ側で行い、クライアント
にはその実行結果をデスクトップにGUI(Graph
ical User Interface)として表示
するための情報だけが送信されるシステムのことであ
る。Thinクライアントが利用される場面としては,
例えば、会社の営業社員がモバイル端末を持ち歩き、公
衆回線網を介してサーバでのデータ在庫をチェックしな
がらセールスを行う例が挙げられる。
【0043】ユーザは、商品在庫の確認や、納入在庫の
検収などをクライアント端末を使って行う。クライアン
トが要求した処理はすべてサーバ側で行われ、サーバは
処理した結果のGUI情報だけを店員に送り返す。クラ
イアント側ではアプリケーションは一切実行されないた
め、システム管理はサーバ内で一元的にできる。このよ
うなThinクライアント・サーバ・システムは、上述
のシステムと組み合わせることにより、そのデータの一
貫性を著しく向上させることができる。
【0044】上述のシステムは、クライアントA1とサ
ーバBとの通信にHTTPネットワークXを用いてお
り、サーバB側のサーブレット12とクライアントA1
側のミドルウエア22が、HTTPネットワークXを用
いて通信を行っているため、サーバBの構造を大きく変
えることなく、Thinクライアント・サーバ・システ
ムに上述のシステムを組み込むことができる。
【0045】また、上記クライアントA1は、データベ
ースを有しているので、これに接続される他のクライア
ントに対してはサーバとして機能することもできる。
【0046】なお、クライアントA1のブラウザ26か
らローカルウェブサーバ24を介してローカルデータベ
ースサーバ25を利用することができるので、クライア
ントA1で発生した情報はサーバBだけでなくローカル
データベースサーバ25内にも保存される。また、クラ
イアント/サーバ間データ交換機能はHTTPだけでな
く、HTTPS(Hypertext Transfe
r ProtocolSecurity)やFTP(F
ile Transfer Protocol)を用い
ることができ、必要に応じて、これらはSMTP(Si
mple Mail Transfer Protoc
ol)通信を行うことができる。また、ネットワークは
無線通信を用いてもよい。
【0047】以上、説明したように、上述のクライアン
トは、記憶装置A1bを備えるクライアントにおいて、
クライアントに通信可能に設けられるサーバBのデータ
ベース内に格納されたデータを自身の記憶装置内に取り
込んで格納する工程と、格納されたデータを用いて特定
の処理(例えば、ブラウザ表示、データ間演算)が実行
できる場合には、記憶装置A1bにアクセスして特定の
処理を実行する工程と、格納されたデータを用いて特定
の処理が実行できない場合には、サーバBのデータベー
スにアクセスし、必要なデータを取り込んで記憶装置A
1b内に格納した後、特定の処理を実行する工程と、記
憶装置A1b内のデータと、当該データに対応するサー
バBのデータベースのデータに同一のデータ操作(例え
ば、データ更新)を行う工程と、このデータ操作工程が
正常終了しない場合にはデータ操作工程をロールバック
する工程とを備える。
【0048】クライアントA1は、自身の記憶装置A1
b内にサーバBのデータベース内データを格納している
ので、オフライン時においても仮想的にサーバBのデー
タベースにアクセスして、特定の処理を行うことができ
る。オンラインであっても、アクセス時間や処理時間を
短縮することができる。なお、クライアント自身の記憶
装置A1b内にデータが無い場合にはサーバBにアクセ
スする必要がある。また、クライアントA1の記憶装置
A1b内の仮想的なサーバのデータベースのデータにデ
ータ操作を施す場合には、サーバBのデータベースにも
同じくデータ操作を施す。データ操作工程における通信
障害等によってデータ操作工程が正常終了しない場合に
は、データ操作工程をロールバックする。これにより、
サーバB内のデータベース内データと、クライアント記
憶装置A1b内のデータの一貫性を保持することが可能
となる。
【0049】また、上記特定の処理工程及び前記データ
操作工程はブラウザ上から実行可能であることが好まし
く、ユーザの操作性を向上させることができる。
【0050】また、上述のデータベースを有するサーバ
Bはというと、クライアントA1からの要求に応じて、
サーバBのデータベース内のデータをクライアントA1
の記憶装置A1b内に送信する工程と、記憶装置A1b
内のデータと、当該データに対応するサーバBのデータ
ベースのデータに同一のデータ操作が実行された場合
に、当該データ操作工程が正常終了しない場合には前記
データ操作工程をロールバックする工程とを備えてい
る。これにより、サーバB側においても、データ操作の
履歴が取り消されるので、クライアントA1とサーバB
のデータは同一のものとなる。
【0051】クライアントA1に上述の処理を実行させ
るためのプログラムは、クライアントA1に通信可能に
設けられるサーバBのデータベース内に格納されたデー
タを、クライアントA1の記憶装置A1b内に取り込ん
で格納する工程と、格納されたデータを用いて特定の処
理が実行できる場合には、記憶装置A1bにアクセスし
て特定の処理を実行する工程と、格納されたデータを用
いて特定の処理が実行できない場合には、サーバBのデ
ータベースにアクセスし、必要なデータを取り込んで記
憶装置A1b内に格納した後、特定の処理を実行する工
程と、記憶装置A1b内のデータと、当該データに対応
するサーバBのデータベースのデータに同一のデータ操
作を行う工程と、データ操作工程が正常終了しない場合
にはデータ操作工程をロールバックする工程とを備え
る。また、本発明の記録媒体(図示せず)は、このプロ
グラムを記録したコンピュータ読み取り可能な記録媒体
である。
【0052】また、本発明のデータ制御方法は、クライ
アントA1に通信可能に設けられるサーバBのデータベ
ース内に格納されたデータを、クライアントA1の記憶
装置A1b内に取り込んで格納する工程と、格納された
データを用いて特定の処理が実行できる場合には、記憶
装置A1bにアクセスして特定の処理を実行する工程
と、格納されたデータを用いて特定の処理が実行できな
い場合には、サーバのデータベースにアクセスし、必要
なデータを取り込んで記憶装置A1b内に格納した後、
特定の処理を実行する工程と、記憶装置A1b内のデー
タと、当該データに対応するサーバBのデータベースの
データに同一のデータ操作を行う工程と、データ操作工
程が正常終了しない場合にはデータ操作工程をロールバ
ックする工程とを備えている。この制御方法では上述の
クライアントA1における処理が実行され、データの一
貫性が保持されることとなる。
【0053】
【発明の効果】本発明のクライアント、クライアント・
サーバ・システム、サーバ、プログラム、記録媒体及び
データ制御方法によれば、サーバとのデータの一貫性を
保持することができる。
【図面の簡単な説明】
【図1】クライアント・サーバ・システムのブロック図
である。
【図2】クライアントAの記憶装置A1b内に格納され
たプログラムと、サーバBの記憶装置B1b内に格納さ
れたプログラムとの関係を示すシステムのブロック図で
ある。
【図3】上述のクライアント・サーバ・システムにおけ
るデータの流れを示すフローチャートである(正常終了
時)。
【図4】クライアント・サーバ・システムにおけるデー
タの流れを示すフローチャートである(データ操作異常
終了時)。
【図5】クライアント・サーバ・システムにおけるデー
タの流れを示すフローチャートである(データ操作異常
終了時)。
【図6】クライアント・サーバ・システムにおけるデー
タの流れを示すフローチャートである(データ操作異常
終了時)。
【符号の説明】
11…データベースサーバ、12…サーブレット、13
…アプリケーションサーバ、13…ウェブサーバ、14
…ウェブサーバ、21…アプリケーション、22…ミド
ルウエア、23…アプリケーションサーバ、24…ロー
カルウェブサーバ、25…ローカルデータベースサー
バ、26…ウェブブラウザ、A1,A2,A3,A4,
A5…クライアント、A1b…記憶装置、A1c…通信
装置、A1e…モニター、A1f…入力装置、B…サー
バ、B1b…記憶装置、B1c…通信装置、B1b…記
憶装置、X…公衆通信網。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 通信可能に設けられるサーバからデータ
    を読み出す手段と、 前記読み出されたデータをローカルデータとして格納す
    る手段と、 前記ローカルデータを用いて特定の処理を実行する手段
    と、 前記ローカルデータと当該ローカルデータに対応する前
    記サーバのデータとに同一のデータ操作を行う手段と、 前記データ操作が正常終了しない場合には前記データ操
    作をロールバックする手段と、を備えることを特徴とす
    るクライアント。
  2. 【請求項2】 前記特定の処理及び前記データ操作はブ
    ラウザ上から実行可能であることを特徴とする請求項1
    に記載のクライアント。
  3. 【請求項3】 前記データ操作が正常終了しない場合と
    は、前記クライアントと前記サーバとを接続するネット
    ワークに障害が発生している場合であることを特徴とす
    る請求項1又は2に記載のクライアント。
  4. 【請求項4】 前記データ操作が正常終了しない場合と
    は、前記クライアントの当該データ操作に障害が発生し
    ている場合であることを特徴とする請求項1又は2に記
    載のクライアント。
  5. 【請求項5】 前記データ操作が正常終了しない場合と
    は、前記サーバにおける当該データ操作に障害が発生し
    ている場合であることを特徴とする請求項1又は2に記
    載のクライアント。
  6. 【請求項6】 前記データ操作工程が正常終了しない場
    合とは、データ操作対象となる前記サーバのデータと、
    これに対応する前記ローカルデータとが異なっている場
    合であることを特徴とする請求項1又は2に記載のクラ
    イアント。
  7. 【請求項7】 データベースを有するサーバと、前記サ
    ーバと通信可能であってローカルウェブサーバ及びロー
    カルデータベースサーバを有するクライアントとを備え
    るクライアント・サーバ・システムであって、 前記ローカルウェブサーバを介して、前記クライアント
    の前記ローカルデータベース内のローカルデータにデー
    タ操作を施すと共に、前記サーバの前記データベース内
    のデータに前記データ操作と同一のデータ操作を施す手
    段と、 前記データ操作が正常終了しない場合には前記データ操
    作をロールバックする手段と、を備えることを特徴とす
    るクライアント・サーバ・システム。
  8. 【請求項8】 ローカルデータを有するクライアントと
    通信可能に設けられたサーバであって、 このサーバのデータと前記クライアントのローカルデー
    タとに同一のデータ操作が実行され、当該データ操作が
    正常終了しない場合には、前記データ操作をロールバッ
    クする手段を備えることを特徴とするサーバ。
  9. 【請求項9】 クライアントに通信可能に設けられるサ
    ーバのデータベース内に格納されたデータを、前記クラ
    イアントのローカルデータベース内に取り込んで格納す
    る工程と、 前記格納されたデータを用いて特定の処理が実行できる
    場合には、前記ローカルデータベースにアクセスして前
    記特定の処理を実行する工程と、 前記格納されたデータを用いて前記特定の処理が実行で
    きない場合には、前記サーバのデータベースにアクセス
    し、必要なデータを取り込んで前記ローカルデータベー
    ス内に格納した後、前記特定の処理を実行する工程と、 前記ローカルデータベース内のデータと、当該データに
    対応する前記データベースのデータに同一のデータ操作
    を行う工程と、 前記データ操作工程が正常終了しない場合には前記デー
    タ操作工程をロールバックする工程と、を前記クライア
    ントに実行させることを特徴とするプログラム。
  10. 【請求項10】 請求項9に記載の前記プログラムを記
    録したコンピュータ読み取り可能な記録媒体。
  11. 【請求項11】 クライアントに通信可能に設けられる
    サーバのデータベース内に格納されたデータを、前記ク
    ライアントのローカルデータベース内に取り込んで格納
    する工程と、 前記格納されたデータを用いて特定の処理が実行できる
    場合には、前記ローカルデータベースにアクセスして前
    記特定の処理を実行する工程と、 前記格納されたデータを用いて前記特定の処理が実行で
    きない場合には、前記サーバのデータベースにアクセス
    し、必要なデータを取り込んで前記ローカルデータベー
    ス内に格納した後、前記特定の処理を実行する工程と、 前記ローカルデータベース内のデータと、当該データに
    対応する前記データベースのデータに同一のデータ操作
    を行う工程と、 前記データ操作工程が正常終了しない場合には前記デー
    タ操作工程をロールバックする工程と、を備えることを
    特徴とするデータ制御方法。
JP2002065698A 2002-03-11 2002-03-11 クライアント、クライアント・サーバ・システム、サーバ、プログラム、記録媒体及びデータ制御方法 Pending JP2003263356A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002065698A JP2003263356A (ja) 2002-03-11 2002-03-11 クライアント、クライアント・サーバ・システム、サーバ、プログラム、記録媒体及びデータ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002065698A JP2003263356A (ja) 2002-03-11 2002-03-11 クライアント、クライアント・サーバ・システム、サーバ、プログラム、記録媒体及びデータ制御方法

Publications (1)

Publication Number Publication Date
JP2003263356A true JP2003263356A (ja) 2003-09-19

Family

ID=29197878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002065698A Pending JP2003263356A (ja) 2002-03-11 2002-03-11 クライアント、クライアント・サーバ・システム、サーバ、プログラム、記録媒体及びデータ制御方法

Country Status (1)

Country Link
JP (1) JP2003263356A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013168222A1 (ja) 2012-05-08 2013-11-14 1stホールディングス株式会社 データ処理システム、サーバ、クライアント、データ管理用プログラム
US9648146B2 (en) 2014-06-18 2017-05-09 Fuji Xerox Co., Ltd. Information processing system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH034339A (ja) * 1989-06-01 1991-01-10 Hitachi Ltd 分散処理システムにおけるデータベース更新方式
JPH0764843A (ja) * 1993-06-30 1995-03-10 Nippon Telegr & Teleph Corp <Ntt> 分散型データベース更新方法
JPH08272669A (ja) * 1995-03-31 1996-10-18 Hitachi Software Eng Co Ltd クライアント・サーバシステムにおけるデータ更新方法
JPH08286964A (ja) * 1995-04-13 1996-11-01 Mitsubishi Electric Corp 分散トランザクション処理方法
JPH10111825A (ja) * 1996-10-04 1998-04-28 Kokusai Denshin Denwa Co Ltd <Kdd> 複数データベース一致化更新方法および装置
JPH1115715A (ja) * 1997-06-20 1999-01-22 Nec Corp データ共有システム
JP2001350777A (ja) * 2000-06-05 2001-12-21 Mitsubishi Electric Corp 分散データベースシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH034339A (ja) * 1989-06-01 1991-01-10 Hitachi Ltd 分散処理システムにおけるデータベース更新方式
JPH0764843A (ja) * 1993-06-30 1995-03-10 Nippon Telegr & Teleph Corp <Ntt> 分散型データベース更新方法
JPH08272669A (ja) * 1995-03-31 1996-10-18 Hitachi Software Eng Co Ltd クライアント・サーバシステムにおけるデータ更新方法
JPH08286964A (ja) * 1995-04-13 1996-11-01 Mitsubishi Electric Corp 分散トランザクション処理方法
JPH10111825A (ja) * 1996-10-04 1998-04-28 Kokusai Denshin Denwa Co Ltd <Kdd> 複数データベース一致化更新方法および装置
JPH1115715A (ja) * 1997-06-20 1999-01-22 Nec Corp データ共有システム
JP2001350777A (ja) * 2000-06-05 2001-12-21 Mitsubishi Electric Corp 分散データベースシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013168222A1 (ja) 2012-05-08 2013-11-14 1stホールディングス株式会社 データ処理システム、サーバ、クライアント、データ管理用プログラム
US10666726B2 (en) 2012-05-08 2020-05-26 Wingarc1St Inc. Data processing system, and program for managing data
US9648146B2 (en) 2014-06-18 2017-05-09 Fuji Xerox Co., Ltd. Information processing system

Similar Documents

Publication Publication Date Title
US5796934A (en) Fault tolerant client server system
US8903779B1 (en) Methods for returning a corrupted database to a known, correct state
US10942823B2 (en) Transaction processing system, recovery subsystem and method for operating a recovery subsystem
US9830223B1 (en) Methods for repairing a corrupted database to a new, correct state
JP6181290B2 (ja) トランザクションの順序付け
US7464113B1 (en) Disaster recovery with bounded data loss
KR101323500B1 (ko) 데이터 웨어하우징을 위한 장치 및 방법
US9720911B2 (en) System and method for variable block logging with log-ahead buffers
CN100428228C (zh) 为移动应用缓存数据的系统和方法
US20040049477A1 (en) Enterprise link for a software database
US9804935B1 (en) Methods for repairing a corrupted database to a new, correct state by selectively using redo and undo operations
US20030093429A1 (en) Data warehouse system
US6061708A (en) System and method for supporting mixed-phase transactions in an object-oriented environment
US8489566B2 (en) Optimistic locking in online and offline environments
US20040044730A1 (en) Dynamic access of data
US6389431B1 (en) Message-efficient client transparency system and method therefor
US9600299B2 (en) Application object framework
EP1701265B1 (en) Cross-system activity logging in a distributed system environment
US6718349B2 (en) Intelligent, optimistic concurrency database access scheme
AU771514B2 (en) Preserving consistency of passively-replicated non-deterministic objects
WO2021237190A1 (en) Distributed transaction execution in distributed databases
Frank et al. Semantic ACID properties in multidatabases using remote procedure calls and update propagations
Frank Architecture for integration of distributed ERP systems and e‐commerce systems
JP3732113B2 (ja) トランザクション制御システム、方法及びプログラム
Frank Evaluation of the basic remote backup and replication methods for high availability databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081028