Systems and Methods for Data Storage and Retrieval Using Algebraic Optimization
First Claim
1. A method for providing a requested data set, comprising:
- providing a plurality of algebraic relations defining relationships between a plurality of data sets;
using at least some of the plurality of algebraic relations to compose a plurality of collections of algebraic relations that define a result equal to the requested data set;
determining a cost for each of the plurality of collections of algebraic relations, wherein the cost is based, at least in part, on an estimate of the transfer time required to retrieve the data sets required to calculate the requested data set from the collection of algebraic relations;
selecting the collection of algebraic relations with the lowest cost; and
using the selected collection of algebraic relations to provide the requested data set.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for storing and accessing data. A relation store may be used to store algebraic relations between data sets. Alternative collections of algebraic relations may be generated and evaluated to determine an optimized collection of algebraic relations to use in calculating and providing a requested data set. Optimization criteria may be based on an estimate of the amount of data required to be transferred from storage and/or the amount of time required to transfer data sets from storage in order to calculate the collection of algebraic relations. The optimization criteria may distinguish among equivalent data sets containing the same logical data in different physical formats or in different locations in the data store. The optimization may be performed using the algebraic relations rather than retrieving underlying data sets from storage. As a result, optimization may be performed at processor speeds to minimize the amount of time required for data to be retrieved from slower storage.
78 Citations
21 Claims
-
1. A method for providing a requested data set, comprising:
-
providing a plurality of algebraic relations defining relationships between a plurality of data sets;
using at least some of the plurality of algebraic relations to compose a plurality of collections of algebraic relations that define a result equal to the requested data set;
determining a cost for each of the plurality of collections of algebraic relations, wherein the cost is based, at least in part, on an estimate of the transfer time required to retrieve the data sets required to calculate the requested data set from the collection of algebraic relations;
selecting the collection of algebraic relations with the lowest cost; and
using the selected collection of algebraic relations to provide the requested data set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for storing a specified data set, comprising:
-
providing a plurality of algebraic relations defining relationships between a plurality of data sets;
using at least some of the plurality of algebraic relations to compose a plurality of collections of algebraic relations that define a result equal to the specified data set;
determining a cost for each of the plurality of collections of algebraic relations, wherein the cost is based, at least in part, on an estimate of the transfer time required to retrieve the data sets required to calculate the requested data set from the collection of algebraic relations;
selecting the collection of algebraic relations with the lowest cost; and
using the selected collection of algebraic relations to calculate the specified data set; and
storing the specified data set that has been calculated from the selected collection of algebraic relations. - View Dependent Claims (19, 20)
-
-
21. A method for providing a requested data set:
-
providing a storage system for storing data sets;
composing at least two alternative algebraic relations that each define a result equal to the requested data set, including a first algebraic relation based on a first collection of data sets stored in the storage system and a second algebraic relation based on a second collection of data sets stored in the storage system;
selecting between the first algebraic relation and the second algebraic relation based, at least in part, on an estimate of the transfer time required to retrieve the first collection of data sets from the storage system in order to use the first algebraic relation to calculate the requested data set and on an estimate of the transfer time required to retrieve the second collection of data sets from the storage system in order to use the second algebraic relation to calculate the requested data set; and
using the selected algebraic relation to calculate the requested data set.
-
Specification