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: 20230050727Abstract: 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: ApplicationFiled: October 26, 2022Publication date: February 16, 2023Inventors: 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: 11550771Abstract: 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 14, 2020Date of Patent: January 10, 2023Assignee: 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: 11455219Abstract: 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: GrantFiled: October 22, 2020Date of Patent: September 27, 2022Assignee: Oracle International CorporationInventors: Krishna Kantikiran Pasupuleti, Boris Klots, Vijayakrishnan Nagarajan, Anantha Kiran Kandukuri, Nipun Agarwal
-
Patent number: 11392616Abstract: 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 16, 2020Date of Patent: July 19, 2022Assignee: Oracle International CorporationInventors: 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: 20220156163Abstract: 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: ApplicationFiled: November 13, 2020Publication date: May 19, 2022Inventors: Krishna Kantikiran Pasupuleti, Boris Klots, Nipun Agarwal
-
Publication number: 20220129358Abstract: 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: ApplicationFiled: October 22, 2020Publication date: April 28, 2022Inventors: Krishna Kantikiran Pasupuleti, Boris Klots, Vijayakrishnan Nagarajan, Anantha Kiran Kandukuri, Nipun Agarwal
-
Publication number: 20220114153Abstract: 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: ApplicationFiled: October 14, 2020Publication date: April 14, 2022Inventors: 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: 20220114192Abstract: 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: ApplicationFiled: December 16, 2020Publication date: April 14, 2022Inventors: 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: 10333863Abstract: 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: GrantFiled: July 8, 2015Date of Patent: June 25, 2019Assignee: DELPHIX CORP.Inventors: Boris Klots, Subhadeep Sinha, Satish Kumar
-
Patent number: 10223437Abstract: 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: GrantFiled: February 27, 2015Date of Patent: March 5, 2019Assignee: Oracle International CorporationInventors: Boris Klots, Vikas Aggarwal, Nipun Agarwal, John Kowtko, Felix Schmidt, Kantikiran Pasupuleti
-
Patent number: 9842148Abstract: 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: GrantFiled: May 5, 2015Date of Patent: December 12, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Gong Zhang, Sabina Petride, Boris Klots, Sam Idicula, Nipun Agarwal
-
Publication number: 20160328456Abstract: 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: ApplicationFiled: May 5, 2015Publication date: November 10, 2016Inventors: Gong Zhang, Sabina Petride, Boris Klots, Sam Idicula, Nipun Agarwal
-
Publication number: 20160253402Abstract: 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: ApplicationFiled: February 27, 2015Publication date: September 1, 2016Inventors: Boris Klots, Vikas Aggarwal, Nipun Agarwal, John Kowtko, Felix Schmidt, Kantikiran Pasuppuleti
-
Patent number: 9396451Abstract: 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: GrantFiled: December 20, 2013Date of Patent: July 19, 2016Assignee: June Ray LimitedInventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots
-
Patent number: 9305281Abstract: 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: GrantFiled: September 25, 2015Date of Patent: April 5, 2016Assignee: June Ray LimitedInventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots
-
Publication number: 20160019633Abstract: 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: ApplicationFiled: September 25, 2015Publication date: January 21, 2016Inventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots
-
Publication number: 20150312169Abstract: 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: ApplicationFiled: July 8, 2015Publication date: October 29, 2015Inventors: Boris Klots, Subhadeep Sinha, Satish Kumar
-
Patent number: 9106591Abstract: 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: GrantFiled: December 24, 2009Date of Patent: August 11, 2015Assignee: Delphix CorporationInventors: Boris Klots, Subhadeep Sinha, Satish Kumar
-
Patent number: 8989910Abstract: 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: GrantFiled: December 30, 2011Date of Patent: March 24, 2015Assignee: C3, Inc.Inventor: Boris Klots
-
Publication number: 20140108287Abstract: 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: ApplicationFiled: December 20, 2013Publication date: April 17, 2014Applicant: IpVenture, Inc.Inventors: William Henry Waddington, Patricia C. Grewell, Peter Ham, Boris Klots