Patents by Inventor Garret F. Swart
Garret F. Swart has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 12271372Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.Type: GrantFiled: April 11, 2024Date of Patent: April 8, 2025Assignee: Oracle International CorporationInventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R Loaiza
-
Publication number: 20250086176Abstract: In a computer, each of many statement plan trees respectively represents a distinct database statement in a database workload. Each statement plan tree contains a distinct set of tree nodes. A first statement plan tree contains a first subtree and represents a first statement. A second statement plan tree contains a second subtree, and a third statement plan tree contains a third subtree. By agglomeration, a first cluster subplan is generated that represents the first subtree of the first statement plan tree and the second subtree of the second statement plan tree. By subsequent agglomeration, a second cluster subplan is generated that represents the third subtree of the third statement plan tree and the first cluster subplan. Execution of the first database statement uses the second cluster subplan for acceleration. Agglomeration may be decided based on novel net benefit estimation, novel inter-cluster distance, and a novel and tunable compilation cost.Type: ApplicationFiled: April 18, 2024Publication date: March 13, 2025Inventors: Lawrence Lim, Laleh Aghababaie Beni, Garret F. Swart
-
Patent number: 12099508Abstract: In an embodiment, a database management system (DBMS) hosted by a computer receives a request to execute a database statement and responsively generates an interpretable execution plan that represents the database statement. The DBMS decides whether execution of the database statement will or will not entail interpreting the interpretable execution plan and, if not, the interpretable execution plan is compiled into object code based on partial evaluation. In that case, the database statement is executed by executing the object code of the compiled plan, which provides acceleration. In an embodiment, partial evaluation and Turing-complete template metaprogramming (TMP) are based on using the interpretable execution plan as a compile-time constant that is an argument for a parameter of an evaluation template.Type: GrantFiled: September 20, 2022Date of Patent: September 24, 2024Assignee: Oracle International CorporationInventors: Laleh Aghababaie Beni, Garret F. Swart
-
Patent number: 12093261Abstract: Techniques related to cache storage formats are disclosed. In some embodiments, a set of values is stored in a cache as a set of first representations and a set of second representations. For example, the set of first representations may be a set of hardware-level representations, and the set of second representations may be a set of non-hardware-level representations. Responsive to receiving a query to be executed over the set of values, a determination is made as to whether or not it would be more efficient to execute the query over the set of first representations than to execute the query over the set of second representations. If the determination indicates that it would be more efficient to execute the query over the set of first representations than to execute the query over the set of second representations, the query is executed over the set of first representations.Type: GrantFiled: April 2, 2018Date of Patent: September 17, 2024Assignee: Oracle International CorporationInventors: Aurosish Mishra, Shasank K. Chavan, Vinita Subramanian, Ekrem S. C. Soylemez, Adam Kociubes, Eugene Karichkin, Garret F. Swart
-
Publication number: 20240273087Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.Type: ApplicationFiled: April 11, 2024Publication date: August 15, 2024Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
-
Patent number: 11994963Abstract: Herein are resource-constrained techniques that plan ahead for resiliently moving pluggable databases between container databases after a failure in a high-availability database cluster. In an embodiment that has a database cluster that hierarchically contains many pluggable databases in many container databases in many virtual machines, a computer identifies many alternative placements that respectively assign each pluggable database instance (PDB) to a respective container database management system (CDBMS). For each alternative placement, a respective placement score is calculated based on the PDBs and the CDBMSs. Based on the placement scores of the alternative placements, a particular placement is selected with a best placement score that indicates optimal resilience for accommodating adversity such as failover and overcrowding.Type: GrantFiled: January 18, 2022Date of Patent: May 28, 2024Assignee: Oracle International CorporationInventors: Nagarajan Muthukrishnan, Binoy Sukumaran, Garret F. Swart, Sumanta Chatterjee, Ravi Shankar Thammaiah
-
Patent number: 11989179Abstract: The present invention relates to optimized access of a database. Herein are techniques to accelerate execution of any combination of ad hoc query, heterogenous hardware, and fluctuating workload. In an embodiment, a computer receives a data access request for data tuples and compiles the data access request into relational operators. A particular implementation of a particular relational operator is dynamically selected from multiple interchangeable implementations. Each interchangeable implementation contains respective physical operators. A particular hardware operator for a particular physical operator is selected from multiple interchangeable hardware operators that include: a first hardware operator that executes on first processing hardware, and a second hardware operator that executes on second processing hardware that is functionally different from the first processing hardware.Type: GrantFiled: August 25, 2022Date of Patent: May 21, 2024Assignee: Oracle International CorporationInventors: Shasank Kisan Chavan, Garret F. Swart, Weiwei Gong
-
Patent number: 11983151Abstract: Herein are resource-constrained techniques that plan ahead for resiliently moving pluggable databases between container databases after a failure in a high-availability database cluster. In an embodiment, a computer identifies many alternative placements that respectively assign each pluggable database to a respective container database. For each alternative placement, a respective resilience score is calculated for each pluggable database that is based on the container database of the pluggable database. Based on the resilience scores of the pluggable databases for the alternative placements, a particular placement is selected as an optimal placement that would maximize utilization of computer resources, minimize database latencies, maximize system throughput, and maximize the ability of the database cluster to avoid a service outage.Type: GrantFiled: May 28, 2021Date of Patent: May 14, 2024Inventors: Nagarajan Muthukrishnan, Binoy Sukumaran, Garret F. Swart, Sumanta Chatterjee, Ravi Shankar Thammaiah
-
Patent number: 11983170Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.Type: GrantFiled: March 6, 2023Date of Patent: May 14, 2024Assignee: Oracle International CorporationInventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
-
Publication number: 20240143406Abstract: A computer assigns many threads to a hardware pipeline that contains a sequence of hardware stages that include a computing stage, a suspending stage, and a resuming stage. Each cycle of the hardware pipeline can concurrently execute a respective distinct stage of the sequence of hardware stages for a respective distinct thread. A read of random access memory (RAM) can be requested for a thread only during the suspending stage. While a previous state of a finite state machine (FSM) that implements a coroutine of the thread is in the suspending stage, a read of RAM is requested, and the thread is unconditionally suspended. While the coroutine of the thread is in the resuming stage, an asynchronous response from RAM is correlated to the thread and to a next state of the FSM. While in the computing stage, the next state of the FSM executes based on the asynchronous response from RAM.Type: ApplicationFiled: October 31, 2022Publication date: May 2, 2024Inventors: Kangnyeon Kim, Aida Vosoughi, Garret F. Swart
-
Patent number: 11971869Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.Type: GrantFiled: October 26, 2022Date of Patent: April 30, 2024Assignee: Oracle International CorporationInventors: Jesse Kamp, Allison L. Holloway, Meichun Hsu, Hideaki Kimura, Boris Klots, Vasudha Krishnaswamy, Kartik Kulkarni, Teck Hua Lee, Yunrui Li, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Garret F. Swart, Shasank K. Chavan, Tirthankar Lahiri, Juan R. Loaiza
-
Patent number: 11966356Abstract: Systems and methods for reducing latency of probing operations of remotely located linear hash tables are described herein. In an embodiment, a system receives a request to perform a probing operation on a remotely located linear hash table based on a key value. Prior to performing the probing operation, the system dynamically predicts a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation. The system determines a hash value based on the key value and determines a slot of the linear hash table to which the hash value corresponds. After predicting the number of slots, the system issues an RDMA request to perform a read of the predicted number of slots from the linear hash table starting at the slot to which the hash value corresponds.Type: GrantFiled: December 23, 2022Date of Patent: April 23, 2024Assignee: Oracle International CorporationInventors: Tinggang Wang, Shuo Yang, Hideaki Kimura, Garret F. Swart, Spyros Blanas
-
Publication number: 20240095249Abstract: In an embodiment, a database management system (DBMS) hosted by a computer receives a request to execute a database statement and responsively generates an interpretable execution plan that represents the database statement. The DBMS decides whether execution of the database statement will or will not entail interpreting the interpretable execution plan and, if not, the interpretable execution plan is compiled into object code based on partial evaluation. In that case, the database statement is executed by executing the object code of the compiled plan, which provides acceleration. In an embodiment, partial evaluation and Turing-complete template metaprogramming (TMP) are based on using the interpretable execution plan as a compile-time constant that is an argument for a parameter of an evaluation template.Type: ApplicationFiled: September 20, 2022Publication date: March 21, 2024Inventors: Laleh Aghababaie Beni, Garret F. Swart
-
Publication number: 20230342355Abstract: Techniques are described herein for an integrated in-front database cache (“IIDC”) providing an in-memory, consistent, and automatically managed cache for primary database data. An IIDC comprises a database server instance that (a) caches data blocks from a source database managed by a second database server instance, and (b) performs recovery on the cached data using redo records for the database data. The IIDC instance implements relational algebra and is configured to run any complexity of query over the cached database data. Any cache miss results in the IIDC instance fetching the needed block(s) from a second database server instance managing the source database that provides the IIDC instance with the latest version of the requested data block(s) that is available to the second instance. Because redo records are used to continuously update the data blocks in an IIDC cache, the IIDC guarantees consistency of query results.Type: ApplicationFiled: April 25, 2022Publication date: October 26, 2023Inventors: YUNRUI LI, WEI-MING HU, JUAN R. LOAIZA, J. WILLIAM LEE, ADAM Y. LEE, CARLOS RUIZ, AMRISH SRIVASTAVA, GARRET F. SWART, MAHESH BABURAO GIRKAR
-
Publication number: 20230281190Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.Type: ApplicationFiled: March 6, 2023Publication date: September 7, 2023Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Juan R. Loaiza, Tirthankar Lahiri
-
Patent number: 11720522Abstract: Systems and methods for reducing latency of probing operations of remotely located linear hash tables are described herein. In an embodiment, a system receives a request to perform a probing operation on a remotely located linear hash table based on a key value. Prior to performing the probing operation, the system dynamically predicts a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation. The system determines a hash value based on the key value and determines a slot of the linear hash table to which the hash value corresponds. After predicting the number of slots, the system issues an RDMA request to perform a read of the predicted number of slots from the linear hash table starting at the slot to which the hash value corresponds.Type: GrantFiled: February 16, 2021Date of Patent: August 8, 2023Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Tinggang Wang, Shuo Yang, Hideaki Kimura, Garret F. Swart, Spyros Blanas
-
Patent number: 11709784Abstract: Techniques are described for offloading remote direct memory operations (RDMOs) to “execution candidates”. The execution candidates may be any hardware capable of performing the offloaded operation. Thus, the execution candidates may be network interface controllers, specialized co-processors, FPGAs, etc. The execution candidates may be on a machine that is remote from the processor that is offloading the operation, or may be on the same machine as the processor that is offloading the operation. Details for certain specific RDMOs, which are particularly useful in online transaction processing (OLTP) and hybrid transactional/analytical (HTAP) workloads, are provided.Type: GrantFiled: March 26, 2021Date of Patent: July 25, 2023Assignee: Oracle International CorporationInventors: Hideaki Kimura, Garret F. Swart, Spyros Blanas, Tirthankar Lahiri, Juan R. Loaiza, Jesse Kamp, Avneesh Pant
-
Publication number: 20230229573Abstract: Herein are resource-constrained techniques that plan ahead for resiliently moving pluggable databases between container databases after a failure in a high-availability database cluster. In an embodiment that has a database cluster that hierarchically contains many pluggable databases in many container databases in many virtual machines, a computer identifies many alternative placements that respectively assign each pluggable database instance (PDB) to a respective container database management system (CDBMS). For each alternative placement, a respective placement score is calculated based on the PDBs and the CDBMSs. Based on the placement scores of the alternative placements, a particular placement is selected with a best placement score that indicates optimal resilience for accommodating adversity such as failover and overcrowding.Type: ApplicationFiled: January 18, 2022Publication date: July 20, 2023Inventors: Nagarajan Muthukrishnan, Binoy Sukumaran, Garret F. Swart, Sumanta Chatterjee, Ravi Shankar Thammaiah
-
Publication number: 20230127110Abstract: Systems and methods for reducing latency of probing operations of remotely located linear hash tables are described herein. In an embodiment, a system receives a request to perform a probing operation on a remotely located linear hash table based on a key value. Prior to performing the probing operation, the system dynamically predicts a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation. The system determines a hash value based on the key value and determines a slot of the linear hash table to which the hash value corresponds. After predicting the number of slots, the system issues an RDMA request to perform a read of the predicted number of slots from the linear hash table starting at the slot to which the hash value corresponds.Type: ApplicationFiled: December 23, 2022Publication date: April 27, 2023Inventors: Tinggang Wang, Shuo Yang, Hideaki Kimura, Garret F. Swart, Spyros Blanas
-
Patent number: 11599421Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.Type: GrantFiled: December 30, 2020Date of Patent: March 7, 2023Assignee: Oracle International CorporationInventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza