Patent ID: 7787395

Claim:
A method of operating a virtual network having a plurality of computer processor nodes linked to each other for electronic communication by a list of node addresses, in which each node has a memory storing a list for storing only up to a predetermined number of addresses of other such nodes, said method comprising: (i) using a computer processor at a first said node of said network to receive an electronic message requesting a link between said first node and a second node of said network; (ii) using at least one computer processor to determine whether both the first node and second node has, in each case, a number of addresses in its list which is less than the predetermined number; (iii) in the event that this condition is satisfied, using at least one computer processor to insert the address of the first node into the list of the second node and the address of the second node into the list of the first node; (iv) in the event that this condition is not satisfied, using at least one computer processor to determine whether the first node has a number of addresses in its list which is at least two less than the predetermined number, and if so (a) to select from the list of the second node the address of a third node of said network; (b) to remove the address of the third node from the list of the second node; (c) to remove the address of the second node from the list of the third node; (d) to insert the address of the second node into the list of the first node and inserting the address of the third node into the list of the first node; and (e) to insert the address of the first node into the list of the second node and inserting the address of the first node into the list of the third node.