1. A hardware mediating server comprising: a) a communication interface; b) memory; and c) a control system associated with the communication interface and comprising: i) a packet inspection engine adapted to: inspect packets received by the mediating server to identify packets associated with a desired application based on at least one packet identification criterion; forward at least one of the identified packets; and ii) a state inspector adapted to: receive the at least one of the identified packets; determine an application state of the desired application based on the at least one of the identified packets; for each of a plurality of clients associated with the mediating server, determine a capability of a client; receive a query comprising a desired criterion and a desired application state from a requesting network node for ones of the plurality of clients having capabilities satisfying the desired criterion and having the desired application state; identify the ones of the plurality of clients satisfying both the desired criterion and the desired application state; and provide information identifying the ones of the plurality of clients to the requesting network node where the requesting network node establishes an initial communication session with one of the plurality of clients using the provided information, and wherein the control system is further adapted to pre-fetch data from an associated server based on anticipating a future application state of the desired application based on the determined application state.