1. A computer implemented method for dynamically building an overlay of a computer network, comprising: enabling at least one node in the computer network to form a hypercube comprising hypercube meta data stored in a memory on said at least one node; enabling said at least one node to trigger an exchange of said hypercube metadata stored in said memory on said at least one node with at least one neighboring node and any hypercube metadata stored in a second memory on said at least one neighboring node; upon receipt of a query at any node in the computer network, initiating metadata discovery using said stored hypercube metadata; and building said overlay using results from said metadata discovery.