document.write("<p align=\"center\"><b>Invited article from the <a\n");
document.write("href=\"http://dsonline.computer.org/portal/site/dsonline/index.jsp?pageID=dso_level1_home&path=dsonline/topics/was&file=index.xml&xsl=generic.xsl\">\n");
document.write("Web Systems</a> topic area</b></p>\n");
document.write("\n");
document.write("<p align=\"center\"><b><a\n");
document.write("href=\"http://weblab.ing.unimo.it/people/colajanni/\">Michele Colajanni</a></b>\n");
document.write("and <b><a href=\"http://weblab.ing.unimo.it/people/riccardo/\">Riccardo\n");
document.write("Lancellotti</a></b></p>\n");
document.write("\n");
document.write("<p align=\"center\"><b><a href=\"http://www.ing.unimo.it/\">Department of\n");
document.write("Information Engineering, University of Modena and Reggio Emilia,\n");
document.write("Italy</a></b></p>\n");
document.write("\n");
document.write("<p align=\"left\"><br />\n");
document.write("</p>\n");
document.write("\n");
document.write("<h1>Table of Contents</h1>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><a href=\"#1\">1. Introduction</a></li>\n");
document.write("\n");
document.write("<li><a href=\"#2\">2. Adaptation services</a> \n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><a href=\"#2.1\">2.1 Personalization services</a></li>\n");
document.write("\n");
document.write("<li><a href=\"#2.2\">2.2 Transcoding services</a></li>\n");
document.write("</ul>\n");
document.write("</li>\n");
document.write("\n");
document.write("<li><a href=\"#3\">3. Adaptation Architectures</a> \n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><a href=\"#3.1\">3.1 Client-side solutions</a></li>\n");
document.write("\n");
document.write("<li><a href=\"#3.2\">3.2 Service provider-side solutions</a></li>\n");
document.write("\n");
document.write("<li><a href=\"#3.3\">3.3 Intermediary-based architectures</a></li>\n");
document.write("</ul>\n");
document.write("</li>\n");
document.write("\n");
document.write("<li><a href=\"#4\">4. Research Directions</a></li>\n");
document.write("\n");
document.write("<li><a href=\"#ref\">References</a></li>\n");
document.write("\n");
document.write("<li><a href=\"#reading\">Further reading</a></li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<h1><a id=\"1\" name=\"1\">1. Introduction</a></h1>\n");
document.write("\n");
document.write("<p align=\"justify\">The overwhelming success of the World Wide Web has placed\n");
document.write("dramatic pressure on the Internet infrastructure. The increasing user demand,\n");
document.write("coupled with the growing importance of Web-based business services has\n");
document.write("exasperated the need for scalable and reliable solutions for the delivery of\n");
document.write("complex and personalized services. The amount of dynamically generated contents\n");
document.write("has become more and more important, thus shifting the research focus from Web\n");
document.write("<i>content delivery</i> (delivery of previously generated content) to Web\n");
document.write("<i>service delivery</i> that includes run-time generation of content before its\n");
document.write("delivery. In the emerging scenario, the overall complexity of service delivery\n");
document.write("is further augmented by the so called <i>ubiquitous Web access</i>. The goals\n");
document.write("of what can be considered the last visible frontier of the research in this\n");
document.write("field are clear: \"<em>put any service on the Web, and let the Web be easily\n");
document.write("and rapidly accessible everywhere, every time, from any device, for any\n");
document.write("user</em>.\" The increased penetration of wired and wireless accesses to the\n");
document.write("Internet from highly heterogeneous client devices is a visible reality. The\n");
document.write("major differences among these devices (desktops, cellphones, hand held\n");
document.write("computers, personal data assistants, smart phones, Web-TVs, and navigation\n");
document.write("systems) regard network access methods, computational and memory powers,\n");
document.write("ability to accept and manage a large variety of data types.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Ubiquitous Web access is deployed by introducing new\n");
document.write("technologies on the top of pre-existing Internet services. However, the final\n");
document.write("result aims to be much richer than the simple sum of the single components. The\n");
document.write("ubiquitous accessibility combined with the dynamic generation of personalized\n");
document.write("content adds a new dimension to the idea of adaptation of static and dynamic\n");
document.write("Web resources. The vision about the Ubiquitous Web is well outlined by the\n");
document.write("comment of Symon Hayward, Gartner group research director: \"<em>Those who\n");
document.write("treat the arrival of wireless access to the Internet as just another terminal\n");
document.write("device and protocol set to worry about, will find themselves as far behind as\n");
document.write("those that thought the Internet was not relevant to their industry or\n");
document.write("community</em>\" [<a href=\"#Gart00\">Gart00</a>].</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Adaptation is a widely investigated subject, hence a premise\n");
document.write("is in order. In this paper, we will focus on the infrastructures that can\n");
document.write("provide adaptation services, but the reader should be aware that the ubiquitous\n");
document.write("Web includes a huge literature on applications, middleware, plug-ins,\n");
document.write("protocols, authoring tools, transcoders, agents, programmable proxies,\n");
document.write("standards, that we do not have space to touch. The presented examples do not\n");
document.write("aim at being a complete survey of the supports for ubiquitous Web access. The\n");
document.write("cited tools are typically selected among those providing public domain software\n");
document.write("or on-line demos that allow the reader to experiment the feasibility of some\n");
document.write("adaptation services.</p>\n");
document.write("\n");
document.write("<h1><a id=\"2\" name=\"2\">2. Adaptation Services</a></h1>\n");
document.write("\n");
document.write("<p align=\"justify\">The advent of the ubiquitous Web requires on-the-fly\n");
document.write("transformation of Web-based resources possibly obtained through complex\n");
document.write("operations, and their delivery to diverse destination devices. The\n");
document.write("<i>adaptation service</i> term spans various types of functionalities that we\n");
document.write("classify in two main categories with some subclasses. These categories consider\n");
document.write("the implicit/explicit promoter of the request and the consequent adaptation\n");
document.write("service that is, the user or the client device. Hence, throughout this paper,\n");
document.write("we will call:</p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><i>Personalization</i>, the adaptation of the content to (a combination of)\n");
document.write("user preferences, locations and behaviors.</li>\n");
document.write("\n");
document.write("<li><i>Transcoding</i>, the services of tailoring Web content to the\n");
document.write("capabilities of the client device and the network connection.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p align=\"justify\">These operations are not mutually exclusive. They can be\n");
document.write("combined to form a chain of adaptation services that must be completed before\n");
document.write("the resource delivery. Moreover, both personalization and transcoding services\n");
document.write("can be applied to static and dynamically generated content.</p>\n");
document.write("\n");
document.write("<h2><a id=\"2.1\" name=\"2.1\">2.1 Personalization services</a></h2>\n");
document.write("\n");
document.write("<p align=\"justify\">A personalized service implies that some information is\n");
document.write("added to the user request for the generation of the resource to be delivered to\n");
document.write("the user. There are several ways to transfer this information about user\n");
document.write("preferences. For example, it may be explicitly communicated by the user through\n");
document.write("a registration or a form, or transmitted by the client device together with the\n");
document.write("request (e.g., by means of cookies or HTTP headers). Alternatively, this\n");
document.write("additional information may be inferred by the present and/or past user behavior\n");
document.write("or the system infrastructure may implicitly get it from the client request\n");
document.write("(e.g., location, protocol). We prefer to distinguish personalization services\n");
document.write("into two subclasses based on the characteristics of the information that is\n");
document.write("used for personalization.</p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><i>State-less personalization</i>. It basically refers to the adaptation\n");
document.write("services that extract user preferences from the user or client request without\n");
document.write("combining them with previously stored information. Some (not exhaustive)\n");
document.write("examples of these personalization services include: language translation, virus\n");
document.write("scanning, file compression, insertion of banners. For example, the <a\n");
document.write("href=\"http://muffin.doit.org/\">Muffin</a> filtering system allows some content\n");
document.write("filtering (e.g., it removes banners and the <code>HTML</code> tag). Most portals and\n");
document.write("search engines place advertisements on their Web sites targeted to the user\n");
document.write("search queries (e.g., Google, Yahoo).</li>\n");
document.write("\n");
document.write("<li><i>State-aware personalization</i>. It refers to the personalization\n");
document.write("services that are based on some stored information. This information is\n");
document.write("typically contained in some database(s) and can be extracted as a consequence\n");
document.write("of explicit information coming from the user request, deduced from some\n");
document.write("cookies, or inferred through the run-time or off-line analysis of the user\n");
document.write("behavior (e.g., through data mining on log files of a Web site). The use of\n");
document.write("stored information allows the infrastructure to integrate the above state-less\n");
document.write("operations with richer services, such as personalization based on previously\n");
document.write("registered user profile, adaptation to the user navigation style, adaptation to\n");
document.write("the user interests, content filtering (for kids), location and\n");
document.write("surrounding-based services that achieve personalization on the basis of the\n");
document.write("user geographic location. One interesting example of state-aware\n");
document.write("personalization is offered by the Amazon.com site that determines user\n");
document.write("preferences on the basis of navigation and previously purchased items. This\n");
document.write("information is stored by the content provider servers, hence when a known user\n");
document.write("reaches the Amazon Web site, the system is able to build a personalized home\n");
document.write("page containing a list of items that are related to the user interest.\n");
document.write("State-aware personalization is commonly adopted to augment Web accessibility to\n");
document.write("users with disabilities (e.g., see [<a href=\"#RH04\">RH04</a>] and references\n");
document.write("therein). There are myriads of other possible applications for the mobile users\n");
document.write("ranging from tourist information, commercial information, meetings, blind\n");
document.write("dates, banner insertion, advertisements. If you do not care much about privacy\n");
document.write("issues, you can share the opinion that this service may represent the killer\n");
document.write("application for the ubiquitous Web.</code></li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<h2><a id=\"2.2\" name=\"2.2\">2.2 Transcoding services</a></h2>\n");
document.write("\n");
document.write("<p align=\"justify\">The so called pervasive computing devices that\n");
document.write("characterize the ubiquitous Web show an enormous variability in processing\n");
document.write("power, storage, display, and connectivity capabilities. The main consequence is\n");
document.write("that Web resources (including video, image, audio and text) may need to be\n");
document.write("summarized, translated and converted because of two main requirements related\n");
document.write("to the client platform that is, the features of the physical devices and the\n");
document.write("characteristics of the connection to Internet. Hence, we distinguish the\n");
document.write("following transcoding services:</code></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><i>Device-oriented transcoding</i> that is mainly\n");
document.write("related to the characteristics of the user device interface. The goal is to\n");
document.write("provide the user with the best quality for content access and Web services that\n");
document.write("are compatible with the physical capabilities of the device.</li>\n");
document.write("\n");
document.write("<li><i>Network-oriented transcoding</i> that is mainly due\n");
document.write("to the medium and protocol characteristics of the connections of the devices to\n");
document.write("the Internet.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p align=\"justify\">It is worth to note that the previous classification\n");
document.write("does not allow us to partition the transcoding services, because adaptation to\n");
document.write("device capabilities can impact network resource usage and adaptation to network\n");
document.write("features may impact the Web resource representation. Due to the heterogeneity\n");
document.write("of devices, services and network protocols, it is mandatory to find techniques\n");
document.write("and innovative systems that are capable of adapting (customizing) the same\n");
document.write("multimedia content and/or Web service to different client devices, still\n");
document.write("preserving its semantic attributes.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">The conversion task is implemented by software\n");
document.write("applications, called transcoders, which are able to filter and convert\n");
document.write("information. A video transcoder can resize, change color palette, format and\n");
document.write("compression type (e.g., from GIF to JPEG or from AVI to MPEG), transmit only\n");
document.write("selected spots, single frames or part of them. A text transcoder can summarize\n");
document.write("the textual content, apply various style sheets to XML documents, and transform\n");
document.write("HTML objects into <a href=\"http://www.wapforum.org/what/technical.htm\">WML\n");
document.write("objects</a> for wireless devices. There are several transcoders that can adapt\n");
document.write("textual resources to wireless devices. A list of HTML to WML converters is\n");
document.write("available at the <a href=\"http://dataconv.org/apps_wap.html\">Dataconv.org Web\n");
document.write("site</a></p>\n");
document.write("\n");
document.write("<p><br /></p>\n");
document.write("\n");
document.write("<table cellpadding=\"10\" border=\"1\" align=\"center\" width=\"70%\">\n");
document.write("<tr>\n");
document.write("<td align=\"justify\"><b>Examples</b> \n");
document.write("\n");
document.write("<p><a href=\"http://dataconv.org/apps_wap.html\">h2w</a> is a Java-based\n");
document.write("converter that can download HTML pages from remote Web sites and converts\n");
document.write("on-the-fly HTML code into a fully WML-compliant code. It can also handle\n");
document.write("special cases, such as splitting long HTML documents that would exceed the size\n");
document.write("limit of WML pages.</p>\n");
document.write("\n");
document.write("<p>The Online WBMP Converter by Teraflops Ltd. is another interesting tool to\n");
document.write("convert images to formats that are suitable to WAP-enabled Web browsers. (site\n");
document.write("no longer available as of 2 June 2006)</p>\n");
document.write("</td>\n");
document.write("</tr>\n");
document.write("</table>\n");
document.write("\n");
document.write("<br />\n");
document.write("\n");
document.write("<p align=\"justify\">Intelligent transcoding systems can extract the most\n");
document.write("meaningful information from a video, and compress data while maintaining its\n");
document.write("semantic value (for example, by keeping all details on moving objects and\n");
document.write("limiting background information, according to the MPEG4 and MPEG7 standards). A\n");
document.write("content filter may discard images or transcode them in textual description if\n");
document.write("the information has to be delivered to a device that can only visualize text,\n");
document.write("it may eliminate or compress all the objects larger than a given size for low\n");
document.write("bandwidth connections and so on.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">If we look at the content, we can distinguish two main\n");
document.write("classes of transformations for both device- and network-oriented transcoding:\n");
document.write("\"within\" media types (e.g., changing size and color depth of an image\n");
document.write("or converting from JPEG to GIF format); \"between\" media types (e.g.,\n");
document.write("from speech to text, from video item to a set of images).</p>\n");
document.write("\n");
document.write("<p><br />\n");
document.write("</p>\n");
document.write("\n");
document.write("<table cellpadding=\"10\" border=\"1\" align=\"center\" width=\"70%\">\n");
document.write("<tr>\n");
document.write("<td align=\"justify\"><b>Example</b> \n");
document.write("\n");
document.write("<p><a href=\"http://www.khelekore.org/rabbit/\">RabbIT</a> is a proxy server\n");
document.write("aiming to limit the amount of data transmitted over the last mile. It may be\n");
document.write("configured to reduce quality of images (converting large GIF images to\n");
document.write("low-quality JPEG) and to compress text streams.</p>\n");
document.write("</td>\n");
document.write("</tr>\n");
document.write("</table>\n");
document.write("\n");
document.write("<code><br />\n");
document.write("</code> \n");
document.write("\n");
document.write("<h1><a id=\"3\" name=\"3\">3. Adaptation Architectures</a></h1>\n");
document.write("\n");
document.write("<p align=\"justify\">Independently of the type of adaptation, it is a\n");
document.write("common belief that the ubiquitous Web requires resource intensive operations\n");
document.write("that place significant overhead on CPU and/or disk if compared to the delivery\n");
document.write("of traditional Web resources. For example, efficient adaptation and delivery\n");
document.write("imply several functions, such as replication and caching of resources, client\n");
document.write("request management and lookup, adaptation (including transcoding and\n");
document.write("personalization). Hence, the first question is where to place all these\n");
document.write("functionalities. We have three main possibilities because the complexity of the\n");
document.write("ubiquitous Web is increasing the tendency of passing from the traditional\n");
document.write("client/server paradigm of network-based services to multi-tier interactions. In\n");
document.write("particular, we can now recognize at least the following categories:\n");
document.write("content/service consumer, content/service provider, and a third-party\n");
document.write("intermediary.</p>\n");
document.write("\n");
document.write("<h2><a id=\"3.1\" name=\"3.1\">3.1 Client-side solutions</a></h2>\n");
document.write("\n");
document.write("<p align=\"justify\">The client has been proposed as a platform for\n");
document.write("adaptation services. However, it should be clear that not every type of\n");
document.write("adaptation can be deployed through a client-side approach. Let us consider the\n");
document.write("four classes of adaptation services presented in the previous\n");
document.write("section.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Device-oriented transcoding and state-less\n");
document.write("personalization may be affected by technological constraints, but not by\n");
document.write("information constraints, because their adaptation process requires limited\n");
document.write("additional information that is or can be made accessible at the client side.\n");
document.write("Client-side adaptation requires the device and the operating system of the\n");
document.write("client platform to be integrated with adaptation capabilities, but the storage\n");
document.write("and processing power characteristics of the client devices introduce a\n");
document.write("significant limitation on client-based content personalization. Hence, it is\n");
document.write("unlikely to carry out the most complex tasks requiring large amount of storage\n");
document.write("and CPU power (e.g. translation, virus scanning or multimedia resource\n");
document.write("manipulation/transcoding) on client devices characterized by insufficient\n");
document.write("memory and CPU capacity (e.g., smartphones).</p>\n");
document.write("\n");
document.write("<p align=\"justify\">While state-less personalization and device-oriented\n");
document.write("transcoding are feasible on the client, if the resource constraints of the\n");
document.write("physical device are satisfied, state-aware personalization and network-oriented\n");
document.write("transcoding are not viable solutions on the client side. The motivations are\n");
document.write("quite different.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Network-oriented transcoding services on the client\n");
document.write("are feasible but in most cases it is useless to provide some form of adaptation\n");
document.write("due to client connectivity, after the delivery of the resource to the\n");
document.write("client.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">An additional logical hindering prevents client-side\n");
document.write("adaptation for state-aware personalization services. Although it is possible to\n");
document.write("keep the user profile information (also) on the client device, it is impossible\n");
document.write("to have on the clients all archives and databases that are necessary to produce\n");
document.write("personalized Web content.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Not all the community appreciates client-side\n");
document.write("solutions because they do not save network resources and assume that all client\n");
document.write("devices have enough CPU and memory capacity for providing local adaptation.\n");
document.write("Another problem of client-side solutions is that taking into account the\n");
document.write("extreme variability in computational power and connection bandwidth of the\n");
document.write("modern devices prevents a device-transparent access [<a\n");
document.write("href=\"#JHE99\">JHE99</a>].</p>\n");
document.write("\n");
document.write("<p align=\"justify\">However, there is no doubt that some pros exist. For\n");
document.write("example, the design of the service provider platform is facilitated by the fact\n");
document.write("that the software has not to be designed for taking care of client and\n");
document.write("connection attributes. Many client-side proposals and some operating solutions\n");
document.write("already exist, such as the Client Side Include (CSI) technology [<a\n");
document.write("href=\"#RXDK03\">RXDK03</a>], or fat clients. Another example of client-based\n");
document.write("transcoding is represented by the Windows CE operating system that provides a\n");
document.write("color depth reduction feature. This function is useful to improve the\n");
document.write("presentation of high-quality images on low-color displays of mobile devices,\n");
document.write("such as PDAs and cellular phones.</p>\n");
document.write("\n");
document.write("<h2><a id=\"3.2\" name=\"3.2\">3.2 Service provider-side\n");
document.write("solutions</a></h2>\n");
document.write("\n");
document.write("<p align=\"justify\">Adaptation services carried out by the platform of the\n");
document.write("service provider are potentially not affected by any information and technology\n");
document.write("constraint. (Just some management choice may lead to a decision of limiting the\n");
document.write("software and computational power of the service provider platform.) Moreover,\n");
document.write("server-side solutions allow an additional alternative for service adaptation\n");
document.write("that we call <i>on-the-fly</i> or <i>off-line</i> solutions.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">In off-line adaptation the content transformation is\n");
document.write("generated when the resource is created or updated. This often involves a human\n");
document.write("designer to hand-tailor the content to some specific requirements. The multiple\n");
document.write("variants of the same resources are stored in the server and selected to match\n");
document.write("the client specification. State-less personalization can be deployed through an\n");
document.write("off-line approach if the user profiles can be easily described according to a\n");
document.write("reasonable number of categories. For example, a bilingual site is a typical\n");
document.write("case where an off-line approach may be convenient. Indeed an off-line approach\n");
document.write("is often preferred in this case, because on-the-fly translation technologies\n");
document.write("are not yet reliable and human supervision is required. The HTTP protocol\n");
document.write("provides the Accept-Language: header that can be used by most browsers to\n");
document.write("express user language preferences. The Web server can select the right version\n");
document.write("of the content file by parsing the HTTP headers.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">State-aware personalization such as adaptation of the\n");
document.write("content to the user navigation mode or user interests is difficult or\n");
document.write("impossible to be carried out through an off-line approach because user\n");
document.write("characteristics cannot be described in terms of a few well known categories.\n");
document.write("Moreover, the off-line approach is unsuitable when the content is dynamically\n");
document.write("generated or highly volatile.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">On-the-fly adaptation services remain the most viable\n");
document.write("solution at the provider-side: transcoded and personalized content is generated\n");
document.write("just before delivering the resource to the client. This solution has the\n");
document.write("maximum flexibility and generality, and frees the provider from creating in\n");
document.write("advance and keeping consistent multiple versions of its resources.</p>\n");
document.write("\n");
document.write("<p><br />\n");
document.write("</p>\n");
document.write("\n");
document.write("<table cellpadding=\"10\" border=\"1\" align=\"center\" width=\"70%\">\n");
document.write("<tr>\n");
document.write("<td align=\"justify\"><b>Examples</b> \n");
document.write("\n");
document.write("<p><a\n");
document.write("href=\"http://www-306.ibm.com/software/pervasive/transcoding_publisher/\">IBM\n");
document.write("WebSphere Transcoding Publisher</a> can be used for server-side adaptation of\n");
document.write("Web resources to formats that are suitable to mobile devices.</p>\n");
document.write("\n");
document.write("<p>A similar service is provided by the <a\n");
document.write("href=\"http://www.ianywhere.com/products/mobile_enterprise_ag.html\">iAnywhere\n");
document.write("Enterprise Server</a> that, after the acquisition of <a\n");
document.write("href=\"http://www.avantgo.com/\">AvantGo</a>, can manage a portal for wireless\n");
document.write("clients.</p>\n");
document.write("</td>\n");
document.write("</tr>\n");
document.write("</table>\n");
document.write("\n");
document.write("<br />\n");
document.write("<p align=\"justify\">On-the-fly adaptation allows both transcoding and state-less\n");
document.write("personalization, and it represents the only viable solution to handle\n");
document.write("state-aware personalization. The drawback is intuitive: on-the-fly adaptation\n");
document.write("may require significant computing power in addition to that of generating and\n");
document.write("delivering traditional Web-based services. Hardware resources (CPU power and\n");
document.write("disk capacity) of a single server platform can be easily exhausted by\n");
document.write("adaptation services. The need for computing power is widely documented in\n");
document.write("literature because there are many operations behind an adaptation service,\n");
document.write("including accepting and dynamically classifying client requests, providing\n");
document.write("transcoding and personalization, hosting and continuously updating the\n");
document.write("repository of user preferences, and so on.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">The replication of computing resources over a local area is\n");
document.write("the first solution to address the performance issues related to on-the-fly\n");
document.write("adaptation. It is common to have a service provided-side solution based on a\n");
document.write("platform of multiple nodes connected through a fast LAN (also called Web-based\n");
document.write("cluster [<a href=\"#CCCY02\">CCCY02</a>]). However, LAN-based systems do not\n");
document.write("solve every scalability problem related to efficient generation, adaptation and\n");
document.write("delivery of resources when the Web site is highly popular. The first evident\n");
document.write("problem that affects local-based solutions is the network link connecting the\n");
document.write("server(s) of the provider to the Internet, that can represent the system\n");
document.write("bottleneck and a dangerous single point of failure.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">The replication of the server nodes over a geographical area\n");
document.write("represents the further architectural evolution to address availability and\n");
document.write("scalability issues. A WAN-based system (also called geographically distributed\n");
document.write("Web system) typically consists of multiple Web-based clusters that are\n");
document.write("distributed over different Autonomous Systems possibly spanning different\n");
document.write("continents. It is worth to observe that just few large providers can afford to\n");
document.write("handle by themselves the complex issues of managing WAN-based systems for\n");
document.write("generation, adaptation and delivery of their Web-based services. The most\n");
document.write("common alternative is switching from WAN-based provider-side solutions to\n");
document.write("intermediary-based architectures.</p>\n");
document.write("\n");
document.write("<h2><a id=\"3.3\" name=\"3.3\">3.3 Intermediary-based architectures</a></h2>\n");
document.write("\n");
document.write("<p align=\"justify\">A typical trend to face the augmented complexity of\n");
document.write("network-based services is that of replacing the traditional client/server\n");
document.write("paradigm with multi-tier architectures. This is also the case of the services\n");
document.write("for the ubiquitous Web that often include a content/service consumer, an\n");
document.write("intermediary server and a content/service provider. This intermediate node,\n");
document.write("historically known as <i>proxy server</i>, has evolved through many forms, most\n");
document.write("of them related to caching. More recently, the community refers to this\n");
document.write("intermediate node with multiple definitions, such as <i>edge server</i>,\n");
document.write("<i>surrogate server</i>, <i>secondary server</i> with the implicit meaning that\n");
document.write("it can support active functionalities beyond caching in network locations that\n");
document.write("are closer to the client. This infrastructure of intermediate nodes is also at\n");
document.write("the basis of the Content Delivery Network (CDN) companies.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Intermediary-based adaptation services seem the most viable\n");
document.write("solutions for the ubiquitous Web. The main motivation is practical. The large\n");
document.write("majority of new devices and client applications are facilitated by an access to\n");
document.write("Web-based services that are mediated by some intermediate node. In\n");
document.write("intermediary-based adaptation service most work is carried out by the nodes\n");
document.write("placed between the platform of the provider and the client and can take\n");
document.write("advantage of caching of already adapted resources. There are many products and\n");
document.write("projects available of which we report a significant subset.</p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>The <a href=\"http://www.almaden.ibm.com/cs/wbi/\">Web Intermediaries</a>\n");
document.write("(WBI) is a flexible and powerful infrastructure for intermediary-based\n");
document.write("adaptation. Request processing is based on pipes connecting elements with\n");
document.write("different functions. Each element can extract user preferences from client\n");
document.write("requests, generate or modify HTTP responses or even execute actions in response\n");
document.write("to external events. As each element of the pipe is a Java class, the adaptation\n");
document.write("functions are modular and flexible, ranging from transcoding to state-less and\n");
document.write("state-aware adaptation. Moreover, the WBI can use Java remote method invocation\n");
document.write("mechanisms to distribute and parallelize operations on server clusters.</li>\n");
document.write("\n");
document.write("<li>The <a href=\"http://ninja.cs.berkeley.edu/\">Ninja project</a> aims to\n");
document.write("provide a framework for scalable, highly available, ubiquitous and customizable\n");
document.write("services. The architecture is not designed only for Web adaptation, but to\n");
document.write("provide a complete set of functionalities that should allow the user to\n");
document.write("download and compose multiple modules, and personalize his services. The Ninja\n");
document.write("project addresses explicitly the issues related to state-aware and state-less\n");
document.write("personalization by introducing two consistency models: <i>soft state</i> allows\n");
document.write("data replication and a certain degree of inconsistency/inaccuracy; <i>hard\n");
document.write("state</i> handles data replication in a more centralized and controlled way to\n");
document.write("avoid inconsistencies.</li>\n");
document.write("\n");
document.write("<li>Other intermediary-based solutions for adaptation are more specialized. For\n");
document.write("example, the <a href=\"http://www.khelekore.org/rabbit/\">RabbIT</a> proxy server\n");
document.write("can be used for some simple transcoding and state-less personalization\n");
document.write("functions (e.g., reduction of image quality, compression and URL filtering),\n");
document.write("but it does not provide complex state-aware services.</li>\n");
document.write("\n");
document.write("<li><a href=\"http://www.gedanken.demon.co.uk/wwwoffle/\">WWWOffle</a> is an\n");
document.write("intermediary-based system for simple state-less adaptation. A proxy-server\n");
document.write("addresses the issues related to Web access on nodes that are not constantly\n");
document.write("connected to the Web and that may have scarce available bandwidth. The project\n");
document.write("was born for managing dial-up connections, but its addressed issues are common\n");
document.write("to ubiquitous Web accesses. WWWOffle supports URL filtering to remove banners\n");
document.write("and images, pro-active cache content validation and prefetching as well as HTML\n");
document.write("editing to remove embedded Flash animation or Java applets to optimize\n");
document.write("bandwidth utilization. It also manages an off-line operation mode that can mask\n");
document.write("connectivity losses. This feature is particularly interesting in the case of\n");
document.write("mobile users that are still subject to unreliable network connections.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p align=\"justify\">Intermediary-based adaptation architectures can be\n");
document.write("classified according to the entity operating the intermediate infrastructure\n");
document.write("and to its relationship with the content/service provider. There are three main\n");
document.write("cases:</p>\n");
document.write("\n");
document.write("<ol type=\"1\">\n");
document.write("<li value=\"1\" type=\"1\">The intermediary infrastructure is operated by an\n");
document.write("independent third party that manages the adaptation and delivery process for\n");
document.write("all Web resources.</li>\n");
document.write("\n");
document.write("<li value=\"2\" type=\"1\">The intermediary infrastructure is operated by a third\n");
document.write("party company on behalf of its customer content/service providers. The\n");
document.write("adaptation and delivery process is limited to the resources of their customers.\n");
document.write("This is the case of CDN companies, such as <a\n");
document.write("href=\"http://www.akamai.com/\">Akamai</a> and <a\n");
document.write("href=\"http://www.speedera.com/\">Speedera</a>.</li>\n");
document.write("\n");
document.write("<li value=\"3\" type=\"1\">The intermediary infrastructure is operated directly by\n");
document.write("the content/service provider for its resources. We have already pointed out\n");
document.write("that few providers find convenient to operate by themselves a geographically\n");
document.write("distributed infrastructure, but some examples exist for highly popular Web\n");
document.write("sites.</li>\n");
document.write("</ol>\n");
document.write("\n");
document.write("<p align=\"justify\">We can aggregate the last two cases because, from the point\n");
document.write("of view of the control on resources and number of resources to be managed,\n");
document.write("there are not many differences between a content/service provider that besides\n");
document.write("its site manages a set of edge servers or reverse proxies distributed over the\n");
document.write("world and a third party company that principally operates thousands of edge\n");
document.write("servers and manages the adaptation and delivery of the resources of its\n");
document.write("customer providers. Hence, we restrict the analysis to two intermediary-based\n");
document.write("architectures for adaptation:</p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li><i>Custom intermediary infrastructures</i> that aim to improve adaptation\n");
document.write("and delivery performance for a specific subset of Web resources on which they\n");
document.write("have full control. The strict relationship between the content/service provider\n");
document.write("and the intermediate infrastructure allows a close interaction of the\n");
document.write("adaptation and delivery services with resource replication strategies and the\n");
document.write("semantics of the Web-based services. A custom intermediate solution allows this\n");
document.write("infrastructure to deploy any type of adaptation, even if some differences exist\n");
document.write("between state-aware personalization services and transcoding and state-less\n");
document.write("personalization services. The deployment of adaptation services, such as\n");
document.write("state-less personalization and transcoding can take full advantage of the\n");
document.write("highly distributed and replicated nature of intermediate architectures of\n");
document.write("cooperative nodes. On the other hand, it is impossible to replicate all\n");
document.write("state-aware personalization services among the servers of the intermediate\n");
document.write("infrastructure. The problems do not derive from the replication of the\n");
document.write("personalization algorithms, but from the distribution of the information on\n");
document.write("which these algorithms should operate. The well known problems related to\n");
document.write("information replication over some units (e.g., caching [<a\n");
document.write("href=\"#FCAB00\">FCAB00</a>], database management [<a href=\"#GHOS96\">GHOS96</a>])\n");
document.write("affect the possibility of multiplying services requiring dynamic content\n");
document.write("generation. Moreover, it seems impracticable to replicate information about\n");
document.write("users profiles and preferences stored on the origin servers of the providers at\n");
document.write("each secondary server. The motivation is twofold. The user information may be\n");
document.write("highly volatile, hence it is very difficult to guarantee its consistency among\n");
document.write("geographically distributed nodes. Moreover, a user profile database that is\n");
document.write("necessary to achieve personalized services is often characterized by a\n");
document.write("commercial value and privacy requirements. Hence, no content/service provider\n");
document.write("likes its replication over hundreds or thousands of nodes because of security\n");
document.write("and privacy concerns.</li>\n");
document.write("\n");
document.write("<li><i>Independent intermediary infrastructures</i> that work for all Web\n");
document.write("resources but do not control any of them. The adaptation service is provided by\n");
document.write("the infrastructure as a service to the Web users for any resource. This also\n");
document.write("means that content and information replication is not directed by the providers\n");
document.write("but by client requests, according to a pull strategy. The reduced interaction\n");
document.write("of the third party operating the service delivery infrastructure with content\n");
document.write("providers allows most forms of transcoding services, but increases the\n");
document.write("complexity of providing personalization because the infrastructure has to\n");
document.write("figure out in an indirect way the nature and the semantics of Web resources.\n");
document.write("This problem affects both state-less and state-aware personalization services.\n");
document.write("The reduced direct interaction with the service provider can be solved when Web\n");
document.write("resources are accompanied by metadata providing additional information on the\n");
document.write("resource content and its semantics, such as in <i>server-directed\n");
document.write("adaptation</i> [<a href=\"#KLMH03\">KLMH03</a>].</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p align=\"justify\">Let us now focus on the architectures of this independent\n");
document.write("intermediate infrastructure for adaptation. We have to consider that adaptation\n");
document.write("services are computationally expensive and cause a significant increment of\n");
document.write("circulating Web objects. As there are many client types and many adaptation\n");
document.write("mechanisms, the intermediary infrastructure has to deal with several versions\n");
document.write("of the same resource. This explosion of the Web working set has a considerable\n");
document.write("impact on caching strategies and resource lookup mechanisms. If we exclude the\n");
document.write("single server case, the most viable architectural evolution is represented by\n");
document.write("the local replication of hardware resources that replace single nodes with\n");
document.write("clusters of servers (e.g., [<a href=\"#MSL99\">MSL99</a>]).</p>\n");
document.write("\n");
document.write("<p align=\"justify\">An important architectural evolution is represented by the\n");
document.write("idea of allowing some forms of cooperation among the nodes of the intermediate\n");
document.write("infrastructure. This form of cooperation has been widely studied in the context\n");
document.write("of Web caching, but few authors have investigated it in the context of\n");
document.write("adaptation services [<a href=\"#CYH00\">CYH00</a>, <a\n");
document.write("href=\"#CCCL+03\">CCCL+03</a>]. It has been demonstrated that collaboration\n");
document.write("allows a more effective lookup phase in client request service and that a\n");
document.write("higher cache hit rate for already adapted resources has a positive effect in\n");
document.write("reducing computation load due to adaptations. Even more important from the\n");
document.write("research point of view is that a cooperative distributed system allows an\n");
document.write("impressive number of mapping alternatives of the adaptation-related functions\n");
document.write("to the nodes, that have not yet been investigated. At the extremes we have\n");
document.write("architectures where each node implements all previous functions, and\n");
document.write("architectures with two or three categories of specialized nodes, each of them\n");
document.write("implementing a different subset of the previous functions. We may also have\n");
document.write("hybrid infrastructures that allows a mix of the previous two schemes where some\n");
document.write("functions are partitioned, while others are replicated.</p>\n");
document.write("\n");
document.write("<h1><a id=\"4\" name=\"4\">4. Research Directions</a></h1>\n");
document.write("\n");
document.write("<p align=\"justify\">Ubiquitous Web opens many research issues and just a little\n");
document.write("subset concerning the system architectures for providing adaptation services\n");
document.write("has been investigated in this paper. As usual, no solution is the best for all\n");
document.write("the possible variants of adaptation. However, it should be clear that\n");
document.write("transcoding and state-less personalization services have received much more\n");
document.write("attention than state-aware personalization. Whether (and how) is it possible to\n");
document.write("escape from the server-side personalization scheme, that is affected by\n");
document.write("scalability problem, remains one of the most interesting research issues.</p>\n");
document.write("\n");
document.write("<p align=\"justify\">Most client-side approaches, intermediary-based\n");
document.write("architectures and hybrid schemes remain to be investigated. In particular,\n");
document.write("intermediary infrastructures consisting of cooperative nodes denote a field yet\n");
document.write("to be explored. Extreme replication of resources is not a viable solution for\n");
document.write("every type of adaptation because it introduces security and consistency\n");
document.write("problems. On the other hand, purely centralized architectures show scalability\n");
document.write("problems. Moreover due to the wide range of adaptation services, replication\n");
document.write("can be a suitable solution only for a subset of adaptation operations. There\n");
document.write("are many questions yet to be answered. When is replication useful for\n");
document.write("adaptation? Which resources should be replicated? And to which extent? How can\n");
document.write("we distribute the many different functions underlying an adaptation service\n");
document.write("over the nodes of the intermediate infrastructure? Which architecture is most\n");
document.write("suitable to each type of adaptation?</p>\n");
document.write("\n");
document.write("<p align=\"justify\">A further research direction derives from the observation\n");
document.write("that all considered architectural options assume a well-known infrastructure of\n");
document.write("nodes that are available most of the time. A radical shift of the research\n");
document.write("paradigm assumes, instead, a non-organized infrastructure of nodes that may\n");
document.write("join and leave the service infrastructure in a dynamic way, as it usually\n");
document.write("occurs in overlay peer-to-peer networks. It seems interesting to investigate\n");
document.write("how a dynamically changing infrastructure can impact performance and\n");
document.write("characteristics of \"traditional\" intermediary-based architectures, and\n");
document.write("also to evaluate how self-organization properties of peer-to-peer networks can\n");
document.write("be exploited to improve availability and information consistency.</p>\n");
document.write("\n");
document.write("<h1><a id=\"ref\" name=\"ref\">References</a></h1>\n");
document.write("\n");
document.write("<dl>\n");
document.write("<dt><a id=\"CCCL+03\" name=\"CCCL+03\">[CCCL+03]</a></dt>\n");
document.write("\n");
document.write("<dd>C. Canali, V. Cardellini, M. Colajanni, R. Lancellotti, P. S. Yu, \"<a\n");
document.write("href=\"http://claudius.ce.uniroma2.it/publications/iwcw2003.pdf\">Cooperative\n");
document.write("architectures and algorithms for discovery and transcoding of multi-version\n");
document.write("content</a>\", Proc. of the 8th International Workshop on Web Content\n");
document.write("Caching and Distribution (WCW03), Sep., 2003.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"CCCY02\" name=\"CCCY02\">[CCCY02]</a></dt>\n");
document.write("\n");
document.write("<dd>V. Cardellini, E. Casalicchio, M. Colajanni, P. S. Yu, \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/508352.508355\">The state of the art in locally\n");
document.write("distributed Web-server systems</a>\", ACM Computing Surveys, 34(2), June\n");
document.write("2002.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"CYH00\" name=\"CYH00\">[CYH00]</a></dt>\n");
document.write("\n");
document.write("<dd>V. Cardellini, P.S. Yu, Y.-W. Huang, \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/354756.354861\">Collaborative Proxy Systems for\n");
document.write("Distributed Web Content Transcoding</a>\", Proc. of 9th Int\'l ACM Conf. on\n");
document.write("Information and Knowledge Management, Washington, DC, Nov. 2000.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"FCAB00\" name=\"FCAB00\">[FCAB00]</a></dt>\n");
document.write("\n");
document.write("<dd>L. Fan, P. Cao, J. Almeida, A. Z. Broder. \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/343571.343572\">Summary Cache: a Scalable Wide\n");
document.write("Area Web Cache Sharing Protocol</a>\", IEEE/ACM Trans. on Networking, 8(3),\n");
document.write("June 2000.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"Gart00\" name=\"Gart00\">[Gart00]</a></dt>\n");
document.write("\n");
document.write("<dd>Gartner Inc., <a\n");
document.write("href=\"http://www4.gartner.com/5_about/press_room/pr20000911b.html\">Gartner\n");
document.write("Identifies Challenges of Emerging Supranet Environmement</a>, Press release,\n");
document.write("2000.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"GHOS96\" name=\"GHOS96\">[GHOS96]</a></dt>\n");
document.write("\n");
document.write("<dd>J. Gray, P. Helland, P. E. O\'Neil, D. Shasha, \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/233269.233330\">The Dangers of Replication and\n");
document.write("a Solution</a>\", Proc. of the 1996 ACM SIGMOD International Conference on\n");
document.write("Management of Data, June 1996.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"JHE99\" name=\"JHE99\">[JHE99]</a></dt>\n");
document.write("\n");
document.write("<dd>J. Jing, A. Helal, A. Elmagarmid, \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/319806.319814\">Client-server computing in\n");
document.write("mobile environments</a>\", ACM Computing Surveys, 31(2), June 1999.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"KLMH03\" name=\"KLMH03\">[KLMH03]</a></dt>\n");
document.write("\n");
document.write("<dd>B. Knutsson, H. Lu, J. Mogul, B. Hopkins, \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/945846.945850\">Architecture and Performance of\n");
document.write("Server-Directed Transcoding</a>\", ACM Transactions on Internet Technology\n");
document.write("(TOIT), Vol. 3, No. 4, Nov. 2003.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"MSL99\" name=\"MSL99\">[MSL99]</a></dt>\n");
document.write("\n");
document.write("<dd>R. Mohan, J.R. Smith, C.-S. Li, \"<a\n");
document.write("href=\"http://www.research.ibm.com/networked_data_systems/transcoding/Publications/ieeemm.pdf\">\n");
document.write("Adapting multimedia Internet content for universal access</a>\", IEEE Trans.\n");
document.write("on Multimedia, Vol. 1, No. 1, Mar. 1999.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"RH04\" name=\"RH04\">[RH04]</a></dt>\n");
document.write("\n");
document.write("<dd>J.T. Richards, V.L. Hanson, \"<a\n");
document.write("href=\"http://www.research.ibm.com/people/v/vlh/p292WWW2004.pdf\">Web\n");
document.write("accessibility: A broader view</a>\", Proc. of the 13th Int. World Wide Web\n");
document.write("Conference, May 2004.</dd>\n");
document.write("\n");
document.write("<dt><a id=\"RXDK03\" name=\"RXDK03\">[RXDK03]</a></dt>\n");
document.write("\n");
document.write("<dd>M. Rabinovich, Z. Xiao, F. Douglis, C. Kalmaneck, \"<a\n");
document.write("href=\"http://www.usenix.org/events/usits03/tech/rabinovich.html\">Moving\n");
document.write("Edge-Side Includes to the real edge -- The Clients</a>\" , Proc. of the 4th\n");
document.write("USENIX Symposium on Internet Technologies and Systems (USITS), 2003.</dd>\n");
document.write("</dl>\n");
document.write("\n");
document.write("<h1><a id=\"reading\" name=\"reading\">Further reading</a></h1>\n");
document.write("\n");
document.write("<p><b>Web caching architectures and Content Delivery Networks</b></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>B.D. Davison, <a\n");
document.write("href=\"http://www.web-caching.com/\">http://www.web-caching.com/</a>.</li>\n");
document.write("\n");
document.write("<li>M. Rabinovich, O. Spatscheck, \"<a\n");
document.write("href=\"http://www.amazon.com/exec/obidos/tg/detail/-/0201615703/104-7603568-9487111?v=glance\">\n");
document.write("Web Caching and Replication</a>\", Addison Wesley, 2002.</li>\n");
document.write("\n");
document.write("<li>D. Wessels, \"<a\n");
document.write("href=\"http://www.amazon.com/exec/obidos/tg/detail/-/156592536X/ref=pd_bxgy_text_1/104-7603568-9487111?v=glance&s=books&st=*\">\n");
document.write("Web caching</a>\", O\'Reilly 2001.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p><b>Caching issues in adaptation</b></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>C.-Y. Chang, M.-S. Chen, \"<a\n");
document.write("href=\"http://csdl.computer.org/comp/trans/td/2003/06/l0611abs.htm\">On exploring\n");
document.write("aggregate effect for efficient cache replacement in transcoding\n");
document.write("proxies</a>\", IEEE Transactions on Parallel Distributed Systems, Vol. 14,\n");
document.write("No. 6, June 2003.</li>\n");
document.write("\n");
document.write("<li>B. Shen, S-J. Lee, S. Basu, \"<a\n");
document.write("href=\"http://ieeexplore.ieee.org/xpl/abs_free.jsp?isNumber=28542?=JNL&arnumber=1275467&arSt=+375&ared=+386&arAuthor=+Shen%2C+B.%3B++Lee%2C+S.-J.%3B++Basu%2C+S.&arNumber=1275467&a_id0=1275465&a_id1=1275466&a_id2=1275467&a_id3=1275468&a_id4=1275469&a_id5=1275470&count=6\">\n");
document.write("Caching strategies in transcoding-enabled proxy systems for streaming media\n");
document.write("distribution networks</a>\", IEEE Transactions on Multimedia, Vol. 6, No. 2,\n");
document.write("Apr. 2004.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p><b>Issues in transcoding and personalization</b></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>S. Chandra, C.S. Ellis, \"<a\n");
document.write("href=\"http://www.usenix.org/events/usits99/chandra.html\">JPEG compression\n");
document.write("metric as a quality-aware image transcoding</a>\", Proc. of USENIX 2nd Symp.\n");
document.write("on Internet Technology and Systems, Oct. 1999.</li>\n");
document.write("\n");
document.write("<li>S. Chandra, C.S. Ellis, A. Vahdat, \"<a\n");
document.write("href=\"http://ieeexplore.ieee.org/xpl/abs_free.jsp?isNumber=19450?=JNL&arnumber=898736&arSt=2544&ared=2565&arAuthor=Chandra%2C+S.%3B+Ellis%2C+C.S.%3B+Vahdat%2C+A.&arNumber=898736&a_id0=898732&a_id1=898733&a_id2=898734&a_id3=898735&a_id4=898736&a_id5=898737&a_id6=898738&a_id7=898739&a_id8=898740&a_id9=898741&a_id10=898743&a_id11=898745&a_id12=898747&a_id13=898749&a_id14=898750&count=15\">\n");
document.write("Application-level differentiated multimedia Web services using quality aware\n");
document.write("transcoding</a>\", IEEE Journal on Selected Areas in Communication, Vol. 18,\n");
document.write("No. 12, Dec. 2000.</li>\n");
document.write("\n");
document.write("<li>B.D. Noble, L. Li, A. Prakash, \"<a\n");
document.write("href=\"http://csdl.computer.org/comp/proceedings/hotos/1999/0237/00/02370070abs.htm\">\n");
document.write("The case for better throughput estimation</a>\", Proc. of 7th Workshop on\n");
document.write("Hot Topics in Operating Systems, Rio Rico, AZ, Mar 1999.</li>\n");
document.write("\n");
document.write("<li>D. Saha, A. Mukherjee, \"<a\n");
document.write("href=\"http://csdl.computer.org/comp/mags/co/2003/03/r3025abs.htm\">Pervasive\n");
document.write("computing: A paradigm for the 21st Century</a>\", IEEE Computer, Vol. 36,\n");
document.write("No. 3, Mar. 2003.</li>\n");
document.write("\n");
document.write("<li>G.C. Vanderheiden, \"<a\n");
document.write("href=\"http://trace.wisc.edu/docs/aaa/aaa.htm\">Anywhere, anytime(+ anyone)\n");
document.write("access to the next-generation WWW</a>\", Computer Networks and ISDN Systems,\n");
document.write("Vol. 29 , No. 8-13, Sep. 1997.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p><b>Adaptation services for mobile users</b></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>B.C. Housel, G. Samaras, D.B. Lindquit, \"<a\n");
document.write("href=\"http://wireless.kluweronline.com/c/journal_articles/329061\">WebExpress: A\n");
document.write("client/intercept based system for optimizing Web browsing</a>\", ACM/Baltzer\n");
document.write("Journal of Mobile Networking and Applications (MONET), Vol. 3, 1998.</li>\n");
document.write("\n");
document.write("<li>B.N. Schilit, N. Adams, R. Want, \"<a\n");
document.write("href=\"http://seattleweb.intel-research.net/people/schilit/wmc-94-schilit.pdf\">Context-aware\n");
document.write("computing applications</a>\", Proc. of IEEE Workshop on Mobile Computing\n");
document.write("Applications, Dec. 1994.</li>\n");
document.write("\n");
document.write("<li>W. Shi, K. Shah, Y. Mao, V. Chaudhary, \"<a\n");
document.write("href=\"http://www.cs.wayne.edu/~weisong/papers/shi03-tuxedo.pdf\">Tuxedo: A\n");
document.write("peer-to-peer caching system</a>\", Proc. of PDPTA, 2003.</li>\n");
document.write("\n");
document.write("<li>Wireless Application Protocol Forum, \"<a\n");
document.write("href=\"http://www.wapforum.org/\">Wireless Application Protocol</a>\", June\n");
document.write("2000.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p><b>Service provider-based adaptation architectures</b></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>T.F. Abdelzaher, N. Bhatti, \"<a\n");
document.write("href=\"http://www8.org/w8-papers/4c-server/web/web.pdf\">Web content adaptation\n");
document.write("to improve server overload behavior</a>\", Proc. of 8th Int. World Wide Web\n");
document.write("Conference, Toronto, Canada, May 1999.</li>\n");
document.write("\n");
document.write("<li>J. Challanger, A. Iyengar, K. Witting, C. Ferastat, P. Reed, \"<a\n");
document.write("href=\"http://www.cs.duke.edu/~junyang/courses/cps296.1-2002-spring/papers/CIWFR-INFOCOMM2000.pdf\">\n");
document.write("A publishing system for efficiently creating dynamic Web content</a>\",\n");
document.write("Proc. of IEEE Infocom 2000, Jan. 2000.</li>\n");
document.write("\n");
document.write("<li>S. Chandra, C. Schalter Ellis, A. Vahdat, \"<a\n");
document.write("href=\"http://ieeexplore.ieee.org/xpl/abs_free.jsp?isNumber=19450?=JNL&arnumber=898736&arSt=2544&ared=2565&arAuthor=Chandra%2C+S.%3B+Ellis%2C+C.S.%3B+Vahdat%2C+A.&arNumber=898736&a_id0=898732&a_id1=898733&a_id2=898734&a_id3=898735&a_id4=898736&a_id5=898737&a_id6=898738&a_id7=898739&a_id8=898740&a_id9=898741&a_id10=898743&a_id11=898745&a_id12=898747&a_id13=898749&a_id14=898750&count=15\">\n");
document.write("Application-level differentiated multimedia Web services using quality aware\n");
document.write("transcoding</a>\", IEEE Journal on Selected Areas in Communication, Vol. 18,\n");
document.write("No. 12, Dec. 2000.</li>\n");
document.write("\n");
document.write("<li>L. Degenaro, A. Iyengar, I. Lipkind, I. Rouvellou, \"<a\n");
document.write("href=\"http://portal.acm.org/citation.cfm?id=338285&dl=ACM&coll=portal\">A\n");
document.write("middleware system which intelligently caches query results</a>\", Proc. of\n");
document.write("IFIP/ACM Int. Conference on Distributed Systems Platforms (Middleware\'00),\n");
document.write("2000.</li>\n");
document.write("\n");
document.write("<li>A. Fox, S.D. Gribble, Y. Chawathe, E.A. Brewer, P. Gauthier, \"<a\n");
document.write("href=\"http://portal.acm.org/citation.cfm?id=266662&dl=ACM&coll=portal\">Cluster-based\n");
document.write("scalable network services</a>\", Proc. of 16th ACM Symp. on Operating\n");
document.write("Systems, Design and Implementation (SOSP), 1997.</li>\n");
document.write("\n");
document.write("<li>A. Fox, S.D. Gribble, Y. Chawathe, E. A. Brewer, \"<a\n");
document.write("href=\"http://scholar.google.com/url?sa=U&q=http://seattle.intel-research.net/people/yatin/publications/docs/adaptation.ps.gz\">\n");
document.write("Adapting to network and client variation using active proxies: Lessons and\n");
document.write("perspectives</a>\", IEEE Personal Communications, Vol. 5, No. 4, Aug.\n");
document.write("1998.</li>\n");
document.write("</ul>\n");
document.write("\n");
document.write("<p><b>Intermediary-based adaptation architectures</b></p>\n");
document.write("\n");
document.write("<ul>\n");
document.write("<li>S. Ardon, P. Gunninberg, B. Landefelft, Y. Ismailov, M. Portmann, S.\n");
document.write("Sereviatne, \"<a\n");
document.write("href=\"http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=103019969&PLACEBO=IE.pdf\">\n");
document.write("MARCH: A distributed content adaptation architecture</a>\", Intl. Journal of\n");
document.write("Communication Systems, Special Issue on Wireless Access to the Global Internet:\n");
document.write("Mobile Radio Networks and Satellite Systems, 2003.</li>\n");
document.write("\n");
document.write("<li>M. Dikaiakos, \"<a\n");
document.write("href=\"http://www.cs.ucy.ac.cy/mdd/publ/iscc02.pdf\">Intermediaries for the World\n");
document.write("Wide Web: Overview and classification</a>\", Proc. of the 7th IEEE Symp. on\n");
document.write("Computers and Communications, Taormina, Italy, June 2002.</li>\n");
document.write("\n");
document.write("<li>The eRACE project: <a\n");
document.write("href=\"http://www.cs.ucy.ac.cy/Projects/eRACE/\">http://www.cs.ucy.ac.cy/Projects/eRACE/</a>.</li>\n");
document.write("\n");
document.write("<li>R. Han, P. Bhagwat, R. LaMaire, T. Mummert, V. Perret, J. Rubas, \"<a\n");
document.write("href=\"http://ieeexplore.ieee.org/xpl/abs_free.jsp?isNumber=15881?=JNL&arnumber=736473&arSt=8&ared=17&arAuthor=Han%2C+R.%3B+Bhagwat%2C+P.%3B+LaMaire%2C+R.%3B+Mummert%2C+T.%3B+Perret%2C+V.%3B+Rubas%2C+J.&arNumber=736473&a_id0=736473&a_id1=736474&a_id2=736475&a_id3=736476&a_id4=736477&a_id5=736478&count=6\">\n");
document.write("Dynamic adaptation in an image transcoding proxy for mobile WWW\n");
document.write("browsing</a>\", IEEE Personal Communications, Vol. 5, No. 6, Dec. 1998.</li>\n");
document.write("\n");
document.write("<li>P. Maglio, R. Barrett \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/345124.345158\">Intermediaries personalize\n");
document.write("information streams</a>\", Communications of the ACM, Vol. 43 No. 8, Aug.\n");
document.write("2000.</li>\n");
document.write("\n");
document.write("<li>A. Maheshwari, A. Sharma, K. Ramamritham, P. Shenoy, \"<a\n");
document.write("href=\"http://csdl.computer.org/comp/proceedings/ride/2002/1480/00/14800050abs.htm\">\n");
document.write("TransSquid: Transcoding and caching proxy for heterogeneous e-commerce\n");
document.write("environments</a>\", Proc. of 12th IEEE Int. Workshop on Research Issues in\n");
document.write("Data Engineering, Feb. 2002.</li>\n");
document.write("\n");
document.write("<li>Open Pluggable Edge Services, <a\n");
document.write("href=\"http://standards.nortelnetworks.com/opes/index.htm\">http://standards.nortelnetworks.com/opes/index.htm</a>.</li>\n");
document.write("\n");
document.write("<li>H. Rao, Y. Chen, D. Chang, M. Chen \"<a\n");
document.write("href=\"http://doi.acm.org/10.1145/381472.381483\">iMobile: A proxy-based platform\n");
document.write("for mobile services</a>\", Proc. of the 1st Workshop on Wireless Mobile\n");
document.write("Internet (WMI2001).</li>\n");
document.write("\n");
document.write("<li>M. Rabinovich, Z. Xiao, A. Aggarwal, \"<a\n");
document.write("href=\"http://2003.iwcw.org/papers/rabinovich.pdf\">Computing on the edge: A\n");
document.write("platform for replicating Internet applications</a>\", Proc. of the 8th\n");
document.write("International Workshop on Web Content Caching and Distribution (WCW03), Sep.\n");
document.write("2003.</li>\n");
document.write("\n");
document.write("<li>A. Singh, A. Trivedi, K. Ramamritham, P. Shenoy, \"<a\n");
document.write("href=\"http://csdl.computer.org/comp/proceedings/wise/2002/1766/00/17660011abs.htm\">\n");
document.write("PTC: Proxies that Transcode and Cache in heterogeneous Web client\n");
document.write("environments</a>\", Proc. of 3rd Int. Conf. on Web Information Systems\n");
document.write("Engineering, Dec. 2002.</li>\n");
document.write("</ul>\n");
document.write("\n");
