A General Purpose Proxy Filtering Mechanism Applied to the Mobile Environment*
Juno Online Services, L.l?
AT&T Labs - Research
In recent years, proxies have become more prevalent. Generally,
these systems are used to process data tlowing between two end-
points using an intermediary. More specifically, they can be used
to filter or process traffic flowing to and from a network-limited
host. Benefits include more efficient use of network resources, re-
duced cost, and increased security. In this paper, we describe the
design and capabilities of such a system, how it has been applied
to the mobile environment, and provide an evaluation of the work.
The environment for which our work is intended is shown in figure
1. In this figure a pair of mobile hosts are communicating with a
number of fixed hosts. To simplify the discussion, we assume that
an application (or “client”) runs on the mobile host and communi-
cates with a server on a fixed host, but the proxy mechanism can
work with any two communicating endpoints located anywhere,
including two mobile hosts.
In our model of the environment, we assume the “last link” to
the mobile host is the likely problem area. Currently and in the
foreseeable future, this link will typically be slower, more costly,
less reliable, and perhaps less secure than typical WANs or LANs.
Accordingly, a proxy is placed somewhere on the opposite side
of this link from the mobile host, and the two work together to
overcome or attenuate the link’s limitations. The proxy need not
be physically attached to this last link.
Proxy based systems can be considered commonplace in today’s
heterogenous network environment. In general, a proxy takes the
form of an intermediary placed between two communicating end-
points such as a client and server. The purpose of the intermedi-
ary is to improve the quality of the network as perceived by the
client along some dimension which is constrained (e.g., connec-
tivity, cost, security). Examples include firewalls , protocol
specific proxies [lo], programmable routers , and gateways
that reduce traffic over low bandwidth or heterogeneous network
links [3, 181.
As part of our research on mobile computing, we have spent
two years building a general purpose proxy system. Our work is
general purpose in’that it provides a mechanism for downloading
and executing proxy programs (called “filters”), interposing filters
into the middle of client-server connections, and dynamically con-
trolling filter behavior. The filters are often application specific,
and usually act under control of an application running on a mo-
bile host. They may drop, delay, or transform data moving to and
from the mobile host.
This paper provides a detailed analysis of this system, how it