Claims
- 1. In a computer network that includes a plurality of applications that operate on data objects associated with identities, the computer network also including a plurality of services that maintain data objects associated with the identity, each service managing at least data objects that follow a corresponding data type schema, a computer-readable medium storing or carrying thereon a data structure that represents a request to perform an operation on a data object associated with an identity, the data structure following a message schema, the data structure including the following data fields that are structured in accordance with the message schema:
one or more data fields that identify an identity whose data object is desired to be operated upon; one or more data fields that identify an address of a service that manages data objects for a plurality of identities including the identity whose data object is desired to be operated upon, at least some of the data objects being organized in accordance with a data type schema; one or more data fields that identify the data type schema, wherein a particular data object that is desired to be operated upon may be identified using at least the identification of the identity and the identification of the predetermined data type schema; and one or more data fields that identify the operation to be performed on the particular data object.
- 2. A computer-readable medium in accordance with claim 1, wherein the message schema follows a formal message schema.
- 3. A computer-readable medium in accordance with claim 1, further comprising the following:
one or more data fields that identify correlation information that may be used to correlate the request with a response to the request.
- 4. A computer-readable medium in accordance with claim 3, wherein the one or more data fields that identify correlation information are included in header information defined by an underlying transport protocol used to transmit the request.
- 5. A computer-readable medium in accordance with claim 4, wherein the data structure further includes the following:
one or more data fields that identify a transport protocol used to transmit the request.
- 6. A computer-readable medium in accordance with claim 5, where the one or more data fields that identify a transport protocol identify a version of HyperText Transport Protocol (HTTP) as the transport protocol used to transmit the request.
- 7. A computer-readable medium in accordance with claim 3, wherein the one or more data fields that identify the correlation information comprises the following:
one or more data fields that identifies a message identifier.
- 8. A computer-readable medium in accordance with claim 7, wherein the transport protocol used to transport the request is not request/response oriented.
- 9. A computer-readable medium in accordance with claim 7, wherein the data structure further includes the following:
one or more data fields that identifies a transport protocol used to transmit the request.
- 10. A computer-readable medium in accordance with claim 9, where the one or more data fields that identifies a transport protocol identifies a version of Simple Mail Transport Protocol (SMTP) as the transport protocol used to transmit the request.
- 11. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema are human-readable.
- 12. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema are not human-readable.
- 13. A computer-readable medium in accordance with claim 1, wherein the data structure further includes the following:
one or more data fields that identify an instance of a data object that follows the data type schema and that is associated with the identity, wherein the particular data object that is desired to be operated upon may be identified using at least the identification of the identity, the identification of the data type schema, and the identification of the instance.
- 14. A computer-readable medium in accordance with claim 13, wherein the data structure further includes the following:
one or more data fields that identify a requestor of the operation.
- 15. A computer-readable medium in accordance with claim 14, wherein the data structure further includes the following:
one or more data fields that identify a response address where a response to the request is to be directed.
- 16. A computer-readable medium in accordance with claim 15, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 17. A computer-readable medium in accordance with claim 14, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 18. A computer-readable medium in accordance with claim 13, wherein the data structure further includes the following:
one or more data field that identify a response address where a response to the request is to be directed.
- 19. A computer-readable medium in accordance with claim 18, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 20. A computer-readable medium in accordance with claim 13, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 21. A computer-readable medium in accordance with claim 1, wherein the data structure further includes the following:
one or more data fields that identify a requester of the operation.
- 22. A computer-readable medium in accordance with claim 21, wherein the data structure further includes the following:
one or more data fields that identify a response address where a response to the request is requested to be directed.
- 23. A computer-readable medium in accordance with claim 22, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 24. A computer-readable medium in accordance with claim 21, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 25. A computer-readable medium in accordance with claim 1, wherein the data structure further includes the following:
one or more data fields that identify a response address where a response to the request is to be directed.
- 26. A computer-readable medium in accordance with claim 25, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 27. A computer-readable medium in accordance with claim 1, wherein the data structure further includes the following:
one or more data fields that identify a protocol used to transport the request.
- 28. A computer-readable medium in accordance with claim 1, wherein the computer-readable medium is one or more physical storage media.
- 29. A computer-readable medium in accordance with claim 1, wherein the computer-readable medium has stored thereon an encoded form of the data structure.
- 30. A computer-readable medium in accordance with claim 1, wherein the computer-readable medium has stored thereon a plain text form of the data structure.
- 31. A computer-readable medium in accordance with claim 1, wherein at least some of the one or more data fields that identify the data type schema are the same as at least some of the one or more data fields that identify an address such that the data type schema is at least partially implied by the address of the service.
- 32. A computer-readable medium in accordance with claim 1, wherein none of the one or more data fields that identify the data type schema are the same as any of the second set of one or more data fields that identify an address.
- 33. A computer-readable medium in accordance with claim 1, wherein the data object comprises content that includes actual data of interest.
- 34. A computer-readable medium in accordance with claim 33, wherein the data structure further includes the following:
one or more data fields that identify that the data object comprises content.
- 35. A computer-readable medium in accordance with claim 1, wherein the data object comprises access control information associated with other data objects.
- 36. A computer-readable medium in accordance with claim 35, wherein the data structure further includes the following:
one or more data fields that identify that the data object comprises access control information.
- 37. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the operation to be performed includes the following:
one or more data fields that identify a fragment of the particular data object that is desired to be operated upon.
- 38. A computer-readable medium in accordance with claim 37, wherein the one or more data fields that identify a fragment of the particular data object identify that all of the data object is to be operated upon.
- 39. A computer-readable medium in accordance with claim 37, wherein the one or more data fields that identify a fragment of the particular data object identify one or more data fields of the particular data object as being the elements that the operation is to be applied to.
- 40. A computer-readable medium in accordance with claim 37, wherein the one or more data fields that identify a fragment of the particular data object identify a data field of the particular data object as being the data field that the operation is to be applied to.
- 41. A computer-readable medium in accordance with claim 37, wherein the one or more data fields that identify the operation to be performed further includes the following:
one or more data fields that identify a specific operation that is to be performed on the fragment of the particular data object.
- 42. A computer-readable medium in accordance with claim 41, wherein the one or more data fields that identify a specific operation indicate that the fragment is to be added to the particular data object.
- 43. A computer-readable medium in accordance with claim 41, wherein the one or more data fields that identify a specific operation indicate that the fragment is to be deleted from the identity-specific data.
- 44. A computer-readable medium in accordance with claim 41, wherein the one or more data fields that identify a specific operation indicate that the fragment is to be modified.
- 45. A computer-readable medium in accordance with claim 41, wherein the one or more data fields that identify a specific operation indicate a query related to the fragment.
- 46. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to personal address information.
- 47. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to contacts information.
- 48. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema idenitify a data type schema corresponding to grocery list information.
- 49. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to in-box information corresponding to the identity.
- 50. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to music service information.
- 51. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to calendar information.
- 52. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to document collections.
- 53. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to application setting information.
- 54. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to physical device information.
- 55. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify the data type schema identify a data type schema corresponding to favorite Web site information.
- 56. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify an identity identify a person.
- 57. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify an identity identify a group of people.
- 58. A computer-readable medium in accordance with claim 1, wherein the one or more data fields that identify an identity identify an organization.
- 59. A computer-readable medium in accordance with claim 1, wherein the data structure further comprises the following:
one or more data fields that identifies a path the request is to take on its way to the service.
- 60. A computer-readable medium in accordance with claim 59, wherein the one or more data fields that identify a path specify a plurality of routing segments to take on its way to the service.
- 61. A computer-readable medium in accordance with claim 60, wherein the one or more data fields that identify a path specify a transport protocol to use for the plurality of routing segments, wherein the transport protocol specified is different for at least some of the plurality of routing segments.
- 62. A computer-readable medium in accordance with claim 59, wherein the data structure further comprises the following:
one or more data fields that identify a path that the corresponding response is to take when responding.
- 63. A computer-readable medium in accordance with claim 62, wherein the one or more data fields that identify a path that the corresponding response is to take when responding specifies a transport protocol when responding to the request, wherein the transport protocol specified for the response is different than the transport protocol specified for the request.
- 64. A computer-readable medium in accordance with claim 1, wherein the data type formats are in accordance with a version of the extensible Markup Language (XML) specification.
- 65. A computer-readable medium in accordance with claim 1, wherein the message type format is in accordance with a version of the eXtensible Markup Language (XML) specification.
- 66. A computer-readable medium in accordance with claim 65, wherein the data structure is structured within a Simple Object Access Protocol (SOAP) envelope.
- 67. In a computer network that includes a plurality of applications that operate on data objects associated with identities, the computer network also including a plurality of services that maintain data objects associated with the identity, each service managing at least data objects that follow a corresponding data type schema, a method for generating a data structure that represents a request to perform an operation on a data object associated with an identity, the data structure following a message schema, the method including the following:
generating and inserting a first set of one or more data fields into the data structure in accordance with the message schema, the first set of one or more data fields identifying an identity whose data object is desired to be operated upon; generating and inserting a second set of one or more data fields into the data structure in accordance with the message schema, the second set of one or more data fields identifying an address of a service that manages data objects for a plurality of identities including the identity whose data object is desired to be operated upon, at least some of the data objects being organized in accordance with a data type schema; generating and inserting a third set of one or more data fields into the data structure in accordance with the message schema, the third set of one or more data fields identifying the data type schema, wherein a particular data object that is desired to be operated upon may be identified using at least the identification of the identity and the identification of the data type schema; generating and inserting a fourth set of one or more data fields into the data structure in accordance with the message schema, the fourth set of one or more data fields identifying correlation information that may be used to correlate the request with a response to the request; and generating and inserting a fifth set of one or more data fields into the data structure in accordance with the message schema, the fifth set of one or more data fields identifying the operation to be performed on the particular data object.
- 68. A method in accordance with claim 67, further comprising the following:
generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying an instance of a data object that follows the data type schema and that is associated with the identity, wherein the particular data object that is desired to be operated upon may be identified using at least the identification of the identity, the identification of the data type schema, and the identification of the instance.
- 69. A method in accordance with claim 67, further comprising the following:
generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a request of the operation.
- 70. A method in accordance with claim 67, further comprising the following:
generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a response address where a response to the request is to be directed.
- 71. A method in accordance with claim 67, further comprising the following:
generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a protocol used to transport the request.
- 72. A computer program product for use in a computer network that includes a plurality of applications that operate on data objects associated with identities, the computer network also including a plurality of services that maintain data objects associated with the identity, each service managing at least data objects that follow a corresponding data type schema, the computer-program product for implementing a method for generating a data structure that represents a request to perform an operation on a data object associated with an identity, the data structure following a message schema, the computer program product comprising a computer-readable medium having stored thereon the following:
computer-executable instructions for generating and inserting a first set of one or more data fields into the data structure in accordance with the message schema, the first set of one or more data fields identifying an identity whose data object is desired to be operated upon; computer-executable instructions for generating and inserting a second set of one or more data fields into the data structure in accordance with the message schema, the second set of one or more data fields identifying an address of a service that manages data objects for a plurality of identities including the identity whose data object is desired to be operated upon, at least some of the data objects being organized in accordance with a data type schema; computer-executable instructions for generating and inserting a third set of one or more data fields into the data structure in accordance with the message schema, the third set of one or more data fields identifying the data type schema, wherein a particular data object that is desired to be operated upon may be identified using at least the identification of the identity and the identification of the data type schema; computer-executable instructions for generating and inserting a fourth set of one or more data fields into the data structure in accordance with the message schema, the fourth set of one or more data fields identifying correlation information that may be used to correlate the request with a response to the request; and computer-executable instructions for generating and inserting a fifth set of one or more data fields into the data structure in accordance with the message schema, the fifth set of one or more data fields identifying the operation to be performed on the particular data object.
- 73. A computer program product in accordance with claim 72, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying an instance of a data object that follows the data type schema and that is associated with the identity, wherein the particular data object that is desired to be operated upon may be identified using at least the identification of the identity, the identification of the data type schema, and the identification of the instance.
- 74. A computer program product in accordance with claim 72, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a requestor of the operation.
- 75. A computer program product in accordance with claim 72, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a response address where a response to the request is to be directed.
- 76. A computer program product in accordance with claim 72, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for generating and inserting a sixth set of one or more data fields into the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a protocol used to transport the request.
- 77. A computer program product in accordance with claim 72, wherein the computer-readable medium is one or more physical storage media.
- 78. In a computer network that includes a plurality of applications that operate on data objects associated with identities, the computer network also including a plurality of services that maintain data objects associated with the identity, each service managing at least data objects that follow a corresponding data type schema, a method for interpreting a data structure that represents a request to perform an operation on a data object associated with an identity, the data structure following a message schema, the method including the following:
extracting and interpreting a first set of one or more data fields from the data structure in accordance with the message schema, the first set of one or more data fields identifying an identity whose data object is desired to be operated upon; extracting and interpreting a second set of one or more data fields from the data structure in accordance with the message schema, the second set of one or more data fields identifying an address of a service that manages data objects for a plurality of identities including the identity whose data object is desired to be operated upon, at least some of the data objects being organized in accordance with a data type schema; extracting and interpreting a third set of one or more data fields from the data structure in accordance with the message schema, the third set of one or more data fields identifying the data type schema; identifying a particular data object that is desired to be operated upon based at least on the identification of the identity and the identification of the data type schema; extracting and interpreting a fourth set of one or more data fields from the data structure in accordance with the message schema, the fourth set of one or more data fields identifying correlation information that may be used to correlate the request with a response to the request; extracting and interpreting a fifth set of one or more data fields from the data structure in accordance with the message schema, the fifth set of one or more data fields identifying the operation to be performed on the particular data object; performing the requested operation on the particular data object; and returning a response to the request, the response including at least some of the correlation information.
- 79. A method in accordance with claim 78, further comprising the following:
extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying an instance of a data object that follows the data type schema and that is associated with the identity, wherein the particular data object that is desired to be operated upon may be identified using at least the identification of the identity, the identification of the data type schema, and the identification of the instance.
- 80. A method in accordance with claim 78, further comprising the following:
extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a requestor of the operation.
- 81. A method in accordance with claim 78, further comprising the following:
extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a response address where a response to the request is to be directed.
- 82. A method in accordance with claim 78, further comprising the following:
extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a protocol used to transport the request.
- 83. A computer program product for use in a computer network that includes a plurality of applications that operate on data objects associated with identities, the computer network also including a plurality of services that maintain data objects associated with the identity, each service managing at least data objects that follow a corresponding data type schema, the computer program product for implementing a method for interpreting a data structure that represents a request to perform an operation on a data object associated with an identity, the data structure following a message schema, the computer program product comprising a computer-readable medium having stored thereon the following:
computer-executable instructions for extracting and interpreting a first set of one or more data fields from the data structure in accordance with the message schema, the first set of one or more data fields identifying an identity whose data object is desired to be operated upon; computer-executable instructions for extracting and interpreting a second set of one or more data fields from the data structure in accordance with the message schema, the second set of one or more data fields identifying an address of a service that manages data objects for a plurality of identities including the identity whose data object is desired to be operated upon, at least some of the data objects being organized in accordance with a data type schema; computer-executable instructions for extracting and interpreting a third set of one or more data fields from the data structure in accordance with the message schema, the third set of one or more data fields identifying the data type schema; computer-executable instructions for identifying a particular data object that is desired to be operated upon based at least on the identification of the identity and the identification of the data type schema; computer-executable instructions for extracting and interpreting a fourth set of one or more data fields from the data structure in accordance with the message schema, the fourth set of one or more data fields identifying correlation information that may be used to correlate the request with a response to the request; computer-executable instructions for extracting and interpreting a fifth set of one or more data fields from the data structure in accordance with the message schema, the fifth set of one or more data fields identifying the operation to be performed on the particular data object; computer-executable instructions for causing the requested operation to be performed on the particular data object; and computer-executable instructions for causing a response to the request to be returned, the response including at least some of the correlation information.
- 84. A computer program product in accordance with claim 83, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for extracting and interpreting a sixth set of one z or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying an instance of a data object that follows the data type schema and that is associated with the identity, wherein the particular data object that is desired to be operated upon may be identified using at least the identification of the identity, the identification of the data type schema, and the identification of the instance.
- 85. A computer program product in accordance with claim 83, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a requestor of the operation.
- 86. A computer program product in accordance with claim 83, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a response address where a response to the request is to be directed.
- 87. A computer program product in accordance with claim 83, wherein the computer-readable medium further has stored thereon the following:
computer-executable instructions for extracting and interpreting a sixth set of one or more data fields from the data structure in accordance with the message schema, the sixth set of one or more data fields identifying a protocol used to transport the request.
- 88. A computer program product in accordance with claim 83, wherein the computer-readable medium is one or more physical storage media.
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 |