STATION ID - 7047/3.12 9x Datakit Network FOR OFFICIAL USE ONLY This is a 9x system, restricted to authorized persons and for official 9x business only. Anyone using this system, network or data is subject to being monitored at any time for system administration and for identifying unauthorized users or system misuse. Anyone using this system expressly consents to such monitoring and is advised that any evidence of criminal activity revealed through -------------------------------------------------------------------------- Time-Division Multiplexing by foneman -------------------------------------------------------------------------- The problem of transmitting multiple signals over a single-wire circuit was one of the earliest challenges to telecommunications inventors. It was pretty clear that this challenge needed to be conquered seeing as how costly it was to install wire circuits. The solution was sought after to solve the problem for sending multiple telegraph signals over a single-wire circuit. One early way to transmit more than one signal over a single-wire circuit was by use of a phantom circuit. Over already existing wire pair circuits, an additional signal was transmitted through the use of transformers at each end of the circuit. This type of signal was known as a phantom signal. Although the phantom circuit solved the problem of transmitting more than one signal over a wire circuit, it only solved it to some extent. The only way more phantom signals could be transmitted over the wire circuit pair was if the technique was extended to more wire circuits, which was still very costly and still only allowed one phantom signal per pair circuits. Multiplexers ------------ Eventually multiplexing was invented. A multiplexer, often called a mux, allows several devices to transmit a signal over the same transmission medium. For example, if you have a high-speed circuit and you wanted to run several low-speed terminals off of it you could run the terminals through a multiplexer. This is obviously a major advantage. Multiplexers are normally used in pairs, with one at each end of the communications circuit. The multiplexer connected to the terminals can combine the data and send it over the communications circuit, then the multiplexer on the receiving end would the separate the data and send it to the correct ports. Before I get into multiplexing, a few things need to be said so that the rest of the article is understood. From this point on a multiplexer will be refered to as a mux, as it often is. The low-speed ports of a mux will be refered to as branch ports and the high-speed port as the trunk port. The branch ports of a mux are usually connected to terminals or front end ports and the trunk port to the communications circuit. Two muxes connected by a communications circuit is illustrated below to give you a visual if you had any trouble with that. Mux A Mux B ___________ ___________ | | | | * | | * * #=========================# * * | | * * | | * |___________| |___________| = Communications circuit * Branch port # Trunk Port Note: The two muxes shown in the above diagram are only connected to each other. In a realistic situation the branch ports would probably be connected to terminals on the sending end and a front end processor, or FEP, on the receiving end. Pure Time-Division Multiplexing ------------------------------- When you have a high-speed communications circuit that's being used by several low-speed devices the muxes use a technique known as time- division multiplexing, or TDM. In my first example of TDM, shown in the diagram below, four terminals and front end ports are operating at 1200 bps. The modems between the muxes each operate at 4800 bps. All four terminals and front end ports share the same bandwidth of 4800 bps. Host computer _____________ Terminals | | ___ | | FEP _| | | | ________ Mux Mux | |___| | | | | ______ Modem Modem ______ | ___ | | | |--| | ____ ____ | |-- | | | | | |--| |_|____|_____|____|_| |----|___| | |___| |--| | | |-----___ |_____________| |________|--|______| |______|-- | | | |___| _|_ | | |___| Obviously you can see that if all four terminals were constantly transmitting and receiving data, there would be a total of 4800 bps transmitted and received by the modems. Since there is a 4800 bps connection between the modems and only four terminals and front end ports operating at 1200 bps there will always be enough bandwidth to handle all of the terminals' maximum operations. How does Pure Time-Division Multiplexing Work? ---------------------------------------------- At this point I'll discuss the two most popular methods of pure time-division multiplexing; character interleaving and bit interleaving. In character interleaving, also known as byte interleaving, one character is multiplexed at a time. A diagram will be given below to help you to better understand what's being explained in this section. So things don't get messy, only four terminals (each sending a one word message simulatiously) will be used. Terminal 1 sends "Phreaker," terminal 2 sends "Linux," terminal 3 sends "Fetus," and terminal 4 sends "Ajax"; all words are sent one character at a time by the terminals. The mux connected to the terminals will be mux A, and the mux connected to the front end processor will be mux B. Using character interleaving, mux A scans it's branch ports for characters transmitted by the terminals. Should mux A receive any characters to be sent over the high-speed trunk port, they can be sent over it one at a time. For example, mux A scans it's branch ports and discovers the characters P, L, F, and A. Mux A sends these characters over it's trunk port to mux B. Mux B then sends the characters to each front end port at 2400 bps. The P is sent to port 1, the L to port 2, the F to port 3, and the A to port 4. Next, mux A sends 'hiej' over its trunk port. Mux B then sends h to port 1, i to port 2, e to port 3, and j to port 4. This goes on until every character is sent. Host computer _____________ Terminals | | ___ | | FEP _| 1 | | | ________ Mux B Mux A | |___| | | | | ______ Modem Modem ______ | ___ | | | |--| | ____ ___ _ | |-- | 2 | | | | |--| |_|____|____|____|_*| |----|___| | |___| |--| | | |-----___ |_____________| |________|--|______| |______|-- | 3 | | |___| _|_ | 4 | |___| * Byte interleaving time slots and their data Time slot: 12341234123412341234123412341234 Data: PLFAhiejrntaeuuxaxs-k---e---r--- Every time a front end port is communicating it's called a time slot. In the example I just gave, terminal 1 had the first time slot, terminal 2 had the second time slot, terminal 3 the third, and terminal 4 the fourth. When the data reaches mux B, the first time slot is sent to front end port 1, the character in the second time slot is sent to front end port 2, and so on. However many devices are used with TDM, there would be that many time slots instead of four. For example, if there were 10 terminals instead of just four, there would be 10 time slots. Time slots aren't always used, as the example of terminal 4 sending the message "Ajax" shows. This just means that bandwidth goes unused. Every terminal is guaranteed enough bandwidth because the speed of the trunk port equals that of the speeds of the terminals combined. The other mentioned method of accomplishing TDM is bit interleaving. As opposed to sending one character from each terminal, this method takes one bit from each terminal and sends it on the trunk port. Imagine that terminal 1 sends the character F (01000110), terminal 2 sends O (01001111), terminal 3 sends N (01001110), and terminal 4 sends a E (01000101). We'll ignore start and stop bits to make it simpler. Since in ASCII the bit on the right is transmitted first, the first bit received from terminal 1 is 0, from terminal 2 is a 1, from terminal 3 is a 0, and from terminal 4 is a 1. 0101 is then sent by mux A over the trunk port. Mux B receives the data and sends the first time slot to front end port 1, the second time slot to front end port 2, the third time slot to front end port 3, and the fourth time slot to front end port 4. Since in bit interleaving, the time slots are shorter, there are eight times as many time slots in a second. In this case too, the speed of the trunk port has to be equal to the speeds of the terminals combined. The two methods function identically, except for the fact that there is a bit in each slot instead of a byte. * Bit interleaving time slots and their data Time slot: 12341234123412341234123412341234 Data: 01011110111101100000000011110000 Statistical Time-Division Multiplexing -------------------------------------- Due to the fact that humans take breaks, screw around on the job, and type slower than their terminals can transmit, users generally don't use all of the available bandwidth. Because of those reasons, character transmission is usually very intermittent. In a situation where this happens more often than not using pure TDM, time slots are left empty. Statistical time-division multiplexing (STDM) takes full advantage of the intermittent nature of terminal users and does it's best to make available bandwidth to each terminal when needed. When using an STDM mux, also called a stat mux, the combined speeds of the terminals in use do not have to equal that of the transmission speed in the trunk port. For example, six terminals at speeds of 2400 bps can use a trunk port transmitting at 9600 bps. This is due to the nature of STDM in that it assumes not all devices are transmitting all the time. Since in STDM, time slots are not sent on a constant basis the question of how the stat mux knows which data goes to which port? Typically, a stat mux sends an address along with the data. When a terminal is not sending any data, other terminals transmitting can use the time slots. Another question comes to mind when speaking of STDM. What happens when all terminal users attempt to transmit data at the same time? Since the data can't all be transmitted at once, a stat mux will generally buffer the data until a terminal user stops sending data so that there would be extra time slots available on the trunk. Closing ------- Obviously you can see which method of TDM would be most efficient in a case of intermittent transmission or in constant transmission. I hope that I was able to shed a little light on what's happening to your data as it's sent. -foneman