NetQuery Infrastructure
NetQuery represents large networks, such as the Internet, within a single tuplespace. Such large tuplespaces are distributed across multiple administrative domains; this decomposition is highly scalable and facilitates incremental deployment by enabling network operators to independently deploy and provide NetQuery services. Every administrative domain operates one or more tuplespace servers, which process queries and store tuples and attribute/value pairs on behalf of the local domain. This design protects against denial of service and resource consumption: a malicious tuplespace server is limited to consuming a finite amount of storage in another tuplespace server.

A tuplespace is distributed across multiple administrative domains, and across multiple servers.
NetQuery servers transparently route queries to the storage location of the tuple. Every tuple ID embeds a home pointer, which names the tuplespace server that is responsible for keeping track of the tuple. Since the storage location of an attribute/value pair is determined by its originating domain, rather than the tuple that contains it, an attribute/value pair and its tuple can reside in different tuplespace servers. In such cases, the tuple contains a forwarding pointer to the location of the attribute/value pair, which the server uses to route accesses to the attribute/value pair to its storage location.

Tuple format.


Storing and retrieving. The attribute
R2.is_rcc_consistent is stored in the tuplespace server operated by RCC; to process retrieve(R2.is_rcc_consistent), POP1 uses a forwarding pointer to find the location of the attribute.
