Patents by Inventor Boris Klots

Boris Klots 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).

  • Publication number: 20230050727
    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: Application
    Filed: October 26, 2022
    Publication date: February 16, 2023
    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: 11550771
    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 14, 2020
    Date of Patent: January 10, 2023
    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: 11455219
    Abstract: Herein are acceleration techniques for resuming offloaded execution by replacing a failed computer with a hot spare computer. In an embodiment, a distributed system configures a DBMS, a set of participating computers, and a set of spare computers. The DBMS receives a query of a database. From the query, an offload query plan is generated for distributed execution. The DBMS sends the offload query plan and a respective portion of the database to each participating computer. The distributed system detects that a participating computer failed after the offload query plan was sent. Responsively, the DBMS sends the same offload query plan and same respective portion of the database of the failed computer to a replacement computer from the spare computers. Despite the computer failure, the DBMS receives results of successful distributed execution of the offload query plan that include a result from the replacement computer.
    Type: Grant
    Filed: October 22, 2020
    Date of Patent: September 27, 2022
    Assignee: Oracle International Corporation
    Inventors: Krishna Kantikiran Pasupuleti, Boris Klots, Vijayakrishnan Nagarajan, Anantha Kiran Kandukuri, Nipun Agarwal
  • Patent number: 11392616
    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 16, 2020
    Date of Patent: July 19, 2022
    Assignee: Oracle International Corporation
    Inventors: William H. Bridge, Jr., David Brower, Meichun Hsu, Boris Klots, Neil J S Macnaughton, Ajit Mylavarapu, Umesh Panchaksharaiah, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Publication number: 20220156163
    Abstract: In an embodiment, a computer-implemented method includes receiving a query from a client and determining a query plan for the query. The query plan comprises one or more query operators for executing at least a portion of the query on a database. The method also includes sending the one or more query operators to one or more computing nodes for the one or more computing nodes to execute the one or more query operators on one or more data fragments of the database. In this example, each computing node of the one or more computing nodes hosts a respective data fragment of the one or more data fragments. Further, the method includes detecting an error in executing a first query operator by a first computing node on a first data fragment, and sending, in response to detecting the error, the first query operator to a replacement computing node for executing on the first data fragment hosted by the spare computing node.
    Type: Application
    Filed: November 13, 2020
    Publication date: May 19, 2022
    Inventors: Krishna Kantikiran Pasupuleti, Boris Klots, Nipun Agarwal
  • Publication number: 20220129358
    Abstract: Herein are acceleration techniques for resuming offloaded execution by replacing a failed computer with a hot spare computer. In an embodiment, a distributed system configures a DBMS, a set of participating computers, and a set of spare computers. The DBMS receives a query of a database. From the query, an offload query plan is generated for distributed execution. The DBMS sends the offload query plan and a respective portion of the database to each participating computer. The distributed system detects that a participating computer failed after the offload query plan was sent. Responsively, the DBMS sends the same offload query plan and same respective portion of the database of the failed computer to a replacement computer from the spare computers. Despite the computer failure, the DBMS receives results of successful distributed execution of the offload query plan that include a result from the replacement computer.
    Type: Application
    Filed: October 22, 2020
    Publication date: April 28, 2022
    Inventors: Krishna Kantikiran Pasupuleti, Boris Klots, Vijayakrishnan Nagarajan, Anantha Kiran Kandukuri, Nipun Agarwal
  • Publication number: 20220114153
    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: Application
    Filed: October 14, 2020
    Publication date: April 14, 2022
    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
  • Publication number: 20220114192
    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: Application
    Filed: December 16, 2020
    Publication date: April 14, 2022
    Inventors: William H. Bridge, JR., David Brower, Meichun Hsu, Boris Klots, Neil J S Macnaughton, JR., Ajit Mylavarapu, Umesh Panchaksharaiah, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 10333863
    Abstract: Allocation of resources across multiple consumers allows efficient utilization of shared resources. Observed usages of resources by consumers over time intervals are used to determine a total throughput of resources by the consumers. The total throughput of resources is used to determine allocation of resources for a subsequent time interval. The consumers are associated with priorities used to determine their allocations. Minimum and maximum resource guarantees may be associated with consumers. The resource allocation aims to allocate resources based on the priorities of the consumers while aiming to avoid starvation by any consumer. The resource allocation allows efficient usage of network resources in a database storage system storing multiple virtual databases.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: June 25, 2019
    Assignee: DELPHIX CORP.
    Inventors: Boris Klots, Subhadeep Sinha, Satish Kumar
  • Patent number: 10223437
    Abstract: A method and apparatus for adaptive data repartitioning and adaptive data replication is provided. A data set stored in a distributed data processing system is partitioned by a first partitioning key. A live workload comprising a plurality of data processing commands is processed. While processing the live workload, statistical properties of the live workload are maintained. Based on the statistical properties of the live workload with respect to the data set, it is determined to replicate and/or repartition the data set by a second partitioning key. The replicated and/or repartitioned data set is partitioned by the second partitioning key.
    Type: Grant
    Filed: February 27, 2015
    Date of Patent: March 5, 2019
    Assignee: Oracle International Corporation
    Inventors: Boris Klots, Vikas Aggarwal, Nipun Agarwal, John Kowtko, Felix Schmidt, Kantikiran Pasupuleti
  • Patent number: 9842148
    Abstract: Herein is described a data placement scheme for a distributed query processing systems that achieves load balance amongst the nodes of the system. To identify a node on which to place particular data, a supervisor node performs a placement algorithm over the particular data's identifier, where the placement algorithm utilizes two or more hash functions. The supervisor node runs the placement algorithm until a destination node is identified that is available to store the data, or the supervisor node has run the placement algorithm an established number of times. If no available node is identified using the placement algorithm, then an available destination node is identified for the particular data and information identifying the data and the selected destination node is included in an exception map. Most data may be located by any node in the system based on the node performing the placement algorithm for the required data.
    Type: Grant
    Filed: May 5, 2015
    Date of Patent: December 12, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Gong Zhang, Sabina Petride, Boris Klots, Sam Idicula, Nipun Agarwal
  • Publication number: 20160328456
    Abstract: Herein is described a data placement scheme for a distributed query processing systems that achieves load balance amongst the nodes of the system. To identify a node on which to place particular data, a supervisor node performs a placement algorithm over the particular data's identifier, where the placement algorithm utilizes two or more hash functions. The supervisor node runs the placement algorithm until a destination node is identified that is available to store the data, or the supervisor node has run the placement algorithm an established number of times. If no available node is identified using the placement algorithm, then an available destination node is identified for the particular data and information identifying the data and the selected destination node is included in an exception map. Most data may be located by any node in the system based on the node performing the placement algorithm for the required data.
    Type: Application
    Filed: May 5, 2015
    Publication date: November 10, 2016
    Inventors: Gong Zhang, Sabina Petride, Boris Klots, Sam Idicula, Nipun Agarwal
  • Publication number: 20160253402
    Abstract: A method and apparatus for adaptive data repartitioning and adaptive data replication is provided. A data set stored in a distributed data processing system is partitioned by a first partitioning key. A live workload comprising a plurality of data processing commands is processed. While processing the live workload, statistical properties of the live workload are maintained. Based on the statistical properties of the live workload with respect to the data set, it is determined to replicate and/or repartition the data set by a second partitioning key. The replicated and/or repartitioned data set is partitioned by the second partitioning key.
    Type: Application
    Filed: February 27, 2015
    Publication date: September 1, 2016
    Inventors: Boris Klots, Vikas Aggarwal, Nipun Agarwal, John Kowtko, Felix Schmidt, Kantikiran Pasuppuleti
  • Patent number: 9396451
    Abstract: Order allocation techniques pertaining to stops that a container makes in the process of fulfilling a customer order is disclosed. In one embodiment, this is accomplished by first identifying a pod that stocks the largest number of different items in a customer order. Then, a second pod is identified that stocks the largest number of remaining items in the customer order. The collection of pods defines a container path through the distribution center.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: July 19, 2016
    Assignee: June Ray Limited
    Inventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots
  • Patent number: 9305281
    Abstract: Order allocation techniques pertaining to stops that a container makes in the process of fulfilling a customer order is disclosed. In one embodiment, this is accomplished by first identifying a pod that stocks the largest number of different items in a customer order. Then, a second pod is identified that stocks the largest number of remaining items in the customer order. The collection of pods defines a container path through the distribution center.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: April 5, 2016
    Assignee: June Ray Limited
    Inventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots
  • Publication number: 20160019633
    Abstract: Order allocation techniques pertaining to stops that a container makes in the process of fulfilling a customer order is disclosed. In one embodiment, this is accomplished by first identifying a pod that stocks the largest number of different items in a customer order. Then, a second pod is identified that stocks the largest number of remaining items in the customer order. The collection of pods defines a container path through the distribution center.
    Type: Application
    Filed: September 25, 2015
    Publication date: January 21, 2016
    Inventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots
  • Publication number: 20150312169
    Abstract: Allocation of resources across multiple consumers allows efficient utilization of shared resources. Observed usages of resources by consumers over time intervals are used to determine a total throughput of resources by the consumers. The total throughput of resources is used to determine allocation of resources for a subsequent time interval. The consumers are associated with priorities used to determine their allocations. Minimum and maximum resource guarantees may be associated with consumers. The resource allocation aims to allocate resources based on the priorities of the consumers while aiming to avoid starvation by any consumer. The resource allocation allows efficient usage of network resources in a database storage system storing multiple virtual databases.
    Type: Application
    Filed: July 8, 2015
    Publication date: October 29, 2015
    Inventors: Boris Klots, Subhadeep Sinha, Satish Kumar
  • Patent number: 9106591
    Abstract: Allocation of resources across multiple consumers allows efficient utilization of shared resources. Observed usages of resources by consumers over time intervals are used to determine a total throughput of resources by the consumers. The total throughput of resources is used to determine allocation of resources for a subsequent time interval. The consumers are associated with priorities used to determine their allocations. Minimum and maximum resource guarantees may be associated with consumers. The resource allocation aims to allocate resources based on the priorities of the consumers while aiming to avoid starvation by any consumer. The resource allocation allows efficient usage of network resources in a database storage system storing multiple virtual databases.
    Type: Grant
    Filed: December 24, 2009
    Date of Patent: August 11, 2015
    Assignee: Delphix Corporation
    Inventors: Boris Klots, Subhadeep Sinha, Satish Kumar
  • Patent number: 8989910
    Abstract: Methods, machine-readable media, apparatuses and systems are provided to collect and analyze data relating to energy consumption and factors affecting energy production. In various embodiments, such analysis can include time series analysis, multivariate correlation analysis, cluster analysis, anomaly detection methods, multi-dimensional density analysis and demand modeling.
    Type: Grant
    Filed: December 30, 2011
    Date of Patent: March 24, 2015
    Assignee: C3, Inc.
    Inventor: Boris Klots
  • Publication number: 20140108287
    Abstract: Order allocation techniques pertaining to stops that a container makes in the process of fulfilling a customer order is disclosed. In one embodiment, this is accomplished by first identifying a pod that stocks the largest number of different items in a customer order. Then, a second pod is identified that stocks the largest number of remaining items in the customer order. The collection of pods defines a container path through the distribution center.
    Type: Application
    Filed: December 20, 2013
    Publication date: April 17, 2014
    Applicant: IpVenture, Inc.
    Inventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots