Mobile Aware Server Architecture: A distributed proxy architecture for content adaptation 1;4
Sébastien Ardon
2
3
, Per Gunningberg ,
2
1;5
Yuri Ismailov , Björn Landfeldt , Marius Portmann
1
1
,
Aruna Seneviratne , Binh Thai
1 School of Electrical Engineering and
as to what adaptations to perform and how to per-
Telecommunications
form them are made under the content server ad-
University of New South Wales
ministration authority. The framework is particu-
Sydney NSW 2051 Australia
lary designed for the current client/server model, in
{aruna.seneviratne, ardon,
particular, it does not cater for interpersonal com-
marius.portmann}@unsw.edu.au
munication applications.
2 Ericsson research Networks and Systems
1 Introduction
Torshamnsgatan 23 - 164 80 Kista Sweden {bjorn.landfeldt, yuri.ismailov}@era.ericsson.se
Over the past years, the number of hosts connected
3 Uppsala University
to the Internet has grown tremendously. With the
Departement of Computer Systems
introduction of the 3rd generation and next mobile
Box 325, S-751 05 Uppsala, Sweden
systems, this number is expected to grow further.
[email protected]
At the same time, terminals connected to the In-
4 LIP6 laboratory
ternet have and will have very dierent capabilities in terms of media presentation, processing power
Pierre and Marie Curie University
and power autonomy. With the constant demand
4, place Jussieu 75252 Paris Cedex 05, France
for new networked applications and the desire to
5 Computer and Networks Laboratory TIK Swiss
use these applications with any type of terminals
Federal Institute of Technology ETH CH-8092
through any type of access network, we face new
Zürich, Switzerland
challenges in the distribution and presentation of content to the users. Furthermore, we can expect this heterogeneity to increase as new terminal types and new access network types emerge.
Abstract
We believe that maintaining several copies of the content at the source to cater for each applica-
We present a novel proxy architecture which pro-
tion/terminal/network is not practical and scal-
vides a middleware solution for adapting Internet
able.
Content and its transmission to client and network
The March framework (early ideas presented
characteristic variations. We present details of the
in [10]) is a novel Content Adaptation Architec-
Mobile Aware Server Architecture (MARCH), a
ture which uses application-level entities that we
framework for automatic session customization and
call
proxy deployment which operates on top of the cur-
sen nodes accross the network. These proxies are
rent Internet.
Our framework diers from earlier
used to perform content transformation(s), or some
work in that it is server-centric, i.e. the decisions
protocol-specic performance enhancement func-
1
proxies, deployed dynamically on carefully cho-
tions.
extend the active network model in that the de-
The remaining of this paper is organised as fol-
cision process for what adaptation mechanisms to
low: section 2 review current related proposals, sec-
deploy is still embedded in the network in-between
tion 3 introduces the March framework and nally
the client and the server, but they operate at a
section 4 present our conclusions and future work.
higher layer. We believe that the genericity of this approach makes the decision-making process too complex and therefore inecient.
2 Related work
Work in progress within the Internet Engineer-
Problems associated with the heterogeneity of the
ing Task Forces (IETF) aims at dening an open
Internet have lead to various proposals in the ar-
platform to execute services at arbitrary intermedi-
eas of Active Networks, Active Services and Appli-
aries in-between the client and the server [1]. The
cation Layer Active Networking. These proposals
Internet Content Adaptation Protocol (ICAP) [6]
address the heterogeneity problem by adapting the
is considered as one possible signalling protocols to
content and transmission characteristics to suit the
convey content adaptation, but is limited to HTTP
session characteristics.
trac only.
In this section, we review
the existing approaches in this area. The problem can be adressed by using various technologies operating at dierent layers in the networking procol stack.
In this section, we review
previous work, which we have ordered depending on the layer at which the solution operates.
Content Adaptation with static Proxy services
Content Adaptation with Active Network or Active Services
Proxy services are application-layer software enti-
Content adaptation schemes have been proposed
the clients.
that operate at the network level and are often re-
commercial products explore the use of proxies to
ties that request or process content on behalf of Some proposals such as [7] and even
ferred to as "active network" based proposals. An
adapt multimedia content to client and network
Active network, as originally introduced in [15],
variations.
is dened as a network in which the "routers or
tectures, content adaptation is realized by proxies,
switches of the network perform customized com-
software components placed at strategically chosen
putation on the message owing through them".
points around the network.
This concept can be applied to both, the extreme
work performance discontinuities). Client applica-
capsule model where the packet headers carry the
tion requests are then directed to the proxy either
code to be executed on the routers or switches, or to
explicitely (e.g.
the programmable switch model in which switches
proxy settings in the client application) or trans-
can be extended to perform computations on pack-
parently as described in [5]. This static operation
In these xed or 'static' proxy archi-
(e.g.
at or near net-
the user manually congures the
ets, but the code is not necessarily carried in each
has several drawbacks.
packet itself. Some proposals such as [16, 11] use
limited: as new terminals, access networks and ap-
this approach to perform content adaptation func-
plications emerge, the xed architecture makes the
tionalities However the scalability and feasability of
deployment of new proxies services dicult.
these schemes are still being discussed.
ondly, the reliability of the system is diminished:
Firstly, the scalability is
Sec-
Active services [3] or Application-Layer active
a xed proxy provides a single point of failure for
networks [8], propose to deploy such high-level ser-
all clients/applications using it. Thirdly, the clients
vices at the application layer.
This allows to re-
have to be manually congured. This can lead to
tain the existing robust and simple internet rout-
conguration errors, especially if the users are mo-
ing subsystem and network layer untouched, there-
bile and changing access network. Finally, because
fore facilitating incremental deployment over the
of its static nature, load-balancing (cpu, network)
current Internet architecture [3]. These proposals
between several proxies is dicult to achieve.
2
3 The March framework
Terminal
Mobile Aware Server (MAS)
3.1
Legacy content Server
Overview
The Mobile Aware Server Architecture is a dis-
111 000 0 1 111 000 000 111 0 1 000 111 0 1 000 111 0 1 0000 1111 000 111 0 1 0000 1111 0 1 0 1 0 1 0 1 0 1
tributed system, which adapts content and its delivery to client and network characteristics.
Access Network
Internet 0 1 0 01 1 0 1 0000 1111 0 1 0 1 000 111 0 1 0 1 000 111 0 1 0 1 000 111 0 1 0 01 1 0 1 0 1 0 000 111 01 1 0 1 000 111 0 1 0 000 111 01 1 0 1 000 111
The
framework operates in three main dimensions:
Protocol enhancements are mechanisms to en-
Proxy repository
hance the performance of a protocol over a
01 1 0 1111 0000 01 1 0 1 0 1 1111 0000 00 1 0 1 0000 1111 0 1 0 01 1 0 1 000 111 0 1 0 000 111 01 1 0 1 000 111 0 1 0 000 111 01 1 0 1 000 111
Compute Server
Compute Server
particular network path. A typical example is the berkeley snoop scheme [4] which improves
Figure 1: the March framework architecture
TCP performance over lossy links such as wireless links. Recent work at the IETF in the Performance Implications of Link Characteristics
bandwidth between the client and the server, the
(pilc) working group summarizes the advances
characteristics (CPU/Memory/Screen Size) of the
in this area. A more complete survey of avail-
client, and nally the user's preferences.
able techniques can be found in [2].
One of the key design goals of MARCH is to al-
Proxies
can also implement tailored communications
low service composition.
protocols to cater for particular link character-
quires proxy functions to be concatenated to form
istics. Examples of such systems is presented
a global, multifunctional service.
in [14].
such a service is a "content distillation and encryp-
An example of
tion" service. The architecture needs to maintain
We refer to content distillation as a mechanism
the integrity of the system if multiple proxy func-
that reduces the bandwith requirement of data
tions are carried out simultaneously. For example,
objects by applying transformations that uti-
in the case of the content distillation and encryp-
lize the knowledge of the content semantics.
tion service, the content distillation needs to take
An example of content distillation is bitrate re-
place before the data is encrypted. Once the data
duction in streaming video by dropping entire
is encrypted, functions requiring knowledge of the
frames or reducing the resolution. Distillation
data semantics cannot be used as these semantics
is often used in situations involving low bitrate
are hidden. In the March framework, the decision
networks such as GSM [7, 8].
Service composition re-
as to which proxy modules to use and in which order to use them is made centrally. This allows the
Media transcoding is the transformation of one
framework to maintain the integrity of the system.
media type to another, e.g. HTML to WML. This type of transformation is often used when
3.2
the terminal characteristics do not allow to present the content in its original format.
The architecture of the March framework is illustrated in gure 1. It is composed of four main com-
The type of adaptation to be performed for a given
1 session depends on the
situation
Architectural view
ponents distributed accross the network.
of the session.
In this
section, we describe these components and their
We dene a situation as the set of conditions under
functional interrelationship.
which a session operates. These conditions include but are not limited to: the type of access network the client is using, the available and/or bottleneck
The Compute Servers
1 The notion of session is dependent on the application used. For example, in the case of an audio-on-demand application, the session is dened by the duration of the transmission and presentation of the audio le. In the case of a web browsing application, the session could be dened by the duration a user is using a particular website services
Content adaptation for a given situation is realized by proxy-modules that operate within an execution context called Compute Server. Depending on the type of applications, duration of sessions and preferences of the operators, proxies can be dynam-
3
ically inserted into the Compute Servers' execu-
preferences. The MAS adds its specic knowledge
tion environment on a per-session basis. It is also
about the media and the server architecture (e.g.
possible for Compute Servers to have some xed
information about a distributed server replicated
components or even combining xed and dynamic
in dierent countries) and makes the decision. The
components. The Compute Servers can be located
properties of this decision process are currently un-
anywhere in the network, at the client and/or at
der investigation.
the server. There are several possible locations for
A way of realizing this decision process is to use
Compute Servers such as:
sion.
The rationale is that the content provider
Network boundaries / performance discontinu-
only can decide which particular situations it is
ities
willing to cater for and take specic actions for
Content Provider premises
Within the access network ISP
a static conguration determined by human deci-
these.
The server administrator can be provided
with an graphical user interface, through which s/he can pre-determine actions to be taken given the input parameters.
Each particular situation
At a third-party service provider specialised in
that the Content Provider is willing to cater for
Compute Server services.
would be described by using this gui, and stored in a database at the MAS. This way the feasibility of
The Mobile Aware Server (MAS)
implementing and successfully administrating the
Located under the same administrative authority
the human input of what type of adaptation to per-
as the content server, the MAS performs an in-
form and how to compose the services makes our
formed decision of which adaptation to perform for
framework unique, and greatly increase its feasabil-
a given situation, and where this adaptation should
ity. Although as presented here it can arguably lim-
occur (at which Compute Servers).
The type of
its the granularity of the service the server can pro-
content adaptation to be performed include which
vide to dierent clients, we are currently investigat-
proxy modules to use and in what order they should
ing methods to agregate and generalise the proxy
be executed. Another important question is where
congurations dened by the MAS operator.
they should be placed.
service can be greatly improved. We believe that
The answer to this ques-
tion depends on the type of content adaptation be-
The MARCH client Entity (MCE)
ing performed: for protocol enhancement functions, most proxy functionalities require low-level operat-
The MCE is located on the client device. It is re-
ing system support [2], this makes them unlikely
sponsable for capturing the terminal capabilities,
to be downloaded on a per-session basis. For con-
the access network characteristics and the user pref-
tent adaptation proxies, the metrics on which Com-
erences. Additionally, it plays an important role in
pute Server to choose for a particular session de-
stream handling as it allows the application trac
pends on the network condition e.g. bandwidth, de-
to be handled by the correct proxy. In some cases,
lay between dierent Compute Servers, the content
it may be required that the client also runs a light
server and the client.
Compute Server to house proxy functionalities (e.g.
The choise of which Com-
pute Servers to use is not easily resolved and the
decryption or decompression)
issue has been partially addressed in proposals such as [9]. The actual details of Compute Server dis-
The proxy repositories
covery mechanisms and choosing Compute Servers
These store the proxy modules and can be located
are left for future research. The MAS contains the logic necessary to make
at the content server, the access network or at any
an informed decision about what actions should be
other administrative domain. Existing web content
taken to tailor the media content to the situation.
distribution procedures can be used to reduce the
The input to this process is the information that
access latency to the proxy modules.
the client provides at the session request: Termi-
The location of the Compute Servers and proxy
nal capabilities, network characteristics and user
repositories are exible. MARCH only provides the
4
Content Server
Compute Server
Application
sen proxy-modules (3). The Compute Server then
proxies instances
fetches the modules (4,5). Once they are instanci-
9
4 8
Proxy Repository
ated and congured (6), the MARCH server returns
data control 5
to the MARCH client the rst-hop proxy informa-
1
tion (7). Finally, the MARCH client forwards this
6
information to the application (8).
3 2
The applica-
tions can then receive/request the data from the content servers, transparently through the proxy-
7 March server (MAS)
March client
modules (9). The terminal capabilities transmitted in the rst
Figure 2: Session establishment operation
request (2) can either be entered manually on each terminal by the user, or can be automatically deframework to interconnect the components.
This
tected by the server based on the application re-
means that dierent parties can independently pro-
quest as described in [12]. The access network char-
vide performance enhancing proxies.
For exam-
acteristics can either be detected using various op-
ple, an access Provider may provide some computa-
erating system specic methods in the client host,
tional power as a service and some proxies to adapt
or using network monitoring techniques.
content or protocols to suit its own access network technology, a content provider may provide some
3.4
proxies to cater for proprietary content types, etc.
Discussion
Using MARCH has a number of advantages for
3.3
both end-users and content providers.
Operation
Compared
to existing solutions, MARCH enables support for
The sequence of events for the establishement of
a much more diverse set of device, network and
a session within the MARCH framework is shown
media combinations and the granularity of the ser-
in gure 2.
More precisely, this gure shows the
vice quality improvement is considerably higher.
case of a situation for which two proxies need to be
For the content providers, the main advantage is
instanciated within a single Compute Server.
that MARCH broadens the base of devices capable the
of using the content without any eort from the
MARCH framework through an API, or transpar-
providers. In section 2, we listed some of the prob-
ently if the media semantics and/or session pro-
lems with using static proxy solutions.
tocol is known to the MARCH client.
discuss how MARCH will alleviate these problems
Applications
can
either
is not specied at this time.
explicitely
use
The API
Here, we
and provide a better service for the end-user.
When an applica-
tion requests a service from the network (1), the
First the useability of the system is far superior
MARCH client rst looks up the corresponding
to that of the xed proxy architecture. Since there
content server, and determines if it is equipped with
is no intermediate proxy with a xed location in
a MAS. If this is the case, the MARCH client re-
MARCH and since the application will know the
quests a session (2), transmitting the user's pref-
through user input, there is no need for the users to
erences, terminal and network characteristics along
obtain address information from a network admin-
with the request.
istrator prior to starting a session.
The MARCH Server, upon re-
Furthermore,
ception of this request, performs a simple lookup
users do not have to manually congure settings
to decide if it can handle the request. Depending
for the proxies, nor do they have to congure any
on the situation, one or more proxy-modules may
applications with the proxy address. Finally, when
be required to be instanciated in one or more Com-
the user changes access network, there is no need
pute Servers, or the request can be directed through
to recongure any parameters to reect the proxy
appropriate previously instanciated proxy(ies). In
location.
the rst case, as shown in gure 2, a signaling
MARCH uses general-purpose proxy modules
phase takes place between the MAS and the elected
that are concatenated to build up the desired ser-
Compute Server.
vice.
Firstly, the MARCH Server re-
quests the Compute Server to instanciate the cho-
Thus, it is very easy to add new function-
ality by simply adding new modules.
5
Such an
open system allows third party vendors to develop
a server do not have any information about
these modules and distribute them when, for ex-
wether or not the server is distributed over
ample, new media types or better algorithms are
several dierent physical locations. Since the
introduced. Device manufacturers can also develop
server has this knowledge, it can much better
proxy modules to perform specic tasks optimised
optimise network paths and therefore critical
for new devices that are introduced to the market.
parameters such as response times.
The problem of end-to-end security and proxies can
be solved in MARCH by the MAS being able to
type of transformation is being performed, and
client.
where this transformation occurs. For exam-
The MAS is able to make an informed decision
ple a banking application could use encryption
about ordering of proxy modules to preserve sys-
along public network paths, perform decryp-
Since
tion and content transformation in a secure
MARCH allows concatenation of proxies, it is pos-
enclave, e.g. one of the bank branches, and re-
sible for end users to enjoy multiple functions si-
encrypting the data before leaving the secure
multaneously. For example, it is possible to use a
enclave.
lter that strips advertisements of web pages, a l-
can be found in [13].
them from colour to greyscale while at the same time using end-to-end encryption.
4 Conclusion and future work
Advantage of the server-centric approach
In this paper we have introduced MARCH, a frame-
We argue that the server centric control approach of
work for adapting media content to suit the opera-
MARCH, one of its distinctive features, has many
tional environment for heterogeneous devices and
advantages over other schemes.
networks.
over traditional static proxy server solutions, for
ing content transformation in the Internet, it
both content providers and end-users. We believe
is obvious that a server-oriented decision is su-
that the framework can play an important role in
perior since the transformation is done under
enhancing the quality of Internet services experi-
the control of an authorised distributor for this
enced by mobile users. Some functionalities of the framework remain for future research.
When dealing with proprietary media data for-
Servers, MAS, clients, and proxy repository}, the
tity able to understand the semantics of the
decision algorithm for how to choose the most suit-
data being transmitted, it is therefore the most
able Compute Server and proxy modules remain
suitable node to control content transforma-
unsolved at this time.
tion
References
The MAS has access to all information about the media before conguring the session. An example of addtional information not available
[1] Opes
-
open
pluggable
http://www.ietf-opes.org/.
to clients is sub-encoding. It is impossible for a client to determine the actual coded bit rate
[2] Performance
of an mp3 le, only by looking at the mime
enhancing
edge
services.
proxies.
http://search.ietf.org/internet-drafts/draftietf-pilc-pep-05. txt.
type or le extension. The server however, has got easy access to such information.
The Compute Server discovery
mechanisms, the security model between {Compute
mats, the content server might be the only en-
MARCH exhibits several advantages
If we consider the copyright issues surround-
content [12].
A more comprehensive study of the
security matters related to proxy architectures
ter that reduces the size of images and transcodes
for sensi-
tive content, the server is in control of what
place the proxy functionality at the server and the
tem integrity as mentioned in section 3.1.
The security model is improved:
The server has got knowledge of its own ar-
[3] E. Amir, Steven McCanne, and Randy Katz.
chitecture/state. Clients that want to contact
An active service framework and its applica-
6
tion to real-time multimedia transcoding.
proc. of SIGCOMM 98,
PNUT: Protocols congured for Network and UserTransmission. PhD the-
In
[14] Ranil De Silva.
1998.
sis, School of Electrical Engineering, Univer[4] Hari Balakrishnan, Srinivasan Seshan, Elan
sity of Technology, Sydney, 1998.
Amir, and Randy H. Katz. Improving TCP/IP
Proc. of 1st ACM Conference on Mobile Computing and Networking, Berkeley, California, Novem-
[15] David L. Tennenhouse and David J. Wether-
performance over wireless networks. In
all. Towards an active networks architecture.
proc. of Multimedia Computing and Networking, San Jose CA, 1996. Network Systems In
ber 1995.
group, MIT. [5] A. Cohen, S. Rangarajan, and N. Singh. Supporting
transparent
caching with
[16] Mark Yarvis, An-I A. Wang, Alexey Rudenko,
standard
Proc. of the 4th International Web Caching Workshop, March 1999.
Peter Reiher, and Gerald J. Popek.
proxy caches. In
ductor:
networks. Technical Report CSD-TR-990042, UCLA, August 1999.
[6] The ICAP forum. Internet content adaptation protocol.
http://www.i-cap.org/.
[7] A. Fox, S. D. Gribble, Yatin Chawathe, and E. A. Brewer.
Adapting to network and
client variation using active proxies: Lessons
IEEE Personal Communications, August 1998. and perspectives.
[8] Michael Fry and Atanu Ghosh. level active networking.
Application
Computer Networks,
7:655667, 1999. [9] Atanu Ghosh, Michael Fry, and Jon Crowcroft. An architecture for application layer routing. In
IWAN 2000.
[10] Per Gunninberg and Aruna Seneviratne. Services and architectures in the next generation internet using dynamic proxies. In
FTF99, Be-
jing, China, December 1999. [11] R. Keller, S. Choi, M. Dasen, D. Decasper, G. Fankhauser, and B. Plattner.
An active
router architecture for multicast video distribution. In
IEEE Infocom 2000,
March 2000.
[12] Wei-Ying Ma, Ilja Bedner, Grace Chang, Allan Kuchinsky, and HongJiang Zhang.
Con-
Distributed adaptation for complex
A frame-
work for adaptive content delivery in heterogeneous network environments. Hewlett-Packard Laboratories, 2000. [13] M. Portmann and A. Seneviratne. The problem of end-to-end security for proxy-based sys-
Proc. of Protocols for Multimedia Systems, PROMS2000, Cracow, Poland, oct 2000. tems. In
7