1. Field of the Invention
The present invention relates generally to data transmission networks and, in particular, to asynchronous priority select logic that insures that all stations of a token ring network have equal time for transmission of data by allowing individual stations to hold the token for asynchronous transmissions only for a specified maximum time period.
2. Discussion of the Prior Art
Communications between stations in a data transmission network occurs through the transmission of a series, or "frame", of information characters, with adjacent frames being separated by explicit or implicit start-stop patterns. The use of a unique start pattern ("start delimiter") and a unique stop pattern ("end delimiter") allows the receiving station to identify the exact beginning and the exact end of each frame.
One type of network that has been enjoying increasing popularity is the token ring. A basic token ring network consists of a number of repeater nodes, each of which is connected by unidirectional transmission links to form a closed-loop ring. Information frames are transferred serially, bit by bit, around the ring from one repeater to the next, with each repeater regenerating and retransmitting each bit.
In addition to functioning as a retransmission element, each repeater on the ring also serves as a station attachment point for insertion and retrieval of information by the attached station. As an information frame circulates on the ring past a repeater, the frame's destination address field is compared to that of the attached station. If the station recognizes the destination address as its own, then it copies the entire frame.
A particular type of token ring network is defined by the Fiber Distributed Data Interface (FDDI) protocol. The FDDI protocol is an American National Standard Institute (ANS) data transmission format which applies to a 100 Mbit/sec. token ring network that utilizes an optical fiber transmission medium. The FDDI protocol is intended as a high performance interconnection between a number of computers as well as between the computers and their associated mass storage subsystems and other peripheral equipment.
As described by William Stallings, Handbook of Computer-Communication Standards, Volume 2, Howard W. Sims & Company, 1987, pp. 177-179, the FDDI token ring technique is based on the use of a small token frame that circulates around the ring when all stations are idle. A station wishing to transmit must wait until it detects a token passing by. It then captures the token by aborting token transmission as soon as the usable token is identified. After the token has been captured, the station is granted control of the transmission medium for up to a specified maximum time period during which it may transmit one or more information frames onto the ring.
Information is transmitted on an FDDI ring in frames that consist of a sequence of 5-bit characters or "symbols", each symbol representing 4 data bits or control code. Information is typically transmitted in symbol pairs or "bytes".
FIG. 1 shows the fields which are used within the FDDI frame and token formats. A preamble field (PA), which consists of a sequence of Idle line-state symbols, precedes every transmission. The Start Delimiter field (SD) consists of a two control symbol start delimiter pair which is uniquely recognizable independent of symbol boundaries. As stated above, the Start Delimiter byte establishes the boundaries for the information that follows. The Frame Control field (FC) defines the type of frame and its characteristics; it distinguishes synchronous from asynchronous transmission, specifies the length of the address and identifies the type of frame. The Frame Control field uniquely distinguishes a token. The Ending Delimiter field (ED) of a token consists of two end delimiter control symbols and completes a token. The Destination Address (DA) and Source Address (SA) fields contain the destination and source addresses of the transmitted frame. The Destination Address field and the Source Address field are both either two bytes long or six bytes long, as determined by the Frame Control field. The Destination Address may be either an individual address or a group address. The Frame Check Sequence field (FCS), which is four bytes long, contains a cyclic redundancy check using the ANS standard polynomial. The INFORMATION field, as is the case for all fields covered by the Frame Check Sequence field, consists only of data symbols. The End Delimiter of a frame is one end delimiter symbol (T), which is followed by the Frame Status field (FS) which consists of three control indicator symbols which indicate whether the addressed station has recognized its address, whether the frame has been copied, or whether any station has detected an error in the frame. The "T" followed by three control indicators represents the minimum end delimiter required by the FDDI protocol for a non-token frame. The protocol allows for additional pairs of control symbols in the End Delimiter or an additional odd number of control symbols followed by one last "T" symbol. All conforming implementations must be able to process these extended end delimiters without truncating them. The end delimiter "T" and the two control symbols "R" and "S" are uniquely encoded and distinguishable from either normal data or Idle symbols.
FIG. 2 shows the component entities necessary for a station to be in compliance with the FDDI protocol. The required components include a Station Management function (SMT) which resides in each station on the network to control the overall action of the station to ensure proper operation as a member of the ring. A Physical Layer Medium Dependent (PMD) function provides the fiber-optic links between adjacent stations on the ring. A Physical Layer Protocol function provides the encoding, decoding, (PHY) clocking and synchronization functions. A Media Access Control function (MAC) controls access to the transmission medium, transmitting frames to and receiving frames from the Media Access Control functions of other stations.
The PHY function simultaneously receives and transmits. The PHY function's transmit logic accepts symbols from the Media Access Control function, converts these symbols to 5-bit code groups and transmits the encoded serial stream, using the capabilities of the PMD, on the medium. The PHY function's receive logic receives the encoded serial stream through the PMD from the medium, establishes symbol boundaries based on the recognition of a start delimiter symbol pair and forwards decoded symbols to its associated Media Access Control function.
Additional information regarding the FDDI protocol is presented by Floyd E. Ross, "FDDI--an Overview", Digest of Papers, Computer Soc. Intl. Conf., Compcon '87, pp. 434-444, which is hereby incorporated by reference to provide additional background information relating to the present invention.
As further described by Stallings, the FDDI protocol defines two types of transmissions: synchronous and asynchronous. A "synchronous" transmission is defined as a class of data transmission service whereby each station is allocated a minimum bandwidth and guaranteed a response time not to exceed a specific delay. An "asynchronous" transmission is defined as a class of data transmission service whereby all stations contend for a pool of dynamically allocated ring bandwidth and response time.
In setting up an FDDI network, the user defines a target token rotation time (TTRT). Each station on the ring stores the same value for TTRT. Some or all of the stations on the ring are given a synchronous allocation time (SA.sub.i), which may vary among stations. The synchronous allocation must be set such that EQU .SIGMA.SA.sub.i +D.Max+F.Max+Token.T.ltoreq.TTRT
where
SA.sub.i =synchronous allocation for station i; PA0 D.Max=propagation time for one complete circuit of the ring; PA0 F.Max=time required to transmit a maximum length FDDI frame; and PA0 Token.T=time required to transmit a token.
When a station receives the FDDI token, it measures the time since it last received a token, which is counted in a token rotation timer (TRT). This value is stored in a token-holding timer (THT). The token rotation timer TRT is reset to zero and begins counting again. The station can then transmit according to the following two rules. First, it may transmit synchronous frames for a time SA.sub.i, as defined above. After transmitting synchronous frames, or if it has no synchronous frames to transmit, then the token-holding timer THT is enabled and begins to run from its set value. The station may transmit asynchronous data only so long as THT&lt;TTRT.