1. A method of dynamically building an overlay of a computer network, comprising: converting, with a processor, a data classification hierarchy, representing data stored in each of a plurality of computing nodes, into a hypercube for each of said computing nodes using a metadata transformation function, each said hypercube having dimensions corresponding to data in said classification hierarchy and each of said dimensions represented by metadata descriptions of said stored data, wherein each cell of each said hypercube has a least possible hamming distance between any related cells; using said processor and a union operation to exchange information about said metadata between any neighboring hypercubes to form merged hypercubes; and upon receipt of a search request comprising a set of dimensions to be queried at one of said computing nodes in the computer network, initiating, with said processor, metadata discovery using a series of dimension reducing projections against each said hypercube and said merged hypercubes until required dimensions are obtained, wherein said required dimensions are connected to form the overlay, said overlay comprising a virtual network over the computer network.