# ALOHAnet

ALOHAnet, also known as the ALOHA System,[1][2][3] or simply ALOHA, was a pioneering computer networking system developed at the University of Hawaii. ALOHAnet became operational in June 1971, providing the first public demonstration of a wireless packet data network.[4][5] ALOHA originally stood for Additive Links On-line Hawaii Area.[6]

The ALOHAnet used a new method of medium access, called ALOHA random access, and experimental ultra high frequency (UHF) for its operation. In the 1970s ALOHA random access was employed in the nascent Ethernet cable based network[7] and then in the Marisat (now Inmarsat) satellite network.[8]

In the early 1980s frequencies for mobile networks became available, and in 1985 frequencies suitable for what became known as Wi-Fi were allocated in the US.[9] These regulatory developments made it possible to use the ALOHA random-access techniques in both Wi-Fi and in mobile telephone networks.

ALOHA channels were used in a limited way in the 1980s in 1G mobile phones for signaling and control purposes.[10] In the late 1980s, the European standardization group GSM who worked on the Pan-European Digital mobile communication system GSM greatly expanded the use of ALOHA channels for access to radio channels in mobile telephony. In addition, SMS message texting was implemented in 2G mobile phones. In the early 2000s additional ALOHA channels were added to 2.5G and 3G mobile phones with the widespread introduction of General Packet Radio Service (GPRS), using a slotted-ALOHA random-access channel combined with a version of the Reservation ALOHA scheme first analyzed by a group at BBN Technologies.[11]

## Overview

One of the early computer networking designs, development of the ALOHA network was begun in September 1968 at the University of Hawaii under the leadership of Norman Abramson and Franklin Kuo, along with Thomas Gaarder, Shu Lin, Wesley Peterson and Edward ("Ned") Weldon. The goal was to use low-cost commercial radio equipment to connect users on Oahu and the other Hawaiian islands with a central time-sharing computer on the main Oahu campus. The first packet broadcasting unit went into operation in June 1971. Terminals were connected to a special purpose terminal connection unit using RS-232 at 9600 bit/s.[12]

The original version of ALOHA used two distinct frequencies in a hub configuration, with the hub machine broadcasting packets to everyone on the outbound channel, and the various client machines sending data packets to the hub on the inbound channel. If data was received correctly at the hub, a short acknowledgment packet was sent to the client; if an acknowledgment was not received by a client machine after a short wait time, it would automatically retransmit the data packet after waiting a randomly selected time interval. This acknowledgment mechanism was used to detect and correct for collisions created when two client machines both attempted to send a packet at the same time.

ALOHAnet's primary importance was its use of a shared medium for client transmissions. Unlike the ARPANET where each node could only talk to a single node at the other end of a wire or satellite circuit, in ALOHAnet all client nodes communicated with the hub on the same frequency. This meant that some sort of mechanism was needed to control who could talk at what time. The ALOHAnet solution was to allow each client to send its data without controlling when it was sent, and implementing an acknowledgment/retransmission scheme to deal with collisions. This approach radically reduced the complexity of the protocol and the networking hardware, since nodes do not need to negotiate who is allowed to speak.

This solution became known as a pure ALOHA, or random-access channel, and was the basis for subsequent Ethernet development and later Wi-Fi networks.[5] Various versions of the ALOHA protocol (such as Slotted ALOHA) also appeared later in satellite communications, and were used in wireless data networks such as ARDIS, Mobitex, CDPD, and GSM.

The Aloha network introduced the mechanism of randomized multiple access, which resolved device transmission collisions by transmitting a package immediately if no acknowledgement is present, and if no acknowledgment was received, the transmission was repeated after a random waiting time.[13]

Also important was ALOHAnet's use of the outgoing hub channel to broadcast packets directly to all clients on a second shared frequency and using an address in each packet to allow selective receipt at each client node.[4] Separate frequencies were used for incoming and outgoing communications to the hub so that devices could receive acknowledgments regardless of transmissions.

## ALOHA protocol

### Pure ALOHA

Pure ALOHA protocol. Boxes indicate frames. Shaded boxes indicate frames that have collided.

The original version of the protocol (now called Pure ALOHA, and the one implemented in ALOHAnet) was quite simple:

• If you have data to send, send the data
• If, while you are transmitting data, you receive any data from another station, there has been a message collision. All transmitting stations will need to try resending later.

