Method and system for multi-entry and multi-template matching in a database
First Claim
1. A method for searching items in a database, the database storing a plurality of items, each item comprising a plurality of entries, the method comprising:
- receiving a request including a multi-template comprised of a plurality of templates;
comparing the multi-template to an item in the database to determine whether the item matches the multi-template, the item comprising a plurality of entries; and
returning the item based upon a result of the comparison.
2 Assignments
0 Petitions
Accused Products
Abstract
A database system wherein one or more entry databases store a plurality of entries. Each entry is of a given type that defines the fields of the entry. Each field contains or identifies an object with associated attributes or data. The type of each entry may further define behavior in the form of methods the entry can implement. An entry type which is a subtype of another inherits all fields and behavior of its super-type, and contains additional fields and/or defines new/modified behavior. Entries may be expressed in a Java™ programming language. The database system may further employ a search engine which allows queries to be made upon entries in the database. In one implementation, the queries include a read operation, a take operation, and a notify operation. Each query request includes a command indicating the type of operation, and a template which is an entry object having some or all of its fields set to specific values that must be matched exactly. Other fields of the template entry may be specified as wildcards, whose values do not matter. The search engine may further be configured to create an index for caching entries having characteristics which are commonly specified by queries. In one implementation, the databases may also store sets of entries which are matched using sets of templates.
-
Citations
23 Claims
-
1. A method for searching items in a database, the database storing a plurality of items, each item comprising a plurality of entries, the method comprising:
-
receiving a request including a multi-template comprised of a plurality of templates;
comparing the multi-template to an item in the database to determine whether the item matches the multi-template, the item comprising a plurality of entries; and
returning the item based upon a result of the comparison. - View Dependent Claims (2, 3, 4, 5, 6)
comparing each template in the multi-template with the entries in the item to determine if each template has a matching entry, each entry being allowed to match more than one template.
-
-
3. The method of claim 1, further including the step of:
repeating the comparing step until a match is found or all items in the database are compared.
-
4. The method of claim 3, wherein the returning step includes the step of:
returning a null value if no matches are found.
-
5. The method of claim 1, wherein the receiving step includes the step of:
receiving a request for more than one item.
-
6. The method of claim 5, wherein the returning step includes the step of:
returning more than one item.
-
7. A method for notification of the arrival of a specified item in a database comprising the steps of:
-
receiving a request to monitor the database for the arrival of a specified item comprising a plurality of entries, the request including a multi-template comprising a plurality of templates;
determining, upon the arrival of an item, whether the item matches the multi-template in the request; and
returning notification based on the determination. - View Dependent Claims (8)
receiving a request including a lease time indicating the length of time the database is to monitor incoming items.
-
-
9. A method for searching items in a database, the database storing a plurality of items, each item comprising a plurality of entries, the method comprising:
-
providing a request including a multi-template comprised of a plurality of templates; and
receiving an item matching the multi-template based on a comparison of the multi-template to items in the database, the received item comprising a plurality of entries. - View Dependent Claims (10, 11)
receiving a null value if the database contains no items matching the multi-template.
-
-
12. A method for searching items in a database, the database storing a plurality of items, each item comprising a plurality of entries, the method comprising:
-
providing a request including a take or read operation and a multi-template comprised of a plurality of templates;
selecting an item in the database to compare to the multi-template, the item comprising a plurality of entries;
comparing the multi-template to one of the items in the database by comparing each template in the multi-template with the entries in the one of the items to determine if each template has a matching entry, each entry being allowed to match more than one template;
returning the one of the items or a null value based on a result of the comparison. - View Dependent Claims (13)
repeating the selecting and comparing steps until a match is found or all items in the database have been compared.
-
-
14. A data processing system for searching for items in a database, the system comprising:
-
a CPU;
a memory coupled to the CPU, the memory storing a database comprising a plurality of items, each item comprising a plurality of entries;
wherein the memory stores a search program which is executable by the CPU to receive a request including a multi-template comprised of a plurality of templates, compare the multi-template to an item in the database to determine whether the item matches the multi-template, and return the item based upon a result of the comparison.
-
-
15. A data processing apparatus having a database storing a plurality of items comprising a plurality of entries, the apparatus comprising:
-
a receiving component configured to receive a request including a multi-template comprised of a plurality of templates;
a comparing component configured to compare the multi-template to an item in the database to determine whether the item matches the multi-template, the item comprising a plurality of entries; and
a returning component configured to return the item based upon a result of the comparison. - View Dependent Claims (16, 17)
a comparing component configured to compare each template in the multi-template with the entries in the item to determine if each template has a matching entry, each entry being allowed to match more than one template.
-
-
17. The apparatus of claim 15, further including:
a repeating component configured to repeat the comparing step until a match is found or all items in the database are compared.
-
18. A data processing apparatus having a database storing a plurality of items comprising a plurality of entries, the apparatus comprising:
-
a providing component configured to provide a request including a multi-template comprised of a plurality of templates; and
a receiving component configured to receive an item matching the multi-template based on a comparison of the multi-template to items in the database, the received item comprising a plurality of entries.
-
-
19. A computer program product comprising a computer readable medium having computer readable code embodied therein for processing data in a database by:
-
receiving a request including a multi-template comprised of a plurality of templates;
comparing the multi-template to an item in the database to determine whether the item matches the multi-template, the item comprising a plurality of entries; and
returning the item based upon a result of the comparison. - View Dependent Claims (20, 21)
comparing each template in the multi-template with the entries in the item to determine if each template has a matching entry, each entry being allowed to match more than one template.
-
-
21. The product of claim 19, further comprising:
repeating the comparing step until a match is found or all items in the database are compared.
-
22. A computer program product comprising a computer readable medium having computer readable code embodied therein for processing data in a database by:
-
providing a request including a multi-template comprised of a plurality of templates; and
receiving an item matching the multi-template based on a comparison of the multi-template to items in the database, the received item comprising a plurality of entries.
-
-
23. A computer program product comprising a computer readable medium having computer readable code embodied therein for processing data in a database, the computer readable medium comprising:
-
means for receiving a request including a multi-template comprised of a plurality of templates;
means for comparing the multi-template to an item in the database to determine whether the item matches the multi-template, the item comprising a plurality of entries; and
means for returning the item based upon a result of the comparison.
-
Specification