Predicate indexing of data stored in a computer with application to indexing cached data
First Claim
1. A method of locating information stored in a directory comprising:
- using a predicate to designate said information, said predicate expressed as a plurality of primitive predicates, individual predicates of said plurality of primitive predicates joined by logical connectors;
representing said logical connectors by numbers, and representing terms in each predicate by numbers, said numbers chosen so that each different logical connector and each different term in said plurality of predicates is represented by a unique number;
sorting said logical connectors and said predicates in numerical order of said unique numbers representing said logical connectors and said terms to create a normal form of said predicate; and
storing said information into a cache and using said normal form of said predicate as an index to said information stored in said cache.
3 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to a directory proxy caching system that is constructed based on a predicate, i.e., a query from a client. Broadly stated, the predicate is formed by the query (request) issued by the client. Once the data is found in the directory, then the data is stored in a cache of a proxy server. The data is indexed in the proxy server by the predicate. The predicate is used to form an index by sorting the predicate into a normal form. Steps in sorting the predicate into the normal form include the following. Each symbol of the predicate is represented by a numerical representation, for example the ASCII value used to represent the symbol in ordinary text files. The predicate is expressed as a plurality of primitive predicates, and individual predicates of the plurality of primitive predicates are joined by logical connectors. The logical connectors, and each term in the primitive predicates are represented by numbers. The logical connectors and the predicates are sorted in numerical order of the numbers to form the normal form of the predicate. The information retrieved by the predicate is stored into a cache using the normal form of the predicate as an index. The next request using a previously used predicate can then be found in the cache by the next request being sorted into normal form and used as an index into the cache.
-
Citations
4 Claims
-
1. A method of locating information stored in a directory comprising:
-
using a predicate to designate said information, said predicate expressed as a plurality of primitive predicates, individual predicates of said plurality of primitive predicates joined by logical connectors;
representing said logical connectors by numbers, and representing terms in each predicate by numbers, said numbers chosen so that each different logical connector and each different term in said plurality of predicates is represented by a unique number;
sorting said logical connectors and said predicates in numerical order of said unique numbers representing said logical connectors and said terms to create a normal form of said predicate; and
storing said information into a cache and using said normal form of said predicate as an index to said information stored in said cache. - View Dependent Claims (2, 3)
submitting a client predicate by a client to designate desired information;
sorting said client predicate into a normal form of said client predicate; and
comparing said normal form of said client predicate with index predicates to stored information stored in a cache, and retrieving stored information when said normal form of said client predicate matches said index predicate.
-
-
3. The method as in claim 1 further comprising:
- choosing said directory as a database.
-
4. A data structure stored in a computer memory, comprising:
-
a predicate sorted into normal form, said predicate serving as an index to data stored in a cache, said cache stored in a memory unit of said computer; and
said predicate having at least one logical operator and having a plurality of elements, said logical operator and said plurality of elements each represented by a number, and said normal form of said predicate formed by sorting said numbers representing said logical operators and said plurality of elements into numerical order.
-
Specification