Patent ID: 7865616

Claim:
A method of operating a virtual network comprising a plurality of nodes, wherein (a) each node has the capability to provide a service to another node; (b) each node maintains a link list for storing entries each representing a link to another node, and containing the address of the other node and a label identifying a service that that other node may provide; (c) each node has a message store for storing messages received from other nodes, said messages serving to propose a link and containing the identity of the node originating the message, a label identifying a service that that other node may provide and a label identifying a service that that other node requires; (d) each node in response to a need for a service that it is not itself able to provide (i) searches the link list for a link having a label that matches the service needed and in the event that such a link is found transmits a message to the node identified by the link, requesting the service; (ii) in the event that no such link is found, searches the message store for a message identifying another node where the label identifying a service that the other node may provide matches the service needed and the label identifying a service that the other node requires matches the service that the node needing the service has the capability to provide; and in the event that such a message is found initiates the creation of a corresponding entry in the link list; (iii) in the event that no such message is found, generates a message serving to propose a link and containing its own identity, a label identifying a service that it has the capability to provide and a label identifying the service that it needs.