Claims
- 1. A method for accessing data in a computing system, comprising:
associating an index structure with a first data or a first subtree; associating the index structure with a second data or a second subtree; associating a first group with the first data or the first subtree, where access by any member of the first group against the index structure will cause access to the first data or the first subtree; and associating a second group with the second data or second subtree, where access by any member of the second group against the index structure will cause access to the second data or the second subtree.
- 2. The method of claim 1 in which only a single member is part of the first or second group.
- 3. The method of claim 1 in which a member of the first group dynamically changes association to become a member of the second group.
- 4. The method of claim 1 further comprising:
associating the index structure with a default data or a default subtree, wherein access against the index structure by any member that is not part of an established group will cause access to the default data or the default subtree.
- 5. The method of claim 1 that is applied to allow multiple members to access different data during a rolling upgrade, in which the index structure comprises a key to data for a software product.
- 6. The method of claim 1 that is applied to allow different users to access different content at a web page, in which a web page address for the web page comprises the index structure.
- 7. The method of claim 1 that is applied to allow access to different database views, in which the index structure comprises an identifier of a view.
- 8. The method of claim 1 in which the index structure is a key.
- 9. The method of claim 8 in which the key is a group dependent key.
- 10. The method of claim 9 in which the group dependent key is only visible to members of the first or second groups.
- 11. The method of claim 9 in which the group dependent key is associated with only a single member.
- 12. The method of claim 11 in which the key is a member dependent key.
- 13. The method of claim 9 in which the first or second data is shared static or dynamic data.
- 14. The method of claim 1 in which a link is created between the first data or first subtree and the second data or second subtree.
- 15. The method of claim 14 in which the link is a group dependent link.
- 16. The method of claim 14 in which the link is only visible to members of the first or second groups.
- 17. The method of claim 14 in which the link is bidirectional or multidirectional.
- 18. The method of claim 14 in which the link is implemented as a link to a group dependent key.
- 19. The method of claim 14 in which the link is implemented as one or more links to normal keys.
- 20. The method of claim 19 in which the one or more links are private links.
- 21. The method of claim 20 in which the private links are private symbolic links.
- 22. The method of claim 14 in which the first or second data is shared static or dynamic data.
- 23. The method of claim 1 in which data transformation is performed between the first data or subtree and the second data or subtree.
- 24. The method of claim 23 in which a data transformation function is used to perform the act of data transformation.
- 25. The method of claim 23 in which the data transformation is performed against data associated with a group dependent link or a group dependent key.
- 26. The method of claim 23 in which the act of data transformation changes data format, data value, index structure, or data structure.
- 27. The method of claim 23 in which a BNF grammar is used to define a language for specifying the data transformation.
- 28. The method of claim 27 in which the BNF grammar comprises semantics for implementing a data transformation selected from the group consisting of: data format change, data value change, transformation along a hierarchical structure, transformation applied to children in a hierarchy, transformation between different hierarchical structures, transformations related to security attributes of a key.
- 29. The method of claim 23 in which the data transformation is performed between three or more groups of members.
- 30. A method for managing shared data in a computing system, comprising:
associating an index structure with a first data or a first subtree; associating the index structure with a link to a second data or a second subtree; associating a first group with the first data or the first subtree, where access by any member of the first group against the index structure will cause access to the first data or the first subtree; and associating a second group with the link to the second data or second subtree, where access by any member of the second group against the index structure will cause linked access to the second data or the second subtree.
- 31. The method of claim 30 in which only a single member is part of the first or second group.
- 32. The method of claim 30 in which a member of the first group dynamically changes association to become a member of the second group.
- 33. The method of claim 30 that is applied to allow multiple members to access different data during a rolling upgrade, in which the index structure comprises a key to data for a software product.
- 34. The method of claim 30 that is applied to allow different users to access different content at a web page, in which a web page address for the web page comprises the index structure.
- 35. The method of claim 30 that is applied to allow access to different database views, in which the index structure comprises an identifier of a view.
- 36. The method of claim 30 in which a data transformation function is performed when accessing the index structure.
- 37. The method of claim 36 in which the data transformation function converts between a first expected format, value or structure and a second expected format, value, or structure.
- 38. The method of claim 37 in which the conversion between the first expected format, value, or structure and the second expected format, value, or structure is dynamically performed.
- 39. The method of claim 36 in which the first data and the second data are shared data.
- 40. The method of claim 39 in which the shared data is dynamic shared data.
- 41. The method of claim 36 in which the data transformation function is applied when a data update operation is performed.
- 42. The method of claim 37 in which the data transformation function is applied when a data read operation is performed.
- 43. A method for creating member private data in a global namespace, the method comprising:
storing, in a repository shared by a plurality of members of a distributed system, first data that is associated with a key; after storing said first data, storing, in said repository, second data that is associated with said key without overwriting said first data; storing mapping data that: maps said key, relative to a first one or more members of the distributed system, to a first data structure that stores said first data; and maps said key, relative to a second one or more members of the distributed system, to a second data structure that stores said second data; based on said mapping data, allowing said first one or more members to access said first data and not said second data; and based on said mapping data, allowing said second one or more members to access said second data and not said first data.
- 44. The method of claim 43, further comprising:
receiving a first request to store said first data in association with said key; receiving a second request to store said second data in association with said key; wherein said first request is received from said first one or more members; wherein said second request is received from said second one or more members; wherein said storing of said first data is performed in response to receiving said first request; and wherein said storing of said second data is performed in response to receiving said second request.
- 45. The method of claim 43, wherein said repository stores configuration information used by instances of a computer program, and wherein said first one or more members and said second one or more members are different instances of a computer program.
- 46. The method of claim 43, wherein storing said mapping data comprises:
storing, in a third data structure, a first association between said key, said first one or more members, and first location data; and storing, in said third data structure, a second association between said key, said second one or more members, and second location data that differs from said first location data.
- 47. The method of claim 46, wherein:
said first location data is for locating said first data structure; and said second location data is for locating said second data structure.
- 48. The method of claim 46, further comprising:
storing, in a parent data structure of said first and second data structures, location data for locating said first association within said third data structure; and storing, in said parent data structure, location data for locating said second association within said third data structure.
- 49. The method of claim 43, further comprising:
receiving a request to create a member-dependent key; and in response to said request to create a member-dependent key, creating said key.
- 50. The method of claim 43, further comprising:
receiving a request from said first one or more members to delete said key; and in response to said request from said first one or more members to delete said key, modifying a data structure to cause said key to be deleted relative to said first one or more members.
- 51. The method of claim 43, further comprising:
receiving a request from said first one or more members to read said key; and in response to said request from said first one or more members to read said key, returning said first data to said first one or more members but not returning said second data to said first one or more members.
- 52. The method of claim 43, further comprising:
receiving a request from said first one or more members to set a value of said key; and in response to said request from said first one or more members to set a value of said key, modifying said first data but not said second data.
- 53. The method of claim 43, further comprising:
receiving a request from said first one or more members to convert said key into a key that is not a member-dependent key; and in response to said request to convert said key into a key that is not a member-dependent key, causing a key component entry to point to said first data instead of said mapping data.
- 54. The method of claim 43, further comprising:
receiving a request from said first one or more members to convert a key that is not a member-dependent key into a member-dependent key; and in response to said request to convert a key that is not a member-dependent key into a member-dependent key, replicating a data structure that stores data that is associated with said key that is not a member-dependent key.
- 55. A computer-readable medium that carries instructions for creating member private data in a global namespace, the instructions performing a process comprising:
storing, in a repository shared by a plurality of members of a distributed system, first data that is associated with a key; after storing said first data, storing, in said repository, second data that is associated with said key without overwriting said first data; storing mapping data that: maps said key, relative to a first one or more members of the distributed system, to a first data structure that stores said first data; and maps said key, relative to a second one or more members of the distributed system, to a second data structure that stores said second data; based on said mapping data, allowing said first one or more members to access said first data and not said second data; and based on said mapping data, allowing said second one or more members to access said second data and not said first data.
- 56. A computer-readable medium that carries instructions for accessing data in a computing system, the instructions performing a process comprising:
associating an index structure with a first data or a first subtree; associating the index structure with a second data or a second subtree; associating a first group with the first data or the first subtree, where access by any member of the first group against the index structure will cause access to the first data or the first subtree; and associating a second group with the second data or second subtree, where access by any member of the second group against the index structure will cause access to the second data or the second subtree.
- 57. A system for creating member private data in a global namespace, comprising means for:
storing, in a repository shared by a plurality of members of a distributed system, first data that is associated with a key; after storing said first data, storing, in said repository, second data that is associated with said key without overwriting said first data; storing mapping data that: maps said key, relative to a first one or more members of the distributed system, to a first data structure that stores said first data; and maps said key, relative to a second one or more members of the distributed system, to a second data structure that stores said second data; based on said mapping data, allowing said first one or more members to access said first data and not said second data; and based on said mapping data, allowing said second one or more members to access said second data and not said first data.
- 58. A system for accessing data in a computing system, comprising:
means for associating a index structure with a first data or a first subtree; means for associating the index structure with a second data or a second subtree; means for associating a first group with the first data or the first subtree, where access by any member of the first group against the index structure will cause access to the first data or the first subtree; and means for associating a second group with the second data or second subtree, where access by any member of the second group against the index structure will cause access to the second data or the second subtree.
- 59. A system for managing shared data in a computing system, comprising:
means for associating an index structure with a first data or a first subtree; means for associating the index structure with a link to a second data or a second subtree; means for associating a first group with the first data or the first subtree, where access by any member of the first group against the index structure will cause access to the first data or the first subtree; and means for associating a second group with the link to the second data or second subtree, where access by any member of the second group against the index structure will cause linked access to the second data or the second subtree.
- 60. A computer-readable medium that carries instructions for managing shared data in a computing system, the instructions performing a process comprising:
associating an index structure with a first data or a first subtree; associating the index structure with a link to a second data or a second subtree; associating a first group with the first data or the first subtree, where access by any member of the first group against the index structure will cause access to the first data or the first subtree; and associating a second group with the link to the second data or second subtree, where access by any member of the second group against the index structure will cause linked access to the second data or the second subtree.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation-in-part of U.S. application Ser. No. 10/304,449, filed on Nov. 25, 2002, which claims priority to the following provisional U.S. Patent Applications: (a) U.S. Provisional Patent Application No. 60/370,963 entitled “Personalized Content Within a Global Namespace”, filed Apr. 8, 2002; and (b) U.S. Provisional Patent Application No. 60/372,186 entitled “Approach for Personalized Content Within a Global Namespace”, filed Apr. 12, 2002, which are all hereby incorporated by reference in its entirety.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60370963 |
Apr 2002 |
US |
|
60372186 |
Apr 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10304449 |
Nov 2002 |
US |
Child |
10845016 |
May 2004 |
US |