JP2011040106A - Database parallel editing system - Google Patents

Database parallel editing system Download PDF

Info

Publication number
JP2011040106A
JP2011040106A JP2010260142A JP2010260142A JP2011040106A JP 2011040106 A JP2011040106 A JP 2011040106A JP 2010260142 A JP2010260142 A JP 2010260142A JP 2010260142 A JP2010260142 A JP 2010260142A JP 2011040106 A JP2011040106 A JP 2011040106A
Authority
JP
Japan
Prior art keywords
self
content
edit
editing
server
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
JP2010260142A
Other languages
Japanese (ja)
Other versions
JP4923140B2 (en
JP2011040106A5 (en
Inventor
Kunio Kamimura
邦夫 上村
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.)
Athena Telecom Lab Inc
Original Assignee
Athena Telecom Lab Inc
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
Priority claimed from PCT/JP2008/001424 external-priority patent/WO2008149552A1/en
Priority claimed from PCT/JP2008/001506 external-priority patent/WO2009147701A1/en
Application filed by Athena Telecom Lab Inc filed Critical Athena Telecom Lab Inc
Priority to JP2010260142A priority Critical patent/JP4923140B2/en
Publication of JP2011040106A publication Critical patent/JP2011040106A/en
Publication of JP2011040106A5 publication Critical patent/JP2011040106A5/ja
Application granted granted Critical
Publication of JP4923140B2 publication Critical patent/JP4923140B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide so called full-scale "parallel DB editing" in which a computer permanently holds a replicated DB, although conventionally it is common that a database is set in a server and a plurality of computers access it. <P>SOLUTION: The replicated DBs of respective computers synchronize with each other by mutually exchanging edit information of the replicated DB between computers. All related PCs take out editing records on local editing in each PC in uniquely specified order (the order of arrival to the server), and update a local original copy DB. The local original copy DB is updated by processing the edit information of the same contents in the same order and by the same logic, so that the local original copy DBs of each PC obtained as a result are synchronized. This is not synchronization in real time, but the synchronization taking the order of editing records as the time axis. Consequently mixed operation is possible, wherein "mostly online operation" which frequently takes in and updates editing records and "mostly offline operation" of long update cycle are mixed. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はデータベース(以下「DB」)に対する並行編集(以下「並行DB編集」)を実現するものである。 The present invention implements parallel editing (hereinafter referred to as “parallel DB editing”) for a database (hereinafter referred to as “DB”).

DBの代表的な運用形態として以下が挙げられる。 The following are listed as typical operation modes of DB.

「単独DBアクセス」
ひとつの計算機のみでDBを操作する運用。DBに対する編集が行えるのはこの計算機のみであるので、アクセスの競合防止は容易であるが、複数の計算機がDBにアクセスする運用には適さない。
"Single database access"
Operation to operate DB with only one computer. Since it is only this computer that can edit the DB, it is easy to prevent access conflicts, but it is not suitable for operations in which a plurality of computers access the DB.

「サーバーDBアクセス」
サーバー計算機(以下「サーバー」)がDBを管理し、端末計算機(以下「PC」)はサーバーにアクセスしサーバーの処理を通じてDBにアクセスする運用。DBに直接アクセスするのはひとつのPCのみであるので、アクセスの競合防止は容易で、ベシミステックロックカーソル(非特許文献1)やトランザクションのロック(非特許文献2)が用いられている。
"Server DB access"
A server computer (hereinafter “server”) manages the DB, and a terminal computer (hereinafter “PC”) accesses the server and accesses the DB through server processing. Since only one PC directly accesses the DB, it is easy to prevent access conflicts, and a vestigec lock cursor (Non-Patent Document 1) and a transaction lock (Non-Patent Document 2) are used.

筆者が指揮し開発したシステム「パワーアップ新聞販売」では閲覧のみに対して並行アクセスを許可している。しかし、編集前には「編集権」を取得する事とし、同時にはひとつのPCしか編集出来ない様にしている。これもロックである。 The system "Power-up Newspaper Sales" developed and directed by the author allows concurrent access for browsing only. However, “editing rights” are acquired before editing, and only one PC can be edited at the same time. This is also a lock.

しかし、サーバーとの通信が不可能な状況ではデータへのアクセスは出来ないし、ロックの取得や返却も出来ない。移動体では通信不可能なケースが頻発するので、DB操作には大きな制限となる。災害時の救援、医療、金融などいわゆるミッションクリティカルな業務では通信不可能な状況下でも業務遂行が求められるが、これに応える事は出来ない。例え通信が確保出来ても、劣悪な通信環境では再送などによりサーバーの応答が極端に長くなり、実用とならない場合もある。 However, in situations where communication with the server is not possible, data cannot be accessed and locks cannot be acquired or returned. Since cases in which communication is impossible in a mobile body frequently occur, the DB operation is a great restriction. In so-called mission-critical operations such as disaster relief, medical care, and finance, business execution is required even in situations where communication is impossible, but this cannot be met. Even if communication can be ensured, in a poor communication environment, the server response may become extremely long due to retransmission or the like, which may not be practical.

作業用の複製を作成して処理を行うキャシュの技術で、処理や通信の効率化を図る試みも行われている。マイクロソフトのADO.NETは、PCに当面の作業に必要なデータをサーバーからコピーし、サーバーとの接続を切断してから編集作業を行う。編集後に改めてサーバーと接続し編集内容をサーバーに送る。もし編集対象の情報が既に他の端末計算機から変更されていれば、後からの(この)編集を無効にする。「ロックが結果として失敗した場合にはその編集を無効とする」と考えれば、編集ロックの一種とも言える。これは「オプティミスティック同時実行制御」(非特許文献3および非特許文献4)と呼ばれている。しかし、時として以下に示す不都合が生じる事がある。 Attempts have been made to improve the efficiency of processing and communication by using a cache technology that performs processing by creating a working copy. Microsoft's ADO.NET copies the data necessary for the immediate work to the PC from the server, cuts the connection with the server, and then edits. After editing, connect to the server again and send the edited content to the server. If the information to be edited has already been changed from another terminal computer, later (this) editing is invalidated. It can be said that it is a kind of editing lock if it is considered that “the editing is invalidated when the lock fails as a result”. This is called “optimistic concurrency control” (Non-Patent Document 3 and Non-Patent Document 4). However, the following inconveniences sometimes occur.

(1)編集毎にコピーを作成するので、そのコピー処理と通信がオーバーヘッドとなる。(非特許文献1のp19)これを少なくするには、コピーの範囲を制限する必要があるが、これにはアプリケーションが対象とする情報の構造を熟知する必要がある。 (1) Since a copy is created for each edit, the copy process and communication become overhead. (P19 of Non-Patent Document 1) To reduce this, it is necessary to limit the range of copying, but this requires a thorough understanding of the structure of information targeted by the application.

(2)キャシュの情報がいつまで有効かの推定が困難である。コピー能率優先でキャシュ量を少なくするほど、次の編集では使えない可能性が高い。「オプティミスティック同時実行制御」では、一カ所でも変更されていれば無効となるので、キャシュ量を大きくするのも問題である。 (2) It is difficult to estimate how long the cache information is valid. The smaller the cache amount with priority on copy efficiency, the more likely it is not usable in the next editing. In “optimistic concurrency control”, if even one place is changed, it becomes invalid, so it is also a problem to increase the cache amount.

(3)あるPCが過去に操作(入力、修正、削除)した情報が他のPCの操作により変更(削除、再修正、再入力)された事を検出するのは困難である。この問題は「サーバーDBアクセス」にも「キャシュ」にも共通する問題である。このPCによる編集の有効無効の判定結果は、アップ時に判明するが、それ以前に入力され一度は有効と判定された情報が変更されたのを迅速に把握するのは困難である。 (3) It is difficult to detect that information that a certain PC has operated (input, correction, deletion) in the past has been changed (deletion, recorrection, reinput) by the operation of another PC. This problem is common to both “server DB access” and “cache”. The determination result of the validity / invalidity of editing by the PC is known at the time of up-loading, but it is difficult to quickly grasp that the information that has been input before then has been determined to be valid has been changed.

その他の調査結果を以下に示す。非特許文献5は、ファイルのキャシュに関する発明で、編集の衝突(本願での競合)を検出した場合は単純に編集を拒否(非特許文献5の7頁の右下から10行目)し記録を作成する。特許文献1は、サーバーがDB編集の衝突を検出すると、正しく更新されたサーバーのDBを送り込む(「解決手段」および36段)。特許文献2では更新時刻が後の更新を有効とし、特許文献1では更新時刻が先の更新を有効としている。いずれも、上記の問題を解決するものでは無い。 Other survey results are shown below. Non-Patent Document 5 is an invention related to file caching, and when an editing conflict (competition in this application) is detected, editing is simply rejected (10th line from the lower right on page 7 of Non-Patent Document 5) and recorded. Create In Patent Document 1, when a server detects a DB editing collision, the server DB updated correctly is sent ("Solution means" and 36 levels). In Patent Document 2, an update with a later update time is valid, and in Patent Document 1, an update with a later update time is valid. Neither of them solves the above problem.

特許文献3はデータベースの同期を起動する条件に関する発明であり、同期の方法については「更新情報を互いに通知し合って同期」と言う一般的な同期の概念を示しているにすぎない。 Patent Document 3 is an invention related to a condition for starting database synchronization, and the synchronization method merely shows a general synchronization concept of “synchronizing by notifying each other of update information”.

特許文献4は、編集の競合が起きた際に「全ての更新データを保持する」ことを目的とした発明である。競合が無いときにのみ原本を更新するのであり、本発明とは目的も内容も異なる。特許文献5、特許文献6、特許文献7、特特許文献8、特許文献9についても調査したが、いずれも本発明とは異なる。 Patent Document 4 is an invention for the purpose of “holding all update data” when an editing conflict occurs. The original is updated only when there is no conflict, and the object and contents are different from the present invention. Patent Literature 5, Patent Literature 6, Patent Literature 7, Patent Literature 8, and Patent Literature 9 were also investigated, but all differ from the present invention.

特開平9−91184号広報JP 9-91184 A 特開2004−13867号広報Japanese Laid-Open Patent Publication No. 2004-13867 特開2004−86800号広報JP 2004-86800 A 特開2006−284998号広報JP 2006-284998 A 特開平11−161535号公報JP 11-161535 A 特表2005−503606号公報JP 2005-503606 Gazette 特表2005−508050号公報Special table 2005-508050 gazette 特開平8−16447号公報JP-A-8-16447 特表2000−501532号公報JP 2000-501532 A

William R. Vaughn, 株トップスタジオ訳、伊藤由紀子監修、Windows (登録商標)データベースプログラミング ADO.NET専修講座 VB.NET 編、2003年8月4日初版発行、翔泳社William R. Vaughn, translation of top studio, supervised by Yukiko Ito, Windows (registered trademark) Database Programming ADO.NET Special Course VB.NET, published on August 4, 2003, Shosuisha 超図解SQLハンドブック、C&R研究所、2005年8月12日初版発行Super Illustrated SQL Handbook, C & R Laboratories, first published on August 12, 2005 「ADO.NET におけるデータ同時実行制御の概要」、2007年1月、MSDNサブスクリプションライブラリー(msdn subscriptions Library)、ディスクファイル(URL:ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_raddata/html/d5293098-4a88-4110-abd2-34d9e6661664.htm)"Outline of data concurrency control in ADO.NET", January 2007, MSDN subscription library (msdn subscriptions Library), disk file (URL: ms-help: //MS.MSDNQTR.v80.en/MS. MSDN.v80 / MS.VisualStudio.v80.en / dv_raddata / html / d5293098-4a88-4110-abd2-34d9e6661664.htm) 「チュートリアル : 同時実行例外の処理」、2007年1月、MSDNサブスクリプションライブラリー(msdn subscriptions Library)、ディスクファイル(URL: ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_raddata/html/73ee9759-0a90-48a9-bf7b-9d6fc17bff93.htm)“Tutorial: Handling Concurrency Exceptions”, January 2007, MSDN Subscriptions Library, disk file (URL: ms-help: //MS.MSDNQTR.v80.en/MS.MSDN.v80 /MS.VisualStudio.v80.en/dv_raddata/html/73ee9759-0a90-48a9-bf7b-9d6fc17bff93.htm) 「世界規模分散ファイルシステムSKINNY 」、情報処理学会研究報告, 95-OS-70, (学術刊行物 情処研報 Vol. 95, No.79 ISSN 0919-6072"World-wide distributed file system SKINNY", Information Processing Society of Japan Research Report, 95-OS-70, (Academic Publications Institute of Information Processing Vol. 95, No. 79 ISSN 0919-6072

本格的な並行DBアクセスを明らかにし、キャシュを前提とした従来の並行DB編集の問題を解決する。 Clarify full-scale parallel DB access and solve the problem of conventional parallel DB editing based on cache.

本発明を以下の例を用いて説明する。 The present invention will be described using the following examples.

(1) 準備
複数のPCに、原本DB(以下「グローバル原本DB」)の初期状態の複製DB(以下「ローカル原本DB」)を置く。このローカル原本DBには初期のバージョン、つまり更新の順番を識別する順序数、を設定する事が出来る。バージョンを用いて編集の有効性を判定が可能である。
(1) Preparation A replica DB (hereinafter “local original DB”) in an initial state of an original DB (hereinafter “global original DB”) is placed on a plurality of PCs. In this local original DB, an initial version, that is, an order number for identifying the update order, can be set. The effectiveness of editing can be determined using the version.

(2)ローカル編集
各PCはそのローカル原本DBに対するローカルな編集を行う。この編集の前にローカル原本DBの作業用の複製を作成し、編集はこの複製に対して行う。また、編集時にはその編集内容を記録した「編集記録」を作成する。この編集記録には少なくとも「編集内容」が記録されるが、これに加え「編集バージョン」などを記録しても良い。
(2) Local editing Each PC performs local editing on its local original DB. Before this editing, a working copy of the local original DB is created, and editing is performed on this copy. Further, at the time of editing, an “editing record” is created in which the edited contents are recorded. At least “edit contents” are recorded in this edit record, but “edit version” or the like may be recorded in addition to this.

「編集内容」はどの情報をどの様に変更したか、どの情報を追加したか、どの情報を削除したか、などの一般的な編集内容である。「編集バージョン」は編集対象のローカル原本DBのバージョン、厳密に言えば、編集対象の作業DBの複製元となったローカル原本DBのバージョン、である。 “Edited contents” are general edited contents such as which information has been changed in what manner, which information has been added, and which information has been deleted. “Edited version” is the version of the local original DB to be edited, strictly speaking, the version of the local original DB that is the replication source of the work DB to be edited.

(3)サーバーへの編集記録の送信
各PCは「編集記録」をサーバーに送信する。「編集記録」と「編集バージョン」を分けて記録している場合には、「編集記録」との対応を明示して「編集バージョン」も送信する。なお、「編集記録」の中に「編集バージョン」を記録する運用が、簡単で現実的と思われる。
(3) Transmission of edit record to server Each PC transmits “edit record” to the server. When “edit record” and “edit version” are recorded separately, the correspondence with “edit record” is clearly indicated and “edit version” is also transmitted. It should be noted that the operation of recording the “edit version” in the “edit record” seems simple and realistic.

(4)サーバーによる編集記録の受信
サーバーは、PCから到着した編集記録を、その到着の順番と共に記録しておく。
(4) Receiving edit records by the server The server records the edit records that have arrived from the PC together with the order of arrival.

(5)サーバーからの編集記録の受信
PCはサーバーに対して、未受信の編集記録の送信を要求し、これらの編集記録、その(サーバーへの到着の)順番を受信する。編集記録に編集バージョンが指定されていれば、これも受信する。
(5) Receiving edit records from the server The PC requests the server to send unedited edit records, and receives these edit records and their order (arrival at the server). If an edit version is specified in the edit record, this is also received.

(6)ローカル原本DBの更新
PCは指定された順番で編集記録を取り出し、その有効性を判定し、その内容に基づき、「ローカル原本DB」の更新を試みる。バージョンが設定されている場合はローカル原本DBのバージョンを更新する。
(6) Update of local original DB The PC extracts edit records in the specified order, determines the validity, and tries to update the “local original DB” based on the contents. When the version is set, the version of the local original DB is updated.

全てのPCの初期のローカル原本DBが同じで、各PCにおけるローカルな編集の編集記録を、サーバーへの到着順で取り出し、ローカル原本DBを更新する。同じ内容の編集情報を、同じ順番で、同じロジックで処理して、ローカル原本DBを更新するので、結果として得られる各PCのローカル原本DBも同じになる。サーバーでグローバル原本DBを更新しなくても各PCのローカル原本DBが同期するのはこの仕掛けによる。 The initial local original DBs of all the PCs are the same, and edit records of local editing in each PC are taken out in the order of arrival at the server, and the local original DB is updated. Since the editing information of the same content is processed in the same order and with the same logic to update the local original DB, the resulting local original DB of each PC is the same. This is the reason why the local original DB of each PC is synchronized without updating the global original DB on the server.

ここで、各PCで作成した編集記録にユニークな順番を付けるのがポイントである。ここではサーバーにアップした順番を用いているが、この順番を変更する事も、他の方法で順番を付けても良い。サーバーにアップされた順番を独自の判断基準(例えば操作者の優先権など)で変更してもかまわない。全ての関係するPCで取り出しローカル原本DBを更新する順番が同じであれば良い。 Here, the point is to give a unique order to the edit records created on each PC. Here, the order up to the server is used, but this order may be changed or the order may be set by other methods. The order of uploading to the server may be changed according to its own criteria (for example, operator priority). It suffices if the order of taking out and updating the local original DB is the same on all related PCs.

編集記録の順番を付ける他の方法として、例えば、サーバーや特定のPCが編集記録の順番(または時間)を決定し(編集記録を作成または保持するPCに)通知し、編集記録を作成又は保持するPCはこの順番を編集記録に記入し、編集記録を互いに通知し合う方法でも良い。全ての関係するPCで取り出しローカル原本DBを更新する順番が同じであれば良い。 As another method of assigning the order of editing records, for example, the server or a specific PC determines the order (or time) of the editing records (notifies the PC that creates or holds the editing records) and creates or holds the editing records. The PC which performs this may enter this order in the edit record and notify each other of the edit record. It suffices if the order of taking out and updating the local original DB is the same on all related PCs.

各PCはそれぞれの都合の良い時に複製DBの更新を行うので、実時間で見ると、各PCのローカル原本DBとの更新の進みは様々であるが、特定の編集記録で更新された後のローカル原本DBの状態は同じである。つまり、編集記録の順番を共通の時間軸とし各PCのローカル原本DBが同期する。 Since each PC updates the duplicate DB at their convenience, the progress of the update with the local original DB of each PC varies in real time, but after updating with a specific editing record The state of the local original DB is the same. That is, the local original DB of each PC is synchronized with the order of editing and recording as a common time axis.

なお、「有効性の判定基準」と「ローカル原本DBの更新処理方法」は、関係する全てのPCで同一である必要がある。しかし、同じであればその処理に制限は無い。同じ基準で、編集記録毎にその全部又は一部が有効または無効と判定されて、同じにローカル原本DBを更新していれば、編集記録の順番を共通の時間軸とし各PCのローカル原本DBが同期する。 It should be noted that the “validity determination criterion” and the “local original DB update processing method” need to be the same in all related PCs. However, if it is the same, there is no restriction on the processing. If it is determined that all or part of each edit record is valid or invalid and the local original DB is updated in the same manner, the local original DB of each PC is set with the order of the edit records as a common time axis. Are synchronized.

あるPCに注目した一連の動作例を説明する。このPCがサーバーから最新の編集記録を受信し、ローカル原本DBを更新したとする。そしてこのPCがこのローカル原本DBに対して編集を行い、その編集記録をアップする。なお、この編集の間に、別の計算機から編集記録がサーバーにアップされた可能性がある。 A series of operation examples focusing on a certain PC will be described. It is assumed that this PC receives the latest editing record from the server and updates the local original DB. The PC edits the local original DB and uploads the editing record. During this editing, the editing record may have been uploaded to the server from another computer.

先の編集記録のアップの後で、それまでの(未受信の)編集記録をサーバーから受信し、編集記録を指定された順番で取り出し、ローカル原本DBの更新を試みる。この過程でいくつかの編集は有効と判定されローカル原本DBが更新される。 After the previous editing record is updated, the previous (unreceived) editing record is received from the server, the editing records are taken out in the designated order, and the local original DB is updated. In this process, some edits are determined to be valid and the local original DB is updated.

最後に先程アップした編集記録を取り出し、その不変確認範囲を調査し有効性の判定を行う。もし無効と判定されたなら、このPCの操作者は、無効となった事実とその理由を確認し、必要が有れば(最新の情報に対して)再度の編集を試みる。無効になった元の入力の記録があれば、その内容を再び入力するのは容易である。 Finally, the editing record that was uploaded earlier is taken out, the invariant confirmation range is investigated, and the validity is determined. If it is determined to be invalid, the operator of this PC confirms the fact of invalidity and the reason for the invalidation, and tries to edit again (for the latest information) if necessary. If there is a record of the original input that has been invalidated, it is easy to enter the contents again.

PCの操作者にとって、「自分の入力した情報が有効となったか否か」「どの様な状況で無効となったか」を正確に知るこが必要である。並行DBアクセスにおいてオフライン編集した場合は、編集が有効であるか否かは即時ではなく、次の同期の時に判明するので、これらの情報は極めて重要である。情報が無効となった場合でも、全ての編集記録がPCに有り、その有効性の判定やローカル原本DBの更新の様子も全てこのPC内部で見ることが出来るので、再度入力する事も、入力を放棄するも、その状況から判断する事が出来る。 For the PC of the operator, there is a need and a child to know "their own whether or not the input information became effective,""What kind of or became disabled in the situation," the accurate. When offline editing is performed in parallel DB access, whether or not the editing is effective is not immediate, and is determined at the next synchronization, so these pieces of information are extremely important. Even if the information becomes invalid, all the edit records are on the PC, and the validity judgment and update of the local original DB can all be seen inside this PC. Can be judged from the situation.

本発明の基本となる要点を箇条書きすると以下である。
(更新1)各PCは未受信の編集記録を順番に受信する。
(更新2)受信した編集記録を指定の順番で用いて、ローカル原本DBの更新を行う。
(編集1)各PCはローカル原本DBに対する更新を行い、この編集記録をサーバーにアップする。
(前提1)各PCの初期のローカル原本DBの内容は同じ。
(前提2)各PCでローカル原本DBの更新に用いる編集記録の内容が同じ。
(前提3)各PCでローカル原本DBの更新に用いる編集記録の順番が同じ。
(前提4)各PCでローカル原本DBの更新に用いるロジックが同じ。
The main points of the present invention are listed as follows.
(Update 1) Each PC receives unedited edit records in order.
(Update 2) The local original DB is updated using the received editing records in the designated order.
(Edit 1) Each PC updates the local original DB and uploads this edit record to the server.
(Premise 1) The contents of the initial local original DB of each PC are the same.
(Premise 2) The content of the edit record used for updating the local original DB on each PC is the same.
(Premise 3) The order of editing records used for updating the local original DB in each PC is the same.
(Premise 4) The logic used for updating the local original DB is the same on each PC.

以上の説明ではグローバル原本DBの更新については説明していない。実はグローバル原本DBはローカル原本DBの初期値としてのみ存在するとしても問題は無い。PCのプログラムで初期値のDBが作成出来るなら、サーバーが初期値を持つ必要も無い。各PCのローカル原本DBは互いに同期するので、仮想の(実在しない)グローバル原本DBと同期していると言うことが出来る。もちろん、以上の手順に加えて、実際にグローバル原本DBが有り、編集情報で更新しても良い。万が一、あるPCのローカル原本DBが破損した場合には、グローバル原本DBをコピーしても良いし、他のPCのローカル原本DBをコピーしても良い。初期のグローバル原本DBとそれまでの全ての編集記録から最新のローカル原本DBを再作成する事も可能である。 In the above description, updating of the global original DB is not described. In fact, there is no problem even if the global original DB exists only as an initial value of the local original DB. If an initial value DB can be created by a PC program, the server need not have an initial value. Since the local original DB of each PC is synchronized with each other, it can be said that it is synchronized with a virtual (non-existent) global original DB. Of course, in addition to the above procedure, there is actually a global original DB, which may be updated with editing information. If the local original DB of a certain PC is damaged, the global original DB may be copied or the local original DB of another PC may be copied. It is also possible to re-create the latest local original DB from the initial global original DB and all the editing records so far.

(ほぼオンライン運用)
本発明では、編集記録の有効性の判定基準やローカル原本DBの更新手順を特に規定するものではないが、一般に、古い情報に基づく編集を無効と判定するのは常識的と考えられる。従って、編集を行うPCが、その編集が無効と判定される可能性を出来るだけ少なくするには、編集の直前に最新の編集記録まで受信してローカル原本DBを更新し、この最新のローカル原本DBに対して編集を行い、編集後は速やかに編集記録をアップすると良い。頻繁に更新を行えば、ローカル原本DBは常に最新の状態に保たれるので、「ほぼオンライン運用」と言う事が出来る。
(Almost online operation)
In the present invention, the criteria for determining the validity of the edit record and the update procedure of the local original DB are not particularly defined, but it is generally considered common to determine that editing based on old information is invalid. Therefore, in order to minimize the possibility that the editing PC determines that the editing is invalid, the latest editing record is received immediately before editing, the local original DB is updated, and this latest local original is updated. It is preferable to edit the DB and immediately edit the edit record after editing. If updated frequently, the local original DB is always kept up-to-date, so it can be said that “almost online operation”.

(ほぼオフライン運用)
しかし、編集の競合が稀な情報を扱う場合には、(更新1)および(更新2)によるローカル原本DBの更新から、(編集1)による編集のアップまでの時間を長くしても、編集が無効となる可能性は少ない。例えば、会社の組織ごとに支払伝票を入力するケースでは、レコードを修正するのは入力ミスや処理ミスを発見した場合であり、修正するとしてもレコードを入力した計算機で行う事が多い。この様なケースでは、更新から編集アップまでの期間を極端に長くした「ほぼオフライン運用」で問題は無い。たとえインターネット接続が出来ない状況でも支払伝票をゆっくり入力し、決算や検査近くなってからまとめてアップすれば良い。
(Almost offline operation)
However, when handling information that rarely conflicts with editing, editing is possible even if the time from updating the local original DB by (Update 1) and (Update 2) to editing up by (Edit 1) is increased. Is unlikely to be invalid. For example, in the case where a payment slip is input for each organization of a company, the record is corrected when an input error or a processing error is found, and even if it is corrected, it is often performed by a computer that inputs the record. In such a case, there is no problem with “almost offline operation” in which the period from update to edit-up is extremely long. Even if you can't connect to the Internet, you can enter payment slips slowly and upload them together when your financial results and inspections are close.

(改良−1)編集記録の内容の拡大
「編集内容」には、先に説明した一般的な編集内容や「編集バージョン」に加え、あとで詳しく説明する「バージョン設定範囲」や「不変確認範囲」を編集内容に含めることが出来る。DBの部分(複数可)にバージョンを設定する場合には、どの部分のバージョンを扱っているかを示す必要が有り、これを示すのが「バージョン設定範囲」である。
(Improvement-1) Expansion of contents of editing record “Edited contents” include “version setting range” and “invariant confirmation range” described in detail later in addition to the general edited contents and “edited version” described above. Can be included in the edited content. When setting a version in the DB part (s), it is necessary to indicate which part of the version is being handled, and this is the “version setting range”.

編集内容に、一般的な編集内容に加え、編集バージョン、バージョン設定範囲、不変確認範囲、を記録するとこれらの情報の扱いが単純になるが、必ずしも編集内容に記録する必要は無い。分けて記録してもこれらの対応が他の計算機で把握できれば良い。 In addition to general editing contents, the editing version, version setting range, and invariant confirmation range are recorded in the editing contents, but the handling of these information becomes simple. However, it is not always necessary to record the editing contents. Even if they are recorded separately, it is sufficient if these correspondences can be grasped by other computers.

(改良−2)不変確認範囲の導入
「不変確認範囲」は、この編集に影響を与える範囲であり、この範囲の情報の値が変更されることは、この編集が無意味になる事を示している。「不変確認範囲」はDBが扱う情報、特にその編集する対象の情報の特性に応じて様々な指定が可能であるが、編集対象の情報を「不変確認範囲」に入れるのは自然である。リレーショナルDB(以下「RDB」)の場合には、編集対象のテーブル、編集対象と論理的に関連しているテーブル群、そのなかの一部のレコード、またはDB全体などが想定される。
(Improved-2) Introduction of invariant confirmation range "Invariant confirmation range" is a range that affects this editing, and changing the value of information in this range indicates that this editing becomes meaningless. ing. The “invariant confirmation range” can be variously specified in accordance with the information handled by the DB, particularly the characteristics of the information to be edited, but it is natural to put the information to be edited in the “invariant confirmation range”. In the case of a relational DB (hereinafter “RDB”), a table to be edited, a group of tables logically related to the object to be edited, a part of the records, or the entire DB is assumed.

(改良−3)編集記録とその順番の操作
サーバーに記録する編集記録とその順番は、必ずしもPCがアップしたままの内容と順番である必要は無い。編集記録とその順番が全てのPCで同じであれば、これらの編集記録を適用したローカル原本DBは編集記録の順番を共通の時間軸として同期する。
(Improved-3) Edit record and its order The edit record to be recorded in the operation server and its order do not necessarily have to be the contents and the order in which the PC is up. If the edit records and the order thereof are the same for all PCs, the local original DB to which these edit records are applied synchronizes with the order of the edit records as a common time axis.

サーバー又は、管理業務を担当するPCが編集記録の内容を分析し、エラーとなって無効とされる部分や、冗長な(結局は何もしないのと同じ)部分を削除しても良い。エラーの編集記録や冗長な編集記録を削除し、結果としてその編集記録が削除されても問題は無い。編集記録の順番を変更しても、全てのPCでの(ローカル原本DBの更新)処理に用いる順番が同じなら、編集記録の順番を共通の時間軸として各PCのローカル原本DBが同期する。 The server or the PC in charge of management work may analyze the contents of the editing record, and delete a portion that becomes invalid due to an error or a redundant portion (same as doing nothing after all). There is no problem even if an error edit record or redundant edit record is deleted and the edit record is deleted as a result. Even if the order of editing and recording is changed, if the order used for (update of local original DB) processing in all PCs is the same, the local original DB of each PC is synchronized using the order of editing and recording as a common time axis.

(改良−4)バージョン設定範囲の導入
バージョンを付与し編集を管理する単位は実際のDBである必要は無い。情報修正の影響が密接に関係している部分を特定して「バージョン設定範囲」とし、これ毎にバージョンを設定すれば、その範囲に関する編集とバージョンの推移を管理するのが容易になる。
(Improvement-4) A unit for assigning an introductory version of the version setting range and managing editing does not have to be an actual DB. If a part closely related to the influence of information correction is identified and set as a “version setting range”, and a version is set for each, it becomes easy to manage editing and version transition for that range.

バージョン設定範囲の設定はDBが扱う情報の構造や内容に依存するので、これらの知識無くして決定する事は出来ないが、RDBの場合にはレコード、テーブル、テーブルと論理的に関連しているテーブル群、そのなかの特定のレコード群、DB全体などが想定される。 Since the setting of the version setting range depends on the structure and contents of information handled by the DB, it cannot be determined without such knowledge, but in the case of RDB, it is logically related to records, tables, and tables. A table group, a specific record group among them, an entire DB, and the like are assumed.

DBをバージョン設定範囲と読み替える事により、本明細書で説明した手順をそのまま適用する事が出来る。なお、複数のバージョン設定範囲に対する編集の記録が、ひとつの編集記録の中に一緒に記載されていても問題は無い。バージョン設定範囲毎に「編集内容」「編集バージョン」「不変確認範囲」などが記載されていれば良い。 By replacing DB with the version setting range, the procedure described in this specification can be applied as it is. Note that there is no problem even if editing records for a plurality of version setting ranges are described together in one editing record. For each version setting range, “edited contents”, “edited version”, “invariable confirmation range”, etc. may be described.

医療の個人情報を例に説明する。医療情報のDBで、個人の医療記録の固まりをバージョン設定範囲の設定として設定する。テーブルの1行又は数行が個人の情報なら、これに対してバージョンを設定する。DBには、多数の個人情報があり、それぞれにバージョンを設定する。編集記録には、個人に対応する「編集内容」「編集バージョン」「不変確認範囲」のセットが単数または複数存在する。「不変確認範囲」はこの個人記録全体でも、修正した情報(RDBならレコード)に限定しても、修正内容に応じて適切に設定すれば良い。個人情報毎にテーブルを構成していれば、テーブル毎にバージョンが設定される。 The medical personal information will be described as an example. In the medical information DB, a set of personal medical records is set as the setting of the version setting range. If one or more rows in the table are personal information, a version is set for this. The DB has a lot of personal information, and a version is set for each. In the edit record, there are one or more sets of “edit contents”, “edit version”, and “invariant confirmation range” corresponding to the individual. The “invariant confirmation range” may be set appropriately in accordance with the correction contents, whether it is the entire personal record or limited to the corrected information (record in the case of RDB). If a table is configured for each personal information, a version is set for each table.

医療情報だけでなく、社会保証や銀行口座やローンなどの情報を個人毎に管理する事にも利用出来る。複数の部署で編集すると思われる犯罪者情報の管理にも使える。さらには、住民みずから一部のデータの編集が可能な「発展した形態の住民基本台帳の管理」など、個人対応の情報を扱う場合にも便利である。「(改良−8)ローカル原本DBの守備範囲の限定」で説明する様に、PC毎にその権限で読み込める範囲の個人情報についてのローカル原本DBを作成する事として、権限の範囲内の情報のみがこのPCに送られるなら、権限外の情報がハッキングされる恐れも無い。 In addition to medical information, it can also be used to manage information such as social guarantees, bank accounts and loans for each individual. It can also be used to manage criminal information that seems to be edited by multiple departments. Furthermore, it is also convenient when handling personal information such as “Management of the Basic Resident Register in a developed form” where some data can be edited by the residents. As explained in “(Improved-8) Limitation of Defense Range of Local Original DB”, creating a local original DB for personal information in the range that can be read with the authority for each PC, only information within the scope of authority. Is sent to this PC, there is no risk of unauthorized information being hacked.

なお、特定のPC(の操作者)にとってはサーバーに集められた編集記録の多くは必要無い場合は、ローカル原本DBがグローバル原本DBの一部のみと同期していれば十分である。これに対応するには、PCで全ての編集記録を受信した後で、不要な編集記録をスキップするのがひとつの方法である。サーバー側でPC毎に必要な編集記録を抜いて送ると通信量が少なくなる。不必要な編集記録が混ざっていてもPC側の処理で除外すれば問題は無い。編集情報に記録されたバージョン設定範囲を元にして、サーバーの管理する編集記録を分類しておくとPCに送るべき編集記録を迅速に判定する事が出来る。 Note that if a particular PC (operator) does not need many of the editing records collected on the server, it is sufficient that the local original DB is synchronized with only a part of the global original DB. To cope with this, one method is to skip unnecessary editing records after all editing records are received by the PC. The amount of communication is reduced if the necessary editing records are extracted and sent for each PC on the server side. If unnecessary editing records are mixed, there is no problem if they are excluded by the processing on the PC side. If the edit records managed by the server are classified based on the version setting range recorded in the edit information, the edit records to be sent to the PC can be quickly determined.

(改良−5)バージョン付与のタイミング
DB原本(グローバル原本DB又はローカル原本DB)の全体又はやバージョン設定範囲に対してバージョンが付与されるが、その付与方法は、扱う情報の特性や運用の都合に応じて選択する事が出来る。
(Improved-5) Version grant timing A version is assigned to the whole DB original (global original DB or local original DB) or to the version setting range. Can be selected according to

実際にローカル原本DBの内容が更新された場合にバージョンを更新しても良いし、有効な更新の有無に関係なく、変更記録で原本DBの変更を試みる毎にバージョンを更新しても良い。 The version may be updated when the contents of the local original DB are actually updated, or the version may be updated every time an attempt is made to change the original DB in the change record regardless of whether there is a valid update.

(改良−6)編集のサーバー受け付け時刻をバージョンとする発展
サーバーが編集を受け付けた時刻をバージョンとして利用しても良い。本明細書で説明したバージョンはこの受け付け時刻と読み替える事になる。先に、バージョンは一連の順番を識別するための順序数と説明したが、時刻も順序を表すので何ら問題は無い。
(Improved-6) The time when the development server accepts editing as the version may be used as the version. The version described in this specification will be read as this reception time. Previously, the version was described as an order number for identifying a sequence, but there is no problem because the time also represents the order.

(改良−7)サーバーへの同期アクセス時刻をバージョンとする発展
PCが、サーバーにアクセスし、未受信の編集記録の有無を確認した時刻を(サーバーなどから)取得し、その時刻をバージョンとする方法も可能である。この確認毎に、未受信の編集記録が無くてもローカル原本DBの新たなこの時刻をバージョンとして設定する。未受信の編集記録が有れば、これらを受信しこれらを用いてローカル原本DBを更新し、そしてこの時刻をローカル原本DBのバージョンとして設定する。同期アクセスがより新しいローカル原本DBに対する編集が優先されるので、一つのDBを競争で操作する関係者にとって理解しやすくまた納得出来るルールである。
(Improved-7) The development PC with the version of the synchronous access time to the server acquires the time (from the server, etc.) that accesses the server and confirms whether there is an unreceived edit record, and uses that time as the version. A method is also possible. For each confirmation, a new time of the local original DB is set as a version even if there is no unreceived edit record. If there are unreceived editing records, these are received, the local original DB is updated using them, and this time is set as the version of the local original DB. Since editing to a local original DB with a newer synchronous access is given priority, it is a rule that can be easily understood and understood by those who operate one DB in competition.

(改良−8)ローカル原本DBの守備範囲の限定
ローカル原本DBが、(仮想の又は実在する)グローバル原本DBの全体と同期すると仮定すると、説明は簡単である。しかし、ローカル原本DBが扱う範囲はグローバル原本DB一部分とした方が、実用的である。医療情報に限らず、一般にDB全体は巨大であるが、前記「(改良−4)バージョン設定範囲の導入」で説明した様に、個々の個人情報毎の集合体である。患者自身の計算機のローカル原本DBはこの患者の情報のみが有れば良いし、医師の計算機のローカル原本DBは受け持ちの患者の情報のみがあれば良い。つまり、ローカル原本DBは、グローバル原本DB全体と同期している必要は無く、その必要な一部分と同期していれば十分である。これにより、ローカル原本DBのサイズは小さくなり、その同期(内容を最新に保つ)操作は軽快になる。
(Improved-8) Limitation of Defensive Range of Local Original DB Assuming that the local original DB is synchronized with the whole (virtual or real) global original DB, the description is simple. However, it is more practical that the range handled by the local original DB is a part of the global original DB. In general, the entire DB is not limited to medical information, but as described above in “(Improvement-4) introduction of version setting range”, it is an aggregate of individual information. The local original DB of the patient's own computer only needs to have this patient information, and the local original DB of the doctor's computer need only have the information of the patient in charge. That is, the local original DB does not need to be synchronized with the entire global original DB, and it is sufficient if it is synchronized with a necessary part thereof. As a result, the size of the local original DB is reduced, and the synchronization (keeping the contents up to date) becomes light.

(改良−9)編集記録の順番付与のバリエーション
順番を管理するサーバー(又はPC)を置く。編集記録を作成したPCはこのサーバーに順番を問い合わせ、指定された順番を編集記録に書き込む。編集記録自体はPCの間で直接送信したとしても、ここに書かれている順番はユニーク(一意)である。順番の替わりに時間を編集記録に記入して、順番として用いても良い。なお、PC毎の時間のずれが生じる事を考え、特定のPCが時間を管理するなどの工夫が必要である。
(Improved-9) A server (or PC) for managing the variation order of the edit record ordering is placed. The PC that created the edit record queries this server for the order and writes the specified order to the edit record. Even if the edit records themselves are directly transmitted between the PCs, the order written here is unique. Instead of the order, the time may be entered in the editing record and used as the order. In consideration of the occurrence of a time lag for each PC, it is necessary to devise such that a specific PC manages the time.

(改良−10)編集の一時的な禁止
DBのデータ構造自体を変更するなど、他の計算機と並行して編集を行う事が出来ない場合には、他の編集を一時的に禁止すると都合が良い。以下では説明のため、ある編集(X)について、この編集との並行編集を禁止する状況を想定する。つまりXの編集開始からXの編集が完了してサーバーにアップされるまでの期間を、他のPCの「編集禁止期間」とする。Xのサーバーへのアップの後で、この編集記録(X)記録を取り込んだ後のローカル原本DBに対する並行DB編集から禁止が解除される。
(Improvement-10) Temporary prohibition of editing If editing cannot be performed in parallel with other computers, such as changing the data structure of the DB itself, it is convenient to temporarily prohibit other editing. good. In the following, for the sake of explanation, it is assumed that a certain editing (X) is prohibited from parallel editing with this editing. In other words, the period from the start of X editing until the X editing is completed and uploaded to the server is defined as the “editing prohibition period” of another PC. After the X is uploaded to the server, the prohibition is canceled from the parallel DB editing on the local original DB after taking in the editing record (X) record.

ひとつの方法は、サーバーがこの禁止区間にアップされた編集を無効とする方法である。Xの編集を生かし、かつ矛盾を起こさない確実な方法である。しかし、この無効とされた編集を作成した側の労力は無駄になる。 One method is a method in which the server invalidates the editing that has been uploaded to the prohibited section. It is a reliable method that makes use of X editing and does not cause contradictions. However, the effort on the side of creating this invalidated edit is wasted.

禁止区間であることを伝えるのが、もうひとつの方法である。編集Xを行うPCから他のPCに直接伝えても良いし、編集Xを行うPCから、サーバーに伝えて、サーバーから各PCに伝えても良い。 Another way is to tell you that it is a prohibited zone. The PC that performs the editing X may be directly transmitted to another PC, or the PC that performs the editing X may be transmitted to the server and may be transmitted from the server to each PC.

編集Xを行うPCは、編集Xを行う前に最新の編集記録をサーバーに要求する時点で、他のPCの編集禁止をサーバーに伝えておく。最新の編集記録をサーバーに要求したPCに対し、サーバーから編集禁止を通知しても、未受信の編集記録の問い合わせなどに対する応答と一緒に通知しても良い。 The PC that performs editing X informs the server that editing of other PCs is prohibited at the time of requesting the server for the latest editing record before performing editing X. The server that requested the latest editing record to the server may be notified of the prohibition of editing from the server, or may be notified together with a response to an inquiry about an unreceived editing record.

「サーバーから編集禁止が通知された場合」には、このPCはローカル原本DBの更新を行っても、編集は行わない。そして、改めて、最新の編集記録をサーバーに要求し、それに対して編集記録Xまでが送られ、これと同時に編集禁止解除が通知される。このPCは編集記録Xでローカル原本DBを更新した後、これに対する編集を開始する。 In the case where “edit prohibition is notified from the server”, this PC does not perform editing even if the local original DB is updated. Then, the server requests the server for the latest editing record, and sends up to the editing record X. At the same time, the release of the prohibition of editing is notified. After updating the local original DB with the edit record X, this PC starts editing for this.

PCT/JP2009/002491出願時の請求項との対応>
本明細書の並行編集とは、(実在の又は仮想の)グローバル原本DB(直感的にはDB原本)の情報の全部または一部の複製を、PCの内部にローカル原本DB(直感的には「複製DB」)として保持し、これに対して編集を行う事である。各PCが保持する複製DBに対する編集情報を、PCが相互に交換してそれぞれの複製DBを更新する。なぜ各PCの複製DBが同期するかと言うと、各PCが同じ編集情報を同じ順番で用いてそれぞれの複製DBを更新するからである。これを表現したのがPCT/JP2009/002491出願時の請求項1である。PCT/JP2009/002491出願時の請求項2はPCT/JP2009/002491出願時の請求項1を装置で表現したものである。
<Correspondence with Claims at PCT / JP2009 / 002491 Application>
Parallel editing in this specification means that a copy of all or part of information in a global original DB (real or virtual) (intuitively DB original) is stored in a local original DB (intuitively in a PC). It is held as “Duplicate DB”) and edited. Editing information on the duplicate DB held by each PC is exchanged by the PC to update each duplicate DB. The reason why the replicated DBs of each PC are synchronized is that each PC updates each replicated DB using the same editing information in the same order. This is expressed in claim 1 at the time of filing PCT / JP2009 / 002491 . Claim 2 at the time of filing of PCT / JP2009 / 002491 is a device representation of claim 1 at the time of filing of PCT / JP2009 / 002491 .

PCT/JP2009/002491出願時の請求項1は「データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B)該複製に対して行った編集の編集記録を他の装置に送信する工程と、(C)該複製に対する編集記録を他の装置から受信する工程と、(D)編集記録に指定されている順番、又は外部から指定された順番で、編集記録を取り出し、該編集記録を用いてデータベースの該複製を更新する、一連の手順を実行する工程、を有する事を特徴とする方法」であり、PCT/JP2009/002491出願時の請求項2は「データベースの編集装置であって、(A)データベースの全部または一部分の複製を保持する手段と、(B)該複製に対して行った編集の編集記録を他の装置に送信する手段と、(C)該複製に対する編集記録を他の装置から受信する手段と、(D)編集記録に指定されている順番、又は外部から指定された順番で、編集記録を取り出し、該編集記録を用いてデータベースの該複製を更新する、一連の手順を実行する手段、を有する事を特徴とする方法」である。Claim 1 at the time of filing PCT / JP2009 / 002491 is “a database editing method, (A) holding a copy of all or a part of the database, and (B) recording edits of edits made on the copy. A process of transmitting to another apparatus; (C) a process of receiving an edit record for the copy from another apparatus; and (D) an edit record in the order specified in the edit record or in the order specified from the outside. And a step of executing a series of procedures for updating the copy of the database using the editing record, and claim 2 at the time of filing PCT / JP2009 / 002491 is “ A database editing device, wherein (A) means for holding a copy of all or part of the database, and (B) an editing record of edits made on the copy is transmitted to another device. Means, (C) means for receiving an edit record for the copy from another device, and (D) taking out the edit record in the order designated in the edit record or the order designated from the outside, and the edit record And a means for executing a series of procedures for updating the replica of the database by using "."

PCT/JP2009/002491出願時の請求項1の工程Dに編集記録の有効性を確認する手順を加えたのがPCT/JP2009/002491出願時の請求項3である。PCT/JP2009/002491出願時の請求項4は編集に影響を与える「不変確認範囲」の概念をPCT/JP2009/002491出願時の請求項3追加し、これを用いて、編集記録の有効性確認を行う事を示したものである。PCT/JP2009/002491出願時の請求項5は複製DBのバージョンの概念をPCT/JP2009/002491出願時の請求項3追加し、これを用いて、編集記録の有効性確認を行う事を示したものである。PCT/JP2009/002491出願時の請求項6はバージョンが複製DBの一部の情報又は情報の組み合わせに指定されている場合のものである。 Claim 3 at the time of filing of PCT / JP2009 / 002491 is a process for confirming the validity of the edit record added to step D of claim 1 at the time of filing of PCT / JP2009 / 002491 . Claim 4 at the time of filing of PCT / JP2009 / 002491 adds claim 3 at the time of filing of PCT / JP2009 / 002491 that adds to the concept of “invariant confirmation range” that affects editing, and uses this to confirm the validity of editing records. It is shown to do. Claim 5 at the time of filing of PCT / JP2009 / 002491 added claim 3 at the time of filing of PCT / JP2009 / 002491 to the concept of the version of duplicate DB, and it was shown that the validity of the edit record is confirmed using this. Is. Claim 6 at the time of filing PCT / JP2009 / 002491 is the case where the version is designated as a part of information or a combination of information in the duplicate DB.

PCT/JP2009/002491出願時の請求項3は「データベースの編集方法であって、データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B)該複製に対して行った編集の編集記録を他の装置に送信する工程と、(C)該複製に対する編集記録を他の装置から受信する工程と、(D1)編集記録に指定されている順番、又は外部から指定された順番で、 編集記録を取り出し、該編集記録の有効性の判定を行い、有効と判定された該編集記録を用いてデータベースの該複製を更新する、一連の手順を実行する工程、を有する事を特徴とする方法」である。Claim 3 at the time of filing PCT / JP2009 / 002491 is “a database editing method, which is a database editing method, (A) holds a copy of all or a part of a database, and (B) (C) a step of sending an edit record for the copy to the other device, (C) a step of receiving an edit record for the copy from the other device, and (D1) the order specified in the edit record, or from the outside A step of executing a series of steps of retrieving edit records in a designated order, determining the validity of the edit records, and updating the copy of the database using the edit records determined to be valid. It is a method characterized by having ".

PCT/JP2009/002491出願時の請求項4は「データベースの編集方法であって、(B1)該複製に対して行った編集の編集記録に、この編集に影響を与える情報の範囲を示した「不変確認範囲」を対応させ、該編集記録を他の装置に送信する工程と、(C1)該複製に対する編集記録と、該編集記録に対応する不変確認範囲を、他の装置から受信する工程と、(D2)編集記録に指定されている順番、又は外部から指定された順番で、 編集記録を取り出し、該編集記録に対応した「不変確認範囲」を用いて該編集記録の有効性の判定を行い、有効と判定された該編集記録を用いてデータベースの該複製を更新する、一連の手順を実行する工程、を有する事を特徴とする方法」である。Claim 4 at the time of filing of PCT / JP2009 / 002491 is “a database editing method, (B1) shows the range of information affecting the editing in the editing record of the editing performed on the duplicate” (C1) receiving an edit record for the copy, and an invariant check range corresponding to the edit record from another device; (D2) The edit records are taken out in the order specified in the edit record or in the order specified from the outside, and the validity of the edit record is determined using the “invariant confirmation range” corresponding to the edit record. And a step of executing a series of procedures for updating the copy of the database using the editing record determined to be valid.

