bluuebunny/crossref_metadata_2025_split huggingface dataset:
Scalable feedback control for multicast video distribution in the Internet
Authors: Bolot Jean-Chrysostome , Turletti Thierry , Wakeman Ian 
Published: October 2004

We describe a mechanism for scalable control of multicast continuous media streams. The mechanism uses a novel probing mechanism to solicit feedback information in a scalable manner and to estimate the number of receivers. In addition, it separates the congestion signal from the congestion control algorithm, so as to cope with heterogeneous networks.
This mechanism has been implemented in the IVS video conference system using options within RTP to elicit information about the quality of the video delivered to the receivers. The H.261 coder of IVS then uses this information to adjust its output rate, the goal being to maximize the perceptual quality of the image received at the destinations while minimizing the bandwidth used by the video transmission. We find that our prototype control mechanism is well suited to the Internet environment. Furthermore, it prevents video sources from creating congestion in the Internet. Experiments are underway to investigate how the scalable proving mechanism can be used to facilitate multicast video distribution to large number of participants.
Improved algorithms for synchronizing computer network clocks
Authors: Mills David L. 
Published: October 2004

The Network Time Protocol (NTP) is widely deployed in the Internet to synchronize computer clocks to each other and to international standards via telephone modem, radio and satellite. The protocols and algorithms have evolved over more than a decade to produce the present NTP Version 3 specification and implementations. Most of the estimated deployment of 100,000 NTP servers and clients enjoy synchronization to within a few tens of milliseconds in the Internet of today.
This paper describes specific improvements developed for NTP Version 3 which have resulted in increased accuracy, stability and reliability in both local-area and wide-area networks. These include engineered refinements of several algorithms used to measure time differences between a local clock and a number of peer clocks in the network, as well as to select the best ensemble from among a set of peer clocks and combine their differences to produce a clock accuracy better than any in the ensemble.
This paper also describes engineered refinements of the algorithms used to adjust the time and frequency of the local clock, which functions as a disciplined oscillator. The refinements provide automatic adjustment of message-exchange intervals in order to minimize network traffic between clients and busy servers while maintaining the best accuracy. Finally, this paper describes certain enhancements to the Unix operating system software in order to realize submillisecond accuracies with fast workstations and networks.
A new technique for generating protocol test
Authors: Sabnani Krishan , Dahbura Anton 
Published: October 2004

A novel procedure presented here generates test sequences for checking the conformity of protocol implementations to their specifications. The test sequences generated by this procedure only detect the presence of many faults, but they do not locate the faults. It can always detect the problem in an implementation with a single fault.
A protocol entity is specified as a finite state machine (FSM). It typically has two interfaces: an interface with the user and with the lower-layer protocol. The inputs from both interfaces are merged into a single set I and the outputs from both interfaces are merged into a single set O. The implementation is assumed to be a black box.
The key idea in this procedure is to tour all states and state transitions and to check a unique signature for each state, called the Unique Input/Output (UIO) sequence. A UIO sequence for a state is an I/O behavior that is not exhibited by any other state.
Technology for managing large packet switching networks (panel session, abstract only)
Authors: Jeannes D. 
Published: October 2004

The evolution of packet switching network technology over the past ten years has been strongly influenced by the dramatic growth of these networks. The ability to control and manage large networks has required many innovations and has been most successful where the growing network itself has provided the mechanisms needed for network management.
This discussion will cover the increasing use of decentralization and parallel operation of functions required to monitor the network, to remotely test and maintain subscriber facilities, to collect billing and statistical data, and to distribute and install new software. Specific problems which require special attention in large network management will be covered; these include time synchronization, routing optimization, and network security.
The SL-10 packet switching system from Northern Telecom is referenced through this discussion as an example of a system which has built on the facilities and technology of the network switching equipment to provide the management function. Since all of the attributes of capacity, availability, reliable communication, configuration flexibility, and security are the same for both packet switching subscribers and network management, using a common base provides real advantages.
The discussion will show how the exclusive use of network terminal interfaces, virtual circuits, and X.25 host interfaces for all management data transfer functions provides the required function with virtually unlimited growth potential. Support of both packet switching and management functions on the same base of processor, storage devices, and software, further extends the benefits of commonality.
Window selection in flow controlled networks
Authors: Geria Mario , Chan H. W. 
Published: October 2004

