How to solve the proxy-location problem using mobile code. Many,
including myself, have proposed placing an intermediary on the path
between a mobile host and a correspondent host. The motivation is
that, because a mobile host moves, it may encounter varying network
conditions during the lifetime of a single connection or session.
(Examples of varying conditions include: different bandwidth;
asymmetric versus symmetric bandwidth; different cost/payment models;
different privacy assumptions; and vastly different error rates.) The
idea is that the intermediary would be under control of the mobile
host and would act on the mobile host's behalf to delay, suppress, or
alter traffic to/from the mobile host, in response to the current
network conditions that the mobile host is experiencing. This is an
attractive idea but it has several drawbacks: (1) the intermediary is
an extra point of failure; (2) either encrypted traffic is opaque to
the intermediary thereby limiting the actions it can take, or else the
encryption keys must be shared with the
intermediary, creating a security hazard; and (3) passing traffic
through the intermediary, assuming it is not mobile, probably results
in sub-optimal routing most of the time.
Making the intermediary itself mobile, written using ``mobile code''
might help to solve the final problem.