PCT/JP2009/002491出願時の請求項5は「データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B2)該複製に対して行った編集の編集記録に、該複製に指定されたバージョンを対応させ、該編集記録を他の装置に送信する工程と、(C2)該複製に対する編集記録と、該記録に対応するバージョンを、他の装置から受信する工程と、(D3)編集記録に指定されている順番、又は外部から指定された順番で、編集記録を取り出し、該編集記録に対応したバージョンを用いて該編集記録の有効性の判定を行い、有効と判定された該編集記録を用いてデータベースの該複製を更新しバージョンを更新する、一連の手順を実行する工程、を有する事を特徴とする方法」である。Claim 5 at the time of filing PCT / JP2009 / 002491 is “a database editing method, (A) holding a copy of all or a part of the database, and (B2) editing records of edits made on the copy. A step of associating the designated version with the copy and transmitting the edit record to another device; and (C2) a step of receiving the edit record for the copy and the version corresponding to the record from the other device. (D3) The edit records are taken out in the order specified in the edit record or in the order specified from the outside, and the validity of the edit record is determined using the version corresponding to the edit record. And a step of executing a series of procedures for updating the copy of the database by using the edit record determined to be updated and updating the version ".

PCT/JP2009/002491出願時の請求項6は「データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B3)該複製に対して行った編集の編集記録に、該複製の一部の情報又は情報の組み合わせに指定されているバージョンを対応させ、該編集記録を他の装置に送信する工程と、(C2)該複製に対する編集記録と、該記録に対応するバージョンを、他の装置から受信する工程と、(D3)編集記録に指定されている順番、又は外部から指定された順番で、 編集記録を取り出し、該編集記録に対応したバージョンを用いて該編集記録の有効性の判定を行い、有効と判定された該編集記録を用いてデータベースの該複製を更新しバージョンを更新する、一連の手順を実行する工程、を有する事を特徴とする方法」である。Claim 6 at the time of filing PCT / JP2009 / 002491 is “a database editing method, (A) holds a copy of all or a part of the database, and (B3) records edits made on the copy. A step of associating a version designated to a part of information or a combination of information of the copy and transmitting the edit record to another device; (C2) an edit record for the copy and the record A step of receiving the version from another device; and (D3) taking out the edit record in the order specified in the edit record or the order designated from the outside, and using the version corresponding to the edit record, the edit Performing a series of procedures to determine the validity of the record, update the copy of the database using the edit record determined to be valid, and update the version. Thing is a method which is characterized "the.

PCT/JP2009/002491出願時の請求項7はPCT/JP2009/002491出願時の請求項5をベースに、有効性が否定されても複製DBのバージョンの更新を行う事を追加したものである。PCT/JP2009/002491出願時の請求項8はPCT/JP2009/002491出願時の請求項5をベースに、アップされた編集記録にサーバーがアップ日時を記入するし、PCはこれを複製DBのバージョンとする方法である。PCT/JP2009/002491出願時の請求項9はPCT/JP2009/002491出願時の請求項5をベースに、PCがサーバーにアクセスした時間を(サーバーから貰い)複製DBのバージョンとする方法である。 Claim 7 at the time of filing the PCT / JP2009 / 002491 is based on claim 5 at the time of filing the PCT / JP2009 / 002491 , and is added to update the version of the duplicate DB even if the validity is denied. Claim 8 at the time of filing of PCT / JP2009 / 002491 is based on claim 5 at the time of filing of PCT / JP2009 / 002491 , and the server enters the date and time of the upload in the uploaded edit record. It is a method. Claim 9 at the time of filing the PCT / JP2009 / 002491 is a method of making the time when the PC accessed the server (from the server) the version of the duplicate DB based on the claim 5 at the time of filing the PCT / JP2009 / 002491 .