The end-to-end window scheme is a popular mechanism for flow and congestion control in packet switched networks. The window scheme may be implemented in the transport layer protocol (like in TCP), or in the source-to-destination protocol(like in ARPANET), or in the network layer protocol (like X.25). In many implementations, the window size is chosen at connection set up time.
In this paper, we provide guidelines for window selection. Specifically, we show that if the network becomes overloaded, that is, the offered load exceeds network capacity, then the selection of user windows has a critical impact on individual user throughputs. Thus, user windows should be chosen judiciously, so as to satisfy a well defined “fairness” criterion.
We formulate the optimal window assignment as a mathematical programming problem, and show that the exact solution is computationally impractical because of the combinatorial nature of the problem and the complexity of the underlying multiple chain, closed network of queue model. We then develop a heuristic approach which is computationally very efficient and provides nearly optimal solutions. Numerical results are provided to illustrate and validate the method.
Contrasting characteristics and cache performance of technical and multi-user commercial workloads
Authors: Maynard Ann Marie Grizzaffi , Donnelly Colette M. , Olszewski Bret R. 
Published: October 2004

Experience has shown that many widely used benchmarks are poor predictors of the performance of systems running commercial applications. Research into this anomaly has long been hampered by a lack of address traces from representative multi-user commercial workloads. This paper presents research, using traces of industry-standard commercial benchmarks, which examines the characteristic differences between technical and commercial workloads and illustrates how those differences affect cache performance.
Commercial and technical environments differ in their respective branch behavior, operating system activity, I/O, and dispatching characteristics. A wide range of uniprocessor instruction and data cache geometries were studied. The instruction cache results for commercial workloads demonstrate that instruction cache performance can no longer be neglected because these workloads have much larger code working sets than technical applications. For database workloads, a breakdown of kernel and user behavior reveals that the application component can exhibit behavior similar to the operating system and therefore, can experience miss rates equally high. This paper also indicates that “dispatching” or process switching characteristics must be considered when designing level-two caches. The data presented shows that increasing the associativity of second-level caches can reduce miss rates significantly. Overall, the results of this research should help system designers choose a cache configuration that will perform well in commercial markets.
The effectiveness of multiple hardware contexts
Authors: Thekkath Radhika , Eggers Susan J. 
Published: October 2004

Multithreaded processors are used to tolerate long memory latencies. By executing threads loaded in multiple hardware contexts, an otherwise idle processor can keep busy, thus increasing its utilization. However, the larger size of a multi-thread working set can have a negative effect on cache conflict misses. In this paper we evaluate the two phenomena together, examining their combined effect on execution time.
The usefulness of multiple hardware contexts depends on: program data locality, cache organization and degree of multiprocessing. Multiple hardware contexts are most effective on programs that have been optimized for data locality. For these programs, execution time dropped with increasing contexts, over widely varying architectures. With unoptimized applications, multiple contexts had limited value. The best performance was seen with only two contexts, and only on uniprocessors and small multiprocessors. The behavior of the unoptimized applications changed more noticeably with variations in cache associativity and cache hierarchy, unlike the optimized programs.
As a mechanism for exploiting program parallelism, an additional processor is clearly better than another context. However, there were many configurations for which the addition of a few hardware contexts brought as much or greater performance than a larger multiprocessor with fewer than the optimal number of contexts.
Service specification and protocol construction for the transport layer
Authors: Murphy S. L. , Shankar A. U. 
Published: October 2004

In a computer network, the transport layer uses the service offered by the network layer and in turn offers its users the transport service of reliable connection management and data transfer. We provide a formal specification of the transport service in terms of an event-driven system and safety and progress properties. We construct three verified transport protocols that offer the transport service. The first transport protocol assumes a perfect network service, the second assumes loss-only network service, and the third assumes loss, reordering and duplication network service.
Our transport service specifications are very realistic. Each user can be closed, listening, active opening, passive opening, open, or closing. A local incarnation number uniquely identifies every active opening and listening duration. Users can issue requests for connection, listening, closing, data send, etc. The transport layer issues indications for successful or unsuccessful connection, closing, data reception, etc. A connection is established only if one user requested the connection and the other was listening, or both requested the connection. A user receives data only from the appropriate incarnation of the distant user, and receives it insequence, without loss or duplication. Progress properties ensure that every outstanding user request is eventually responded to by an appropriate transport indication.
Our protocols are constructed by stepwise refinement of the transport service. The construction method automatically generates a verification that the protocols satisfy the transport service. One distinctive feature of our protocol construction is that the events and verification of the data transfer function is directly obtained from any one of the numerous verified single-incarnation data transfer protocols already presented in the literature.
The Sigma network
Authors: Saito K. 
Published: October 2004

The Sigma network is one of the most important element of the Sigma system which is designed to improve productivity of a software.
The Sigma network has been developed in order to establish a infrastructure which acts as development environment provided by logically integrated Sigma workstations spread over various companies and inside the companies which approve the concept of the Sigma system. It is also included in the scope of its development to enrich application programs mainly for message communication required by network community.
The network supports IEEE802.3, digital packet exchange (X.25) and serial line under the TCP/IP layer and realizes end-to-end immediate communication.
Sigma network is a name oriented virtual network defined by hierarchical name space (domain) and named objects placed under the domains. Its key feature lies in the network management mechanism, i.e. Name Server.
A network environment for computer-supported cooperative work
Authors: Whitescarver J. , Mukherji P. , Turoff M. , DeBlock R. J. , Czech R. M. , Paul B. K. 
Published: October 2004

A second generation computer supported cooperative work system called Electronic Information Exchange System (EIES2) is described in this paper. The EIES2 communications environment allows users to network across geographical constraints using asynchronous or synchronous communications. The architecture of the network environment is decentralized, and is implemented using modern standards, and an easy-to-use user interface.
At the heart of EIES2 is a high-level, object oriented pseudo machine which incorporates a distributed, communications-oriented database.
The set of tools provided by the EIES2 communications environment is well suited for implementing group communication systems that have an extensive set of user features built into it. These tools are well suited to support the group communication model described by the AMIGO task force (IFIP 6.5 and ISO TC97/SC18/WG64). The EIES2 application layer protocols, using CCITT/ISO X.410 Remote Operations, support a distributed object oriented database.
Formal specification and validation of ISO transport protocol components, using petri nets
Authors: JÜrgensen Wolfgang , Vuong Son T. 
Published: October 2004

In this paper, we provide the Petri net formal specifications of three important components of the ISO transport protocol: timeout mechanism, data transfer phase and connection establishment and release phases. A validation of these component Petri net specifications is then presented, followed by a discussion of its results.
The validations we conducted made use of a software tool based on OGIVE [1], which can check a given Petri net for general properties such as boundedness, properness and liveness, and designer defined structural properties using Petri net invariants.
We have extended OGIVE to allow for the checking of reception errors and state ambiguities as well.
A logic of authentication
Authors: Burrows M. , Abadi M. , Needham R. 
Published: October 2004

Authentication protocols are the basis of security in many distributed systems, and it is therefore essential to ensure that these protocols function correctly. Unfortunately, their design has been extremely error prone. Most of the protocols found in the literature contain redundancies or security flaws.
A simple logic has allowed us to describe the beliefs of trustworthy parties involved in authentication protocols and the evolution of these beliefs as a consequence of communication. We have been able to explain a variety of authentication protocols formally, to discover subtleties and errors in them, and to suggest improvements. In this paper, we present the logic and then give the results of our analysis of four published protocols, chosen either because of their practical importance or because they serve to illustrate our method.
Spritely NFS: experiments with cache-consistency protocols
Authors: Srinivasan V. , Mogul J. 
Published: October 2004

File caching is essential to good performance in a distributed system, especially as processor speeds and memory sizes continue to improve rapidly while disk latencies do not. Stateless-server systems, such as NFS, cannot properly manage client file caches. Stateful systems, such as Sprite, can use explicit cache consistency protocols to improve both cache consistency and overall performance.
By modifying NFS to use the Sprite cache consistency protocols, we isolate the effects of the consistency mechanism from the other features of Sprite. We find dramatic improvements on some, although not all, benchmarks, suggesting that an explicit cache consistency protocol is necessary for both correctness and good performance.
Lightweight remote procedure call
Authors: Bershad B. , Anderson T. , Lazowska E. , Levy H. 
Published: October 2004

Lightweight Remote Procedure Call (LRPC) is a communication facility designed and optimized for communication between protection domains on the same machine.
In contemporary small-kernel operating systems, existing RPC systems incur an unnecessarily high cost when used for the type of communication that predominates — between protection domains on the same machine. This cost leads system designers to coalesce weakly-related subsystems into the same protection domain, trading safety for performance. By reducing the overhead of same-machine communication, LRPC encourages both safety and performance.
LRPC combines the control transfer and communication model of capability systems with the programming semantics and large-grained protection model of RPC. LRPC achieves a factor of three performance improvement over more traditional approaches based on independent threads exchanging messages, reducing the cost of same-machine communication to nearly the lower bound imposed by conventional hardware.
LRPC has been integrated into the Taos operating system of the DEC SRC Firefly multiprocessor workstation.
Generic virtual memory management for operating system kernels
Authors: Abrossimov E. , Rozier M. , Shapiro M. 
Published: October 2004

We discuss the rationale and design of a Generic Memory management Interface, for a family of scalable operating systems. It consists of a general interface for managing virtual memory, independently of the underlying hardware architecture (e.g. paged versus segmented memory), and independently of the operating system kernel in which it is to be integrated. In particular, this interface provides abstractions for support of a single, consistent cache for both mapped objects and explicit I/O, and control of data caching in real memory. Data management policies are delegated to external managers.
A portable implementation of the Generic Memory management Interface for paged architectures, the Paged Virtual Memory manager, is detailed. The PVM uses the novel history object technique for efficient deferred copying. The GMI is used by the Chorus Nucleus, in particular to support a distributed version of Unix. Performance measurements compare favorably with other systems.
The revised ARPANET routing metric
Authors: Khanna A. , Zinky J. 
Published: October 2004

The ARPANET routing metric was revised in July 1987, resulting in substantial performance improvements, especially in terms of user delay and effective network capacity. These revisions only affect the individual link costs (or metrics) on which the PSN (packet switching node) bases its routing decisions. They do not affect the SPF (“shortest path first”) algorithm employed to compute routes (installed in May 1979). The previous link metric was packet delay averaged over a ten second interval, which performed effectively under light-to-moderate traffic conditions. However, in heavily loaded networks it led to routing instabilities and wasted link and processor bandwidth.
The revised metric constitutes a move away from the strict delay metric: it acts similar to a delay-based metric under lightly loads and to a capacity-based metric under heavy loads. It will not always result in shortest-delay paths. Since the delay metric produced shortest-delay paths only under conditions of light loading, the revised metric involves giving up the guarantee of shortest-delay paths under light traffic conditions for the sake of vastly improved performance under heavy traffic conditions.
Experience with Grapevine (Summary)
Authors: Schroeder Michael D. , Birrell Andrew D. , Needham Roger M. 
Published: October 2004

Grapevine is a distributed, replicated system that provides message delivery, naming, authentication, resource location, and access control services in an internet of computers. The system, described in a previous paper [1], was designed and implemented several years ago. We now have had operational experience with the system under substantial load. This experience has proved the original design sound in most aspects, but there also have been some surprises. In this paper we report what we have learned from using Grapevine. Our experience may offer some help to designers of new systems.
Grapevine is implemented as a program that is run on a set of dedicated server computers. Client programs o f Grapevine run on various workstation and server computers attached to an internet. The services provided by Grapevine are divided into the message service and the registration service.
The message service accepts messages prepared by clients for delivery to individual recipients and distribution lists. Messages are buffered in inboxes on message servers until the recipient requests them. Any message server can accept any message for delivery, thus providing a replicated submission service. A computer system mall user has inboxes on at least two message servers, thus replicating the delivery path for the user.
On a laboratory for the study of automating programming
Authors: Cheatham T. E. , Wegbreit Ben 
Published: October 2004

At the present time there is considerable interest in the general question of “automating programming:” there are a number of people actively doing research concerned with various aspects of the question and even a few projects exploring various practical issues via experimental implementations. The area encompassed by “automating programming” is a very broad one, particularly if one understands “programming” to include the entire spectrum of activities concerned with producing algorithms which are correct and effective in terms of certain design specifications. It is therefore to be expected that comparison of various techniques and integration of those techniques and the experimental facilities developed in a variety of institutions will be difficult and expensive unless there is some coordinated effort to provide a common framework to support such activities. We would note that at present it is relatively expensive just to construct sufficient programs to permit the investigation of and experimentation with some proposed technique of program automation; because of this many studies in the general area of programming automation are primarily “paper studies”.
It is the purpose of this note to provide an overview of the project currently under way at Harvard's Center for Research in Computing Technology, directed toward the implementation of a laboratory for the study of programming automation techniques. A more detailed discussion of our approach is provided in [1]. In the four sections which follow we will discuss briefly our view of the use of a program automation laboratory, the basis for and basic components of the facility currently being implemented, and finally, suggest that there are a variety of research areas which are strongly related to the question of automating programming in which the laboratory might be employed as a research tool.