The combination of this information is used by Wit to guide policy decisions for network optimization techniques, such as prefetching, caching, and data filtering. This approach reduces the complexity of developing applications that perform well by decoupling the implementation of optimization techniques from the specification of general application data semantics that guide policy decisions. In this presentation I briefly describe Wit's partitioned-application structure, then focus on how application data semantics are used to guide Wit's network policies. I use email as a simple example to show how data semantics are specified as an annotated graph. Nodes in the graph are data objects and graph edges express data relationships.
Annotations typically catagorize objects and relationships.
I describe the system's use of this annotated graph in terms of prefetching. When an object is sent across the communications link in response to a request, adjacent'' objects are candidates for prefetching if network resources allow. Additionally, Wit monitors the data access pattern and maintains statistics based on edge and object annotations. This allows the dynamic refinement of prefetching policies in response to repeated access patterns. Wit's knowledge of the application's categorization of data objects and relationships makes this dynamic policy adaptation feasible and system prefetching more effective.