IP Library Granted Patent US 12,326,846
Granted Patent B2
US 12,326,846 · App. 17/721,142 · Granted Jun 10, 2025

Table partitioning within distributed database systems

Inventors: Michael Thomas Rice (Bellingham, MA); Oleg Levin (Acton, MA); Yan Avlasov (Lexington, MA); Seth Theodore Proctor (Arlington, MA); Thomas Jonathan Harwood (Concord, MA)
Assignee: Dassault Systemes SE
G06F16/2282G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,326,846
App. No.
17/721,142
Granted
Jun 10, 2025
Kind
B2
Abstract

Techniques are disclosed for implementing a unified partitioning scheme within distributed database systems to allow a table to be horizontally partitioned and those partitions stored on and serviced by a storage group. A storage group is a subset of storage manager (SM) nodes, and each SM node is configured to persist database data in durable storage. The distributed database system assigns each storage group to a subset of SM nodes. The distributed database system can address each storage group using a symbolic mapping that allows transactions to identify a particular storage group, and to direct read and write operations to a subset of SM nodes servicing that storage group. An administrator can update this mapping on-the-fly to cause the distributed database system to dynamically adjust an implemented partitioning scheme without necessarily interrupting on-going database operations.

Claims (59)

1. A method of applying partitioning policies to database tables in a distributed database, the method comprising:

storing a database table in the distributed database, the distributed database comprising a plurality of transaction engine nodes to perform database transactions on database records and a plurality of storage manager nodes to persist the database records in durable storage;

partitioning the database table into a first partition and a second partition according to a table partitioning policy;

assigning a first storage group to the first partition and a second storage group to the second partition;

assigning the first storage group to a first subset of storage manager nodes in the plurality of storage manager nodes and the second storage group to a second subset of storage manager nodes in the plurality of storage manager nodes; and

adding, removing, or updating which storage manager nodes are assigned to the first storage group without updating the table partitioning policy, wherein adding, removing, or updating which storage manager nodes are assigned to the first storage group comprises:

determining, by a storage manager node being added to the first storage group, which atoms in the distributed database are associated with the first partition, the atoms representing database objects of the distributed database;

determining, by the storage manager node, a subset of the atoms associated with the first partition to request from other storage manager nodes assigned to the first storage group; and

obtaining, by the storage manager node, the subset of the atoms associated with the first partition from the other storage manager nodes assigned to the first storage group.

2. The method of claim 1 , wherein adding, removing, or updating which storage manager nodes are assigned to the first storage group further comprises:

receiving, by the storage manager node being added to the first storage group, a storage group assignment message identifying the first storage group;

determining, by the storage manager node, if the first storage group exists; and

in response to determining that the first storage group does not exist, requesting creation of the first storage group.

3. The method of claim 2 , wherein the storage group assignment message comprises a symbolic storage group identifier identifying the first storage group.

4. The method of claim 2 , further comprising:

generating the storage group assignment message in response to an input from a user.

5. The method of claim 1 , wherein adding, removing, or updating which storage manager nodes are assigned to the first storage group comprises:

broadcasting, by the storage manager node being assigned to the first storage group, a storage manager assignment message to each database node in the distributed database, the storage manager assignment message indicating that the storage manager node being assigned to the first storage group belongs to the first storage group.

6. The method of claim 1 , wherein adding, removing, or updating which storage manager nodes are assigned to the first storage group further comprises:

receiving, by a storage manager node in the first storage group, a request to remove the first storage group from service; and

broadcasting, by the storage manager node, a message to all database nodes in the distributed database to remove the storage manager node from the first subset of storage manager nodes.

7. The method of claim 1 , wherein adding,

the storage manager node being added to the first storage group is geographically diverse from the other storage manager nodes in the first storage group.

8. The method of claim 1 , further comprising, while adding, removing, or updating which storage manager nodes are assigned to the first storage group:

accepting, by the storage manager node being added to the first storage group, read and write operations on the first partition.

9. The method of claim 1 , wherein each storage manager node in the plurality of storage manager nodes belongs to at least one storage group in a plurality of storage groups comprising the first storage group and the second storage group, and further comprising:

storing, by the plurality of storage groups, all of the database records in the distributed database.

10. The method of claim 9 , wherein the plurality of storage groups includes an unpartitioned storage group and each storage manager node of the plurality of storage manager nodes belongs to the unpartitioned storage group.

11. The method of claim 1 , further comprising:

