Patent ID: 7676539

Claim:
A data processing apparatus comprising: a number of data processing units and respective associated data processing storage, such a storage unit being readable by its respective data processing unit; a network accessible by the data processing units; first computer program functioning as a service-requestor agent operable on at least one of the data processing units for receiving, on the network, a user request for a service; computer programs functioning as service-provider agents operable on respective ones of the data processing units for accessing a description of the request on the network and having respective capabilities for providing services, wherein the service provider-agents are further operable for performing the steps of: comparing the requested service with capability descriptions of the respective service-provider agents, wherein the requested service includes a plurality of parts of an entirety of the service and such a service-provider agent determines from the comparing whether the service-provider agent is capable of providing a service for at least one such part; sending bids to the service-requestor agent by ones of the service-provider agents, wherein such a bid is for one of the service-provider agents to provide, independently of the other service-provider agents, at least one of the parts of the requested service, and wherein the service-requestor agent is further operable for performing the step of comparing the bids to the requested service by the service-requestor agent for determining if the parts included in the bids provide the entire service; describing a missing part if the parts included in the bids do not provide the entire service; generating a plan for providing the missing part by at least a certain one of the service-provider agents, wherein the missing part includes a plurality of sub-parts of an entirety of the missing part and wherein the plan includes sub-parts of the missing part allocated among a number of the service-provider agents in a certain task execution sequence; and wherein at least one of the bids received at the receiving step is a bid for less than the entirety of the service.