Note that the first step implies that Pure ALOHA does not check whether the channel is busy before transmitting. Since collisions can occur and data may have to be sent again, ALOHA cannot efficiently use 100% of the capacity of the communications channel. How long a station waits until it retransmits, and the likelihood a collision occurs are interrelated, and both affect how efficiently the channel can be used. This means that the concept of retransmit later is a critical aspect; The quality of the backoff scheme chosen significantly influences the efficiency of the protocol, the ultimate channel capacity, and the predictability of its behavior.

To assess Pure ALOHA, there is a need to predict its throughput, the rate of (successful) transmission of frames.[14] First, let's make a few simplifying assumptions:

• All frames have the same length.
• Stations cannot generate a frame while transmitting or trying to transmit. That is, while a station is sending or trying to resend a frame, it cannot be allowed to generate more frames to send.
• The population of stations attempting to transmit (both new transmission and retransmissions) follows a Poisson distribution.

Let T refer to the time needed to transmit one frame on the channel, and let's define frame-time as a unit of time equal to T. Let G refer to the mean used in the Poisson distribution over transmission-attempt amounts. That is, on average, there are G transmission attempts per frame-time.

Overlapping frames in the pure ALOHA protocol. Frame-time is equal to 1 for all frames.

Consider what needs to happen for a frame to be transmitted successfully. Let t refer to the time at which it is intended to send a frame. It is preferable to use the channel for one frame-time beginning at t, and all other stations to refrain from transmitting during this time.

For any frame-time, the probability of there being k transmission-attempts during that frame-time is:

${\displaystyle {\frac {G^{k}e^{-G}}{k!}}}$

Comparison of Pure Aloha and Slotted Aloha shown on Throughput vs. Traffic Load plot.

The average number of transmission-attempts for two consecutive frame-times is 2G. Hence, for any pair of consecutive frame-times, the probability of there being k transmission attempts during those two frame-times is:

${\displaystyle {\frac {(2G)^{k}e^{-2G}}{k!}}}$

Therefore, the probability (${\displaystyle Prob_{pure}}$ ) of there being zero transmission-attempts between t-T and t+T (and thus of a successful transmission for us) is:

${\displaystyle Prob_{pure}=e^{-2G}}$

The throughput can be calculated as the rate of transmission attempts multiplied by the probability of success, and it can be concluded that the throughput (${\displaystyle S_{pure}}$ ) is:

${\displaystyle S_{pure}=Ge^{-2G}}$

The maximum throughput is 0.5/e frames per frame-time (reached when ${\displaystyle G=0.5}$ ), which is approximately 0.184 frames per frame-time. This means that, in Pure ALOHA, only about 18.4% of the time is used for successful transmissions.

### Slotted ALOHA

Slotted ALOHA protocol. Boxes indicate frames. Shaded boxes indicate frames which are in the same slots.

An improvement to the original ALOHA protocol was Slotted ALOHA, which introduced discrete timeslots and increased the maximum throughput.[15] A station can start a transmission only at the beginning of a timeslot, and thus collisions are reduced. In this case, only transmission-attempts within 1 frame-time and not 2 consecutive frame-times need to be considered, since collisions can only occur during each timeslot. Thus, the probability of there being zero transmission attempts by other stations in a single timeslot is:

${\displaystyle Prob_{slotted}=e^{-G}}$

the probability of a transmission requiring exactly k attempts is (k-1 collisions and 1 success):[14]

${\displaystyle Prob_{slotted}k=e^{-G}(1-e^{-G})^{k-1}}$

The throughput is:

${\displaystyle S_{slotted}=Ge^{-G}}$

The maximum throughput is 1/e frames per frame-time (reached when G = 1), which is approximately 0.368 frames per frame-time, or 36.8%.

Slotted ALOHA is used in low-data-rate tactical satellite communications networks by military forces, in subscriber-based satellite communications networks, mobile telephony call setup, set-top box communications and in the contactless RFID technologies.

### Other protocols

The use of a random-access channel in ALOHAnet led to the development of carrier sense multiple access (CSMA), a listen before send random-access protocol that can be used when all nodes send and receive on the same channel. CSMA in radio channels was extensively modeled.[16] The AX.25 packet radio protocol is based on the CSMA approach with collision recovery,[17] based on the experience gained from ALOHAnet. A variation of CSMA, CSMA/CD is used in early versions of Ethernet.

ALOHA and the other random-access protocols have an inherent variability in their throughput and delay performance characteristics. For this reason, applications that need highly deterministic load behavior may use master/slave or token-passing schemes (such as Token Ring or ARCNET) instead of contention systems.

## Design

### Network architecture

Two fundamental choices which dictated much of the ALOHAnet design were the two-channel star configuration of the network and the use of random access for user transmissions.

The two-channel configuration was primarily chosen to allow for efficient transmission of the relatively dense total traffic stream being returned to users by the central time-sharing computer. An additional reason for the star configuration was the desire to centralize as many communication functions as possible at the central network node (the Menehune) to minimize the cost of the original all-hardware terminal control unit (TCU) at each user node.

The random-access channel for communication between users and the Menehune was designed specifically for the traffic characteristics of interactive computing. In a conventional communication system, a user might be assigned a portion of the channel on either a frequency-division multiple access or time-division multiple access basis. Since it was well known that in time-sharing systems (circa 1970), computer and user data are bursty, such fixed assignments are generally wasteful of bandwidth because of the high peak-to-average data rates that characterize the traffic.

To achieve a more efficient use of bandwidth for bursty traffic, ALOHAnet developed the random-access packet switching method that has come to be known as a pure ALOHA channel. This approach effectively dynamically allocates bandwidth immediately to a user who has data to send, using the acknowledgment and retransmission mechanism described earlier to deal with occasional access collisions. While the average channel loading must be kept below about 10% to maintain a low collision rate, this still results in better bandwidth efficiency than when fixed allocations are used in a bursty traffic context.

Two 100 kHz channels in the experimental UHF band were used in the implemented system, one for the user-to-computer random-access channel and one for the computer-to-user broadcast channel. The system was configured as a star network, allowing only the central node to receive transmissions in the random-access channel. All user TCUs received each transmission made by the central node in the broadcast channel. All transmissions were made in bursts at 9600 bit/s, with data and control information encapsulated in packets.

Each packet consisted of a 32-bit header and a 16-bit header parity check word, followed by up to 80 bytes of data and a 16-bit parity check word for the data. The header contained address information identifying a particular user so that when the Menehune broadcast a packet, only the intended user's node would accept it.

### Menehune

The central node communications processor was an HP 2100 minicomputer called the Menehune, which is the Hawaiian language word for dwarf people,[18] and was named for its similar role to the original ARPANET Interface Message Processor (IMP) which was being deployed at about the same time. In the original system, the Menehune forwarded correctly received user data to the UH central computer, an IBM System 360/65 time-sharing system. Outgoing messages from the 360 were converted into packets by the Menehune, which were queued and broadcast to the remote users at a data rate of 9600 bit/s. Unlike the half-duplex radios at the user TCUs, the Menehune was interfaced to the radio channels with full-duplex radio equipment.[19]

### Remote units

The original user interface developed for the system was an all-hardware unit called an ALOHAnet Terminal Control Unit (TCU) and was the sole piece of equipment necessary to connect a terminal into the ALOHA channel. The TCU was composed of a UHF antenna, transceiver, modem, buffer and control unit. The buffer was designed for a full line length of 80 characters, which allowed handling of both the 40- and 80-character fixed-length packets defined for the system. The typical user terminal in the original system consisted of a Teletype Model 33 or a dumb CRT user terminal connected to the TCU using a standard RS-232 interface. Shortly after the original ALOHA network went into operation, the TCU was redesigned with one of the first Intel microprocessors, and the resulting upgrade was called a Programmable Control Unit (PCU).

Additional basic functions performed by the TCUs and PCUs were generation of a cyclic-parity-check code vector and decoding of received packets for packet error detection purposes, and generation of packet retransmissions using a simple random interval generator. If an acknowledgment was not received from the Menehune after the prescribed number of automatic retransmissions, a flashing light was used as an indicator to the human user. Also, since the TCUs and PCUs did not send acknowledgments to the Menehune, a steady warning light was displayed to the human user when an error was detected in a received packet. Considerable simplification was incorporated into the initial design of the TCU as well as the PCU for interfacing a human user into the network.

### Later developments

In later versions of the system, simple radio relays were placed in operation to connect the main network on the island of Oahu to other islands in Hawaii, and Menehune routing capabilities were expanded to allow user nodes to exchange packets with other user nodes, the ARPANET, and an experimental satellite network. More details are available in [4] and in the technical reports listed in the Further Reading section below.

## References

