I've been thinking a little lately about network topologies
and peer-to-peer.  What reading I've done seems to indicate that
most networks either have no organizational structure to them
at all or have some sort of dictated hierarchy.  But it's
possible to have quite a lot of organization without anything like
a hierarchy.

Here's a simple example of what I'm talking about:

I've got a network of 1 million nodes, each of which has
an address 0-999999.  For now, we won't ask how one goes about
attaining an address.  The network is divided into "clusters"
of 100 and "superclusters" of 10,000.  I'm assuming there aren't
any persistent connections.  Imagine my nodes address is 123456.
Imagine I wanted to query all the nodes in the network.
I would directly query all the nodes in my cluster
(all those with addresses 1234xx), one node in each cluster in my
supercluster (for example, I'd query all nodes with addresses of the
form 12xx56) and one node in each supercluster other than my
own (for example, all nodes of the form xx3456).
So I'd query 300 nodes directly (297 for the persnickety),
the 100 nodes in the other cluster would each have to make 100
second generation queries, and the 100 nodes I contact in the
other superclusters would each have to make 100 second generation 
queries 
leading to third generation queries.

Of course in practice I would have to make a lot more queries,
because some of the nodes would be unavailable.  But the point is,
assuming all the nodes which are running forward queries properly,
I should only have to actually talk to 300 nodes as described
above and, more importantly, none of the nodes should ever be 
subjected to a dupliacte query from me.

Note that there's no hierarchy here, all nodes are treated equally.
Node 129956 is sort of acting as a "gateway" for me to
cluster 1299xx, but only for me (and 10000 other people).

Of course, this kind of structure could be made with any number of
"levels" of clustering.

I don't recall ever having read of this type of structure before,
but it seems so obvious that I'm sure it's been discussed before.
So is there a name for it? Does anyone use it? has it been
shown to be utterly worthless?

Thanks,
        George

Reply via email to