Abstract

Together with the revolution in peer-to-peer content sharing, as exemplified by Napster and Gnutella, there has been a parallel revolution in peer-to-peer distributed computing as exemplified by SETI@home and Javelin. As with content sharing, P2P computing networks have evolved from centralized to distributed resource discovery. Thus a fundamental problem in P2P computing is to scalably answer relational queries of the form, “Find a resource of size X or higher,” in distributed fashion. Networked server systems can also benefit from such queries. For example, in high-bandwidth content delivery networks it would be beneficial to have the ability to locate a server with sufficient bandwidth to deliver a large object. Another example is that of wide-area gaming systems. If these systems supported these queries, players would be able to locate and join a game server with minimum load to ensure better response time.