US7809762B1 - Outage-less database change operation - Google Patents
Outage-less database change operation Download PDFInfo
- Publication number
- US7809762B1 US7809762B1 US10/618,208 US61820803A US7809762B1 US 7809762 B1 US7809762 B1 US 7809762B1 US 61820803 A US61820803 A US 61820803A US 7809762 B1 US7809762 B1 US 7809762B1
- Authority
- US
- United States
- Prior art keywords
- instructions
- database
- portions
- partitions
- act
- 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.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Definitions
- the present invention relates to updating a database and more particularly, but not by way of limitation, to a system and methods for updating the structure of a database without restricting a user's access to the database during the update operation.
- Databases may be characterized as comprising two types of “objects”—data objects and index objects, both of which are typically embodied as files stored on one or more direct access storage devices (DASD).
- Data objects and index objects are, in turn, organized and managed through a system catalog or data dictionary (also embodied as files stored on one or more DASD).
- a system catalog's function is to describe the objects in its database. For example, a system catalog identifies the structure (schema) of each table in its database and any indices associated with those tables.
- a system catalog identifies the structure (schema) of each table in its database and any indices associated with those tables.
- the term ‘table’ to refer to data objects
- index to refer to index objects
- catalog to refer to a database's system catalog.
- a typical prior art database change operation 100 is shown.
- a user-initiated database change command is received (block 105 ).
- Illustrative change commands include those commands directed to inserting a new database table entry, updating an existing database table entry, creating an index and updating or rebalancing an existing index.
- the change command is executed (block 110 ) and committed (block 115 ).
- the commit operation makes permanent the database changes made during the acts of block 110 .
- the update process contemplated by the change command of block 105 and enabled by the acts of blocks 110 and 115 is performed (block 120 ).
- either the entire database or that portion of the database being updated is restricted from user access (block 125 ).
- the database e.g., tables and/or indices
- the database are updated in accordance with the change command (block 130 ).
- user access is restored (block 135 ) and normal operations against the updated database may continue (block 140 ). It is important to note that user access to at least a portion of the database being updated is blocked during the acts of block 120 —often referred to as an “outage.”
- index rebalance operation 200 outlined in FIG. 2 .
- the user wishes to rebalance a partitioned database by changing the key range (sometimes referred to as the Limitkey value) associated with one or more partitions of the target database.
- One illustrative database which allows this type of change operation is the DB2® database.
- DB2 is a registered trademark of the International Business Machines corporation of Armonk, N.Y.
- ALTER is the DB2 command to effect the desired change in Limitkey values
- rebalance process 200 locks the target database (block 205 ) so that subsequent user queries and/or commands are queued for later execution.
- the catalog for the target database is then updated to reflect the desired Limitkey changes (block 210 ), the partitions that must be updated to effect the desired changes are set to a restricted state (block 215 ) and the lock set during the acts of block 205 is released (block 220 ).
- the catalog changes made during the acts of block 210 and the restricted status of one or more of the database's partitions are made permanent when committed (block 115 ).
- rebalance process 200 issues a STOP command against the target dataset, or at least those partitions of the target database placed into a restricted state in accordance with block 215 (block 225 ).
- those partitions placed into a restricted state are not accessible to users and any queries and/or commands that require the restricted partitions are failed. Accordingly, a user outage begins once the change command is committed.
- Those partitions (tables and indices) needing modifications to effect the desired rebalance operation are made (block 230 ), the restricted state of the modified partitions is released (block 235 ) and the database restarted ( 240 ). Once restarted, user access is restored (i.e., the blockage ends) and normal user queries and/or commands may be processed.
- the invention provides a method to change the structure (tables and/or indices) of a target database without causing user outages.
- the method includes receiving a database change command, determining one or more portions of the target database that will be affected by the change command, creating one or more shadow portions of the determined one or more portions, changing the one or more shadow portions in accordance with the change command, executing the change command against the target database and swapping the one or more shadow portions for the determined one or more portions.
- Methods in accordance with the invention create and change the shadow portions before executing the change command.
- Methods in accordance with the invention may be stored in any media that is readable and executable by a computer system.
- FIG. 1 shows, in flowchart form, a prior art database change operation.
- FIG. 2 shows, in flowchart form, a prior art database rebalance operation.
- FIG. 3 shows, in flowchart form, a database update process in accordance with one embodiment of the invention.
- FIG. 4 shows, in flowchart form, a shadow data operation in accordance with the embodiment of FIG. 3 .
- FIG. 5 shows, in flowchart form, a method to establish or reestablish a database lock in accordance with one embodiment of the invention.
- FIG. 6 shows, in flowchart form, a method to swap shadow portions of a source database for corresponding actual portions of the source database in accordance with the embodiment of FIG. 3 .
- the present invention relates to updating a database and more particularly, but not by way of limitation, to a system and methods for updating the structure of a database without restricting a user's access to the database during the update operation.
- the following embodiments are described in terms of rebalancing a partitioned DB2® database by specifying a change in Limitkey values through the DB2 ALTER (change) command. These embodiments are illustrative only and are not to be considered limiting in any respect.
- database structure update process 300 begins when an ALTER command is received (block 305 ). Next, a shadow copy of the partitions (tables and indices) needed to effect the ALTER is created (block 310 ). The ALTER command is then executed as in the prior art (block 315 ). That is, the database whose structure is being updated (hereinafter, the “source” database) is locked, its catalog is modified in accordance with the ALTER command, the portions/partitions of the database needing change are placed in a restricted state and the aforementioned lock is released (see FIG. 2 at block 205 - 220 ). As known in the art, a DB2 database partition is placed into a restricted state by setting its REORP status to ON or TRUE.
- Update process 300 then re-establishes the lock released during the acts of block 315 (block 320 ) and sets those partitions of the database placed into a restricted state by the acts of block 315 into an unrestricted state (block 325 ).
- the previously updated shadow partitions are then swapped for their associated (but not updated) partitions in the source database (block 330 ) and the aforementioned acts committed (block 335 ).
- Performing the COMMIT has the effect of releasing the lock re-established during the acts of block 320 so that any queued user queries and/or commands against the previously locked partitions can be processed.
- illustrative update process 300 in accordance with the invention actually obtains and updates the structure of source database partitions in block 310 , before the change command is ever executed against the source database in block 315 . It is further significant that update process 300 keeps the source database (or portions thereof) out of a restricted state (see block 325 ). A consequence of these unique features is that a database's structure may be updated without causing a user outage. (It will be recognized and appreciated by those of ordinary skill in the art that use of database locks cause user queries and/or commands to queue so that users do not perceive an outage, while use of restrictive states cause user queries and/or commands to fail which, by definition, is perceived as an outage.)
- update process 300 establishes a connection with the source database (block 400 ) and the ALTER command is analyzed to determine which source database partitions need to be modified/changed to effect the ALTER command (block 405 ).
- those partitions identified as needing to be changed in block 405 are unloaded (i.e., copied) into one or more work files (block 410 ) and reorganized in accordance with the ALTER command into one or more shadow partitions (block 415 ).
- the shadow partitions may be updated (as needed) to incorporate any changes that occurred in the source database during the acts of blocks 400 - 415 (block 420 ).
- shadow partitions can be updated by interrogating the source database's log file(s) for any (committed) changes made during the aforementioned time and which would affect the content of one or more of the shadow partitions.
- the acts of block 425 involve executing of a pair of DB2 programs for each contiguous group of partitions that were identified during the acts of block 405 as needing to be changed, updated or altered. That is, if the ALTER command of block 305 (see FIG. 3 ) is determined is to require structural changes to table partitions 1 - 4 and 9 - 18 and index partitions 1 - 4 and 9 - 18 , the aforementioned pair of DB2 programs would be called four times: one time for table partitions 1 - 4 ; one time for table partitions 9 - 18 ; one time for index partitions 1 - 4 ; and one time for index partitions 9 - 18 .
- DB2 program DSNIFDBD is called (block 500 ) followed by DB2 program DSNIFPSC (block 505 ). If all contiguous partition groups have been processed (the ‘YES” prong of block 510 ), then all relevant source partitions have been locked (i.e., have had their drain set). If additional partitions need to be locked (the ‘NO” prong of block 510 ), processing continues at block 500 .
- the parameter list format for the DSNIFDBD program is shown in Table 1.
- the DSNIFPSC program takes a single parameter (a 4-byte address) that points to a contiguous block of memory having the values identified in Table 2.
- 4-byte pointer to source database's DBID is the DB2 internal DBID concatenated with a hex 1 identifier associated with value, x‘01’ each database.
- 4-byte pointer to a location in DBD is the DB2 internal which the DSNIFDBD program structure containing returns the address of the source information describing certain database's DBD database characteristics.
- 4-byte pointer to the hex constant x‘00 00 00 00 04 40 00 00’ 4-bytes of zero x‘00 00 00 00’
- the act of re-establishing a lock of designated source database partitions may be performed in the manner described above with respect to the acts of block 425 . That is, the act of locking relevant source database partitions (block 425 ) and the act of re-establishing a lock on the same partitions can be the same.
- the acts of block 325 involve executing the DB2 DSNIDBSE program for each source database partition placed in the restricted state (i.e., a partition whose REORP status has been set to ON or TRUE) as a result of executing the ALTER command (block 315 ).
- the DSNIDBSE program takes a single 4-word parameter that, logically, consists of four, 4-byte addresses as identified in Table3.
- 4-byte pointer to the DBET is the internal DB2 Database source database's DBET Exception Table that contains all of the flags associated with source database objects. These flags include the REORP restriction flags.
- 4-byte pointer to a The first 2-bytes are the source contiguous 5-byte database's DBID (see discussion in memory area Table 1); the second 2-bytes are the PSID or ISOBID (see discussion in Table 2); and the last byte is the partition number whose restriction status is being reset. 4-byte pointer to a hex x‘00 00 00 00 00 01 00 00’ constant 4-byte pointer to a hex x‘00 00 00 00’ constant
- FIG. 6 a detailed view of the acts of block 330 is provided.
- the source database partitions being replaced have their memory deallocated (block 600 ).
- the shadow partitions are renamed to the just deallocated partitions (block 605 ).
- one means of deallocating source partitions is through the DSNICLOS program.
- the DSNICLOS program takes a single parameter (a 4-byte address) that points to a 4-byte pointer to a contiguous block of memory having the values identified in Table4.
- Methods in accordance with the invention provide a means to change the structure of a database (or portion thereof) without causing a user outage.
- This beneficial result is achieved by creating shadow copies of a specified portion of a source database's information (e.g., tables and indices), maintaining locks (as opposed to restrictive states) on those portions and then swapping the structurally changed shadow portions for their corresponding source database portions.
- the use of shadow copies and locks in the manner described herein permit methods in accordance with the invention to avoid the use of restricted states that, by definition, create user outages.
- Acts in accordance with FIGS. 3-6 may be performed by a programmable control device executing instructions organized into a program module.
- a programmable control device may be a single computer processor, a plurality of computer processors coupled by a communications link, or a custom designed state machine.
- Storage devices suitable for tangibly embodying program instructions include, but not limited to: magnetic disks (fixed, floppy, and removable) and tape; optical media such as CD-ROM disks; and semiconductor memory devices such as Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (5PROM), Programmable Gate Arrays and flash devices.
- EPROM Electrically Programmable Read-Only Memory
- 5PROM Electrically Erasable Programmable Read-Only Memory
- Programmable Gate Arrays and flash devices.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
| TABLE 1 |
| DSNIFDBD Parameter List |
| Parameter | Comment | |
| 4-byte pointer to source database's | DBID is the DB2 internal | |
| DBID concatenated with a hex 1 | identifier associated with | |
| value, x‘01’ | each database. | |
| 4-byte pointer to a location in | DBD is the DB2 internal | |
| which the DSNIFDBD program | structure containing | |
| returns the address of the source | information describing certain | |
| database's DBD | database characteristics. | |
| 4-byte pointer to the hex constant | ||
| x‘00 00 00 00 04 40 00 00’ | ||
| 4-bytes of zero | x‘00 00 00 00’ | |
| TABLE 2 |
| DSNIFPSC Values |
| Value | Comment |
| 2-byte DBID concatenated | See discussion in Table 1. |
| with the hex value x‘01 00’ | |
| 2-byte PSID or ISOBID | PSID is the DB2 internal Page Set |
| Identifier, ISOBID is the DB2 | |
| internal Index Set Object Set | |
| Identifier. If a table object is being | |
| locked, a PSID value is used. If an | |
| index object is being locked, an | |
| ISOBID value is used. | |
| 26-bytes of zero | x‘00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 00 00 | |
| 00 00 00 00 00 00 00 00’ | |
| 4-byte pointer to [A] | See below. |
| 4-byte pointer to [C] | See below. |
| 2-byte partition | The first partition in a contiguous |
| identifier | group of partitions. |
| 2-byte partition | The last partition in a contiguous |
| identifier | group of partitions. |
| Hex constant | x‘00 00 80 83 98 E8 01’ |
| 3-bytes of zero | x‘00 00 00’ |
| 4-bytes of zero | This is entry [A]: x‘00 00 00 00’ |
| 4-bytes of zero | x‘00 00 00 00’ |
| 4-bytes of zero | This is entry [C]: x‘00 00 00 00’ |
| TABLE 3 |
| DSNIDBSE Parameter Breakdown |
| Value | Comment | |
| 4-byte pointer to the | DBET is the internal DB2 Database | |
| source database's DBET | Exception Table that contains all of | |
| the flags associated with source | ||
| database objects. These flags include | ||
| the REORP restriction flags. | ||
| 4-byte pointer to a | The first 2-bytes are the source | |
| contiguous 5-byte | database's DBID (see discussion in | |
| memory area | Table 1); the second 2-bytes are the | |
| PSID or ISOBID (see discussion in | ||
| Table 2); and the last byte is the | ||
| partition number whose restriction | ||
| status is being reset. | ||
| 4-byte pointer to a hex | x‘00 00 00 00 00 01 00 00’ | |
| constant | ||
| 4-byte pointer to a hex | x‘00 00 00 00’ | |
| constant | ||
| TABLE 4 |
| DSNICLOS Parameter Breakdown |
| Value | Comment | |
| 2-byte DBID | See discussion in Table 1. | |
| 2-byte hex constant | x‘01 00’ | |
| 2-byte PSID or ISOBID | See discussion in Table 2. | |
| 1-byte partition number | ||
| 1-byte hex constant | x‘EB’ | |
Claims (38)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/618,208 US7809762B1 (en) | 2003-07-11 | 2003-07-11 | Outage-less database change operation |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/618,208 US7809762B1 (en) | 2003-07-11 | 2003-07-11 | Outage-less database change operation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US7809762B1 true US7809762B1 (en) | 2010-10-05 |
Family
ID=42797854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/618,208 Active 2028-08-21 US7809762B1 (en) | 2003-07-11 | 2003-07-11 | Outage-less database change operation |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US7809762B1 (en) |
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110055164A1 (en) * | 2009-09-03 | 2011-03-03 | Softthinks Sas | Method and system for maintaining data recoverability |
| US20110071982A1 (en) * | 2009-09-21 | 2011-03-24 | Bmc Software, Inc. | Offline Restructuring of DEDB Databases |
| US20150074080A1 (en) * | 2011-08-30 | 2015-03-12 | Open Text SA | System and method of managing capacity of search index partitions |
| WO2016118429A1 (en) * | 2015-01-19 | 2016-07-28 | Alibaba Group Holding Limited | System for efficient processing of transaction requests related to an account in a database |
| US9547672B2 (en) * | 2012-09-24 | 2017-01-17 | Bmc Software, Inc. | Zero-outage database reorganization |
| US20170249327A1 (en) * | 2016-02-29 | 2017-08-31 | Red Hat, Inc. | Detecting stale storage layouts without using client locks |
| US10140350B2 (en) * | 2015-11-09 | 2018-11-27 | Dassault Systemes Americas Corp. | Bi-directional synchronization of data between a product lifecycle management (PLM) system and a source code management (SCM) system |
| US10235148B2 (en) * | 2005-09-09 | 2019-03-19 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
| US10248954B2 (en) | 2014-08-14 | 2019-04-02 | Alibaba Group Holding Limited | Method and system for verifying user identity using card features |
| US10249013B2 (en) | 2015-02-03 | 2019-04-02 | Alibaba Group Holding Limited | Method and system for wireless payment of public transport fare |
| US10275813B2 (en) | 2014-07-08 | 2019-04-30 | Alibaba Group Holding Limited | Method and system for providing a transaction platform for pre-owned merchandise |
| US10296636B2 (en) | 2015-10-09 | 2019-05-21 | Alibaba Group Holding Limited | Efficient navigation category management |
| US10325088B2 (en) | 2014-07-03 | 2019-06-18 | Alibaba Group Holding Limited | Method and system for information authentication |
| US10496611B1 (en) * | 2015-03-20 | 2019-12-03 | EMC IP Holding Company LLC | Method and system for file name based command execution in a storage system |
| US10621526B2 (en) | 2015-11-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system |
| US10621524B2 (en) | 2015-11-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system |
| US10755345B2 (en) | 2014-12-03 | 2020-08-25 | Alibaba Group Holding Limited | System and method for secure account transfer |
| US11538039B2 (en) | 2018-02-12 | 2022-12-27 | Advanced New Technologies Co., Ltd. | Method and system for facilitating risk control of an online financial platform |
| US11816714B2 (en) | 2018-03-19 | 2023-11-14 | Advanced New Technologies Co., Ltd. | Service verification method and apparatus |
| US12159305B2 (en) | 2018-03-07 | 2024-12-03 | Advanced New Technologies Co., Ltd. | Content-recommendation method and apparatus, electronic device, and system |
| US12210570B2 (en) | 2017-07-06 | 2025-01-28 | Open Text Sa Ulc | System and method of managing indexing for search index partitions |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5396623A (en) * | 1992-10-30 | 1995-03-07 | Bmc Software Inc. | Method for editing the contents of a DB2 table using an editproc manager |
| US5491818A (en) * | 1993-08-13 | 1996-02-13 | Peoplesoft, Inc. | System for migrating application data definition catalog changes to the system level data definition catalog in a database |
| US5546536A (en) * | 1989-06-30 | 1996-08-13 | Digital Equipment Corporation | Log for selective management of specific address in a shadow storage system |
| US6035379A (en) * | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
| US6070170A (en) * | 1997-10-01 | 2000-05-30 | International Business Machines Corporation | Non-blocking drain method and apparatus used to reorganize data in a database |
| US6192460B1 (en) * | 1997-12-16 | 2001-02-20 | Compaq Computer Corporation | Method and apparatus for accessing data in a shadow set after a failed data operation |
| US20030009436A1 (en) * | 2001-07-03 | 2003-01-09 | International Business Machines Corporation | Changing table records in a database management system |
| US20030135478A1 (en) * | 2001-05-31 | 2003-07-17 | Computer Associates Think, Inc. | Method and system for online reorganization of databases |
| US20030220938A1 (en) * | 2002-05-24 | 2003-11-27 | Norcott William D. | Method and apparatus for partitioned based purging of data |
| US6965905B2 (en) * | 2002-12-20 | 2005-11-15 | Sun Microsystems, Inc. | Lock-free, parallel remembered sets |
-
2003
- 2003-07-11 US US10/618,208 patent/US7809762B1/en active Active
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546536A (en) * | 1989-06-30 | 1996-08-13 | Digital Equipment Corporation | Log for selective management of specific address in a shadow storage system |
| US5396623A (en) * | 1992-10-30 | 1995-03-07 | Bmc Software Inc. | Method for editing the contents of a DB2 table using an editproc manager |
| US5491818A (en) * | 1993-08-13 | 1996-02-13 | Peoplesoft, Inc. | System for migrating application data definition catalog changes to the system level data definition catalog in a database |
| US5613111A (en) * | 1993-08-13 | 1997-03-18 | Peoplesoft, Inc. | Method for migrating application data definition catalog changes to the system level data definition catalog in a database |
| US6035379A (en) * | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
| US6070170A (en) * | 1997-10-01 | 2000-05-30 | International Business Machines Corporation | Non-blocking drain method and apparatus used to reorganize data in a database |
| US6192460B1 (en) * | 1997-12-16 | 2001-02-20 | Compaq Computer Corporation | Method and apparatus for accessing data in a shadow set after a failed data operation |
| US20030135478A1 (en) * | 2001-05-31 | 2003-07-17 | Computer Associates Think, Inc. | Method and system for online reorganization of databases |
| US20030009436A1 (en) * | 2001-07-03 | 2003-01-09 | International Business Machines Corporation | Changing table records in a database management system |
| US20030220938A1 (en) * | 2002-05-24 | 2003-11-27 | Norcott William D. | Method and apparatus for partitioned based purging of data |
| US6965905B2 (en) * | 2002-12-20 | 2005-11-15 | Sun Microsystems, Inc. | Lock-free, parallel remembered sets |
Cited By (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11704102B2 (en) | 2005-09-09 | 2023-07-18 | Salesforce, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
| US10521211B2 (en) | 2005-09-09 | 2019-12-31 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
| US10235148B2 (en) * | 2005-09-09 | 2019-03-19 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
| US11314494B2 (en) | 2005-09-09 | 2022-04-26 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
| US12242835B2 (en) | 2005-09-09 | 2025-03-04 | Salesforce, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
| US20110055164A1 (en) * | 2009-09-03 | 2011-03-03 | Softthinks Sas | Method and system for maintaining data recoverability |
| US9128976B2 (en) | 2009-09-21 | 2015-09-08 | Bmc Software, Inc. | Offline restructuring of DEDB databases |
| US8700566B2 (en) * | 2009-09-21 | 2014-04-15 | Bmc Software, Inc. | Offline restructuring of DEDB databases |
| US20110071982A1 (en) * | 2009-09-21 | 2011-03-24 | Bmc Software, Inc. | Offline Restructuring of DEDB Databases |
| US9836541B2 (en) * | 2011-08-30 | 2017-12-05 | Open Text Sa Ulc | System and method of managing capacity of search index partitions |
| US20150074080A1 (en) * | 2011-08-30 | 2015-03-12 | Open Text SA | System and method of managing capacity of search index partitions |
| US9547672B2 (en) * | 2012-09-24 | 2017-01-17 | Bmc Software, Inc. | Zero-outage database reorganization |
| US11379437B1 (en) | 2012-09-24 | 2022-07-05 | Bmc Software, Inc. | Zero-outage database reorganization |
| US10289705B2 (en) | 2012-09-24 | 2019-05-14 | Bmc Software, Inc. | Zero-outage database reorganization |
| US10325088B2 (en) | 2014-07-03 | 2019-06-18 | Alibaba Group Holding Limited | Method and system for information authentication |
| US10275813B2 (en) | 2014-07-08 | 2019-04-30 | Alibaba Group Holding Limited | Method and system for providing a transaction platform for pre-owned merchandise |
| US10248954B2 (en) | 2014-08-14 | 2019-04-02 | Alibaba Group Holding Limited | Method and system for verifying user identity using card features |
| US10755345B2 (en) | 2014-12-03 | 2020-08-25 | Alibaba Group Holding Limited | System and method for secure account transfer |
| CN105869043A (en) * | 2015-01-19 | 2016-08-17 | 阿里巴巴集团控股有限公司 | Disperse hot spot database account transfer-in and transfer-out accounting method and device |
| US10579973B2 (en) | 2015-01-19 | 2020-03-03 | Alibaba Group Holding Limited | System for efficient processing of transaction requests related to an account in a database |
| WO2016118429A1 (en) * | 2015-01-19 | 2016-07-28 | Alibaba Group Holding Limited | System for efficient processing of transaction requests related to an account in a database |
| KR20170097132A (en) * | 2015-01-19 | 2017-08-25 | 알리바바 그룹 홀딩 리미티드 | System for efficient processing of transaction requests related to an account in a database |
| US10249013B2 (en) | 2015-02-03 | 2019-04-02 | Alibaba Group Holding Limited | Method and system for wireless payment of public transport fare |
| US10496611B1 (en) * | 2015-03-20 | 2019-12-03 | EMC IP Holding Company LLC | Method and system for file name based command execution in a storage system |
| US10296636B2 (en) | 2015-10-09 | 2019-05-21 | Alibaba Group Holding Limited | Efficient navigation category management |
| US10621526B2 (en) | 2015-11-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system |
| US10621524B2 (en) | 2015-11-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system |
| US10140350B2 (en) * | 2015-11-09 | 2018-11-27 | Dassault Systemes Americas Corp. | Bi-directional synchronization of data between a product lifecycle management (PLM) system and a source code management (SCM) system |
| US20170249327A1 (en) * | 2016-02-29 | 2017-08-31 | Red Hat, Inc. | Detecting stale storage layouts without using client locks |
| US10929357B2 (en) * | 2016-02-29 | 2021-02-23 | Red Hat, Inc. | Detecting stale storage layouts without using client locks |
| US12386793B2 (en) | 2016-02-29 | 2025-08-12 | Red Hat, Inc. | Detecting stale storage layouts without using client locks |
| US12210570B2 (en) | 2017-07-06 | 2025-01-28 | Open Text Sa Ulc | System and method of managing indexing for search index partitions |
| US11538039B2 (en) | 2018-02-12 | 2022-12-27 | Advanced New Technologies Co., Ltd. | Method and system for facilitating risk control of an online financial platform |
| US12159305B2 (en) | 2018-03-07 | 2024-12-03 | Advanced New Technologies Co., Ltd. | Content-recommendation method and apparatus, electronic device, and system |
| US11816714B2 (en) | 2018-03-19 | 2023-11-14 | Advanced New Technologies Co., Ltd. | Service verification method and apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7809762B1 (en) | Outage-less database change operation | |
| JP5259404B2 (en) | Cloning and managing database fragments | |
| US10649952B1 (en) | Using a secondary storage system to maintain functionality of a database during database migration | |
| CN109891402B (en) | Revocable and online mode switching | |
| EP3234780B1 (en) | Detecting lost writes | |
| US10872066B2 (en) | Systems and methods of database tenant migration | |
| US9727576B2 (en) | Method and system for efficient data synchronization | |
| US9367346B2 (en) | Accelerating distributed transactions on key-value stores through dynamic lock localization | |
| US9626398B2 (en) | Tree data structure | |
| EP3814928B1 (en) | System and method for early removal of tombstone records in database | |
| US6728719B1 (en) | Method and mechanism for dependency tracking for unique constraints | |
| US8352425B2 (en) | Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates | |
| US6714943B1 (en) | Method and mechanism for tracking dependencies for referential integrity constrained tables | |
| US20020087564A1 (en) | Technique for serializing data structure updates and retrievals without requiring searchers to use locks | |
| US7716182B2 (en) | Version-controlled cached data store | |
| US20240385931A1 (en) | Performing a database backup based on automatically discovered properties | |
| US20220156277A1 (en) | Data synchronization in a data analysis system | |
| CA2987824A1 (en) | Disconnected operation within distributed database systems | |
| US20210149848A1 (en) | Efficient database migration using an intermediary secondary storage system | |
| US20150278327A1 (en) | Asynchronous global index maintenance during partition maintenance | |
| JPH08328933A (en) | File access control system for parallel processing system | |
| US20090157775A1 (en) | Archiving method and system | |
| US7051051B1 (en) | Recovering from failed operations in a database system | |
| US11768853B2 (en) | System to copy database client data | |
| EP0422877A2 (en) | A method for invalidating access plans in a database system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: BMC SOFTWARE, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PARKER, CHRISTOPHER F.;BLACK, DONALD W.;SIGNING DATES FROM 20030702 TO 20030703;REEL/FRAME:014284/0196 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:031204/0225 Effective date: 20130910 Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT Free format text: SECURITY AGREEMENT;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:031204/0225 Effective date: 20130910 |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
| AS | Assignment |
Owner name: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:047185/0744 Effective date: 20181002 Owner name: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLA Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:047185/0744 Effective date: 20181002 |
|
| AS | Assignment |
Owner name: BMC ACQUISITION L.L.C., TEXAS Free format text: RELEASE OF PATENTS;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:047198/0468 Effective date: 20181002 Owner name: BLADELOGIC, INC., TEXAS Free format text: RELEASE OF PATENTS;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:047198/0468 Effective date: 20181002 Owner name: BMC SOFTWARE, INC., TEXAS Free format text: RELEASE OF PATENTS;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:047198/0468 Effective date: 20181002 |
|
| AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:052844/0646 Effective date: 20200601 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:052854/0139 Effective date: 20200601 |
|
| AS | Assignment |
Owner name: ALTER DOMUS (US) LLC, ILLINOIS Free format text: GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:057683/0582 Effective date: 20210930 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |
|
| AS | Assignment |
Owner name: BLADELOGIC, INC., TEXAS Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:ALTER DOMUS (US) LLC;REEL/FRAME:066567/0283 Effective date: 20240131 Owner name: BMC SOFTWARE, INC., TEXAS Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:ALTER DOMUS (US) LLC;REEL/FRAME:066567/0283 Effective date: 20240131 |
|
| AS | Assignment |
Owner name: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT, NEW YORK Free format text: OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT;REEL/FRAME:066729/0889 Effective date: 20240229 |
|
| AS | Assignment |
Owner name: BLADELOGIC, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:068339/0617 Effective date: 20240731 Owner name: BMC SOFTWARE, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:068339/0617 Effective date: 20240731 Owner name: BLADELOGIC, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:068339/0408 Effective date: 20240731 Owner name: BMC SOFTWARE, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:068339/0408 Effective date: 20240731 |
|
| AS | Assignment |
Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW YORK Free format text: GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:069352/0628 Effective date: 20240730 Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW YORK Free format text: GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:069352/0568 Effective date: 20240730 |