MLDesign Technologies, Inc. www.mldesigner.com ALOHA Protocol This is a brief summary of an MLDesigner model that simulates both ALOHA and Slot- ted ALOHA protocols. It demonstrates modeling techniques and shows the protocol de- sign capability of MLDesigner. ALOHA is a random (or contention) access protocol de- veloped at the University of Hawaii for sharing broadcast channel access among a num- ber of users with relatively low throughput demand. There are two main ALOHA ver- sions: unslotted, which has no coordination between system stations, and slotted, which uses a master clock to provide synchronized channel time slots to improve throughput . ALOHA protocols are often used in satellite communications systems and cellular radio systems and are a precursor to the popular Ethernet protocol.. 1. Model Overview This ALOHA model uses satellite connections between stations. The model consists of three top-level modules: an earth station (Single_Earth_Station), a central satellite station (Satellite_Station) that serves as the communications link between the earth stations and a statistics module (AlohaStatistics.) To simplify the design, collision detection, transmission delay and satellite round-trip de- lay are all implemented in the satellite. If the satellite detects a collision while receiving a packet, it tags the packet to indicate collision before broadcasting it to all earth stations. The transmitting earth station continues to retransmit the packet until it receives the pack- et back from the satellite without a collision flag. At that point, it discards the packet and begins to transmit the next packet in its queue. In this implementation each earth station has at most one outstanding packet and all packets are of equal size. The earth station module supports both regular ALOHA and slotted ALOHA operation. Data structures are used to represent the packets and to indicate slotted and unslotted op- eration. The ALOHAStatistics module contains all the statistics collection and reporting operations. The MLDesigner system, shown in Figure1, consists of 20 earth stations communicating through a satellite. It can be expanded or reduced by adding or removing earth station modules and adjusting one configuration parameter. A second parameter selects slotted or unslotted operation. 1 MLDesign Technologies, Inc. www.mldesigner.com M ReceiveMemory M SafePacketsMemory M SendMemory M CollisionPacketsMemory Satellite_Station#1 AlohaStatistics#1 Single_Earth_Station#1 Single_Earth_Station#8 Single_Earth_Station#15 Single_Earth_Station#2 Single_Earth_Station#9 Single_Earth_Station#16 Single_Earth_Station#3 Single_Earth_Station#10 Single_Earth_Station#17 Single_Earth_Station#4 Single_Earth_Station#11 Single_Earth_Station#18 Single_Earth_Station#5 Single_Earth_Station#12 Single_Earth_Station#19 Single_Earth_Station#6 Single_Earth_Station#13 Single_Earth_Station#20 Single_Earth_Station#7 Single_Earth_Station#14 Figure 1: Top-level ALOHA system with 20 stations 2. Parameters The ALOHA model is extensively parameterized. System-level parameters are shown be- low. AlohaType: This parameter has two possible values: Unslotted and Slotted. It determines whether to execute the ALOHA or Slotted ALOHA protocol. SafeDistance: The minimum distance in seconds between two packets to avoid collision. RoundTripDelay: The satellite round-trip delay in seconds. SatelliteQueueSize: The maximum number of elements that can be held in each of the two queues used in the Satellite_Station module. EarthStationQueueSize: The maximum number of packets that can be held in the queue of the Single_Earth_Station module. PacketLengthInBits: Length of the packet used in both ALOHA and Slotted ALOHA models. RandomizationParameter: A uniformly selected random number between one and this parameter, multiplied by the PacketLengthInSecond parameter, determines the backoff time delay. PacketLengthInSecond: Time required transmitting a packet of length PacketLengthIn- Bits. SlotSize: Size of the time slot used in the Slotted ALOHA model. MeanInterArrival: Mean time between two packets arriving at an earth station for trans- mission. TrafficStopTime: Time to stop generating traffic in all the earth stations. This can be dif- ferent than the RunLength parameter. 2 MLDesign Technologies, Inc. www.mldesigner.com Load: Combined traffic, generated in all earth stations, as the percentage of the satellite channel capacity. ChannelSpeed: Data rate in bps for the satellite channel. RunLength: Simulation iteration length in seconds. GlobalSeed: Seed used in generating random numbers. WarmupTime: In this early period of the simulation, data are not collected. This is the time to reach the steady state. NumberEarthStations: Total number of Earth stations in the system. 3. Data Structures The Aloha model uses two MLDesigner data structures: AlohaPacket and AlohaType. AlohaType configures the model to run as slotted or unslotted. AlohaPacker has seven fields: • Source: Earth station originating the packet. • TimeCreated: Time at which Source creates the packet. • TimeFinished: Time at which the packet is delivered successfully. • TimeTransmission: Time at which Source transmits or retransmits the packet. • Length: Packet length in bits. • Collision: Flag showing possible packet collision. • RetransmissionCount: Number of times Source retransmits the packet until it is delivered successfully. 4. Modules in the Aloha_System_Nodes20 Model This section presents the functional description of the modules used in the Aloha_Sys- tem_Nodes20 model. 4.1. Satellite_Station Module The Satellite_Station module is shown brlow. The primary function of the module is to detect collisions; it also includes both packet transmission delay and satellite round-trip delay. 3 MLDesign Technologies, Inc. www.mldesigner.com -SafeDistance Init#1 False E SatelliteTimer Local Memory 12 SafeDistance 1 RestartTimer#1 ServiceTimer#1 (LastTransmissionTime) 3 2 SimpleFIFO Write F- F< I==0 (Collision Backward Queue) Message#1 Local Memory 2 (NewTransmissionTime) (CollisioSnim FpolerwFaIFrdO Queue) Write 1 Or Message#2 2 1 Select 1 TimeTransmission PacketLengthInSecond 23 Insert RoundTripDelay M SendMemory Collision M ReceiveMemory ActiveRead SendMemory Write ReceiveMemory >>>SATELLITE UPLINK TRAFFIC>>> <<<SATELLITE DOWNLINK TRAFFIC<<< Figure 2: Satellite station module 4.2. Single_Earth_Station Module The Single_Earth_Station module shown in Figure5 represents a single earth station. It implements both ALOHA and Slotted ALOHA protocols. It consists of Packet_Genera- tor and Transmit_Receive modules. M SendMemory M ReceiveMemory M SafePacketsMemory M CollisionPacketsMemory Packet_Generator#1 Transmit_Receive#1 Figure 3: Single earth station module The Packet_Generator module, shown in Figure6, generates packets of the AlohaPacket type with the interarrival time exponentially distributed. 4 MLDesign Technologies, Inc. www.mldesigner.com PoissonPulseTrain_2_3#1 Create AlohaPacket Insert TNow in Insert PacketOut TimeCreated Length GenIntConst#1 Figure 4: Packet generator module The Transmit_Receive module, shown in Figure7, en-queues the newly generated packets in a FIFO queue and transmits them one at a time whenever the station's previously sent packet is correctly delivered. WriteMessage#1 M SendMemory PacketIn SInosuerrcte FIFOWithReject#1 EIO 2 Aloha_Type#1 SUlnostltuetdted TIimnseeTrrta TnNsmowiss iinon Write SendMemory 1 >>>SATELLITE UPLINK TRAFFIC>>> WaitForNextSlot#1 EarthStationID Retransmission Counter LocalMemory#1 Int_Num_Packet_Length_Delay#1 [Backoff Time] [Packet is in collision, retransmit it] M CollisionPacketsMemory 2 Write 1 EIO CollisionPacketsMemory T F M ReceiveMemory 2 EIO F Collision#1 T This_Sender#1 ActiveRead ReceiveMemory M SafePacketsMemory 1 [Packet is delivered correctly] <<<SATELLITE DOWNLINK TRAFFIC<<< Write Insert TNow in SafePacketsMemory TimeFinished Figure 5: Transmit receive module 5 MLDesign Technologies, Inc. www.mldesigner.com 4.3. AlohaStatistics Module The AlohaStatistics module, shown in Figure10, computes statistics on the simulated data and displays the results in graphs. M CollisionPacketsMemory CollisionPackets 1.0 CollisionsVsLoadGraph M SafePacketsMemory Select SatePackets Length ThroughputVsLoadGraph Select TimeFinished ScatterGraph2#1 Select HistogramGraph2#1 TimeCreated BatchStatisticsGraph2#1 BatchMeanGraph2#1 ThroughputAndDelayGraph#1 Select Length ThroughputVsTimeGraphTemp#1 Select RetransmissionCount HistogramGraph#1 RetransmissionCountVsLoadGraph Figure 6: Statistics module 5. Sample Results Sample results from selected ALOHA simulation runs are shown below. 6 MLDesign Technologies, Inc. www.mldesigner.com x102 Delay Scatter Graph Set(1,1) 1.2 1.0 D 0.8 e l 0.6 a y 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 Time x102 Figure 7: Delay scattergraph for a 20 node slotted ALOHA simulation RetransmissionCount Histogram Graph 20 Set(1,1) 18 16 S 14 a 12 m p 10 l 8 e s 6 4 2 0 0 5 10 15 20 25 30 35 40 RetransmissionCount Figure 8: Retransmission count histogram for a 20 node slotted ALOHA simulation T h Throughput vs Time Graph r o Set(2,1) u 0.25 Set(2,2) g Set(2,3) h Set(2,4) p 0.20 Set(2,5) u Set(2,6) t Set(2,7) 0.15 O Set(2,8) v Set(2,9) e 0.10 Set(2,10) r C a 0.05 p a 0.00 c i 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 t y Time x102 Figure 9: Throughput vs Time for a 20 station unslotted 10-iteration simulation 7 MLDesign Technologies, Inc. www.mldesigner.com Note: Model developed by Dr. Keyvan Farhangian of KVON Technologies. 8