You are on page 1of 6

(IJCNS) International Journal of Computer and Network Security, 89

Vol. 1, No. 2, November 2009

An Efficient Adaptation Aware Caching


Architecture for Multimedia Content Proxies
B.L. Velammal1 and P. Anandha Kumar2
1
Lecturer, Department of CSE, Anna University,
Chennai – 25, India
velammalbl@cs.annauniv.edu
2
Assistant Professor, Department of IT, MIT Campus, Anna University,
Chennai – 44, India
anandh@annauniv.edu

Abstract: One of the challenges in the development of proxy- number of transcoding operations required, minimizing the
based content adaptation architecture is the implementation of need for computational power but increasing pressure on
proxy cache which aims at reducing the amount of transcoding storage requirements. The trade off is between available
operations and server traffic. In the absence of adaptation- storage and computational power. Also, it is to be noted in
aware caching at content proxies, the system performance this case that the entire client load is on the server. This in
suffers due to repeated and frequent access of same image tandem with a large number of transformations could
versions on the remote content server. An efficient mechanism
possibly bring down response time below accepted standards
for caching the most relevant images and their variations can
considerably reduce the above overheads. The efficiency of a
and at the worse, result in system failure.
content proxy can be improved by caching of image versions
that are frequently accessed by client devices. Consequently, a Proxy-based approach introduces a new layer between the
considerable amount of transcoding-related computational load client and the server, the content proxy, effectively forming
on content servers is reduced. This paper addresses these cache a three tier architecture. The content proxy receives the
management issues by proposing an adaptation aware requests from the client and responds to it from the data
architecture for content adaptation proxies that focuses its cache obtained from the server. The need for a cache is implicit
removal policy on transcoding cost. The proposed architecture here. The proxy can store the variations of objects to
improves efficiency when compared to conventional cache respond to the client requests. It is easy to see that by
management schemes, by resulting in lesser traffic between the associating a server to more than one client (a one to many
proxy and remote server and lowering the number of
mapping) the load on the server is reduced. Also there is
transcoding operations.
effective separation of computation and data storage sectors
by exporting computational requirements to the proxy. Also
the effective computational load is reduced as it is
Keywords: Content adaptation architectures, cache
management, multimedia. distributed, hence lowering individual system costs as well
as increasing system reliability while paving way for
1. Introduction graceful system degradation via load balancing. It can be
seen that the advantages of a content proxy are widespread
Adaptation of multimedia content can be done at three and myriad. This approach is indeed widely used and
possible locations: at the client device, at the content server recommended.
or at a specialized multimedia proxy between the two. Client
side adaptation requires the adaptation operations to be Proxies can exhibit passive caching as well as active
performed on the client devices receiving these objects. caching. In passive caching, if the object is not cache it is
Though this is not unknown, in current scenario involving retrieved from the server and older objects are removed in
widespread use of handhelds, the computational power the event of cache overflow. Active caching aims at
required for these operations is hard to find. Even is present, improving retrieval performance by increasing the
it takes up a larger time, decreasing efficiency than what likelihood that a requested object will be found in the cache.
could be obtained by the other schemes. In client-side It can also work as a superset of passive caching based on
architectures, cache precedence could increase efficiency the load on the proxy. In content adaptation proxies, the
considerably, but this is a seldom used practice as memory is choice of using active caching should be based on an
again a scarce resource. analysis of frequently adapted object versions. The
architecture proposed in this paper aims at implementing
In case of server-side adaptation techniques, conventional active caching and thereby reduce repeated adaptation
web servers are imbued with content adaptation processes. operations and traffic between content server and content
Caching of the adapted content here involves storing proxies.
multiple variations of the same content in order to match
with client requirement specification. This reduces the
2. Background and Related Work

Over the past decade, a number of proxy-based architectures


90 (IJCNS) International Journal of Computer and Network Security,
Vol. 1, No. 2, November 2009