PCT/JP2009/002491出願時の請求項7は「データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B2)該複製に対して行った編集の編集記録に、該複製に指定されたバージョンを対応させ、該編集記録を他の装置に送信する工程と、(C2)該複製に対する編集記録と、該記録に対応するバージョンを、他の装置から受信する工程と、(D4)編集記録に指定されている順番、又は外部から指定された順番で、 編集記録を取り出し、該編集記録に対応したバージョンを用いて該編集記録の有効性の判定を行い、 データベースの該複製のバージョンを更新し、有効と判定された該編集記録を用いてデータベースの該複製を更新する、一連の手順を実行する工程、を有する事を特徴とする方法」である。Claim 7 at the time of filing PCT / JP2009 / 002491 is “a database editing method, (A) holding a copy of all or part of the database, (B2) A step of associating the designated version with the copy and transmitting the edit record to another device; and (C2) a step of receiving the edit record for the copy and the version corresponding to the record from the other device. (D4) The edit records are taken out in the order specified in the edit record or in the order specified from the outside, and the validity of the edit record is determined using the version corresponding to the edit record, and the database Updating the copy version of the database, and updating the copy of the database using the edit record determined to be valid, and performing a series of procedures. It is that way. "

PCT/JP2009/002491出願時の請求項8は「データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B2)該複製に対して行った編集の編集記録に、該複製に指定されたバージョンを対応させ、該編集記録を他の装置に送信する工程と、Claim 8 at the time of filing PCT / JP2009 / 002491 is “a database editing method, (A) holds a copy of all or a part of the database, and (B2) records edits made on the copy. Associating the designated version with the copy and sending the edit record to another device;
(C3)該複製に対する編集記録と、該記録に対応する日時を、他の装置から受信する工程と、(D5)編集記録に指定されている順番、又は外部から指定された順番で、編集記録を取り出し、該編集記録に対応したバージョンを用いて該編集記録の有効性の判定を行い、有効と判定された該編集記録を用いてデータベースの該複製を更新新し、該編集記録に指定された日時を該複製のバージョンとして設定する、一連の手順を実行する工程、を有する事を特徴とする方法」である。(C3) Edit record for the copy and receiving the date and time corresponding to the record from another device; (D5) Edit record in the order specified in the edit record or in the order specified from the outside And the validity of the edit record is determined using the version corresponding to the edit record, the copy of the database is updated using the edit record determined to be valid, and the edit record is designated. And a step of executing a series of procedures for setting the date and time as the copy version.

PCT/JP2009/002491出願時の請求項9は「データベースの編集方法であって、(A)データベースの全部または一部分の複製を保持し、(B2)該複製に対して行った編集の編集記録に、該複製に指定されたバージョンを対応させ、該編集記録を他の装置に送信する工程と、(C4)該複製に対する編集記録と、該記録に対応するバージョンを、他の装置から受信し、さらに日時を受信する、一連の工程と、(D3)編集記録に指定されている順番、又は外部から指定された順番で、 編集記録を取り出し、該編集記録に対応したバージョンを用いて該編集記録の有効性の判定を行い、有効と判定された該編集記録を用いてデータベースの該複製を更新し、工程C4で受信した該日時を該複製のバージョンとして設定する、一連の手順を実行する工程、を有する事を特徴とする方法」である。Claim 9 at the time of filing PCT / JP2009 / 002491 is “a database editing method, (A) a copy of all or part of a database is held, and (B2) an edit record of edits performed on the copy is recorded. A step of associating the version designated for the copy and transmitting the edit record to another device; (C4) receiving the edit record for the copy and the version corresponding to the record from the other device; Further, a series of steps of receiving the date and time, and (D3) taking out the edit record in the order specified in the edit record or the order designated from the outside, and using the version corresponding to the edit record, the edit record Determining the validity of the database, updating the copy of the database using the edit record determined to be valid, and setting the date and time received in step C4 as the version of the copy; Performing a procedure of the communication, it is a method, "which is characterized in that it has a.

サーバーDBアクセスでは、サーバーとの通信が不可能な状況ではデータへのアクセスは出来ない問題があった。移動体では通信不可能なケースが頻発しDB操作に大きな制限となる。災害時の救援、医療、金融などいわゆるミッションクリティカルな業務では通信不可能な状況下でも業務遂行が求められるが、これに応える事は出来ない。 Server DB access has a problem that data cannot be accessed in a situation where communication with the server is impossible. Cases in which communication is impossible with a mobile object frequently occur, which greatly restricts DB operations. In so-called mission-critical operations such as disaster relief, medical care, and finance, business execution is required even in situations where communication is impossible, but this cannot be met.

この問題を解決するのが並行DB編集であるが、キャシュの技術をベースにした方法にはいくつかの問題が指摘されていた。 Parallel DB editing solves this problem, but several problems have been pointed out in the method based on the cache technology.

本願では、仮想の又は実在のグローバル原本DB、と同期したローカル原本DBを作成し、永続的なキャシュとして用いる。そして、ローカル原本DBに対する編集を行う直前など、必要な時にローカル原本DBをグローバル原本DBと同期する。これにより、編集毎にコピーを作成する従来の方法のオーバーヘッドやキャシュ有効性の判定などの問題が解決される。 In the present application, a local original DB synchronized with a virtual or real global original DB is created and used as a permanent cache. Then, the local original DB is synchronized with the global original DB when necessary, such as immediately before editing the local original DB. As a result, problems such as the overhead of the conventional method of creating a copy for each editing and the determination of the cache validity are solved.

また、あるPCが過去に操作した情報が他のPCの操作により変更された事を検出するのは、従来の方法では困難であったが、この本格的な「並行DBアクセス編集」で容易に検出する事が可能になった。情報の編集状況を操作者が精査した上で、適切な対応を取ることが出来る。無効になったデータを再入力する事も、一部修正して再入力することも、最新のデータを修正する事も、無効とされたことを受け入れることも可能である。 In addition, it is difficult to detect that information operated by a PC in the past has been changed by the operation of another PC, but this full-scale "parallel DB access editing" makes it easy. It became possible to detect. Appropriate action can be taken after the operator carefully examines the information editing status. The invalidated data can be re-inputted, partly corrected and re-inputted, the latest data can be corrected, or the invalidated data can be accepted.

さらに、ローカル原本DBが保持し同期する対象はグローバル原本DBの全体である必要は無く、その計算機に必要な一部の情報のみで良い。例えば、医療情報なら患者の計算機のローカル原本DBはこの患者個人の医療情報のみを保持し、医者の計算機のローカル原本DBには担当患者の医療情報のみを保持する。これにより、従来の方法で問題であったキャシュの適正量の問題も解決される。 Furthermore, the object to be held and synchronized by the local original DB does not have to be the entire global original DB, but only a part of information necessary for the computer. For example, in the case of medical information, the local original DB of the patient computer holds only the medical information of the individual patient, and the local original DB of the doctor computer holds only the medical information of the patient in charge. This solves the problem of the appropriate amount of cache, which was a problem with the conventional method.

「編集記録の有効性の判定」と「ローカル原本DBの更新」などの処理をサーバーで無くPCで行う事の長所として、以下が挙げられる。
(1)必要な編集記録とその順番を取り込んでしまえば、サーバーとの通信が不要なので、その後の利用者の操作に対応するレスポンスが早くなる。
(2)ローカル原本DBを更新する処理がこのPCで行われるので、特定の編集から影響を受ける情報(レコード)の範囲をきめ細かく調査する事ができる。また、操作者の要求に応じてより詳しい情報を表示する事が出来る。
(3)一般に、個々の計算機の計算能力は余っている事が多く、処理負荷が集中するサーバーに処理を置くよりも処理が高速になる。上記(1)との相乗効果で利用者の操作に対応するレスポンスが早くなる。
Advantages of performing processing such as “determination of validity of editing record” and “update of local original DB” on the PC instead of the server are as follows.
(1) If the necessary editing records and their order are taken in, communication with the server is unnecessary, and the response corresponding to the subsequent user operation is quickened.
(2) Since the process of updating the local original DB is performed on this PC, the range of information (records) affected by specific editing can be investigated in detail. Further, more detailed information can be displayed according to the operator's request.
(3) Generally, the computing power of individual computers is often surplus, and the processing is faster than placing processing on a server where processing load is concentrated. The response corresponding to the user's operation is accelerated due to the synergistic effect with the above (1).

また、ローカル原本DBの更新の間隔を調整する事により、「ほぼオンライン運用」から「ほぼオンライン運用」まで、自由に選択出来る。編集アクセスの多い情報を扱う場合は頻繁にローカル原本DBの更新を行う「ほぼオンライン運用」を行えば良いし、支払伝票の入力の様に、修正が無いか修正があってもデータを入力した計算機で行う事が多い場合には、ローカル原本DBの更新の間隔を極端に延ばした「ほぼオフライン運用」で問題は無い。決算や検査が近くなってから編集をアップしても問題は無い。 In addition, by adjusting the update interval of the local original DB, it is possible to freely select from “almost online operation” to “almost online operation”. When handling information with a lot of editing access, it is sufficient to perform “almost online operation” that frequently updates the local original DB, and data is entered even if there is no correction or correction, such as payment slip input. When there are many cases that are performed by a computer, there is no problem in “almost offline operation” in which the update interval of the local original DB is extremely extended. There is no problem even if the editing is uploaded after the closing of accounts and inspections.

複数のPCがそれぞれの事情に応じて「ほぼオンライン運用」か「ほぼオンライン運用」が選択でき、両者が混在して運用出来るのも都合が良い。 It is convenient for a plurality of PCs to select “almost online operation” or “almost online operation” depending on the circumstances, and to operate both in a mixed manner.

一般的な計算機の構成General computer configuration PCとサーバーの関係Relationship between PC and server ローカル原本DBに対して行った編集の記録をサーバーにアップする工程The process of uploading a record of edits made to the local original DB to the server 編集記録をサーバーから受信する工程The process of receiving edit records from the server 編集記録でローカル原本DBを更新する工程The process of updating the local original DB with the edit record 単純化した実施例Simplified example

本発明の方法は計算機のプログラムとして実現出来る。 The method of the present invention can be realized as a computer program.

図1に典型的な計算機0101の構成を示す。演算装置0103、主記憶装置0104、二次記憶装置0106、入出力装置0107、表示装置0108がバス0109で接続されている。他の計算機とデータを交換する場合は通信装置0102を介して通信網0101に接続する。各請求項で言及している「データベース」が、二次記憶装置0106内のDB0111又は主記憶操作0104の内部のDB0105である。 FIG. 1 shows the configuration of a typical computer 0101. An arithmetic device 0103, a main storage device 0104, a secondary storage device 0106, an input / output device 0107, and a display device 0108 are connected by a bus 0109. When exchanging data with another computer, it connects to the communication network 0101 via the communication device 0102. The “database” mentioned in each claim is the DB 0111 in the secondary storage device 0106 or the DB 0105 in the main storage operation 0104.

プログラムは二次記憶装置0106に記録され、起動されると主記憶操作0104に展開され、プログラムに指定された手順で演算装置0103が動作する。この結果として計算機は、プログラム開発者が意図した動作を実現する手段の集合体に再構成される。 The program is recorded in the secondary storage device 0106. When activated, the program is expanded to the main storage operation 0104, and the arithmetic unit 0103 operates according to the procedure specified in the program. As a result, the computer is reconfigured into a collection of means for realizing the operation intended by the program developer.

プログラムによるDBの操作は、DBの全体または一部を主記憶操作0104に展開してから行うのが一般的である。二次記憶装置0106内のDB0111の全部又は一部を主記憶操作0104に展開したDB0105を操作し、その編集結果を二次記憶装置0106内のDB0111に書き込む。しかし通常は、DBは二次記憶装置0106内に有るとし、主記憶操作0104に展開したDB0105と区別せず議論するので、図2では単に、記憶装置0204, 0205の中のDBとして表示する。 In general, a DB operation by a program is performed after all or a part of the DB is expanded to the main memory operation 0104. The DB 0105 in which all or part of the DB 0111 in the secondary storage device 0106 is expanded to the main memory operation 0104 is operated, and the editing result is written in the DB 0111 in the secondary storage device 0106. However, normally, it is assumed that the DB is in the secondary storage device 0106 and will be discussed without distinction from the DB 0105 expanded in the main storage operation 0104. Therefore, in FIG.

サーバー0203に編集記録0218, 0219を置き、PC0201がこの編集記録を受信し、PCのローカル原本DB0206を更新するケースを図2で説明する。PC0201がインターネットなどの通信網0202を介して、サーバー0203と接続している。一般にPCは複数存在するが、図2では1台のみを示している。 The case where the edit records 0218 and 0219 are placed in the server 0203, the PC 0201 receives the edit record, and the local original DB 0206 of the PC is updated will be described with reference to FIG. A PC 0201 is connected to a server 0203 via a communication network 0202 such as the Internet. In general, there are a plurality of PCs, but only one is shown in FIG.

PC0201には記憶装置0204が有り、ローカル原本DB0206が記録されている。ローカル原本DB0206の初期値は、サーバー0203の記憶装置0205のグローバル初期原本DB0207をコピーしたものである。操作者の指示を受けて編集手段0213が編集を行うが、この時にはローカル原本DB0206を直接編集する事はせず、編集結果を作業DB0209とする。同時に編集記録0208を作成する。この編集記録には、編集バージョンつまり、ローカル原本DBに設定されているバージョンが記録される。 The PC 0201 has a storage device 0204, in which a local original DB 0206 is recorded. The initial value of the local original DB 0206 is a copy of the global initial original DB 0207 of the storage device 0205 of the server 0203. In response to the operator's instruction, the editing unit 0213 performs editing. At this time, the local original DB 0206 is not directly edited, and the editing result is the work DB 0209. At the same time, edit record 0208 is created. In this edit record, an edit version, that is, a version set in the local original DB is recorded.

編集記録0208は送信手段0215により通信網0202を介してサーバー0203に送られる。サーバー0203は受信手段0221により受信し、編集記録10218, 編集記録m0219の列に加えられる。編集記録には編集バージョンなどが記録されている。もし、編集記録とは別に編集バージョンがサーバーに送られてきた場合には、サーバーは両者の対応を記録する。 The edit record 0208 is sent to the server 0203 via the communication network 0202 by the transmission means 0215. The server 0203 is received by the receiving means 0221 and added to the edit record 10218 and edit record m0219 columns. An edit version and the like are recorded in the edit record. If an edit version is sent to the server separately from the edit record, the server records their correspondence.

PC0201がローカル原本DB0206の更新試みる場合は、まずサーバーに未受信の編集記録の送信を要求する。PC0201がそれまでに受信した編集記録の最後のバージョンを通知すると、送受信管理手段がそれ以降の編集記録を選別し、送信手段0220によりサーバーから送る。PCの送信の受信の協調作業は送受信管理手段0217により行われ、サーバーの送信の受信の協調作業は送受信管理手段0222により行われる。 When the PC 0201 attempts to update the local original DB 0206, it first requests the server to transmit an unreceived edit record. When the PC 0201 notifies the last version of the edit record received so far, the transmission / reception management unit selects the subsequent edit record and sends it from the server by the transmission unit 0220. The PC transmission / reception cooperative work is performed by the transmission / reception management unit 0217, and the server transmission / reception cooperative work is performed by the transmission / reception management unit 0222.

PC0201が受信手段0216により受信した編集記録n0210, 編集記録n+12011, 編集記録m0212は記憶装置0204に記録される。更新手段0214がこれらを順番に取り出して、有効性を判定してローカル原本DB0206を更新し、そのバージョンを更新する。 The edit record n0210, edit record n + 12011, and edit record m0212 received by the receiving unit 0216 by the PC 0201 are recorded in the storage device 0204. The update unit 0214 extracts them in order, determines the validity, updates the local original DB 0206, and updates the version.

図3に、PCが保持するローカル原本DBに対して行った編集の記録(つまり「編集記録」)をサーバーにアップする工程を示す。まず「編集記録(のメモリエリア)を確保」0301する。「ローカル原本DB内の編集対象情報を特定」0302し、「この情報が属するバージョン設定範囲を特定し編集記録に記入する」0303。さらに、「このバージョン設定範囲のバージョンを取得し編集記録に記入」0304し、「編集対象の情報に対応する不変確認範囲を特定し編集記録に記入」0305し、「編集対象の情報を特定する情報、編集の中身を編集記録に記入する」0306。そして「ローカル原本DBに、上記編集を適用した作業DBを作成」0307し、「サーバーに編集記録を送る」0308。 FIG. 3 shows a process of uploading an edit record (that is, “edit record”) performed on the local original DB held by the PC to the server. First, “Reserve editing record (memory area)” 0301 is executed. “Identify editing target information in local original DB” 0302 and “Identify the version setting range to which this information belongs and enter it in the editing record” 0303. Furthermore, “Obtain version of this version setting range and fill in edit record” 0304, “Identify invariant confirmation range corresponding to information to be edited and fill in edit record” 0305, “Identify information to be edited Information and editing contents are entered in the edit record "0306. Then, “Create a work DB to which the above editing is applied in the local original DB” 0307 and “Send editing record to server” 0308.

図4に、ローカル原本DBに対する編集記録と、これらに指定された順序を、サーバーから受信する工程を示す。まず「サーバーに前回の最終編集記録を通知」0401し、「サーバーから前回より後の編集記録のリストを受信」0402する。このリストに従って、「編集記録を受信」0403し、「受信した編集記録を未処理編集記録リストにいれる」0404。最後に「編集禁止中を問い合わせる」0405。編集禁止中でも、図5のサーバーから受信した編集記録でローカル原本DBを更新する手段0214は起動するが、編集手段0213(および図3の手順)によるローカル原本DB0206に対する編集とサーバーへの編集記録の送信は行わない。 FIG. 4 shows a step of receiving from the server the editing record for the local original DB and the order designated for them. First, “notify the server of the last editing record of the last time” 0401 and “receive a list of editing records after the previous time from the server” 0402. According to this list, “Receive edit record” 0403 and “Place received edit record in unprocessed edit record list” 0404. Finally, “inquire when editing is prohibited” 0405. Although the editing is prohibited, the means 0214 for updating the local original DB with the editing record received from the server in FIG. 5 is activated, but the editing of the local original DB 0206 by the editing means 0213 (and the procedure in FIG. 3) and the editing record to the server are performed. Do not send.

図5に、サーバーから受信した編集記録でローカル原本DBを更新する更新手段0214の処理工程を示す。「未処理の編集記録リスト(編集記録n0210, 編集記録n+12011, 編集記録m0212のリスト)から編集記録を取り出し」0501、「この編集記録の不変確認範囲と編集バージョンにより、現在のローカル原本DBに対して有効かを判定」0502し、有効ならば「ローカル原本DBを更新」0503し、「ローカル原本DBのバージョンを更新」0504する。これを未処理の編集記録リストの全ての編集記録に対して行う。 FIG. 5 shows the processing steps of the updating means 0214 for updating the local original DB with the edit record received from the server. “Retrieve edit record from unprocessed edit record list (list of edit record n0210, edit record n + 12011, edit record m0212)” 0501, “With the invariable confirmation range and edit version of this edit record, If it is valid, “Update local original DB” 0503 and “Update local original DB version” 0504. This is performed for all edit records in the unprocessed edit record list.

編集記録に、サーバーがこの編集記録を受け付けた時間がその編集バージョンとして記録されていれば、これを更新されたローカル原本DBのバージョンとする。サーバーに未受信の編集記録の有無を問い合わせた日時をバージョンとする場合は、図4の工程でサーバーから時間を取得し、図5の工程の最後(終了の直前)でその時間をローカル原本DBのバージョンとして設定する。 If the time when the server accepted this edit record is recorded as the edit version in the edit record, this is the version of the updated local original DB. When the date when the server is inquired about whether or not there is an unrecorded edit record is used as the version, the time is acquired from the server in the process of FIG. 4, and the time is acquired at the end of the process of FIG. Set as version.

ある実施例におけるバージョンの変化を図6で説明する。図6のDBはRDBで、バージョン設定範囲をDB全体、バージョンは整数、不変確認範囲は編集したレコードのみとしている。また、レコード毎にこのレコードを編集した時点の編集バージョンを「レコードバージョン」として記録し、これを用いて編集の有効性を確認している。 The change in version in one embodiment is illustrated in FIG. The DB in FIG. 6 is an RDB, and the version setting range is the entire DB, the version is an integer, and the invariant confirmation range is only the edited record. The edit version at the time of editing this record is recorded as “record version” for each record, and the validity of the edit is confirmed using this.

PC−A0602とPC−B0603はそれぞれグローバル初期原本DB0604を取得0610, 0611し、それぞれのローカル原本DB0605, 0606としている。サーバーのグローバル初期原本DB0604をコピーしているので、どちらもベースバージョンは0である。その後、サーバー0601に編集1から編集6がアップされているが、これはPC−A0602、PC−B0603以外のPC−がアップした編集である。図2では、PC−A0602はもう一度サーバーにアクセスしその時の最新の編集しその順番を取得している0612。このとき、編集1を取り込むので、ローカル原本DB0605のバージョンは1になる。 The PC-A 0602 and the PC-B 0603 obtain the global initial original DB 0604 0610 and 0611, respectively, and use them as the local original DBs 0605 and 0606, respectively. Since the global initial original DB 0604 of the server is copied, the base version of both is 0. Thereafter, edits 1 to 6 are uploaded to the server 0601. This is an edit uploaded by PCs other than PC-A0602 and PC-B0603. In FIG. 2, PC-A 0602 accesses the server again, and obtains the latest editing order at that time 0612. At this time, since the edit 1 is taken in, the version of the local original DB 0605 becomes 1.

さて、PC−A0602の操作者が、ローカル原本DB0605内のレコードZの複製0608を編集したとする0613。この時、ローカル原本DB0605のベースバージョンが1なので、編集された「レコードZの複製0608」のレコードバージョンが1にセットされる。この編集結果がサーバーにアップされ0614、編集7として記録される。この直後に、PC−A0602は、(既に取得してある)編集1より後にアップされた、編集2から編集6を取得し、さらにPC−A0602先のアップ0614が編集7となった事を確認する。あらかじめ指定された「編集の有効性の判定」に基づき編集7までを順番に調査し、ローカル原本DB0605を更新する。ここでは、編集7が有効と判定されたとし、ローカル原本DB0605のベースバージョンが7になる。 Now, let us say that the operator of the PC-A 0602 has edited the copy 0608 of the record Z in the local original DB 0605 0613. At this time, since the base version of the local original DB 0605 is 1, the record version of the edited “copy of record Z 0608” is set to 1. This edit result is uploaded to the server and recorded as 0614 and edit 7. Immediately after this, PC-A0602 acquires edit 6 from edit 2 that was uploaded after edit 1 (which has already been acquired), and confirms that up 0614 ahead of PC-A0602 has become edit 7. To do. Based on the “determination of editing validity” specified in advance, edits up to edit 7 are examined in order, and the local original DB 0605 is updated. Here, it is determined that edit 7 is valid, and the base version of the local original DB 0605 is 7.

一方、PC−B0603はサーバー0601から、編集1から(この同期0617時点での最新の)編集6を取得し0617、ローカル原本DB0606を更新してベースバージョンを6とする。その後PC−B0603の操作者が、「レコードZの複製0609」を編集した0618とする。この時、「レコードZの複製0609」のレコードバージョンが6になり、編集としてサーバーにアップされ0619、編集8として記録される。 On the other hand, the PC-B 0603 acquires from the server 0601 the edit 6 (latest as of this synchronization 0617) from the edit 1 and updates the local original DB 0606 to 6 as the base version. Thereafter, it is assumed that the operator of the PC-B 0603 edits “Replica 0609 of record Z” 0618. At this time, the record version of “duplicate record Z 0609” becomes 6, and is uploaded to the server as an edit and is recorded as 0619 and edit 8.

その後別のPCから編集9がアップされた後、PC−A0602がサーバー0601にアクセスし、(既に取得してある)編集7より後にアップされた編集8と編集9を取得する0622。そしてローカル原本DB0605に編集8と編集9を順番に適用し、「編集の有効性の判定」を行い、ローカル原本DB0605を更新する。ここでローカル原本DB0608に編集9が反映されるので、製DB0608のベースバージョンが9になる。この時点で、先にPC−B0603が編集したレコードZの複製0609の内容がPC−A0602のローカル原本DB0605で有効になり、先にPC−A0602が編集したレコードZの複製0608内容が無効になった事が(PC−A0602で)判明する。 Thereafter, after the editing 9 is uploaded from another PC, the PC-A 0602 accesses the server 0601 and acquires editing 8 and editing 9 uploaded after editing 7 (already acquired) 0622. Then, edit 8 and edit 9 are sequentially applied to the local original DB 0605 , “edit validity check ” is performed, and the local original DB 0605 is updated. Here, since edit 9 is reflected in the local original DB 0608, the base version of the manufactured DB 0608 becomes 9. At this time, the contents of the copy 0609 of the record Z edited by the PC-B0603 become valid in the local original DB0605 of the PC-A0602, and the contents of the duplicate 0608 of the record Z edited by the PC-A0602 become invalid. It becomes clear (by PC-A0602).

サーバーにデータベースが置かれ、複数の計算機がアクセスする運用が一般的に行われているが、サーバーにアクセス出来ないと編集が出来ないなどの問題もある。本発明は計算機が永続的に複製DBを保持する、いわば本格的な「並行DB編集」を提案しており、サーバーとの接続が不可能なケースが頻発する移動体や、災害時の救援、医療、金融などいわゆるミッションクリティカルな業務に用いる事が出来る。 A database is placed on a server and a plurality of computers access it in general. However, there is a problem that editing is not possible unless the server is accessed. The present invention proposes a full-fledged “parallel DB editing” in which a computer permanently holds a replicated DB, so that a mobile that frequently occurs in a case where it cannot be connected to a server, a disaster relief, It can be used for so-called mission critical tasks such as medical care and finance.

0100 計算機
0102 通信装置
0103 演算装置
0104 主記憶装置
0105 主記憶装置内のDB(データベース)
0106 二次記憶装置
0107 入出力装置
0108 表示装置
0109 バス
0110 通信網
0111 二次記憶装置内のDB(データベース)
0201 PC
0202 インターネットなどの通信網
0203 サーバー
0204 (PCの)記憶装置
0205 (サーバーの)記憶装置
0206 ローカル原本DB
0207 グローバル初期原本DB
0208 編集記録
0209 作業DB
0210 編集記録n
0210 編集記録n+1
0211 編集記録m
0213 編集手段
0214 更新手段
0215 送信手段
0216 受信手段
0217 送受信管理手段
0218 編集記録1
0219 編集記録m
0220 送信手段
0221 受信手段
0222 送受信管理手段
0301 編集記録(のメモリエリア)を確保
0302 ローカル原本DB内の編集対象情報を特定
0303 この情報が属するバージョン設定範囲を特定し編集記録に記入
0304 このバージョン設定範囲のバージョンを取得し編集記録に記入
0305 編集対象の情報に対応する不変確認範囲を特定し編集記録に記入
0306 編集対象の情報を特定する情報、編集の中身を編集記録に記入
0307 ローカル原本DBに上記編集を適用した作業DBを作成
0308 サーバーに編集記録を送る
0401 サーバーに前回の最終編集記録を通知
0402 サーバーから前回より後の編集記録のリストを受信
0403 編集記録を受信
0404 受信した編集記録を未処理編集記録リストにいれる
0405 編集禁止中を問い合わせる
0501 未処理の編集記録リストから編集記録を取り出し
0502 この編集記録の不変確認範囲と編集バージョンにより、現在のローカル原本DBに対して有効かを判定
0503 ローカル原本DBを更新
0504 ローカル原本DBのバージョンを更新
0602 PC−A
0603 PC−B
0604 初期DB
0605 (PC−Aの)ローカル原本DB更新
0606 (PC−Bの)ローカル原本DB更新
0608 (PC−Aの)レコードZの複製
0609 (PC−Bの)レコードZの複製
0610 (PC−Aによる)グローバル初期原本DBの取得
0611 (PC−Bによる)グローバル初期原本DBの取得
0612 (PC−Aによる)同期
0613 (PC−Aの操作者による)編集
0614 (PC−Aによる)編集の送信。つまり編集のアップ。
0616 (PC−Aへの)確認(通知)と(PC−Aによる)同期。なお、同期とは新たな編集とその順番の取得であり、他の記号の説明においても同じである。
0617 (PC−Bによる)同期
0618 (PC−Bの操作者による)編集
0619 (PC−Bによる)編集の送信。つまり編集のアップ。
0621 (PC−Bへの)確認(通知)と(PC−Bによる)同期。
0622 (PC−Bによる)同期
0623 (PC−Bの編集に基づくPC−AのレコードZの複製の)修正
0100 Calculator
0102 Communication device
0103 Arithmetic unit
0104 Main memory
0105 DB (database) in main storage
0106 secondary storage
0107 I / O device
0108 display device
0109 Bus
0110 communication network
0111 DB (database) in secondary storage
0201 PC
0202 Communication network such as the Internet
0203 server
0204 (PC) storage device
0205 (server) storage device
0206 Local original DB
0207 Global Early Original DB
0208 Editing record
0209 Work DB
0210 Editing record n
0210 Editing record n + 1
0211 Editing record
0213 Editing means
0214 Update means
0215 Transmission means
0216 Receiving means
0217 Transmission / reception management means
0218 Editing record 1
0219 Editing record m
0220 Transmission means
0221 Receiving means
0222 Transmission / reception management means
0301 Allocate edit memory (memory area)
0302 Identifies information to be edited in the local original DB
0303 Specify the version setting range to which this information belongs and enter it in the edit record
0304 Get version of this version setting range and fill in edit record
0305 Specify the invariant confirmation range corresponding to the information to be edited and enter it in the edit record
0306 Information that identifies the information to be edited and the contents of the edit are entered in the edit record
0307 Create a work DB that applies the above edits to the local original DB
0308 Send edit record to server
0401 Notify server of last edit record
0402 Receive a list of edit records since last time from server
0403 Receive edit record
0404 Put received edit record in unprocessed edit record list
0405 Queries editing prohibited
0501 Take edit record from unprocessed edit record list
0502 Determines whether this edit record is valid for the current local original DB from the invariant confirmation range and edit version
0503 Update local original DB
0504 Update local original DB version
0602 PC-A
0603 PC-B
0604 Initial DB
0605 Local original DB update (of PC-A)
0606 Local original DB update (of PC-B)
0608 Copy of record Z (PC-A)
0609 Copy of record Z (PC-B)
0610 Acquisition of global initial original DB (by PC-A)
0611 Acquisition of global initial original DB (by PC-B)
0612 Synchronization (by PC-A)
0613 Editing (by PC-A operator)
0614 Send edit (by PC-A). In other words, editing is up.
Confirmation (notification) (to PC-A) and synchronization (by PC-A). The synchronization is new editing and acquisition of the order thereof, and the same applies to the description of other symbols.
0617 Synchronization (by PC-B)
0618 Editing (by PC-B operator)
0619 Send edit (by PC-B). In other words, editing is up.
Confirmation (notification) (to PC-B) and synchronization (by PC-B).
0622 Synchronization (by PC-B)
0623 Modification of PC-A record Z copy based on PC-B edit

Claims (11)

