scispace - formally typeset
Search or ask a question

Showing papers on "Communications protocol published in 1985"


Journal ArticleDOI
01 Dec 1985
TL;DR: This methodology arose out of the earlier research in the implementation of network protocols, in which recurring performance problems with protocol software led us to the conclusion that many operating systems failed to provide the correct runtime support for highly interactive parallel software packages such as protocols.
Abstract: When implementing a system specified as a number of layers of abstraction, it is tempting to implement each layer as a process. However, this requires that communication between layers be via asynchnonous inter-process messages. Our experience, especially with implementing network protocols, suggests that asynchronous communication between layers leads to serious performance problems. In place of this structure we propose an implementation methodology which permits synchronous (procedure call) between layers, both when a higher layer invokes a lower layer and in the reverse direction, from lower layer upward. This paper discusses the motivation for this methodology, as well as the pitfalls that accompany it. 1 I n t r o d u c t i o n This paper is concerned with a methodology for program structure, a methodology suitable for operating system programs, especially programs dealing with communications and networks. This methodology arose out of our earlier research in the implementation of network protocols, in which recurring performance problems with protocol software led us to the conclusion that many operating systems failed to provide the correct runtime support for highly interactive parallel software packages such as protocols. This paper describes and motivates this methodology, and discusses the operating system, Swift, which we built to explore it. The methodology described in this paper is relevant to programs which have been modularized according to the This research was supported by the Advanced Research Projects Agency of the Department of Defense and was monitored by the Office of Naval Research under contrac~ N00014-75-C-0681 and N00014-83-K-0125. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1985 A C M 0 8 9 7 9 1 1 7 4 1 12/85-0171 $ 0 0 . 7 5 principle of layering. Traditionally, a layer is thought of as providing services to the layer above, or the client layer. The client uses some mechanism for invoking the layer, perhaps a subroutine call. The layer performs the service for the client and then returns. In other words, service invocation occurs from the top down. As we will discuss below, there are organizational and modularity reasons why this downward flow of control is appealing in a layered system. However, the natural flow of control is not always downward. In a network driven environment, for example, most of the actions are initiated, not by the client from above, but by the network from below. The natural flow of control is thus upward, not downward. Especially where such an upward flow of control crosses a protection boundary, most systems do not permit this flow to be implemented as a procedure call. Instead, some more cumbersome and asynchronous mechanism must be used, such as an interprocess communications signal. Substantial inefficiencies and complexities can result from asynchronous upward flows. In our methodology, the system is organized so that the programmer has the choice as to whether an upward flow is implemented by procedure calls or asynchronous signals. We call this feature upcalls. We chose the word upcall to distinguish from the structured view of service invocation, organized around downward flow. An upcall need not go precisely upward. Our goal is that procedure flow should map on to the natural flow of control in the program, whether that is up, down, or sideways. With procedural invocation available in this way, there is thus no reason to use processes and interprocees communication unless there is an intrinsic source of asynchrony. The other half of this programming methodology is an approach towards structuring a layer. In many systems, a layer is implemented as a task or process. In our methodology a layer is organized as a collection of subroutines which live in a number of tasks, each subroutine callable as appropriate from above or below. Subroutines in different task that make up a layer constitute, in our terminology, a multi-task module. A multitask module also contains a collection of state variables, which are accessible, using shared memory, from the different tasks which execute the subroutines of the layer. The purpose of this paper, therefore, is to describe the programming methodology which we call upcalls and multi-task"

263 citations


Journal ArticleDOI
TL;DR: A distributed algorthim for load balancing which is network topology independent is proposed in this paper and the main objective of this paper is to describe the dynamic process migration protocol based on the proposed drafting algorithm.
Abstract: It is desirable for the load in a distributed system to be balanced evenly. A dynamic process migration protocol is needed in order to achieve load balancing in a user transparent manner. A distributed algorthim for load balancing which is network topology independent is proposed in this paper. Different network topologies and low-level communications protocols affect the choice of only some system design parameters. The "drafting" algorithm attempts to compromise two contradictory goals: maximize the processor utilization and minimize the communication overhead. The main objective of this paper is to describe the dynamic process migration protocol based on the proposed drafting algorithm. A sample distributed system is used to further illustrate the drafting algorithm and to show how to define system design parameters. The system performance is measured by simulation experiments based on the sample system.

227 citations


Journal ArticleDOI
TL;DR: The DARPA experimental internet system consists of satellite, terrestrial, radio, and local networks, all interconnected through a system of gateways and a set of common protocols as mentioned in this paper, which support an architecture consisting of multiple packet switched networks interconnected by gateways.
Abstract: THE MILITARY requirement for computer communications between heterogeneous computers on heterogeneous networks has driven the development of a standard suite of protocols to permit such communications to take place in a robust and flexible manner. These protocols support an architecture consisting of multiple packet switched networks interconnected by gateways. The DARPA experimental internet system consists of satellite, terrestrial, radio, and local networks, all interconnected through a system of gateways and a set of common protocols.

122 citations


10 Jun 1985
TL;DR: The paper argues for an increased role of the service concept, and its underlying architectural concepts, as the proper bases for designing protocol systems as well as suitable specification, verification, and testing techniques.
Abstract: This paper analyses the level of recognition that the service concept has acquired in the world of protocol designers. Opposition against the concept and some significant cases of misuse are expounded and refuted. The paper argues for an increased role of the service concept, and its underlying architectural concepts, as the proper bases for designing protocol systems as well as suitable specification, verification, and testing techniques.

74 citations


Patent
25 Feb 1985
TL;DR: In this paper, a plurality of peripheral interface devices each executing only a single communication protocol conversion is used to reduce the processing capacity required for each such device, and a single network wide uniform communication protocol is incorporated within each apparatus.
Abstract: An apparatus for efficiently executing communication protocol conversions includes a plurality of peripheral interface devices each executing only a single communication protocol conversion whereby the processing capacity required is reduced for each such device. In addition, a single network wide uniform communication protocol is incorporated within each apparatus.

65 citations


Journal ArticleDOI
TL;DR: A model for specifying and verifying time-dependent distributed systems that are networks of processes that communicate with one another by message-passing, and three sliding window data transfer protocols that use modulo-2 sequence numbers.
Abstract: Most communication protocol systems utilize timers to implement real-time constraints between event occurrences. Such systems are said to betime-dependent if the real-time constraints are crucial to their correct operation. We present a model for specifying and verifying time-dependent distributed systems. We consider networks of processes that communicate with one another by message-passing. Each process has a set of state variables and a set of events. An event is described by a predicate that relates the values of the network's state variables immediately before to their values immediately after the event occurrence. The predicate embodies specifications of both the event's enabling condition and action. Inference rules for both safety and liveness properties are presented. Real-time progress properties can be verified as safety properties. We illustrate with three sliding window data transfer protocols that use modulo-2 sequence numbers. The first protocol operates over channels that only lose messages. It is a time-independent protocol. The second and third protocols operate over channels that lose, reorder, and duplicate messages. For their correct operation, it is necessary that messages in the channels have bounded lifetimes. They are time-dependent protocols.

64 citations


Journal Article
TL;DR: The paper addresses the problem of finding errors in data communication protocols of which the size precludes analysis by traditional means and describes the protocol tracing method, which allows one to locate design errors in protocols relatively quickly by probing a partial state space.
Abstract: Automated protocol validation tools are by necessity often based on some form of symbolic execution. The complexity of the analysis problem however imposes restrictions on the scope of these tools. The paper studies the nature of these restrictions and explicitly addresses the problem of finding errors in data communication protocols of which the size precludes analysis by traditional means. The protocol tracing method described here allows one to locate design errors in protocols relatively quickly by probing a partial state space. This scatter searching method was implemented in a portable program called Trace. Specifications for the tracer are written in a higher-level language and are compiled into a minimized finite state machine model, which is then used to perform either partial or exhaustive symbolic executions. The user of the tracer can control the scope of each search. The tracer can be used as a fast debugging tool but also, depending on the complexity of the protocol being analyzed, as a slower and rather naive correctness prover. The specifications define the control flow of the protocol and may formalize correctness criteria in assertion primitives.

62 citations


Journal ArticleDOI
TL;DR: A multiphase model for such protocols is presented and it is shown how to connect these phases together to realize the multifunction protocol.
Abstract: Many communication protocols can be observed to go through different phases performing a distinct function in each phase. A multiphase model for such protocols is presented. A phase is formally defined to be a network of communicating finite-state machines with certain desirable correctness properties; these include proper termination and freedom from deadlocks and unspecified receptions. A multifunction protocol is constructed by first constructing separate phases to perform its different functions. It is shown how to connect these phases together to realize the multifunction protocol so that the resulting network of communicating finite state machines is also a phase (i.e., it possesses the desirable properties defined for phases). The modularity inherent in multiphase protocols facilitates not only their construction but also their understanding and modification. An abundance of protocols have been found in the literature that can be constructed as multiphase protocols. Three examples are presented here: two versions of IBM's BSC protocol for data link control and a token ring network protocol.

56 citations


Journal ArticleDOI
TL;DR: The objective of developing automated protocol synthesizers is to provide a systematic way of designing new communication protocols such that their correctness can be ensured.
Abstract: In the past, a number of methods have been proposed to model and validate communication protocols that have already been designed. However, design criteria and design aids are still lacking for designing correct protocols. The objective of developing automated protocol synthesizers is to provide a systematic way of designing new communication protocols such that their correctness can be ensured.

53 citations


Patent
24 Sep 1985
TL;DR: In this article, a power network control system has a plurality of digital modules interconnected, and a master logic unit in the network communicates with a specialized protocol to slave logic units in each module to provide a reliable power control system for selectively instructing modules to turn on or to turn off the local power source.
Abstract: A power network control system has a plurality of digital modules interconnected. A master logic unit in the network communicates with a specialized protocol to slave logic units in each module to provide a reliable power control system for selectively (or generally) instructing modules to turn on or to turn off the local power source.

45 citations


Journal ArticleDOI
TL;DR: A network implementation for the IBM Personal Computer that uses several performance-oriented design techniques with wide applicability: an upcall/downcall organization that simplifies structure; implementation layers that do not always coincide with protocol specification layers; copy minimization; and tailoring of protocol implementations with knowledge of the application that will use them.
Abstract: A desktop personal computer can be greatly extended in usefulness by attaching it to a local area network and implementing a full set of network protocols, just as one might provide for a mainframe computer. Such protocols are a set of tools that allow the desktop computer not just to access data elsewhere, but to participate in the computing milieu much more intensely. There are two challenges to this proposal. First, a personal computer may often be disconnected from the network, so it cannot track the network state and it must be able to discover and resynchronize with that state very quickly. Second, full protocol implementations have often been large and slow, two attributes that could be fatal in a small computer. This paper reports a network implementation for the IBM Personal Computer that uses several performance-oriented design techniques with wide applicability: an upcall/downcall organization that simplifies structure; implementation layers that do not always coincide with protocol specification layers; copy minimization; and tailoring of protocol implementations with knowledge of the application that will use them. The size and scale of the resulting package of programs, now in use in our laboratory for two years, is quite reasonable for a desktop computer and the techniques developed are applicable to a wider range of network protocol designs.

Journal ArticleDOI
01 Sep 1985
TL;DR: The design and implementation decisions that have been made in developing software to support the DARPA TCP/IP protocols for the IBM OS/370 environment at the University of California Division of Library Automation are described.
Abstract: This paper describes the design and implementation decisions that have been made in developing software to support the DARPA TCP/IP protocols for the IBM OS/370 environment at the University of California Division of Library Automation. The implementation is designed to support over 100 concurrent TCP connections, all of which are managed by a single program, which acts as a specialized sub-operating system. The system is optimized for line-by-line or screen-by-screen terminal traffic rather than character-by-character traffic. In addition, this TCP is designed to exploit the availability of the large main storage and processor speed available on the IBM/370.TCP/IP is generally considered to be a mature protocol specification; however, in the course of our implementation we found several parts to be either ambiguous or problematic — in particular, error handling and notification, ICMP and its relationship to other protocols, and synchronization of data flow with TCP callers.We also discuss problems encountered in trying to replace hardwired terminals in a public access environment with TCP and TELNET, and some protocol changes that would make these protocols more hospitable to our environment.

Journal ArticleDOI
TL;DR: In this article, the authors use timed Petri nets to model the delay in performing certain operations of a communication protocol and use them to describe and algebraically specify communication system performance.
Abstract: There has been a lot of interest in the past decade in using timed Petri nets to model computer systems. In this paper we show how such timed Petri nets can be used to great advantage in describing and algebraically specifying communication system performance. We make use of the time parameter of timed Petri nets to model the delay in performing certain operations of a communication protocol. The specification is borrowed from the recently reported AFFIRM language, and the protocol chosen for illustration is the ECMA transfer protocol, proposed for the ISO reference model. However, the methodology can be used with other protocols as well. We also show how liveness properties can be specified, easily using timed Petri nets.

Book ChapterDOI
01 Jun 1985
TL;DR: NPNs and PROTEAN are described and illustrated by the analysis of an Integrated Services Digital Network access protocol and results of the application of the method to a number of "real world" protocols are reported.
Abstract: This paper presents a method for specifying and analysing communication protocols using Numerical Petri Nets (NPNs). These nets are analysed using PROTEAN — a PROTocol Emulation and ANalysis computer aid which incorporates graphics. NPNs and PROTEAN are described and illustrated by the analysis of an Integrated Services Digital Network access protocol. Results of the application of the method to a number of "real world" protocols are reported.

Journal ArticleDOI
TL;DR: This paper focuses on the subject of network protocols; i.e., how do the authors implement the orderly sharing of network resources in local area networks.
Abstract: This paper is concerned with the use of optical-fiber and optoelectronic technology for the implementation of local area networks. For the purposes of this paper, we define a local area network as an information transport system which provides connectivity amongst distributed communicating entities within a structure (room, building); within a campus or an office complex; or within a geographical area about the size of a United States local access and transport area (LATA). This paper focuses on the subject of network protocols; i.e., how do we implement the orderly sharing of network resources.

Journal ArticleDOI
TL;DR: It is concluded that traces are a feasible technique for formal specification of communications protocols.
Abstract: A methodology for the formal specification of communications protocols is described. Communications protocol software offers special specification problems, because typically such software connects computers which are widely distributed geographically and differ in model, manufacturer and operating system. The specification method discussed is a modified version of traces, which were originally developed as a general technique for software specification. The author first describes the trace language and presents several examples. He then describes the trace methodology, illustrated with a specification of Stenning's protocol. He summarizes his experience of using the methodology to write specifications of major portions of two commercial standards: the Advanced Data Communications Control Protocol (ADCCP) and the Internet Protocol (IP). It is concluded that traces are a feasible technique for formal specification of communications protocols.

Journal ArticleDOI
01 Sep 1985
TL;DR: A new methodology for specifying and implementing communication protocols is presented, based on a formalism called “Real-Time Asynchronous Grammars” (RTAG), which uses a syntax similar to that of attribute grammars to specify allowable message sequences.
Abstract: A new methodology for specifying and implementing communication protocols is presented. This methodology is based on a formalism called “Real-Time Asynchronous Grammars” (RTAG), which uses a syntax similar to that of attribute grammars to specify allowable message sequences. In addition RTAG provides mechanisms for specifying data-dependent protocol activities, real-time constraints, and concurrent activities within a protocol entity. RTAG encourages a top-down approach to protocol design that can be of significant benefit in expressing and reasoning about highly complex protocols. As an example, an RTAG specification is given for part of the Class 4 ISO Transport Protocol (TP-4).Because RTAG allows protocols to be specified at a highly detailed level, major parts of an implementation can be automatically generated from a specification. An RTAG parser can be written which, when combined with an RTAG specification of a protocol and a set of interface and utility routines, constitutes an implementation of the protocol. To demonstrate the viability of RTAG for implementation generation, an RTAG parser has been integrated into the kernel of the 4.2 BSD UNIX operating system, and has been used in conjunction with the RTAG TP-4 specification to obtain an RTAG-based TP-4 implementation in the DoD Internet domain.

Journal ArticleDOI
Brent Hailpern1
TL;DR: Proofs of one of a set of protocols that ensure reliable transmission of data across an error-prone channel are presented using the finite-state-machine approach and the abstract-program approach and it is shown that the Abstract Program approach gives special insight into the operation of the protocol.
Abstract: Aho, Ullman, and Yannakakis have proposed a set of protocols that ensure reliable transmission of data across an error-prone channel. They have obtained lower bounds on the complexity required of the protocols to assure reliability for different classes of errors. They specify these protocols with finite-state machines. Although the protocol machines have only a small number of states, they are nontrivial to prove correct. In this paper we present proofs of one of these protocols using the finite-state-machine approach and the abstract-program approach. We also show that the abstract-program approach gives special insight into the operation of the protocol.


Journal ArticleDOI
TL;DR: An extension to the token ring protocol which allows a special type of arithmetic, called shift arithmetic, to be performed directly on the node's interfaces, to enhance the performance of distributed algorithms on ring networks by performing many simple tasks in the lowest possible level.
Abstract: An extension to the token ring protocol which allows a special type of arithmetic, called shift arithmetic, to be performed directly on the node's interfaces is proposed. The new protocol is based on an approach in which the communication channel and the interfaces form an environment in which simple commands can be executed. Each command operates on operands located at the interfaces, and places the result at the interface which initiated the command. The commands utilize the mandatory 1-bit delay of the token ring protocol to implement arithmetic and logical operations on the operands without further delay. The goal of this protocol is to enhance the performance of distributed algorithms on ring networks by performing many simple tasks in the lowest possible level. The authors show that this protocol is especially useful for load sharing in local area networks. Other potential application areas include parallel algorithms, distributed simulation, distributed operating systems, distributed databases and real-time computations.

10 Jun 1985
TL;DR: This paper focuses attention on the reachability graph analyzer (RGA), which provides mechanisms for proving general system properties as well as system-specific properties and is sufficiently general to allow a user to apply complex user-defined analysis algorithms to reachability graphs.
Abstract: Author(s): Morgan, E. Timothy; Razouk, Rami R. | Abstract: The introduction of concurrency into programs has added to the complexity of the software design process. This is most evident in the design of communications protocols where concurrency is inherent to the behavior of the system. The complexity exhibited by such software systems makes more evident the needs for computer-aided tools for automatically analyzing behavior.The Distributed Systems project at UCI has been developing a suite of tools, based on Petri nets, which support the design and evaluation of concurrent software systems. This paper focuses attention on one of the tools: the reachability graph analyzer (RGA). This tool provides mechanisms for proving general system properties (e.g., deadlock-freeness) as well as system-specific properties. The tool is sufficiently general to allow a user to apply complex user-defined analysis algorithms to reachability graphs. The alternating-bit protocol with a bounded channel is used to demonstrate the power of the tool and to point to future extensions.

Journal ArticleDOI
TL;DR: Staged circuit switching (SCS) is a message-switching technique that combines a new protocol with new communication hardware that is designed specifically for networks intended to function as integrated general-purpose MIMD machines.
Abstract: Staged circuit switching (SCS) is a message-switching technique that combines a new protocol with new communication hardware. Protocol and hardware are designed specifically for networks that are intended to function as integrated general-purpose MIMD machines, i.e., for "network computers."

Journal ArticleDOI
TL;DR: In this paper, the verifiability of two-party communication protocols for public-key cryptosystems is studied, and characterization theorems for nonsymmetric cascade protocols and non-symmetric name-stamp protocols that have verification sequences that are not necessarily strong are developed.


