CA2395282A1 - Preserving consistency of passively-replicated non-deterministic objects - Google Patents

Preserving consistency of passively-replicated non-deterministic objects Download PDF

Info

Publication number
CA2395282A1
CA2395282A1 CA002395282A CA2395282A CA2395282A1 CA 2395282 A1 CA2395282 A1 CA 2395282A1 CA 002395282 A CA002395282 A CA 002395282A CA 2395282 A CA2395282 A CA 2395282A CA 2395282 A1 CA2395282 A1 CA 2395282A1
Authority
CA
Canada
Prior art keywords
request
transaction
client
primary replica
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002395282A
Other languages
French (fr)
Other versions
CA2395282C (en
Inventor
Pascal Felber
Gary Hallmark
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.)
Oracle International Corp
Original Assignee
Oracle International Corporation
Pascal Felber
Gary Hallmark
Oracle Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corporation, Pascal Felber, Gary Hallmark, Oracle Corporation filed Critical Oracle International Corporation
Publication of CA2395282A1 publication Critical patent/CA2395282A1/en
Application granted granted Critical
Publication of CA2395282C publication Critical patent/CA2395282C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

Techniques are provided for executing an operation in which a client invokes a replicated object. According to one technique, a primary replica of a replicated object receives a first request from a client, wherein the first request includes a request identifier. Rather than immediately attempting to process the request, the primary replica determines whether a record exists that corresponds to the request identifier. If a record exists that corresponds to the request identifier, then the primary replica responds to the first request with a reply associated with the record. If no record exists that corresponds to the request identifier, then the primary replica performs the steps of: starting a transaction; as part of the transaction, processing the request; as part of the transaction, storing a record associated with the request identifier and a reply to the request; committing the transaction; and delivering the reply to the client. The client may itself be a replicated object. If the client is nondeterministic, then the transaction initiated by the primary replica may be a nested transaction relative to a transaction executed by the client, or be executed as part of the same transaction as the client. If the transaction executed by the primary replica is executed as part of the same transaction as the client, then a savepoint may be established before the primary replica processes the request, so that a failure will not necessarily require all processing performed by the client to be rolled back.
CA002395282A 2000-01-06 2000-12-21 Preserving consistency of passively-replicated non-deterministic objects Expired - Lifetime CA2395282C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/478,946 2000-01-06
US09/478,946 US6574750B1 (en) 2000-01-06 2000-01-06 Preserving consistency of passively-replicated non-deterministic objects
PCT/US2000/035230 WO2001050264A1 (en) 2000-01-06 2000-12-21 Preserving consistency of passively-replicated non-deterministic objects

Publications (2)

Publication Number Publication Date
CA2395282A1 true CA2395282A1 (en) 2001-07-12
CA2395282C CA2395282C (en) 2009-05-05

Family

ID=23902036

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002395282A Expired - Lifetime CA2395282C (en) 2000-01-06 2000-12-21 Preserving consistency of passively-replicated non-deterministic objects

Country Status (8)

Country Link
US (1) US6574750B1 (en)
EP (1) EP1247182B1 (en)
AT (1) ATE242896T1 (en)
AU (1) AU771514B2 (en)
CA (1) CA2395282C (en)
DE (1) DE60003339T2 (en)
HK (1) HK1046455B (en)
WO (1) WO2001050264A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363325B2 (en) * 2000-08-10 2008-04-22 Nec Laboratories America, Inc. Synchronizable transactional database method and system
ATE349041T1 (en) * 2000-10-27 2007-01-15 Availigent Inc ERROR TOLERANCE FOR COMPUTER PROGRAMS OPERATED OVER A COMMUNICATIONS NETWORK
US9659292B1 (en) * 2001-08-30 2017-05-23 EMC IP Holding Company LLC Storage-based replication of e-commerce transactions in real time
US7231554B2 (en) * 2002-03-25 2007-06-12 Availigent, Inc. Transparent consistent active replication of multithreaded application programs
GB0324961D0 (en) * 2003-10-25 2003-11-26 Ibm Invocation of a follow on unit of work
US7188273B2 (en) 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US7634566B2 (en) * 2004-06-03 2009-12-15 Cisco Technology, Inc. Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
US7203871B2 (en) * 2004-06-03 2007-04-10 Cisco Technology, Inc. Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes
JP5102634B2 (en) * 2005-01-28 2012-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション How to count instructions for logging and playing deterministic event sequences
US7730286B2 (en) * 2005-12-30 2010-06-01 Intel Corporation Software assisted nested hardware transactions
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US8375001B2 (en) * 2008-10-03 2013-02-12 Telefonaktiebolaget Lm Ericsson (Publ) Master monitoring mechanism for a geographical distributed database
US20120072604A1 (en) * 2009-05-29 2012-03-22 France Telecom technique for delivering content to a user
EP2601627B1 (en) * 2010-10-12 2022-03-16 Ent. Services Development Corporation LP Transaction processing system and method
US9600315B2 (en) * 2010-10-22 2017-03-21 Netapp, Inc. Seamless takeover of a stateful protocol session in a virtual machine environment
FR3030805B1 (en) * 2014-12-19 2016-12-23 Thales Sa QUALITY OF SERVICE OF A FLIGHT MANAGEMENT SYSTEM

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864854A (en) 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US5963915A (en) * 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
US6286011B1 (en) * 1997-04-30 2001-09-04 Bellsouth Corporation System and method for recording transactions using a chronological list superimposed on an indexed list
US6490610B1 (en) * 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US5958004A (en) * 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US6223215B1 (en) * 1998-09-22 2001-04-24 Sony Corporation Tracking a user's purchases on the internet by associating the user with an inbound source and a session identifier
US6457065B1 (en) * 1999-01-05 2002-09-24 International Business Machines Corporation Transaction-scoped replication for distributed object systems
JP2000207266A (en) * 1999-01-13 2000-07-28 Mitsubishi Electric Corp Replica system and replica method
US6446048B1 (en) * 1999-09-03 2002-09-03 Intuit, Inc. Web-based entry of financial transaction information and subsequent download of such information

Also Published As

Publication number Publication date
AU2291701A (en) 2001-07-16
EP1247182A1 (en) 2002-10-09
HK1046455A1 (en) 2003-01-10
WO2001050264A1 (en) 2001-07-12
HK1046455B (en) 2003-09-11
US6574750B1 (en) 2003-06-03
DE60003339T2 (en) 2004-04-29
ATE242896T1 (en) 2003-06-15
EP1247182B1 (en) 2003-06-11
CA2395282C (en) 2009-05-05
DE60003339D1 (en) 2003-07-17
AU771514B2 (en) 2004-03-25

Similar Documents

Publication Publication Date Title
CA2395282A1 (en) Preserving consistency of passively-replicated non-deterministic objects
CA2294654A1 (en) Fault-tolerant java virtual machine
WO1999057632A3 (en) Initializing and restarting operating systems
WO2006012449A3 (en) Tracking objects modified between backup operations
CA2040322A1 (en) Asynchronous resynchronization of a commit procedure
CA2227432A1 (en) Transaction synchronization in a disconnectable computer and network
CA2447522A1 (en) Synchronous change data capture in a relational database
WO2002088946A3 (en) Resource action in clustered computer system incorporating prepare operation
AU2002347641A1 (en) Face recognition using kernel fisherfaces
EP0684553A3 (en) Method and apparatus for generating and using short operation identifiers in object oriented systems
WO2007071592A3 (en) Commitment of transactions in a distributed system
ES2163533T3 (en) PROCEDURE AND SYSTEM FOR AUTOMATICALLY GENERATING TEST BOXES EFFECTIVE TO TEST SOFTWARE SYSTEMS.
CA2259520A1 (en) Preparation for injection containing a lipid a analog and process for preparing the same
WO2003098391A3 (en) Automated financial system and method
EP1335305A3 (en) Algorithm for dynamic selection of data locking granularity
WO2004010263A3 (en) Method and system for automating business processes
CN109118449B (en) Current carpet type identification system
EP1164484A3 (en) Method, system and program product for managing processing groups of a distributed computing environment
WO2001013281A3 (en) Method and system for providing an enterprise database
WO2004010330A3 (en) Databases synchronization
CN108536798A (en) The restoration methods and system of the other database data of order level
WO2004114152A3 (en) Databases synchronization
WO2000054188A3 (en) Method for the automatic retrieval of engineering data of systems
EP0781580A3 (en) Method for performing derivative scenario in a video game program
EP1160666A3 (en) Switching versions of software in a system background

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20201221