Claims
- 1. In a system having a plurality of preference objects and at least one user, a method for elaborating a user's preferences in response to the user's name, comprising the steps of:
associating with the user name an entitlement expression, the entitlement expression including a reference to at least one membership map of preferences having membership information for the preference objects; associating with the preference objects a unique identifier, the unique identifier acting as an index into each membership map of preferences; evaluating the entitlement expression for the user name to determine a preference list for the user name, the evaluation including looking up the preference object's membership information in the at least one membership map of preferences using the preference object's unique identifier.
- 2. The method of claim 1, wherein the system further comprises at least one group, each group having a name, zero or more preference objects that are members of the group, and a membership map of preferences for determining whether a particular object is a member of the group, the entitlement expression referencing at least one membership map of preferences by including at least one group name corresponding to a group having a membership map of preferences.
- 3. The method of claim 2, wherein the entitlement expression comprises a plurality of group names and at least one operator.
- 4. The method of claim 3, wherein the entitlement expression operator comprises one or more boolean operators.
- 5. The method of claim 1, wherein each membership map is a bit map.
- 6. The method of claim 5, wherein the preference object's unique identifier is an index to a position in each bit map wherein the bit at that position indicates whether the preference object is a member of the group corresponding to the bit map.
- 7. The method of claim 5, wherein the bit map includes at least one bit for each preference object.
- 8. The method of claim 5, wherein the bit maps are stored in paged data structures.
- 9. In a system having a plurality of preference objects, at least one group having a name and having zero or more preference objects as members, and at least one user, a method for elaborating a user's preferences in response to the user's name, comprising the steps of:
associating with the user name an entitlement expression including at least one group name; associating with each group a membership map of preferences indicating whether particular objects are members of that group; associating with each preference object a unique identifier usable as an index into each group membership map to determine whether that object is a member of that group; evaluating an entitlement expression for the user name to determine a preference list for the user name.
- 10. The method of claim 9, wherein each membership map is a bit map.
- 11. The method of claim 10, wherein the preference object's unique identifier is an index to a position in each bit map wherein the bit at that position indicates whether the preference object is a member of the group corresponding to the bit map.
- 12. The method of claim 10, wherein the bit map includes at least one bit for each preference object.
- 13. The method of claim 10, wherein the bit maps are stored in paged data structures.
- 14. The method of claim 9, wherein each group name is associated with a membership map identifier that represents the location of the membership map for the group.
- 15. The method of claim 9, wherein each preference object has a unique name and each preference object's name and unique identifier are stored in a preference object store.
- 16. The method of claim 15, wherein the preference object identifier is a number.
- 17. The method of claim 16, wherein a preference object store bit map tracks which identifier numbers are associated with preference objects and which identifier numbers are available for association with a new preference object.
- 18. The method of claim 14, wherein the group names and the membership map identifiers associated with the group names are stored in an preference object group store.
- 19. The method of claim 18, wherein the membership map identifier is a number.
- 20. The method of claim 19, wherein a preference object group store bit map tracks which membership map identifier numbers are associated with group names and which member ship map identifier numbers are available for association with a new group name.
- 21. A system for elaborating user preferences based on a user's name comprising:
a first means for storing a plurality of preference objects and a unique identifier associated with each preference object; a second means for storing a plurality of unique preference object group names, each of the plurality of preference object group names having an associated membership map, the accessor identifier acting as an index into the preference object group membership maps for determining whether a preference object is a member of a preference object group; and a processor means for determining whether a preference object is preferred by a user by evaluating an entitlement expression for the user name, the entitlement expression including a reference to at least one preference object group.
- 22. The system of claim 21, further comprising a third means for storing at least one unique user name corresponding to a user and an entitlement expression associated with each user name.
- 23. The system of claim 21, wherein the processor means comprises a server process responsive to one or more client processes representing preference object associated with the user name.
- 24. The system of claim 23, wherein the processor means comprises a plurality of threads executing on a server computer for accessing the first and second means and for elaborating user preferences based on information retrieved from the first and second means.
- 25. In a system having a plurality of preference objects and at least one user, a computer program product comprising a computer useable medium having computer readable program code to direct the system to elaborate user preferences in response to a user's name, comprising at least the following steps:
associating with the user name an entitlement expression, the entitlement expression including a reference to at least one membership map of preferences for the preference objects; associating with the preference object a unique identifier, the unique identifier acting as an index into each membership map; evaluating the entitlement expression for the user name to elaborate user preferences for the user, the evaluation including looking up the preference object's membership information in the at least one membership map using the preference object's unique identifier.
- 26. The computer program product of claim 25, wherein the system further comprises at least one group, each group having a name, zero or more preference objects that are members of the group, and a membership map of preferences for determining whether a particular preference object is a member of the group, the entitlement expression referencing at least one membership map by including at least one group name corresponding to a group having a membership map.
- 27. The computer program product of claim 26, wherein the entitlement expression comprises a plurality of group names and at least one operator.
- 28. The computer program product of claim 27, wherein the entitlement expression operator comprises one or more boolean operators.
- 29. The computer program product of claim 25, wherein each membership map is a bit map.
- 30. The computer program product of claim 29, wherein the preference object's unique identifier is an index to a position in each bit map wherein the bit at that position indicates whether the preference object is a member of the group corresponding to the bit map.
- 31. The computer program product of claim 29, wherein the bit map includes at least one bit for each preference object.
- 32. The computer program product of claim 29, wherein the bit maps are stored in paged data structures.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application 60/270,076, filed on Feb. 20, 2001, and specifically incorporates the contents of that application herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60270076 |
Feb 2001 |
US |