To support data-centric routing and directed diffusion, one needs to name the
data (rather than the nodes) with relevant attributes such as (but not limited to)data type, time, and location. One needs to diffuse requests and responses over the
network with application-cognizant routing; and one must support in-network data
aggregation and processing [1.75,1.76]. Some view sensor networks as being peer
to peer at the logical level, even though the physical communication topology is
generally hierarchical; here one peer is the data source that ‘‘publishes’’ the data
(could be a basic sensor node or an aggregation node) and the other peer is the
data client that subscribes to a data content list. This topic is revisited in Chapter 6.