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: 12271372
    Abstract: 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: Grant
    Filed: April 11, 2024
    Date of Patent: April 8, 2025
    Assignee: Oracle International Corporation
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R Loaiza
  • Publication number: 20250086176
    Abstract: 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: Application
    Filed: April 18, 2024
    Publication date: March 13, 2025
    Inventors: Lawrence Lim, Laleh Aghababaie Beni, Garret F. Swart
  • Patent number: 12099508
    Abstract: 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: Grant
    Filed: September 20, 2022
    Date of Patent: September 24, 2024
    Assignee: Oracle International Corporation
    Inventors: Laleh Aghababaie Beni, Garret F. Swart
  • Patent number: 12093261
    Abstract: 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: Grant
    Filed: April 2, 2018
    Date of Patent: September 17, 2024
    Assignee: Oracle International Corporation
    Inventors: Aurosish Mishra, Shasank K. Chavan, Vinita Subramanian, Ekrem S. C. Soylemez, Adam Kociubes, Eugene Karichkin, Garret F. Swart
  • Publication number: 20240273087
    Abstract: 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: Application
    Filed: April 11, 2024
    Publication date: August 15, 2024
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 11994963
    Abstract: 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: Grant
    Filed: January 18, 2022
    Date of Patent: May 28, 2024
    Assignee: Oracle International Corporation
    Inventors: Nagarajan Muthukrishnan, Binoy Sukumaran, Garret F. Swart, Sumanta Chatterjee, Ravi Shankar Thammaiah
  • Patent number: 11989179
    Abstract: 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: Grant
    Filed: August 25, 2022
    Date of Patent: May 21, 2024
    Assignee: Oracle International Corporation
    Inventors: Shasank Kisan Chavan, Garret F. Swart, Weiwei Gong
  • Patent number: 11983151
    Abstract: 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: Grant
    Filed: May 28, 2021
    Date of Patent: May 14, 2024
    Inventors: Nagarajan Muthukrishnan, Binoy Sukumaran, Garret F. Swart, Sumanta Chatterjee, Ravi Shankar Thammaiah
  • Patent number: 11983170
    Abstract: 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: Grant
    Filed: March 6, 2023
    Date of Patent: May 14, 2024
    Assignee: Oracle International Corporation
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Publication number: 20240143406
    Abstract: 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: Application
    Filed: October 31, 2022
    Publication date: May 2, 2024
    Inventors: Kangnyeon Kim, Aida Vosoughi, Garret F. Swart
  • Patent number: 11971869
    Abstract: 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: Grant
    Filed: October 26, 2022
    Date of Patent: April 30, 2024
    Assignee: Oracle International Corporation
    Inventors: 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: 11966356
    Abstract: 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: Grant
    Filed: December 23, 2022
    Date of Patent: April 23, 2024
    Assignee: Oracle International Corporation
    Inventors: Tinggang Wang, Shuo Yang, Hideaki Kimura, Garret F. Swart, Spyros Blanas
  • Publication number: 20240095249
    Abstract: 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: Application
    Filed: September 20, 2022
    Publication date: March 21, 2024
    Inventors: Laleh Aghababaie Beni, Garret F. Swart
  • Publication number: 20230342355
    Abstract: 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: Application
    Filed: April 25, 2022
    Publication date: October 26, 2023
    Inventors: 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: 20230281190
    Abstract: 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: Application
    Filed: March 6, 2023
    Publication date: September 7, 2023
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Juan R. Loaiza, Tirthankar Lahiri
  • Patent number: 11720522
    Abstract: 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: Grant
    Filed: February 16, 2021
    Date of Patent: August 8, 2023
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Tinggang Wang, Shuo Yang, Hideaki Kimura, Garret F. Swart, Spyros Blanas
  • Patent number: 11709784
    Abstract: 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: Grant
    Filed: March 26, 2021
    Date of Patent: July 25, 2023
    Assignee: Oracle International Corporation
    Inventors: Hideaki Kimura, Garret F. Swart, Spyros Blanas, Tirthankar Lahiri, Juan R. Loaiza, Jesse Kamp, Avneesh Pant
  • Publication number: 20230229573
    Abstract: 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: Application
    Filed: January 18, 2022
    Publication date: July 20, 2023
    Inventors: Nagarajan Muthukrishnan, Binoy Sukumaran, Garret F. Swart, Sumanta Chatterjee, Ravi Shankar Thammaiah
  • Publication number: 20230127110
    Abstract: 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: Application
    Filed: December 23, 2022
    Publication date: April 27, 2023
    Inventors: Tinggang Wang, Shuo Yang, Hideaki Kimura, Garret F. Swart, Spyros Blanas
  • Patent number: 11599421
    Abstract: 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: Grant
    Filed: December 30, 2020
    Date of Patent: March 7, 2023
    Assignee: Oracle International Corporation
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza