In doing so, however, it discards potentially useful information (application hierarchies) and relationships (proximity within the hierarchy). This is not always a problem: certain types of functionality are more efficiently provided at higher layers (this is merely the end-to-end argument). However, many applications can benefit from increased functionality in the lookup layer.
We advocate encoding application hierarchies directly into the structure of the overlay network. This approach allows systems to exploit locality between objects and to provide searching without centralized indexing or flooding.