title: Name for this distributed-database data-location optimization algorithm?
body: <p>Say we have a large graph of databases connected to each other, effectively one giant distributed database.  Any node on the graph can query the whole database by querying its neighbors recursively, which take the results they get from their neighbors and pass the combined result back down the query path.</p>
  
  <p>Also, assume that there's the capability to stop the recursion if a node's own database contains a result that is "good enough", so that the entire network doesn't have to be queried if there's a decent result already nearby.  This makes what I'm about to say relevant.</p>
  
  <p>Wouldn't it make sense to transfer the returned data one step closer to the node that originated the query every time a query is made?  That is, a queried node queries its neighbors and gets X, queries itself and gets Y, passes X+Y back to the node that queried it, stores X in its database, and deletes Y from its database.  Wouldn't this eventually result in the distributed database having a roughly optimal distribution of data among its nodes with respect to the amount of nodes that would be consulted during a query, on average?</p>
  
  <p>Is there a name for this technique?</p>