identifying and requesting, by a transaction engine node in the plurality of transaction engine nodes, a database object from at least one other transaction engine node in the plurality of transaction engine nodes for executing a database transaction.

12. The method of claim 1 , further comprising:

identifying a first record and a second record in the distributed database affected by a database transaction, the first record being stored in the first partition and the second record being stored in the second partition; and

sending a replication message to each storage manager node in the first storage group and to each storage manager node in the second storage group to manipulate copies of the first record and copies of the second record in accordance with the database transaction.

13. The method of claim 1 , further comprising:

assigning the first storage group to a third partition of the database table.

14. The method of claim 1 , wherein assigning the first storage group to the first subset of storage manager nodes and the second storage group to the second subset of storage manager nodes comprises:

assigning a first storage manager node to both the first storage group and the second storage group.

15. A method of applying partitioning policies to database tables in a distributed database, the method comprising:

storing a database table in the distributed database, the distributed database comprising transaction engine nodes to perform database transactions on database records and storage manager nodes to persist the database records in durable storage;

partitioning the database table into partitions according to a table partitioning policy;

assigning a first storage manager node to a first storage group;

synchronizing the partitions and associated records stored by the first storage manager node with the partitions and associated records stored by other storage manager nodes in the first storage group; and

broadcasting a storage manager assignment message to each database node in the distributed database indicating that the first storage manager node belongs to the first storage group, wherein synchronizing the partitions and associated records stored by the first storage manager node with the partitions and associated records stored by other storage manager nodes in the first storage group comprises:

determining, by the first storage manager node, which atoms in the distributed database are associated with the partitions stored by the first storage group, the atoms representing database objects of the distributed database;

determining, by the first storage manager node, a subset of the atoms associated with the partitions stored by the first storage group to request from the other storage manager nodes assigned to the first storage group; and

obtaining, by the first storage manager node, the subset of the atoms associated with the partitions stored by the first storage group from the other storage manager nodes assigned to the first storage group.

16. The method of claim 15 , wherein assigning the first storage manager node to the first storage group occurs without updating the table partitioning policy.

17. The method of claim 15 , further comprising:

removing the first storage manager node from the first storage group without updating the table partitioning policy.

18. A distributed database system comprising:

a plurality of database nodes, each node in the plurality of database nodes comprising a corresponding processor, a corresponding memory, and a corresponding network interface, the plurality of database nodes comprising:

transaction engine nodes to perform database transactions on database records stored by the distributed database system; and

storage manager nodes to persist the database records in durable storage,

wherein the distributed database system is configured to store a database table partitioned into at least a first partition and a second partition according to a table partitioning policy,

wherein a first subset of the storage manager nodes is configured as a first storage group to store the first partition and a second subset of the storage manager nodes is configured as a second storage group to store the second partition, and

wherein the storage manager nodes assigned to the first storage group are configured to be added, removed, and/or updated without updating the table partitioning policy, wherein at least one of the storage manager nodes, in response to being added to the first storage group, is configured to:

determine which atoms are associated with the first partition, the atoms representing database objects stored by the distributed database system;

determine a subset of the atoms associated with the first partition to request from other storage manager nodes assigned to the first storage group; and

obtain the subset of the atoms associated with the first partition from the other storage manager nodes assigned to the first storage group.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: NUODB, INC.
To: DASSAULT SYSTEMES SE
Reel/Frame 068299/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2022
From: RICE, MICHAEL THOMAS; LEVIN, OLEG; AVLASOV, YAN; PROCTOR, SETH THEODORE; HARWOOD, THOMAS JONATHAN
To: NUODB, INC.
Reel/Frame 059672/0953 →
Continuity (3)
Continuation 16054357 · Aug 3, 2018
Continuation 14725916 · May 29, 2015
Related Publication 20220237166A1 · Jul 28, 2022
References Cited (258)
US 4853843A · Ecklund · 1989 [cited by applicant]
US 5446887A · Berkowitz · 1995 [cited by applicant]
US 5448727A · Annevelink · 1995 [cited by examiner]
US 5524240A · Barbara et al. · 1996 [cited by applicant]
US 5555404A · Torbjørnsen et al. · 1996 [cited by applicant]
US 5568638A · Hayashi et al. · 1996 [cited by applicant]
US 5701467A · Freeston · 1997 [cited by applicant]
US 5764877A · Lomet et al. · 1998 [cited by applicant]
US 5813005A · Tsuchida · 1998 [cited by examiner]
US 5960194A · Choy et al. · 1999 [cited by applicant]
US 6014656A · Hallmark · 2000 [cited by examiner]
US 6216151B1 · Antoun · 2001 [cited by applicant]
US 6226650B1 · Mahajan et al. · 2001 [cited by applicant]
US 6275863B1 · Leff et al. · 2001 [cited by applicant]
US 6334125B1 · Johnson et al. · 2001 [cited by applicant]
US 6401096B1 · Zellweger · 2002 [cited by applicant]
US 6424967B1 · Johnson et al. · 2002 [cited by applicant]
US 6480857B1 · Chandler · 2002 [cited by applicant]
US 6499036B1 · Gurevich · 2002 [cited by applicant]
US 6523036B1 · Hickman et al. · 2003 [cited by applicant]
US 6748394B2 · Shah et al. · 2004 [cited by applicant]
US 6792432B1 · Kodavalla et al. · 2004 [cited by applicant]
US 6862589B2 · Grant · 2005 [cited by applicant]
US 7026043B2 · Jander · 2006 [cited by applicant]
US 7080083B2 · Kim et al. · 2006 [cited by applicant]
US 7080101B1 · Watson · 2006 [cited by examiner]
US 7096216B2 · Anonsen · 2006 [cited by applicant]
US 7219102B2 · Zhou et al. · 2007 [cited by applicant]
US 7233960B1 · Boris et al. · 2007 [cited by applicant]
US 7293039B1 · Deshmukh et al. · 2007 [cited by applicant]
US 7353227B2 · Wu · 2008 [cited by applicant]
US 7395352B1 · Lam et al. · 2008 [cited by applicant]
US 7401094B1 · Kesler · 2008 [cited by applicant]
US 7403948B2 · Ghoneimy et al. · 2008 [cited by applicant]
US 7562102B1 · Sumner et al. · 2009 [cited by applicant]
US 7853624B2 · Friedlander et al. · 2010 [cited by applicant]
US 7890508B2 · Gerber et al. · 2011 [cited by applicant]
US 7949687B1 · Sinclair · 2011 [cited by examiner]
US 8108343B2 · Wang et al. · 2012 [cited by applicant]
US 8224860B2 · Starkey · 2012 [cited by applicant]
US 8266122B1 · Newcombe et al. · 2012 [cited by applicant]
US 8504523B2 · Starkey · 2013 [cited by applicant]
US 8583598B2 · Shaull et al. · 2013 [cited by applicant]
US 8756237B2 · Stillerman et al. · 2014 [cited by applicant]
US 9489443B1 · Muniswamy-Reddy et al. · 2016 [cited by applicant]
US 9501363B1 · Ottavio · 2016 [cited by applicant]
US 9632878B1 · Maccanti · 2017 [cited by examiner]
US 9697253B2 · Chidambaran et al. · 2017 [cited by applicant]
US 9734021B1 · Sanocki et al. · 2017 [cited by applicant]
US 9830333B1 · Wisniewski · 2017 [cited by examiner]
US 9930312B2 · Kim · 2018 [cited by examiner]
US 10025673B1 · Maccanti · 2018 [cited by examiner]
US 10037348B2 · Proctor et al. · 2018 [cited by applicant]
US 10067969B2 · Rice et al. · 2018 [cited by applicant]
US 10108690B1 · Murray · 2018 [cited by examiner]
US 10180954B2 · Palmer · 2019 [cited by examiner]
US 10884869B2 · Shaull · 2021 [cited by applicant]
US 10922303B1 · Bruck · 2021 [cited by examiner]
US 11222008B2 · Palmer · 2022 [cited by applicant]
US 11314714B2 · Rice et al. · 2022 [cited by applicant]
US 20020026603A1 · LeCrone et al. · 2002 [cited by applicant]
US 20020112054A1 · Hatanaka · 2002 [cited by applicant]
US 20020152261A1 · Arkin et al. · 2002 [cited by applicant]
US 20020152262A1 · Arkin et al. · 2002 [cited by applicant]
US 20020178162A1 · Ulrich et al. · 2002 [cited by applicant]
US 20030051021A1 · Hirschfeld et al. · 2003 [cited by applicant]
US 20030149709A1 · Banks · 2003 [cited by applicant]
US 20030204486A1 · Berks et al. · 2003 [cited by applicant]
US 20030220935A1 · Vivian et al. · 2003 [cited by applicant]
US 20040153459A1 · Whitten et al. · 2004 [cited by applicant]
US 20040263644A1 · Ebi · 2004 [cited by applicant]
US 20050013208A1 · Hirabayashi et al. · 2005 [cited by applicant]
US 20050086384A1 · Emst · 2005 [cited by applicant]
US 20050086430A1 · Allen · 2005 [cited by examiner]
US 20050198062A1 · Shapiro · 2005 [cited by applicant]
US 20050216502A1 · Kaura et al. · 2005 [cited by applicant]
US 20060010130A1 · Leff et al. · 2006 [cited by applicant]
US 20060235823A1 · Chong et al. · 2006 [cited by applicant]
US 20070043749A1 · Gerber · 2007 [cited by examiner]
US 20070067349A1 · Jhaveri et al. · 2007 [cited by applicant]
US 20070073829A1 · Volodarsky et al. · 2007 [cited by applicant]
US 20070143259A1 · Uppala · 2007 [cited by examiner]
US 20070198599A1 · Tobies · 2007 [cited by applicant]
US 20080086470A1 · Graefe · 2008 [cited by applicant]
US 20080228795A1 · Lomet · 2008 [cited by applicant]
US 20080320038A1 · Liege · 2008 [cited by applicant]
US 20090113431A1 · Whyte · 2009 [cited by applicant]
US 20100094802A1 · Uotojarvi et al. · 2010 [cited by applicant]
US 20100115246A1 · Seshadri · 2010 [cited by examiner]
US 20100153349A1 · Schroth et al. · 2010 [cited by applicant]
US 20100191884A1 · Holenstein et al. · 2010 [cited by applicant]
US 20100235606A1 · Oreland et al. · 2010 [cited by applicant]
US 20100241614A1 · Shaull et al. · 2010 [cited by applicant]
US 20100297565A1 · Waters et al. · 2010 [cited by applicant]
US 20110087874A1 · Timashev et al. · 2011 [cited by applicant]
US 20110225167A1 · Bhattacharjee et al. · 2011 [cited by applicant]
US 20110231447A1 · Starkey · 2011 [cited by examiner]
US 20110302583A1 · Abadi et al. · 2011 [cited by applicant]
US 20120102022A1 · Miranker et al. · 2012 [cited by applicant]
US 20120136904A1 · Ravi · 2012 [cited by applicant]
US 20120254175A1 · Horowitz et al. · 2012 [cited by applicant]
US 20130060922A1 · Koponen et al. · 2013 [cited by applicant]
US 20130110766A1 · Promhouse et al. · 2013 [cited by applicant]
US 20130110774A1 · Shah et al. · 2013 [cited by applicant]
US 20130110781A1 · Golab et al. · 2013 [cited by applicant]
US 20130159265A1 · Peh et al. · 2013 [cited by applicant]
US 20130159366A1 · Lyle et al. · 2013 [cited by applicant]
US 20130179482A1 · Becker et al. · 2013 [cited by applicant]
US 20130232378A1 · Resch et al. · 2013 [cited by applicant]
US 20130262403A1 · Milousheff et al. · 2013 [cited by applicant]
US 20130278412A1 · Kelly et al. · 2013 [cited by applicant]
US 20130290249A1 · Merriman et al. · 2013 [cited by applicant]
US 20130297565A1 · Starkey · 2013 [cited by applicant]
US 20130311424A1 · Rodrigo · 2013 [cited by applicant]
US 20130311426A1 · Erdogan et al. · 2013 [cited by applicant]
US 20140095450A1 · Marwah · 2014 [cited by examiner]
US 20140108414A1 · Stillerman et al. · 2014 [cited by applicant]
US 20140108633A1 · Dai et al. · 2014 [cited by applicant]
US 20140122484A1 · Jagtiani · 2014 [cited by examiner]
US 20140149353A1 · Lee et al. · 2014 [cited by applicant]
US 20140172914A1 · Elnikety et al. · 2014 [cited by applicant]
US 20140279881A1 · Tan et al. · 2014 [cited by applicant]
US 20140279929A1 · Gupta et al. · 2014 [cited by applicant]
US 20140297676A1 · Bhatia et al. · 2014 [cited by applicant]
US 20140304306A1 · Proctor et al. · 2014 [cited by applicant]
US 20140310260A1 · Wu et al. · 2014 [cited by applicant]
US 20150019496A1 · Stewart et al. · 2015 [cited by applicant]
US 20150019739A1 · Attaluri et al. · 2015 [cited by applicant]
US 20150032695A1 · Tran et al. · 2015 [cited by applicant]
US 20150066850A1 · Oliver · 2015 [cited by examiner]
US 20150066858A1 · Sabdar et al. · 2015 [cited by applicant]
US 20150128063A1 · Jones et al. · 2015 [cited by applicant]
US 20150134626A1 · Theimer · 2015 [cited by examiner]
US 20150135255A1 · Theimer · 2015 [cited by examiner]
US 20150149509A1 · Leu · 2015 [cited by examiner]
US 20150149513A1 · Beigel et al. · 2015 [cited by applicant]
US 20150199415A1 · Bourbonnais et al. · 2015 [cited by applicant]
US 20150370505A1 · Shuma et al. · 2015 [cited by applicant]
US 20160134490A1 · Balasubramanyan et al. · 2016 [cited by applicant]
US 20160306709A1 · Shaull et al. · 2016 [cited by applicant]
US 20160350357A1 · Palmer · 2016 [cited by applicant]
US 20160350392A1 · Rice · 2016 [cited by examiner]
US 20160371355A1 · Massari et al. · 2016 [cited by applicant]
US 20170039099A1 · Ottavio · 2017 [cited by applicant]
US 20180357264A1 · Rice et al. · 2018 [cited by applicant]
US 20210173746A1 · Shaull · 2021 [cited by applicant]
US 20220253427A1 · Palmer · 2022 [cited by applicant]
CN 1477562A · 2004 [cited by applicant]
CN 1784676A · 2006 [cited by applicant]
CN 102436490A · 2012 [cited by applicant]
CN 102667711A · 2012 [cited by applicant]
EA 002931B1 · 2002 [cited by applicant]
EP 1403782A2 · 2004 [cited by applicant]
JP 2003256256A · 2003 [cited by applicant]
JP 2006048507A · 2006 [cited by applicant]
JP 2007058275A · 2007 [cited by applicant]
RU 2315349C1 · 2008 [cited by applicant]
RU 2008106904A · 2009 [cited by applicant]
WO 2006090367A2 · 2006 [cited by applicant]
International Search Report dated Sep. 26, 2012 from PCT/US2011/029056, 4 pp. [cited by applicant]
Iqbal, A. M. et al., “Performance Tradeoffs in Static and Dynamic Load Balancing Strategies,” Institute for Computer Applications in Science and Engineering, 1986, pp. 1-23. [cited by applicant]
Leverenz et al., “Oracle8i Concepts, Partitioned Tables and Indexes,” Chapter 11, pp. 11-12-11/66 (1999). [cited by applicant]
Non-Final Office Action dated Apr. 12, 2017 from U.S. Appl. No. 14/247,364, 12 pp. [cited by applicant]
Non-Final Office Action dated Feb. 1, 2016 from U.S. Appl. No. 14/215,461, 19 pp. [cited by applicant]
Non-Final Office Action dated Feb. 6, 2014 from U.S. Appl. No. 13/933,483, 14 pp. [cited by applicant]
Non-Final Office Action dated Jan. 21, 2016 from U.S. Appl. No. 14/215,401, 19 pp. [cited by applicant]
Non-Final Office Action dated Jun. 1, 2017 from U.S. Appl. No. 14/215,461, 21 pp. [cited by applicant]
Non-Final Office Action dated Jun. 2, 2017 from U.S. Appl. No. 14/744,546, 25 pp. [cited by applicant]
Non-Final Office Action dated May 19, 2016 from U.S. Appl. No. 14/247,364, 24 pp. [cited by applicant]
Non-Final Office Action dated May 31, 2017 from U.S. Appl. No. 14/215,401, 27 pp. [cited by applicant]
Non-Final Office Action dated Oct. 10, 2012 from U.S. Appl. No. 13/525,953, 8 pp. [cited by applicant]
Non-Final Office Action dated Sep. 11, 2017 from U.S. Appl. No. 14/725,916, 17 pages. [cited by applicant]
Non-Final Office Action dated Sep. 19, 2017 from U.S. Appl. No. 14/726,200, 37 pages. [cited by applicant]
Non-Final Office Action dated Sep. 21, 2017 from U.S. Appl. No. 14/688,396, 31 pages. [cited by applicant]
Non-Final Office Action dated Sep. 23, 2016 from U.S. Appl. No. 14/616,713, 8 pp. [cited by applicant]
Notice of Allowance dated Apr. 1, 2013 from U.S. Appl. No. 13/525,953, 10 pp. [cited by applicant]
Notice of Allowance dated Feb. 29, 2012 from U.S. Appl. No. 13/051,750, 8 pp. [cited by applicant]
Notice of Allowance dated Jul. 27, 2016 from U.S. Appl. No. 14/215,372, 12 pp. [cited by applicant]
Notice of Allowance dated May 14, 2012 from U.S. Appl. No. 13/051,750, 8 pp. [cited by applicant]
Notice of Allowance dated May 3, 2018 for U.S. Appl. No. 14/725,916, 13 pages. [cited by applicant]
Oracle Database Concepts 10g Release 2 (10.2), Oct. 2005, 14 pages. [cited by applicant]
Özsu et al., Principles of distributed database systems. Springer Science & Business Media, Chapter 13- Data Replication, 2011. 41 pages. [cited by applicant]
Rahimi, S. K. et al., “Distributed Database Management Systems: A Practical Approach,” IEEE Computer Society, John Wiley & Sons, Inc. Publications (2010), 765 pp. [cited by applicant]
Roy, N. et al., “Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting,” IEEE 4th International Conference on Cloud Computing, 2011, pp. 500-507. [cited by applicant]
Searchcloudapplications.techtarget.com, Autoscaling Definition, Aug. 2012, 1 page. [cited by applicant]
Shaull et al., “Skippy: a new snapshot indexing method for time travel in the storage manager.” Proceedings of the 2008 ACM SIGMOD international conference on Management of data. ACM, 2008. 12 pages. [cited by applicant]
Shaull, R. et al., “A Modular and Efficient Past State System for Berkeley DB,” Proceedings of USENIX ATC '14:2014 USENIX Annual Technical Conference, 13 pp. (Jun. 19-20, 2014). [cited by applicant]
Shaull, R., “Retro: A Methodology for Retrospection Everywhere,” A Dissertation Presented to the Faculty of the Graduate School of Arts and Sciences of Brandeis University, Waltham, Massachusetts, Aug. 2013, 174 pp. [cited by applicant]
Terry et al., “Managing update conflicts in Bayou, a weakly connected replicated storage system.” ACM SIGOPS Operating Systems Review. vol. 29. No. 5. ACM, 1995. 12 pages. [cited by applicant]
U.S. Appl. No. 14/215,372, filed Mar. 17, 2014, Ottavio. [cited by applicant]
U.S. Appl. No. 14/215,401, filed Mar. 17, 2014, Palmer. [cited by applicant]
U.S. Appl. No. 14/215,461, filed Mar. 17, 2014, Palmer. [cited by applicant]
U.S. Appl. No. 14/616,713, filed Feb. 8, 2015, Levin. [cited by applicant]
U.S. Appl. No. 14/688,396, filed Apr. 16, 2015, Shaull. [cited by applicant]
U.S. Appl. No. 14/725,916, filed May 29, 2015, Rice. [cited by applicant]
U.S. Appl. No. 14/726,200, filed May 29, 2015, Palmer. [cited by applicant]
U.S. Appl. No. 14/744,546, filed Jun. 19, 2015, Massari. [cited by applicant]
U.S. Appl. No. 15/296,439, filed Oct. 18, 2016, Ottavio. [cited by applicant]
Veerman, G. et al., “Database Load Balancing, MySQL 5.5 vs PostgreSQL 9.1,” Universiteit van Amsterdam, System & Network Engineering, Apr. 2, 2012, 51 pp. [cited by applicant]
Yousif, M. “Shared-Storage Clusters,” Cluster Computing, Baltzer Science Publishers, Bussum, NL, vol. 2, No. 4, pp. 249-257 (1999). [cited by applicant]
“Album Closing Policy,” Background, retrieved from the Internet at URL:http://tools/wiki/display/ENG/Album+Closing+Policy (Jan. 29, 2015), 4 pp. [cited by applicant]
“Distributed Coordination in NuoDB,” YouTube, retrieved from the Internet at URL:https://www.youtube.com/watch?feature=player_embedded&v=URoeHvflVKg on Feb. 4, 2015, 2 pp. [cited by applicant]
“Durable Distributed Cache Architecture”, retrieved from the Internet at URL: http://www.nuodb.com/explore/newsql-cloud-database-ddc-architecture on Feb. 4, 2015, 3 pages. [cited by applicant]
“Glossary—NuoDB 2.1 Documentation / NuoDB,” retrieved from the Internet at URL: http://doc.nuodb.com/display/doc/Glossary on Feb. 4, 2015, 1 pp. [cited by applicant]
“How It Works,” retrieved from the Internet at URL: http://www.nuodb.com/explore/newsql-cloud-database-how-it-works?mkt_tok=3RkMMJW on Feb. 4, 2015, 4 pp. [cited by applicant]
“How to Eliminate MySQL Performance Issues,” NuoDB Technical Whitepaper, Sep. 10, 2014, Version 1, 11 pp. [cited by applicant]
“Hybrid Transaction and Analytical Processing with NuoDB,” NuoDB Technical Whitepaper, Nov. 5, 2014, Version 1, 13 pp. [cited by applicant]
“No Knobs Administration,” retrieved from the Internet at URL: http://www.nuodb.com/explore/newsql-cloud-database-product/auto-administration on Feb. 4, 2015, 4 pp. [cited by applicant]
“NuoDB at a Glance,” retrieved from the Internet at URL: http://doc.nuodb.com/display/doc/NuoDB+at+a+Glance on Feb. 4, 2015, 1 pp. [cited by applicant]
“SnapShot Albums,” Transaction Ordering, retrieved from the Internet at URL:http://tools/wiki/display/ENG/Snapshot+Albums (Aug. 12, 2014), 4 pp. [cited by applicant]
“Table Partitioning and Storage Groups (TPSG),” Architect's Overview, NuoDB Technical Design Document, Version 2.0 (2014), 12 pp. [cited by applicant]
“The Architecture & Motivation for NuoDB,” NuoDB Technical Whitepaper, Oct. 5, 2014, Version 1, 27 pp. [cited by applicant]
“Welcome to NuoDB Swifts Release 2.1 GA,” retrieved from the Internet at URL: http://dev.nuodb.com/techblog/welcome-nuodb-swifts-release-21-ga on Feb. 4, 2015, 7 pp. [cited by applicant]
Advisory Action issued by The United States Patent and Trademark Office for U.S. Appl. No. 14/215,461, dated Jan. 10, 2017, 9 pages. [cited by applicant]
Amazon CloudWatch Developer Guide API, Create Alarms That or Terminate an Instance, Jan. 2013, downloaded Nov. 16, 2016 from archive.org., pp. 1-11. [cited by applicant]
Amazon RDS FAQs, Oct. 4, 2012, downloaded Nov. 16, 2016 from archive.org., 39 pp. [cited by applicant]
Bergsten et al., “Overview of Parallel Architectures for Databases,” The Computer Journal vol. 36, No. 8, pp. 734-740 (1993). [cited by applicant]
Connectivity Testing with Ping, Telnet, Trace Route and NSlookup (hereafter help.webcontrolcenter), Article ID:1757, Created: Jun. 17, 2013 at 10:45 a.m., https://help.webcontrolcenter.com/kb/a1757/connectivity-testing-… [cited by applicant]
Dan et al., “Performance Comparisons of Buffer Coherency Policies,” Proceedings of the International Conference on Distributed Computer Systems, IEEE Comp. Soc. Press vol. 11, pp. 208-217 (1991). [cited by applicant]
Decision to Grant dated Nov. 14, 2016 from Belarus Patent Application No. a20121441 with English Translation, 15 pp. [cited by applicant]
Extended European Search Report for European Patent Application No. 16780794.0 mailed Sep. 19, 2018. 8 pages. [cited by applicant]
Extended European Search Report in European Patent Application No. 16804117.6 dated Nov. 2, 2018, 11 pages. [cited by applicant]
Extended European Search Report in European Patent Application No. 16804119.2 dated Dec. 4, 2018, 8 pages. [cited by applicant]
Extended European Search Report in European Patent Application No. 16812485.7 dated Dec. 11, 2018, 9 pages. [cited by applicant]
Final Office Action dated Apr. 12, 2018 for U.S. Appl. No. 14/726,200, 6 pages. [cited by applicant]
Final Office Action dated Apr. 27, 2018 for U.S. Appl. No. 14/688,396, 37 pages. [cited by applicant]
Final Office Action dated Dec. 13, 2016 from U.S. Appl. No. 14/247,364, 31 pp. [cited by applicant]
Final Office Action dated Feb. 9, 2018 from U.S. Appl. No. 14/744,546, 22 pages. [cited by applicant]
Final Office Action dated Nov. 24, 2017 from U.S. Appl. No. 14/215,401, 33 pages. [cited by applicant]
Final Office Action dated Nov. 3, 2016 from U.S. Appl. No. 14/215,401, 36 pp. [cited by applicant]
Final Office Action dated Nov. 7, 2017 from U.S. Appl. No. 14/247,364, 13 pages. [cited by applicant]
Final Office Action dated Sep. 9, 2016 from U.S. Appl. No. 14/215,461, 26 pp. [cited by applicant]
First Examination Report issued by the Canadian Intellectual Property Office for Application No. 2,793,429, dated Feb. 14, 2017, 3 pages. [cited by applicant]
Garding, P. “Alerting on Database Mirorring Events,” Apr. 7, 2006, downloaded Dec. 6, 2016 from technet.microsoft.com, 24 pp. [cited by applicant]
Hull, Autoscaling MySQL on Amazon EC2, Apr. 9, 2012, 7 pages. [cited by applicant]
International Preliminary Report on Patentability dated Oct. 13, 2015 from PCT/US2014/033270, 4 pp. [cited by applicant]
International Search Report and Written Opinion dated Aug. 21, 2014 for PCT/US2014/033270, 5 pp. [cited by applicant]
International Search Report and Written Opinion dated Jul. 15, 2016 from PCT/US2016/27658, 37 pp. [cited by applicant]
International Search Report and Written Opinion dated Oct. 28, 2016 from PCT/US16/34651, 16 pp. [cited by applicant]
International Search Report and Written Opinion dated Sep. 8, 2016 from PCT/US16/37977, 11 pp. [cited by applicant]
International Search Report and Written Opinion dated Sep. 9, 2016 from PCT/US16/34646, 12 pp. [cited by applicant]
U.S. Appl. No. 17/109,353, filed Dec. 2, 2020, Shaull. [cited by applicant]
U.S. Appl. No. 17/572,347 filed Jan. 10, 2022, Palmer. [cited by applicant]
Communication pursuant to Art 94(3) EPC dated Aug. 1, 2022 in European Application No. 16780794.0, 6 pages. [cited by applicant]
Examiner's Report dated Jan. 31, 2023 in Canadian Application No. 2987822, 6 pages. [cited by applicant]
Extended European Search Report dated Jun. 28, 2022 in European Application No. 21216212.7, 10 pages. [cited by applicant]
KLIEB “Distributed disconnected databases.” Proceedings of the 1996 ACM symposium on Applied Computing. 1996, 5 pages. [cited by applicant]
Snapshot (computer storage) Wikipedia, anonymous, Mar. 22, 2015, CP055939439, retrieved from the internet: URL: https://en.wikipedia.org/w/index.php?title=Snapshot_(computer_storagE[retrieved on Jul. 6, 2022], 5 pages. [cited by applicant]
Office Action with translation in Korean Application No. 10-2017-7033167 dated Mar. 23, 2023, 16 pages. [cited by applicant]
“What Is A Distributed Database? And Why Do You Need One,” NuoDB Technical Whitepaper, Jan. 23, 2014, Version 1, 9 pp. [cited by applicant]
Anonymous “Technical Whitepaper: The Architecture and Motivation for NuoDB” DBTA Download/Webinars, 2013, pp. 1-27, XP055932481, Retrieved from the Internet: URL:https://www.dbta.com/DBTA-Downloads/WhitePapers/Technical… [cited by applicant]
Examiner's Report dated May 30, 2022 in Canadian Application No. 2987822, 4 pages. [cited by applicant]
Herlihy et al., “Transactional Memory: architectural support for lock-free data structures,” In Proceedings of the 1993 International Symposium on Computer Architecture, May 1993, San Diego, CA, 12 pages. [cited by applicant]
Ladin et al., “Providing high availability using lazy replication,” ACM Trans. Comput. Syst. (1992), 32 pages, DOI:10.1145/138873.138877Corpus ID: 2219840. [cited by applicant]
Notification of Oral Proceedings in EP Application No. 16804119.2 dated Jul. 8, 2022, 14 pages. [cited by applicant]
Shaull et al., “Skippy: Enabling long-lived snapshots of the long-lived past.” 2008 IEEE 24th International Conference on Data Engineering. IEEE, 2008. 3 pages. [cited by applicant]
Shrira et al., “Thresher: An Efficient Storage Manager for Copy-on-write Snapshots.” USENIX Annual Technical Conference, General Track. 2006. 14 pages. [cited by applicant]
Shrira et al., “Time travel in the virtualized past: Cheap fares and first class seats.” Haifa Systems and Storage Conference, SYSTOR. 2007. 6 pages. [cited by applicant]