「実在するまたは仮想のデータベース」の全体またはその一部の複製(以下「自複製」)を保持し、該「自複製」の更新を実行する装置(以下「自装置」)であって、
少なくとも、
(A)該「自複製」に対する編集内容(以下「自編集内容」)を作成する手段、
(B1)該「自装置」とは異なる(単数または複数の)装置(以下「他装置」)が保持する(単数または複数の)「該データベースの全体またはその一部の複製」(以下「他複製」)に対し、該「他装置」が作成する(単数または複数の)「編集内容」(以下「他編集内容」)と、
手段(A)で作成される(単数または複数の)該「自編集内容」を、合わせて以下では「編集内容群」とし、
該「編集内容群」の「編集内容」が集められる装置を「サーバー」としたとき、
手段(A)により該「自編集内容」が作成された後に、
該「自装置」から該サーバーに該「自編集内容」を送信する手段、
(C1)該「他編集内容」を該サーバーから受信する手段、
(D1)順番が付けられた、該「編集内容群」の個々の該「編集内容」を、該「順番」で用いて、該「自複製」を更新する手段、
(E1)手段(D1)の該「順番」を特定するための情報であって、該「編集内容群」の個々の該「編集内容」に対応する情報を「個別順番情報」としたとき、
該「編集内容」に対する該「個別順番情報」を、該サーバーから取得する手段、
を有する事を特徴とする自装置。
A device (hereinafter referred to as “own device”) that retains a copy of the entire “real or virtual database” or a part thereof (hereinafter referred to as “self copy”) and executes an update of the “self copy”.
at least,
(A) means for creating edited content (hereinafter referred to as “self-edited content”) for the “self-replicated”;
(B1) “One or more” devices (hereinafter “other devices”) that are different from the “own device” (one or more) “a copy of the entire database or a part thereof” (hereinafter “others”) Copy ”), the“ editing content ”(hereinafter“ other editing content ”) created by the“ other device ”.
The “self-edited content” (one or more) created by the means (A) is collectively referred to as “edited content group” below.
When a device that collects “edit contents” of the “edit contents group” is a “server”,
After the “self-editing content” is created by means (A),
Means for transmitting the “self-editing content” from the “own device” to the server;
(C1) means for receiving the “other editing content” from the server;
(D1) means for updating the “self-replicated” by using the individual “edited contents” of the “edited content group” with the order,
(E1) When the information for specifying the “order” of the means (D1) and corresponding to each “edit content” of the “edit content group” is “individual order information”,
Means for obtaining the “individual order information” for the “editing content” from the server;
Own device characterized by having
「実在するまたは仮想のデータベース」の全体またはその一部の複製(以下「自複製」)を保持するコンピュータ(以下「自コンピュータ」)が、該「自複製」を更新する方法であって、
少なくとも、
(A)該「自複製」に対する編集内容(以下「自編集内容」)を作成する手順、
(B1)該「自装置」とは異なる(単数または複数の)装置(以下「他装置」)が保持する(単数または複数の)「該データベースの全体またはその一部の複製」(以下「他複製」)に対し、該「他装置」が作成する(単数または複数の)「編集内容」(以下「他編集内容」)と、
手順(A)で作成される(単数または複数の)該「自編集内容」を、合わせて以下では「編集内容群」とし、
該「編集内容群」の「編集内容」が集められる装置を「サーバー」としたとき、
手順(A)により該「自編集内容」が作成された後に、
該「自装置」から該サーバーに該「自編集内容」を送信する手順、
(C1)該「他編集内容」を該サーバーから受信する手順、
(D1)順番が付けられた、該「編集内容群」の個々の該「編集内容」を、該「順番」で用いて、該「自複製」を更新する手順、
(E1)手順(D1)の該「順番」を特定するための情報であって、該「編集内容群」の個々の該「編集内容」に対応する情報を「個別順番情報」としたとき、
該「編集内容」に対する該「個別順番情報」を、該サーバーから取得する手順、
を有する事を特徴とする方法。
A computer (hereinafter referred to as “own computer”) that holds a copy of all or a part of a “real or virtual database” (hereinafter referred to as “self-replicated”) updates the “self-replicated”,
at least,
(A) a procedure for creating edited content (hereinafter referred to as “self-edited content”) for the “self-replicated”;
(B1) “One or more” devices (hereinafter “other devices”) that are different from the “own device” (one or more) “a copy of the entire database or a part thereof” (hereinafter “others”) Copy ”), the“ editing content ”(hereinafter“ other editing content ”) created by the“ other device ”.
The “self-edited content” (one or more) created in step (A) will be collectively referred to as “edited content group” below.
When a device that collects “edit contents” of the “edit contents group” is a “server”,
After the “self-editing content” is created in step (A),
A procedure for transmitting the “self-editing content” from the “own device” to the server;
(C1) a procedure for receiving the “other editing content” from the server;
(D1) A procedure for updating the “self-duplicate” by using the individual “edited contents” of the “edited content group” with the order in the “order”;
(E1) Information for specifying the “order” in the procedure (D1), and the information corresponding to each “edit content” in the “edit content group” is “individual order information”.
A procedure for acquiring the “individual order information” for the “edit contents” from the server;
The method characterized by having.
「実在するまたは仮想のデータベース」の全体またはその一部の複製(以下「自複製」)を保持するコンピュータ(以下「自コンピュータ」)に、該「自複製」を更新する機能を実現するためのプログラムであって、
少なくとも、
(A)該「自複製」に対する編集内容(以下「自編集内容」)を作成する機能、
(B1)該「自装置」とは異なる(単数または複数の)装置(以下「他装置」)が保持する(単数または複数の)「該データベースの全体またはその一部の複製(以下「他複製」)」に対し、該「他装置」が作成する(単数または複数の)「編集内容(以下「他編集内容」)」と、
機能(A)で作成される(単数または複数の)該「自編集内容」を、合わせて以下では「編集内容群」とし、
該「編集内容群」の「編集内容」が集められる装置を「サーバー」としたとき、
機能(A)により該「自編集内容」が作成された後に、
該「自装置」から該サーバーに該「自編集内容」を送信する機能、
(C1)該「他編集内容」を該サーバーから受信する機能、
(D1)順番が付けられた、該「編集内容群」の個々の該「編集内容」を、該「順番」で用いて、該「自複製」を更新する機能、
(E1)機能(D1)の該「順番」を特定するための情報であって、該「編集内容群」の個々の該「編集内容」に対応する情報を「個別順番情報」としたとき、
該「編集内容」に対する該「個別順番情報」を、該サーバーから取得する機能、
を実現する事を特徴とするプログラム。
To realize a function of updating the “self-replicating” on a computer (hereinafter “self-computer”) that holds a copy of the entire “real or virtual database” or a part thereof (hereinafter “self-replicating”) A program,
at least,
(A) a function for creating edit contents (hereinafter referred to as “self edit contents”) for the “self copy”;
(B1) “One or more” devices (hereinafter “other devices”) different from the “own device” (one or more) “a copy of the entire database or a part thereof (hereinafter“ other replicas ”) "") "Is created by the" other device "(one or more)" edited content (hereinafter "other edited content") "
The “self-edited content” (one or more) created by the function (A) is collectively referred to as an “edited content group” below.
When a device that collects “edit contents” of the “edit contents group” is a “server”,
After the “self-editing content” is created by the function (A),
A function of transmitting the “self-editing content” from the “own device” to the server;
(C1) a function of receiving the “other editing content” from the server;
(D1) a function of updating the “self-replicated” by using the individual “edited contents” of the “edited content group” in the “order” with the order added;
(E1) Information for specifying the “order” of the function (D1), and when the information corresponding to each “edit content” of the “edit content group” is “individual order information”,
A function of acquiring the “individual order information” for the “editing content” from the server;
A program characterized by realizing
請求項1の自装置であって、
手段(E1)の該「編集内容群」の個々の該「編集内容」に対応する「個別順番情報」が、
個々の該「編集内容」がそれぞれ該サーバーに到着した順番であること、
を特徴とする自装置。
The device of claim 1,
“Individual order information” corresponding to each “edit content” of the “edit content group” of the means (E1)
Each "edited content" is in the order of arrival at the server,
Self-device characterized by.
請求項1の自装置であって、
手段(E1)の該「編集内容群」の個々の該「編集内容」に対応する「個別順番情報」が、
該サーバーにおいて、該「編集内容」に対して設定された順番であること、
を特徴とする自装置。
The device of claim 1,
“Individual order information” corresponding to each “edit content” of the “edit content group” of the means (E1)
In the server, the order is set for the “editing contents”;
Self-device characterized by.
請求項1の自装置であって、
手段(E1)の該「編集内容群」の個々の該「編集内容」に対応する「個別順番情報」が、
個々の該「編集内容」を該サーバーから受信した順番であること、
を特徴とする自装置。
The device of claim 1,
“Individual order information” corresponding to each “edit content” of the “edit content group” of the means (E1)
Each "edited content" is in the order received from the server,
Self-device characterized by.
「実在するまたは仮想のデータベース」の全体またはその一部の複製(以下「自複製」)を保持し、該「自複製」の更新を実行する装置(以下「自装置」)であって、
少なくとも、
(A)該「自複製」に対する編集内容(以下「自編集内容」)を作成する手段、
(B2)手段(A)により該「自編集内容」が作成された後に、該「自装置」から該「自装置」の外部の装置に、該「自編集内容」を送信する手段、
(C2)該「自装置」とは異なる(単数または複数の)装置(以下「他装置」)が保持する(単数または複数の)「該データベースの全体またはその一部の複製」(以下「他複製」)に対し、該「他装置」が作成する(単数または複数の)編集内容を「他編集内容」としたとき、
該「他編集内容」を該「自装置」の外部の装置から受信する手段、
(D2)該「他編集内容」と、手段(A)で作成された(単数または複数の)該「自編集内容」を、合わせて「編集内容群」としたとき、
順番が付けられた、該「編集内容群」の個々の該「編集内容」を、該「順番」で用いて、該「自複製」を更新する手段、
(E2)手段(D2)の該「順番」を特定するための情報であって、該「編集内容群」の個々の該「編集内容」に対応する情報を「個別順番情報」とし、
順序数を発行する装置(以下「サーバー」)が、該「編集内容群」の個々の該「編集内容」に対して発行した、順序数の順番で、
該「編集内容群」の個々の該「編集内容」を用いて、該「自複製」を更新する手段、
を有する事を特徴とする自装置。
A device (hereinafter referred to as “own device”) that retains a copy of the entire “real or virtual database” or a part thereof (hereinafter referred to as “self copy”) and executes an update of the “self copy”.
at least,
(A) means for creating edited content (hereinafter referred to as “self-edited content”) for the “self-replicated”;
(B2) means for transmitting the “self-editing content” from the “self-device” to a device outside the “self-device” after the “self-editing content” is created by the means (A);
(C2) “One or more” devices (hereinafter “other devices”) that are different from the “own device” (one or more) “a copy of the entire database or a part thereof” (hereinafter “others”) Copy ”), the edit content (one or more) created by the“ other device ”is“ other edit content ”.
Means for receiving the “other editing content” from a device external to the “own device”;
(D2) When the “other editing content” and the “self-editing content” (one or more) created by the means (A) are combined into an “editing content group”,
Means for updating the “self-replicated” by using the individual “edited contents” of the “edited content group” in order and using the “order”;
(E2) Information for specifying the “order” of the means (D2), and information corresponding to each “edit content” of the “edit content group” is referred to as “individual order information”,
A device that issues an order number (hereinafter referred to as “server”) issues an order number that is issued to each “edit content” of the “edit content group”.
Means for updating the “self-replicated” using the individual “edited contents” of the “edited content group”;
Own device characterized by having
「実在するまたは仮想のデータベース」の全体またはその一部の複製(以下「自複製」)を保持するコンピュータ(以下「自コンピュータ」)が、該「自複製」を更新する方法であって、
少なくとも、
(A)該「自複製」に対する編集内容(以下「自編集内容」)を作成する手順、
(B2)手順(A)により該「自編集内容」が作成された後に、該「自装置」から該「自装置」の外部の装置に、該「自編集内容」を送信する手順、
(C2)該「自装置」とは異なる(単数または複数の)装置(以下「他装置」)が保持する(単数または複数の)「該データベースの全体またはその一部の複製」(以下「他複製」)に対し、該「他装置」が作成する(単数または複数の)編集内容を「他編集内容」としたとき、
該「他編集内容」を該「自装置」の外部の装置から受信する手順、
(D2)該「他編集内容」と、手順(A)で作成された(単数または複数の)該「自編集内容」を、合わせて「編集内容群」としたとき、
一連の該「編集内容群」を用いて、該「自複製」を更新する手順、
(E2)手順(D2)の該「順番」を特定するための情報であって、該「編集内容群」の個々の該「編集内容」に対応する情報を「個別順番情報」とし、
順序数を発行する装置(以下「サーバー」)が、該「編集内容群」の個々の該「編集内容」に対して発行した、順序数の順番で、
該「編集内容群」の個々の該「編集内容」を用いて、該「自複製」を更新する手順、
を有する事を特徴とする方法。
A computer (hereinafter referred to as “own computer”) that holds a copy of all or a part of a “real or virtual database” (hereinafter referred to as “self-replicated”) updates the “self-replicated”,
at least,
(A) a procedure for creating edited content (hereinafter referred to as “self-edited content”) for the “self-replicated”;
(B2) a procedure of transmitting the “self-editing content” from the “self-device” to a device outside the “self-device” after the “self-editing content” is created by the procedure (A);
(C2) “One or more” devices (hereinafter “other devices”) that are different from the “own device” (one or more) “a copy of the entire database or a part thereof” (hereinafter “others”) Copy ”), the edit content (one or more) created by the“ other device ”is“ other edit content ”.
A procedure for receiving the “other editing content” from a device external to the “own device”;
(D2) When the “other editing content” and the “self-editing content” (one or more) created in the procedure (A) are combined into an “editing content group”,
A procedure for updating the “self-duplicate” using the series of the “edit content group”,
(E2) Information for specifying the “order” in the procedure (D2), and information corresponding to each “edit content” in the “edit content group” is referred to as “individual order information”.
A device that issues an order number (hereinafter referred to as “server”) issues an order number that is issued to each “edit content” of the “edit content group”.
A procedure for updating the “self-duplicate” by using the individual “edit contents” of the “edit contents group”;
The method characterized by having.
「実在するまたは仮想のデータベース」の全体またはその一部の複製(以下「自複製」)を保持するコンピュータ(以下「自コンピュータ」)に、該「自複製」を更新する機能を実現するためのプログラムであって、
少なくとも、
(A)該「自複製」に対する編集内容(以下「自編集内容」)を作成する機能、
(B2)機能(A)により該「自編集内容」が作成された後に、該「自装置」から該「自装置」の外部の装置に、該「自編集内容」を送信する機能、
(C2)該「自装置」とは異なる(単数または複数の)装置(以下「他装置」)が保持する(単数または複数の)「該データベースの全体またはその一部の複製」(以下「他複製」)に対し、該「他装置」が作成する(単数または複数の)編集内容を「他編集内容」としたとき、
該「他編集内容」を該「自装置」の外部の装置から受信する機能、
(D2)該「他編集内容」と、機能(A)で作成された(単数または複数の)該「自編集内容」を、合わせて「編集内容群」としたとき、
一連の該「編集内容群」を用いて、該「自複製」を更新する機能、
(E2)機能(D2)の該「順番」を特定するための情報であって、該「編集内容群」の個々の該「編集内容」に対応する情報を「個別順番情報」とし、
順序数を発行する装置(以下「サーバー」)が、該「編集内容群」の個々の該「編集内容」に対して発行した、順序数の順番で、
該「編集内容群」の個々の該「編集内容」を用いて、該「自複製」を更新する機能、
を実現する事を特徴とするプログラム。
To realize a function of updating the “self-replicating” on a computer (hereinafter “self-computer”) that holds a copy of the entire “real or virtual database” or a part thereof (hereinafter “self-replicating”) A program,
at least,
(A) a function for creating edit contents (hereinafter referred to as “self edit contents”) for the “self copy”;
(B2) a function of transmitting the “self-editing content” from the “self-device” to a device outside the “self-device” after the “self-editing content” is created by the function (A);
(C2) “One or more” devices (hereinafter “other devices”) that are different from the “own device” (one or more) “a copy of the entire database or a part thereof” (hereinafter “others”) Copy ”), the edit content (one or more) created by the“ other device ”is“ other edit content ”.
A function of receiving the “other editing content” from a device external to the “own device”;
(D2) When the “other editing content” and the “self editing content” (one or more) created by the function (A) are combined into an “editing content group”,
A function of updating the “self-replicated” using the series of the “edited content group”;
(E2) Information for specifying the “order” of the function (D2), and information corresponding to each “edit content” of the “edit content group” is referred to as “individual order information”;
A device that issues an order number (hereinafter referred to as “server”) issues an order number that is issued to each “edit content” of the “edit content group”.
A function of updating the “self-replicated” by using the individual “edited contents” of the “edited content group”;
A program characterized by realizing
請求項1に記載の自装置であって、手段(A)で作成される該「編集内容」 が、該「自複製」のコピーに対して行なわれた編集作業の記録である、ことを特徴とする自装置。 2. The own apparatus according to claim 1, wherein the “editing contents” created by the means (A) is a record of editing work performed on a copy of the “self-replicating”. And its own device. 請求項1に記載の自装置であって、手段(D1)において、該「編集内容群」の個々の編集内容の有効性を判定し、有効でないと判定された該「編集内容」による該「自複製」の更新は行わない、ことを特徴とする自装置。 2. The self-apparatus according to claim 1, wherein in the means (D 1), the validity of each edited content of the “edited content group” is determined, and the “edited content” determined to be invalid is the “ Self-replicated device does not update itself.
JP2010260142A 2008-06-04 2010-11-22 Database parallel editing method Expired - Fee Related JP4923140B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010260142A JP4923140B2 (en) 2008-06-04 2010-11-22 Database parallel editing method

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/JP2008/001424 WO2008149552A1 (en) 2007-06-06 2008-06-04 Database contradiction solution method
JPPCT/JP2008/001424 2008-06-04
JPPCT/JP2008/001506 2008-06-12
PCT/JP2008/001506 WO2009147701A1 (en) 2008-01-08 2008-06-12 Parallel access program of database
JP2010260142A JP4923140B2 (en) 2008-06-04 2010-11-22 Database parallel editing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010515775A Division JP4855537B2 (en) 2008-06-04 2009-06-03 Database parallel editing method

Publications (3)

Publication Number Publication Date
JP2011040106A true JP2011040106A (en) 2011-02-24
JP2011040106A5 JP2011040106A5 (en) 2012-01-12
JP4923140B2 JP4923140B2 (en) 2012-04-25

Family

ID=43767715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010260142A Expired - Fee Related JP4923140B2 (en) 2008-06-04 2010-11-22 Database parallel editing method

Country Status (1)

Country Link
JP (1) JP4923140B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100198789A1 (en) 2007-06-06 2010-08-05 Kunio Kamimura Database contradiction solution method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113368A (en) * 1997-06-11 1999-01-06 Nippon Telegr & Teleph Corp <Ntt> Schedule data managing method in distributed environment, its system and storing medium housing schedule data managing program
JPH11219309A (en) * 1997-09-29 1999-08-10 Ricoh Co Ltd Consistency management method in distributed data base system and computer readable medium for recording program for computer to execute each process of the method
JP2000132603A (en) * 1998-10-27 2000-05-12 Nippon Telegr & Teleph Corp <Ntt> Method and device for managing schedule data in distributed environment and recording medium recording schedule data managing program
JP2000339211A (en) * 1999-05-25 2000-12-08 Casio Comput Co Ltd File processor, file processing system and storage medium
JP2004086800A (en) * 2002-08-29 2004-03-18 Mitsubishi Electric Corp Data synchronization system and method therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113368A (en) * 1997-06-11 1999-01-06 Nippon Telegr & Teleph Corp <Ntt> Schedule data managing method in distributed environment, its system and storing medium housing schedule data managing program
JPH11219309A (en) * 1997-09-29 1999-08-10 Ricoh Co Ltd Consistency management method in distributed data base system and computer readable medium for recording program for computer to execute each process of the method
JP2000132603A (en) * 1998-10-27 2000-05-12 Nippon Telegr & Teleph Corp <Ntt> Method and device for managing schedule data in distributed environment and recording medium recording schedule data managing program
JP2000339211A (en) * 1999-05-25 2000-12-08 Casio Comput Co Ltd File processor, file processing system and storage medium
JP2004086800A (en) * 2002-08-29 2004-03-18 Mitsubishi Electric Corp Data synchronization system and method therefor

Also Published As

Publication number Publication date
JP4923140B2 (en) 2012-04-25

Similar Documents

Publication Publication Date Title
KR102579190B1 (en) Backup and restore in distributed databases using consistent database snapshots
CN108932282B (en) Database migration method and device and storage medium
CN109906448B (en) Method, apparatus, and medium for facilitating operations on pluggable databases
US20110082833A1 (en) Database parallel editing method
CN1746893B (en) Transactional file system
US8392386B2 (en) Tracking file contents
CN108021338B (en) System and method for implementing a two-layer commit protocol
US8805924B2 (en) Optimistic concurrency utilizing distributed constraint enforcement
EP2800013B1 (en) Integration database framework
WO2011108695A1 (en) Parallel data processing system, parallel data processing method and program
US11599514B1 (en) Transactional version sets
WO2009147847A1 (en) Database parallel editing method
JP2011150458A (en) Information processor, information processing system, data archiving method and data deletion method
US7194486B2 (en) Method and system for data processing with data replication for the same
US10387384B1 (en) Method and system for semantic metadata compression in a two-tier storage system using copy-on-write
US11709809B1 (en) Tree-based approach for transactionally consistent version sets
JP4855537B2 (en) Database parallel editing method
JP4923140B2 (en) Database parallel editing method
JP5543899B2 (en) Parallel editing method for database data items
JP5543918B2 (en) Conflict resolution method for parallel database editing
CN105989049A (en) Data middle layer realizing method and system
JP5543901B2 (en) Database parallel editing method
US20170177647A1 (en) Parallel database editing
JP4855538B2 (en) Parallel editing method for database data items
CN116909490A (en) Data processing method, device, storage system and computer readable storage medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20111114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111121

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20111118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111205

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees