Profile service architecture
First Claim
1. A mechanism for managing a plurality of profile data structures in a distributed computing environment, the mechanism comprising:
- a core profile service engine having a number of predefined built-in functions for creating, storing, instantiating, or manipulating profile data structures, each of the profile data structures comprising profile information for a user entity in the distributed computing environment;
a first pluggable interface within the core profile service and supporting runtime binding to remote protocol adapters, the remote protocol adapters providing data transport mechanisms compatible with communication links between each of the user entities transmitting a request to the mechanism;
a second pluggable interface within the core profiling service and supporting runtime binding to external datastore plug-ins; and
a third pluggable interface within the core profiling service and supporting runtime binding to external service plug-ins, the external service plug-ins comprising functions for manipulating profile data structures.
2 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for managing a plurality of profile data structures where each profile data structure comprising a hierarchical structure of attributes. The mechanism includes a core profile service engine having a number of predefined built-in functions. A first pluggable interface within the core profile service supports runtime binding to remote protocol adapterso. A second pluggable interface within the core profiling service supports runtime binding to external datastore plug-ins. A third pluggable interface within the core profiling service supports runtime binding to external service plug-ins where the external service plug-ins provide functions for manipulating profile data structures in addition to built in functions provided by the core profile service.
156 Citations
33 Claims
-
1. A mechanism for managing a plurality of profile data structures in a distributed computing environment, the mechanism comprising:
-
a core profile service engine having a number of predefined built-in functions for creating, storing, instantiating, or manipulating profile data structures, each of the profile data structures comprising profile information for a user entity in the distributed computing environment;
a first pluggable interface within the core profile service and supporting runtime binding to remote protocol adapters, the remote protocol adapters providing data transport mechanisms compatible with communication links between each of the user entities transmitting a request to the mechanism;
a second pluggable interface within the core profiling service and supporting runtime binding to external datastore plug-ins; and
a third pluggable interface within the core profiling service and supporting runtime binding to external service plug-ins, the external service plug-ins comprising functions for manipulating profile data structures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 27, 28, 29)
-
-
8. A method for operating a software application to manage a plurality of profile objects comprising the steps of:
-
storing a plurality of profile objects for a plurality of user entities in a distributed computing environment in a datastore mechanism, each of the profile objects having a number of built-in functions;
instantiating a core profile service mechanism having a number of predefined built-in functions, a first pluggable interface within the core profile service and supporting runtime binding to remote protocol adapters and a second pluggable interface within the core profiling service and supporting runtime binding to external datastore plug-ins;
receiving a service request message from one of the user entities through the first pluggable interface;
creating a runtime binding between the second pluggable interface and a naming and directory service plug-in selected based on the received service request;
accessing the datastore mechanism using the second pluggable interface and the naming and directory service plug-in to retrieve the stored profile object for the requesting one of the user entities;
instantiating the retrieved profile object;
generating a response message using the predefined functions of the instantiated profile object; and
sending the response message to an external user through the first pluggable interface. - View Dependent Claims (9, 10, 11, 12, 13, 30, 31)
creating a runtime binding between the first pluggable interface and a specified remote protocol adapter where the remote protocol adapter is specified to be compatible with a protocol used by the external user.
-
-
10. The method of claim 8 further comprising:
-
providing a third pluggable interface within the core profiling service; and
establishing a runtime binding to an external service module plug-ins, the external service module plug-ins comprising functions for manipulating profile data structures.
-
-
11. The method of claim 10 further comprising creating a runtime binding between the third pluggable interface and a service provider plug-in, the service module plug-in, the service module plug-ins comprising functions for manipulating profile data structures.
-
12. The method of claim 8 wherein the step of instantiating further comprises:
-
initiating a naming and directory interface coupled to the core profile service and creating a dedicated binding to the datastore mechanism through the directory and naming interface.
-
-
13. The method of claim 12 wherein the directory and naming service includes an integrated service provider interface (SPI).
-
30. The method of claim 8, wherein the response message comprises profile information for the requesting one of the user entities comprising information used by hardware, software, or an operating system associated with the one of the user entities to configure, to initialize, to shutdown, or to make runtime processing decisions.
-
31. The method of claim 8, wherein the datastore mechanism comprises a virtual profile data store comprising a plurality of heterogeneous data storage devices and further wherein the naming and directory service plug-in is selected from a set of plug-ins compatible with the heterogeneous data storage devices.
-
14. A distributed profile service system for providing profile services to a number of user software applications, the profile service system comprising:
-
a plurality of geographically distributed profile service instances;
a dedicated datastore coupled to each profile service instance;
a plurality of shared datastore mechanisms each including a replica of at least some data from the other dedicated datastore mechanisms;
a first runtime binding mechanism in each profile service instance configured to establish a runtime binding to the user software applications, wherein at least a portion of the user software applications are geographically remote from the profile service instance;
a second runtime binding mechanism in each profile service instance configured to establish a runtime binding to one of the shared datastore mechanisms; and
a third runtime binding mechanism in each profile service instance configured to establish a runtime binding to a service module plug-in. - View Dependent Claims (15, 16, 17)
-
-
18. A computer program product embodied in a tangible form comprising:
-
computer program devices readable by a data processor coupled to receive the propagating signal for managing a profile data service, the computer program product comprising;
first program code devices configured represent a plurality of profile objects, each of the profile objects including program code devices configured to cause a computer to perform a number of predefined built-in functions for creating, storing, instantiating, or manipulating profile data structures, each of the profile data structures comprising profile information for a user entity;
a second program code device configured to cause a computer to instantiate a profile manager object, the profile manager object including program code devices expressing a number of predefined built-in functions;
third program code devices configured to cause a data processor to implement a first pluggable interface supporting runtime binding to two or more differing remote protocol adapters, the remote protocol adapters providing data transport mechanisms compatible with communication links between each of the user entities transmitting a request to the mechanism;
fourth program code devices configured to cause a computer to implement a second pluggable interface supporting runtime binding to external datastore plug-ins; and
fifth program code devices configured to cause a computer to implement a third pluggable interface supporting runtime binding to external service module plug-ins. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
sixth program code devices configured to make a runtime binding with the third program code devices and cause the computer to communicate service request messages through the first pluggable interface to the first and second program code devices.
-
-
20. The computer program product of claim 18 further comprising:
sixth program code devices configured to make a runtime binding with the fourth program code devices and to cause a computer to provide naming and directory services with an external data store according to a protocol described by the sixth program code devices.
-
21. The computer program product of claim 18 further comprising:
sixth program code devices configured to make a runtime binding with the fifth program code devices and cause a computer to provide a number of predefined functions in addition to the functions provided by the first and second program code devices.
-
22. The computer program product of claim 18 wherein the tangible form comprises a magnetic disk.
-
23. The computer program product of claim 18 wherein the tangible form comprises an optical disk.
-
24. The computer program product of claim 18 wherein the tangible form comprises a propagating signal.
-
25. The computer program product of claim 18 wherein the tangible form comprises a random access memory device.
-
26. A mechanism for managing a plurality of profile objects comprising:
-
means for storing a plurality of profile objects for a plurality of user entities in a datastore mechanism, wherein each of the profile objects having a number of built-in functions and the datastore mechanism comprises a virtual profile data store comprising a plurality of data storage devices;
means for instantiating a core profile service mechanism having a number of predefined built-in functions, a first pluggable interface within the core profile service and supporting runtime binding to remote protocol adapters and a second pluggable interface within the core profiling service and supporting runtime binding to external datastore plug-ins;
means for receiving a service request message from one of the user entities through the first pluggable interface;
means for creating a runtime binding between the second pluggable interface and a naming and directory service plug-in selected based on the received service request;
means for accessing the datastore mechanism using the second pluggable interface and the naming and directory service plug-in to retrieve the stored profile object for the requesting on e of the user entities;
means for instantiating the retrieved profile object;
means for generating a response message using the predefined functions of the instantiated profile object; and
means for sending the response mess age to an external user through the first pluggable interface. - View Dependent Claims (32, 33)
-
Specification