m "I ' “‘ 9“. .l‘" n. “ w; ‘ 'a'grli’i?;z)’ r { ”.1". my; ’ k I . 2W?" ‘ €35???er , . A' '5'! . . ,I 1‘29" - ‘4‘)? . yr: 1 , 'r 3‘71 J 93%: . . uf 1‘ "hfi; a 4 9292'- ’ grivsnl ’ J. r. .' - «raw-95?! ' -' ' um 1w ,'. 4 71:22: 4655:: 4 .5!- - ‘ 33"5 v ' {4%.2kflELJ-Z'S‘V, ’15:.»1 7033;. «Aiu‘fixg'; 73’ ‘ '1’ 5,, :- - 1 L K; . . 4‘ vwh‘.‘ #144" 4* .7 - cf; ‘.‘éii;‘.{<"{a‘ . "JV 'rttww. a». . ,o flirt 3131:; ,, ~‘ :4" 4'1 !'4." 'J 3‘?“ f ".11.", ,l 1 w, v., f . ‘1‘, « H) . '4 ,m. . . - . . ..',~, ‘ " “-1 All '- Vhaa/ . x; A - 4" . . - . ‘ ~ ‘ u. 4‘ ,. _,/l ’ ”A. _ '- . ‘ .. 4 . 4..- ur . .g ,4. - - .‘ . -.. , ‘ u.” . 4 r4 . , _ . _ y . . , . 4.. I’M-fl] .“ . .‘I ‘4 ' ' ‘ ‘. oz"; ‘ j! ' ' - . ' 1,...) ”It! ' '1}! fluff? I raft/(7,111,- t"- 'J'v I . 4 ’.‘Xfi.’ A . ‘ A 4 ' ‘ . 4 VIN/”hut . I-P. » ' J. .. ’1 (.‘ ' ' ,4 ' ...,,/v, gy’f'nu' ,u',m',}ffé-'{-‘JJ'J~ 6m)”. . - A . . ,H 1'! 2w) Ifj‘gdf‘J: -/>—7.’.t'v‘ A?!” 21' . " 4’51912’1121":'fi‘"'“# w'u ’ “z ‘ us». ”We? v'-£J "76.. ”4‘ '9' ..., 4' r: r? ' 3.”,- n ,. ,4 Muf- ' .*4-.¢ ~ ~ ! . wffiafif‘h r My“ ' *_'.‘. .-._‘0 .- ‘nv .~ In 7,, .-f_ -x. 1' $5.. ., J ’.\.'A__‘ . . 4 .. - v." . ‘5‘. u . ,1”! I . _ - - J '.{z'fi'lbua} I I '4’) ’ ‘ ‘ a , _ I. '7 v ' ‘r' " r" 'w ' J 4. ‘l ' J ' H v'; v.‘ ¢ "“- .79 . ' Mr" U V“. “I: v‘ ,x > .' , "I" '3 ‘-")§‘"{ " 7’1. - w- J? 4' 5 ‘ u"'fi?,~"-f‘r‘¥w‘l J " ht"?! I"... 55' "{:{E‘-’§l'l. ,'g$;v;g I? . . ‘ 1’73", Ila“), ‘f " fiéfi5:'..JIH 4”; J1' A . ; ’ ’1'. 3;- A. .1 4 ,“ ; I (if: 4&4” ,2!“ {0253.0 1 F," _ ‘ If»ff (’1’; alight; fl“ ,rzffi‘il- 1’ l’u'lzl-I .flt‘;5fk43 W v.4(ll'fi'q'l ,- " J»? r’." "affixlrl'fl'mfid I w . ' {fl-J". I ’ , 4 J - J?" ”'75:.“- '{."'.J,:,,-r-L7 1‘; ,ry. ’Y‘é;w ' I m:- v 1' ‘1 . 7:73 "3'77“ I. ~ h V f , ‘ fiemaw-‘L 7,1,4.” ,,. . .- x 13 . ,t #0”... 2. , "my ,. A «(4., .-,_ .1. , ‘ afijl'.‘ )9 up. gym. ‘ngijfiégfiu .. 2“ ~' 1:; ' “ r a" V’ A 5 .. _ Hi ,i . »" - ~ ~ . ,* . (f . .r~ .,, - . , 4’ 'a .57 . of: I: 9<§xéi§2fi "thaw“ }‘ 5'5" 1‘ I" I; ' ‘ ‘ "J ‘ 1:4 M, v " .- '5‘ v ,,'J,'.‘ «,1: ,v o. _ V , . I! ’ ‘ ’ 0)} l .553, 1‘ , ' . ‘ I ‘7': l I ~ I“ -I' ' l r {.f..nf:»_¢_. .ff‘ff'r/flg-f‘l'm/ LIBRARY Michigan State University This is to certify that the dissertation entitled Design and Analysis of Local Area Network Protocols For Distributed Real-Time Systems presented by Taieb Znati has been accepted towards fulfillment of the requirements for Ph.D. degree in Computer Science Lieu-Kg M ~ M 5 Major professor " 1988 Date April ’ MSU is an Affirmative Action/Equal Opportunity Institution 0-12771 ____-.—_.__._.._.—-——-———— u-_h’ MSU RETURNING MATERIALS: Place in book drop to uanAmas remove this checkout from 4“. your record. FINES will be charged if book is returned after the date stamped below. DESIGN AND ANALYSIS OF LOCAL AREA NETWORK PROTOCOLS FOR DISTRIBUTED REAL-TIME SYSTEMS By Taieb Znati A DISSERTATION Submitted to Michigan State University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Department of Computer Science 1988 ABSTRACT Design and Analysis of Local Area Network Protocols for Distributed Real-Time Systems By Taieb Znatl Local area networks are steadily increasing their range of applications. While inter- connection of computers and resource sharing has been typical of their applications, it is their envisioned role in distributed real-time systems which is receiving increased atten- tion. The goal of this research is twofold: to design a multiaccess protocol for local area networks which better suits the requirement of a distributed real—time system; and to pro- vide an analytical tool that can be used to study multiaccess protocols for bus networks in a unified manner. Distributed real-time systems are characterized by their timing constraints. A sub- stantial overhead is often incurred by the synchronization of the real-time processes run— ning on different processors. This overhead can be reduced if there are guarantees on how fast messages are moved across the communication network. After examining the limitations of the standard protocols in providing such guarantees, we propose and study a virtual token protocol suitable for handling time—constrained messages in a distributed real-time system. The proposed protocol preserves the main advantages of the standard CSMA/CD and token passing standard schemes and remedies their principal shortcom- ings. As a result, the new protocol closely approximates an ideal priority scheme. The global behavior of a class of multiaccess scheme for bus networks is character- ized by a transmission phase, a resolution phase and an idle phase. We abstract a general mathematical model that can represent various multiaccess protocols for bus networks. The proposed model is based on the supplementary variables approach. We show that the use of this method results in a mathematically tractable system of state equations. While the proposed model is general, it can serve as a useful tool to compare various protocols for local area networks. To my parents, F redj and Najia, to my grandmother Zenikha, and to the memories of my grandfather K hemais ACKNOWLEDGEMENTS I wish to express my gratitude to my thesis supervisor Dr. L. Ni for his continued support, enthusiasm and guidance during my Ph.D. program. His ideas and critical review of my research work were an incentive in the completion of this dissertation. Dr. E. D. Goodman must be commended for his careful reading of this dissertation and for his insightful comments. His support and warm camaraderie, during my stay at the Case Center, are sincerely appreciated. I would like to thank the other members of my committee, L. H. Greenberg, R. Lepage and S. Pramanik for their time and efforts. I do wish to acknowledge members of my research group, Bruce M. McMillen, Eric Wu, Yew-Huey Liu, Chung-Ta King and Youran Lan, who have been there when needed. Many friends, I. Carlson, C. Erickson, J. Foley, M. McPherson, S. Smith and M. Wilke, have made my stay at the Case Center very enjoyable. Special thanks go to A. V. Sannier for his proof-reading of parts of my thesis. I also would like to thank my friends 8. R. Alani, F. Fathy J. S. Dhahir and C. A. Woodlock for their continuous support and encouragement. Profound appreciation is extended to my parents, Fredj and Najia Znati, and to my brothers and sisters who believed in me. Their moral support was sometimes the only thing that kept me going. Table of Contents Chapter 1- Introduction ............................................................................................ 1.1 AN OVERVIEW Of DISTRIBUTED COMPUTING SYSTEMS ........ 1.2 DISTRIBUTED REAL-TIME SYSTEMS ............................................. 1.3 MOTIVATION ....................................................................................... 1.4 PROBLEM STATEMENT ..................................................................... 1.5 DISSERTATION ORGANIZATION ..................................................... Chapter 2- Design Requirements of Distributed Real-Time System ................... 2.1 DISTRIBUTED REAL-TIME SYSTEMS ............................................. 2.1.1 Specifications And Operating Characteristics Of Real-time Systems... 2.1.2 Timing Requirements Of Real-time Computing ................................... 2.2 LOCAL AREA NETWORKS For REAL-TIME APPLICATIONS ...... 2.2.1 Real-time Traffic Specifications ............................................................ 2.2.2 Communications Requirements ............................................................. 2.2.2.1 Robustness ............................................................................................ 2.2.2.2 Flexibility .............................................................................................. 2.2.2.3 Timing requirements ............................................................................. 2.2.2.4 Priority requirements ............................................................................ 2.3 BACKGROUND .................................................................................... 2.3.1 CSMA/CD Bus Network ....................................................................... 2.3.2 Token Ring Network ............................................................................. 2.3.3 Token Passing Network ......................................................................... 2.4 CONCLUSION ....................................................................................... Chapter 3- A priority Based Resolution Multiaccess Protocol — For Real-Time systems ............................................................................... 3.1. DESIGN REQUIREMENTS .................................................................. 3.1.1 Network Architecture ............................................................................ 3.1.2 Performance Issues ................................................................................ 3.1.3 Station Design Issues ............................................................................. OOQONUINi—s 10 ll 12 13 15 16 18 18 18 19 20 21 25 27 29 31 33 34 34 36 37 3.1.3.1 Inter-layer interfaces ............................................................................. 37 3.1.3.2 Basic data structure ............................................................................... 38 3.2 PRIORITIZED HYBRID VIRTUAL TOKEN-PASSING -- PROTOCOL ............................................................................................. 39 3.2.1 Ideal Priority Scheme ............................................................................. 39 3.2.2 Protocol Description .............................................................................. 42 3.3 PROTOCOL FORMAL SPECIFICATION ........................................... 49 3.4 NETWORK PRIORITY LIST DESIGN ISSUES .................................. 51 3.4.1 Implementation Consideration ............................................................... 53 3.5 CONCLUSION ....................................................................................... 57 Chapter 4- Priority Assessment Phase — Design And Implementation Considerations ............................................. 59 4.1 DESIGN REQUIREMENTS .................................................................. 60 4.1.1 Formal Specification .............................................................................. 61 4.1.2 Mathematical Formulation ..................................................................... 62 4.1.2.1 Example ................................................................................................ 66 4.2 IMPLEMENTATION CONSIDERATION ........................................... 67 4.2.1 Optimal Approach .................................................................................. 71 4.2.1.1 Opu'mal binary search ........................................................................... 72 4.2.2 Static Approach ...................................................................................... 75 4.2.3 Adaptive Approaches ............................................................................. 76 4.3 RELIABILITY AND FAULT MANAGEMENT .................................. 78 4.3.1 Station Failure ........................................................................................ 79 4.3.2 Network Priority List Inconsistency ...................................................... 79 4.3.3 Station Out Of Synchronization ............................................................. 81 4.4 CONCLUSION ....................................................................................... 82 Chapter 5- Comparative Study and Sensitivity Analysis ....................................... 84 5.1 SIMULATION MODEL AND PERFORMANCE PROFILE ............... 85 5.1.1 Simulation Model .................................................................................. 85 5.1.2 Performance Profile ............................................................................... 86 5.2 COMPARATIVE STUDY ..................................................................... 87 vii 5.2.1 Mathematical Model .............................................................................. 87 5.2.2 Simulation Results ................................................................................. 89 5.3 PERFORMANCE COMPARISON WITH SCHEMES ......................... 96 5.4 SENSITIVITY ANALYSIS AND EVALUATION — CRITERIA FULFILLMENT .................................................................... 100 5.4.1 Effect of Load Distribution .................................................................... 101 5.4.2 Protocol Adherence to Priority Scheme Requirements ......................... 103 5.5 CONCLUSIONS ..................................................................................... 104 Chapter 6- Analytical Modeling of Multi-access Protocols ................................... 106 6.1 INTRODUCTION .................................................................................. 108 6.2 ANALYTICAL MODEL DESCRIPTION ............................................. 108 6.2.1 Qualitative Description of the Model .................................................... 108 6.2.2 Stochastic Formulation of the Model .................................................... 110 6.2.3 Method of Analysis ................................................................................ 113 6.2.3.1 System state vector ............................................................................... 114 6.3 Resolution of the Model ......................................................................... 116 6.3.1 Infinite Source Model ............................................................................ 121 6.3.1.1 Constant functions ................................................................................ 123 6.3.2 Finite Source Model ............................................................................... 127 6.3.2.1 Constant functions ................................................................................ 131 6.4 EXPERIMENTAL RESULTS ................................................................ 134 6.5 MODEL APPLICATION ....................................................................... 139 6.5.1 Notation and Model Assumptions ......................................................... 141 6.5.2 Probability Evaluation ........................................................................... 142 6.5.3 Comparative Study ................................................................................ 146 6.6 CONCLUSION ....................................................................................... 147 Chapter 7- Conclusions and Directions for Future Research ................................ 149 7.1 THESIS CONTRIBUTIONS .................................................................. 149 7.2 CONCLUSIONS ..................................................................................... 151 7.3 FUTURE RESEARCH ........................................................................... 153 Bibliography ............................................................................................................... 155 viii List of Figures Figure 3.1 - Ideal Priority Scheme .......................................................................... 41 Figure 3.2 - State Diagram of a Station .................................................................. 43 Figure 3.3 - Frame Format Description .................................................................. 45 Figure 3.4 - The SCA table describing the state EOT ............................................ 51 Figure 3.5 - The SCA table describing the state JA ................................................ 52 Figure 3.6 - The SCA table describing the state PAP ............................................. 52 Figure 3.7 - Network Priority List .......................................................................... 55 Figure 3.8 - Procedure Insert .................................................................................. 56 Figure 3.9 - Procedure Remove .............................................................................. 56 Figure 3.10 - Procedure Next_Vrt1_Tkn_Hldr ......................................................... 57 Figure 4.1 - Contention Parameters Computation ................................................. 67 Figure 4.2 - Search Procedure ................................................................................. 68 Figure 4.3 - Optimal Search Tree ........................................................................... 73 Figure 5.1 - Throughput Delay Characteristics of the Protocol .............................. 91 Figure 5.2 - Performance Profile of Different Searching Strategies ....................... 92 Figure 5.3 - Performance Profile of the Workshop Traffic ..................................... 97 Figure 5.4 - Performance Profile of the Telephone Traffic ..................................... 98 Figure 5.5 - Performance Profile of the factory traffic ........................................... 98 Figure 5.6 - Protocol Performance Profile .............................................................. 99 Figure 5.7 - Effect if the Load and Priority Distribution on the Delay .................. 102 Figure 5.8 - Protocol Hierarchical Performance ..................................................... 103 Figure 6.1-(a) - Idle State Transition Table ................................................................ 110 Figure 6.1-(b) - Transmission State Transition Table ................................................ 111 Figure 6.1-(c) - Resolution State Transition Table ..................................................... 112 Figure 6.2 - Effect of the Load, Resolution and Conflict Probabilities on the Access Delay (Infinite Source Model) ......................................... 135 ix Figure 6.3-(a) - Effect of the Load, Resolution and Conflict Probabilities on the Mean Queue Length (Finite Source Model) ................................ 136 Figure 6.3-(b) - Effect of the Load, Resolution and Conflict Probabilities on the Mean Queue Length (Finite Source Model) ................................ 137 Figure 6.4 - Effect of the Load and the Message Length Distribution Probabilities on the Access Delay (Infinite Source Model) ................... 138 Figure 6.5-(a) - Effect of the Load and the Message Length Distribution Probabilities on the Mean Queue Length (Finite Source Model) .......... 139 Figure 6.5-(b) - Effect of the Load and the Message Length Distribution Probabilities on the Mean Queue Length (Finite Source Model) .......... 140 Figure 6.6 - Effect of the Load and Network Size on the Mean Queue Length (Finite Source Model) .................................................... 141 Figure 6.7 - Network Delay Throughput Characteristics (50 Stations) .................. 147 Figure 6.8 - Network Delay Throughput Characreristics (10 Stations) .................. 148 Figure 6.9 - Network Delay Throughput Characteristics (5 Stations) .................... 149 List of Tables Table 5-1 - Workload Characteristics ........................................................................ 90 Table 5-2 - Percentage of Late Messages (Static Approach) ..................................... 93 Table 5-3 - Effect of the System Load on the Performance of the PAP ..................... 94 Table 5-4 - Effect of the Number of Stations on the PAP Performance ..................... 95 xi Chapter 1 Introduction Over the last decade, distributed computing systems have been rapidly gaining importance in the field of computing. The increasing interest in these systems is due to the recent advances in software, the rapid development of computer networking technol- ogy, and the availability of significantly reduced cost processing devices. The revolu- tionary changes in chip size-to-performance ratio brought by VLSI design techniques and the resulting improvement in processing storage and communications have induced pene- tration of the distributed computing systems into wider application domains [WiTi80]. The research reported in this thesis focuses mainly on the particular class of distributed systems which supports real-time applications. The goal of the research has been to design a communication protocol which fits better the requirements of these systems. A model to describe and analyze the performance of the real-time communication protocols in a unified manner is also developed. In the remainder of this chapter, we review some issues related to distributed com- puting in general, regardless of the type of applications they support. We then briefly introduce the main characteristics of distributed real-time systems which are the focus of most of the discussion of later chapters. We next state the motivation of this research. We conclude the chapter by setting forth the plan of subsequent chapters. 2 1.1 AN OVERVIEW Of DISTRIBUTED COMPUTING SYSTEMS The term distributed computing system applies to a wide range of system configurations, but usually refers to a collection of homogeneous or heterogeneous com- puting capabilities interconnected by a communication subnet and logically integrated in varying degrees by a distributed operating system [Efe78, Jens78, Stan84]. The physi- cally distributed components of the system are inter-connected by a communications net- work. Depending on the geographical area covered by the distributed system, this net- work many be a long haul network or a local area network. Software sharing is facili- tated through the use of communication protocol and information transfer. Distributed control implemented through a globally known set of policies integrates the physical and logical components of the distributed computing system into a functionally coherent sys- tem. Two fundamental issues further characterize distributed systems: system tran- sparency and cooperative autonomy. System transparency provides the user with a logically integrated view of the sys- tem. The user should not be aware of the physical distribution of the system. To support this concept, the system must provide an interface which allows the description of a ser- vice without the need to specify the physical or logical component that provides the requested service. The user of the system should be able to request a service by name rather than by the designation of a server which provides that service. Cooperative autonomy characterizes the degree of interaction among both physical and logical resources of the system. Every physical component and every peer process in the distributed architecture must have a fair degree of autonomy in managing its own resources. This cooperative autonomy is required in order to attain the objectives of the distributed system. Distributed computing systems offer the potential for a significant number of benefits [Lee84]. These systems have the capability to provide increased system perfor- mance, improved resource sharing, improved reliability, graceful degradation and configuration flexibility. Higher performance is achieved by permitting concurrent operations on the proces- sors. The existence of multiple resources, both physical and logical, allows the system to avoid the bottlenecks that usually occur in a centralized system, thereby increasing the system throughput and reducing the response time. Distributing control among the processors provides a practical means for sharing expensive resources, computing power, and information handling devices. The extension of communications among logical resources helps achieve a system-wide control of all activities, offering the potential for an optimal and dynamic resource allocation. In addi- tion, system transparency hides the system status information so that the user does not need to know which resources are currently available and need not be concerned about how to request these resources in order to execute his tasks in the most performing way. This characteristic increases the system’s capability to utilize its resources effectively. System reliability and availability is achieved through the replication of resources and the reassignment of tasks from a failed processor to a fault-free processor. Further- more, the distribution of control among multiple processors alleviates the system from the dependency on a single controller, allowing fail-soft service to a large class of users with different requirements and increasing the ability of the system to easily adapt to new configurations without significant disruption of the system. Distributed computing systems, however, introduce new problems and raise new design issues. These problems are not only due to the system distribution but also to the heterogeneity of the computing elements and devices. The heterogeneous nature of distri- buted systems strongly affects several design issues. 4 As an illustration, the fact that each processing element has its own local names for different objects, introduces additional complexity to the design of the naming system. The difficulty arises from the need to create a global unique identifier space in a hetero- geneous environment, where each local identification domain may use one or more dif- ferent schemes of identifiers unique within itself. These problems are compounded by the difficulty to globally maintain an instantaneous distributed context and mapping informa- tion due to the delays and errors caused by the communication subsystems. The reoccurring themes of heterogeneity, physical distribution, and multiple con- trolling authorities also significantly impact the protection needs in a distributed system. One of the major design goals of a distributed computing system is to provide its users with a uniform access to real and abstract objects. User interaction with these objects requires the implementation of a protection mechanism that ensures a controlled access to these resources. This protection must be based on rigid rules and concepts such as ownership, classification of levels of data security, or protection domains. The protection system must ensure that only authorized entities can read, modify, or manipulate resources. The system must also allow authorized entities to communicate and ensure that unauthorized entities cannot prevent authorized entities from manipulating the physi- cal or logical resources of the system. Because of the need to interconnect different pro- tection domains, each domain possibly implementing different protection policies, the task of designing a protection mechanism in a distributed system becomes more compli- cated. The implementation differences can be the source of mutual suspicion among sys- tems. Therefore, the protection system must be built assuming a level of trust within the communication subsystem and within the single host and its physical and personnel secu- rity. The question remains to what extent the set of assumptions about what can be ulti- mately trusted could be considered safe and secure. Distributed systems have come into existence in the computing field in some very natural ways. We certainly have not yet gained sufficient understanding of distributed systems. Our systems are still highly constrained and rigid in their construction and behavior. There are many hurdles to cross in designing a truly distributed system archi- tecture. We need to develop a methodology for mechanizing the design and maintenance of distributed systems. This methodology must have provision for integrating fundamen- tal issues such as access control, distributed control, reliability, heterogeneity, and efficiency. These issues have been recognized, but solutions to the problems they entail have not produced totally satisfactory systems. 1.2 DISTRIBUTED REAL-TIME SYSTEMS As stated previously, distributed computing systems are proliferating rapidly and their widespread use has included several application areas. One of the most promising new areas for distributed systems is in the real-time systems domain. Distributed systems offer an attractive alternative for the implementation of real-time applications because of their potential for better performance, higher reliability and extensibility. In addition, for may real-time applications it is natural to distribute control among several connected pro- cessors. This characteristic facilitates the implementation of a distributed real-time appli- cation as a set of relatively independent processes which run asynchronously, except for occasional synchronization and communication [Moka85]. A real-time system is characterized by the timing requirements described in terms of deadlines by which processes must be completed. Although the completion time for a process is of importance in all types of systems, the response time in a real-time system is viewed as a crucial part of the correctness of the application software. In addition to implementing correctly the intended algorithms, real-time system must satisfy various timing constraints and respond in a timely fashion to external events or periodic update rates of the process variables under control. Usually, the computation involved for responding to external events is repetitive and may not be delayed beyond certain time limits. Real-time systems have been divided into two classes: hard real-time systems and soft real-time systems [Moka83]. Hard real-time systems must continuously observe crit- ical timing constraints. Failure to observe these constraints might bring about catas- tr'Ophic results. Soft real-time systems can afford to occasionally miss their timing requirements causing eventually a degradation in performance but not a system failure. 1 .3 MOTIVATION A serious difficulty in meeting the requirements of distributed real—time applications is presented not only by the processor speed, but also by the efficiency of the communi- cation network which interconnects these processors. As stated previously, the communi— cation and synchronization of processes in a distributed real-time environment are achieved through the exchange of messages. A substantial number of messages may be required to maintain proper synchronization of the system processes. However, if the amount of communication overhead generated becomes excessive, the correctness of real-time processes, which depends on the adherence of these processes to the timing constraints imposed by the underlying application, may be jeopardized. Therefore, in order to allow an efficient scheduling of real-time processes, the network protocol must provide guarantees on how fast messages are moved across the communication network. This objective can be achieved by reducing the overhead incurred by the communication and by ensuring a predictable number of transition steps between message arrival and message departure. Consequently, any network protocol designed to support distributed real-time applications must be efficient and deterministic. Determinism is a crucial requirement in real-time environment. The guarantee of an upper bound on the access time is necessary in order to meet the timing constraints of different messages. Establishing a finite upper bound for the message transmission delay solves only one part of the problem of how to meet timing constraints. An efficient scheduling of messages, most likely based on time dependent priorities or on explicit timing constraints such as deadline on the message transmission, will help achieve the real-time require- ments. The priority will be used to associate costs to messages, so that the network mes- sage server can determine in which order to serve messages present in a waiting queue in an optimal fashion. We consider that an optimal scheduling is achieved when the number of lost messages is minimized. Notice that in some applications, the loss of a message may cause the system to fail. In others, a small number of lost messages may be tolerable but will inflict a penalty upon the system such as disruptive effects, lack of certainty or other undesirable effects. Determinism and the availability of an efficient priority scheme allow the communi- cation system to guarantee adequate performance for various timing constraints. It pro- vides the network with the capability to handle various traffic with various timing con- straints, generated by different sources. 1.4 PROBLEM STATEMENT The need for an efficient priority scheme in a real-time environment based on local area networks motivated the proposed research project. The study is aimed at deve10ping a network access arbitration scheme for broadcast-type local area networks. Shared bus local area networks are attractive because of their relatively simple topology. Two medium access protocols for this type of networks for shared bus, CSMA/CD and control token, have received much attention. CS MA/CD based schemes provide a good throughput-delay performance at light load even for a very large number of stations. However, as the load on the channel increases, the probability of collision increases, leading to a poor channel throughput. In addition, the protocol lacks a guarantee for an upper bound on the transmission time of a message as well as a priority scheme; both requirements are crucial in handling real-time applications. Token-passing based proto— cols can achieve high channel throughput when the utilization is high. However, their performance decreases in a light load situation, due to the overhead generated by the token traveling among idle stations. From performance viewpoint, it is desirable to have a protocol that achieves good performance over the entire range of channel utilization. Moreover, in order to provide acceptable performance for real-time applications, a priori- tized scheme is required. An ideal protocol for handling messages with different priority classes would combine the advantages of both CSMA/CD and token-passing bus proto- cols, but avoid their shortcomings. The second objective of the research is to provide an analytical tool that can be used to study multiaccess protocols for bus networks in a unified manner. 1.5 DISSERTATION ORGANIZATION In this Chapter, we argued the need for a communication network protocol that suits better the requirements of real-time applications. A better understanding of the funda- mental issues and requirements of real-time systems must help the designer of real-time communication protocols identify the fundamental design requirements of these proto- cols. These issues and the problem relevant to the design of real-time access schemes are discussed in Chapter 2. We provide an overview and a classification of the major proto- cols proposed for local area networks. A better understanding of the capabilities and lim- its associated with these protocols in handling real-time applications is supplied. In Chapter 3 we propose an access arbitration scheme for real-time applications. The pro- posed scheme attempts to preserve the above mentioned advantages of CSMA/CD and token bus access protocols. In addition, the scheme intends to reduce the considerable portion of the token bus protocol devoted to necessary functions such as recovery from a 9 token loss, due either to noise over the channel or to a station failure, a token duplication or resolving collision that results when more than one station tries to join the network at the same time. Above all, the scheme guarantees a more efficient way of handling dif- ferent priority classes by implementing a priority mechanism that satisfies the basic requirements of a general priority scheme. Chapter 4 provides a formal description of the priority assessment phase. This phase is required to assess the priority of the access medium. Mechanisms related to the implementation of this phase are discussed. Dynamic as well as static approaches are proposed and their implementation issues are considered. Chapter 5 describes simulation experiments conducted to study the perfor- mance of the proposed protocol. The performance measures include the delay- throughput characteristics and the load versus throughput characteristics. Chapter 6 describes a unified analytical model to investigate the performance of multiaccess proto- cols. The application of the model to the proposed protocol is also provided. Chapter 7 contains the conclusion of the proposed work along with some remarks about avenues for future research. Chapter 2 Design Requirements of Distributed Real-Time Systems The purpose of this chapter is to identify the design requirements of distributed real-time systems. The basic issues involved in the design of these systems and the achievement of their objectives are discussed. The first part of this chapter is devoted to presenting some concepts which relate to the specifications and the design of distributed real-time systems. The fundamental problems introduced by these systems are identified and a discussion of their solution is provided. The second part of the chapter is dedicated to discussing a specific part of these sys- tems: the communication network. Issues related to the design of multi-access protocols for local area networks are examined in some detail. Real-time applications encompass different types of activities which emphasize different types of requirements. We attempt to identify the requirements that must be satisfied by any communication system intended for real-time applications. This analysis leads to a set of properties that must be satisfied in order to ensure proper functioning of the system. These properties include robustness, flexibility, timing requirements and priority requirements. A brief introduction of these issues and their relative importance in the design of local area networks for real-time applications is presented. 10 11 The last part of this chapter is dedicated to the particular problem of designing pro- tocols for local area networks intended to support real-time applications. An overview of the currently available schemes is presented and their suitability for real-time applica- tions is discussed. 2.1 DISTRIBUTED REAL-TIME SYSTEMS The term real-time has been used to describe any information processing activity or system which has to respond to externally generated input within a finite and specifiable delay. Regulating a power plant, controlling a telescope, manipulating a robot arm, automatically controlling a flight in order to maintain the aerodynamic stability and reduce the peak of pressure on an aircraft are few of the many applications designed to perform in real-time. A major application in the field of computing is to control and mon- itor these systems. It has been recognized that activities performed by real-time systems are usually loosely related and need not be done in a prescribed order [PoMi83, Moka85]. It becomes natural, therefore, to implement applications designed to monitor these systems as a set of relatively independent processes distributed among several processors. These processes can run asynchronously except for occasional synchronization and communica- tion. The distributed nature of most real-time applications motivates the use of distri- buted architectures to handle real-time systems. However, real-time applications usually serve a limited geographic area. The extent of the area may still vary considerably from one application to an other, with substantial impact on the subcomrnunication system. Nevertheless, the timing requirements imposed by the application make the use of local area networks more suitable to handle distributed real-time systems than long haul net- works. Local area networks are characterized by their hi gh-bandwidth channels, which leads to shorter transmission delays, and their very low error rates. In addition, local area 12 networks are more closely and easily controlled, as they are generally owned and operated by a single organization. 2.1.1 Specifications and Operating Characteristics of Real-time Systems We view a distributed real-time system as being comprised of two parts: a con- trolled system and a controlling system. The controlled system consists of all the hardware which may be associated with laboratory analysis equipment, motors and mechanical devices, robotic arms, manufacturing assembly lines, or chemical processing units. The controlled system may be continuous or discrete in nature. The controlling system refers to the computing resources, hardware and software, that accept and analyze data from the controlled system. Specialized hardware is required to interface the con- trolling system with the sensors that measure process variables and with the actuators and other final control elements that manipulate the controlled system. Conuol algorithms which calculate changes to process variables depend strongly on the dynamic process characteristics such as feedback, feedforward, coordinated and sequence controls. These algorithms vary considerably in their complexity and their sensitivity to errors or varia- tions in time. Data acquisition is typically carried out by many modules spread throughout the system. The acquired data is then recorded in a distributed database. Depending on the size of the system, the number of variables involved in the process may be quite extensive. Some of these process variables, such as temperatures, pressures, flow rates and levels are monitored on a periodic basis in order to control, display pro- cess status or perform process management and evaluation. Other processes, however, depend on digital signals, such as limit switches, status signals and relays that detect changes. These signals can generate random interrupts and so require aperiodic computa- tions to be performed. 13 In order to accommodate both periodic and aperiodic requirements of general real- time applications, the controlling system must ensure certain basic capabilities. These capabilities allow distributed real-time applications to instantaneously record, analyze and respond to the raw data and events produced by the controlled system [Sch084]. More specifically, the controlling system must Support the creation, deletion and scheduling of multiple processes or independent tasks, each of which monitors or controls some portion of a total application, Provide communication primitives between processes to allow small amounts of data to be sent or received, thus allowing two or more related processes to share low-volume information, Allow data pooling or sharing, so that processes can pass and examine a large amount of data efficiently, Allow synchronization between processes in an application, Ensure the capability to quickly, reliably, and predictably maintain the data in long-term backing store, Allow synchronization with external events, Guarantee predictable and eventually instantaneous response to external events. 2.1.2 Timing Requirements of Real-time Computing The attributes that characterize process variables are usually functions of physical _ timing. A set of internal laws, defined a priori, regulates the behavior of the physical pro- cess and constrains the process attributes to take their values in a specific domain. These timing constraints are usually described in terms of deadlines by which computations must be completed. The deadlines are generally traceable to the physical environment with which the system interacts and must be met to preserve specific properties of the physical process. 14 Some of the timing constraints emphasize the performance features of the system. Others relate more to its behavioral aspect. Performance constraints impose limits on the response time of the system. The capability to specify and enforce limits on the response time is crucial in the design of real-time applications and the achievement of the purpose for which they are designed. In particular, the response time may be sensitive to the instantaneous workload. The variability of response time in a real-time application may cause the system to miss its deadlines. In addition, variability in response time may result in poor performance of the system and user dissatisfaction. The guarantee that the system will invariably respond within a specified deadline substantially reduces the probability of error. Behavioral constraints specify the rates at which stimuli are applied to the system. In the absence of the expected stimuli within the specified time, the system will take a specific course of actions. These requirements are used to invoke artificial stimuli which specify these actions. They describe the state the system must move into, or the response the system must produce in the absence of the expected stimuli. Timing constraints can also be classified in terms of their rate and duration of occurrence. Dasarathy [Dasa85] identifies three such categories. 0 Maximum inter-occurrence: this type of constraint specifies the maximum amount of time that may elapse between the occurrence of two consecutive events. 0 Minimum inter-occurrence: this type of constraint specifies the minimum amount of time that may elapse between the occurrence of two consecutive events. 0 Durational occurrence: this type of constraint specifies the amount of time units dur- ing which an event or a sequence of events must occur. An event is defined to be either a stimulus to the system from its environment, or an externally observable response the system delivers to its environment. Notice that the above types are only applicable to some systems or to a particular set of events. 15 However, the three types are not necessarily exclusive. That is, a maximum and a minimum inter-occurrence as well as a durational occurrence can be simultaneously specified for an event or a set of events. Timing constraints are a distinctive feattue of distributed real-time systems. These requirements add new assertions to the correctness of real-time computations. These assertions involve the absolute timing of events. In other words, it is not enough to ensure that the computations involved in a real-time application are logically correct. In addition, the various timing constraints imposed by the application must be satisfied. Failure to adhere to these constraints results in a timing fault. The severity of the fault depends on the environment with which the system interacts. Hard real-time systems must respond in a timely fashion so as to meet stringent timing constraints and avoid catastrophic results. Soft-real time systems allow for some deadlines to be occasionally missed with only a degradation in performance but not a complete failure. 2.2 LOCAL AREA NETWORKS FOR REAL-TIME APPLICATIONS Real-time distributed systems are a relatively new area of research and develop- ment, and have yet to find sound theoretical foundations. The real-time concept intro- duces several issues not previously of concern in the design of distributed systems. It reveals the need for a basic understanding of the general properties of these systems and a major rethinking of their design mechanism. A multitude of models, such as communi- cating sequential processes [Hoar78], distributed processes [Hans78], the tasking model of Ada [Ich79] and graph based model [Moka83] have been proposed to analyze real- time systems. Some of the above models aimed at creating a high degree of parallelism by defining efficient interprocess communication primitives. Others attempted to cater to the timing requirements of the real-time environment. The proposed research assumes that the mechanisms to explicitly specify or enforce critical timing constraints are 16 provided. The study focuses on the efficiency of the communication network in enforcing the timing constraints imposed by the underlying applications. The remainder of this chapter focuses mainly on the issues related to the design of multi-access protocols for local area networks. First, we discuss the impact of the real- time concept on the design of local area networks for real-time applications. The result is a subset of design requirements that must be satisfied by any communication subsystem intended for real-time applications. Second, we study the suitability of the standard and proposed local area network protocols to handle traffic in a real-time distributed system. The adherence of these protocols to the defined subset of requirements is discussed. 2.2.1 Real-time Traffic Specification At the highest level of absuaction, a distributed real-time system can be viewed as consisting of a set of objects and a set of processes [Insu85]. Each of these objects can be thought of as an individual component of the system. A device object, for example, represents the abstraction of attached special purpose hardware and consists of interrupt and control routines. A set of invariant properties characterizes the behavior of the sys- tem objects. An object can only change state, behave, be manipulated, or stand in relation to other objects in ways that preserve the invariant properties dictated by the system. The states of system objects are altered by a set of real-time processes. A real-time process is a process that has timing constraints and whose correctness depends on the adherence to these constraints. The set of real-time processes can be divided into two classes: periodic processes and sporadic processes. Periodic processes are ready at regular interval of times. They are characterized by a stringent deadline. Sporadic processes can be requested at any time. They come in response to extemal events or interrupts from the controlled systems. They are characterized by larger inter-occurrence times and less stringent deadlines than 17 periodic processes. Communication and synchronization of these processes is achieved through the exchange of messages. These messages may be either generated by interrupt routines which are invoked by external processes or used for communication and synchronization purposes. In order to meet the timing requirements imposed on different processes, dead- lines must be assigned to different messages. Every message which exceeds its deadline is considered lost. Processes may be affected by the loss of the messages they generate. A serious difficulty in meeting the requirements of distributed real-time applications is presented not only by the processor speed, but also by the sharing policy of the com- munication network which interconnects these processors. In fact, the issue of real-time control requires the establishment of new principles to aid the support of real-time per- formance. The concept of response time, defined as the time it takes a system to react to a given input, is fundamental to the design of real-time systems. However, the distribu- tion of real-time applications to multiple concurrently executable computing resources introduces a new concept in the performance profile of the system. No longer is response time the only significant factor of the system performance. In addition, the number of lost messages impacts heavily the overall performance profile of the system. A major goal in the design of a communication subsystem in a real-time environment is to nrinirnize the inflicted penalty by reducing he number of lost messages. The above goal is further com- plicated by the types of messages generated by different real-time processes. On one hand, the interaction between control computer software and the technical process requires that periodic and control messages be transmitted over the communication net- work. On the other hand, the need to perform control actions on stochastically occurring events in the system will require communications to support aperiodic messages. The characteristics of these messages vary dramatically, and are anticipated to stress correspondingly different communication architecture designs and protocols. Conse- quently, the communication network must be efficient to help reduce the substantial l8 amount of overhead incurred by the synchronization of different classes of processes run- ning on different processors. The communication subsystem must guarantee adequate performance for various timing constraints. In addition, the network must be capable of handling various traffic generated by the different sources in such a way that the specific timing constraints are satisfied. 2.2.2 Communication Requirements Real-time applications encompass very different types of activities. In trying to determine the design requirements of real-time local area networks, the scope of research has been very broad. However, issues such as robustness, timing requirement, flexibility and priority mechanism [Lela83, RoToSl]. have dominated the design decisions of local area networks for distributed real-time systems. Following is an overview of these issues and a brief description of their relative importance in the design process. 2.2.2.1 Robustness Robustness, defined as a combination of reliability, availability and dependability requirements, reflects the degree of the system insensitivity to errors and misinforma- tions. Robustness is a multi-dimensional activity which must simultaneously address issues such as error confinement, error detection and masking, reconfiguration and res- tart. It is widely admitted that failure tolerance in real-time systems will limit the number of stations in a realistic network implementation to fewer than fifty [RaLC7 8]. The later restriction is reasonable for real-time systems which usually operate in a hostile environ- ment. 19 2.22.2 Flexibility Flexibility relates to the ease of designing and structuring a real-time network. It indicates the degree of network adaptability to a changing environment without significant disruption of the network functions. Environmental changes may be required by the need to enhance the performance of the network or the necessity to expand the basic functional services the network provides. Three types of flexibility can be achieved. Functional flexibility allows the evolution of the services required. lmplementational flexibility allows an easy integration of new stations into the network. Finally, topological flexibility allows the evolution of the physical dimensions of the network by extending the current communication medium. The objective of extensibility requires a modular architecture of the system. Modularity simplifies the overall design, allows an incremen- tal installation of the network, and reduces the complexity of its maintenance. 2.2.2.3 Timing requirements Timing requirements refer to the type of timing guarantee provided by the network to any given station attempting to access the channel. Two types of timing guarantees can be identified: probabilistic guarantees and deterministic guarantees. Access delays in the probabilistic timing are characterized by an expected value, a variance and a confidence interval. Deterministic timing ensures a predictable number of state transitions between message arrival and message departure. Therefore, deterministic access schemes guaran- tee an upper bound for the access time. Determinism is a crucial requirement in a real- time environment. The guarantee of an upper bound on the access time is necessary in order to meet the timing constraints of various messages. Determinism involves several parameters that need to be taken into consideration. 20 2.2.2.4 Priority requirements Designing a robust and reliable network, which guarantees a finite upper bound for the channel access delays, solves only one part of the problem of how to meet timing constraints. In addition, the network must be capable of handling various traffic gen- erated by the different sources in such a way that the specific timing constraints are satisfied. To achieve the latter goal, the network must be provided with a priority struc- ture among the message classes, since the different classes usually have different delay requirements. Based on the priority structure, an efficient scheduling of messages can be achieved. The priority will be used to associate costs to messages, so that the network message server can determine in which order to serve messages present in a waiting queue in an optimal fashion. We consider that an optimal scheduling is achieved when the following conditions are satisfied [Lela85]: (1 ) Finite upper bounds are guaranteed for message service times, (2) The cost function is minimized when the timing constraints are exceeded. In discussing implementation of prioritized schemes Rom and Tobagi [RoTo81] indicated four basic requirements for acceptability of a given priority scheme: 0 Hierarchical independence of performance: The performance of a given priority class should be independent of the load of lower priority classes. This requirement ensures that increasing load of the lower priority classes of message does not degrade the performance of higher priority classes. 0 Fairness within each priority class: The performance of the scheme as seen by a message of a given priority class should be fair, in terms of channel access time, among contending messages of the same priority class. 0 Robustness: 21 The proper operation and performance of the priority scheme should be insensitive to errors in station information. 0 Low overhead: The overhead required to implement the priority scheme and the volume of control information to be exchanged among those stations must be kept minimal. These four requirements will be used to evaluate various priority schemes. It is clear that trying to simultaneously achieve optimal performance with respect to some of these criteria results in suboptimal performance with respect to others. Thus, a compromise must be worked out between them. Also one can notice that fairness defined for mes- sages within the same priority class, based on a global first-come-first-served discipline, cannot be achieved efficiently in a distributed system. The overhead incurred makes such an approach prohibitive. The need to design an efficient communication system for real-time applications metivated several research projects. The following section is dedicated to identify the issues related to the design of an arbitration scheme for local area networks. An overview of the proposed schemes is provided and their suitability for real-time traffic is discussed. 2.3 BACKGROUND In many local area networking environments, communication among stations is usu- ally provided by means of a unique channel. It is characteristic of this channel that only a single station can transmit a message at any given time. Therefore, shared access of the channel requires the establishment of a protocol among the network stations. A protocol is the procedures and conventions used to regiment the progression of events required for orderly, mutually understood interaction between processes [Stac80]. The difficulty in designing an effective multiaccess protocol arises from the spatial distribution of the sta- tions. To reach a common agreement, the stations must exchange some amount of 22 explicit or implicit information. However, the exchange of coordinating information requires the use of the channel itself. This recursive aspect of the multiaccess problem increases the complexity of the protocol and the overhead of the channel. This issue is further complicated by the absence of an instantaneous state of the system. Tire spatial distribution of the system does not allow any station on the network to know the instan- taneous status of other stations on the network. Any information explicitly or implicitly gathered by any station, is at least as old as the time required for its propagation through the channel. The factors which influence the aggregate behavior of a distributed multiple access protocol are the intelligence of the decision made by the protocol and the overhead involved. These two factors are unavoidably intertwined. An attempt to improve the quality of decisions does not necessarily reduce the overhead incurred. On the other hand, reducing the overhead may result in lowering the quality of the decision. Thus, a tradeoff between these two factors has to be made. A distributed multiple access protocol can potentially benefit from the globally available knowledge about the status of the criti- cal resource. An update of the status of the transmitting station may be included in the transmitted information. The new status then becomes globally known to all to other sta- tions in the network. Determining the nature and extent of information used by a distributed multiple access protocol is a difficult task, but potentially a valuable one. An understanding of exactly what information is needed could lead to an understanding of its value. Most of the proposed distributed multiple access protocols operate somewhere along a spectrum of information ranging from no information to perfect information. Three types of infor- mation, predetermined, dynamic global and local, can be readily identified. Predeter- mined information is known to all stations. dynamic global information is acquired by different stations during the evolution of the protocol. local information is known to the individual station. The use of local information may result in a lack of coordination 23 among stations and eventually fail to achieve the objective of the protocol. Predeter- mined and dynamic global information may result in perfect coordination among the sta- tions, but usually induces a price to pay in terms of wasted resource capacity. Over the last decade, several approaches to solve the multiple access problem were proposed. These solutions attempt, by various mechanisms, to strike a balance between the amount of information provided to the stations and the overhead in providing it. Multiple access protocols divide broadly into two classes: contention based proto- cols and control based protocols. Contention based protocols can be characterized as a partitioning process in which the set of contending stations is gradually reduced, according to some predetermined and globally known rules, until the set contains exactly one station. The remaining station successfully transmits its message. At the end the of transmission, a new partition is found. Several mechanisms have been proposed to determine the partitioning process. These mechanisms can be broadly divided into three groups [Kuro84]. The first group is based on a probabilistic partitioning, in which stations in the contending set randomly reschedule their transmission. The amount of coordination among different stations varies from one scheme to an other [Abra70, Abra73, KlTo75, KlSc80, KlYe78]. The second group uses an address based mechanism to achieve partitioning of the set of the contending stations [Cape79, Haye78, GrSH80]. At the occurrence of a collision the set of contending stations is reduced to those stations whose addresses fall within a specific range. Further collisions will reduce the range of addresses, until a single station is uniquely determined. The third group of contention based protocols use the generation times of messages to partition the contending set of stations. A time window is deter- mined and only stations holding messages generated during the time window have the right to transmit. The window is recursively narrowed until it contains only one station [MeBo76]. 24 Control based protocols are characterized by collision free access to the channel [Schw77]. Collisions are prevented by imposing an explicit or implicit ordering of the stations in the network. Explicit ordering requires a predetermined channel allocation; the channel is statically allocated to different stations on the network. Demand adaptive protocols dynamically adjust in attempt to consistently satisfy the immediate require- ments of the stations. Demand adaptive protocols can further be divided into two classes: the reservation class and the token passing class. In the reservation scheme [KlSc80], stations reach a consensus about which station is next to transmit using a reservation pro- cedure that typically precedes the successful transmission of a message. The token bus access scheme relies either on an explicit [FaNe69, Farb73, Clar78, Bux81] or implicit [Chla79] token which is passed among active stations. The active stations form a logical ring on which the token circulates. The token gives its holder the right to transmit. Contention based schemes are simple to implement. They do not require active channel interfaces and do not rely on global information circulating on the bus. Conse- quently, they are robust and reliable. Control based access mechanisms reduce the degree of concurrency but guarantee a limit on the maximum time any given station must wait in order to access the channel. Local area networks are steadily increasing their range of applications. However it is their envisioned role in supporting real-time applications which is continuously receiv- ing increased attention. Therefore the need for priority functions becomes a crucial matter for the scheme to be responsive to real-time requirements. In addition, the proto- col must guarantee adequate performance, even when the network is heavily loaded. In the next section, we briefly describe the three major standard protocols proposed to han- dle local area networks traffic, namely Canier Sense Multiple Access with Collision Detection (CSMA/CD), token bus and the token ring. Note that these three standards are all defined in the data link layer, or more precisely, in the media access control (MAC) sublayer [Myer82]. 25 2.3.1 CSMA/CD Bus Network CSMA/CD is a random accessing scheme in which a network station transmits only after sensing an idle channel. Should the channel be busy, the station must wait until it is clear, before it can attempt transmitting again. Once it transmits its message, the station continues to listen to the channel to detect any collision with messages being sent simul- taneously by other stations on the network. CSMA/CD methods ensure that collision can be detected by requiring message length to be greater than a predetermined minimum. In the event of a detected collision, all transmitting stations abort their operations and back-off for a random amount of time before attempting to retransmit. This random back-off time ensures that one station will subsequently gain access to the channel. However, the total number of times a station must try before successfully accessing the channel, is strongly influenced by such factors as the network traffic volume, the message length, and the network physical length. Consequently, the CSMA/CD based protocols perform optimally under light conditions, but the performance of such schemes is very sensitive to the traffic load. As the load increases, the scheme performance degrades significantly. The conflict that occurs due to random access can cause waste of bandwidth and most of all may result in an unbounded access delay. The last shortcoming makes the scheme unsuitable for real-time applications. In addition to its lack of determinism, the standard CSMA/CD does not support a priority function necessary to handle different classes of traffic characterized by different timing constraints. In order to overcome most of the shortcomings of the CSMA/CD scheme, several approaches have been proposed in the literature. Some of the proposed schemes have aimed at compensating for the lack of determinism of the CSMA/CD pro- tocol and improving its delay characteristics. A unified window access time is proposed by Juang and Wah [JuWa83, WaJu83]. The proposed protocol randomly assigns numbers to stations and resolves the collision by selecting a unique station among the contending ones in a deterministic fashion. The search procedure, based on the dynamic 26 programming approach, is shown to be optimal. However, the procedure requires either a prohibitive amount of computation or a large amount of storage. Eswaran, Hamasher and Shedler [EsHaSh81] proposed a collision-free access protocol. The protocol uses an independent control wire to reserve the data channel. The protocol assumes that each sta- tion knows the sum of station-to—end and end-to-end propagation delays. This value is used in the reservation procedure. Although it improves the delay characteristics of the CSMA/CD scheme, the proposed protocol suffers a major drawback which involves the difficulty of adding and relocating stations. Stations addition and relocation require adjustments of the value mentioned above. Spaniol [Span79] introduced a slotted proto- col, basically a TDMA, which assumes that end-to-end propagation delay is negligible. The performance of the protocol degrades considerably when the bit rate of the network is high or when the time slots are short. Tokoro and Tamara attempted to decrease the rate of collision occurrence. They introduced an acknowledgment based mechanism that enables a station to transmit an acknowledgment without collision. Messages other than acknowledgments may collide. Furthermore, the collision among messages of the same class can not be prevented completely. Therefore, this mechanism can only improve the delay characteristics to a certain extent. Others schemes attempt to improve the characteristics of the CSMA/CD by incor- porating priority functions into the protocol. Franta and Bilodeau suggested a station- based priority scheme in which different stations have different rescheduling delays [FrBi80]. Iida et al. proposed message-based priority functions via the use of different lengths of preambles to determine the class of messages than can compete for the channel [IIYOBO]. Tobagi provided a linear resolution scheme to determine the current highest priority class of messages [T oba82]. A priority code resolution scheme is proposed by Ni and Li to reduce the time required in determining the current highest priority class of messages [NiLi83]. Graham [Gram8l] proposed a collision resolution mechanism that uses a directional receiver to detect the direction of signals in the cable, which ensures 27 that hi gh-priority stations can use the bus by successively aborting other lower priority transmissions. However, time loss is incurred as the resolution of each collision requires collision window time for each retransmission. In addition it is inequitable in that the highest priority station always preempts messages transmitted by lesser stations. Zhao et al. [ZhSR87] suggest a window protocol for real-time communication which implements the "minimum-laxity-first" policy. The protocol accurately achieves its purpose so long as ties among message laxities do not occur. If two messages have the same laxity, how- ever, the protocol uses a probabilistic approach to resolve the tie. In addition, the imple- mentation of the protocol requires perfect synchronization of the clocks at all nodes. It is well known, however, that clock synchronization in a distributed system is a challenging issue, if not impossible to achieve [Lela83, Lamp85]. The dependence on clock syn- chronization can at least cause the performance of the protocol to greatly degrade. 2.3.2 Token Ring Network In a ring topology network, the token is passed along from one station to another in one direction. Data is sequentially transferred in a bit by bit fashion from station to sta- tion on the ring. Each station on the ring introduces at least one bit delay during which it regenerates and repeats a received bit. The token could be either a free token or a busy token. A station can transmit a packet when it gets a free token and it will convert that free token to a busy token. The packet will traverse along the ring and will be removed by the sending station. At the end of a packet transmission, the station will convert the busy token back to the free token and pass the free token to the next station on the ring [DiSM83]. Ring networks provide an alternative whose throughput does not degrade significantly. The delay performance of the scheme is not sensitive to the number of sta- tions in the ring. Further, since the signal is regenerated at each node, greater distance can be covered. 28 The token ring network provides a priority handling mechanism [Stro83]. In this scheme, the start-delimiter (SD) field (l-byte long) of the packet format assigns three priority mode (PM) bits to designate up to 8 different priority classes for the packet. When a station receives a token packet, it compares the priority bits of the SD field with the priority bits of the packet to be transmitted. If the comparison is favorable, the station transmits the packet; otherwise, the packet is held and the station immediately forwards the token to the next station. The SD field also has three priority reservation (PR) bits. A station can reserve its priority request in the PR field of a packet if the station’s priority is higher than any current reservation request. The current transmitting station examines the PR field and releases the next free token with the new priority mode indication, but retains the interrupted priority class for later release. A requesting station uses the prior- ity token and releases a new token at the same priority so that other stations assigned that priority can also have an opportunity to transmit. When the station that originally released the free token recognizes a free token at that priority, it then releases a new free token at the level that was interrupted by the original requests. Thus, the lower priority token resumes circulation at the point of interruption. In general, the priority scheme adopted .in the token ring network performs well. However, in some situations the requirement of hierarchical independence may not be satisfied. For example, the priority reservation information may be outdated if the new high priority packets arrive before a free token is released and after the reservation is made. In this case, the free token may be occupied by a lower priority packet. Further- more, due to the nonpreemptive transmission, a higher priority station can do nothing but make a reservation and wait during the circulation of a busy token. The priority scheme also is not fair and favors the low priority stations located downstream and closer to the high priority stations which are mostly active. As a result, some stations might be cut off from the ring if they are located farther away from some high priority class stations hav- ing heavy traffic. The requirement of robustness may also not be satisfied. If a station 29 which did change the token priority fails to function later, the token priority could never be brought down and this will cause starvation among low priority stations. In addition, the complexity of the token ring and the necessity to maintain an active channel interface is unsuitable for real-time applications. 2.3.3 Token Passing Bus Network Token passing involves circulating a unique bit sequence (the token) among the net- work stations in a specific order. Only the station currently holding the token has access to the channel. Token bus incorporates the advantages of the token ring. Stations are connected to the bus via taps. Since the taps are passive elements, as opposed to the active interfaces of a ring, bus networks are less susceptible to failure. Token passing guarantees access to each network station within a prescribed period of time. The highly deterministic nature of this scheme is a critical quality for distributed real-time applications. In a standard token passing protocol [IEEE83], three bits in the packet are used to represent up to 8 different priority classes (PC). However, only four priority classes are used in the current proposal. These four classes of services are syn- chronous (PC=6), asynchronous urgent (PC=4), asynchronous normal (PC=2), and asyn- chronous time-available (PC=0) [Sta184]. In this priority scheme, the lower priority pack- ets are deferred when the network is heavily loaded. Network loading is computed at each station by measuring the time elapsed between two consecutive tokens. When the network is lightly loaded, a station passes the token and receives it again in a short period of time. As loading increases, the time for the token to return to the station increases. If the time exceeds a predetermined threshold value, low priority traffic is deferred until the network load decreases. A separate threshold value exists for each of the three lower priority classes. The highest priority class of packets can always be transmitted when the station receives the token and the token-holdin g timer is not expired. 30 The major drawback of the token based networks is the overhead involved in pass- ing the token. This overhead has a significant impact on the performance of the network, especially in a light load situation or when the traffic distribution among stations is asym- metric. Since the token circulation path is static, the token may visit idle stations, result- ing in a waste of bandwidth and an increase in the overall delay of the network. This effect becomes drastic when priority schemes are implemented. As described above, the object of the priority is to allocate network bandwidth to the higher priority class mes- sages and to send lower priority messages when there is enough bandwidth. Conse- quently, a station receiving the token may not be able to transmit any messages due to the constraints imposed by the priority scheme. The token must be passed to the next station, resulting in a waste of bandwidth and a degradation of the overall performance. A closer look at the token bus priority scheme reveals also that the priority scheme lacks fairness and fails to meet hierarchical independence requirements. Since the token passing sequence is not necessarily transferred in the order of the addresses for any priority class except the one with the highest priority, the order of channel access is dependent on the traffic in other classes and different values of thresholds. In the worst case, it is possible that the packets of a lower priority class at a station get blocked, while the packets with the same priority at another station get transmitted. We notice finally that the reliable operation of token based networks relies on the integrity of explicit information such as a unique token or, on the integrity of the active stations. In addition to degrading the overall performance of the network, improper behavior of the stations destroys the deterministic properties of the network. The resolu- tion of exceptional events, such as the addition of a new station to the logical ring, may not be collision free, violating thereby the main objective of the protocol, collision elimi- nation. Sirnilarly, it is difficult to predict what impact exceptional events, such as the election of a new control unit or the recovery from a token loss, might have on access delays. 31 In order to overcome most of the short-comin gs of the previous schemes, several approaches have been proposed in the literature. Some of these approaches have aimed at eliminating the physical circulation of the token on the network [LiF182, UlWA81, ToBF82, FiT082]. Instead, an implicit token was used to determine the next station allowed to transmit. Implicit passing of the token considerably improves the overall robustness of the network. However, under light loads, the performance of these schemes remains poor. In addition, little effort has been made in attempting to improve the characteristics of the priority scheme. The objective of this work is to investigate efficient and effective strategies to han- dle messages communication in real-time environment. The need for an efficient priority scheme at the data link layer is crucial to the implementation of an efficient scheduling policy at the inter-process communication layer. A novel access arbitration scheme is proposed in the next chapter. The scheme attempts to preserve the main advantages of the CSMA/CD and token bus schemes. Above all, the scheme guarantees a more efficient way of handling different priority classes by implementing a priority mechanism that satisfies closely the basic requirements of a general priority scheme. 2.4 CONCLUSION In this chapter we identified the basic design requirements of distributed real-time systems. The fundamental problems introduced by these systems and the solutions they require have been discussed. The main focus of the chapter, however, was dedicated to discussing issues related to the design of multi-access protocols for local area networks intended to handle distributed real-time systems. The basic requirements that must be satisfied by these communication protocols were provided and the adherence of the stan- dard protocols to these requirements was discussed. 32 In our discussion of the CSMA/CD based schemes, we have observed that the pro- bability of collision increases as the load on the channel increases, leading to poor chan- nel throughput and worst of all to an unbounded access delay. In addition, we noticed that the protocol does not handle different message priority classes. The absence of a guaranteed upper bound on the access time and the nonexistence of a priority mechanism to handle different classes of messages are undesirable features of any communication protocol intended for real-time application. On the other hand, we have argued that the performance of a token-based access mechanism decreases in a light load situation, due to the overhead generated by the token traveling among idle stations. In addition, the priority scheme provided by these proto- cols, rather a bandwidth allocation, violates the hierarchical independence requirement of a priority scheme. We conclude our discussion by observing that from a performance point of view, it is desirable to have a protocol which achieves good performance over the entire range of channel utilization. Moreover, in order to provide acceptable performance in real-time environments, an efficient priority scheme is required. Therefore, a more efficient proto- col for handling messages with different priority classes would combine the advantages of both CSMA/CD and token-passing bus protocols, but avoid their shortcomings. The above observation lead to the proposed protocol described in the subsequent chapters. Chapter 3 A Priority Based Resolution Multiaccess Protocol For Real-Time Systems In the previous chapter, we set forth the basic requirements of real-time applica- tions, and described the basic functionality and architecture of multiaccess protocols for distributed real-time systems. In our review of the proposed schemes to handle distri- buted real-time applications, two medium access schemes, CSMA/CD and token-passing based protocol, received much attention. Our interest in these schemes stems from their relatively simple topology. In addition, as stated in the previous chapter, CSMA/CD based schemes provide a good throughput-delay performance at low channel utilization even for a very a large number of stations. Token-passing based protocols guarantee an upper bound on the access delay and can achieve high channel throughput even when the channel untilization is high. However, neither CSMA/CD nor token-passing based proto- cols fully satisfy the requirements of an access mechanism designed to handle real-time traffic. In this chapter, we describe a channel access scheme which attempts to preserve the main advantages of both CSMA/CD and token passing bus schemes and remedy their aforementioned shortcomings. The first part of this chapter is devoted to describing the design requirements of the proposed protocol. The framework of station communication is then introduced and the 33 34 basic data structure required for the proper functioning of the protocol is described. In the second part of the chapter we introduce the concept of an ideal protocol as a pictorial aid for the design of multiaccess protocols. We then provide a description of the protocol by tracing its basic operations. Next, we formally describe the behavior of the protocol using a state tabulation method. The last part of this chapter is dedicated to discussing issues related to the implementation of the network priority list, a key data structure for the proper functioning of the protocol. 3.1 DESIGN REQUIREMENTS Prior to detailing the proposed protocol, we describe the network structure and the design requirements for the protocol implementation. 3.1.1 Network Architecture It is assumed that the network has at most N processors, referred to as stations. In a real-time environment, the need to reduce failure rate and achieve acceptable protocol performance drive realistic network irnplementors to limit the stations connected to the network to a relatively small number. The set of connected stations uses a single channel for communications. At a given time only one message can be successfully transmitted over the channel. When more than one station attempts to transmit simultaneously, a col- lision occurs and the information is lost. Note that the amount of time during which a collision may occur is twice the maximum round trip end-to-end propagation delay. The broadcast nature of transmission allows stations to monitor the activity of the channel and either recognize a successful transmission, detect a collision or sense the channel idle. The ability of stations to detect message collisions and subsequently abort transmis- sion of their messages ensures that the channel is not wasted by the transmission of a col- liding message. 35 The network stations are ordered so as to form a logical ring. Every station in the logical ring is assigned a unique logical identity (LID), s, where 0S s SN —1. We assume these identities are assigned when the stations join the network for the first time. The assignment of these identities can be achieved by some control or management pro- cedures. The scheme makes no assumptions regarding the mapping between a station’s LID and its physical address, or the policy and the order according to which an identity is assigned. Stations are not required to memorize the logical identity of their successors or predecessors in the logical ring. Furthermore, stations are not assumed to have any knowledge of the positions of other stations in the logical ring or the distances that separate them. The logical ring can either be static or dynamic. In a static configuration, the logical identity infers a predetermined sequential ordering of the stations, so that the position of any given station in the ring is fixed. In a dynamic ring configuration, stations can voluntarily drop out of the ring, thereby relinquishing their current position in the logical ring and reducing by one the size of the ring. The size of the logical ring may also be reduced whenever the failure of a station previously part of the ring is detected by other stations in the logical ring. A reconfiguration of the ring is then required and the failing station is temporarily removed from the ring. Similarly, a ring reconfiguration is necessary whenever a station not currently part of the logical ring wishes to join the ring. At the completion of the reconfiguration process, the station is assigned a position signifying its reintegration into the logical ring. In a dynamic configuration, the current position of a station in the logical ring will be referred to as its station index. Note that in a dynamic ring configuration, the station logical ID and the station index are not necessarily the same. 36 3.1.2 Performance issues Protocols require the use of channel for explicit exchange of control information in order to achieve some form of coordination. The fraction of the channel used for success- ful message transmission, as opposed to control information and message collisions, is known as the efi'ective utilization of the channel [Lam75]. The maximum value of the effective utilization over all possible traffic loads is known as the capacity of the proto- col. Several aspects of the multiple-access environment and the behavior of the protocol itself influence its capacity [Yemi79]. This capacity characterizes the performance behavior of the network. Another measurement to be considered in the performance evaluation of a network is the message delay, defined as the time interval between the instant at which a message is delivered to the source station and the instant at which that message is successfully received by the destination station. The message delay consists of an access delay and a communication delay. The access delay of a message is the time required for the ready message to successfully gain entry to the communication channel. The communication delay of a message is the time spent on the channel and is deter- mined by the channel transmission rate and the message length. Throughput and delay characteristics have been the most frequently cited performance measures in the litera- ture. The trade-off between the access delay and the throughput reflects the effect of an increasing message generation rate on the average message delay. In a real-time environment, however, an important performance consideration is the percentage of messages that are received at the destination station before the expiration of their deadlines. If the delay of the message is exceeded, the message is considered lost regardless of whether it is ever received by the destination station. 37 3.1.3 Station Design Issues The purpose of the following section is to briefly introduce the framework of station communication in a local area network. A description of the basic data structure required in the proposed the protocol is also provided. 3.1 .3.1 Inter-layer Interfaces The framework for communication consists of many components with complex interaction between them. This characteristic makes the task of communication in a truly cooperative way between applications on different processors too complex to be handled as a single unit. The problem must be decomposed into manageable parts. Hence, a struc- ture or architecture that defines the communication tasks is required. This line of reason- ing led to the development of different models and architectures to define the communi- cation system. A widely accepted structuring technique is layering. The purpose of each layer is to offer certain services to the higher layers, shielding those layers from the details of how offered services are actually implemented [Zimm80]. In the proposed protocol, we assume that higher levels of the communication sys- tem establish an ordering on the set of messages generated by the network stations. The scheduling strategy used by higher layers may be based on a dynamic priority scheme. In this scheme, messages may be ordered increasingly according to the value of their dead- lines. Based on the timing constraints, higher layers of the communication protocol assign an integer to the out-going message. This integer defines the priority of the mes- sage. A message will be assigned a high priority if its deadline is near and will be assigned a low priority if its deadline is far in time. We assume that the priority carried by the messages ranges between [1,m -1], where 1 is the lowest priority and m—l is the highest priority. 38 3.1.3.2 Basic data structure The primary services provided by the low level layer to to the higher layers are transmission and reception of messages according to their priorities. In order to achieve this purpose, each station in the network maintains a local transmission queue (TQ) which holds outgoing messages ordered according to their priority classes. Messages of the same class are ordered according to their arrival times. At any instant, the priority of a station is defined as the current highest message priority in its T Q. We will use p (s) to denote the priority of station s, OSsSN-l. Note that the value of p (s) is subject to change due to the arrival of newly generated messages or the departure of old ones. When the TQ of station s is empty, its priority is set to 0; this is is referred to as the base priority. Therefore, p (s) will always range between 0 and m -1. Finally, we define the network priority, p, to be the current highest priority among all stations. Thus, at any instant p =max{p (s) l OSsSN -1}. In addition to its transmission queue, each station maintains a data structure called the Network Priority List (NPL). Each NPL has N entries, one for each station. Each entry has two fields, NP and LINK. The field NP,-(s) denotes the most recently gathered information about the priority of station s (OSsSN -1) by station i (0SiSN -1). Conse- quently, NP,-(s) will be updated after each successful transmission of a frame by station s. The field LINK ,- (s) is used to maintain the entries in sorted order according to the value of NP,-(s). Due to the broadcast nature of the shared bus, all active stations are able to receive any information successfully placed on the channel. In general, the content of local NPL’s will be consistent over all stations. Thus, NP,-(s)=NP 1-(s) and LINK ,-(s)=UNK ,(s) for all i¢j and will be denoted as NP(s) and LINK (s), respectively. In order to implement a priority mechanism in such distributed systems, we need to address three basic issues, namely to : 39 0 identify the instants at which the network priority , p, is assessed, 0 design a mechanism by which the value of p is identified, 0 design a mechanism which guarantees the right of channel access to a unique station among all contending ones. The network priority list will prove to be useful in achieving the above task. How- ever, since the NPL is accessed frequently, an efficient mechanism for its implementation and updating is required. Issues related to the implementation of the network priority list will be considered later in this chapter. 3.2 PRIORITIZED HYBRID VIRTUAL TOKEN-PASSING PROTOCOL As stated previously, the objective of any access mechanism supporting priority functions is to identify the network priority. The efficiency of the scheme depends strongly on the overhead incurred in the attempt to assess the network priority and resolve conflicts which arise when more than one station holds that priority. Achieving this aim has varied from one scheme to another. However, there is a great deal of concep- tual overlap between these schemes. In this section, before describing the proposed pro- tocol, we attempt to define an ideal scheme which supports priority functions. The under- standing of the priority ring concept this scheme introduces will make the design, imple- mentation and comparison of priority based multiple access mechanism more tractable. 3.2.1 ideal Priority Scheme Conceptually, the priority classes defined by the access mechanism can be represented as a set of logical sub-rings, {R3,0 Si < m }, where m denotes the highest priority class. Each logical sub-ring corresponds to a distinct priority class. The stations in ring R,-, i>0, are those stations who currently have a priority i message to transmit. These stations will be referred to as ready stations. Stations with empty TQ’s belong to 40 R0 and will be referred to as idle stations. Let r(i) denote the number of stations in R5. Formally, station s e R,- if and only if p (s) = i. Therefore, we have r(i)=|{s, such that p (s)=i} I. Furthermore, R, is the current highest priority class sub- ringifand only ifr(k)¢0 and r(i) =0forall i > k. An ideal scheme which supports m different priority classes will always circulate the token, or access right, around the current highest priority class sub-ring, class—t sub- ring. The token implicitly travels from one ready station to another. The order in which the token visits these ready stations is such that the station whose message arrived first is served first, the station whose message arrived second is served second, and so on. Two circumstances can interrupt the circulation of the token in the current highest priority sub-ring. First, the sub-ring may become empty. As stations in the ring transmit their messages, they may drop fi'om R, to lower priority sub-rings, depending on the priority of the messages left in their TQ’s. If all the stations in the sub-ring are serviced and drop to lower priorities, then the token moves to the non empty sub-ring of highest priority, the new current highest priority ring. Second, if a message arrives with priority greater than t, say t’, then ring Ry is no longer empty, and it becomes the new current highest priority sub-ring. The token interrupts servicing stations in priority class-k sub-ring and travels up to service stations in priority class-t’ sub-ring. At the completion of its sojourn at priority class-t’ sub-ring, the token implicitly travels down to the next highest priority sub-ring, skipping all empty priority class sub—rings. An illustration of the ideal access mechanism is presented in Figure 3.1. We assume m different priority classes are allowed. After serving priority class-k sub-ring, Figure 3.1-(a), the token drops to class-r sub-ring, Figure 3.1-(b). However, the arrival of prior- ity m—l message forces the token to interrupt its sojourn at the class-r sub-ring and travel up to class-m —1 sub-ring, Figure 3.1-(c). At the completion of the service at the latter sub-ring, the token resumes service at priority class-r sub-ring, Figure 3.1-(d). 41 Ring m > D Ring m-l C C C > Service W Ring r A | —, 3 Completion R... 1 (a)- Serving sub-ring m (b)- Serving sub-ring r Service nterruption C > C > We": (“*3 C D Ring m-l Service Ring r ————> Completion Ring 2 (c)- Serving SUP-""9 "1‘1 (d)- Serving sub-ring r Figure 3.1 Ideal Priority Scheme 42 It is clear that the ideal scheme is responsive to different priority classes. The scheme ensures that the performance of higher priority class messages is insensitive to the load exercised on the channel by lower priority classes. In addition, the scheme allows different stations within the same priority class sub-ring to contend with equal right. Therefore, this scheme satisfies the criteria of hierarchical independence and fair- ness. However, the real implementation of such a scheme would require a certain amount of overhead. This overhead includes : e determining the current highest priority sub—ring, 0 handling the token circulation among ready stations in the current highest priority sub—ring and between different priority sub-rings. The proposed multiaccess protocol is an attempt to approach the performance of the above idealized channel access scheme with minimal implementation overhead. Conflict free access of the channel by stations at a given priority is realized by establishing a vir- tual sub-ring among stations currently holding a message of that priority. Stations currently part of the logical sub-ring transmit their messages in a cyclic fashion. After serving all ready stations of the current highest priority, the token implicitly drops to the next highest priority level, bypassing all empty priority sub-rings. A contention-based approach causes the token to travel from the current priority level to a higher priority level. Contention resolution is resolved in a deterministic fashion. A description of the protocol follows. 3.2.2 Protocol Description Stations on the network are always in one of three states active, joining or inactive. Active stations are those which are eligible to transmit. They may be either idle, if they have no messages to send (an empty TQ). or ready, if they have at least one message they wish to transmit. Depending on its priority, a ready station belongs to a sub-ring of that 43 Station Joining a Figure 3.2 State Diagram of a Station priority level. Inactive stations are those which have failed. Until its failure is generally acknowledged, the station is considered dormant. Once its failure is generally ack- nowledged, a dormant station is considered dead. Joining stations are those stations which are attempting to become active. The three station states and their further subdivi- sions are indicated in the stations state diagram shown in Figure 3.2. Both active and joining stations are able to monitor the activity of the channel and detect a successful transmission, an idle channel, or the occurrence of a collision. 44 Associated with the protocol is an assumed structure for the information as it appears on the transmission channel. For the transmission of data packets, this entity is called a frame [Stal83]. However, in the following discussions, the terms frame and mes- sage will be used interchangeably. The general frame structure of the proposed protocol is depicted in Figure 3.3. The header of the frame includes fields that contain the physi- cal address of the destination station, and the physical and logical addresses of the source station that originated the information. The next set of fields defines the control informa- tion necessary for different stations in the network in order for these stations to properly execute the protocol. Definition of these fields should become clear as we proceed with the description of the access mechanism. Note that the information carried by a success- fully transmitted frame is known to all active and joining stations. The access mechanism makes extensive use of this inherent capability. To provide for all basic operations, the protocol defines three types of frames: Data frames, NPL-request frames, and NPL frames. The type of the frame is identified by the value of its T field ( Figure 3.3 ). The "data" portion of the Data frames is usually vari- able in length , up to a certain maximum, and contains information that the sender is transferring to the receiver. Within the data field, full transparency is provided, in the sense that any arbitrary sequence of values may appear. NPL-request frames carry requests for the contents of the network priority list, in addition to their data unit. In order to become an active station, a station willing to join the network must obtain the content of the network priority list. The joining station man- ifests this desire by sending an NPL-request frame. The NPL-request frame will eventu- ally be honorcd by an active station which sends an NPL frame. In addition to the station data unit, the NPL frame carries the content of the station’s NPL. The additional informa- tion in the NPL frame comes in response to a previous NPL-request frame. 45 Figure 3.3 Frame Format Description SDDASASPRRPQPNATNPLDataFCSED SD: Start delimiter DA: Destination station address SA: Source station address 8: Source station logical identity P: Priority of the message being transmitted R: Repeat bit RP: Reserved priority of the transmitting station QP: Current highest priority of the Network Priority List NA: Current number of ready stations (optional) T: Frame type field 00: The transmitted frame is a DATA frame with the same priority as the reserved priority 01: The transmitted flame is a DATA frame with a higher priority than the reserved priority 10: The frame is an NPL-request frame 11: The frame contains NPL information NPL: Content of the NPL (exists only when T=11) Data: Data Unit FCS: Frame Check sequence ED: End delimiter At any instant, each station of the network belongs to a priority class sub-ring. Note that the value of NP (s) indicates that station s is in the priority class-NP (s) sub-ring. The ordering of station s within the priority class-NP subring is determined by the value of LINK (s ). Let np = Agog lNP (s). Note that up represents the highest priority glo- s = - bally known by all stations in the network and does not necessarily represent the network priority. The station at the front of the class-np sub-ring is potentially the next virtual token holder. This station will be referred to as station nv. describing its basic operations. Before presenting a formal specification of the protocol, we first sketch it by 46 The type of frame currently entering the channel dictates what actions the sending station, the other active stations, and any joining stations may perform. The protocol specifies three different procedures depending on whether the outgoing frame is a data frame, an NPL-request frame, or an NPL frame. Let v denote the station currently transmitting the frame and, thus, the current vir- tual token holder. If the outgoing flame is a data frame, station v fills the NP-field with the value of the current highest priority of its local transmission queue and fills the field QP with the current highest priority value of its NPL. All active stations, in the error free case under discussion, receive this message and record the value of RP as the reserved priority of station v in the entry of NP (v) of their local NPLs. At end of the updating procedure, station v attempts to implicitly pass the token to nv, the station currently at the front of the updated NPL. Knowing it is the next implicit virtual token holder, station nv attempts to transmit its highest priority message at the end of the current transmission. If the attempted transmission carries a priority higher than the known reserved priority NP(nv), station nv will signal it to other stations by setting the field T to 01. At the same time, all stations having a message with priority higher than NP(nv) will attempt to revoke the right to transmit from station nv by transmitting their own messages. Notice that the set of revok- ing stations may contain not only active but also joining stations. Prior to its attempt to join the ring, a joining station must listen to a full frame or sense the channel idle for a predefined time period. Similar to any active station, a joining station compares its current local priority with the network priority, np, carried by the transmitted frame, i.e., the maximum of the QP and the RP fields. If the current station priority is greater than up, the joining station has the right to revoke the channel access and will do so by attempting to send its message at the end of the current transmission. 47 If the set of revoking stations is empty, station nv will successfully transmit its mes- sage and implicitly become the new virtual token holder. However, if at least one station revokes the virtual token, transmission attempts will interfere and a collision will occur. Upon the detection of noise over the channel, the previous virtual token holder, station v, concludes that the attempt to pass the virtual token has failed and implicitly declares the opening of a priority assessment phase (PAP). The purpose of the PAP is to exclusively identify, among the revoking stations, the station currently holding the highest priority. Only stations revoking the right to transmit participate in the PAP. Given the current number of active stations, its current priority, and its position on the virtual ring, each revoking station generates a contention parameter and then executes the priority assess- ment protocol to be described later. The remaining stations, having messages with prior- ity less than or equal to NP(nv), will not compete for the channel but will monitor the channel activity during the PAP in order to to update their NPLs. At the completion of the PAP, the station with the highest priority and "closest" to the last virtual token holder, the station v, will be selected to access the channel and become the new virtual token holder. If a joining station is selected at the end of the PAP, it transmits its message and expresses its desire to obtain the NPL information by setting the field T to 10 in the out- going frame, designating it as an NPL-request frame,. The field QP of the outgoing frame does not carry any meaningful information. This request will be honored by the next active station to hold the token. Note that when an NPL-request frame is detected. no station is allowed to revoke the right to transmit; the next virtual token holder will immediately honor the request. All stations willing to join the network are then able to record the required NPL information and simultaneously enter the active state. However, if an active station is selected at the end of PAP, all joining stations will reiterate their attempts to join at the end of the next successful transmission. 48 Finally, if the outgoing frame is an NPL frame, it can only come in answer to a pre- vious NPL-request frame made by a joining station which has just successfully transmit- ted. This frame carries the content of the NPL, allowing all joining stations to simultane- ously record the NPL information and update their respective local copies of the NPL. These joining stations then become active and are thereafter able to correctly execute the protocol. During the initialization phase or when the NPL becomes empty, the network prior- ity is reset to its base priority and all stations are in the idle state. In this state, all stations are allowed to attempt transmission immediately after the arrival of a newly generated message. If the attempt is successful, the transmitting station will become the current vir- tual token holder. However, if the attempt is unsuccessful due to the occurrence and detection of a collision, a PAP is declared and all competing stations move into the PAP. If a joining station detects that the channel has been idle for a predefined period of time, it assumes the network is empty and attempts its flame transmission immediately. We have mentioned that a revoking station must have a higher priority than the implicit virtual token holder. This restriction is necessary to avoid spurious contention for the channel. However, under this scheme a situation exists where, by successively reserving the channel, the current virtual token holder may prevent all other stations with the same priority flom competing for the channel. To avoid this situation, an additional restriction is required; every time the current token holder attempts to reserve the same priority as the priority of the message being sent, it sets the repeat bit R. When set, this bit signals that the station has already sent a message of the indicated priority. This will allow those stations, which are currently holding the same priority but did not have the opportunity to make a reservation, to revoke the right to access the channel. The failure of the implicit virtual token holder introduces an exception to the previ- ously described protocol. This situation can be identified after the channel remains idle 49 for one slot time or when another station currently holding a message of a higher priority than the NP(nv) successfully transmits its message immediately following the previous successful transmission. All active stations then assume the failure of the implicit virtual token holder. Each station updates its local copy of the NPL. The station at the top of the updated NPL becomes the next virtual token holder. Notice that if more than one station attempts to revoke the right to transmit, the failure of the implicit virtual token holder remains undetected and the failing station will remain dormant. 3.3 PROTOCOL FORMAL SPECIFICATION A State-Condition-Action tabulation method (SCA) was proposed [LGKN 86] to describe distributed algorithms and access protocols. A protocol can be characterized by a number of states. The main idea behind the SCA tabulation method is to associate a table with each state of the protocol. The table consists of a current state row, a set of condition rows, an action row, an action status row and a next state row. The table describes the action undertaken by a station under all possible conditions. Given a current state, the satisfaction of a given set of conditions triggers the appropriate actions to be performed. The result of these actions determines the next state. In the table, the satisfac- tion of a set of conditions is checked by ANDin g all row conditions in order to determine a unique action-column. The station then performs the set of actions described in the corresponding action-entry of the table before moving into the state described by the next state entry of the same action-column. Depending on its current state, a station can view the protocol in one of three possi- ble states: End Of Transmission state (EOT), Joining Attempt (JA) state, or a Priority Assessment Phase state. At the end of a successful frame transmission, all active stations move into EOT state. Joining stations, however, move into I A state. Note that the joining stations are allowed to move into the JA state since they heard a full frame over the 50 channel. Depending on the information carried by the last successfully transmitted frame, active and joining stations determine the set of actions they need to undertake and the next state they must move into. The set of conditions and the resulting actions for the EOT state and the IA state are described in the SCA tables shown in Figure 3.4 and Fig- ure 3.5, respectively. To illustrate the SCA tabulation mechanism, we detail the behavior of an active sta- tion and a joining station as described in the corresponding SCA table. At the end of transmission, all active stations move into the EOT state. If the previous flame was an NPL-request frame (Fflag is set), the current token holder will honor the request in the next transmission. All remaining stations will refrain from competing for the channel. The successful transmission of the NPL-frame will lead all stations into the EOT state. If no NPL-frame was requested (Fflag is unset), the virtual token holder will attempt its transmission. All stations currently holding a message of priority higher than the current network priority list (p (s) > NP(nv) ), will revoke the right to transmit from station nv. The same mechanism applies to describe the SCA table of the JA state. At the end of transmission, if the joining station recognizes an NPL-frame (T=11), the station updates its NPL and sets its status to active (Action). If the transmitted frame is DATA- flame (Tatl), the joining station compares its current priority to the network priority glo- bally known by all active stations (Cond-4). Depending on the outcome of the com- parison, the joining station decides either to attempt its frame transmission or postpone it for later. Finally, if the joining station detects an idle channel (Cond-l), the station transmits its flame and sets its state to active. Note that a joining station is required to monitor the channel for [log (N {I slots, during which no collision occurs before it con- cludes that the channel is idle. This requirement ensures that a joining station never dis- turbs a priority assessment phase. 51 Current state BOT : End of TransrnMon Virtual Non Virtual Cond-l Token Holder Token Holder (8 = nv) (s at nv) Cond-2 Fflag = False Fflag = ane Fflag = False Fflag = ane Cond-3 p(s)>NP(nv) p(s)=NP(nv) p(s)>NP(nv) p(s) low Cond-2 Active Inactive Cond-3 cp >L,~ cp SL, cp >L,- cp 5L,- Action 0 Set T=00 Monitor 0 Set T=01 Monitor oTransrnit channel oTransmit channel highest highest priority Priofity flame flame Action status Suc Col Suc Suc Col Suc Col Suc Suc Col & T=01 & T¢01 Next state EOT BOT PAP BOT PAP PAP EOT PAP EOT PAP PAP Figure 3.6 The SCA table describing the state PAP 53 3.4 NETWORK PRIORITY LIST DESIGN ISSUES A realistic implementation of a channel access mechanism must place heavy emphasis on such constraints as efficiency and suitability to a particular technology or architecture. In this context, several important properties of the protocol must be con- sidered. However, since the description of the protocol provided above is only intended as the primary specification of the protocol behavior, we will only emphasize the imple- mentation issues of the main data structure required by the protocol, namely the network priority list. 3.4.1 Implementation Considerations The Network Priority List (NPL) is the main data structure on which relies the proper functioning of the proposed protocol. The information carried by the NPL is cru- cial in order for the stations in the network to correctly execute the protocol. Each sta- tion maintains an NPL which is accessed and updated frequently. Therefore, a reliable, robust and efiicient implementation of the required data structure becomes crucial to the performance of the protocol. A data structure is said to be reliable if failures do not seri- ously impair its satisfactory operation [PAR75]. Therefore, reliability does not mean fleedom from errors and faults, but tolerance against them. Robust data structure contains redundant information which allows erroneous changes to be detected, and possibly corrected [TaMoJ 80]. Efficiency refers to the ease of accessing and updating the data SD'UCIUI‘C. The proposed approach implements the NPL as a set of doubly linked lists. Each list links all NPL entries of the same priority. Stations linked to the same list belong to the same sub-ring. Each element in the structure consists of three memory locations. The first contains the priority reserved by the corresponding station. The second and third loca- tions contain respectively a pointer to the next station and the previous station in the 54 priority class sub-ring. This method of storage ensures that the operation of adding and deleting stations from the sub-rin gs can be accomplished in a bounded amount of opera- tions, limiting thereby the access time. However, these operations assume a prior knowledge of the location where the new item is to be inserted or an old item to be deleted. In order to achieve this goal and keep the computational complexity of handling a sequence of insert and delete operations to a reasonable amount of time, we use, for each priority class, two additional pointers. Each of the two pointers gives the location of the current front and rear of the corresponding priority class list, respectively. The implementation of the NPL as a double linked list is illustrated in Figure 3.7. In this figure, we show the data structure required to handle N stations and four priority classes. The pointer head points to the current highest priority class globally known by the stations in the network. Top (p ) and Bottom (p ) , 0

I The set of all possible contention parameters is referred to as priority assessment interval (PAI). The priority of the contending stations ranges between NP(nv), the current net- work priority, and the allowed highest priority m—l. Therefore only contention parame- ters generated for priorities higher than the current network priority will be used during the PAP. 63 Define d(n,v) be the distance or the number of arcs between station n and station v, the virtual token holder. Station n1 is closer to v than station n2 if and only if d (n1,v)fv(n2.p). 0 Priority ascendance P4=fv(n.p1)>fv(n.p2). if p 1 >122. P53 fv(niipi)>fv(nj9pj)i iprPj- oContiguity P63| fv(nr,P) 'fv(nz»P)I =1, ifd(n1,n2)=l. P7: Minn.- [fv(Pini)I " Maxi!) {(fv(p'lrnj)} = 1- Theorem 4.1 Proof Let n be the CSN of a given station and p its priority. Consider the following mapping f, defined as follows : fv(n.p)=C(p-1) + (C—d(n,v)) mod C This definition of f, satisfies all of the above properties. First, we prove the following: if d(n1,v)=d(n2,v) then it; =n2 Assuming d(n1,v) = d(n2,v), we can write (C—v+n1)modC=(C-v+n2)modC =9 C—v—nl=C—v+n2+kxC,forsomeintegerk, =9 n1=n2+ka However,0$n1 SC-l = k=0 => n1=n2.QED P1: Assume that Mr: 1 .p) =fv(n2.p) = (C -d(n1,v)) mod C =(C -d(n2,v)) modC => d(n1,v)=d(n2,v)+k xC However,0$d(n,v) d(n1,v)=d(n2,v) => n1=n2.QED P2: Assume that fv(n,p1) = fv(n,p2) = C x (pl-1) + ((C -d(n,v)) mod C) = C x (p2 — 1) + ((C —d(n,v)) mod C); Therefore, p1 =p2. QED 65 P3: Assume that d(n 1 ,v) < d(n2,v), we can write C -d(n1,v) > C —d(n2,v) = (C -d(n1,v)) mod C > (C -d(n2,v)) mod C =9 fv(n1,p) >fv(n2.p). OED P4: Itisclearthatifpl>p2thean(p1—1)>Cx(p2-1)=9 fv(n.p 1) > fv(n.p2). QED P5: Assume that p,- > p ,- we can write p,- =pj + k, for some integer k 21; Therefore, fv(n,-,p,-) = C x (p,- + k + l) + ((C — d(n,,v)) mod C), can be written as C x (p,~1)+ k x C + ((C - d(n,-,v)) mod C), however, since k 21, we can write k x c + ((C - d(n;,v)) mod C) > (c - d(nj,C)) mod C = f,(n,-,p,-). OED P6: We will assume without loss of generality that fv (n 1 ,p) > fv(n2,p); We havel (fv(n1.p)-fv(n2.p))l= ((C - d (n1.v)) mod C) - ((C -d(n2.V)) mod C); The above equation reduces to ((d(n2,v) — d(n1,v)) mod C), which can be further written as (((C -v + n2) mod C) - ((C -v + n) mod C)) mod C, which simplifies to (nz—nl) mod C = (C -(n2 -n1) mod C =d(n1,n2). Therefore, ifd(n1,n2) = 1 then |fv(n1,p) -fv(n2,p)| =1. QED P7: It is clear that for a given priority p, Minn, {fv(n,-,p)} and Maxn’. {fv(nj,p) } are achieved for n,- = v and nj = v + 1, respectively. Therefore, Minn, {fv(n,-,p)} = C x (p — l) + ((C —d(v,v) mod C) = C x (p — 1) Similarly, Maxn’. {fv(n,-,p -1)}= C x (p - 2) +((C - d(nu,v +1) mod C), The above equation reduces to C x (p — l) - l = Minn, — 1.GED This completes the proof of the theorem. El Notice that the way the mapping is defined does not favor the token holder against the other contending stations. It does not allow the current token holder to send again if there is another contending station that has a message with the same highest priority. In the dynamic CSN assignment scheme, all joining stations use the value NA of the last successfully transmitted frame to compute their contention parameters. In order to enforcing uniqueness of the contention parameters among joining stations, each joining station has to append its unique LID to the computed contention parameter. Note that this concatenation does not introduce additional complexity in resolving the PAP. 4.1.2.1 Example Consider the case where the number of active stations NA is 8 and the number of priority classes m is 3. Let station 2 be the current virtual token holder. Figure 4.1 shows the values of the contention parameters obtained for each class of priority and for each station. The values obtained show that for a given priority, p, station 3 holds the highest contention parameter among all the stations, station 4 the next highest, and so on. We can also note that the mapping preserves the increasing property of the priority function; higher priorities result in higher contention parameters. 67 Station LID 0 l 2 3 4 5 6 7 Distance 6 7 0 1 2 3 4 5 Figure 4.1-(a). Distance: d(n,v) Station LID 0 1 2 3 4 5 6 7 C - Distance 2 1 0 7 6 5 4 3 Figure 4.1-(b). (C - d(n,v)) mod C Station LID 0 l 2 3 4 5 6 7 p=1 2 l 0 7 6 5 4 3 =2 10 9 8 15 14 13 12 ll p=3 18 17 16 23 22 21 20 19 Figure 4.1-(c). Contention parameters Figure 4.1 Contention Parameters Computation 4.2 IMPLEMENTATION CONSIDERATION Central to the PAP is a search procedure which successively examines a set of win- dows within the PAI until the highest contention parameter is determined. Starting with the initial priority assessment interval, successively smaller intervals are eventually gen- erated according to a globally known search procedure. The formal description of the 68 search procedure is shown in Figure 4.2. The procedure requires two arguments, the lower bound and upper bound of the PAI. Notice that the variables "low" and "up' represent the lower bound and the upper bound of the currently searched interval. Procedure Search(min,max) begin done := false; low := min up := max; While ( (up-low) > O and ( not done) do begin bound := New_bound(low,up); If ( Channel Status = ”collision“ ) then low := bound; elseif (Channel Status = "idle") then up := bound; else (Channel Status = ”transmission”); done := true; end end Figure 4.2 Search Procedure The protocol maintains a value of a lower bound such that only stations whose con- tention parameters are higher than the lower bound are allowed to contend for the 69 channel. Note that each search step takes one slot time (channel round-trip propagation delay) to complete. Note also that because of the broadcast nature of the channel, all sta- tions have a consistent view of the channel history. When the initial value of the lower bound is chosen, one of three possible events may occur in the next slot: (1) Exactly one station responds to the open contention slot. The attempt results in a successful transmission. The current highest priority station of the network is exclusively identified and the search temrinates successfully. (2) More than one station attempts to transmit during the open slot. The simultane- ous attempts result in a collision. Thus the highest contention parameter is not yet deter- mined. Further steps are required. The lower bound of the currently searched window is updated by a globally known procedure and the search resumes in the new window. (3) No station responds to the open contention slot and the channel remains idle for one slot time. The highest contention parameter belongs to the lower window of the currently searched interval. The upper bound of the interval is updated to the equal the lower bound of the previously searched window and the search resumes in the new win- dow. The search procedure which identifies the station currently holding the highest con- tention parameter has a strong impact on the overall preformance of the priority scheme. The procedure relies on the strategy used to update the priority assessment interval. This strategy must be efficient in order to minimize the overhead incurred by the contention resolution. The overhead consists of the contention slots required to exclusively deter- mine the highest contention parameter during the priority assessment phase. Reducing the number of steps required minimizes the expected length of the priority assessment interval. We define the length of a priority assessment interval as the number of conten- tion slots needed before the station with the highest contention parameter is exclusively 70 identified. Minimizing the expected number of contention slots required to determine the highest contention parameter of the system depends on the strategy used to build succes- sive priority assessment intervals. In other words, the search procedure should be able to determine the highest contention parameter in a minimum number of steps (or slots). In general, this number increases as the size of the initial priority assessment interval increases. Different methods could be used to achieve the above purpose. The basic features which characterize these methods, and on which depend the methods suitability for real-time application, include efficiency, computational involvement and storage requirement. These methods are classified as dynamic, static and adaptive. Dynamic methods are based on dynamic programming. Dynamic programming is a mathematical technique often useful for making a sequence of interrelated decisions. It provides a sys- tematic procedure for determining the combination of decisions that maximize overall effectiveness. In essence, dynamic programming calculates the solution to all subprob- lems. The computation proceeds from the small subproblems to the larger subproblems. These methods usually produce an optimal solution. However, their computational involvement or storage requirement prohibits their use in a real-time environment. A atatic approach does not attempt to make use of any properties or characteristics of the input problem. The partitioning algorithm follows a predetermined pattern. Adaptive approaches try to strike a balance between efficiency, computation and storage require- ments. In the remaining of this section we will briefly review the optimal solutions based on dynamic programming. We then provide a description of the different approaches we propose as alternatives to reduce the computational requirements of the optimal scheme. The performance analysis of the proposed schemes will help determine the adequate stra- tegy for the scheme. 71 4.2.1 Optimal Approach A central feature in the development of an optimal control policy of the PAP is the assumption that the PAP intervals are independent. Therefore, minimizing the length of individual PAI’s tends to minimize the overall performance of the multiaccess protocol. Consequently, the optimal control of the length of the PAP can be achieved by choosing an optimum sequence of PAI. This approach was adopted in the optimal window proto- col proposed by Wah and Juang [WhJu83,WaJu84]. The method, based on dynamic pro- gramming, provides a lower bound in terms of the number of contention slots required. In this method, the optimal control of the PAI is achieved by dynamically computing the boundary value of the next interval which reduces the number of future contention slots, in case the current contention slot results in a collision. The expected number of contention slots can be computed by observing that a suc- cessful transmission will not require additional slots. However, if the channel remains idle or a collision occurs during the current contention slot, additional contention slots will be required in the updated PAI before the highest contention parameter is deter- mined. Consequently, the ith value, L,, of the PAI which minimizes the total number of contention slots can be obtained by solving the following recurrence equation: Mv(low,up) = minlawdiap { 1+ 0 x S(L,-,low,up) + MV(L,-,up) x C(L;,low,up) + Mv(low,L,-) x I(L,-,low,up) }; where o M v (low,up) represents the minimum expected number of contention slots required to identify the highest contention parameter given that a collision occurred in the current PAI. 72 o S (Li, low,up) represents the probability of success in the next contention slot, when the next PAI used is [L5,up]. o C (L;,low, up) represents the probability of collision in the next contention slot, when the next PAI used is [L3,up ]. o I (L;,low,up) represents the probability of channel remaining idle in the next con- tention slot, when the interval [Li,up] is used. The dynamic programming approach discussed above provides a lower bound on the expected length of the PAP. However, its computational complexity is very high and cannot be afforded in the real time environment. An obvious alternative to avoid the computation is to store the different values generated by the search tree. The appropriate values will then be retrieved when needed. This alternative will certainly help reduce the computational complexity, but the storage requirement involved may be prohibitive. We propose a dynamic search scheme based on optimal binary search [AhHU7 6]. This dynamic scheme, also based on dynamic programming, requires less computation than the previous scheme and preserve to a high degree the "optimality" property of the dynamic window protocol. 4.2.1.1 Optimal binary search The problem of achieving optimal conuol can be abstracted as efficiently processing a sequence of search instructions to determine the highest contention parameter in the current PAI. Given a subset C={c1,c2,....,c,,} of the set of all possible contention parameters, we need to design a data structure that allows the efficient processing of a search sequence with the smallest expected number of comparisons. Assume that, in addition to the subset C, we are given the probabilities pg, lSi Sn, that a given station generates a contention parameter of value c,,0Si Sn. A data structure that is suited for processing the search sequence is the optimal binary search tree. 73 Procedure Optree begin n:=1 ; for i:= NPL(nv) to in do for 5:: O to NA-t do begin CInlz=fv (SJ); ”m:=-“psi; n:=n+1 ; end n:=n-1 ;weight[0,0]:=0;cost[0,0]:=0; for i:=1 to n do begin weight[i,i]:=0; cost[i,i]:=0; r[i-1,i]:-.-.i; end for m:= 1 to n do for i:= O to n-m do begin j:=i+m; weight[i ,j] :=weig ht[i ,j-1 ]+p[j]; (* Let m be the value of k, r[i,j-1]sksr[i+1,j], for which cost[i,k-1]+cost[k,fl is minimum *) cost[i ,j] :=weig ht[i ,j]+cost[i ,m-1 ]+cost[m ,j]; Fli,i]:=m; ' root[i,fl:=c,,,; end end Figure 4.3 Optimal Search Tree 74 A closer look at the problem of achieving optimal control of the PAP reveals that the minimization of the expected number of contention slots does not only depend on the probability of success, but also on the choice of subsequent intervals. Let us assume the searched element c is the label l(v) of some vertex v of the binary searched tree. The number of vertices visited before we reach the element c is one more than the depth" of the vertex v. Thus, the cost of the binary search search tree can be defined as: i=n Cost = 2 p,- x ( depth (a;) + 1) i=1 Consequently, optimal control of the PAI can be achieved by designing a binary search tree for C which minimizes the above cost. The basic idea underlying the optimal binary search tree construction consists in determining the element pertaining to the root first. Once the above element is identified, the next step consists in recursively building the left and right subtrees of the binary search tree. The procedure is described in Figure 4.3. The algorithm requires 0 (n2) time to construct the optimal binary search tree [Knut73]. Once we have a minimum-cost binary search tree, we use the search method described in Figure 4.2 to determine the highest contention parameter. In the search pro- cedure, the value returned by the function New_bound(ij) is the root value of the optimal binary subtree build using the elements cg, cm , - - ° , cj. This value is contained in the variable root[i,j]. Note that, since the elements searched frequently are more likely to appear at the root of an optimal binary subtree, the optimal tree need not be traversed entirely. Dynamic programming based approaches provide a lower bound on the expected length of the PAP. However, these methods require either extensive computation or 'Wedefinethedepthofavertexvinatreeasthelengthofthepathflomtheroottov. 75 extensive storage. In addition, both methods assume that the probability p;,-, 0Si SNA —1, 1S j Sm, that station i generates a contention parameter when its priority is j are known. In some cases, the evaluation of these probabilities may present some difficulties. The limitations of mathematical programming methods with respect to problem complexity were recognized from the very beginning, but the intent was to acquire a better understanding of how these optimal methods would compare against static and heuristic algorithms. In the next sections, we present alternative schemes which are less computationally involved. The efficiency of these methods will be compared with the results obtained for the optimal scheme. 4.2.2 Static Approach A general static but less computationally involved method to solve the search prob- lem is to use a dichotomizing based strategy. Given the value of the lower bound and the value of the upper bound, the next priority assessment interval can be obtained by con- sidering the middle value of the currently searched interval. The implementation of the dichotomizing based approach does not present any difficulty. The method involves only a shift operation and does not require any additional storage capacity. The computational complexity of the search procedure based on the dichotomizing approach is acceptable. By repeatedly splitting the searched interval in half we need never offer more than flog(n+1)] , where n is the size of the initial PAI, contention slots to determine the highest contention parameter of the current priority assessment interval. The dichotomizing based approach is simple to implement. However, the strategy is static and does not take into consideration the recent past information of the channel behavior. This information can be efficiently used to predict the immediate future 76 behavior of the channel. In the following section, we discuss adaptive methods which could be used in attempt to strike a balance between the optimal computationally involved methods and the static dichotomizin g based approach. 4.2.3 Adaptive Approaches As stated previously, a dynamic programming based approach requires time and space complexity proportional to n2, where n is the size of the searched interval. There- fore, this scheme becomes impractical to use when n is large. A closer look at the optimal search procedure reveals that the severe cost imposed by the dynamic programming approach is mostly due to the number of recursion steps required before the highest contention parameter is determined. This observation sug- gests the search of other alternatives to either eliminate or reduce the number of recur- sion steps. The elimination of recursion can be achieved by choosing the next boundary value of the current PAI as the value which maximizes the probability of success in the next contention slot. This value can be easily derived by setting the first derivative of the probability of success in the next contention slot to zero. The solution of the resulting equation determines the boundary value of the next PAI. Although not much computa- tion is involved, this method only achieves a local optimization. Recursion reduction can be achieved by combining dynamic programming approach and dichotomizing based approach. Since the size of the currently searched interval affects the number of recursion steps required, a satisfactory approach to reduce the number of recursion steps would consider the process of determining the highest conten- tion parameter as a two step process. The first step consists of assessing the priority of the channel. This could be achieved by using a dichotomizing based approach. The second step consists of determining exclusively the station with the highest contention parameter 77 currently holding a message of the assessed priority. A dynamic programming based approach could then be used to identify this station. Note that after the assessment of the channel priority, the size of the searched interval is reduced to the current number of active stations in the network. The approximation methods discussed above offer an alternative to reduce the time complexity of the dynamic based schemes, preserving to a certain degree the optimality property of the dynamic programming scheme. However, the methods do not take advan- tage of the past information gathered fl'om the channel. The use at a given stage of the search of available observations flom previous stages can provide a basis for a computationally efficient search. We introduce a useful model which can be used to include previously collected information into the current search. The basic idea behind the model is to compute the next boundary value of the currently searched interval, [ Low, Up ], as the average of all previous boundary values within that interval that lead to a successful transmission. Formally, L,-(t) can be evaluated using the following equation: k=4 2 ¢kLt—k k=1 («r(i) = 75—— 2 4’1: k=l where 1 if Low s L,_,_<.Up ¢" = 0 0 otherwise A formal quantitative comparison of the three methods described above is rather difficult to carry out. One can obtain general analytical results for specific network configurations. However, a detailed analysis of each method involves too many parame- ters to be canied out in a tractable fashion. Therefore, one must rely on simulations to assess the performance of each method. The comparative study is the object of the next 78 chapter. The remainder of this chapter is dedicated to discussing issues related to the protocol reliability and robustness and the mechanism the protocol provides to handle faulty situations. 4.3 RELIABILITY AND FAULT MANAGEMENT In our investigation of the basic requirements that must be satisfied by any channel access mechanism intended to support communication in a distributed real-time environ- ment, we emphasized the importance of the protocol robustness and reliability. In the fol- lowing section, we will discuss the mechanism the protocol provides to handle fault recovery. Due to spatial separation, stations cannot be guaranteed to have a common percep- tion of the system state at any instant. Therefore, when a station receives a flame, it may infer that some station transmitted the flame, and therefore, that all active stations heard the transmission. However, the station does not make any inference about the validity or the nonvalidity of the flames Other stations heard. In our discussion, we assume that sta- tions may interfere with each others’ transmissions, but cannot predictably alter the con- tents of transmitted frames. The latter observation restricts the discussion of the fault recovery mechanism to handling only those faults caused by station failures or commun- ication errors. The failures include: 0 Station failure, 0 NPL inconsistency, 0 Station out of synchronization. In the remainder of the discussion, we first describe briefly the way the protocols handles intermittent stations failures. We then focus on the problem of mutual con- sistency which arises because of the existence of several copies of the NPL. In the final section, we discuss the way the protocol handles faults caused by stations which lose 79 synchronization during a PAP. 4.3.1 Station Failure The proposed protocol is entirely distributed and does not rely on a specific control message circulating among stations, such as a token. Since the token passing operation is implicit, the overall robustness of the proposed protocol is improved over the token pass- ing bus and the token ring protocols. The proposed protocol does not require mechanisms to ensure recovery from a token loss, a token duplication, or a circulating busy token. Furthermore, the protocol does not rely on any knowledge of a particular network configuration such as the physical position of each station on the network. Therefore, the failure of a station has little impact on the normal behavior of the protocol. As described in the formal definition of the protocol, a failing station remains dormant until its failure is noticed by active stations in the network. The dormant station then becomes dead. Notice that a station’s failure remains unknown to other stations in the network until the failing station becomes the next virtual token holder. Therefore, any station’s failure which occurred while the station was idle remains totally transparent to other stations in the network. Upon its recovery, the station becomes joining. The behavior of a joining station was fully described in the formal definition of the protocol. It has been shown that the joining operation can easily be achieved without disturbing the functioning of the net- work. 4.3.2 Network Priority List Inconsistency In spite of its robustness against intermittent station failures, the reliability of the proposed protocol still depends on the ability of the stations to accurately maintain its NPL. The NPL entry of the transmitting frame must be updated at the end of the frame transmission. The protocol makes use of the broadcast nature of the bus to allow active stations in the network to dynamically update their NPL’s. However, unreliable storage 80 media as well as transmission errors can cause inconsistency to occur between different copies of the NPL. The discrepancies between the actual values of the protocol global parameters, namely the network priority and the virtual token holder, and the value of these parameters as stored by a given station may cause the faulty station to disturb the normal behavior of the protocol. The technique used to ensure a robust and reliable functioning of the protocol is based on the redundancy of the information describing the global parameters of the pro- tocol. These values are available in the NPL of each station and carried by the last suc- cessful transmission. The redundancy of this information allows the station to detect the inconsistency of its NPL and prevents it from altering the normal behavior of the proto- col. Each time an active station detects a discrepancy between the value of the network priority carried by the successfully transmitted flame and the value contained in its NPL, the station discards the content of its NPL and becomes a joining station. Similarly, after receiving a flame, all active stations check the transmitted flame for eventual transmis- sion errors, by verifying the validity of the accompanying flame check sequence (FCS). Consequently, in the absence of transmission errors, the resulting update sequence must be strictly identical for all stations, resulting in consistent copies of the NPL. However, if a given station detects the nonvalidity of the transmitted frame, and since the station can- not make any inference about what other stations have heard, the station assumes the inconsistency of its NPL and moves into the joining state. Notice that in both cases, the station behavior is passive and does not affect the protocol operations. In the case when the station is the next virtual token holder the channel may remain idle. After one slot time, active stations assume that the virtual token holder has failed and a new epoch is resumed with the next virtual token holder. Notice that when a station detects a transmis- sion error, an error count is incremented and if a predetermined threshold is reached over a given time interval, an indication of the condition is reported. The report notification can either be local or remote to another node providing network management. 81 4.3.3 Station Out Of Synchronization The redundancy of the global parameters adds to the robustness of the protocol. Nevertheless, situations may occur when a station loses synchronization during a priority assessment phase. The faulty station may disturb the regular behavior of the search pro- cess, since it proceeds within a different PAI than other non-faulty active contending sta- tions. Let l f be the lower bound of the current PAI as computed by a faulty station sf, and cf the value of the contention parameter generated by this station. At a given stage of the PAP, six distinct cases can be identified. These case are listed below: cf < l 0 & No ConflictN(t)>0 & Conmcjlfl(t)=0 (14301)) I301) Transient state [n,1,0’f] [n,2,0§] [0,0,0] Next state Transmission Resolution Idle Transmission Transmission Transition inderu 2 3 4 5 6 Stations have buffer space for only one message, Figure 6.1-(b) Transmission state transition table. Newly generated packets form an independent Poisson process with mean arrival rate Mn), where n is the total number of stations currently in the system. A station is either in the system, if it is currently holding a message for transmission, or outside the system, if its transmission buffer is empty. In the following study the infinite source model as well as the finite source model will be considered. In the first model, the number of stations in the network is large enough to be assumed infinite. In the second model, the total number of stations in the network is fixed. The transmission time of a message is drawn from a general distribution function 81(x) with a density function b1(x). We denote by m(x)dx+o (dx) the first-order con- ditional probability that a transmission completes in the interval (x,x+dx) if it has been in service for time 1:, so that 112 current state [N (t),S(t),Y(t)]=[n,2,y 2(t)] : Resolution Event End of current resolution step(n2(yg(t))) Anival(M0)) 6 Effect N (t)=n+1 Condition Resolved(0t(n )) Not resolved(1-or(n )) Transient state [n.1,0‘f] [n,2,0§] Next state Transmission Resolution Resolution Resolution Transition index 7 8 9 10 Figure 6.1-(c) Resolution state transition table. ‘.‘IIU‘W b1(x)=n1(x) 6 Similarly, we denote the density function of the resolution step time by b2(x) and the first-order conditional probability that the current resolution step completes in the interval (x,x-hdx) if it did not complete before 1: by 112(x)+o (dz). Evidently, - (u)du b2(X)=nz(x)e In, Let n represent the current number of stations contending for the channel. We denote by [3(a) the probability that a collision occurs at the end of transmission of the current message and by d(n) the probability that the resolution phase ends at the completion of the current resolution step. More specifically, d(n) represents the pro- bability that the current resolution step is the last step required before a unique sta- tion is granted the channel access. Notice that the values of d(n) and B(n) are 113 protocol dependent. 6.2.3 Method of Analysis Before we outline the method of analysis which we use in the study, we briefly introduce the important terms used in the description of the model. A stochastic process is a process in which the state of the system changes with a parameter, usually time, in a probabilistic manner. An interesting class of stochastic processes is the Markov process. A stochastic process is said to be a Markov process if the present state of the system is sufficient to predict the future without the knowledge of the past history of the system. Stochastic processes which do not exhibit the Markovian property are termed non- Markovian. The analysis of non-Markovian processes frequently results in a mathemati- cally untractable model. However, it is often possible to treat stochastic process of non- Markovian nature by reducing it to a Markov process. Several techniques for studying non-Markovian processes are available in the literature. The most commonly used tech- niques include the method of stages [Klei74], Lindley’s integral equation [Lindi52], and the method of supplementary variables [Kend53, Cox55]. Beyond these approaches there exist other approaches to non-Markovian processes, among which are the random walk, the combinatorial approaches [T aka67] and the method of Green’s function [Kril65]. The method of stages is based on the notion of decomposing the service time distri- bution into a collection of structured exponential distributions. Therefore, so long as the the interarrival time and the service time probability distribution functions have Laplace transforms that are rational, the stage method applies. The method gives a procedure for carrying out a solution but does not show the solution as an explicit expression. There- fore, the properties of the solution cannot be studied for a class of systems. The embed- ded Markov chain-based technique involves extracting a discrete-time Markov chain embedded in the continuous-time process. The set of points, usually referred to as regen- eration points, verify the Markovian property. The main difficulty presented by this 114 method resides in identifying those instants of state transitions during which the process behaves like a Markov chain. The approach based on Lindley’s integral equation is suit- able for queueing systems with general interarrival time distributions and general service time distributions. However, the method cannot be specialized easily to particular sys- tems. The fundamental idea behind the method of supplementary variables is to include in the state vector of the stochastic process, the complete information which summarizes the past history relevant to the future process behavior. In general, so long as the system state description is not complex, the method provides an efficient tool to study the perfor- mance of several classes of systems. In this study, the approach adopted is based on the supplementary variable method as discussed below. 6.2.3.1 System state vector Consider the stochastic process {N (t),t >0}, where N (t) denotes the number of sta- tions requesting access to the channel. This process is not Markovian because the future behavior of the system cannot be predicted fi'om the knowledge of the present number of stations requesting access to the channel. In order to make the system Markovian, we need to incorporate the missing information by adding "supplementary variables" to the state description, namely the state of the channel, S (t), and the elapsed time that the chan- nel has been in the current state. This time is denote by, y1(t), when the channel is currently servicing a message, and denoted by, y2(t), when the channel is in the resolu- tion state. Formally, the evolution of the stochastic process describing the dynamic behavior of the channel can be fully described by the state vector [N (t),S (t),Y(t)], where o {N(t), t>0} represents the current number of stations requesting access to the chan- nel, including the station currently transmitting, 0 {S(t), t>0} denotes the state of the channel. The idle state, transmission state and resolution state are denoted by 0, 1 and 2, respectively, 115 o {Y(t), t>0] represents either the amount of transmission time already received by the station currently transmitting, if the channel is being used, or the elapsed time in the current step of the contention resolution phase. The resulting process {[N(t),S(t),Y(OL t>0} is a Markov process and is an appropri- ate state vector for the system, since it completely summarizes all past history relevant to the future system behavior. Following is a description of the evolution of this process through time. When in state 0, the system remains in this state (transition 0 of the STD until an arrival occurs at rate Mn). The occurrence of an arrival increases N (t) by one and causes the system to move into the transmission state(transition 1). When the system is in the transmission state, transmission is being attempted. In this state, arrivals may occur as a homogeneous Poisson process of rate Mn) (transition 5). We assume that new arrivals sense the channel busy and will not interfere with the ongoing transmission, although the model can be slightly modified to accommodate for service interruption. The end of transmission (service) denotes a departure from the system. At the instant of a departure, N (t) is decreased by one and Y (t) becomes zero. If the waiting queue is empty, the sys- tem moves into the idle state (transition 4), and remains in this state until the occurrence of an arrival. However, if the queue of transmitting stations is not empty, one of two pos- sible evolution will take place. Either no contention resolution is required; the system remains in the transmission state (transition 2), and the next station accesses the channel, or a contention resolution is required in which case the system moves into the resolution state (transition 3) until the conflict is resolved. During the resolution phase of the proto- col, no service is delivered but new arrivals may occur at the homogeneous rate Mn) (transition 9). At the end of the resolution phase, the system moves into transmission state (transition 7). However, if at least another step is required in the resolution of the access conflict the system remains in state 2, (transition 8), and a new resolution step is performed. In all STT’s, 4) denotes the non-occurrence of any event, when the system is 116 in the state specified in the STT. 6.3 Resolution Of The Model We begin by expressing the Chapman-Kolmogorov dynamics of the system. Let 2,: {[N(t),S(t),Y(t)].t£R+} be the state of the system at time t. Its state space is Ix[0,1,2]>=s.y.sr.5y.+dy.r; P (nvsvysvt) = limdy,—rO s=1, 2; n22 andy,>0. as the joint probability that at time t, there are n stations requesting access to the channel including the station currently transmitting, the channel is currently in state I and the elapsed transmission time of the message being transmitted lies between y, and y,+dy,. To obtain the differential difference equations connecting these probabilities, we relate the state of the system at time time t+dt to the state of the system at time t. Assum- ing S(t)=1, n22, andy1>0 we obtain p[n, 1,y1+dt,t+dt] =p [n-l,1,y1,t] Mn-l) dt +Pln. 1.y1.tl(1-0~(n)+ 11101))dt) + 0(dt); where o(dt) means that o(dt)/dt tends to zero as dt tends to zero. Rearranging the right- hand side of the above equation we obtain PI".1J1+dtyt+dtl‘PI’I.IvY1rtl=P[n-1.1,)’1JIl(n‘1)dt “PI". 1J1.” (MHHIIIO’I)) d! 1 17 By adding and subtracting the quantity p[n, 1, y] +dt, t] in the left hand side of the equation and by dividing by dt, we get p[n,1,y1+dt,t+dt]-p[n,1,y1+dt,t] + p[n,1,y1+dt,t]-p[n,1,y1,t]_ d: d: ‘ 0 (cit) p [n-1.l.y1.thn-l) -p in. 1.y1.t](Mn)I-1110’1)) + 7' Taking the limit as (it-)0, the above equation reduces to B a _ _ _ _ atp[n’l’y1’t]+aylp[n’1’yl’t]-Mn UPI" lslrylrt] (MRHIIICYI))P[II.1.)’1J]; However at the steady state, the probabilities do not depend on time. Therefore, %p[n,l,y1,t]=0. Consequently the above equation reduces to $37p(n,1,y,)= Mn-1)p(n-l,1.yt)"W"H‘lr()’r))P(n. 1.y1). wherep (n, l,y) = lim,_,..p [n, 1,y,t]. The same derivation is applied when n=1 and results in _§_ ayl PUJJ’I)=—(M1)+010’1))P(1o1’)’1)- At the completion of a busy period, the system moves into the idle state. The depar- ture from the idle state can only be due to the arrival of a newly generated message . Therefore, the resulting differential difference equation is p [0.0.0.t+dt] = (1—M0)dt)p [0.0.0.t+dt] + ip11.1.yr.:1n101>dy1 +0010. 0 118 At the steady state, the above equation reduces to M0>p(o.o.0>= Ip(1.1.y1)n101)dy1 0 Similarly, we can derive the differential difference equations connecting state pro- babilities when the system is the resolution state. The resulting equation is 33;?(11. 20’2) = Mn—Dp (rt—1,2,y2) + (Mn)+712()’2»p(n, 20,2). At the end of a contention resolution phase, or when no contention is required at the end of the current transmission, the distribution function p [N,S,Y(t)sysrt] is reduced to a mass function p [n.s,Y (t)=0;‘,t]dt. Consequently we can write, assuming n22 pin. 1.0+.:+dt1dr = amjp [n.2.y2.tm202> an d: 0 +(1-i3(n)) Ipin+1.1.y1.tln101)dyu)dt+o(dt) o Dividing both sides by dt and making cit—)0 we get P I". 1,0.t] = d(n) I171". 2,)’2.tlilz()’2)d)’2 4’ (14303)) jP [n+1.1.YI.t]Tir(Yr)dYI: o 0 At the steady state, the above equation reduces to p(n. 1.0) = «100 ([1202. 2.y2m202)dy2 + (1-l3(n)) thn+1.1.y1)n100dyr; 0 When the number of stations requesting access to the channel is reduced to one, we obtain 119 p<1.1.01=<1—B<1» Ip(2.1.y1)n101)dy1+M0)p(0.0.0); 0 Similarly, we can derive the boundary conditions for the resolution state. The steady state equation obtained reduces to 120:. 2.0)=(1—atn»lp(n.2.y2)n202)dy2 0 +B(n)gp(n+1o1’)’r)010’r)d)’r- The resulting steady state differential equations for the model are summarized below. 0 s=1;n22.)’1>0; jag—l—ptn. 1J1)=Mn-1)P(n-1.1J1) (6.1) -(7~(n}+1110’r))P(n.1o)’1) o s=l, n=l,y1>0; finhlmfi-(M1)+n101))p(1.1.y1) (62) o s=0, n=0; M0)p(o.o.0)=gp(1.1.y1)n100dy1 (6.3) o s=2, n22, y2>0; 39—1202. 2.y2>=Mn-1>p1 P (n. 1.0) = d(n) IP01. 2.)’2)1120’2)d)’2 (6.5) o “PU-43(4))jP(n+1o1oY1)Ilr(Yr)d>’1 o o s=l, n=l p(1.1.0)=(1-B(1))Ip(2.1.y1)n101)dy1 (6.6) 0 +a<1)ip<1.2.ysun2)n202>dy2 +x<01p<1—a). Onal which yields 124 R20. 0) = «‘31sz 018: (Ml—21)] - 143190.00) + (1—a1thz. 0)B§(?~(142)) The resulting system of equations is azBSWI-z» 12(2—(1—13» R ,0 = , R ,0 + , 0,0,0, l(z ) (Z-(l-B)BI(M1-Z)) 2(2 ) (Z-(l-fiWrWl-ZDM ) R2(z, 0) BB‘Wl-z» R1(z, 0) 113 (0,0,0) . = z<1—<1-a>B;(M1—z» ' <1-(1-a18500-z»p Solving the above system of linear equations we get 71(2) 9 = — 09090 ; R1(z 0) y (z) P( ) 72(2) I =_ t 30 - R2(Z 0) 7(2)}?(00 ) where 7(2)=z-(l-B)Bi(Ml-z))—z(l—a)Bi(M1-z)) + (1-a-B)BS(M1-2))Bi (Ml-z)» ; 71(2) = 12((2—(1-B)H(1—a)(1-2)-B)Bi (Ml-z») :and 72(2) = —xfiz(1—BI(M1-z») . Q (2) =P (0.0.0) +Rr(z) + R2(Z) be the generating function of the number of stations currently requesting access to the channel. Using the above derivations, Q (2) can be written as 125 (I-Bltl-m-z)» Q(Z) = 741-2) R r(Z. 0) (l-BEO-Ml-z)» , Ml-Z) R 2(2. 0) +P (0.0.0). Notice that p (0,0,0) is determined by the necessary condition that Q (1) = 1. Using l’H‘ospital’s rule we obtain a—MBb—2_+0t51_) 0101 0,0,0 = __ =1- ”‘ ’ «4&2 we» where p, = 113:,s=1,2; The necessary condition that 0

n1=<1~B>SI+ BElTr+1-T.-|S(Ti)=2] .. —t _ _ b2 _ EIT1+1—TrIS(7I)=2]= 220-01)" ot(nb2 +b1)= ‘3 +171 =1 Therefore, lim sup 5.”. E[Ni+1-N,° IN; = II] = MDT+‘E5-2-)—l = prPEpz—l. ThlS proves the sufficiency of conditions (i) and (ii) and completes the proof Cl Differentiating Q (2) with respect to z and evaluating the resulting expression at z=1 yields the value of the mean number of contending stations in the system, N. We obtain (((2—20t)b1b224ab—I-2ob72)5;+ob—1-;§-)Bh3-(20b1b28+20t2b—1J2—a2b—¥)M+2a2571) (<2b7’02+2ab Ibzsnzk-«iabTB—zazfimzaz) 1V: 127 Notice that the entrance in state 0 constitutes a set of regeneration points. There- fore, we can apply Little’s law to compute the average time, T, a contending station spends in the system, waiting and transmitting. We obtain T: «(z—20012Ibz’aab—i—zab—l’fihaEIEW—(zabIbzwzaZEF—azfinmzii > «21722 Bz+2ab 1b2l3>32+<—4ab'ZB—2a213)x+2a2) 6.3.2 Finite Source Model In the following section, we present the Markovian analysis of the finite source model. First, we notice that if there are n stations currently competing for the channel access and M is the total number of stations in the network, the probability of a newly generated message in the interval (t, t+dt) is MM -n)dt+o (dt). Therefore, using matrix notation, the set of equations describing the finite source model can be written as (AsI—Q)P(Ss)’s)=0; S :19 2; (68) where 'p(l.s.y..)' pass.) P(s.y..)= I ; p(M.s.y.)J I-MM-l) 0 0 0‘ MM-l) —MM—2) 0 0 0 MM-2) -MM—3) 0 Q: I I : MM—(i—1)) —MM—i) 0 21 -h 0 0 0 0 0 it 0, a: + 1101,) and I is the M xM identity matrix. and A, is the operator 128 Similarly, the boundary conditions can be written as P<1.01=iCIP<1.y0m0r)dy1 (6.9) 0 +jC2P(2:)’2)I120’2)d)’2+WC0P(0.0.0)- 0 P(2.0)= lfirtlsomtmdyl (6.10) 0 +JEZP<2.y2)n202)dy2. 0 where '1' ’0 (143(1)) 0 0 ' 0 0 0 (143(2)) 0 0 0 0 0 C0: I ‘C1: I I . (1—80'» ' (I-BtM—I» 0 _0 0 , a(1) 0 o . 0 0 0(2) 0 . 0 0 a9) 0 0 C2’ . a0) «(M—1) 0 0 0 “(ML and _ l-Cij if cij >0 CI} = 0 otherwise Due to the presence of variable coefficients, the generating function approach used to solve the infinite source model cannot be easily applied to the finite source model. To solve these equations we need to determine a linear transformation which reduces the above system of equations into a diagonal form. 129 Let T and its inverse '1”1 be the left and right matrices of eigenvectors of Q. We know that Q =rler (6.11) where 9 is a diagonal matrix whose elements, 0,(i=1,...N), are the eigenvalues of Q; that is ’01 0 . 0 0 92 0 0 0 903 0 _ 0 9‘ . e, 9M..1 0 and 0; is the ith eigenvalue of Q. Substituting (6.11) in (6.8), we get (A,I—9)L(s,y,)=0 where L(s,y,)=TP(s,y,) , s=1,2. - n.(V)dv The solution of the above equation is given by L(s,y,)=A_,L(s, 0)e I , where I. ylol 0 0 0 - e 0 ey'e’ 0 0 0 ey‘e’ 0 0 0 . A, = . eyser' 0 yaeu-r e . 0 . 0 eyaefl L(s, 0) is still unknown and will be determined using the boundary conditions. Applying the above linear transformation to (6.9) results in 130 P(1.0)=IC1T—1L(1J1P1100601 0 + i C2T'L(2.y21n202>dy2+mcop(o.o.m. 0 Multiplying both sides of the above equation by T, we obtain L0.O)='rcrr‘ IL(IJ1)111(YI)d}’1 0 +rc2'r‘-l JL(2,y2)n2(yz)dy2+3\MCop(0,0,0). 0 Replacing L(s,») ;s=1,2 in the above equation, we get a ’ERIWVI‘ L(1.0)=TC1T_1IA1L(1.0)€ moody: 0 ’2 II (n '° ‘ l )48 'I'TCzT'1 IA2L(2.0)8 I 11202)JY2+WTC0P (0.0.0)- 0 Let B; (x) be the Laplace transform of b, (x) ;s=1,2 , the above equation reduces to r.(1,0)='rc,r-111"1'r.(1,0)+'rczrrl B;L(2,0)—+WTCop(0,0,0). where the matrix 1;: is of the form 31(01) ,0 0 . . 0 0 B: (62) .0 . . 0 . 0 B: (03) . . . .2 = 0 ’ 839.) 3.:(914—1) , 0 ' 0 B: 0M)J Similarly, (6.10) becomes L(2.o>=rEIrlri'IL(1.0)+Tc—2T“imam 131 The above set of equations determines L(s, 0) and hence L(s,y,); s=1,2. In the remaining of this section, we will show the corresponding results for the case where the probability of collision and the probability of resolution are constant. 6.3.2.1 Constant functions In the section, we present the solution of the above equations in the case where d(n) and p(n) are independent of the current number of stations in the system. We first define the discrete transform which converts the set of the above equations into a mathemati- cally more tractable set of equations. We then use the transformed equations to compute the system state probabilities. The appropriate discrete transform, which reduces the system of equations to a linear form is defined by M-l - l(n.s.y.) = z [1,] pail-Lays). (09: .(1$n sM).(s=1.2) (6.12) i=0 where [1;] is the binomial coefficient. Using the above transform , the steady state differential equations reduce to 8 3y. l(n.s.y..)=-Om+n.(rs))l(mars). 03>0).(s=1.2) . min-1w)!» The solution of this differential equation rs given by l(n,s,y,)=l(n,s, 0)e ; Similarly, applying the same transform to the boundary conditions and substituting l (n,s,y,) by their values results into the following system of equations 132 10:. 1.0) =(1—0)IBiaa) +(1-p)z(n-1,1,0)BI((n—m) + al(n, 2,0)35 (n71) Mi 1M: 1 «mm W l(n, 2,0) = pr (n, 1,0)31011) + Bl(n-l,l,0)BI ((n—1)l)+(l—ct)l(n, 2,0)3500.) — WU? ] Bp<0.0.01 Solving the above linear system of equations, we obtain l(n, 1,0) = a (n)! (n —1, 1,0) + b (n)p (0,0,0), where a (n): ((I-BWn)BSW))Bi(Mn-l)) (I-Biwxa—Bwnwaan)» m[[“,;“] —[’;’] ((l-BW(n)BE(M))] b = e e I") (I—Biwxa-Bnaanwzw») and W!) = p (1—(1-a185m» Substituting l(n, 1,0) in (6.14) we obtain 13 1 .2,0 = , 1 ,1,0 I" ) (tr-BHa+B—1)Bzan)) I" ) WB[Mn-1 ] — ((l-BHa+I3-1)BE 0m» P (0,0,0). (6.13) (6.14) (00 73(k) =1 17, if k=0 M Let I'I,(z)= 22"p (n,s) be the generating function of the number of stations n81 currently attempting to access the channel when the system is in state s. n,(z)=§z"EI(-1)I[M‘i"+"] l(M-n+i,s, 0)r,(M—n +i) n-l i=0 Define Q(z) = 111(z)+112 (z)+p (0,0,0) to be the generating function of the number of sta- tions currently attempting to access the channel. The mean number of contending stations can be obtained from the above equation by differentiating Q(z) with respect to z and 134 setting z=1. In the next section we will develop a set of experiments to study the effect of a and B on the performance of a channel multiaccess protocol. 6.4 EXPERIMENTAL RESULTS A series of numerical experiments were conducted to investigate the impact of the two parameters or and B, the service distribution and the size of the network on the perfor- mance of a multiaccess protocol. The input parameters include the channel bandwidth, the size of the messages, the parameters controlling the distribution of the network load among different stations and the length of the resolution step. In all experiments, the channel transmission rate is assumed to be 10 Mbps and the resolution step to be equal to the channel round-trip delay. The frame size was either fixed to be 1000 bits or drawn from an exponential dis- tribution with mean 1000. In Figure 6.2, the value of the network delay of the infinite source model is plotted against the network traffic, p=lb—1, for different values of at. It should be noted that the probability of conflict, [3, was chosen to be an increasing function of the network load. In this figure, we assume that the transmission time is exponentially distributed and the step time is constant. The results indicate that if p is less than 0.6, the increase in the access delay is not significant. However, the increase in the delay becomes noticeable when p approaches one and or is less than 0.3. In Figure 6.3-(a) and 6.3-(b), the mean number of contending stations is plotted against the network load for a finite number of stations and for different values of or. In the first experiment, Figure 6.3-(a), the network load varied from 0.1 to 0.9, while in the second experiment, Figure 6.3-(b), the load varied from 1.0 to 2.0. The results indicate that the mean number of contending stations increases as p increases and the probability of resolution or decreases. However, the increase of the mean number of contending 135 stations becomes significant as p approaches one and or becomes small. The same effect Probability of Conflict : p 2 r I I I T I I I I 0.018 0.037 0.055 0.074 0.092 0.1 10 0.129 0.147 0.183 a = 0.1 a = 0.3 A 1.5 —I C a — 0.5 C 6 S S 1 — a = 0.7 D 6 a — 0.9 I a V 0.5 _ /‘ 0 T I T i 0 0.2 0.4 0.6 0.8 1 Network Traffic Load : p Figure 6.2 Effect of the Load, Resolution and Conflict Probabilities on the Access Delay ( Infinite Source Model ) of the probability of conflict and probability of resolution on the mean queue length of contending stations is observed when p ranged between 1.0 and 2.0. In Figure 6.4, the value of the network access, for both deterministic and exponen- tial transmission time distribution, is plotted against the network traffic for an infinite number of stations. The probability of resolution was fixed to 0.8 and the probability of conflict was an increasing function of the network load. The figure shows also the results 136 Probability of Conflict : B I I I I r I I I I 0.02 0.045 0.074 0.109 0.151 0201 0259 0.327 0.407 2 _ a = 0.1 M e a n 1.5 — O . - 0.3 u 0.; . = 0. e ., 2 - 0.9 u r e 1_ / L / I e " n . / I: 0.5 — / ' I'i / 0 I I I I 0 0.2 0.4 0.6 0.8 1 Network Traffic Load : p Figure 6.3-(a) Effect of the Load, Resolution and Conflict Probabilities on the Mean Oueue Length ( Finite Source Model ) for the corresponding standard MID/l and W1 queues. The results indicate that the effect of the variability of the transmission time is predominant when the network load, p = ith—1, is near one. The results also show that the overhead incurred by the protocol is not significant for small values of p. However, a significant increase in the access delay is observed when p approaches 1.0. Figures 6.5-(a) and Figures 6.5-(b) show the effect of the transmission time variabil- ity on the mean number of contending stations for different network loads. The results indicate that the transmission time variability is not significant for p<<1.0 or when 137 Probability of Conflict : B 0.02 0.045 0.074 0.109 0.151 0201 0259 0327 0.407 0500 0.607 8 1 l l l L l l I l l a=01 M e a=03 a 6— 30305 n . 8E823 o I/ u / 9 c/ u 4— / e ' //' e -. /'/ n / 9 2- I I h 0 I I 1 1.5 2 Network Traffic Load : p Figure 6.3-(b) Effect of the Load, Resolution and Conflict Probabilities on the Mean Oueue Length ( Finite Source Model) p>>1.0. However, when p = 1.0, the effect becomes significant. The last experiment aimed at studying the effect of the size of the network on the mean number of contending stations for different values of p. The results are recorded in Figure 6.6. The results indicate that for a given network load the mean number of con- tending stations increase as the size of the network increases. The increase becomes significant as p approaches one. Based on the above observations, the use of the simple infinite source model is bound to be erroneous if the size of the network is not 138 Probability of Conflict : B 2 I I I I I I I I 0.018 0.037 0.055 0.074 0.092 0.110 0.129 0.147 0.183 01:08 Expat! A 1.5 1 c c 6 s s 1... HIM/1 D Dam O I a y 0.5 _ MID/l 0 T I j i o 0.2 0.4 0.6 0.8 1 Network Traffic Load : p Figure 6.4 Effect of the Load and the Message Length Distribution on the Access Delay ( Infinite source model ) sufficiently large. From the above discussion we conclude that for a network with the specifications described above, the probability of resolution becomes predominant when its values decreases below 0.3 and p approaches one. We can also that the effect of the transmission time variability becomes predominant as p approaches one. In this region, the use of the simple infinite source model to study the performance of a protocol when the number of stations is small does not produce accurate results. 139 Probability of Conflict : B 0.12 0.045 0.074 0.109 0.151 0.201 0.259 0.327 0.407 2 r 1 1 l l L 1 I I or = 0.8 M O a 1.5 — i'I am 0 Detrnt U e u 1— e L 6 n a 0.5— t h 0 I I T I 0 0.2 0.4 0.6 0.8 1 Network Traffic Load : p Figure 6.5-(a) Effect of the Load and the Message Length Distribution on the Mean Oueue Length ( Finite Source Model ) 6.5 MODEL APPLICATION Our objective in the remainder of this chapter is to apply the analytical model to solve for the average message response time of the virtual token protocol described in earlier chapters. In the previous sections, we developed the expression for the average message delay as a function of the probability of conflict 0, and the probability of resolution or. Our 140 Probability of Conflict : p 0.02 0.045 0.074 0.109 0.151 0.201 0.259 0.327 0.407 0.500 0.607 3 L l r 1 r 1 L m L r Expat! Dam 0t=0.8 M O a 2.5— n O U 9 u 2— 9 L 6 n g 1.5-i t r h 1 I I 1 1.5 2 Network T raffle Load : p Figure 6.5-(b) Effect of the Load and the Message Length Distribution on the Mean Oueue Length ( Finite Source Model ) analysis problem therefore simply reduces to the calculations of these probabilities. The derivation of these probabilities is the object of the following sections. In the first part of the discussion, we introduce the appropriate notations and state the assumptions that define our model of computation. In the second part, we proceed with the computation of B and or. 141 Probability of Conflict : B 0.02 0.045 0.074 0.109 0.151 0.201 0.259 0.327 0.407 1 I l I I I I I I Fl?) 2.. M 0t=0.5 9 0 "=7 3 n 1.5—4 0 M=5 U 9 U 9 1—1 L 9 n 9 t 1 0.5-1 / h //'a 0 1 I I I 0 0.2 0.4 0.6 0.8 1 Network Traffic Load : p Figure 6.6 Effect of the Load and the Network Size on the Mean Queue Length ( Finite Source Model ) 6.5.1 Notation and Model Assumptions In this model, the channel is assumed to be noiseless and perfectly reliable. Traffic entering the network forms a Poisson process. We use log,- to denote the arrival rate of class j messages, j=l,...m-1, to station i,i=0,1...M-l. We assume that all classes of messages have lengths that are either constant or drawn independently from an exponen- tial distribution. We also assume that the PAP search method used is based on the static dichotomizin g approach. We further define: 142 M-lnt-l o The total traffic entering the network as 71,- — Z 2 15,-, i=0 j=1 o The total traffic of priority j, 15 15m —1, entering the network as X”: M2 2.7, and III-l o The traffic intensity entering a given station i, OSiSM -1, as A}? = z 1.7. '-0 6.5.2 Probability Evaluation In this section, we compute the values of B and or. We begin by deriving the proba- bility, y=1—[3, that no conflict occurs after the transmission of a message. We then com- pute the probability of resolution (it. As stated in the previous chapter, the probability, c,-(p), that station 1, OSi v iH=h ], where v =(p—1)M + r, OSr1, a non-trivial problem even for small values of m. Simpler methods for studying differential difference equations resulting from non-Markovian processes with several states need to be investigated. The investigation of these methods will allow the develop- ment of the proper analytical tools to evaluate and accurately compare not only multiac- cess protocols of the data link and physical layers, but also protocols at higher layers. These tools become more and more crucial as inter-process communication systems are proliferating rapidly. BIBLIOGRAPHY [Abra70] [Abra73] [AhHU76] [Bux81] [Cape79] [Carp84l [ChFr’7 9] [Clar7 8] [Coxd54] [Dasa85] [DiSM83] BIBLIOGRAPHY Abramson, N., “The ALOHA system-Another alternative for computer communications”, In Proceedings of the AFIPS Fall joint Computer Confer- ence, AFIPS Press, Montvale, N.J.,, pp.281—285, 1970. Abramson, N., “The Packet Switching With Satellites”, In Proceedings of the AFIPS National Computer Conference, AFIPS Press, Montvale, N.J.,, pp.695-703, 1970. Aho, A.V., Hopcroft, J.E. and Ullman J.D., The Design and Analysis of Computer Algorithms, Addison Wesley Pub. Co., June 1976. Bux, W., Closs, F., Jansen, P.A., Kummerle, K., Muller, H.R., “A reliable token ring system for local area communication’ ’, In Proceedings fo the national Telecommunications Conference, New Orleans, La., Piscataway, N.J., pp. A2.2.1-A.2.2.6, 1981. IEEE, “A Generalized TDMA: The multiple-accessing tree protocol” IEEE Trans. Commun., COM-27, 1476-1484, Oct 1979. Carpenter, R., “A comparison of two guaranteed local network access methods”, Data Communications, Feb 1984. Chlamtac, 1., Franta , W., “BRAM: The broadcast recognizing access method”, IEEE Trans. Commun, COM-27, 1183-1190, Aug. 1979. Clark, D. Progran, K. and Reed, D., “An introduction to local area net- works”, Proc IEEE 66, 1497-1516, Nov. 1978. Cox, D. R. “The analysis of Non-Markovian stochastic processes by the inclusion of supplementary variables”, Camb. Philos. Soc, 51, 3, 433-441, Nov 1954. Dasarathy, B., “Timing Constraints of Real-Time Systems: Constructs for Expressing Them, Methods of Validating Them”, IEEE Trans. on Soft. Eng, SE-I 1,1 , pp.80-86, Jan. 1985. Dixon, R.C., Strole, NC. and Markov, J.D., "A token-ring network for local data communications," IBM Systems Journal, Vol. 22, pp.47-62, January- February 1983. 155 [EsHS81] [Efe78] [FaN e69] [FiT084] [FFI-IH73] [FrBi80] [FrBT8 1] [Gall76] [Gall78] [GrS H82] 156 Eswaran, K.P., Hamacher, V.C., and Shedler, G.S., “Collision Free Access Control for Computer Communication Bus Network’ ’, IEEE Trans. Software Eng., Vol. SE-7, Nov. 1981. Efe, K., “Heuristic Models of Task assignment scheduling in distributed systems”, IEEE computer, Vol. 15, June 1982. Farmer, W.D., and Newhall, E.E., “An Experimental Distributed Switching System to Handle Bursty Computer Traffic”, In Proceedings of the ACM Symposium on Problems in the Optimization of Data Communications Sys- tems , Pine Mountain, Ga., Oct. 13-16., ACM, NEW YORK, PP. 1-33. Fine, M., and Tobagi, P.A., “Demand Assignment Multiple Access Schemes in Broadcast Bus Local Area Networ ”, IEEE Transactions on Computers, Vol. C-33, no. 12, Dec. 1984. Farber, D.J., Feldman, J., Heinrich, F., Hopwood, M., Larson, K., Loomis, D., and Rowe, L., 1973, “The Distributed Computing System ”, In Proceed- ings of the 7th Annual IEEE computer Society International Conference (COMPCON), San Fransisco, Calif, Feb.27-Mar.1, IEEE, Piscataway, N.J., pp. 31-34. Franta, W.R., and Bilodeau, H.B., “Analysis of a Prioritized CSMA Proto- col Based on Stagered Delays”, Acta Ifiormatica, 13, Fasc 4, 299-324, 1980. Fratta, L., Borgonovo, F., Tobagi, F., “The EXPRESS_NET: A local area communication network integrating voice and data’ ’, In Performance of data Communication Systems, G. Pujolle, Ed. Elsevier, North-Holland, New York. pp. 77-88, 1981. Gallager, R. G., “Basic limits on protocol information in data communica- tion networks”, IEEE Trans Inf. Theory IT -22, 385-398, July 1976. Gallager, R. 0., “Conflict resolution in random access broadcast networks”, In Proceedings of the AF OSR Workshop in Communication theory and Applications, vaincetown, Mass, Sept. 17-20, 1978, IEEE, Piscataway, NJ., pp. E3.6.1-E3.6.5. Grami, A., Sohraby, K., and Hayes, 1., “Further results on probing”, In Proceedings of the International Communications Conference, 1C.3.1- 1C.3.3, Philadelphia, Pa., June 13-17, 1982. 157 [Hanse78] Hansen, P.B., “Distributed Processes: a Concurrent Programming Con- [Haye78] [Hoar78] [IBHK79] [IEEE82] [IEEE82] [113131383] [IIYO80] [Insu85] [JaFi85] [Jens78] [J uWa84] cept”, CACM, Vol. 21, no. 11, Nov. 1978, pp. 934-941. Hayes, J. F., “An adaptive technique for local distribution”, IEEE Trans. Commun, COM-26, 1178-1186, Aug 1978. Hoar, C.A.R., “Communicating Sequential Processes”, CACM, Vol. 21, no. 8, Aug. 1978. PP. 666-677. Ichbiah, J.D., Barnes, J.C., Heliard, J.C., Krieg-Brueckner, B., Roubine O., and Wichmann, B.A., “Rationale for the Design of the ADA Programming Language”, SIGPLAN Notices, Vol. 14, no. 6, part B, Jun. 1979. IEEE Project 802 Local Area Network Standards, “Logical Link Control”, Draft D, IEEE Computer Society, Nov. 1982. IEEE Project 802 Local Area Network Standards, “CSMA/CD Access Method and Physical Layer Specifications ”, Draft D, IEEE Computer Society, Dec. 1982. IEEE Project 802 Local Area Network Standards, “Token-Passing Bus Access Methods and Physical Layer Specifications’ ’, Drafi IEEE Standard 802.4, Revision E, July 1983. Iida, I., Ishizuka, M., Yasuda, Y. and Onoe, M., “Random access packet switched local computer network with priority function’ ’, in Proc. of the IAST ED int’l Sym., Applied Simulation and modeling (ASM’83), May 1983. Insup , L., “Language Constructs for Distributed Real-time Programming”, Proceedings on Real-time Systems Symposium, 57-66, IEEE Computer Society Press, San Diego CA, 3-6 Dec. 1985. Jayasuman, AP. and Fisher, P. D., “TSPS: A Token-Skipping Priority Scheme for Bus Networks", Proc. of the 5th Int’l Conf, on Distributed Computing Systems, pp.56—63, 1985. Jensen, E. D., “The Honeywell Expereimental Distributed Processor- An Overview of its Objectives, PhiIOSOphy and Architectural Facilities”, IEEE Computer, Vol. 11, Jan 1978. Juang, J ., Wah, B., “Unified Window Protocols for Contention resolution in Local Multi-access Networks”, Third Annual Joint Conference of the IEEE Computer and Communication Societies, San Fransisco CA, 1984. [Keil65] [Kend5 3] [Klei70] [K1ei75] [Klei76] [KlSc80] [K1To75] [KlYe78] [Knut73] [Kuro84] [KuSY84] [Lam83] [LaMp85] 158 ‘ ‘The Role of Green’s Function in Congestion Theory”, Proc. Symposium on Congestion Theory, Univ. of North Carolina, Press, pp. 43-71, 1965. “Stochastic Processes Occurring in the Theory of Queues and their Analysis by the Method of Imbedded Markov Chain’ ’, Annals of Mathematical of Statistics, 24, pp. 338-354, 1953. Kleinrock, L., ‘ “Analytic and Simulation Methods in Computer Network Design”, Proc. SJCC, 569-579, 1970. Kleinrock, L., “Queueing Systems”, 1: Theory, New York: Jhon Wiley, 1975. Kleinrock, L., “Queueing Systems”, 2: Computer Applications, New York: Jhon Wiley, 1976. Kleinrock, L., and Scholl, M., “Packet switching in radio channels: New conflict-free multiple access schems”, IEEE Trans. Commun, COM-28, July 1980. Kleinrock, L., Tobagi, F. A., “Packet Switching in radio channels: Part I- Canier sense multiple access and their throughput-delay characteristics”, IEEE Trans. Commu., Comm-23, Dec 12, 1975. pp.1400-l416. Kleinrock, L., and Yerrrini, Y., “An Optimal Adaptive Scheme for Multiple Access Broadcast Communication”, Proc. ICC, 721-725, 1978. “The Art of Computer Programming”, Vol. 3, Sorting and Searching, Addison Wesley, 1973. Kurose J. F., “Time-constrained communication in multiple access net- wor ’ ’, Ph.D. Dissertation, Department of Computer Science, Columbia University, July 1984. Kurose , J.F., Schwartz , M., and Yemini, Y., “Multiple-Access Protocols and Time-Constrained Communication”, Computing Surveys, 16 ,1, 43-70, March 1984. Lam, S. , Q'I‘Computer Communication Networks”, Vol I, Principles, Chap 4, pp.115-155, Editor Wushow, C., Prentice Hall, 1983. Lamport, L., Melliar-Smith, P.M., “Synchronization Clocks in the Presence of Faults”, Journal ACM, Vol. 32, 1, January 1985, pp. 52-78. [Lcc84] [LeLa83] [LeLa85] [LeLa87] [LGKN 86] [LiF182] [LiHG82] [LiLa73] [Lind52] [LiRo84] [Liu85] [MeBO76] [Meye80] 159 Lee, 1., “A Programming System for Distributed Real-Time Applications”, Tech. Report MS-CIS-84-51, University of Penn, Sept. 1984. LeLann, G. “On Real-Time Distributed Computing”, Invited paper IFIP Congress, pp.741-753, North Holland, Sept 1983. LeLann, G., “Issues In Real-Time Local Area Networks”, 10th Conference on Local Computer Networks, 1-18, Minnesota, Oct 1985. “The 802.3D Protocol: A Variation of the IEEE802.3 Standard For Real- Time Lan’s”, An Introduction, July 1987, INRIA. Liu, Y.H., Gendreau, T.B., King, CT. and Ni, L.M., “A Session Layer Design of a Reliable IPC System in the UNIX 4.2 Environment", Proc. of the 1986 Computer Networking Symposium, pp.120-129, 1986. Limb , J,. Flores, C., “Description of FASNET- A Unidirectional Local- Area Communication Network”, Bell Syst. Tech. J. 61, 7, pp. 1413-1440. 1982. Li, L., Hughes, H., and Greenberg, L., “Performance Analysis of a Shortest Delay Protoco ”, Computer Networks, 6, 1 , July 1982. Liu, C.L., and Layland, J.W., “Scheduling Algorithms for Multiprogram- rrring in a Hard Real-Time Environment”, Journal ACM, 20, 46-61, Jan 1973. Lindley, D.V., “The Theory of Queues with a Single Server”, Proc. Cam- bridge Philosophical Society, 48, pp. 277-289, 1952. Liu, MT. and Reuse, D.M., “A Study of Ring Networks”, Ring Technology Local Area Networks, edited by I. N. Dallas and E. B. Spratt, North-Holland Pub. Co., 1984, pp.1-39. Liu, M.T., “Introduction - Distributed Computing”, IEEE Trans. on Com- puters, December 1985, pp.1069-1071. Metacalfe, R. M., Boggs, D. R., Q'I'Ethemet: Distributed Packet Switching for Local Computer Networ ”, Comm. ACM 19, July 7, 1976, pp.395-403. Meyer, J.F., "On Evaluating the Performability of Degradable Computing Systems", UCLA Report no. CSD-810730, July 1981. [Moka83] [Moka85] [NiGe86] [NiLiS3] [Pam75] [PoMi83] [RaJa69] [RaLC7 8] [RoTo8 1] [Schw77] [Schw85] [SDRC82] 160 Mok, A.K., “Fundamental Design Problems of Distributed System for the hard real-time environment”, PhD. Th., MIT, MIT/LCS/I‘R—297, May 1983. Mok, A.K., “The Design of Real-Time Programming Systems Based on Process Models”, Proc. Real-Time Systems Symposium. PP.5-17, Dec 1985. Ni, L. M., and Gendreau T. B., “A Universal Interprocess Communication System for Distributed Computing”, Technical Report, Dept. of Computer Science, Michigan State University, 1986. Ni, M. L., and Li, X., “A Prioritized Packet Transmission in Local Multiac- cess Netwo ” Proc. of the 8th Data Communications Symposium, October 1983. PP.234-244. Parnas, D. L. , “ On the criteria to be used decomposing systems into modules ” Proc. ACM Internal Conf. Reliable Software, 1975, ACM, New York, 1975.PP.294-304 Powell, M.L., and Miller, B.P., “Process Migration in Demos/MP”, Proc. of the Ninth Symp. on Operating System Principles (ACM), 110-119, 1983. Rao, 8., and Jaiswal N., “On a class of queueing problems and discrete transforms”, Journal of royal statistics, 1062-1076, 1969. Randell, B., Lee , P.A., and C., P.C., “Reliability issues in computing sys- tem design”, ACM Computing Surveys, 10, 123-165, June 1978. Rom, R., and Tobagi, P.A., “Message-based priority functions in local multi-access communication systems”, Computer Networks, 273-286, North Holland, 1981. Schwartz, M. "Computer Communication Network Design and Analysis", Prentice- Hall, New York, 1977. Schwetrnan, H.D., "CSIM: A C-Based, Process-Oriented Simulation Language", Microelectronics and Computer Technology Corporation, Technical Report, PP-080-85. Shoch, J. F., Dalal, Y.K. , Redell, D.D.,and Crane, R.C., “Evolution fo the Ethernet Local Computer Network”, Computer, Vol. 15, no. 8, pp. 10-27, 1982. [Span79] [Stac80] [Stal84] [Stan84] [Tack65] [TaMB 80] [Toba82] [ToHu80] [ToRo80] [ToVe82] [WaJu83] [WiTi80] [ZhSR87] 161 Spaniol, 0., “Modeling of Local Area Networks”, Computer Networks, Vol. 3. Pp. 315-326, 1979. Stack , T.R., “Protocols for Local Area Networks”, Proc IEEE Trends and Applications : Computer Network Protocols, 83-93, May 1980. Stallings, W., Local Networks: An Introduction, Macmillan Pub. Co., 1985. Stankovich, J .A., “A Perspective on Distributed Computer Systems”, IEEE Trans. on Computers, Vol. c-33, no. 12, Dec. 1984. “Combinatorial Methods in the Theory of Stochastic Processes”, Wiley (New York), 1967. Taylor, D. J., Morgan D. E., Black, J. P., “Redundancy in data structure: Improving software fault tolerance” IEEE Trans. on Soft. Engineering, Vol. SE-6, NO. 6, November 1980. Tobagi, F. A., “Carrier-sense multiple access with message-based priority functions”, IEEE Transactions on Communications, Com-30, 185-200, Jan 1982. Tobagi, P.A., and Hunt, V.B., “Performance analysis of carrier sense multi- ple access with collision detection”, Comput. Networks, 4, Oct/Nov. 1980. Tobagi, P.A., and Rom, R., “Efficient round-robin and priority schemes for Unidirectional broadcast systems’ ’, Local Networks for Computer Communi- cations, 125-138, North-Holland/IFIP, 1980. Towsley , D., Venkatesh, G., ‘ ‘Window random access protocol for local computer networks”, IEEE Trans. Comput. C-3l, Aug. 1982, pp.715-722. Wah, B., and Juang, J., “An Efficient Protocol for Load Balancing on CSMA/CD Networ ”, Proceedings of 8th Conference on Local Computer Networks, Oct. 1983. Witte, L.D., and Tilborg, V., “MICROS, A Distributed Operating System for MICRONET, A Reconfigurable Network Computer”, IEEE Trans. on Computers, 1133-1144, Dec. 1980. Zhao, W., Stankovic, J .A., and Ramamritham, K., “A Window Protocol for Transmission of Time Constrained Messages”, COINS Tech. Report 87—110, Nov 87. 162 [Zimm80] Zimmermann, H., “081 Reference Model-The ISO Model of Architecture [ZnBa81] [ZnNi87] [ZnNi88] for Open Systems interconnection”, IEEE Trans. Commun., COM-28, 425- 432, April 1980. Znati, T. and Baccelli, F., “Queueing Systems With Breakdowns And Data Base Modeling”, Performance ’81, RI. Kylstra, North-Holland Publishing Company, pp. 213,231. Znati, T. and Ni, L., “A Prioritized Multiaccess Protocol For Real-Time Applications”, Proceedings of the 7th International Conference on Distri- buted Computing Systems, Berlin, West Germany, Sep. 21-25 1987, pp. 324-331. Znati, T. and Ni, L., “A Performance Modeling of Distributed Multiaccess Protocols”, In Proceedings on 7th Annual Joint Conference of the IEEE Computer and Communications Societies, Networks: Evolution or Revolu- tion, IEEE INFOCOM’88, New Orleans, March 27-31 1988, pp. 9B4.l- 9B4.10,