Patent ID: 7366783

Claim:
An apparatus for dynamically adaptively coupling a first component and a second component in a distributed system, wherein the second component requests an interaction with the first component, comprising: one or more processors; a network interface communicatively coupled to a network for receiving packet flows there from; computer-readable storage medium comprising one or more sequences of instructions stored thereon for dynamically adaptively coupling a first component and a second component in a distributed system, wherein the second component requests an interaction with the first component, which instructions, when executed by the one or more processors, cause the one or more processors to perform the computer-implemented steps of: sending a service access request to access a first service of the first component, wherein the service access request specifies parameters relating to a proposed level of coupling between the first component and the second component; receiving a service response from the first component, wherein the service response specifies counter-proposed parameters relating to the proposed level of coupling between the first component and the second component; determining whether the service response indicates that the first service can be provided; and if the first service can be provided, then establishing an agreed-upon level of coupling between the first component and second component; and interacting with the first component to receive the first service from the first component; wherein the step of interacting with the first component further comprises determining that the first service needs to be renegotiated and receiving a second request for a second dynamically negotiable service from the first component; wherein each component comprises software, hardware, a combination of hardware and software, a router, a module, a process, an agent, an Object Oriented class, an instance of an Object Oriented class, an algorithm, a program, or a system.