for content adaptation have been proposed. A proxy-based formulated for cache management. However, their node
framework for dynamic adaptation in distributed multimedia structure and tree construction algorithms do not take the
applications [1] describes the functions of a proxy that can cache replacement policy into account. An efficient cache
be configured to perform adaptations of multimedia. indexing structure on Content Proxies will have to take into
Another adaptation architecture called MARCH [2] enables account the transcoding costs between image variations as a
the creation of a service-based overlay network. It provides part of determining the relevancy of any image object
for a dynamic proxy execution environment and mobile resident on the cache.
aware servers to decide which set of tasks have to be
assigned to each proxy. Related research has also been Our work focuses on combining the cache replacement
carried out in Content Distribution Networks (CDNs) [3] policy of the content proxy with an adaptation-aware cache
that use presents topology aware overlays for efficient indexing scheme in order to arrive at a more holistic method
distributed multimedia application support. Self-adaptive of cache management for content adaptation proxies.
CDNs [4] exhibit ability to adapt their behavior in order to
cope with serving heterogeneous multimedia content under
unpredictable network conditions. In addition to it, 2.1. Content Adaptation Architecture
distributed content adaptation framework (DCAF) [5] has
been proposed for pervasive computing. A similar proposal The architecture which we have referred to is one proposed
on Automatic Adaptation of Streaming Multimedia Content by Jean-Marc Pierson [5] (see Fig.1). The architecture takes
[6] makes use of a server side adaptation engine. The engine into consideration client profile, network conditions, content
reacts to context changes and also facilitates multimedia profile (meta-data) and available adaptation services (third
adaptation in a distributed fashion along the delivery path. party software elements) to arrive at an optimal dynamic
adaptation decision.
The cache forms the backbone of the content proxy, and
hence an architecture that makes possible its efficient and
effective utilization is required to exploit maximum benefits.
Improved cache management ensures that the images that
are accessed frequently by clients are stored in the cache.
This decreases the number of adaptation operations involved
in transcoding, thereby increasing average response time.
This also increases the cache hit ratio (i.e., the probability
that an requested object is found in the cache). In addition,
the number of times the server is requested for an image is
reduced reducing costly IO time and easing the load on the
network.

An important component in the design of any caching


mechanism is the cache replacement policy. One of the
existing cache replacement policies for transcoding proxies
utilizes Aggregate Effect [7] for determining the image to be
removed from cache. The transcoding graph is constructed
based on parameters such as size of the object version, Figure 1. Content Adaptation Architecture
reference rate to each version and the delay in fetching the
image version. However, it does not take the cache size 2.2Local Proxies:
restrictions and the optimal number of versions that should
be kept on the cache and only provides a relationship They intercept user request and server responses and initiate
determination for the existing image versions. the transfer of adapted content

Another caching scheme called as PTC [8] describes the 2.3. Content Proxies:
working of proxies that transcode and cache for
heterogeneous devices requirements. A similar graph-based They accept user requests forwarded by the local proxies and
data structure has been used that utilizes the earlier retrieve the images from either the local cache or remote
proposed Aggregate Effect along with network parameters content servers. Adaptation is performed in the adaptation
and learning capabilities. This scheme again does not take engine if the appropriate image version is not present and
the cache restrictions and indexing scheme into account. then transferred back to the local proxies ot be delivered to
the client.
In addition to the replacement policy, another important
factor in the design of caching is the indexing structure to be 2.4. ASPs:
used. More recent research work in cache indexing has been
focused on making the tree structure more cache conscious Adaptation Service Proxies are the web services that can be
i.e. perform faster lookup with minimum required memory deployed on the content proxies to execute required
space. A number of such tree-based indexing schemes like adaptation operations.
CSB-tree [9], CST-tree [10], CSR-tree [11] have been
(IJCNS) International Journal of Computer and Network Security, 91
Vol. 1, No. 2, November 2009

2.5. Profiles: 3. Content Proxy Architecture


The architecture provides for – i. Device profiles for storing A content proxy that is supplied with a cache can be divided
device capability and compatibility information. ii. Client into distinct modules based on which functionalities they
profiles for storing user preferences and settings. iii. serve. The various functionalities of the content proxy
Adaptation Service Registry for storing service profiles and includes: deserialisation of the incoming client request,
location. management of the cache and its indexing, adaptation of
images to fulfill the requests and IO with the server for
As explained before, the presence of cache at any point in retrieving required images.
this architecture increases productivity of the system.
Though caches make sense both at local and content In line with these functional requirements, our
proxies, maximum performance gain can be attained when architecture has been divided into four distinct modules, the
the cache is used at the independent content proxies that are layout of which is given in the architecture diagram (see
deployed, as it provides all the aforementioned gains. A figure 2).
second driving force behind this decision is that local
proxies are frequently absent in the current scenario of
mobile computing.

In the next section, we introduce our content proxy


architecture that incorporates an adaptation-aware cache
management system.

Figure 2. Content Proxy Architecture

Instead it could be merged with the query processor as a


single module, and this combination is referred to here as
the Query processor.
3.1. Query Processor:
The function of the query processor is deserialisation of
The communication forms the interface between the client
incoming client requests in order to extract the user
and the content proxy, and is depicted outside the proxy’s
parameters for requested objects. For example in an image
boundaries to indicate that it is strictly not a proxy
server this might include the pictures identity, resolution,
component.
format and other such characteristics. Additionally this can
include device specific data such as supported data types
92 (IJCNS) International Journal of Computer and Network Security,
Vol. 1, No. 2, November 2009

and processing constraints. Optionally they can be got from vii. If cache miss had occurred during recent
the device profile data structure. image request, the image retrieved from server
is added to the cache.
viii. Cache overflow is avoided by removing the
least preferable image using replacement
3.2. Adaptation Engine: policy.

This module is in charge of carrying out all the required the 4. Adaptation Aware Caching Scheme
adaptation operations. Thus happens in case of a cache miss
or of a partial cache hit. In both cases, the proxy has to
carry out adaptation operations to satisfy client requests. Cache efficiency is characterized by –
• Amount of “less important” cached images
Adaptation operation functions that are existing can • Size of allotted memory
again be used in our architecture, the general framework • Time required for the transmission of data from
presented here is independent of how adaptation is the remote server to the content proxy
implemented.
As the indexing scheme being proposed in this paper
3.3. Cache Management module: focuses on being adaptation-aware, the study of third factor
above is beyond the scope of this paper. For content
This includes both the indexing mechanism for the cache as adaptation proxies, similar images should be indexed closer.
well as the implementation of the cache removal policy. The Moreover, index should have caching policy information in
indexing mechanism is required for fast and orderly access order to achieve faster image replacement in case of a cache
of the cache. The replacement policy is decisive in the cache miss. And as per convention, the removal policy in the
architecture and determinant of the cache utilization and index should favor more frequently adapted objects which
efficiency. can lead to a reduction in computational overheads.
Consequently, the response time can be bettered.
3.4. Working of the Content Proxy
A cache management algorithm can be analogized to the
The Query Processor (QP) and Adaptation Engine (AE) classic Knapsack problem [12]. Consider D as the dataset
perform the decision making regarding the adaptation (more specifically image-set in our case).
operations that need to be performed on appropriate image
objects. On the other hand, the Cache Management module D = {D1, D2, …, DN}
(CM) maintains cache index and manages replacement xi = {0,1} where xi = 0, if Di is cached
operations based on the input parameters obtained from the xi = 1, if Di is not cached
previous two modules. The overall working of the proxy can wi and si are said to be the “relevancy value” and size of
be described as follows – Di respectively.
i. Communication Interface gets the client
request containing identifiers for client, image The aim of the caching mechanism is to –
N
and the device type. a. Maximize (Cache volume) V = Σ i = 1 xi wi
ii. QP deserializes the query and forwards the b. Ensure Σ i = 1 N xi si <= S, where S is the total cache size
parameters to Adaptation Engine.
iii. AE fetches the device profile based on device It is clear from the above expressions that the “relevancy
type specified in the query and decides on the value” w plays a pivotal role in the overall design and
adaptation operations. implementation of the cache. Keeping in mind the
iv. AE determines the expected optimal application of caching on content adaptation proxies, we
adaptation image parameters and sends it to define the relevancy value of j the version of image Di as –
QP.
v. QP forwards it to CM. wi,j = F (si,j, di,j, fi,j, ti,j, ni )
vi. CM checks if the image version with the
required parameters is present in the cache. where,
a. If image is present, it is fetched and sent si,j is the size of image version
to QP and then to the client via the ri,j is the image version resolution
Communication Interface. di,j is distance of image version from “nearest similar”
b. If not present, the CM tries to fetch a image
“similar transcodable” image from the fi,j is frequency of access of image version
cache which is then adapted to the ti,j is last access time of image version
appropriate format in AE and then sent to ni is the number of cached image versions of Di
the client. From the above notations, it is obvious that a crucial
c. Otherwise, CM sends cache miss message parameter in determining relevancy value wi,j in content
to QP. QP then instructs AE to fetch the proxy cache is the distance of image version from “nearest
image from remote server for adaptation. similar” image. We define a nearest similar image as
(IJCNS) International Journal of Computer and Network Security, 93
Vol. 1, No. 2, November 2009

another version of the same image that has higher 5.2. Partial Cache Hit
resolution and from which the target image can be obtained
through local adaptation. Arriving at a suitable value for
this parameter can result in a reduction in the number of
repeated requests to the remote server for the same image
version. Some of the other terms that are used in the paper
to describe the caching mechanism are defined below:

Cache Hit: When an exact match for the clients request is


found in the cache, it is termed a cache hit. This depends in
the availability of frequently accesses cache images in the
cache, a direct consequence of the replacement policy.

Cache Miss: The requested image is not found in the cache;


hence it should be accessed from the server. This involves
IO time, hence an increased response time.
Figure 4. Partial Cache Hit
Partial cache hit: The requested image is not found, but an
image which could be an acceptable replacement, or one
from which the object could be got by adaptation is present. • The request from the client arrives at the Query
Here the server need not be accessed and in the absence of processor
IO time the access time is considerably lower. Hence the • The Query processor deserializes the request and
presence of partial cache hits increases performance. This is passes parameters to the indexing component of
unique to our architecture and the adaptation scenario. cache management
• The indexing component of the cache management
Threshold: This is used to define when a partial cache hit system searches for the pertaining image
occurs, i.e. the limits of acceptability of cache images and • Image not found, but another version from which it
when cache images can be used for adaptation. This is not could be transcoded from is available in the cache.
fixed by us as this threshold could depend on the processing The existence of such an image is decided using a
capability of the deployment system, the promised QoS and threshold value.
other such factors that depend on individual instances. • The candidate image is sent to the adaptation
Hence we leave this as a variable parameter. engine along with the deserialised parameters
• The image is adapted and transferred to the
communication module to be sent to the client
5. CACHE ACCESS SCENARIOS
5.1. Cache Hit 5.3. Cache Miss

Figure 3. Cache Hit

• The request from the client arrives at the Query


processor Figure 5. Cache Miss
• The Query processor deserializes the request and
passes parameters to the indexing component of • The request from the client arrives at the Query
cache management processor
• The indexing component of the cache management • The Query processor deserializes the request and
system searches for the pertaining image passes parameters to the indexing component of
• Image Found, the result is transferred to the query cache management
processor that is transferred to the communication • The indexing component of the cache management
interface from where it reaches the client system searches for the pertaining image
• No image that falls within the threshold limits is
found in the cache
• The server is requested for the corresponding
image
94 (IJCNS) International Journal of Computer and Network Security,
Vol. 1, No. 2, November 2009

a) If server responds with an exact match It is [7] Cheng-Yue Chang; Ming-Syan Chen, “Exploring
transferred to the client via the communication aggregate effect with weighted transcoding graphs for
module efficient cache replacement in transcoding proxies”,
b) In case the responded image is not an exact Proceedings. 18th International Conference, 2002.
match, the received image id forwarded to the [8] A. Singh, A. Trivedi, K. Ramamritham, P. Shenoy,
adaptation engine for transformation “PTC: proxies that transcode and cache in
according to client requests then sent to the heterogeneous web client environments”, proceedings
communication interface. of the Third International Conference on Web
• In the latter case (b) the cache must again be Information Systems Engineering, 2002.
updated with the new adapted image. This is [9] J. Rao and K.A. Ross, "Making B+-tree cache conscious
decided using further parameters based on whether in main memory", In SIGMOD, pages 475-486, 2000.
an image or its variation is more frequently [10] Ig-hoon Lee, Junho Shim, Sang-goo Leeand Jonghoon
accessed. Chun, "CST-Trees: Cache Sensitive T-Trees",
Advances in Databases: Concepts, Systems and
6. Conclusion & Future Work Applications, 2007.
[11] Dong, 1 Yu, "CSR+-tree: Cache-conscious Indexing
The proposed architecture for content proxies in adaptation for High-dimensional Similarity Search,”, 19th
networks incorporates adaptation-aware cache management International Conference on Scientific and Statistical
features. These features lead to an improvement in the Database Management, Statistical and Scientific
performance of content proxies by reducing the number of Database Management (SSDBM), pp. 14-27, 2007.
requests to remote content server and reducing [12] Asanobu Kitamoto, "Multiresolution Cache
computations for adaptation operation by caching the most Management for Distributed Satellite Image Database
frequently adapted image versions. Our future work focuses Using NACSIS-Thai International Link", Proceedings
on the development an efficient indexing data structure that of the 6th International Workshop on Academic
in addition incorporates removal policy. Intertwining of Information Networks and Systems (WAINS), pp. 243-
these two makes the cache efficient as there is lesser 250, 2000.
overhead. The data structure is also made adaptation aware,
in contrast to existing indexing and replacement policy
making it an apt fit for content proxies.

References
[1] O. Layaida, D. Hagimonte, "Dynamic Adaptation in
Distributed Multimedia Applications", INRIA,
Technical Report, August 2002.
[2] S. Ardon, P. Gunningberg, B. Landfelt, Y. Ismailov, M.
Portmann, A. Seneviratne, "MARCH: A distributed
content adaptation architecture", International Journal
of Communication Systems 2003, 16.
[3] Khalil El-Khatib, Gregor v. Bochmann, and
Abdulmotaleb El Saddik, "A Distributed Content
Adaptation Framework for Content Distribution
Networks", School of Information Technology &
Engineering, University of Ottawa
[4] Jawaheer, G.; McCann, J.;"Building a self-adaptive
content distribution network", Proceedings. 15th
International Workshop on Database and Expert
Systems Applications, 2004. Volume , Issue , 30 Aug.-
3 Sept. 2004
[5] G. Berhe, L. Brunie, JM. Pierson. "Distributed Content
Adaptation for Pervasive Systems". In proceedings of
IEEE International Conference on Information
Technology, ITCC 2005, April 4-6, 2005, Las Vegas,
Nevada, USA, Vol.2 pp.234-241.
[6] Hutter, A.; Amon, P.; Panis, G.; Delfosse, E.; Ransburg,
M.; Hellwagner, H. "Automatic adaptation of streaming
multimedia content in a dynamic and distributed
environment", IEEE International Conference on
Image Processing, 2005. ICIP 2005. Volume 3, Issue,
11-14 Sept. 2005.

You might also like