Dynamically varying the number of database replicas
US-9053166-B2 · Jun 9, 2015 · US
US9773015B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9773015-B2 |
| Application number | US-201514726524-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 30, 2015 |
| Priority date | Dec 10, 2012 |
| Publication date | Sep 26, 2017 |
| Grant date | Sep 26, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the invention dynamically vary the number of replicas based on certain conditions to protect users from data loss. The size of the database is one condition that can be used to determine the number of replicas required. A database system may create three replicas. When the database size exceeds a first threshold, a fourth replica may be created. The fourth replica is maintained as long as the database size is above a second threshold that is smaller than the first threshold. However, when the database shrinks below the second threshold, then the fourth replica is deleted. Using two different thresholds in this manner prevents the system from frequently cycling between three and four replicas.
Opening claim text (preview).
What is claimed is: 1. A method of protecting a database from data loss, the method involving a device having a processor and comprising: executing, by the processor, instructions that cause the device to: create a replica set of identical and complete replicas of the database, wherein the replica set initially comprises a replica count of at least two replicas of the database; monitor a size of the database during changes to the database, while maintaining the replicas of the replica set as identical and complete replicas of the database; responsive to a determination that the size of the database has increased above a first threshold that is smaller than a maximum size of the database: create an identical and complete additional replica of the database, and add the additional replica to the replica set to increase the replica count; and responsive to a determination that the size of the database has been reduced below a second threshold that is smaller than the first threshold, remove the additional replica from the replica set to reduce the replica count of the replica set. 2. The computer-implemented method of claim 1 , further comprising: creating the replicas on separate machines. 3. The computer-implemented method of claim 2 , further comprising: maintaining a local partition map each machine to track the state of the replicas on a particular machine. 4. The computer-implemented method of claim 1 , wherein one of the replicas is designated as a primary replica and the other replicas are secondary replicas. 5. The computer-implemented method of claim 1 , further comprising: maintaining a global partition map that maintains to track replicas for a plurality of databases. 6. A memory device having program instructions stored thereon for protecting a database from data loss, wherein the program instructions, upon execution by a processor of a computer system, cause the computer system to: create a replica set of identical and complete replicas of the database, wherein the replica set initially comprises a replica count of at least two replicas of the database; monitor a database attribute of the database during use of the database, while maintaining the replicas of the replica set as identical and complete replicas of the database, wherein the attribute is at least one attribute selected from the group consisting of: a frequency of database transactions, a number of database transactions, and a type of database transaction; responsive to a determination that the database attribute has exceeded a first threshold: create an identical and complete additional replica of the database, and add the additional replica to the replica set to increase the replica count; and responsive to a determination that the database attribute is fallen below a second threshold that is smaller than the first threshold, remove the additional replica of the database from the replica set to reduce the replica count of the replica set. 7. The memory device of claim 6 , wherein the attribute is a database size, and wherein the program instructions, upon execution by the processor, further cause the computer system to: create the two initial secondary database replicas after the primary database replica is created, the initial secondary database replicas created without respect to the size of the primary database replica. 8. The memory device of claim 6 , wherein the program instructions, upon execution by the processor, further cause the computer system to: create the replicas on separate machines. 9. A computer system, comprising: one or more processors; and a memory having stored thereon computer-executable instructions for protecting a database from data loss, wherein the computer-executable instructions, upon execution by the one or more processors, cause the computer system to: create a replica set of identical and complete replicas of the database, wherein the replica set initially comprises a replica count of at least two replicas of the database; monitor a size of the database during changes to the database, while maintaining the replicas of the replica set as identical and complete replicas of the database; responsive to a determination that the size of the database has exceeded a first threshold that is smaller than a maximum size of the database: create an identical and complete additional replica of the database, and add the additional replica to the replica set to increase the replica count; and to a determination that the database attribute is fallen below a second threshold that is smaller than the first threshold, remove the fourth additional replica of the database from the replica set to reduce the replica count of the replica set. 10. The computer system of claim 9 , wherein the computer-executable instructions, upon execution by the one or more processors, further cause the computer system to: create the replicas on separate machines. 11. The computer system of claim 9 , wherein one of the replicas is designated as a primary replica and the other replicas are secondary replicas. 12. The computer system of claim 9 , wherein a partition manager controls the creation and deletion of the fourth replica. 13. The computer system of claim 9 , wherein a load balancer agent monitors the database and provides database size data to the partition manager.
Threshold · CPC title
where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16) · CPC title
Management specifically adapted to replicated file systems · CPC title
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.