1. ^ Abramson, N. (1970). The ALOHA System - Another Alternative for Computer Communications (PDF). Proc. 1970 Fall Joint Computer Conference. AFIPS Press.
2. ^ Kuo, F. F. (1995-01-11). "The ALOHA System". ACM SIGCOMM Computer Communication Review. 25 (1): 41–44. doi:10.1145/205447.205451. ISSN 0146-4833. S2CID 2355657.
3. ^ Kuo, Franklin F. (1981). "Computer Networks–The ALOHA System" (PDF). Journal of Research of the National Bureau of Standards. Report of the Office of Naval Research. 86 (6): 591–595. doi:10.6028/jres.086.027. PMC 6753009. PMID 34566062. Archived (PDF) from the original on February 28, 2017.
4. ^ a b c Binder, R.; Abramson, N.; Kuo, F. F.; Okinaka, A.; Wax, D. (1975). ALOHA packet broadcasting - A retrospect (PDF). Proc. 1975 National Computer Conference. AFIPS Press.
5. ^ a b Abramson, N. (December 2009). "The ALOHAnet – Surfing for Wireless Data" (PDF). IEEE Communications Magazine. 47 (12): 21–25. doi:10.1109/MCOM.2009.5350363. S2CID 7757418.
6. ^ Kamins, Robert M.; Potter, Robert E. (1998). Måalamalama: A History of the University of Hawai'i. University of Hawaii Press. p. 159. ISBN 9780824820060. Retrieved August 2, 2015.
7. ^ Metcalfe, Robert M.; Boggs, David R. (July 1976). "Ethernet: Distributed Packet Switching for Local Computer Networks". Comm. ACM. 19 (7): 395–404. doi:10.1145/360248.360253. S2CID 429216.
8. ^ Lipke, David W.; Swearingen, D. W.; Parker, J. F.; Steinbrecher, E. E.; Calvit, T. O.; Dodel, H. (Fall 1977). "MARISAT - A maritime satellite communications system" (PDF). COMSAT Technical Review. 7: 351–391. Bibcode:1977COMTR...7..351L. OCLC 785438248.
9. ^ "Authorization of Spread Spectrum Systems Under Parts 15 and 90 of the FCC Rules and Regulations". Federal Communications Commission. June 18, 1985. Archived from the original (TXT) on 2007-09-28. Retrieved 2007-08-31.
10. ^ Stavenow, B. (1984). Throughput-Delay Characteristics and Stability Considerations of the Access Channel in a Mobile Telephone System. Proceedings of the 1984 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems. pp. 105–112.
11. ^ Crowther, Will (January 1973). A System for Broadcast Communication: Reservation-ALOHA. Proceedings of the 6th Hawaii International Conference on Systems Sciences. Honolulu. pp. 371–374.
12. ^ Abramson, Norman (Mar 1985). "Development of the ALOHANET". IEEE Transactions on Information Theory. 31 (2): 119–123. Bibcode:1985ITIT...31..119A. doi:10.1109/TIT.1985.1057021.
13. ^ Walrand, Jean; Parekh, Shyam (2010). Communication Networks: A Concise Introduction. University of California, Berkeley: Morgan & Claypool Publishers series. pp. 28–29. ISBN 9781608450947.
14. ^ a b Tanenbaum, A. S. (2003). Computer Networks. Prentice Hall PTR. ISBN 9780130661029 – via The Internet Archive.
15. ^ Roberts, Lawrence G. (April 1975). "ALOHA Packet System With and Without Slots and Capture". Computer Communications Review. 5 (2): 28–42. doi:10.1145/1024916.1024920. S2CID 3062884.
16. ^ Kleinrock, Len; Tobagi, Fouad A. (1975). "Packet switching in Radio Channels: Part I – Carrier Sense Multiple Access Modes and their Throughput-Delay Characteristics" (PDF). IEEE Transactions on Communications. 23 (COM–23): 1400–1416. CiteSeerX 10.1.1.475.2016. doi:10.1109/tcom.1975.1092768. S2CID 5879608. Archived from the original (PDF) on 2017-08-09. Retrieved 2017-11-01.
17. ^ "AX.25 Link Access Protocol for Amateur Packet Radio" (PDF). Tucson Amateur Packet Radio. 1997. p. 39. Retrieved 2014-01-06.
18. ^ Mary Kawena Pukui and Samuel Hoyt Elbert (2003). "lookup of Menehune". in Hawaiian Dictionary. Ulukau, the Hawaiian Electronic Library, University of Hawaii Press. Retrieved August 11, 2011.
19. ^ Kuo, Franklin F. (November–December 1981). "Computer Networks - the ALOHA System" (PDF). Journal of Research of the National Bureau of Standards. 86 (6): 591–595. doi:10.6028/jres.086.027. ISSN 0160-1741. PMC 6753009. PMID 34566062. Retrieved 2014-07-12.