Dear wonkywabbit,
The classic example of a proxy server is a web proxy, which forwards
requests from a local client to a remote web host. Although transposition
is not a necessary component of the web proxy service, it may indeed
take place if the field computer requires it for reasons of protocol
compatibility. The abstract of the following paper, published in April
1994, makes this clear when it mentions "special processing they may
have done for non-native Web protocols such as Gopher and FTP".
A WWW proxy server, proxy for short, provides access to the Web
for people on closed subnets who can only access the Internet
through a firewall machine. The hypertext server developed at
CERN, cern_httpd, is capable of running as a proxy, providing
seamless access to HTTP, Gopher, WAIS, and FTP.
cern_http has had gateway features for a long time, but only this
spring they were extended to support all the methods in the HTTP
protocol used by WWW clients. Clients don't lose any functionality
by going through a proxy, except special processing they may
have done for non-native Web protocols such as Gopher and FTP.
Luotonen, A. and Altis, K.: World-Wide Web Proxies
http://plg.uwaterloo.ca/~mlaszlo/answers/proxy/www.proxies.ps
Proxies whose main purpose is to transpose data for the benefit of
a client are known today as transcoding proxies or transformational
proxies. Many such proxies are currently in use, and the transformations
they undertake run the gamut from Braille encoding to cryptographic
verification. It is perhaps unsurprising, given the youthful nature of
the Internet, that the overwhelming majority of these transformational
proxies date to 1997 or later. But it is not true, despite the claims
of some media outlets, that no transformational proxies were specified
or developed prior to 1997.
For an example of such an misleading statement, consider this press release
publicizing the TranSend system, which carries out a process called
dynamic distillation to compress web pages for bandwidth-limited clients.
UC Berkeley researchers fed up with slow modem connections to the
Internet have devised a way to speed access to the World Wide
Web, and have convinced the campus to integrate the technique
into its network starting this week.
Dubbed TranSend, the new service allows users to route their web
requests through a "transformational proxy", the first of its
kind, which delivers their web pages three to five times faster
via a process the researchers call "distillation." The proxy
gives users slightly lower quality images but much faster access.
UC Berkeley: Public Affairs: News Release #14565, 5/5/97
http://www.berkeley.edu/news/media/releases/97legacy/proxy.html
The earliest publication of the research results underlying the TranSend
system dates to October 1996.
The explosive growth of the Internet and the proliferation of
smart cellular phones and handheld wireless devices is widening
an already large gap between Internet clients. Clients vary in
their hardware resources, software sophistication, and quality
of connectivity, yet server support for client variation ranges
from relatively poor to none at all. In this paper we introduce
some design principles that we believe are fundamental to
providing "meaningful" Internet access for the entire range
of clients. In particular, we show how to perform on-demand
datatype-specific lossy compression on semantically typed data,
tailoring content to the specific constraints of the client. We
instantiate our design principles in a proxy architecture that
further exploits typed data to enable application-level management
of scare network resources. Our proxy architecture generalizes
previous work addressing all three aspects of client variation
by applying well-understood techniques in a novel way, resulting
in quantitatively better end-to-end performance, higher quality
display output, and new capabilities for low-end clients.
Fox, A., Gribble, S., Brewer, E.A., and Amir, E.: Adapting to Network
and Client Variability via On-Demand Dynamic Distillation
http://plg.uwaterloo.ca/~mlaszlo/answers/proxy/dynamic.distillation.ps
Although the particular algorithms used for dynamic distillation and
the TranSend architecture may have been novel in 1996, the concept was
not new. The idea of a transformational proxy or proxy-like device for
relaying data in an altered form to clients with specialized features,
typically mobile clients, appears earlier in the literature. I can cite
two well-documented examples of these.
The first uses a proxy device called an application-level video gateway
to adapt an information stream to the limited bandwidth of a receiving
appliance. The abstract of a November 1995 paper on this device describes
its transformation thus: "In particular, the gateway performs bandwidth
adaptation through transcoding and rate-control." Note that the primary
author of this paper, Elan Amir, is also an author of the TranSend paper
above. The continuity of the transformational-proxy concept is clear.
The current model for multicast transmission of video over the
Internet assumes that a fixed average bandwidth is uniformly
present throughout the network. Consequently, sources limit their
transmission rates to accommodate the lowest bandwidth links,
even though high-bandwidth connectivity might be available to
many of the participants. We propose an architecture where a
video transmission can be decomposed into multiple sessions with
different bandwidth requirements using an application-level
gateway. Our video gateway transparently connects pairs of
sessions into a single logical conference by manipulating
the data and control information of the video streams. In
particular, the gateway performs bandwidth adaptation through
transcoding and rate-control. We describe an efficient algorithm
for transcoding Motion-JPEG to H.261 that runs in real-time
on standard workstations. By making the Real-time Transport
Protocol (RTP) an integral component of our architecture, the
video gateway interoperates with the current Internet video
tools in a transparent fashion. We have built a prototype of
the video gateway and used it to redistribute multi-megabit
JPEG video seminars from the Bay Area Gigabit Network as 128
kb/s H.261 MBone sessions. [...]
In this paper, we present the design and implementation of a
video gateway that addresses the problem of heterogeneity. Our
approach provides a mechanism for matching the transmission
quality to the heterogeneous bandwidth constraints of distinct
regions of a single logical multicast session. The gateway does
so by intelligently managing incoming and outgoing video streams
using transcoding and rate-control.
Amir, E., McCanne, S., and Zhang, H.: An Application Level Video Gateway
http://plg.uwaterloo.ca/~mlaszlo/answers/proxy/video.gateway.html
An even earlier instance of this idea occurs in a September 1994 paper,
here in the specific context of cellular networks. The proxy-like
device is referred to as the "mediating interceptor, Mobile-Connection
Host". Its function is to adapt incoming communications to the needs
of a mobile device, such as a cell phone, by redundant encoding and
other transformations.
Modern portable computers and wireless connections using a
cellular telephone network have created a new platform for
distributed information processing. We present a communication
architecture framework which makes it possible to exploit
the existing TCP/IP communication architecture but which also
takes into account the specific features of wireless links. Our
communication architecture is based on the paradigm of indirect
interaction. The mediating interceptor, Mobile-Connection
Host, is the bridge between the worlds of wireless and
wireline communications. The interceptor also provides enhanced
functionality that improves fault-tolerance and performance for
applications aware of mobility. [...]
When a Mobile Node dials in to an MCH, the MCH creates a new
virtual network interface and assigns the IP addrss of the Mobile
Node to that interface. Then it creates a proxy that will act as
the mediating agent for the Mobile Node. Adopting the Mobile IP
routing support allows a mobile user to dial in to an MCH which
is not located at the user's home network.
Kojo, M., Taatikainen, K., and Alanko T.: Connecting Mobile Workstations
to the Internet over a Digital Cellular Telephone Network
http://plg.uwaterloo.ca/~mlaszlo/answers/proxy/mobile.connection.host.ps
Note that the Mobile-Connection Host is depicted on page 9 of this paper,
in Figure 4, where it is clearly labeled as a proxy between the Mobile
Node and the Fixed Host.
It has been an interesting challenge to address this question on your
behalf. If you feel that any part of my answer requires correction or
elaboration, please let me know through a Clarification Request so that
I may fully meet your needs before you assign a rating.
Regards,
leapinglizard |