Method and apparatus for providing a dynamic service composition software architecture
First Claim
1. A method of dynamically composing a user-requested software based service, comprising:
- responsive to an input from a user access device received through an agent adaptor, selecting an agent software component from a repository of software components;
the agent software component selecting a service software component from the repository of software components;
the service software component;
selecting a plurality of software components from the repository of software components, each of the selected software components providing a plurality of user-requested functions, and each component receiving an event causing that component to perform a user-requested function or generating an event as a result of that component performing a user-requested function; and
configuring the selected software components for substantially immediate execution by identifying which components will send or receive events from which other components to create the user-requested software based service.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for providing a dynamic service composition software architecture. A user requests a software based service through an agent software component, or “netlet,” which dynamically selects an appropriate service netlet. The service netlet then dynamically selects a plurality of component netlets, each of which can receive an event causing the component to perform a function or generate an event as a result of performing a function. The agent, service and component netlets can all be selected from a netlet repository in a network. The service netlet dynamically configures the selected component netlets by determining which components will send or receive events from which other components. As a result, the software based service is dynamically composed.
-
Citations
39 Claims
-
1. A method of dynamically composing a user-requested software based service, comprising:
-
responsive to an input from a user access device received through an agent adaptor, selecting an agent software component from a repository of software components;
the agent software component selecting a service software component from the repository of software components;
the service software component;
selecting a plurality of software components from the repository of software components, each of the selected software components providing a plurality of user-requested functions, and each component receiving an event causing that component to perform a user-requested function or generating an event as a result of that component performing a user-requested function; and
configuring the selected software components for substantially immediate execution by identifying which components will send or receive events from which other components to create the user-requested software based service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
executing the software based service.
-
-
3. The method of claim 1, wherein the software components are Java software components.
-
4. The method of claim 1, wherein the user access device is a computer.
-
5. The method of claim 1, wherein the user access device is a phone and the agent adaptor translates user input from the phone into an input for the agent software component.
-
6. The method of claim 1, wherein the user access device is a personal digital assistant and the agent adaptor translates user input from the personal digital assistant into an input for the agent software component.
-
7. The method of claim 1, wherein the user access device is an Internet browser and the agent adaptor translates user input from the Internet browser into an input for the agent software component.
-
8. The method of claim 1, wherein the selected, service and agent software components are executed on a software component host.
-
9. The method of claim 1, wherein the selected, service and agent software components are executed on a network having a plurality of software component hosts.
-
10. The method of claim 9, wherein the selected, service and agent software components can be executed on different software component hosts.
-
11. The method of claim 9, wherein each of the plurality of software component hosts includes a performance monitor in communication with at least one other of the plurality of software component hosts.
-
12. The method of claim 11, wherein the performance monitors communicate to balance the load of software executing on the plurality of software component hosts.
-
13. The method of claim 11, wherein the performance monitors communicate to determine the status of software components executing on the plurality of software component hosts.
-
14. An apparatus for dynamically composing a user-requested software based service, comprising:
-
responsive to an input from a user access device received through an agent adaptor, means for selecting an agent software component from a repository of software components;
the agent software component having means for selecting a service software component from the repository of software components;
the service software component having;
means for selecting a plurality of software components from the repository of software components, each of the selected software components providing a plurality of user-requested functions, and each component receiving an event causing that component to perform a user-requested function or generating an event as a result of that component performing a user-requested function; and
means for configuring the selected software components for substantially immediate execution by identifying which components will send or receive events from which other components to create the user-requested software based service. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
executing means for executing the software based service.
-
-
16. The apparatus of claim 14, wherein the software components are Java software components.
-
17. The apparatus of claim 14, wherein the user access device is a computer.
-
18. The apparatus of claim 14, wherein the user access device is a phone and the agent adaptor translates user input from the phone into an input for the agent software component.
-
19. The apparatus of claim 14, wherein the user access device is a personal digital assistant and the agent adaptor translates user input from the personal digital assistant into an input for the agent software component.
-
20. The apparatus of claim 14, wherein the user access device is an Internet browser and the agent adaptor translates user input from the Internet browser into an input for the agent software component.
-
21. The apparatus of claim 14, wherein the selected, service and agent software components are executed on a software component host.
-
22. The apparatus of claim 14, wherein the selected, service and agent software components are executed on a network having a plurality of software component hosts.
-
23. The apparatus of claim 22, wherein the selected, service and agent software components can be executed on different software component hosts.
-
24. The apparatus of claim 22, wherein each of the plurality of software component hosts includes a performance monitor in communication with at least one other of the plurality of software component hosts.
-
25. The apparatus of claim 24, wherein the performance monitors communicate to balance the load of software executing on the plurality of software component hosts.
-
26. The apparatus of claim 24, wherein the performance monitors communicate to determine the status of software components executing on the plurality of software component hosts.
-
27. An apparatus for dynamically composing a user-requested software based service, comprising:
-
a storage unit to store a plurality of software components, each of the plurality of software components being capable of receiving an event causing that component to perform a user-requested function or generating an event as a result of that component performing a user-requested function;
a processing host to execute an agent software component selected from the storage unit in response to an input selection signal, the processing host to execute a service software component selected from the storage unit by the agent software component, the processing host to select from said storage unit a plurality of software components selected by the service software component, each software component providing a plurality of user-requested functions, the processing host to configure the selected software components for substantially immediate execution by defining which components will send or receive events from which other components to create the user-requested software based service;
a user access device to generate the input selection signal; and
an agent adaptor coupling the user access device to the processing host. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification