EP1846823A1 - Method for mirroring relational data - Google Patents
Method for mirroring relational dataInfo
- Publication number
- EP1846823A1 EP1846823A1 EP06701136A EP06701136A EP1846823A1 EP 1846823 A1 EP1846823 A1 EP 1846823A1 EP 06701136 A EP06701136 A EP 06701136A EP 06701136 A EP06701136 A EP 06701136A EP 1846823 A1 EP1846823 A1 EP 1846823A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- hyper
- rdm
- modules
- relational data
- mirroring
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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
- G06F11/2038—Error 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 with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Definitions
- the present invention relates to a method according the preamble of claim 1.
- Known methods for redundancy employ a standby or backup processor that gets updated and synchronized with the data coming from an active or primary processor . Data is replicated from the primary processor to the backup processor through a mirroring process .
- the backup processor is configured to have enough knowledge to take over and resume operations seamlessly in an event of failure of the primary processor .
- object-oriented designs have data structures contained within and spread across many software modules .
- Such data structures are purposely hidden from other modules as a way to protect the data .
- these pieces of data in different modules may be related and may need to be mirrored simultaneously to the back-up processor.
- a group of software modules each one performing a different specific rule, may be required as a whole to perform a giant rule (e. g. a telephone call , an update to a database) .
- a giant rule e. g. a telephone call , an update to a database
- the data structures required by such group of modules may become related to each other and, consequently, in a mirroring operation, such relational data need to be moved in a simultaneous manner to the back-up processor .
- the proposed method may be utilized in small to large software systems requiring the mirroring of relational data .
- the proposed method may be utilized in software systems employing object oriented design principles .
- Figure 1 a block diagram illustrating the method for mirroring data to a backup processor in an example embodiment according to the present invention.
- FIG. 1 shows different generic modules Ml , M2 , M3 , DB which contain relational data to be mirrored to a backup processor BKP .
- modules Ml , M2 , M3 , DB may be applications , services , layers and databases .
- Element RDM is a relational data manager that enables a general function and/or its internal elements Ml , M2 , M3 , DB to create a relational data bundle also called hyper-frame HF_A to generate a reliable snapshot of pertinent data to be transmitted to the backup processor BKP .
- An example of a general function may be a telephony application that handles voice over IP protocols , an airline reservation application, a stock market trading application or any other function of a software system which requires data redundancy.
- Examples of internal elements Ml , M2 , M3 , DB may be software modules such as databases , services , layers that perform distinct specific functions , inside the general function, and contain relational data to be replicated to the backup processor BKP .
- the relational data manager RDM creates the relational hyper- frame HF_A having at least one hyper-element HEl .
- the hyper- frame HF_A holds the representation of relational data by collecting each relational data provided by each independent software module Ml , M2 , M3 , DB .
- Each relational data coming from each module Ml , M2 , M3 , DB HF_A gets attached to one of the hyper elements HEl , HE2 , HE3 , HE4 of the relational bundle hyper-frame HP_A.
- additional modules Ml , M2 , M3 , DB may attach to the hyper frame HF_A seamlessly.
- the relational data manager RDM may accept additional data coming from other additional software modules and dynamically allocate an additional data part of a hyper-frame HF_A.
- the number of hyper-elements HEl , HE2 , HE3 , HE4 attached to the hyper-frame HF_A may be increased in a scalable way. For example, as the code base grows , other hyper-elements may be attached to the hyper- frame HF_A without affecting the already existing hyper- elements HEl , HE2 , HE3 , HE4.
- the relational data manager RDM uses a key based mechanism to tie the data bundle HF_A together .
- a key K_A, K_B, K_C uniquely identifies a chosen hyper-frame HF_A, HF_B, HF__C, and is used by independent software modules Ml , M2 , M3 , DB to access the same hyper frame HF_A.
- the relational data manager RDM may provide APIs or functions to perform tasks such as setup, get a key K_A to the hyper- frame HF_A, update hyper-element HEl , HE2 , HE3 , HE4 to provide relational data and trigger the data bundle HF_A for transmission to the backup processor BKP .
- the relational data manager RDM initializes a relational data mirroring instance by allocating memory and setting up an initial context .
- the relational data manager RDM provides a new key K_A that indexes to a new hyper-frame HF_A, see in Figure 1 arrow rgk_f which represents the function RDM get a key.
- the relational data manager RDM may be advantageously instantiated to support several concurrent sessions from several groups of modules Ml , M2 , M3 , DB that perform several general functions , each of such group utilizing one hyper frame HF_A, HF__B, HF_C indexed by a key K_A, K_B, K_C .
- modules Ml , M2 , M3 , DB that perform several general functions , each of such group utilizing one hyper frame HF_A, HF__B, HF_C indexed by a key K_A, K_B, K_C .
- Figure 1 it is shown an example of a single group of modules Ml , M2 , M3 , DB performing a single general function and thus linking to a single hyper-frame HF_A.
- the relational data manager RDM when requested through the get key instance rgk_f, provides the requesting module with another key K_B, K_C from its pool of keys PK so that the new related group of modules is able to access the new free hyper-frame HF_B, HF_C .
- a specific software module belonging to the group of modules Ml, M2 , M3 , DB, performing the general function may invoke the API RDM add data rad_f for bundling the relevant data of the module into the hyper-frame HF_A as hyper-element HEl , HE2 , HE3 , HE4.
- the data bundle is triggered for transmission to the backup processor BKP when all independent software modules Ml, M2 , M3 , DB, which are all related to the same particular general function, have completed to add their concerned data into the hyper frame HF_A.
- the invoked RDM trigger function rtd_f mirrors the bundled hyper-frame HF_A all together.
- Such trigger operation transmits the hyper frame HF_A in a single operation to the backup processor BKP .
- the trigger API rt ⁇ _f may be invoked by any of the specific modules Ml , M2 , M3 , DB .
- the API rtd_f may be invoked by an audit function running in the background.
- the proposed invention advantageously frees the software modules Ml , M2 , M3 , DB from being tight inter-coupled.
- modules or databases Ml, M2 , M3 , DB that need to be mirrored get added, they merely add on to the bundle HF_A using the relational data manager RDM without disrupting other existing entities .
- Tight inter- coupling exist when, for example, three modules containing data that need to be mirrored at the same time, and, when it is time for mirroring in the code path of the first module, the first module has to grab data from the other two modules before performing the mirror operation.
- each module Ml, M2 , M3 , DB adds data to the hyper-frame HF_A independently and, advantageously, the churn in proven and tested code is reduced.
- the relational data manager RDM may comprise a built in ageing manager to handle, log and cleanup any un-triggered lingering key K_A, K_B, K_C that may be left in the relational data manager RDM due to bugs in the application software .
- Lingering keys K_A, K_B, K_C are keys that were obtained by a user of relational data manager RDM and that were not returned back to the relational data manager RDM. If lingering keys are not cleaned up, the pool of keys PK of the relational data manager RDM may get exhausted and this may prevent further mirroring operations .
- Un-triggered keys K_A, K_B, K_C may be recognized by periodically auditing the relational data manager RDM data and by determining the age of a key K_A, K_B, K__C .
- a key K_A, K_B, K_C which is persisting beyond the auditing criteria is freed up .
- the present invention allows to efficiently override data provided by a specific module Ml , M2 , M3 , DB prior to a trigger operation using the same key K_A.
- the fact that the proposed inventive mirroring method comprises two distinct steps , one for data bundling and one for data triggering, leads to the advantage that several bundling sessions , in which the snapshot of the relational data is updated, may be invoked without incurring in an expensive mirror operation .
- the mirroring to the backup processor BKP occurs only when the triggering function is performed (which is a CPU/time expensive process ) .
- frequent updates of the bundle HF_A do not result in a complete mirror operation but just in a refresh of the relational data bundle HF_A to be mirrored.
- the proposed invention advantageously enables calls to the relational data manager RDM APIs rgk_f, rad_f, rtd_f , to be placed in a common location within one module Ml , M2 , M3 , DB instead of being placed, in a scattered way, throughout the code base .
- Such common locations may be central places of the module code structure from where other logic conditions branch out .
- RDM relational data manager rgk_f RDM get key function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US64880805P | 2005-02-01 | 2005-02-01 | |
| PCT/EP2006/000488 WO2006081953A1 (en) | 2005-02-01 | 2006-01-20 | Method for mirroring relational data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1846823A1 true EP1846823A1 (en) | 2007-10-24 |
Family
ID=36636258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP06701136A Withdrawn EP1846823A1 (en) | 2005-02-01 | 2006-01-20 | Method for mirroring relational data |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP1846823A1 (en) |
| WO (1) | WO2006081953A1 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
| US4631673A (en) * | 1985-01-22 | 1986-12-23 | International Business Machines Corporation | Method for refreshing multicolumn tables in a relational data base using minimal information |
| US6622152B1 (en) * | 2000-05-09 | 2003-09-16 | International Business Machines Corporation | Remote log based replication solution |
| KR100471567B1 (en) * | 2000-07-29 | 2005-03-07 | 엘지전자 주식회사 | Transaction Management Method For Data Synchronous In Dual System Environment |
| US7162469B2 (en) * | 2002-07-20 | 2007-01-09 | Microsoft Corporation | Querying an object for properties |
-
2006
- 2006-01-20 WO PCT/EP2006/000488 patent/WO2006081953A1/en not_active Ceased
- 2006-01-20 EP EP06701136A patent/EP1846823A1/en not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2006081953A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2006081953A1 (en) | 2006-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2929777C (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
| KR101315330B1 (en) | System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases | |
| US7610582B2 (en) | Managing a computer system with blades | |
| EP3069228B1 (en) | Partition-based data stream processing framework | |
| US7010617B2 (en) | Cluster configuration repository | |
| EP1654645B1 (en) | Fast application notification in a clustered computing system | |
| JP4570312B2 (en) | Method and apparatus for providing volume snapshot dependency in a computer system | |
| Machida et al. | Candy: Component-based availability modeling framework for cloud service management using sysml | |
| US20090055444A1 (en) | Method and System for High-Availability Database | |
| CN113779143B (en) | Dual active data center and business system | |
| JP4675174B2 (en) | Database processing method, system and program | |
| Yu et al. | CaaS-LSM: compaction-as-a-service for LSM-based key-value stores in storage disaggregated infrastructure | |
| CN112740186B (en) | Applying logs to buckets | |
| JP4572581B2 (en) | Database processing method and system, and processing program therefor | |
| US7516181B1 (en) | Technique for project partitioning in a cluster of servers | |
| US20250252114A1 (en) | Etl job distributed processing system and method based on dynamic clustering | |
| EP1846823A1 (en) | Method for mirroring relational data | |
| Hermansson et al. | A distributed component architecture for a large telecommunication application | |
| US7577640B1 (en) | Highly available, highly scalable multi-source logical database with low latency | |
| US11809394B1 (en) | Amendments for transactional index | |
| Chou et al. | Oracle timesten scaleout: a new scale-out in-memory database architecture for extreme oltp | |
| KR100198440B1 (en) | A method indexing technique and dynamic update-propagations in memory-resident object-oriented database systems | |
| KR100536878B1 (en) | Method for real time backing up main memory database of Home Location Register in mobile communication network using replication technique | |
| CN118264706A (en) | Data source management method and server | |
| EP4377814A1 (en) | Data guard at pdb (pluggable database) level |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20070903 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NOKIA SIEMENS NETWORKS S.P.A. |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NOKIA SIEMENS NETWORKS GMBH & CO. KG |
|
| 17Q | First examination report despatched |
Effective date: 20071116 |
|
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20080327 |