US20110161292A1 - Method for parallel editing data item of database - Google Patents
Method for parallel editing data item of database Download PDFInfo
- Publication number
- US20110161292A1 US20110161292A1 US12/743,367 US74336709A US2011161292A1 US 20110161292 A1 US20110161292 A1 US 20110161292A1 US 74336709 A US74336709 A US 74336709A US 2011161292 A1 US2011161292 A1 US 2011161292A1
- Authority
- US
- United States
- Prior art keywords
- data
- item
- contents
- duplicate
- editing work
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
Definitions
- the present invention relates to a method of parallel editing work to data item of database (hereinafter “DB”) by two or more computer (s) (hereinafter “PCs”).
- DB database
- PCs computer
- Non-patent literature 1 Non-patent literature 2
- Non-patent literature 3 which are general technical book for DB systems development, shows a procedure by which items of a table are first defined and data will be input after that.
- Patent document 1 first adds or deletes items of a template (paragraph 128) that has already been defined, alters names of these items (paragraph 150), and after that makes a (program utilizing) new table.
- Patent document 2 shows the same concept.
- Patent document 3 relates to a method creating new tables. These discussions on creating table items assume that table items have been created before data input.
- Non-patent literature 5 shows SQL commands. For example, there are “add new column” (P384), “change column type of table” (P389) and “delete a column of table” (P395), and so on.
- Non-patent literature 6 of p. 46-47 shows that columns can be added by command “ALTER, TABLE”.
- Cache technology which creates duplication for working and performs procedure without the lock, is used for effective procedures and communications.
- ADO.NET of Microsoft makes a copy of data that is required for the present work from a server. Next it cut connection with the server and performs an editing work. After editing work, it makes a connection to the server again, and sends contents of editing work to the server. This “contents of editing work” will be repealed, if editing target has been already changed by other PCs. This is called as “Optimistic concurrency control” (Non-patent literature 7 and 8). This can be interpreted that; editing work is repealed when a lock goes wrong as a result. This is a kind of lock.
- Patent documents 11 to 16 show a general level of technology and are different from the present invention.
- the present invention shows mechanism that performs parallel editing work to data item by plural PCs.
- Foundation of the present invention is handling definitions of items of data of DB (hereinafter, “item definition”) as data of DB and treating them as objects of parallel editing work.
- Items of a table hereinafter, a “data table”
- the present invention makes a table (hereinafter, “item table”) that defines items of the data table. This item table will be treated as an object of parallel editing works.
- data table When item table is edited, data table will be updated according to the item table, if necessary.
- item table is direct expression for RDB
- item definition will be used in the claims for more general DBs.
- data table data will be used for expressing more general concept. That is, methods described in this specification by item table and data table will be applied to more general DB.
- Non-patent literatures 10, 11, 12 and 13 show examples other than RDB, such as object-oriented DB and so on.
- a logical inconsistency may occur when the item is set to data that is already input. If the item has choices of male, female or “unknown” that is default, the inconsistency will not occur. This inconsistency will be resolved, if male or female is set as default, or if the item has choices of “male, female or unknown that is a default”.
- duplicated DBs of PCs are same. Because only the server performs confirmation of changing items of data and updates data table structure.
- Each PC has a duplicated DB that synchronizes with (whole of or a part of) imaginary or existing original DB.
- Each PC performs editing work to each duplicated DB.
- PCs exchange their contents of editing work each other.
- each PC updates each duplicated DB.
- important is the sequence of contents of editing work to item table and data table. Results of detecting logical inconsistency by item table or results of updating data table structure differ from each other, if PCs use different sequence of contents of editing work to update duplicated DBs.
- Sequence number is assigned to each set of contents of editing work of parallel editing work, to data table and that to item table of the data table.
- Each PC should take out contents of editing work by this sequence (ordinal) number and should update each duplicated DB. Even if some contents of editing work make a error for a data item, all duplicated DB synchronizes each other because the contents of editing work make same error at every PC.
- each duplicate DB synchronizes each other because each PC updates each duplicated DB by same (changed) sequence of contents of editing work (of same changed contents).
- PC asks an ordinal number to a server (or PC) that manages ordinal numbers.
- PC sets this number to a set of contents of editing work created by this PC. Even if contents of editing work are exchanged among PCs directly, these ordinal numbers are unique.
- sequence number time can be set to a set of contents of editing work. Time can be used as a substitute of sequence number as another ordinal number. In order to avoid confusion by time differences among PCs, we need another trick such that specific PC will be in charge of managing time.
- One method is that the server detects an editorial work during this edit prohibiting period and repeals it. For example, in case that “contents of editing work” are sent up to server, this PC also notifies “prohibition of parallel editing work before the editing work X” to server. By this notification, server repeals “contents of editing work”. Although this is a simple procedure, effort spent for the repealed “editing work” will be useless.
- Another method is that the prohibition is sent to PCs.
- the PC of editing work X directly notifies other PCs, or notifies server and server notifies other PCs. After receiving notification of prohibition of editing work, PC will not perform editing work to duplicated DB. But this PC can update the duplicated DB. After receiving the cancelation of prohibition of editing work, it can start editing works.
- prohibition is a prohibition of editing work by other PCs, to same item table.
- Another is a prohibition of editing work by other PCs, to the data table of which items are defined by the item table.
- Parallel editing work of this specification is to hold duplicate of whole or a part of DB original and to perform editing work to this copy.
- Foundations of the present invention consist of the following: this parallel editing mechanism, a process treating “item definitions for data contained in DB” as data of DB, and a process to reconstruct duplicated data by updated item definitions.
- This is claim 1 .
- Claim 2 is based on claim 1 and manages contents of editing work for duplicated data and duplicated item definition by a single queue.
- Claim 3 beyond claim 2 , further contains a case that one set of contents of editing work has records of modifications to data and records of modifications to items (which is explained in paragraph 47 of this description for FIG. 3 ).
- Claim 4 further contains a process to judge validity of said contents of editing work.
- Claim 5 consists of, a process to hold duplicated data and duplicated item definitions, a process to edit item definitions, and a process to manage contents of editing work for them by a single queue.
- Claim 6 further contains “judging validity of said contents of editing work”.
- Claim 7 consists of claim 5 and a process to halting editing work by other PCs during editing work to the item definitions.
- FIG. 1 Overview of general example
- FIG. 2 Apparatus structure implementing the present invention
- FIG. 6 Procedure to show records of duplicated data TBL based on the contents of duplicated item TBL
- FIG. 8 Figure explaining example procedures
- FIG. 1 shows the overview of general example. This consists of two PCs (PC-A 0101 , PC-B 0102 ) and a server 0103 , which are connected through a communications network such as Internet 0104 . There are “initial item TBL 0106 ” and “initial data TBL 0107 ” in memory Unit 0105 of the server. PCs (PC-A 0101 and PC-B 0102 ) copy them as initial of “duplicated item TBL 0211 ” and as initial of “duplicated data TBL 0212 ”. It is possible that each PC creates an empty table as an initial table.
- a phrase “duplicated TBL” means both of “duplicated item TBL” and “duplicated data TBL”.
- TBL When a PC has performed editing work to duplicated TBL, it sends the “contents of editing work” to the server that records it to memory unit 0105 .
- contents of editing work to item. TBL and contents of editing work to data TBL 0108 , 0109 are set in one line (single queue) by arrival order and are managed.
- PC is constructed from arithmetic unit, main memory unit, secondary memory, input/output unit, communication unit and monitor unit, which are connected each other by bus.
- PC-A 0101 and PC-B 0102 of FIG. 1 read programs that are based on the present invention.
- Each PC acts as aggregate of memory unit 0210 and means shown in FIG. 2 .
- PC 0201 connects to a communications network such as Internet 0202 , by means for communication 0203 . It communicates with server 0210 of the other side.
- Duplicated item TBL 0211 and duplicated data TBL 0212 exist in memory unit 0210 .
- Each “contents of editing work” 0213 , 0214 was created for each editing work to each of them.
- PC receives “contents of editing work” of other PC from the server, and also receives ordinal numbers for this “contents of editing work” from the server.
- PC also receives ordinal numbers for “contents of editing work” made by this PC, from the server.
- “duplicated item TBL” and “duplicated data TBL” are updated by them.
- PC also makes a single line (contents of editing work 0215 , 0216 ) and updates duplicated item TBL 0211 and duplicated data TBL 0212 .
- initial TBLs initial item TBL 0106 and initial data TBL 0107
- initial duplicated TBLs initial duplicated item TBL and initial data TBL 0212
- These jobs will be done when there is no initial duplicated TBL. If there is no initial TBL and if each PC understands that initial TBL is empty, each PC makes an empty duplicated TBL, which will be used as initial duplicated TBL. After operator of PC defines items to empty “duplicated item TBL”, empty data TBL can be created by these item definitions.
- “Means synchronizing duplicated TBL” 0205 receives “contents of editing work” 0106 0107 , performs “judging validity of contents of editing work”, updates contents of duplicated TBLs (duplicated item TBL 0211 and duplicated data TBL 0212 ) by (judged as) valid “contents of editing work”.
- FIG. 3 shows a process by “means making initial duplicated TBL” 0204 and “means synchronizing duplicated TBL” 0205 .
- PC confirms that the server 0103 , 0210 has “contents of editing work” that are not yet received by this PC. If so, PC receives these “contents of editing work” from the server 0304 . And, PC takes out “contents of editing work” received, in order, performs “confirming validity of contents of editing work” 0306 . If valid, PC updates duplicated item TBL 0307 or updates duplicated data TBL according to each target of “contents of editing work”.
- FIG. 3 shows a procedure for a case that one “contents of editing work” has editing work either of a duplicated item TBL or a duplicated data TBL.
- One “contents of editing work” can contain both types of “contents of editing work”.
- “Means making contents of editing work for duplicated TBL” performs editing work to duplicated item TBL 0211 and duplicated data TBL 0212 . These “contents of editing work” will be sending up to the server, by “means sending up contents of editing work to server” 0207 .
- FIG. 4 shows this procedure. At first, “specify contents of editing work” 0401 is performed. Next, “set a version of duplicated TBL (or duplicated DB) that is a target of editing work by contents of editing work” 0402 is performed. And “sending up contents of editing work to server” 0403 is performed.
- FIG. 5 shows this procedure. At first, it confirms that records of item table are added or changed or (really) deleted. If so, empty data TBL of new item structure will be created 0502 . After that, “taking out records of old duplicated data TBL” 0503 is performed. Each record is copied to duplicated data TBL 0504 . If a item was (really) deleted, the value is not (cannot) moved to new original table.
- DB software (to be used) has a function that edits item and performs related changes about table structure, this function may be used.
- this function may be used.
- “means reconstructing duplicated data TBL by the contents of duplicated item TBL” 0208 will be implemented by this function according to contents of duplicated item TBL.
- conversion procedure which sets value of new item from value of existing item, has been specified. “Taking out a record of old duplicated data TBL” 0503 of FIG. 5 is performed. After a procedure of “copying it to new duplicated data TBL” 0504 , “confirming assigned conversion procedure” 0505 , and “executing the conversion procedure” 0506 are performed. An example of conversion procedure is shown later.
- Duplicated item TBL 0701 has records of “student name”, “evaluation” and “admission day”, which determine items of duplicated data TBL 0702 .
- Duplicated data TBL 0702 has two records.
- Item with deletion flag can be revived by clearing the flag. Value of the item of old record will be shown.
- the first appearance” 0703 and “the next appearance” 0705 show items of “student name”, “evaluation” and “admission day”, in a sequence of values of “display order” of item table.
- FIG. 8 shows a procedure assuming that DB has a “duplicated item TBL” and a “duplicated data TBL”, and updating work to them are managed by versions of this DB.
- PC-A 0802 and PC-B 0803 receives 0807 initial DB 0804 , which has initial item TBL 0106 and initial data TBL 0107 , as duplicated DBs 0805 , 0806 of them. These duplicated DBs have duplicated item TBLs 0211 and duplicated data TBLs 0212 . Their versions are zero, because they were copied from initial DB 0804 of version 0 in server 0801 . After that, “contents of editing work” 1-6 are sent up to the server. They are “contents of editing work” sent by PCs other than PC-A 0802 and PC-B 0803 .
- PC-A 0802 Before starting editing work to duplicated item TBL, PC-A 0802 performs synchronization 0809 as the first step. With this time, “contents of editing work” 1-6 are received from the server 0801 , version of duplicated DB 0805 will be set to 6. And, an editing work 0810 to duplicated item TBL 0211 in Duplicated DB 0805 is performed. The “contents of editing work” will be sent 0811 up to the server, and will be recorded as “contents of editing work” 7.
- PC-A 0802 reconstructs the “duplicated data TBL” and sends the result to the server as “contents of editing work” 0814 .
- This “contents of editing work” will be “contents of editing work” 8 in the server.
- PC-A 0802 performs synchronization 0815 , and shows results by settled “contents of editing work” to an operator of PC-A 0802 .
- PC-B 0203 also performs synchronization 0817 of duplicated item TBL 0211 and duplicated data TBL 0212 .
- Procedure of FIG. 9 will be used to stop editing work by other PCs during editing work to duplicated item TBL 0211 of a PC.
- “notifying other PCs to halt editing work” 0910 is performed.
- “making contents of editing work to ‘duplicated item TBL’” 0902 and “sending contents of editing work to other PCs” 0903 will be performed.
- “notifying other PCs to release halting editing work” 0904 will be performed.
Abstract
Computers duplicate all or part of the data in DB originals, hold the duplicates therein, and parallel edit the duplicates (alteration edit). Data defining the items of the data, in addition to the data recorded in DBs, is parallel edited. When the result of edit of an item table is judged to be effective through a process of parallel edit, the structure of the data is altered according to the contents. Although conventionally only “item designing before data input” or “item edit except inhibited parallel edit” is possible, the present invention enable parallel edit of items even after data input.
Description
- The present invention relates to a method of parallel editing work to data item of database (hereinafter “DB”) by two or more computer (s) (hereinafter “PCs”).
- At general DB operation, items are first specified, table is defined next and data will be input after that, as shown by
non-patent literature 1. Non-patentliterature 2, Non-patentliterature 3 and Non-patentliterature 4, which are general technical book for DB systems development, shows a procedure by which items of a table are first defined and data will be input after that. -
Patent document 1 first adds or deletes items of a template (paragraph 128) that has already been defined, alters names of these items (paragraph 150), and after that makes a (program utilizing) new table.Patent document 2 shows the same concept.Patent document 3 relates to a method creating new tables. These discussions on creating table items assume that table items have been created before data input. - On the other hand, SQL language permits to change items after data input, by language specification. Non-patent
literature 5 shows SQL commands. For example, there are “add new column” (P384), “change column type of table” (P389) and “delete a column of table” (P395), and so on. Non-patentliterature 6 of p. 46-47 shows that columns can be added by command “ALTER, TABLE”. - However, SQL language prohibits parallel editing work by permitting only one operation at a time. This is also described by
chapter 5, “Updating, addition and deletion of data”, of Non-patentliterature 5.Chapter 6, “Updating, addition and deletion of data”, ofNon-patent literature 5 also describes advanced mechanisms, that prohibit parallel editing work by using a transaction consisting of plural related operations. One is “Roll back” that repeals all procedures of a transaction when an error such as interruption by another procedure occurs. Another is “Lock” that prohibits interruption to a procedure of a transaction by another procedure. - Cache technology, which creates duplication for working and performs procedure without the lock, is used for effective procedures and communications. ADO.NET of Microsoft makes a copy of data that is required for the present work from a server. Next it cut connection with the server and performs an editing work. After editing work, it makes a connection to the server again, and sends contents of editing work to the server. This “contents of editing work” will be repealed, if editing target has been already changed by other PCs. This is called as “Optimistic concurrency control” (Non-patent
literature 7 and 8). This can be interpreted that; editing work is repealed when a lock goes wrong as a result. This is a kind of lock. - Above are summarized as follow. Generally a change of an item is not made after data input. SQL forbids parallel editing work, though an item editing after an input of data is possible. Though, there is a method that performs temporal parallel editing work based on Cache, there is no consideration of changing items after data input.
- That is, there is no research that enables parallel editing work of items after input of data. This may come from that full-scale technology of parallel editing work to DB, which performs off-line editing work to DB for a long time and is different from temporal editing work such as cache, has not been established. There is a possibility that no one had imagined that it is possible to perform parallel editing work to data item that determines data structure of DB.
- Assuming that patent documents from 4 to 10 and non-patent
literature 9 may relate with “cache” or “parallel editing work”, they were investigated. However, they only describe ways to resolve collisions of editing works. Patent documents 11 to 16 show a general level of technology and are different from the present invention. - [Patent document 1] Patent application 2006-309697
- [Patent document 2] WO/2008/043136
- [Patent document 3] Patent application 2004-341770
- [Patent document 4] Patent application H11-272533
- [Patent document 5] Patent application S61-134853, A
- [Patent document 6] Patent application 2005-216167, A
- [Patent document 7] Patent application H9-91184, A
- [Patent document 8] Patent application 2004-13867, A
- [Patent document 9] Patent application 2004-86800, A
- [Patent document 10] Patent application 2006-284998, A
- [Patent document 11] Patent application 2000-194592
- [Patent document 12] Patent application H11-161535, A
- [Patent document 13] Patent application 2005-503606, A
- [Patent document 14] Patent application 2005-508050, A
- [Patent document 15] Patent application H8-16447, A
- [Patent document 16] Patent application 2000-501532, A
- [Patent document 17] PCT/JP2009/002491
- [Non-patent literature 1] Takashi Shikii, “C++Builder
database programming No 2” InsideWindows™, SoftBank, Vol. 3, No. 12, Dec. 1, 1997, p 71-77, TOKYO JAPAN (In Japanese) - [Non-patent literature 3] Wallace B. McClure, el at, Professional ADO.NET 2: Programming with SQL Server 2005, Oracle, and MySQL, Wiley Publishing, Inc. 2006 “Windows™ database programming”, ADO.NET Specialization lecture Volume VB.NET, and Apr. 4, 2003 > (First Edition) SHOEISHA”
- [Non-patent literature 6] Kevin Kline, Daniel Kline, Ishii and others (supervised translation), Idea Collaboration (translation), SQL Quick Reference, O'Reilly Japan, Nov. 2, 2001 First Edition (In Japanese)
- [Non-patent literature 7] MSDN subscriptions Library, “Outline of data concurrency control on ADO.NET”, January 2007, Disk File(URL: ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_raddata/html/d5293098-4a88-4110-abd2-34d9e6661664.htm)
- [Non-patent literature 8] MSDN subscriptions Library, “Tutorial: Processing exceptions of concurrent processes”, January 2007, Disk File (URL: ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_raddata/html/73ee9759-0a90-48a9-bf7b-9d6fc17bff93.htm)
- [Non-patent literature 9] KAWASHIMA, T., and HIROKAWA, H., YAMASHITA, M., “A World-wide Distributed File System SKINNY”, IPSJ SIG Notes 95-S-70-1, Academic Publication IPSJ SIG Notes Vol. 95, No. 79 ISSN 0919-6072
- [Non-patent literature 10] “Major functions, and merits”, [online], Searched at Apr. 22, 2007 Internet(URL:http://www.sonicsoftware.co.jp/products/object_store/function.html)
- [Non-patent literature 11] “MVCC (Multi Version Concurrency Control) 9.1. Introduction”, [online], Searched at Apr. 2, 2007 Internet (URL:http://www.postgreSQL.jp/document/pg721doc/user/mvcc.html #MVC C-INTRO)
- [Non-patent literature 10] “.9.5. Data consistency check at application level”, [online], Searched at Apr., 22, 2007 Internet (http://www.postgreSQL.jp/document/pg721doc/user/applevel-consistency.html)
- [Non-patent literature 12] “Cache Technology Guide”, [online], Searched at Apr. 22, 2007 Internet (URL:http://www.intersystems.co.jPCsache/technologyguide/technologyguide.html)
- [Non-patent literature 13] “Major functions and merits”, [online], Searched at Apr. 22, 2007 Internet (URL:http://www.sonicsoftware.co.jp/products/object_store/function.html)
- The present invention shows mechanism that performs parallel editing work to data item by plural PCs.
- Parallel editing work of this specification is holding duplications of whole or a part of DB original and performing duplications on these duplications. This DB original can exist really, or cannot exist really that means this original DB is imaginary. At latter case, duplicated DBs of PCs synchronize each other. By this synchronization, these duplicated DBs synchronize with the imaginary “original DB” (Patent document 17). Another method is that; duplicated DBs of PCs synchronize with all or a part of the original DB that is updated by server. Each duplicated DB can exist permanently or temporarily in each PC.
- Foundation of the present invention is handling definitions of items of data of DB (hereinafter, “item definition”) as data of DB and treating them as objects of parallel editing work. For conventional relational DB (RDB), items of a table (hereinafter, a “data table”) are first defined, and after that, data entry and editing work will start. On the contrary, the present invention makes a table (hereinafter, “item table”) that defines items of the data table. This item table will be treated as an object of parallel editing works. When item table is edited, data table will be updated according to the item table, if necessary.
- Although “item table” is direct expression for RDB, “item definition” will be used in the claims for more general DBs. Instead of “data table”, data will be used for expressing more general concept. That is, methods described in this specification by item table and data table will be applied to more general DB. Non-patent literatures 10, 11, 12 and 13 show examples other than RDB, such as object-oriented DB and so on.
- Relations between “editing work to item table” and “editing work to data table” are classified into the following, according to contents of editing work to the item table; (A) Parallel editing work is permitted unconditionally. (B) Parallel editing work is permitted, if there is no logical inconsistency. (C) Parallel editing work is not permitted. Parallel editing work to item table and data table is described by these classifications. Parallel editing work is perfect, if it is possible to perform parallel editing work to item table, parallel editing work to data table, and further parallel editing work to both item table and data table.
- Even if other PCs perform editing work to data, there is no problem of editing work that only alters item name or style (numerical format or item width) of data item. This is “(A) Parallel editing work is permitted unconditionally”.
- While “data input” or “updating of data” are performed using item definitions, it was impossible to edit item definitions. Because that the definitions are recorded as fundamental information of database. The present invention separates item table and data table, and treats them as objects of parallel editing work, and enables to perform parallel editing work. If there is a technology of parallel editing work, this technology will be applied to item table and data table.
- If there is a possibility that data or data structure of data table maybe changed by a change of item table, this change will be permitted under restriction that the change does not cause logical inconsistency. This is “(B) Parallel editing work is permitted, if there is no logical inconsistency”.
- If new item of sex for name list has only choices of male or female and has no choice of default, a logical inconsistency may occur when the item is set to data that is already input. If the item has choices of male, female or “unknown” that is default, the inconsistency will not occur. This inconsistency will be resolved, if male or female is set as default, or if the item has choices of “male, female or unknown that is a default”.
- This example is simple. However, even if sufficient thinking is performed, there is a possibility that logical inconsistency will occur for unexpected data. Even if it is confirmed that there is no logical inconsistency against existing (inputted) data, there may be an error against newly input data or updated data during the confirmation.
- From these discussions, required is a process of verifying logical consistency certainly. This confirmation result should be same for all related PCs. If data table is updated by a change of item table, these results should be same for all PCs. Ways answering these requests will be shown later.
- Even if a case may be “(B) Parallel editing work is permitted if there is no logical inconsistency”, this case can be treated as (C) Parallel editing work is not permitted“. Though prohibition of parallel editing work makes editing inconvenient, it prevents competition of editing work and synchronizes duplicated DBs of PCs easily. Procedure to prohibit parallel editing work will be shown later.
- All related PCs should have same results of confirmation that a change of item table has no logical inconsistency. Suppose that a logical inconsistency occurs in a certain PC, and this inconsistency does not occur in another PC. If so, it is impossible to synchronize duplicated DBs of these PCs. Data structure of these PCs should be same after updating. Actual procedure to implement them will depend on ways of parallel editing work.
- As one case, suppose that server updates the original DB. Further suppose that each of duplicated DB of each PC synchronizes with whole or a part of the original DB. Here, duplicated DBs of PCs are same. Because only the server performs confirmation of changing items of data and updates data table structure.
- As another case, suppose the following steps (Patent document 17). Each PC has a duplicated DB that synchronizes with (whole of or a part of) imaginary or existing original DB. Each PC performs editing work to each duplicated DB. PCs exchange their contents of editing work each other. And each PC updates each duplicated DB. For this case, important is the sequence of contents of editing work to item table and data table. Results of detecting logical inconsistency by item table or results of updating data table structure differ from each other, if PCs use different sequence of contents of editing work to update duplicated DBs.
- For preventing this trouble, the following steps will be used. Sequence number is assigned to each set of contents of editing work of parallel editing work, to data table and that to item table of the data table. Each PC should take out contents of editing work by this sequence (ordinal) number and should update each duplicated DB. Even if some contents of editing work make a error for a data item, all duplicated DB synchronizes each other because the contents of editing work make same error at every PC.
- There are several ways to assign ordinal numbers. One is consisting of the following steps. Contents of editing work of parallel editing work to a “data table” and “item table for the data table”, are sent up to server. The server sets them in a line in arriving order, which is single queue. Each duplicate DB synchronizes each other, if each PC receives contents of editing work and updates each duplicated DB by this order.
- Even if the server (or a specific PC) changed contents of editing work from PCs, or even if the server changed the sequence of them, each duplicate DB synchronizes each other because each PC updates each duplicated DB by same (changed) sequence of contents of editing work (of same changed contents).
- Another is consisting of the following steps. PC asks an ordinal number to a server (or PC) that manages ordinal numbers. PC sets this number to a set of contents of editing work created by this PC. Even if contents of editing work are exchanged among PCs directly, these ordinal numbers are unique. Instead of sequence number, time can be set to a set of contents of editing work. Time can be used as a substitute of sequence number as another ordinal number. In order to avoid confusion by time differences among PCs, we need another trick such that specific PC will be in charge of managing time.
- For the following explanations, we assume that there is an editing work (X) performed to certain item table and assume that competing parallel editing work is prohibited. That is, “period of prohibiting editing work” for other PCs is a period from the start of editing work X to completion time of editing work X and of getting ordinal number for X. The duplicated DB of the PC will be updated by a sequence of received contents of editing work including the contents of editing work X. After that, “period of prohibiting editing work” is canceled and further editing work to any duplicated DB is not prohibited.
- One method is that the server detects an editorial work during this edit prohibiting period and repeals it. For example, in case that “contents of editing work” are sent up to server, this PC also notifies “prohibition of parallel editing work before the editing work X” to server. By this notification, server repeals “contents of editing work”. Although this is a simple procedure, effort spent for the repealed “editing work” will be useless.
- Another method is that the prohibition is sent to PCs. The PC of editing work X directly notifies other PCs, or notifies server and server notifies other PCs. After receiving notification of prohibition of editing work, PC will not perform editing work to duplicated DB. But this PC can update the duplicated DB. After receiving the cancelation of prohibition of editing work, it can start editing works.
- One type of prohibition is a prohibition of editing work by other PCs, to same item table. Another is a prohibition of editing work by other PCs, to the data table of which items are defined by the item table.
- Parallel editing work of this specification is to hold duplicate of whole or a part of DB original and to perform editing work to this copy. Foundations of the present invention consist of the following: this parallel editing mechanism, a process treating “item definitions for data contained in DB” as data of DB, and a process to reconstruct duplicated data by updated item definitions. This is
claim 1.Claim 2 is based onclaim 1 and manages contents of editing work for duplicated data and duplicated item definition by a single queue.Claim 3, beyondclaim 2, further contains a case that one set of contents of editing work has records of modifications to data and records of modifications to items (which is explained in paragraph 47 of this description forFIG. 3 ).Claim 4 further contains a process to judge validity of said contents of editing work. -
Claim 5 consists of, a process to hold duplicated data and duplicated item definitions, a process to edit item definitions, and a process to manage contents of editing work for them by a single queue.Claim 6 further contains “judging validity of said contents of editing work”.Claim 7 consists ofclaim 5 and a process to halting editing work by other PCs during editing work to the item definitions. - There was no research that enables parallel editing work to items by plural PCs after starting data entry. The present invention enables the following. Each PC keeps duplications of whole or a part of the DB original. PCs perform parallel editing works to their duplications. And, PCs performs parallel editing works to items of their duplications. These are called “full-scale parallel editing works on DB”.
- [
FIG. 1 ] Overview of general example - [
FIG. 2 ] Apparatus structure implementing the present invention - [
FIG. 3 ] Procedure to make and synchronize initial duplicated TBL - [
FIG. 4 ] Procedure to edit duplicated TBL and to send up contents of editing work to server - [
FIG. 5 ] Procedure to reconstruct duplicated data TBL by the contents of duplicated item TBL - [
FIG. 6 ] Procedure to show records of duplicated data TBL based on the contents of duplicated item TBL - [
FIG. 7 ] Example of TBL contents - [
FIG. 8 ] Figure explaining example procedures - [
FIG. 9 ] Procedure to prohibit parallel editing work -
- 0101 PC-A
- 0102 PC-B
- 0103 Server
- 0104 Communications Network (Such as Internet or others)
- 0105 Memory Unit (of Server)
- 0106 Initial item TBL
- 0107 Initial data TBL
- 0108 Contents of editing work (1)
- 0108 Contents of editing work (2)
- 0201 PC (Computer)
- 0202 Communications Network (Such as Internet or others)
- 0203 Means for communication
- 0204 Means making initial duplicated TBL
- 0205 Means synchronizing duplicated TBL
- 0206 Means making contents of editing work to duplicated TBL
- 0207 Means sending up contents of editing work to server
- 0208 Means reconstructing duplicated data TBL by the contents of duplicated item TBL
- 0209 Means showing or printing records of duplicated data TBL by the contents of duplicated item TBL
- 0210 Server
- 0211 Duplicated item TBL
- 0212 Duplicated data TBL
- 0213 Contents of editing work
- 0214 Contents of editing work
- 0215 Contents of editing work
- 0216 Contents of editing work
- 0301 Investigate whether duplicated TBL is already created in the computer or not
- 0302 Procedure making duplicated TBL
- 0303 Check whether non-received “contents of editing work” exists in server or not
- 0304 Procedure receiving contents of editing work from server
- 0305 Takes out “contents of editing work” received, in order
- 0306 Confirm validity of contents of editing work
- 0307 Update duplicated item TBL
- 0308 Update duplicated data TBL
- 0401 Specify contents of editing work
- 0402 Set a version to duplicated TBL (or duplicated DB) that is a target of editing work by contents of editing work
- 0403 Send up contents of editing work to server
- 0501 Confirm whether addition, modification or (actual) deletion exists or not
- 0502 Make empty data TBL of new item structure
- 0503 Take out a record of old duplicated data TBL
- 0504 Copy it to duplicated data TBL
- 0505 Confirm assigned conversion procedure
- 0506 Execute conversion procedure
- 0601 Check each record of duplicated item TBL, in order of showing
- 0602 Confirm whether the item is to be shown or not
- 0603 Make item of duplicated data TBL to be shown
- 0604 Take out records of duplicated data TBL in order
- 0605 Show record value for corresponding item
- 0701 Duplicated item TBL
- 0702 Duplicated data TBL
- 0703 The first appearance
- 0704 Change to “Deletion=True”
- 0705 The next appearance
- 0801 Server
- 0802 PC-A (Computer A)
- 0803 PC-B (Computer B)
- 0804 Initial DB (
Initial item TBL 0106 and Initial data TBL 0107) - 0805 Duplicated DB of PC-A (duplicated
item TBL 0211 and duplicated data TBL 0212) - 0806 Duplicated DB of PC-B (duplicated
item TBL 0211 and duplicated data TBL 0212) - 0807 Initial DB acquisition by PC-A
- 0808 Initial DB acquisition by PC-B
- 0809 Confirmation and synchronization
- 0810 Editing work to duplicated item TBL
- 0811 Sending up “contents of editing work”
- 0812 Confirmation and synchronization
- 0813 Showing to an operator
- 0814 Result of structural reconstruction of duplicated data TBL (contents of editing work)
- 0815 Confirmation and synchronization
- 0816 Showing to an operator
- 0817 Confirmation and synchronization
- 0901 Notify other PCs to halt editing work
- 0902 Make contents of editing work to duplicated item TBL
- 0903 Send contents of editing work to other PCs
- 0904 Notify other PCs to release halting editing work
- A word “table” is abbreviated as “TBL” in the following descriptions and figures.
FIG. 1 shows the overview of general example. This consists of two PCs (PC-A 0101, PC-B 0102) and aserver 0103, which are connected through a communications network such asInternet 0104. There are “initial item TBL 0106” and “initial data TBL 0107” inmemory Unit 0105 of the server. PCs (PC-A 0101 and PC-B 0102) copy them as initial of “duplicateditem TBL 0211” and as initial of “duplicateddata TBL 0212”. It is possible that each PC creates an empty table as an initial table. A phrase “duplicated TBL” means both of “duplicated item TBL” and “duplicated data TBL”. - When a PC has performed editing work to duplicated TBL, it sends the “contents of editing work” to the server that records it to
memory unit 0105. InFIG. 1 , contents of editing work to item. TBL and contents of editing work todata TBL - Generally saying, PC is constructed from arithmetic unit, main memory unit, secondary memory, input/output unit, communication unit and monitor unit, which are connected each other by bus. PC-
A 0101 and PC-B 0102 ofFIG. 1 read programs that are based on the present invention. Each PC acts as aggregate ofmemory unit 0210 and means shown inFIG. 2 .PC 0201 connects to a communications network such asInternet 0202, by means forcommunication 0203. It communicates withserver 0210 of the other side. - It implements “means making initial duplicated TBL” 0204, “means synchronizing duplicated TBL” 0205, “means making contents of editing work to duplicated TBL” 0206, “means sending up contents of editing work to server” 0207, “means reconstructing duplicated data TBL by the contents of duplicated item TBL” 0208, and “means showing or printing records of duplicated data TBL by the contents of duplicated item TBL” 0208.
- Duplicated
item TBL 0211 and duplicateddata TBL 0212 exist inmemory unit 0210. Each “contents of editing work” 0213, 0214 was created for each editing work to each of them. PC receives “contents of editing work” of other PC from the server, and also receives ordinal numbers for this “contents of editing work” from the server. PC also receives ordinal numbers for “contents of editing work” made by this PC, from the server. And, “duplicated item TBL” and “duplicated data TBL” are updated by them. If “contents of editing work” for item TBL and “contents of editing work” for data TBL are set in a single line of the server, PC also makes a single line (contents ofediting work 0215, 0216) and updates duplicateditem TBL 0211 and duplicateddata TBL 0212. - By “means making initial duplicated TBL” 0204, initial TBLs (
initial item TBL 0106 and initial data TBL 0107) in server are copied to PC. They are called initial duplicated TBLs (initial duplicated item TBL and initial data TBL 0212) of this PC. These jobs will be done when there is no initial duplicated TBL. If there is no initial TBL and if each PC understands that initial TBL is empty, each PC makes an empty duplicated TBL, which will be used as initial duplicated TBL. After operator of PC defines items to empty “duplicated item TBL”, empty data TBL can be created by these item definitions. - “Means synchronizing duplicated TBL” 0205 receives “contents of editing work” 0106 0107, performs “judging validity of contents of editing work”, updates contents of duplicated TBLs (duplicated
item TBL 0211 and duplicated data TBL 0212) by (judged as) valid “contents of editing work”. -
FIG. 3 shows a process by “means making initial duplicated TBL” 0204 and “means synchronizing duplicated TBL” 0205. - At first, “Investigation whether duplicated TBL is already made in the computer or not” 0301 is performed. If not, PC makes initial duplicated TBLs by copying initial TBLs (
initial item TBL 0211 and initial data TBL 0212). Or, PC makes empty “duplicated TBL” as initial 0302. This is a process of “Means making initial duplicated TBL” 0204. - Next, PC confirms that the
server server 0304. And, PC takes out “contents of editing work” received, in order, performs “confirming validity of contents of editing work” 0306. If valid, PC updates duplicateditem TBL 0307 or updates duplicated data TBL according to each target of “contents of editing work”.FIG. 3 shows a procedure for a case that one “contents of editing work” has editing work either of a duplicated item TBL or a duplicated data TBL. One “contents of editing work” can contain both types of “contents of editing work”. In this case, “updating duplicated item TBL” 0307 and “updating duplicated data TBL” 0308 will be performed in order, according to “contents of editing work”. This is a procedure of “means synchronizing duplicated TBL” 0205. - “Means making contents of editing work for duplicated TBL” performs editing work to duplicated
item TBL 0211 and duplicateddata TBL 0212. These “contents of editing work” will be sending up to the server, by “means sending up contents of editing work to server” 0207.FIG. 4 shows this procedure. At first, “specify contents of editing work” 0401 is performed. Next, “set a version of duplicated TBL (or duplicated DB) that is a target of editing work by contents of editing work” 0402 is performed. And “sending up contents of editing work to server” 0403 is performed. - Contents of
editing work - These means implement parallel DB access to an item TBL and a data TBL of the item TBL. Other means handles relations among an item table and an original table of the item table.
- “Means reconstructing duplicated data TBL by the contents of duplicated item TBL” 0208 creates an empty original table of new item structure, if records of item table are added or changed or (really) deleted. Old original data records will be copied and moved. When “deletion” only means not to show to operator, there is no need to reconstruct duplicated data TBL.
-
FIG. 5 shows this procedure. At first, it confirms that records of item table are added or changed or (really) deleted. If so, empty data TBL of new item structure will be created 0502. After that, “taking out records of old duplicated data TBL” 0503 is performed. Each record is copied to duplicateddata TBL 0504. If a item was (really) deleted, the value is not (cannot) moved to new original table. - If DB software (to be used) has a function that edits item and performs related changes about table structure, this function may be used. In this case, “means reconstructing duplicated data TBL by the contents of duplicated item TBL” 0208 will be implemented by this function according to contents of duplicated item TBL.
- If conversion procedure, which sets value of new item from value of existing item, has been specified, the following steps will be performed. “Taking out a record of old duplicated data TBL” 0503 of
FIG. 5 is performed. After a procedure of “copying it to new duplicated data TBL” 0504, “confirming assigned conversion procedure” 0505, and “executing the conversion procedure” 0506 are performed. An example of conversion procedure is shown later. - By “means showing or printing records of duplicated data TBL by the contents of duplicated item TBL” 0209, items with flags to show will be shown in a sequence that is specified in a record of duplicated
item TBL 0211. And, records of duplicateddata TBL 0212 will be shown (or printed). As for an item record with “Display=False”, values for this item will not be shown (or printed) at the duplicateddata TBL 0212. -
FIG. 6 shows this procedure. “Checking each record of duplicated item TBL, in order of showing” is performed. “Confirming whether an item is to be shown or not” is performed. If “Display=True”, “Making item of duplicated data TBL to be shown” is performed. “Taking our records of duplicated data TBL in order” 0604 and “showing record value for corresponding item” 0605 will be performed. - An example is explained using duplicated
item TBL 0701 and duplicateddata TBL 0702 ofFIG. 7 . Duplicateditem TBL 0701 has records of “student name”, “evaluation” and “admission day”, which determine items of duplicateddata TBL 0702. Duplicateddata TBL 0702 has two records. - “The first appearance” 0703 is an appearance before the record with “ID=4” is added to duplicated
item TBL 0701. With this time, item with “ID=4” (addition (2)) does not exist in duplicateddata TBL 0702. Records of the duplicated data TBL have no value of the item. - This converts the evaluation from 0-100 to success/failure. This conversion will be implemented by combining deletion and addition of items.
- At first, status of record ID=2, which defines a item of “evaluation”, is changed to deleted status, by changing value of “deletion” from “False” to “True” 0704. Next, a new record (ID=4) for item of “evaluation” is created. This is “addition (1)”.
- Next, defined is a conversion procedure that changes old value of “evaluation” to new value of “evaluation”. For example, 0-59 will be “failure” and 60-100 will be “success”. Other numbers or strings that cannot be converted to numbers will be “unknown”.
- Results of the execution of the conversion procedure are values of item ID=4 (addition (2)) of each record of duplicated
data TBL 0702. By showing this, “the first appearance” 0703 will be changed to “the next appearance” 0705. Item ID=2 of the old record is not shown and new item ID=4 is shown. And, an operator understands that item of “evaluation” is changed. - Item with deletion flag can be revived by clearing the flag. Value of the item of old record will be shown. In above-mentioned example, “the first appearance” can be shown again, by the following steps. Item record of ID=4 is changed to “Deletion=True” 0704. Item record of ID=2 is revived by changing to “Deletion=False”
- “The first appearance” 0703 and “the next appearance” 0705 show items of “student name”, “evaluation” and “admission day”, in a sequence of values of “display order” of item table. By changing values of “display order” of the item table, showing order of items of original table will be changed.
-
FIG. 8 shows a procedure assuming that DB has a “duplicated item TBL” and a “duplicated data TBL”, and updating work to them are managed by versions of this DB. - PC-A0802 and PC-B0803 receives 0807
initial DB 0804, which hasinitial item TBL 0106 andinitial data TBL 0107, as duplicatedDBs item TBLs 0211 and duplicateddata TBLs 0212. Their versions are zero, because they were copied frominitial DB 0804 ofversion 0 inserver 0801. After that, “contents of editing work” 1-6 are sent up to the server. They are “contents of editing work” sent by PCs other than PC-A 0802 and PC-B 0803. - Before starting editing work to duplicated item TBL, PC-
A 0802 performssynchronization 0809 as the first step. With this time, “contents of editing work” 1-6 are received from theserver 0801, version of duplicatedDB 0805 will be set to 6. And, anediting work 0810 to duplicateditem TBL 0211 in DuplicatedDB 0805 is performed. The “contents of editing work” will be sent 0811 up to the server, and will be recorded as “contents of editing work” 7. - Just after this, “contents of editing work”, that was previously sent 0811 up, is judged as valid. The “contents of editing work” is confirmed as “contents of editing work” 7. This result will be shown to an operator of
computer A 0802. - If
editing work 0810 to the duplicateditem TBL 0211 requires reconstruction of corresponding duplicated data TBL, (program of) PC-A 0802 reconstructs the “duplicated data TBL” and sends the result to the server as “contents of editing work” 0814. This “contents of editing work” will be “contents of editing work” 8 in the server. PC-A 0802 performssynchronization 0815, and shows results by settled “contents of editing work” to an operator of PC-A 0802. PC-B 0203 also performssynchronization 0817 of duplicateditem TBL 0211 and duplicateddata TBL 0212. - Procedure of
FIG. 9 will be used to stop editing work by other PCs during editing work to duplicateditem TBL 0211 of a PC. At first, “notifying other PCs to halt editing work” 0910 is performed. Next, “making contents of editing work to ‘duplicated item TBL’” 0902 and “sending contents of editing work to other PCs” 0903 will be performed. And, “notifying other PCs to release halting editing work” 0904 will be performed. - Most of traditional database operations are simple that: At first, items of table will be designed. After that, data is input to this table and is edited. “SQL Language specification” permits editing work to item definitions, even if data was already input. But parallel editing work is prohibited. Parallel editing work to items by plural PCs becomes possible by the present invention. This brings a great flexibility to database operation.
Claims (7)
1. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data,
(B) a process to update said duplicate of item definitions by recorded editorial contents received from the exterior,
(C) a process to reconstruct said duplicate of data by contents of updated said duplicate of item definition.
2. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data,
(B1) a series of processes to take out recorded editorial contents, which are received from the exterior in assigned order, and by said recorded editorial contents to update said duplicate of data or said duplicate of item definitions,
(C) a process to reconstruct said duplicate of data by contents of updated said duplicate of item definition.
3. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data,
(B2) a series of processes to take out recorded editorial contents, which are received from the exterior, in assigned order, and by said recorded editorial contents to “update said duplicate of data and/or said duplicate of item definitions”,
(C) a process to reconstruct said duplicate of data by contents of updated said duplicate of item definition.
4. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data,
(B3) a series of processes to take out recorded editorial contents, which are received from the exterior, in assigned order, and to evaluate validity of said editorial contents, and to update said duplicate of data and/or said duplicate of item definition, according to the recorded editorial contents that is judged as valid.
(C) a process to reconstruct said duplicate of data by contents of updated said duplicate of item definition.
5. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data,
(D) a process to make recorded editorial contents for said copy of item definitions and to send them to the exterior,
(B4) receiving or holding said recorded editorial contents, and/or recorded editorial contents of the exterior,
(B5) a series of processes to take out recorded editorial contents, in assigned order, and to update said duplicate of data and/or said duplicate of item definition, according to the recorded editorial contents that is judged as valid.
6. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data,
(D) a process to make recorded editorial contents for said copy of item definitions and to send them to the exterior,
(B4) receiving or holding said recorded editorial contents, and/or recorded editorial contents of the exterior,
(B6) a series of processes to take out recorded editorial contents in assigned order, and to evaluate validity of said editorial contents, and to update said duplicate of data and/or said duplicate of item definition, according to the recorded editorial contents that is judged as valid.
7. A method to edit database, comprising;
(A) holding duplicate of data of database, and duplicate of item definitions that defines items of said data, and
(D1) notifying to halt editing works to other computers, before starting of editing work on said duplicate of item definitions,
(D) making recorded editorial contents for said copy of item definitions and sending them to the exterior,
(D2) notifying to cancel of halting editing works, after said editing work, and,
(B4) receiving or holding said recorded editorial contents, and/or recorded editorial contents of the exterior,
(B5) a series of processes to take out recorded editorial contents, in assigned order, and to update said duplicate of data and/or said duplicate of item definition, according to the recorded editorial contents that is judged as valid.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007150665 | 2007-06-06 | ||
PCT/JP2008/001424 WO2008149552A1 (en) | 2007-06-06 | 2008-06-04 | Database contradiction solution method |
JPPCTJP2008001424 | 2008-06-04 | ||
PCT/JP2008/001506 WO2009147701A1 (en) | 2008-01-08 | 2008-06-12 | Parallel access program of database |
JPPCTJP2008001506 | 2008-06-12 | ||
PCT/JP2008/001719 WO2009147704A1 (en) | 2008-06-04 | 2008-07-01 | Parallel editing program of table and table item |
JPPCTJP2008001719 | 2008-07-01 | ||
PCT/JP2009/002501 WO2009147851A1 (en) | 2008-06-04 | 2009-06-03 | Method for parallel editing data item of database |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/002501 A-371-Of-International WO2009147851A1 (en) | 2007-06-06 | 2009-06-03 | Method for parallel editing data item of database |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/714,422 Continuation-In-Part US20130110777A1 (en) | 2007-06-06 | 2012-12-14 | Synchronization of data edited in parallel |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110161292A1 true US20110161292A1 (en) | 2011-06-30 |
Family
ID=40093384
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/601,005 Abandoned US20100198789A1 (en) | 2007-06-06 | 2008-06-04 | Database contradiction solution method |
US12/995,158 Active 2034-09-09 US9678996B2 (en) | 2007-06-06 | 2009-06-03 | Conflict resolution system for database parallel editing |
US12/864,872 Abandoned US20110082833A1 (en) | 2007-06-06 | 2009-06-03 | Database parallel editing method |
US12/743,367 Abandoned US20110161292A1 (en) | 2007-06-06 | 2009-06-03 | Method for parallel editing data item of database |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/601,005 Abandoned US20100198789A1 (en) | 2007-06-06 | 2008-06-04 | Database contradiction solution method |
US12/995,158 Active 2034-09-09 US9678996B2 (en) | 2007-06-06 | 2009-06-03 | Conflict resolution system for database parallel editing |
US12/864,872 Abandoned US20110082833A1 (en) | 2007-06-06 | 2009-06-03 | Database parallel editing method |
Country Status (4)
Country | Link |
---|---|
US (4) | US20100198789A1 (en) |
JP (1) | JP4573277B2 (en) |
CN (2) | CN101765831B (en) |
WO (1) | WO2008149552A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745003B1 (en) | 2011-05-13 | 2014-06-03 | Emc Corporation | Synchronization of storage using comparisons of fingerprints of blocks |
US8782003B1 (en) * | 2011-05-13 | 2014-07-15 | Emc Corporation | Synchronization of storage using log files and snapshots |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171003B2 (en) | 2007-06-06 | 2012-05-01 | Kunio Kamimura | Method and apparatus for changing reference of database |
US20100198789A1 (en) | 2007-06-06 | 2010-08-05 | Kunio Kamimura | Database contradiction solution method |
US8788454B2 (en) * | 2011-08-29 | 2014-07-22 | Red Hat, Inc. | Work optimization |
US8868874B2 (en) * | 2012-02-01 | 2014-10-21 | International Business Machines Corporation | Managing remote data replication |
US9924002B1 (en) | 2012-06-21 | 2018-03-20 | EMC IP Holding Company LLC | Managing stateless processes |
US8635373B1 (en) | 2012-09-22 | 2014-01-21 | Nest Labs, Inc. | Subscription-Notification mechanisms for synchronization of distributed states |
CN103778136A (en) * | 2012-10-19 | 2014-05-07 | 阿里巴巴集团控股有限公司 | Cross-room database synchronization method and system |
JPWO2014199568A1 (en) | 2013-06-12 | 2017-02-23 | 日本電気株式会社 | Method for controlling data writing to persistent storage device |
US20150178294A1 (en) * | 2013-12-19 | 2015-06-25 | International Business Machines Corporation | Resolving content editing conflicts arising from concurrent drafts |
KR20150101232A (en) * | 2014-02-26 | 2015-09-03 | 삼성전자주식회사 | Method of operating storage device including nonvolatile memory and memory controller |
US10175976B1 (en) * | 2015-07-16 | 2019-01-08 | VCE IP Holding Company LLC | Systems and methods for avoiding version conflict in a shared cloud management tool |
CN107656937B (en) * | 2016-07-26 | 2021-05-25 | 北京京东尚科信息技术有限公司 | Method and device for realizing consistency of read-write data |
CN111506583A (en) * | 2019-01-31 | 2020-08-07 | 北京嘀嘀无限科技发展有限公司 | Update method, update apparatus, server, computer device, and storage medium |
CN111061747B (en) * | 2019-12-11 | 2023-08-29 | 金蝶软件(中国)有限公司 | Service bill data updating method and related equipment |
CN112434051A (en) * | 2020-11-03 | 2021-03-02 | 北京思特奇信息技术股份有限公司 | Method and system for efficiently storing music copyright data |
CN113468197A (en) * | 2021-07-21 | 2021-10-01 | 上海星融汽车科技有限公司 | Data updating method, electronic device and computer readable storage medium |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870765A (en) * | 1996-10-09 | 1999-02-09 | Oracle Corporation | Database synchronizer |
US5884325A (en) * | 1996-10-09 | 1999-03-16 | Oracle Corporation | System for synchronizing shared data between computers |
US5926816A (en) * | 1996-10-09 | 1999-07-20 | Oracle Corporation | Database Synchronizer |
US20030093431A1 (en) * | 2001-11-13 | 2003-05-15 | Tadpole Technology Plc | System and method for managing the synchronization of replicated version-managed databases |
US6668260B2 (en) * | 2000-08-14 | 2003-12-23 | Divine Technology Ventures | System and method of synchronizing replicated data |
JP2004013367A (en) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | Data storage subsystem |
JP2005063374A (en) * | 2003-08-20 | 2005-03-10 | Nippon Telegr & Teleph Corp <Ntt> | Data management method, data management device, program for the same, and recording medium |
US6892210B1 (en) * | 2000-12-29 | 2005-05-10 | Worldsync, Inc. | Database management and synchronization across a peer-to-peer network |
JP2005216167A (en) * | 2004-01-30 | 2005-08-11 | Toshiba Corp | System, method and program for database management and database registration request program |
US20080059469A1 (en) * | 2006-08-31 | 2008-03-06 | International Business Machines Corporation | Replication Token Based Synchronization |
US7403945B2 (en) * | 2004-11-01 | 2008-07-22 | Sybase, Inc. | Distributed database system providing data and space management methodology |
US7415467B2 (en) * | 2003-03-06 | 2008-08-19 | Ixion, Inc. | Database replication system |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3422478A1 (en) | 1984-06-16 | 1985-12-19 | Carl Kurt Walther Gmbh & Co Kg, 5600 Wuppertal | CENTRIFUGAL GRINDING MACHINE |
JPS61134853A (en) * | 1984-12-05 | 1986-06-21 | Oki Electric Ind Co Ltd | Parallel execution control device |
JPS6257070A (en) * | 1985-09-06 | 1987-03-12 | Hitachi Ltd | Data processing system |
JP3020539B2 (en) | 1990-03-07 | 2000-03-15 | 株式会社日立製作所 | Parallel operation type database management method |
US5325496A (en) * | 1991-12-24 | 1994-06-28 | Intel Corporation | Selectable pointer validation in a computer system |
JPH05189284A (en) * | 1992-01-10 | 1993-07-30 | Toshiba Corp | Relational data base management system |
JPH05204727A (en) * | 1992-01-27 | 1993-08-13 | Hitachi Ltd | Method and system for managing data base |
JPH05233405A (en) | 1992-02-18 | 1993-09-10 | Hitachi Ltd | Data base alteration and monitor system |
JPH0991184A (en) | 1995-09-25 | 1997-04-04 | Fujitsu Ltd | Drawing system |
US5890176A (en) * | 1996-04-24 | 1999-03-30 | International Business Machines Corp. | Object-oriented document version tracking method and apparatus |
US5781910A (en) | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
US7302446B1 (en) | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
JP3196925B2 (en) * | 1997-01-13 | 2001-08-06 | 日本電気株式会社 | Relational database delay constraint check method |
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 |
JP3563591B2 (en) | 1997-09-29 | 2004-09-08 | 株式会社リコー | Consistency management method for distributed database system and computer-readable recording medium storing program for causing a computer to execute each step of the method |
JP3534596B2 (en) | 1997-12-05 | 2004-06-07 | 富士通株式会社 | Method and apparatus for synchronizing databases in intelligent networks |
US6151606A (en) * | 1998-01-16 | 2000-11-21 | Visto Corporation | System and method for using a workspace data manager to access, manipulate and synchronize network data |
JP4187302B2 (en) | 1998-03-25 | 2008-11-26 | 富士通株式会社 | Relational database synchronization method and recording medium recording the program |
JP2000020370A (en) | 1998-06-29 | 2000-01-21 | Sharp Corp | Data synchronous processor |
JP4689137B2 (en) | 2001-08-08 | 2011-05-25 | 株式会社日立製作所 | Remote copy control method and storage system |
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 |
US6343299B1 (en) * | 1998-11-16 | 2002-01-29 | International Business Machines Corporation | Method and apparatus for random update synchronization among multiple computing devices |
JP2000194592A (en) | 1998-12-25 | 2000-07-14 | Nippon Telegr & Teleph Corp <Ntt> | Data base system, data base access system, and recording medium where data base access program is recorded |
JP2000222268A (en) | 1999-01-29 | 2000-08-11 | Hitachi Ltd | Method for synchronizing file for plural computers |
JP2000284998A (en) * | 1999-03-31 | 2000-10-13 | Ricoh Co Ltd | Data update control system and method and computer readable recording medium storing program for executing the method |
JP2000339211A (en) | 1999-05-25 | 2000-12-08 | Casio Comput Co Ltd | File processor, file processing system and storage medium |
US6952741B1 (en) * | 1999-06-30 | 2005-10-04 | Computer Sciences Corporation | System and method for synchronizing copies of data in a computer system |
US6701345B1 (en) * | 2000-04-13 | 2004-03-02 | Accenture Llp | Providing a notification when a plurality of users are altering similar data in a health care solution environment |
US6598059B1 (en) * | 2000-04-22 | 2003-07-22 | Oracle Corp. | System and method of identifying and resolving conflicts among versions of a database table |
JP2002032248A (en) * | 2000-07-19 | 2002-01-31 | Ricoh Co Ltd | Providing system of version of transaction in data base inquiry processing and data base inquiry processing system using version provided by the same system |
US6964039B2 (en) * | 2000-12-13 | 2005-11-08 | Esmertec Ag | Method to create optimized machine code through combined verification and translation of JAVA™ bytecode |
JP4137391B2 (en) | 2001-02-19 | 2008-08-20 | 株式会社リコー | Data management apparatus, method, program, and recording medium |
US7177866B2 (en) * | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
US7062503B1 (en) * | 2001-08-28 | 2006-06-13 | Emc Corporation | Shuttle-based mechanism for numbering concurrent chains of independent data transfers |
US6874001B2 (en) * | 2001-10-05 | 2005-03-29 | International Business Machines Corporation | Method of maintaining data consistency in a loose transaction model |
JP4279499B2 (en) | 2002-03-01 | 2009-06-17 | シャープ株式会社 | Information processing device |
US7058664B1 (en) * | 2002-04-29 | 2006-06-06 | Sprint Communications Company L.P. | Method and system for data recovery |
JP2004013867A (en) | 2002-06-12 | 2004-01-15 | Nec Corp | Replicated data system, database device, and database updating method and its program used for the same |
US9052944B2 (en) | 2002-07-16 | 2015-06-09 | Oracle America, Inc. | Obstruction-free data structures and mechanisms with separable and/or substitutable contention management mechanisms |
JP2004086800A (en) | 2002-08-29 | 2004-03-18 | Mitsubishi Electric Corp | Data synchronization system and method therefor |
US7315862B1 (en) | 2002-12-20 | 2008-01-01 | Nortel Networks Limited | Concurrent lock-free access to a record by write and read processes |
TW200419413A (en) * | 2003-01-13 | 2004-10-01 | I2 Technologies Inc | Master data management system for centrally managing core reference data associated with an enterprise |
US7308448B1 (en) * | 2003-03-21 | 2007-12-11 | Sun Microsystems, Inc | Method and apparatus for implementing a lock-free skip list that supports concurrent accesses |
US20040215601A1 (en) * | 2003-04-23 | 2004-10-28 | Win-Harn Liu | Method of file management using a computer |
US7966301B2 (en) * | 2003-05-09 | 2011-06-21 | Planeteye Company Ulc | System and method for employing a grid index for location and precision encoding |
US7640506B2 (en) * | 2003-06-27 | 2009-12-29 | Microsoft Corporation | Method and apparatus for viewing and managing collaboration data from within the context of a shared document |
JP2005056281A (en) * | 2003-08-06 | 2005-03-03 | Konica Minolta Medical & Graphic Inc | Operation management system |
FR2879056B1 (en) * | 2004-12-07 | 2007-04-20 | Thales Sa | METHOD OF DUPLICATING A DATABASE IN A MACHINE NETWORK AND A SYSTEM OF DUPLICATED DATA MACHINERY |
CN100367712C (en) * | 2005-06-01 | 2008-02-06 | 合肥工业大学 | Collaborative design method based on collaborative template |
EP1929421A4 (en) | 2005-09-30 | 2009-02-18 | Medcom Solutions Inc | System and method for reviewing and implementing requested updates to a primary database |
GB0523703D0 (en) * | 2005-11-22 | 2005-12-28 | Ibm | Collaborative editing of a document |
JP2007179105A (en) | 2005-12-26 | 2007-07-12 | World Planning:Kk | Control system for shared database and control method for shared database and computer program |
US7792792B2 (en) | 2006-05-22 | 2010-09-07 | Microsoft Corporation | Synchronizing structured web site contents |
US7769727B2 (en) * | 2006-05-31 | 2010-08-03 | Microsoft Corporation | Resolving update-delete conflicts |
CN100549949C (en) * | 2006-07-21 | 2009-10-14 | 石自力 | A kind of design system of computer application system |
JP5321453B2 (en) * | 2007-05-14 | 2013-10-23 | 日本電気株式会社 | Half-duplex communication system, half-duplex communication apparatus, communication content confirmation method, and program thereof |
US20100198789A1 (en) | 2007-06-06 | 2010-08-05 | Kunio Kamimura | Database contradiction solution method |
US7664779B1 (en) | 2007-06-29 | 2010-02-16 | Emc Corporation | Processing of a generalized directed object graph for storage in a relational database |
JP4923140B2 (en) | 2008-06-04 | 2012-04-25 | 株式会社アテナテレコムラボ | Database parallel editing method |
JP4855538B2 (en) | 2008-06-04 | 2012-01-18 | 株式会社アテナテレコムラボ | Parallel editing method for database data items |
JP4855537B2 (en) | 2008-06-04 | 2012-01-18 | 株式会社アテナテレコムラボ | Database parallel editing method |
JP5543918B2 (en) | 2008-06-04 | 2014-07-09 | 株式会社アテナテレコムラボ | Conflict resolution method for parallel database editing |
-
2008
- 2008-06-04 US US12/601,005 patent/US20100198789A1/en not_active Abandoned
- 2008-06-04 JP JP2009517725A patent/JP4573277B2/en not_active Expired - Fee Related
- 2008-06-04 CN CN200880101010.7A patent/CN101765831B/en not_active Expired - Fee Related
- 2008-06-04 WO PCT/JP2008/001424 patent/WO2008149552A1/en active Application Filing
-
2009
- 2009-06-03 US US12/995,158 patent/US9678996B2/en active Active
- 2009-06-03 CN CN200980128878.0A patent/CN102216910B/en not_active Expired - Fee Related
- 2009-06-03 US US12/864,872 patent/US20110082833A1/en not_active Abandoned
- 2009-06-03 US US12/743,367 patent/US20110161292A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870765A (en) * | 1996-10-09 | 1999-02-09 | Oracle Corporation | Database synchronizer |
US5884325A (en) * | 1996-10-09 | 1999-03-16 | Oracle Corporation | System for synchronizing shared data between computers |
US5926816A (en) * | 1996-10-09 | 1999-07-20 | Oracle Corporation | Database Synchronizer |
US6668260B2 (en) * | 2000-08-14 | 2003-12-23 | Divine Technology Ventures | System and method of synchronizing replicated data |
US6892210B1 (en) * | 2000-12-29 | 2005-05-10 | Worldsync, Inc. | Database management and synchronization across a peer-to-peer network |
US20030093431A1 (en) * | 2001-11-13 | 2003-05-15 | Tadpole Technology Plc | System and method for managing the synchronization of replicated version-managed databases |
JP2004013367A (en) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | Data storage subsystem |
US7415467B2 (en) * | 2003-03-06 | 2008-08-19 | Ixion, Inc. | Database replication system |
JP2005063374A (en) * | 2003-08-20 | 2005-03-10 | Nippon Telegr & Teleph Corp <Ntt> | Data management method, data management device, program for the same, and recording medium |
JP2005216167A (en) * | 2004-01-30 | 2005-08-11 | Toshiba Corp | System, method and program for database management and database registration request program |
US7403945B2 (en) * | 2004-11-01 | 2008-07-22 | Sybase, Inc. | Distributed database system providing data and space management methodology |
US20080059469A1 (en) * | 2006-08-31 | 2008-03-06 | International Business Machines Corporation | Replication Token Based Synchronization |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745003B1 (en) | 2011-05-13 | 2014-06-03 | Emc Corporation | Synchronization of storage using comparisons of fingerprints of blocks |
US8782003B1 (en) * | 2011-05-13 | 2014-07-15 | Emc Corporation | Synchronization of storage using log files and snapshots |
Also Published As
Publication number | Publication date |
---|---|
US9678996B2 (en) | 2017-06-13 |
CN101765831B (en) | 2012-10-17 |
JPWO2008149552A1 (en) | 2010-08-19 |
US20100198789A1 (en) | 2010-08-05 |
CN101765831A (en) | 2010-06-30 |
US20110082833A1 (en) | 2011-04-07 |
US20130226886A1 (en) | 2013-08-29 |
JP4573277B2 (en) | 2010-11-04 |
CN102216910B (en) | 2014-05-14 |
WO2008149552A1 (en) | 2008-12-11 |
CN102216910A (en) | 2011-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110161292A1 (en) | Method for parallel editing data item of database | |
CN108932282B (en) | Database migration method and device and storage medium | |
US10089345B2 (en) | Cross-ACL multi-master replication | |
US8689179B2 (en) | Transportable refactoring object | |
EP2610762A1 (en) | Database version management system | |
US7818293B2 (en) | Method and system to synchronize updated versions of a document edited on a collaborative site that are under document management control | |
JP2007328489A (en) | Document management device and program | |
US20230334031A1 (en) | Versioned relational dataset management | |
WO2009147851A1 (en) | Method for parallel editing data item of database | |
JP5543899B2 (en) | Parallel editing method for database data items | |
JP5543918B2 (en) | Conflict resolution method for parallel database editing | |
JP4855538B2 (en) | Parallel editing method for database data items | |
JP4855537B2 (en) | Database parallel editing method | |
JP4923140B2 (en) | Database parallel editing method | |
AU2003292085B2 (en) | Avoiding data loss when refreshing a data warehouse | |
US7209919B2 (en) | Library server locks DB2 resources in short time for CM implicit transaction | |
US8171003B2 (en) | Method and apparatus for changing reference of database | |
US20210256022A1 (en) | System for Creating a Dataset Network | |
JP5543901B2 (en) | Database parallel editing method | |
CN116126869A (en) | Table structure modification method, storage medium and apparatus | |
JP2005242850A (en) | File management system, method, and program | |
Zhang et al. | Towards secure multi-sited transactional revision control systems | |
US20130110777A1 (en) | Synchronization of data edited in parallel | |
GB2503330A (en) | Method of using asynchronous subordinate processes in a mainframe computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |