Claims
- 1. In a computer system that manages two or more different types of data structures, each type of data structure being organized in accordance with a set of rules and corresponding to an identity, a method for directly operating on data structures in a generic manner regardless of the type of data structure being operated upon and without requiring dedicated executable code for manipulating data structures of the particular data type, the method comprising:
an act of recognizing a common set of command methods that may be used to operate on data structures of a number of different data types corresponding to a plurality of identities; an act of accessing a request to execute a command method on at least a portion of a data structure of a particular data type corresponding to a particular identity, the command method being one of the common set of command methods; an act of accessing a set of rules associated with the particular data type, the set of rules defining how data structures of the particular data type may be organized, and what portions of data structure of the particular data type may have what commands executed thereon; an act of finding the portion of the data structure that is to be operated upon by interpreting the request in light of the set of rules; an act of determining that the command method may be implemented on the portion of the data structure by consulting the set of rules; and an act of executing the command method on the found portion of the data structure.
- 2. A method in accordance with claim 1, wherein the act of finding the portion of the data structure that is to be operated upon comprises:
an act of accessing an identification of a location of the portion of the data structure; an act of navigating to the location of the portion of the data structure using the identification of the location of the portion of the data structure; an act of accessing an identification of a data type contained in the portion of the data structure; and an act of determining the portion of the data structure that is to be operated upon using the identification of the location of the portion of the data structure, as well as the identification of the data contained in the portion of the data structure.
- 3. A method in accordance with claim 2, wherein a plurality of portions of the data structure may be identified using the identification of the location of the portion of the data structure, as well as the identification of the data type contained in the portion of the data structure, the act of determining the portion of the data structure further comprising:
an act of accessing a unique identifier associated with the portion of the data structure that is to be operated upon, the unique identifier uniquely distinguishing the portion of the data structure that is to be operated upon from amongst the plurality of portions of the data structure that have the same location and data type.
- 4. A method in accordance with claim 1, wherein the act of determining that the command method may be implemented on the portion of the data structure by consulting the set of rules comprises:
an act of determining that the portion of the data structure is compatible with performing the command method.
- 5. A method in accordance with claim 4, further comprising:
an act of determining that a request that issued the command method is authorized to execute the command method on the portion of the data structure that is to be operated upon.
- 6. A method in accordance with claim 1, wherein the act of accessing a request to implement a command method on at least a portion of a data structure of a particular data type comprises the following:
an act of accessing a request to query the portion of the data structure to determine if the portion of a data structure is synchronized with a copy of the portion of the data structure.
- 7. A method in accordance with claim 6, wherein the act of executing the command method on the found portion of the data structure comprises:
an act of comparing a version identifier of the portion of the data structure with a version identifier of the copy of the portion of the data structure.
- 8. A method in accordance with claim 7, wherein the act of executing the command method on the found portion of the data structure further comprises:
an act of determining that the version identifier of the portion of the data structure is the same as the version identifier of the copy of the portion of the data structure.
- 9. A method in accordance with claim 8, wherein the act of executing the command method on the found portion of the data structure further comprises:
an act of reporting that the portion of the data structure is synchronized with the copy of the portion of the data structure.
- 10. A method in accordance with claim 7, wherein the act of executing the command method on the found portion of the data structure further comprises:
an act of determining that the version identifier of the portion of the data structure is different than the version identifier of the copy of the portion of the data structure.
- 11. A method in accordance with claim 10, wherein the act of executing the command method on the found portion of the data structure further comprises:
an act of responding to the request with a response that includes instructions that are configured to bring the copy of the portion of the data structure in synchronization with the portion of the data structure.
- 12. A method in accordance with claim 1, wherein the act of accessing a request to implement a command method on at least a portion of a data structure of a particular data type comprises the following:
an act of accessing a request to insert the at least the portion of the data structure into the data structure.
- 13. A method in accordance with claim 1, wherein the act of accessing a request to implement a command method on at least a portion of a data structure of a particular data type comprises the following:
an act of accessing a request to insert information into the portion of the data structure.
- 14. A method in accordance with claim 1, wherein the act of accessing a request to implement a command method on at least a portion of a data structure of a particular data type comprises the following:
an act of accessing a request to delete the portion of the data structure.
- 15. A method in accordance with claim 1, wherein the act of accessing a request to implement a command method on at least a portion of a data structure of a particular data type comprises the following:
an act of accessing a request to replace the portion of the data structure with a new portion of a data structure.
- 16. A method in accordance with claim 1, wherein the act of accessing a request to implement a command method on at least a portion of a data structure of a particular data type comprises the following:
an act of accessing a query regarding the portion of the data structure.
- 17. A method in accordance with claim 1, wherein the set of rules associated with the particular data type comprises a schema that defines a class of extensible Markup Language documents.
- 18. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define calendar information.
- 19. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define in-box information.
- 20. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define document information.
- 21. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define presence information.
- 22. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define personal address information.
- 23. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define contacts information.
- 24. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define application setting information.
- 25. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define physical device information.
- 26. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define favorite Web site information.
- 27. A method in accordance with claim 17, wherein the class comprises a class of XML documents that define payment information.
- 28. A method in accordance with claim 17, wherein the class comprises a class of XML document that define notification information.
- 29. A method in accordance with claim 1, wherein the act of determining that the command method may be implemented on the portion of the data structure by consulting the set of rules comprises the following:
an act of determining that the portion of the data structure is a root element of the data structure.
- 30. A method in accordance with claim 1, wherein the act of determining that the command method may be implemented on the portion of the data structure by consulting the set of rules comprises the following:
an act of determining that the portion of the data structure is second-level nested element of the data structure.
- 31. A method in accordance with claim 1, wherein the act of determining that the command method may be implemented on the portion of the data structure by consulting the set of rules comprises the following:
an act of determining that the portion of the data structure is a selectable attribute associated with a second-level nested element of the data structure, wherein only some of the attributes associated with the portion of the data structure are selectable.
- 32. A method in accordance with claim 1, wherein the particular identity is an individual.
- 33. A method in accordance with claim 1, wherein the particular identity is a group of individuals.
- 34. A method in accordance with claim 1, wherein the particular identity is an organization.
- 35. A method in accordance with claim 1, wherein the data structure comprises a hierarchical data structure.
- 36. In a computer system that manages two or more different types of data structures, each type of data structure being organized in accordance with a set of rules and corresponding to an identity, a method for directly operating on data structures in a generic manner regardless of the type of data structure being operated upon and without requiring dedicated executable code for manipulating data structures of the particular data type, the method comprising the following:
an act of recognizing a common set of command methods that may be used to operate on data structures of a number of different data types corresponding to a plurality of identities; an act of accessing a request to execute a command method on at least a portion of a data structure of a particular data type corresponding to a particular identity, the command method being one of the common set of command methods; and a step for executing the command method on at least a portion of the data structure in accordance with a set of rules associated with the particular data type.
- 37. A method in accordance with claim 36, wherein the step for executing the command method on at least a portion of the data structure comprises:
an act of accessing a set of rules associated with the particular data type, the set of rules defining how data structures of the particular data type may be organized, and what portions of data structure of the particular data type may have what commands executed thereon; an act of finding the portion of the data structure that is to be operated upon by interpreting the request in light of the set of rules; an act of determining that the command method may be implemented on the portion of the data structure by consulting the set of rules; and an act of executing the command method on the found portion of the data structure.
- 38. A computer program product for use in a computer system that manages two or more different types of data structures, each type of data structure being organized in accordance with a set of rules, the computer program product for executing a method for directly operating on data structures in a generic manner regardless of the type of data structure being operated upon and without requiring dedicated executable code for manipulating data structures of the particular data type, the computer program product comprises one of more physical storage media having stored thereon:
computer-executable instructions for recognizing a common set of command methods that may be used to operate on data structures of a number of different data types corresponding to a plurality of identities; computer-executable instructions for accessing a request to execute a command method on at least a portion of a data structure of a particular data type corresponding to a particular identity, the command method being one of the common set of command methods; computer-executable instructions for accessing a set of rules associated with the particular data type, the set of rules defining how data structures of the particular data type may be organized, and what portions of data structure of the particular data type may have what commands executed thereon; computer-executable instructions for finding the portion of the data structure that is to be operated upon by interpreting the request in light of the set of rules; computer-executable instructions for determining that the command method may be implemented on the portion of the data structure by consulting the set of rules; and computer-executable instructions for executing the command method on the found portion of the data structure.
- 39. A computer program product in accordance with claim 38, wherein the one or more computer readable media are physical storage media.
- 40. A computer program product in accordance with claim 38, wherein the computer-executable instructions for finding the portion of the data structure that is to be operated upon comprise:
computer-executable instructions for accessing an identification of a location of the portion of the data structure; computer-executable instructions for navigating to the location of the portion of the data structure using the identification of the location of the portion of the data structure; computer-executable instructions for accessing an identification of a data type contained in the portion of the data structure; and computer-executable instructions for determining the portion of the data structure that is to be operated upon using the identification of the location of the portion of the data structure, as well as the identification of the data contained in the portion of the data structure.
- 41. A computer program product in accordance with claim 38, wherein the computer-executable instructions for determining that the command method may be implemented on the portion of the data structure by consulting the set of rules comprises:
computer-executable instructions for determining that the portion of the data structure is compatible with performing the command method.
- 42. A computer program product in accordance with claim 41, wherein the one or more computer-readable media further have stored thereon:
computer-executable instructions for determining that a request that issued the command method is authorized to execute the command method on the portion of the data structure that is to be operated upon.
- 43. A system for directly operating on data structures in a generic manner regardless of the type of data structure being operated upon and without requiring dedicated executable code for manipulating data structures of the particular data type, the system comprising:
a data structure of a particular data type, the data structure organized in accordance with a set of rules and associated with an identity; a navigation module configured to recognize a common set of command methods that may be used to operate on data structures of a number of different data types including the data structure of the particular data type, the navigation module communicatively coupled to the data structure so as to be capable of navigation through the data structure using the set of rules and performing any of the common set of command methods on the data structure; and a navigation assistance module communicatively coupled to the navigation module, the navigation assistance module containing the set of rules that describe the organization of the data structure.
- 44. A system in accordance with claim 43, wherein the data structure is a first data structure, the particular data type is a first data type, and the set of rules is a first set of rules, wherein the system further comprises:
a second data structure of a second data type, the second data structure being organized in accordance with a second set of rules, wherein the navigation assistance module also contains the second set of rules, wherein the navigation module is capable of navigation through the second data structure using the second set of rules and performing any of the common set of command methods on the second data structure.
- 45. A system for directly operating on data structures in a generic manner regardless of the type of data structure being operated upon and without requiring dedicated executable code for manipulating data structures of the particular data type, the system comprising:
a data structure of a particular data type, the data structure organized in accordance with a set of rules and associated with an identity; and means for executing a command method on at least a portion of the data structure in accordance with a set of rules associated with the particular data type.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority from co-pending U.S. provisional application serial No. 60/275,809, filed Mar. 14, 2001 and entitled “Identity-Based Service Communication Using XML Messaging Interfaces”, which provisional application is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60275809 |
Mar 2001 |
US |