US20110161292A1 - Method for parallel editing data item of database - Google Patents

Method for parallel editing data item of database Download PDF

Info

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
Application number
US12/743,367
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.)
Individual
Original Assignee
Individual
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/001506 external-priority patent/WO2009147701A1/en
Priority claimed from PCT/JP2008/001719 external-priority patent/WO2009147704A1/en
Application filed by Individual filed Critical Individual
Publication of US20110161292A1 publication Critical patent/US20110161292A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency 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

    TECHNICAL FIELD
  • 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”).
  • BACKGROUND ART <General Operation Which Sets Up an Item Before Data Input>
  • 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-patent literature 2, Non-patent literature 3 and Non-patent literature 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.
  • <SQL Language Prohibits Parallel Editing Work>
  • 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-patent literature 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-patent literature 5. Chapter 6, “Updating, addition and deletion of data”, of Non-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.
  • <Parallel Editing Work Based on Cache Technology>
  • 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.
  • <Limit of Conventional Technology>
  • 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)
    DESCRIPTION OF THE INVENTION Problems to be Solved by the Invention
  • The present invention shows mechanism that performs parallel editing work to data item by plural PCs.
  • Means for Solving the Problem <Parallel Editing Work>
  • 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.
  • <Separation of Item Definitions and Parallel Editing Work>
  • 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.
  • <Confirmation of Item Change and an Update Procedure of Data Table Structure>
  • 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.
  • <Procedure Prohibiting Parallel Editing Work>
  • 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.
  • <Referring to Claims of the Original Submission>
  • 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.
  • Effect of the Invention
  • 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”.
  • BRIEF EXPLANATION OF FIGURE
  • [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
  • DESCRIPTION OF NOTATIONS
    • 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
    BEST MODE OF CARRYING OUT THE INVENTION
  • 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 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”.
  • 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. In FIG. 1, 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.
  • 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 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.
  • 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 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. 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 of editing work 0215, 0216) and updates duplicated item TBL 0211 and duplicated data 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 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”. 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 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.
  • Contents of editing work 0108, 0109 that are sent up to the server, will be received by other PCs, which use their “means synchronizing duplicated TBL” 0205. And, “confirming validity of contents of editing work” 0306 is performed, and duplicated TBL of these PCs will be updated. “Means synchronizing duplicated TBL” 0205 will be performed also by the computer that sent up the “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 duplicated data 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 duplicated data 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 duplicated data 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 of Conversion Procedure>
  • An example is explained using duplicated item TBL 0701 and duplicated data TBL 0702 of FIG. 7. 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.
  • “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 duplicated data TBL 0702. Records of the duplicated data TBL have no value of the item.
  • [Conversion Procedure]:
  • 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.
  • [Revival of Deletion]:
  • 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”
  • [Order of Showing]:
  • “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.
  • [Flow of Procedure]:
  • 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 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.
  • 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.
  • 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 duplicated item 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 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.
  • <Prohibition of Parallel Editing Work>
  • 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. 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.
  • INDUSTRIAL APPLICABILITY
  • 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.
US12/743,367 2007-06-06 2009-06-03 Method for parallel editing data item of database Abandoned US20110161292A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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