waashk/dblp huggingface dataset:
nps: a non-interfering deployable web prefetching system. we present nps, a novel non-intrusive web prefetching system that (1) utilizes only spare resources to avoid interference between prefetch and demand requests at the server as well as in the network , and (2) is deployable without any modifications to servers, browsers, network or the http protocol. nps's self-tuning architecture eliminates the need for traditional "thresholds" or magic numbers typically used to limit interference caused by prefetching, thereby allowing applications to improve benefits and reduce the risk of aggressive prefetching. nps avoids interference with demand requests by monitoring the responsiveness of the server and accordingly throttling the prefetch aggressiveness, and by using tcp-nice, a congestion control protocol suitable for low priority transfers. nps avoids the need to modify existing infrastructure by modifying html pages to include javascripttm code that issues prefetch requests and by wrapping the server infrastructure with several simple external modules that require no knowledge of or no modifications to the internals of existing servers. our measurements of the prototype under a web trace indicate that nps is both non-interfering and efficient under different network load and server load conditions. for example, in our experiments with a loaded server with little spare capacity, we observe that a threshold-based prefetching scheme causes response times to increase by a factor of 2 due to interference, whereas prefetching using nps decreases response times by 25%.
using random subsets to build scalable network services. in this paper, we argue that a broad range of large-scale network services would benefit from a scalable mechanism for delivering state about a random subset of global participants. key to this approach is ensuring that membership in the subset changes periodically and with uniform representation over all participants. random subsets could help overcome inherent scaling limitations to services that maintain global state and perform global network probing. it could further improve the routing performance of peer-to-peer distributed hash tables by locating topologically-close nodes. this paper presents the design, implementation, and evaluation of ransub, a scalable protocol for delivering such state. as a first demonstration of the ransub utility, we construct saro, a scalable and adaptive application-layer overlay tree. saro uses ransub state information to locate appropriate peers for meeting application-specific delay and bandwidth targets and to dynamically adapt to changing network conditions. a large-scale evaluation of 1000 overlay nodes participating in an emulated 20,000- node wide-area network topology demonstrate both the adaptivity and scalability (in terms of per-node state and network overhead) of both ransub and saro. finally, we use an existing streaming media server to distribute content through saro running on top of the planetlab internet testbed.
a flexible and efficient application programming interface (api) for a customizable proxy cache. this paper describes the design, implementation, and performance of a simple yet powerful application programming interface (api) for providing extended services in a proxy cache. this api facilitates the development of customized content adaptation, content management, and specialized administration features. we have developed several modules that exploit this api to perform various tasks within the proxy, including a module to support the internet content adaptation protocol (icap) without any changes to the proxy core. the api design parallels those of high-performance servers, enabling its implementation to have minimal overhead on a high-performance cache. at the same time, it provides the infrastructure required to process http requests and responses at a high level, shielding developers from low-level http and socket details and enabling modules that perform interesting tasks without significant amounts of code. we have implemented this api in the portable and high-performance imimic datareactortm proxy cache1. we show that implementing the api imposes negligible performance overhead and that realistic content-adaptation services achieve high performance levels without substantially hindering a background benchmark load running at a high throughput level.
rainman: a workflow system for the internet. as individuals and enterprises get interconnected via global networks, workflows that scale beyond traditional organizational boundaries and execute seamlessly across these networks will become relevant. we address the problem of designing a scalable workflow infrastructure for the internet that supports both flexibility in workflow participation and interoperability between heterogeneous workflow system components. rainman is a distributed workflow system developed in java that lives naturally on the internet. rainman is a loosely-coupled collection of independent services that cooperate with each other rather than a monolithic system. some of the useful features of rainman are browser-based workflow specification, participation, and management, and dynamic workflow modification. the rainman system is based on rainmaker, our generic workflow framework that defines a core set of well-defined interfaces for workflow components.
study of piggyback cache validation for proxy caches in the world wide web. this paper presents work on piggyback cache validation (pcv), which addresses the problem of maintaining cache coherency for proxy caches. the novel aspect of our approach is to capitalize on requests sent from the proxy cache to the server to improve coherency. in the simplest case, whenever a proxy cache has a reason to communicate with a server it piggybacks a list of cached, but potentially stale, resources from that server for validation. trace-driven simulation of this mechanism on two large, independent data sets shows that pcv both provides stronger cache coherency and reduces the request traffic in comparison to the time-to-live (ttl) based techniques currently used. specifically, in comparison to the best ttl-based policy, the best pcv-based policy reduces the number of request messages from a proxy cache to a server by 16-17% and the average cost (considering response latency, request messages and bandwidth) by 6-8%. moreover, the best pcv policy reduces the staleness ratio by 57-65% in comparison to the best ttl-based policy. additionally, the pcv policies can easily be implemented within the http 1.1 protocol.
exploring the bounds of web latency reduction from caching and prefetching. prefetching and caching are techniques commonly used in i/o systems to reduce latency. many researchers have advocated the use of caching and prefetching to reduce latency in the web. we derive several bounds on the performance improvements seen from these techniques, and then use traces of web proxy activity taken at digital equipment corporation to quantify these bounds. we found that for these traces, local proxy caching could reduce latency by at best 26%, prefetching could reduce latency by at best 57%, and a combined caching and prefetching proxy could provide at best a 60% latency reduction. furthermore, we found that how far in advance a prefetching algorithmwas able to prefetch an object was a significant factor in its ability to reduce latency. we note that the latency reduction from caching is significantly limited by the rapid changes of objects in the web. we conclude that for the workload studied caching offers moderate assistance in reducing latency. prefetching can offer more than twice the improvement of caching but is still limited in its ability to reduce latency.
rapid reverse dns lookups for web servers. when a web server wants to learn the domain name of one of its clients, it must perform a lookup in the domain name system's "reverse domain", inaddr.arpa. these lookups can take time and may have an adverse impact on the web server's response to its clients. rapid dns is an intermediate client/server system that operates between a web server and a dns server. it provides caching of the results and, more importantly, limits web server lookups to the data contained in the cache. this provides a significant improvement in response time for situations in which knowledge of the hostname is not critical to the web server's operation. the rapid dns system was implemented for use in the web farm that serves the collection of cable news network (cnn) sites. its design is presented, along with measurements of its performance in the cnn environment.
bit: a tool for instrumenting java bytecodes. bit (bytecode instrumenting tool) is a collection of java classes that allow one to build customized tools to instrument java virtual machine (jvm) bytecodes. because understanding program behavior is an essential part of developing effective optimization algorithms, researchers and software developers have built numerous tools that carry out program analysis. although there are existing tools that analyze and modify executables on a variety of operating systems and machine architectures, there currently is no framework for carrying out the same task for jvm bytecodes. in this paper, we describe bit, which allows the user to insert calls to analysis methods anywhere in the bytecode, so that information can be extracted from the user program while it is being executed. in this paper, we describe several simple tools built using bit and also report on bit's performance. we found that the overhead for the execution speed and size were between 23% to 150%.
scalable web caching of frequently updated objects using reliable multicast. frequently updated web objects reduce the benefit of caching, increase the problem of cache inconsistency, and aggravate the inefficiency of the conventional "repeated unicast" delivery model. in this paper, we investigate multicast invalidation and delivery of popular, frequently updated objects to web cache proxies. our protocol, mmo, groups objects into volumes, each of which maps to one ip multicast group. we show that, by forming volumes of the appropriate size and/or object correlation, the benefit from reliable multicast outweighs the cost of delivering extraneous data as well as the overhead of multicast reliability. moreover, trace-driven simulations show that the bandwidth saving over conventional approaches increases significantly as the audience size grows. we conclude that mmo provides efficient bandwidth utilization and service scalability, and makes strong web cache consistency for dynamic objects practical.
alleviating the latency and bandwidth problems in www browsing. this work addresses three problems that are associated with web browsing: (a) low bandwidth available to the end user who is connected via slow modems or outdoor wireless networks, (b) long and variable latencies in document access, and (c) temporary disconnections of mobile users. three techniques are used with a variety of heuristics in order to overcome these problems: (a) profiling user and group access patterns and using these profiles in order to pre-fetch documents, (b) filtering http requests and responses in order to reduce data transmission over bottleneck links, and (c) hoarding documents based on user profiles in order to support limited web browsing even during disconnection. in this paper, we describe the design and implementation of a www proxy-based system that incorporates the above techniques. we describe our experiences with the proxy system, and present performance results that show an improvement in the experience of web browsing using this system.
salamander: a push-based distribution substrate for internet applications. the salamander distribution system is a wide-area network data dissemination substrate that has been used daily for over a year by several groupware and webcasting internet applications. specifically, salamander is designed to support push-based applications and provides a variety of delivery semantics. these semantics range from basic data delivery, used by the internet performance measurement and analysis (ipma) project, to collaborative group communication used by the upper atmospheric research collaboratory (uarc) project. the salamander substrate is designed to accommodate the large variation in internet connectivity and client resources through the use of application-specific plug-in modules. these modules provide a means for placing application code throughout the distribution network, thereby allowing the application to respond to network and processor resource constraints near their bottlenecks. the delivery substrate can be tailored by an application for use with a heterogeneous set of clients. for example the ipma and uarc projects send and receive data from: java applets and applications; perl, c and c++ applications; and unix and windows 95/nt clients. this paper illustrates the architecture and design of the salamander system driven by the needs of its set of current applications. the main architectural features described include: the data distribution mechanism, persistent data queries, negotiated push-technology, resource announcement and discovery, and support for application-level quality of service policies.
creating a personal web notebook. this paper introduces a tool, called nabbit, to go from the world-wide web to your own web. nabbit uses a copy-and-paste paradigm, adapted to the way the web is used, to provide a convenient personal notebook. while browsing, users can select, with the mouse, any part of an html page they are looking at, and nabbit will copy that part with the original format -- images, forms, links and all -- to their own pages. the source, date, and even personal comments are copied as well. collection of information becomes as simple as "here's what i want -- click -- i got it." nabbit can be used to write reports interleaved with web content, maintain extended hot lists (with your own comments and even parts of pages), collect selected hits from search results, and much more.
the search broker. the current search facilities on the web are amazingly powerful, but they are still lacking. taking the whole universe as one flat data space and searching it with keywords has inherent limitations of scale. the challenge is to provide users with ways to focus their search better without making it too difficult or too inefficient. we introduce a method of conducting search on the web that is based on a two-level search idea. it strikes a balance between flat global search and specialized databases, and gives users convenient access to vast amounts of information.
symphony: distributed hashing in a small world. we present symphony, a novel protocol for maintaining distributed hash tables in a wide area network. the key idea is to arrange all participants along a ring and equip them with long distance contacts drawn from a family of harmonic distributions. through simulation, we demonstrate that our construction is scalable, flexible, stable in the presence of frequent updates and offers small average latency with only a handful of long distance links per node. the cost of updates when hosts join and leave is small.
web facts and fantasy. there is a great deal of research about improving web server performance and building better, faster servers, but little research in characterizing servers and the load imposed upon them. while some tremendously popular and busy sites, such as netscape.com, playboy.com, and altavista.com, receive several million hits per day, most servers are never subjected to loads of this magnitude. this paper presents the analysis of internet web server logs for a variety of different types of sites. we present a taxonomy of the different types of web sites and characterize their access patterns and, more importantly, their growth. we then use our server logs to address some common perceptions about the web. we show that, on a variety of sites, contrary to popular belief, the use of cgi does not appear to be increasing and that long latencies are not necessarily due to server loading. we then show that, as expected, persistent connections are generally useful, but that dynamic time-out intervals may be unnecessarily complex and that allowing multiple persistent connections per client may actually hinder resource utilization compared to allowing only a single persistent connection.
secondary storage management for web proxies. world-wide web proxies are being increasingly used to provide internet access to users behind a firewall and to reduce wide-area network traffic. recent results suggest that disk i/o is increasingly becoming the limiting factor for the performance of web proxies. in this paper we study the overheads associated with disk i/o for web proxies, and propose secondary storage management alternatives that improve performance. we use a combination of experimental evaluation and simulation based on traces from busy web proxies. we show that web proxies experience significant overheads due to disk i/o. we propose several file management methods that reduce the disk i/o overhead overhead by a factor of 25 overall, resulting in a single-disk service rate that exceeds 500 (url-get) operations per second.
lightweight security primitives for e-commerce. emerging applications in electronic commerce often involve very low-cost transactions, which execute in the context of ongoing, extended client-server relationships. for example, consider a website (server) which offers repeated authenticated personalized stock quotes to each of its subscribers (clients). the value of a single transaction (e.g., delivery of a web-page with a customized set of quotes) does not warrant the cost of executing a handshake and key distribution protocol. also, a client might not always use the same machine during such an extended relationship (e.g., a pc at home, a laptop on a trip). typical transport/session-layer security mechanisms such as ssl and s-http either require handshake/key distribution for each transaction or do not support client mobility. we propose a new security framework for extended relationships between clients and servers, based on persistent shared keys. we argue that this is a preferred model for inexpensive transactions executing within extended relationships. our main contribution is the design and implementation of a set of lightweight application-layer primitives, for (1) generating and maintaining persistent shared keys without requiring a client to store any information between transactions and (2) securing a wide range of web-transactions (e.g., subscription, authenticated and/or private delivery of information, receipts) with adequate computational cost. our protocols require public key infrastructure only for servers/vendors, and its usage only once per client (upon first interaction).
moving edge-side includes to the real edge - the clients. edge-side includes (esi) is an open mark-up language that allows content providers to break their pages into fragments with individual caching characteristics. a page is reassembled from esi fragments by a content delivery network (cdn) at an edge server, which selectively downloads from the origin content server only those fragments that are necessary (as opposed to the entire page). this is expected to reduce the load and bandwidth requirements of the content server. this paper proposes an esi-compliant approach in which page reconstruction occurs at the browser rather than the cdn. unlike page assembly at the network edge, csi optimizes content delivery over the last mile, which is where the true bottleneck often is. we call the client-based approach client-side includes, or csi.
scriptroute: a public internet measurement facility. we present scriptroute, a system that allows ordinary internet users to conduct network measurements from remote vantage points. we seek to combine the flexibility found in dedicated measurement testbeds such as nimi with the general accessibility and popularity of web-based public traceroute servers. to use scriptroute, clients use dns to discover measurement servers and then submit a measurement script for execution in a sandboxed, resource-limited environment. the servers ensure that the script does not expose the network to attack by applying source- and destination-specific filters and security checks, and by rate-limiting traffic. scriptroute code is publicly available and has been deployed on the planetlab testbed of 42 sites. as proof-of-concept, we have used it both to create rpt, a tool for measuring routing trees toward a destination, and to repeat the experiment used to evaluate gnp, a recently proposed internet distance estimation technique. we find that our system is flexible enough to implement a variety of measurement tools despite its security restrictions, that access to many remote vantage points makes the system valuable, and that scripting is an apt choice for expressing and combining measurement tasks.
person-level routing in the mobile people architecture. ubiquitous network connectivity for devices does not automatically imply continuous reachability for people. people move from place to place and switch from one network device to another. as a result, phones ring in empty offices, email cannot reach most cell phones, and spam clogs expensive, low-bandwidth links to laptops. whereas existing mechanisms have addressed host mobility or the mobility of people within one network, few have allowed people, the ultimate and most important endpoints of communication, to roam freely, without being constrained to one location, one application, one device, or one network. we have designed the mobile people architecture (mpa) to maintain person-to-person reachability. the central component of mpa is a person-level router called the personal proxy. it tracks a mobile person's location, accepts communications on his behalf, converts them into different application formats according to his preferences, and forwards the resulting communications to him. in contrast to similar systems, the personal proxy protects the user's privacy, is easily extensible to new network devices and applications, and has been deployed with no modifications to the existing network and telecommunications infrastructure. in this paper, we describe the design, implementation, and preliminary evaluation of our prototype personal proxy, a service that integrates internet and telephone communication and addresses the need for person-to-person reachability.
sting: a tcp-based network measurement tool. understanding wide-area network characteristics is critical for evaluating the performance of internet applications. unfortunately, measuring the end-to-end network behavior between two hosts can be problematic. traditional icmp-based tools, such as ping, are easy to use and work universally, but produce results that are limited and inaccurate. measurement infrastructures, such as nimi, can produce highly detailed and accurate results, but require specialized software to be deployed at both the sender and the receiver. in this paper we explore using the tcp protocol to provide more accurate network measurements than traditional tools, while still preserving their near-universal applicability. our first prototype, a tool called sting, is able to accurately measure the packet loss rate on both the forward and reverse paths between a pair of hosts. we describe the techniques used to accomplish this, how they were validated, and present our preliminary experience measuring the packet loss rates to and from a variety of web servers.