IP Library Granted Patent US 11,301,446
Granted Patent B1
US 11,301,446 · App. 14/834,237 · Granted Apr 12, 2022

System and method for interacting with a plurality of data sources

Inventors: Doron Levari (Newton, MA); Liran Zelkha (Brookline, MA)
Assignee: Ignite ScalArc Solutions, Inc.
G06F16/2255G06F16/955
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 11,301,446
App. No.
14/834,237
Granted
Apr 12, 2022
Kind
B1
Abstract

System and method for interacting with a plurality of data sources are provided. A request may be parsed and an identification parameter identifying a data set may be determined. A field included in the request may be designated as a distribution key. At least one data source may be selected based on a value associated with the distribution key. At least a portion of the request may be sent to a selected data source. Other embodiments are described and claimed.

Claims (39)

1. A method of processing a request, the method comprising:

performing, by a computer system programmed with code stored in a memory and executed by a processor of the computer system that transforms the computer system into a machine:

parsing a request received from a client to determine a data set identification parameter;

determining, in dependence upon the data set identification parameter, whether a data set associated with the data set identification parameter is a distributed data set or is a non-distributed data set;

when the associated data set is a distributed data set then:

selecting, in dependence upon a value or values of a distribution key, at least one target data source, the distribution key being a field included in the received request from the client and designated as the distribution key, and

sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request; and

when the associated data set is a non-distributed data set then:

when the received request is restricted to retrieval of data, then selecting a particular data source associated with the associated data set and sending the received request to the particular selected data source, and

when the received request includes an update of information, then sending the received request to all data sources associated with the associated data set.

2. The method of claim 1 , wherein the associated data set is a distributed data set, and wherein:

selecting at least one target data source comprises determining that the distribution key is associated with a range of values, and

sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises sending the particular request to a data source associated with the range of values.

3. The method of claim 1 , wherein the associated data set is a distributed data set and wherein:

selecting at least one target data source comprises calculating an index based on the value or values of the distribution key and

sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises sending the particular request to a data source associated with the index.

4. The method of claim 3 , wherein calculating the index comprises providing the value or values of the distribution key as input to a hash function.

5. The method of claim 1 , wherein the associated data set is a distributed data set and wherein a mapping table is used to select the at least one target data source in dependence upon the value or values of the distribution key.

6. The method of claim 1 , wherein the associated data set is a distributed data set and wherein sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises generating the particular request by replacing a grouping operator in the at least a portion of the received request with a sorting operator in the particular request.

7. The method of claim 1 wherein the associated data set is a distributed data set and wherein, sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises adding an operator or clause to the at least a portion of the received request.

8. An article comprising a non-transitory, computer-readable storage medium having stored thereon which, when executed on a computer, cause the computer to carry out a method, the method comprising:

parsing a request received from a client to determine a data set identification parameter;

determining, in dependence upon the data set identification parameter, whether a data set associated with the data set identification parameter is a distributed data set or is a non-distributed data set;

when the associated data set is a distributed data set then:

selecting, in dependence upon a value or values of a distribution key, at least one target data source, the distribution key being a field included in the received request from the client and designated as the distribution key; and

sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request; and

when the associated data set is a non-distributed data set then:

when the received request is restricted to retrieval of data, then selecting a particular data source associated with the associated data set and sending the received request to the particular data source, and

when the received request includes an update of information, then sending the received request to all data sources associated with the associated data set.

9. The article of claim 8 , wherein the associated data set is a distributed data set and wherein:

selecting at least one target data source comprises determining that the distribution key is associated with a range of values, and

sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises sending the particular request to a data source associated with the range of values.

10. The article of claim 8 , wherein the associated data set is a distributed data set and wherein:

selecting at least one target data source comprises calculating an index based on the value or values of the distribution key and

sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises sending the particular request to a data source associated with the index.

11. The article of claim 10 , wherein calculating the index comprises providing the value or values of the distribution key as input to a hash function.

12. The article of claim 8 , wherein the associated data set is a distributed data set and wherein a mapping table is used to select the at least one target data source in dependence upon the value or values of the distribution key.

13. The article of claim 8 , wherein the associated data set is a distributed data set, and wherein sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises generating the particular request by replacing a grouping operator in the at least a portion of the received request with a sorting operator in the particular request.

14. The article of claim 8 wherein the associated data set is a distributed data set and wherein, sending to the at least one target data source a particular request which is dependent upon at least a portion of the received request comprises adding an operator or clause to the at least a portion of the received request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2018
From: SCALARC, INC.
To: IGNITE SCALARC SOLUTIONS, INC.
Reel/Frame 044925/0407 →