The sheer number of sensor nodes and the dynamics of their operating environments (for instance, limited battery power and hostile physical environment) pose unique challenges in the design of sensor networks and their applications. Issues concerning how information collected by and stored within a sensor network can be queried and accessed are of particular importance. In this chapter, sensor network applications are categorized into two classes — querying and tasking — and a generic functional architecture, termed sensor network architecture (SNA), to facilitate these applications is introduced. In this architecture, functional components and their interrelationship, which should be available in sensor networks, are identified. Two existing implementation architectures, SINA  and TopDisc , are examined as a case study by describing how SNA’s functional components are exploited, as well as application characteristics supported by them.