Patent
24 Apr 1985
TL;DR: In this paper, a data information collector receives the information on the transmission and reception from a transmission controller, such as the transmission data size, the transfer speed, the communication form like the multi-address communication, the interactive communication, etc., and then the signals are sent to a communication state supervisory unit 109 in a protocol switch communication controller.
Abstract: PURPOSE: To attain the maximum communication efficiency by performing the supervision through a supervisory unit for communication state after collecting various data including the rainfall, the internal information, the data size, etc. by a data collector and providing a communication protocol switch equipment to select a communication protocol optimum to the communication state at that time point by a command given from a supervisory equipment. CONSTITUTION: A data information collector 107 receives the information on the transmission and reception from a transmission controller 105 such as the transmission data size, the transfer speed, the communication form like the multi-address communication, the interactive communication, etc. The collector 107 also receives the information on the measured value of rainfall which controls greatly the bit error factor of communication from an external information measuring instrument 106. Then the signals are sent to a communication state supervisory unit 109 in a protocol switch communication controller 108. A protocol switch device 111 extracts a protocol out of a protocol storing equipment 113 by an instruction given from a communication state supervisory equipment 109 and programs an optimum protocol for a communication controller 110 or transmits a command for change of the communication control parameter. COPYRIGHT: (C)1986,JPO&Japio

Journal ArticleDOI
TL;DR: In this paper, the authors propose an interface for use from within UNIX1 user programs for communicating over multiple and varied local and wide area networks, which aids the design of a distributed application program by hiding the actual communications protocols used over each network and providing instead simple primitives for sending and receiving (possibly large) datagrams, using a simple standardized network addressing scheme based on a pair.
Abstract: We propose an interface for use from within UNIX1 user programs for communicating over multiple and varied local and wide area networks. This interface aids the design of a distributed application program by hiding the actual communications protocols used over each network, and providing instead simple primitives for sending and receiving (possibly large) datagrams, using a simple standardized network addressing scheme based on a pair.

Journal ArticleDOI
01 Sep 1985
TL;DR: The usefulness of communicating finite state machines in modeling a number of physical layer protocols that include (i) an asynchronous start-stop protocol and (ii) a protocol for synchronous transmission with modems are illustrated.
Abstract: We illustrate the usefulness of communicating finite state machines in modeling a number of physical layer protocols that include (i) an asynchronous start-stop protocol and (ii) a protocol for synchronous transmission with modems. Each protocol is modeled as a network of four finite state machines that communicate by exchanging messages over unbounded, FIFO channels. (Two machines are used to model the protocol itself, while the other two are used to model its interface to the upper data link protocol in the protocol hierarchy.) We outline a methodology to verify communication boundedness and progress for each protocol model. The methodology is based on three techniques that were proposed earlier to verify networks of communicating finite state machines; they are network decomposition, machine equivalence, and closed covers.

Proceedings ArticleDOI
01 Oct 1985
TL;DR: In this paper, it was shown that the behavior of extended free-choice Petri nets with deterministic firing times can be represented by probabilistic state graphs, and the corresponding state graphs are finite, and stationary probabilities of states can be obtained by standard techniques used for analysis of Markov chains.
Abstract: It is shown that the behavior of extended free-choice Petri nets with deterministic firing times can be represented by probabilistic “state” graphs. For bounded Petri nets the corresponding state graphs are finite, and stationary probabilities of states can be obtained by standard techniques used for analysis of Markov chains. An immediate application of such a model is performance analysis of systems of asynchronous concurrent processes, and in particular communication protocols. Places of Petri nets model queues of messages, transitions represent events in communication networks, inhibitor arcs are used to indicate priorities of simultaneous events, and probabilities associated with free-choice classes correspond to relative frequencies of random events. A simple protocol based on unnumbered messages and acknowledgements is used as an illustration of analysis.

Journal ArticleDOI
TL;DR: A new area for the application of an expert system that will consider the situation and determine the most appropriate response based on the current state of the network and the information in its knowledge base is proposed.

Book
01 Jan 1985
TL;DR: This book covers research in protocol theory and analysis, specification and formal models of protocols, protocol validation and verification, performance analysis of protocols and protocol design implementation and testing.
Abstract: This book covers research in protocol theory and analysis, specification and formal models of protocols, protocol validation and verification, performance analysis of protocols, and protocol design implementation and testing. Main Features: 1. Broad coverage of the research in the area of computer communication protocols. 2. A combination of theoretical and experimental research on protocol modelling, design, analysis, synthesis, verification and testing. 3. A description of international research activities conducted by leading researchers in the field from over 13 countries.