16513442
DotSlash: Handling Web Hotspots at Dynamic Content Web Sites
We propose DotSlash, a self-configuring and scalable rescue system, for handling web hotspots at dynamic content Web sites. To support load migration for dynamic content, an origin Web server sets up needed rescue servers drafted from other Web sites on the fly, and those rescue servers retrieve the scripts dynamically from the origin Web server, cache the scripts locally, and access the corresponding database server directly. We have implemented a prototype of DotSlash for the LAMP configuration, and tested our implementation using the RUBBoS bulletin board benchmark. Experiments show that by using DotSlash a dynamic content web site can completely remove its web server bottleneck, and can support a request rate constrained only by the capacity of its database server.
9589474
DotSlash: A Self-Configuring and Scalable Rescue System for Handling Web Hotspots Effectively
DotSlash allows different web sites to form a mutual-aid community, and use spare capacity in the community to relieve web hotspots experienced by any individual site. As a rescue system, DotSlash intervenes when a web site becomes heavily loaded, and is phased out once the workload returns to normal. It aims to complement the existing web server infrastructure to handle short-term load spikes effectively. DotSlash is self-configuring, scalable, cost-effective, easy to use, and transparent to clients. It targets small web sites, although large web sites can also benefit from it. We have implemented a prototype of DotSlash on top of Apache. Experiments show that using DotSlash a web server can increase the request rate it supported and the data rate it delivered to clients by an order of magnitude, even if only HTTP redirect is used. Parts of this work may be applicable to other services such as Grid computational services.
45502875
DotSlash - Creating Content Distribution Networks on Demand
Traditional content distribution networks, such as Akamai, are well-suited for static web services that routinely experience large traffic volumes. They are unsuited for active content, i.e., content generated by scripts from databases, and web sites that are unlikely to receive significant number of requests. However, a few such sites will invariably experience their "fifteen minutes of fame", typically by being mentioned on a high-volume news site such as SlashDot or CNN. Such flashcrowds or "slashdot effect" will routinely cause single-server websites to collapse. We have designed and prototyped an autonomic web replication system, called DotSlash, that drafts rescue servers fully automatically, without user intervention. The system discovers suitable rescue servers via wide-area service location, either among peer servers or from a dedicated pool of rescue servers, allocates them for temporary use and redirects requests to them. The system is completely transparent to clients and does not require URL rewriting or other client modifications. We have designed two versions. The first, an Apache extension, deals only with static content, e.g., HTML pages or media objects. The second version can also replicate and execute scripts remotely. We have prototyped the system for the common LAMP (Linux, Apache, MySQL and PHP) configuration and shown that a common benchmark for bulletin boards can be replicated without code changes, yielding capacity increases bounded only by the database server. Since many such systems, including most blogs, are bottlenecked by the web server, our system can significantly increase capacity and works even for extremely rapid load increases. We are currently investigating how such systems can be further extended by increasing the database capacity of read-mostly systems with loose consistency constraints.
30153007
Selective anti-entropy
Anti-entropy [1] is an important mechanism to achieve eventual consistency among a set of replicas. We refer to traditional antientropy [2, 3] as complete anti-entropy, where two replicas reconcile all inconsistent states between them in a two-way session or two one-way sessions. Complete anti-entropy works well in full replications, but may cause a summary problem (a replica cannot summarize its received updates using a summary vector) in partial replications (where the state set is divided into subsets referred to as scopes). To avoid the summary problem, we propose to use selective anti-entropy, which is to selectively reconcile inconsistent states between two replicas in a session, i.e., a replica specifies the subsets of updates it solicits, and thus controls what it receives from another replica. In selective anti-entropy, all updates that are initially received by the same replica R= belong to the same s u b s e t / ~ . The subset of a state is determined by the last update applied to it. A selective anti-entropy session where R¢ requests new updates in -P~i, Rx2, .... R~ k from R~ is denoted as O(R~, {/:/=~, Rx2, ..., R=k }, R~). We distinguish four types of selective anti-entropy sessions (listed in Figure 1) based on the number of subsets requested and whether the session is direct or indirect. We assume that a replica R¢ does not request updates in ~ from other replicas. A session is direct if it only requests updates in R--~ from R= (e.g., O___(R~, { ~ } , R~)), otherwise the session is indirect (e.g., O(R=, {1-~u}, R~)) or mixed (e.g., O(_R=, {R~, R~}, R~)). A select-multiple or select-all session can be viewed as comprising k (k >_ 2) select-one sessions, in which at most one is select-one-direct session, and the rest are select-one-indirect sessions. A select-all session is equivalent to a complete anti-entropy session. An anti-entropy session is safe if it will not cause the summary problem. A replica can always choose safe sessions by using selective anti-entropy. Any select-one-direct anti-entropy session, such as O(R=, {R~}, R~), is safe. A select-one-indirect anti-entropy session O(R=, {R-~y}, R~) is safe if S(R=) A S(Ru) C_ S(R~), where S(R=), S(Ru) and S(Rz) denote the scopes of Re, Rv and R~, respectively. In other words, if S(R=) n S(Ru) D S(R=), O(R=, {R-~}, Rz) may cause the summary problem. In Figure 2, for example, O(Ra, {R1}, R6) is safe because S(Ra) N S(R1) = {$1, $2} = S(R6) , but O(R3, {R6}, R2) may not be safe since
2261294
Predicting the Upper Bound of Web Traffic Volume Using a Multiple Time Scale Approach
This paper presents a prediction algorithm for estimating the upper bound of future Web traffic volume. Unlike traditional traffic predictions that are performed at a single time scale using curve fitting, we employ a multiple time scale approach and utilize traffic statistical properties to do forecasting. We have applied our prediction algorithm to the 1998 World Cup data set. Experiments show that it is effective for short term traffic bound predictions, applicable to bursty traffic, and useful for Web server overload prevention.
16064988
Enhancing Service Location Protocol for efficiency, scalability and advanced discovery
This paper presents three new mechanisms for the Service Location Protocol (SLP): mesh enhancement, preference filters and global attributes. The mesh enhancement simplifies Service Agent (SA) registrations and improves consistency among Directory Agents (DAs) by defining an interaction scheme for DAs and supporting automatic registration distribution among peer DAs. Preference filters facilitate processing of search results (e.g., finding the best match) in SLP servers (DAs and SAs) to reduce the amount of data transferred to the client for saving network bandwidth. Global attributes allow using a single query to search services across multiple types. These mechanisms can improve SLP efficiency and scalability and support advanced discovery such as discovering multi-access-point services and multi-function devices. We expect that these techniques can also be applied to other service discovery systems.
5741503
A new scheme on privacy-preserving data classification
We address privacy-preserving classification problem in a distributed system. Randomization has been the approach proposed to preserve privacy in such scenario. However, this approach is now proven to be insecure as it has been discovered that some privacy intrusion techniques can be used to reconstruct private information from the randomized data tuples. We introduce an algebraic-technique-based scheme. Compared to the randomization approach, our new scheme can build classifiers more accurately but disclose less private information. Furthermore, our new scheme can be readily integrated as a middleware with existing systems.
5322268
Fault-tolerant real-time communication in FDDI-based networks
FDDI-Based Reconfigurable Networks have an architecture that is suitable for delivering messages that have hard real-time constraints as well as certain fault-tolerance requirements. This architecture uses multiple FDDI networks to connect hosts and provides for automatic reconfiguration to maintain high network bandwidth in spite of faults. An important open problem is how resources in such networks should be managed in order to guarantee that the fault-tolerant real-time requirements of messages are met. This paper presents an efficient and practical solution to this problem. Our solution consists of off-line and on-line components. On-line management deals with run-time manipulation of messages and network resources. A message grouping approach simplifies on-line management. Off-line management deals with message grouping, bandwidth allocation and schedulability verification. Three approaches are investigated: spatial redundancy, temporal redundancy and an integrated approach. It is shown that the integrated approach has the best performance. Our solution is compatible with the FDDI and SAFENET standards.
11577356
Efficient Internet Multicast Routing Using Anycast Path Selection
A novel efficient and dynamic multicast routing protocol based on anycast routing techniques is presented. The contributions of the protocol differ from well-known shared-tree systems in two aspects: (1) Off-tree anycast routing: The nodes in the shared tree are formed into a virtual anycast group and multicast sources use anycast routing to select a better path from the source to one router in the group to achieve short delay and fault-tolerance. (2) On-tree dynamic routing: The shared-tree approach is extended with capability of alternative path selections. If a node becomes absent from the shared tree, some predefined backup path(s) is (are) used to bypass the node and enable dynamic multicast routing to continue. The protocol requires only the routers near the faulty node to be reconfigured, thus reducing the runtime overhead as compared with global reconfiguration. The simulation data demonstrates the efficiency of our routing protocol.
12760716
Making Web services dependable
Web services offer great promise for integrating and automating software applications within and between enterprises over the Internet. However, ensuring that Web services are dependable, and can satisfy their clients' requests when the clients need them is a real challenge because, typically, a business activity involves multiple Web services and a Web service involves multiple components, each of which must be dependable. In this paper, we describe fault tolerance techniques, including replication, checkpointing, and message logging, in addition to reliable messaging and transaction management for which Web services specifications exist. We discuss how those techniques can be applied to the components of the Web services involved in the business activities to render them dependable.
9212782
A reservation-based coordination protocol for Web services
Traditional transaction semantics are not appropriate for business activities that involve long-running transactions in a loosely-coupled distributed environment, in particular, for Web services that operate between different enterprises over the Internet. In this paper we describe a novel reservation-based extended transaction protocol that can be used to coordinate such business activities. The protocol avoids the use of compensating transactions, which can result in undesirable effects. In our protocol, each task within a business activity is executed as two steps. The first step involves an explicit reservation of resources. The second step involves the confirmation or cancellation of the reservation. Each step is executed as a separate traditional short-running transaction. We show how our protocol can be implemented as a reservation protocol on top of the Web services transaction specification or, alternatively, as a coordination protocol on top of the Web services coordination specification.