CA2095891C - Transmission of high-priority, real-time traffic on low-speed communication links - Google Patents
Transmission of high-priority, real-time traffic on low-speed communication linksInfo
- Publication number
- CA2095891C CA2095891C CA002095891A CA2095891A CA2095891C CA 2095891 C CA2095891 C CA 2095891C CA 002095891 A CA002095891 A CA 002095891A CA 2095891 A CA2095891 A CA 2095891A CA 2095891 C CA2095891 C CA 2095891C
- Authority
- CA
- Canada
- Prior art keywords
- priority
- packet
- low
- packets
- preempt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/245—Traffic characterised by specific attributes, e.g. priority or QoS using preemption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6445—Admission control
- H04L2012/6459—Multiplexing, e.g. TDMA, CDMA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6464—Priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6478—Digital subscriber line, e.g. DSL, ADSL, HDSL, XDSL, VDSL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Abstract
A protocol is defined for mixed data/voice/multimedia communications systems to transmit and receive high-priority, real-time traffic over low-speed digital communication links by embedding such high priority traffic in low priority, non-real-time traffic. High priority, real-time packets are thus transmitted without delay by preempting low-priority packets. Low priority, non real-time packets are held during preemption, and lowpriority transmission is automatically resumed after transmission of high priority packets has been completed. A protocol is defined for communications systems to exchangeinformation, at the time that a communication link is activated, defining their link capabilities for handling high priority, real-time packets and to agree on how this high priority traffic will be transmitted on the communication link.
Description
CA 0209~891 1998-04-21 TRANSMISSION OF HIGH-PRIORITY, REAL-TIME TRAFFIC ON
LOW-SPEED COMMUNICATION LINKS
Field of the Invention 5 The present invention relates to data communications networks and more particularly to a data communications network having the capability of processing both high priority packets and low priority packets using a preempt-resume protocol.
Background of the Invention 10 Communications systems traditionally have used packet switching techniques for carrying bursty data traffic and have used circuit switching techniques for carrying multiplexed real-time traffic such as voice and video. Circuit switching techniques are typified by a time-division multiplexed voice telephone network in which the traffic is sent as a continuous stream of bits. Packet switching techniques, on the other hand, have been developed to handle bursty data over digital networks in which destination and drop-off addresses are combined with the message data. Each packet is delimited by flags and contains address/routing headers, priority definers and error checkers.
Traditional packet networks are characterized by significant per packet processing in the intermediate nodes of a network. This processing has limited the throughput of 20 packet nodes and introduced high delays for packets. To achieve higher throughput and to reduce this delay, fast packet switching networks have been defined whichminimize the amount of processing required in intermediate nodes.
This simplified intermediate node processing now makes it feasible for packet networks 25 to carry, in the form of packets, traffic traditionally carried only over circuit switched networks. In addition, this traffic in packetized form can share the same packet network including communication links with the bursty data traffic. However since the traditional circuit switched traffic had stringent bounds on total allowable delay across the network as well as variability of delay, nodes in the packet network must ensure that this traffic CA 0209~891 1998-04-21 receives priority handling. To accomplish this, packets carrying bursty data traffic can be assigned to a non-real-time priority while packets carrying the traditional circuit model traffic can be assigned a higher, real-time priority. A node in a fast packet network contains buffers for holding packets waiting for transmission on its communication links. Packets waiting for transmission can be held in buffers managed differently, depending on the priority, assigned to the packets.
A communication node in a network can adopt a number of different service policies in order to transmit packets from the different priority buffers: priority with no preemption, preemption with retransmission, and preemption with resume. When no preemption is used, the packet priority is only examined to determine from which buffer to select the next packet for transmission. If a high-priority packet is placed in the buffer while a low-priority packet is being transmiKed, the high-priority packet must wait until the current transmission is completed. A preemption with retransmission service policy lS means that the node will abort the transmission of a low-priority packet upon the arrival of a high-priority packet and immediately transmit the high-priority packet. Once all high-priority packets have been transmiKed, transmission of the preempted low-priority packet will be restarted from the beginning of the packet. A preemption with resume service policy is similar except the preempted low-priority packet is restarted from the point of interruption rather than the beginning.
The selection of the appropriate service policy is dependent on the characteristics of the communication link, the delay requirements of the high-priority packets, and the size of the low-priority packets. If the transmission rate of the communication link is high enough compared to the size of the longest low-priority packet, then the delay incurred by a high-priority packet waiting for a low-priority one to complete may be acceptable. In this case, the priority with no preemption service policy is preferable since it is easier to implement and may have slightly lower link overhead. If the usage efficiency of the communication link is not important but the delay associated with waiting for completion CA 0209~891 1998-04-21 of the low-priority packets is too high, then the preemption with retransmission service policy may be acceptable. However, if the usage efficiency of the communication link is important and the priority with no preemption service policy does not meet the delay requirements, then the preempt with resume service policy may be required.
Various schemes exist for transmitting packetized information over communicationlinks. The typical scheme used over low speed serial links up to T3 speeds is based on the HDLC MAC-layer protocol. Each packet is delimited by starting and ending flags (X'7E'). The ending flag for one packet may also be the starting flag for the next packet.
lO The packet itself consists of an integral number of bytes of data. Since the contents of the packet may include bit patterns that are the same as the flag pattern, a technique known as bit stuffing is used to differentiate the data from the flags. The transmitter inserts a '0' bit after any sequence of five contiguous '1' bits in the packet data.
Likewise, the receiver removes any '0' bit immediately following a sequence of five '1' 15 bits in the received bit stream. When no packets are waiting to be transmitted, flags are repeatedly transmitted. Both the priority with no preemption and the preemption with retransmission service policies can be implemented using the existing HDLC MAC-layer protocol.
20 Summary of the Invention The present invention relates to method and apparatus for effecting a modified HDLC
MAC-layer protocol providing preemptive priority with resume over a serial communication link.
It is, therefore, an object of this invention to provide method and apparatus for embedding high-priority traffic in low-priority traffic for serial transmission through low speed communication links, without delay incurred by having first to complete transmission of a low-priority traffic. It is another object of this invention to preempt low-priority packet traffic with a high-priority packet and later resume transmission of the CA 0209~891 1998-04-21 preempted low-priority packet automatically, with minimal overhead on the communication link. It is another object of this invention to detect bit transmission errors affecting packet boundaries and to recover from said errors with minimal loss of packets. It is another object of this invention to provide a method and apparatus for 5 determining whether preemption of low-priority packets is required on a given communication link as a function of link speed, acceptable delay and maximum packet size, and therefore whether preemption should be enabled. It is another object of this invention to allow a mode of operation that is compatible with HDLC MAC-layer, either prior to enabling preemption or when it is determined that preemption is not required.
According to this invention, packets of information are embedded in frames having starting and ending flags, control headers to designate the packet's priority, and any required routing information. The flags, in addition to defining the boundaries of a packet, also define byte alignment of the packet data. The flags also indicate when a 15 low-priority packet has been preempted by a high-priority packet and when thetransmission of a low-priority packet is being resumed. The control bits designate whether or not a particular packet is high-priority or low-priority and hence whether or not the packet is preemptable.
20 Also when a communication link is activated, the two communications systems at each end of the link exchange control information about their respective packet capabilities.
The control information describes the maximum supported low-priority packet sizesupported in the transmit and receive direction and the ability of the communications system to support high-priority packets. Using the information exchanged along with the 25 communication link's data rate and the maximum acceptable delay for high-priority packets, each communications system independently determines whether the preempVresume protocol should be enabled or whether a simple priority with no preemption the protocol should be used.
CA 0209~891 1998-04-21 Brief Description of the Drawings Figure 1 shows a basic packet frame used in the practice of this invention, where packet containing header and data is delimited by flags;
Figure 2 shows the valid combination of formatted packet frames in which a low-priority packet is preempted by a high-priority packet with subsequent automatic resumption;
Figure 3 shows a combination of packet frames containing a bit error which causes a 10 transmission abort;
Figure 4 shows a block diagram of the transmit portion of a communication link interface of a communications system to which this invention is applicable;
15 Figure 5 shows a block diagram of the receive portion of a communication link interface of a communications system to which this invention is applicable;
Figure 6 is a table used in explaining how maximum permissible packet size and the need for preempVresume protocols is determined in each direction of a communication 20 link; and Figure 7 is a finite state machine table showing preempVresume states.
CA 0209~891 1998-04-21 Detailed Description of the Invention This invention defines a preempVresume protocol extension to the existing HDLC
MAC-layer packet framing protocol used on serial communication links, to allow the preemption of low-priority packets so that high-priority packets may be transmitted with minimal delay. A link activation protocol is also defined to determine whether the preempVresume protocol extension should be enabled. During the link activation, normal HDLC MAC-layer framing protocol is used to transmit packets across the communication link. Also if the link activation determines that preempVresume should not be used, all packets are sent using the HDLC MAC-layer framing protocol withsimple priority without preemption.
Enabling PreempVResume Protocol Extension Determination of when to use the preempVresume protocol extension is based on the support of high-priority trafffic, low-priority packet sizes supported, communication link speed, and maximum acceptable delay of high-priority packets. The two communications systems on each end of the communication link can determine the need for the preempVresume protocol independently for their direction of the link.
During link-activation, each communications system sends a control message to its neighbour at the other end over the communication link using the normal HDLC
MAC-layer framing. The control message contains the following fields:
~ A High-Priority Traffic Supported field indicates whether the sending system supports high-priority traffic on its link.
~ A Maximum Received Low-Priority Packet Size Supported field defines the maximum packet size that the sender can receive.
~ A Maximum Transmitted Low Priority Packet Size Supported field defines the maximum packet size that the sender can transmit.
. CA 0209~891 1998-04-21 If high-priority traffic is not supported, the receiver must verify that each packet received is a low-priority packet. If a packet identified as high-priority packet is received, it is discarded by the receiver.
5 The following example, described with reference to Figure 6, shows how communications systems A and B each determine the maximum low-priority packet size supported in each direction and whether preempVresume protocol extension should be enabled.
10 Transmission of a high-priority packet may not be delayed by a low-priority packet for more than T, where in the following example T=0.5 msecs. A sender that supports high-priority traffic must either transmit:
~ without preempVresume protocol, which constrains the low-priority packet size to lS satisfy the equation packet size T
link speed <
~ or with preempVresume.
For link direction A to B, the maximum low-priority packet size is 8KB. Assuming a link speed of 18.432 Mbps, the above inequality is not satisfied since 8 Kbytes = 3.56 msecs > 0.5 msecs 18.432 kb~ts per msec CA 0209~891 1998-04-21 Therefore, to satisfy the delay requirements, the preempVresume protocol is required.
This means that communications system A will transmit preempted packets and thatcommunications system B must support receipt of preempted packets.
S For link direction B to A, the maximum low-priority packet size is 1KB. The above inequality is satisfied as 1 Kbytes 18.432 kbits per m5ec = 0-44 msecs < 0.5 msecs and the preempVresume protocol is not to be used. This means that communications10 system B will not transmit preempted packets and that communications system A will interpret preempt flags as error conditions.
If a particular communications system has not implemented the preempVresume protocol extension but supports high-priority packets, it will select a maximum 15 low-priority packet size no greater than the value of link speed x T. Using this value, the communications system on the other end of the communication link will correctly determine that the preempVresume protocol is not to be used.
PreempVResume Protocol Extension 20 In the following description, bit sequences may be described using either conventional binary representation or, for the sake of convenience, hexadecimal representation.
The protocol for allowing high-priority packets to temporarily preempt low-priority packets uses three types of flags to delimit packets: a normal flag which can be a 25 starting, ending or idle flag, a start-preempt flag and an end-preempt flag. The normal flag is defined as the 8-bit sequence B'01111110' (X'7E'). The start-preempt flag is defined as the 9-bit sequence B'011111110' and the end-preempt flag is defined as the CA 0209~891 1998-04-21 ten-bit sequence B'0111111110'. All flags are on byte boundaries with respect to the packet data that they delineate. To differentiate flag bit sequences from bit sequences within the packets, zero bit stuffing is used in the packet data. An extra '0' bit is inserted in the transmitted bit stream after each occurrence of five consecutive '1' bits in a packet. A sequence of more than eight '1' bits indicates an error condition aborting the current packet being transmitted and received. Also a sequence of more than six '1' bits indicates an abort condition if the preempVresume protocol is not enabled.
The following is a set of rules adopted for a practical preempVresume protocol.
~ The bit sequence B'01111110' (X'7E') always defines byte alignment and may occur any number of times before and after complete packets.
~ Six '1' bits preceded by a '0' bit that is not byte aligned with received packet data is an invalid code.
~ Nine '1' bits preceded by a '0' bit that is byte aligned is also an invalid code.
~ Receipt of an invalid code aborts the current packet and all subsequent packets are aborted until X'7E' occurs.
~ Verification that the preempted packet is a low-priority packet is performed.
~ Verification that packets received during preemption are high-priority packets is also performed.
~ A low-priority packet cannot be preempted until the first byte is transmitted.~ Receipt of the start-preempt flag (B'011111110') immediately followed by the end-preempt flag (B'0111111110') aborts the preempted packet and ends preempt mode.
CA 0209~891 1998-04-21 Under the foregoing rules, the following is a valid combination of packets and flags when preempVresume is not enabled:
7E { [7E] [ RTP 7E ] [7E] [ NRTP 7E ] }
Under the foregoing rules, the following is a valid combination of packets and flags when preempVresume is enabled:
< preempted packct >
7E { [7E] [ RTP 7E ] [7E] [ NRTP 7E ] [ pNRTP { [ SP [7E] RTP [ 7E RTP ] [7E] EP ] pNRTP } ] }
preemption >
where ~ [] denotesoptionalandrepeatablefields ~ { } denotes required, repeatable fields ~ 7E represents the byte-aligned flag (B'01111110', X'7E') ~ RTP represents a high-priority packet ~ NRTP represents a low-priority packet ~ pNRTP represents portions of a preempted low-priority packet ~ SP represents a start-preempt flag (B'011111110') ~ EP represents an end-preempt flag (B'0111111110') Figure 1 shows a conventional frame 10 delimited by normal (starting and ending) 7E
flags 10a and containing both a control header 10b field and a data 10c field.
Figure 2 illustrates in frame sequence 20 a preempt valid operation in more detail with the case of a low-priority packet being preempted by two consecutive high-priority CA 0209~891 1998-04-21 packets. The first field 20a shows the normal byte-aligned starting flag X'7E'. The second field 20b is an ongoing low-priority packet NRTP1. The third field 20c shows a start-preempt or SP flag bit by bit. This SP flag interrupts the low-priority packet and indicates the transmission of the remainder of the low-priority packet NRTP1 is 5 suspended. The fourth field 20d represents the first high-priority packet RTP1. The fifth field 20e shows the recurrence of a normal flag indicating the completion of the RTP1 packet. The transmission of the second high-priority packet RTP2 begins immediately in the sixth field 20f, without reversion to NRTP1. The seventh field 20g contains an end-preempt flag EP. Thereafter the remainder of the preempted low-priority packet NRTP1 is completed, as shown in the eighth field 20h. Finally, in the ninth field 20i, the normal flag X'7E' indicates the end of NRTP1 and returns the system to the ready state.
Figure 3 illustrates in frame sequence 30 the case of a bit error corrupting thestart-preempt flag SP in the third field 30c. The bit error would typically be caused by a 15 transmission error on the communication link. The first and second fields 30a and 30b are identical with the same fields in Figure 2. The third field 30c shows a double '0' at the beginning of what otherwise would be a normal flag. Since the flag does not occur on a byte-aligned boundary with respect to the low-priority packet NRTP1 in the second field 30b, then NRTP1 is invalid and discarded. The high-priority packet RTP1 in the 20 fourth field 30d is saved because it is surrounded by valid flags in the third and fifth fields 30c and 30e. The second high-priority packet RTP2 in the sixth field 30f is discarded, however, because it is followed by an end-preempt flag EP in the seventh field 30g, when no valid start-preempt flag SP was detected due to the bit error. All packets thereafter are discarded until the normal flag X'7E' appears, as in the ninth field 25 30i.
The preempVresume states of this invention can be summarized by a Finite State Machine (FSM) Table shown in Figure 7. Since this preempVresume protocol is a "bit-oriented" protocol, the complete FSM describing the protocol machine (the sender CA 0209~891 1998-04-21 or the receiver) is also at the bit level. However, for the sake of clarity, the following describes only the FSM in terms of detected "sequences of bits", which captures those state transitions which are associated with preemption. Furthermore, for the purpose of describing the protocol, it is believed to suffice to show the FSM for a receiver only.
The following is a list of the FSM states, inputs and outputs (actions) along with their description.
STATE DESCRIPTION
idl Idle, expecting '7E'.
rdy Just received '7E' or non-byte-aligned '7E*', ready to receive either high-priority packet or low-priority packet rrtp Receiving high-priority packet rnrtp Receiving low-priority packet p_rdy1 Just entered preemption mode aust received start-preempt flag SP), ready to receive high-priority packet or '7E' p_rdy2 In preemption mode, just received either'7E' or'7E*', no high-priority packet has been received yet during current preemption p_rdy3 In preemption mode, just received either '7E' or '7E*', ready to receive a high-priority packet, at least one high-priority packet has already been received during current preemption p_rrtp Receiving high-priority packet in preemption mode p_idl2 Idle in preemption mode, expecting '7E', no high-priority packet has been received yet during the current preemption p_idl3 Idle in preemption mode, expecting '7E', at least one high-priority packet has already been received during the current preemption p_end Just exited preemption mode (just received end-preempt flag EP), expecting data (the continuation of the preempted low-priority packet) CA 0209~891 1998-04-21 INPUT DESCRIPTION
'7E' Normal starting/ending/idle flag, X'7E' (does not share bit with prior flag) '7E*' X'7E' flag not byte-aligned with received data bytes RTP Data (non-flag) byte from a high-priority packet, distinguished from NRTP
by a control bit in the first byte of a string, indicating packet priority. Zerobit stuffing is performed on sequences of these bytes.
NRTP Data (non-flag) byte from a low-priority packet, distinguished from RTP by a control bit in the first byte of a string, indicating packet priority. Zero bit stuffing is performed on sequences of these bytes.
SP Start-preempt flag B'011111110' (seven 1's) EP End-preempt flag B'0111111110' (eight 1's) IC Invalid codes, include non-byte-aligned SP, non-byte-aligned EP, a run of six '1' bits right after a flag or B'0111111111' (nine 1's), or B'01111111' (seven 1's) when preempVresume is not enabled OUTPUT DESCRIPTION
strt_R Indicate start of received high-priority packet and forward first byte strt_N Indicate start of received low-priority packet and forward first byte more_R Forward another byte of high-priority packet more_N Forward another byte of low-priority packet end_R Indicate end of receiving high-priority packet end_N Indicate end of received low-priority packet abrt_R AborVdiscard current received high-priority packet abrt_N AborVdiscard current received low-priority packet abrt_RN AborVdiscard both preempting high-priority packet and the preempted low-priority packet Note that states p_rdy1, p_rdy2 and p_rdy3 are similar in that the receiver is in the preempt mode and expecting a high-priority packet in all these states. However, it is CA 0209~891 1998-04-21 necessary to have p_rdy1 and p_rdy2 to ensure that all packets are recovered when surrounded by normal flags. Likewise, p_rdy2 and p_rdy3 are needed to tell whether or not it is legal to receive the end-preempt (EP) flag.
Embodiment of Communication Link Interfaces Figure 4 shows a block diagram of the transmitter 40 portion of the communication link interface of that communications system. Packets arrive from the communications system's packet source 41 for transmission on communication link 48. The packets may have been generated locally by this system or may have been received from another communication link on this system (e.g. an intermediate node in a packet network). The communications system places the high-priority packets into a high priority buffer 42 and places the low-priority packets into a low priority buffer 43. If no packets are stored in either high priority buffer 42 or low priority buffer 43, a flag generator 46 is connected to the communication link 48 via a bit multiplexer 47. The flag generator 46 repeatedly generates an idle flag X'7E', when no packets are stored fortransmission.
When a low-priority packet arrives in the low priority buffer 43 and a packet is currently being transmitted, the transmitter 40 waits until all earlier packets in the low priority buffer 43 have been transmitted and the high priority buffer 42 is empty. When alow-priority packet is at the head of the low priority buffer 43 and no other packet is being transmitted on the communication link 48, bytes from the low priority buffer 43 are transferred one at a time through a byte multiplexer 44 to a parallel serial converter 45.
The parallel serial converter 45 serializes the data and monitors the outgoing data for sequences of five consecutive '1' bits. It also inserts a single '0' bit immediately after each set of five '1' bits. The resulting bit stream is routed through the bit multiplexer 47 to the communication link 48. When the transmission of the low-priority packet is complete, the bit multiplexer 47 selects the flag generator 46 for transmission to send at least one or more normal flags until the next packet is ready to be transmitted. Note that CA 0209~891 1998-04-21 each time a flag is sent, the parallel serial converter 45 resets its internal count of the number of consecutive '1' bits.
If a low-priority packet is being transmitted from low priority buffer 43 and a high-priority S packet arrives in the high priority buffer 42, then the transmission of the low-priority packet is preempted. The remaining bits in the parallel serial converter 45 along with any stuffed zero bits are transmitted guaranteeing a data byte boundary for the preempted packet, and then the flag generator 46 sends special start-preempt flag described earlier. Bytes from the high priority buffer 42 are then transferred through the byte multiplexer 44 to the parallel serial converter 45 which performs serialization and zero bit stufffing. The resulting high-priority packet is then transferred to the communication link 48. If, during the transmission of the high-priority packet, another high-priority packet arrives in the high-priority buffer 42, then the flag generator 46 sends a normal flag when the first high-priority packet is completed and transmitter 40 begins transmission of the next high-priority packets without exiting the preempt mode.
When the last of the series of high-priority packets has been sent (there are no more packets waiting in the high priority buffer 42), the flag generator 46 sends theend-preempt flag described earlier. The remaining bytes from the preempted low-priority packet in the low priority buffer 43 are then released to the parallel serial converter 45 and the communication link 48. If a subsequent high-priority packet arrives at the high-priority buffer 42 prior to the completion of the preempted low-priority packet, the preemption and resume sequence is repeated. When the transmission ofthe low-priority packet is completed, the flag generator 46 transmits a normal ending flag.
Figure 5 shows a block diagram of the receiver 50 portion of the communication link interface of the communications system up to a point at which received whole packets are passed to a packet target 56 within the communications system. The packet target 56 could be the final destination for the received packets or could be a packet switch CA 0209~891 1998-04-21 used to route packets to other communication links for transmission to other nodes in a packet network. Any buffering associated with the packet target 56 is outside the receiver 50 and is not included in Figure 5.
5 A flag detector 52 continuously monitors the bit stream received from a communication link 51 for normal, start-preempt and end-preempt flags. If a sequence of bits other than a flag is detected immediately following a normal flag, it indicates the beginning of a new frame. A serial parallel converter 53 receives the bit stream, discards any '0' bit if it immediately follows five consecutive '1' bits, and converts the remaining bits into lO byte-parallel form. If the received packet is a high-priority packet, the parallel byte data is passed directly through a multiplexer 59 to a multiplexer 55 connected to the packet target 56 until a normal ending flag is detected by the flag detector 52. The receiver 50 indicates the end of the packet to the packet target 56.
15 If the received packet can be preempted (i.e. Iow-priority, non-real-time packet), then the parallel byte data is instead passed through byte multiplexer 59 to the preemptable packet buffer 54 in order to permit the entire packet to be accumulated before passing it to the packet target 56. If flag detector 52 detects a start-preempt flag and there is no partial byte in the serial parallel converter 53, then it indicates the beginning of a 20 high-priority preempting packet and therefore the beginning of preempt mode. The bit stream is passed through the serial parallel converter 53 as before but this time the parallel byte data is passed directly through the multiplexers 59 and 55 to the packet target 56 within the communications system.
25 When the flag detector 52 detects either a normal ending flag or an end-preempt flag, then the receiver 50 indicates the end of the packet to the packet target 56. If a normal ending flag is detected, then the serial parallel converter 53 will continue to route the parallel byte data from subsequent packets directly to the multiplexer 55. If anend-preempt flag is detected, the receiver 50 will end preempt mode. The received bit CA 0209~891 1998-04-21 stream will be routed through the serial parallel converter 53 and multiplexer 59 to the preemptable packet buffer 54 thus resuming reception of the preempted low-priority packet. If the flag detector 52 detects a normal ending flag indicating the end of the low-priority packet, the receiver 50 transfers the entire low-priority packet stored in the S preemptable packet buffer 54 through the multiplexer 55 to the packet target 56.
Figure 5 assumes that the transfer of a whole packet from the preemptable packetbuffer 54 to the packet target 56 is accomplished before the first parallel data byte from a subsequent packet can be received. If the transfer takes longer than this in a10 particular implementation, a FIFO buffer can be placed after the serial parallel converter 53 to temporarily hold the receive data bytes until the transfer from the preemptable packet buffer 54 is complete. Also in some implementations, high-priority and low-priority packets may be passed to separate packet targets. In this case, thepreemptable packet buffer 54 is not required.
While this invention has been particularly shown and described with reference tospecific embodiments and examples, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the invention.
LOW-SPEED COMMUNICATION LINKS
Field of the Invention 5 The present invention relates to data communications networks and more particularly to a data communications network having the capability of processing both high priority packets and low priority packets using a preempt-resume protocol.
Background of the Invention 10 Communications systems traditionally have used packet switching techniques for carrying bursty data traffic and have used circuit switching techniques for carrying multiplexed real-time traffic such as voice and video. Circuit switching techniques are typified by a time-division multiplexed voice telephone network in which the traffic is sent as a continuous stream of bits. Packet switching techniques, on the other hand, have been developed to handle bursty data over digital networks in which destination and drop-off addresses are combined with the message data. Each packet is delimited by flags and contains address/routing headers, priority definers and error checkers.
Traditional packet networks are characterized by significant per packet processing in the intermediate nodes of a network. This processing has limited the throughput of 20 packet nodes and introduced high delays for packets. To achieve higher throughput and to reduce this delay, fast packet switching networks have been defined whichminimize the amount of processing required in intermediate nodes.
This simplified intermediate node processing now makes it feasible for packet networks 25 to carry, in the form of packets, traffic traditionally carried only over circuit switched networks. In addition, this traffic in packetized form can share the same packet network including communication links with the bursty data traffic. However since the traditional circuit switched traffic had stringent bounds on total allowable delay across the network as well as variability of delay, nodes in the packet network must ensure that this traffic CA 0209~891 1998-04-21 receives priority handling. To accomplish this, packets carrying bursty data traffic can be assigned to a non-real-time priority while packets carrying the traditional circuit model traffic can be assigned a higher, real-time priority. A node in a fast packet network contains buffers for holding packets waiting for transmission on its communication links. Packets waiting for transmission can be held in buffers managed differently, depending on the priority, assigned to the packets.
A communication node in a network can adopt a number of different service policies in order to transmit packets from the different priority buffers: priority with no preemption, preemption with retransmission, and preemption with resume. When no preemption is used, the packet priority is only examined to determine from which buffer to select the next packet for transmission. If a high-priority packet is placed in the buffer while a low-priority packet is being transmiKed, the high-priority packet must wait until the current transmission is completed. A preemption with retransmission service policy lS means that the node will abort the transmission of a low-priority packet upon the arrival of a high-priority packet and immediately transmit the high-priority packet. Once all high-priority packets have been transmiKed, transmission of the preempted low-priority packet will be restarted from the beginning of the packet. A preemption with resume service policy is similar except the preempted low-priority packet is restarted from the point of interruption rather than the beginning.
The selection of the appropriate service policy is dependent on the characteristics of the communication link, the delay requirements of the high-priority packets, and the size of the low-priority packets. If the transmission rate of the communication link is high enough compared to the size of the longest low-priority packet, then the delay incurred by a high-priority packet waiting for a low-priority one to complete may be acceptable. In this case, the priority with no preemption service policy is preferable since it is easier to implement and may have slightly lower link overhead. If the usage efficiency of the communication link is not important but the delay associated with waiting for completion CA 0209~891 1998-04-21 of the low-priority packets is too high, then the preemption with retransmission service policy may be acceptable. However, if the usage efficiency of the communication link is important and the priority with no preemption service policy does not meet the delay requirements, then the preempt with resume service policy may be required.
Various schemes exist for transmitting packetized information over communicationlinks. The typical scheme used over low speed serial links up to T3 speeds is based on the HDLC MAC-layer protocol. Each packet is delimited by starting and ending flags (X'7E'). The ending flag for one packet may also be the starting flag for the next packet.
lO The packet itself consists of an integral number of bytes of data. Since the contents of the packet may include bit patterns that are the same as the flag pattern, a technique known as bit stuffing is used to differentiate the data from the flags. The transmitter inserts a '0' bit after any sequence of five contiguous '1' bits in the packet data.
Likewise, the receiver removes any '0' bit immediately following a sequence of five '1' 15 bits in the received bit stream. When no packets are waiting to be transmitted, flags are repeatedly transmitted. Both the priority with no preemption and the preemption with retransmission service policies can be implemented using the existing HDLC MAC-layer protocol.
20 Summary of the Invention The present invention relates to method and apparatus for effecting a modified HDLC
MAC-layer protocol providing preemptive priority with resume over a serial communication link.
It is, therefore, an object of this invention to provide method and apparatus for embedding high-priority traffic in low-priority traffic for serial transmission through low speed communication links, without delay incurred by having first to complete transmission of a low-priority traffic. It is another object of this invention to preempt low-priority packet traffic with a high-priority packet and later resume transmission of the CA 0209~891 1998-04-21 preempted low-priority packet automatically, with minimal overhead on the communication link. It is another object of this invention to detect bit transmission errors affecting packet boundaries and to recover from said errors with minimal loss of packets. It is another object of this invention to provide a method and apparatus for 5 determining whether preemption of low-priority packets is required on a given communication link as a function of link speed, acceptable delay and maximum packet size, and therefore whether preemption should be enabled. It is another object of this invention to allow a mode of operation that is compatible with HDLC MAC-layer, either prior to enabling preemption or when it is determined that preemption is not required.
According to this invention, packets of information are embedded in frames having starting and ending flags, control headers to designate the packet's priority, and any required routing information. The flags, in addition to defining the boundaries of a packet, also define byte alignment of the packet data. The flags also indicate when a 15 low-priority packet has been preempted by a high-priority packet and when thetransmission of a low-priority packet is being resumed. The control bits designate whether or not a particular packet is high-priority or low-priority and hence whether or not the packet is preemptable.
20 Also when a communication link is activated, the two communications systems at each end of the link exchange control information about their respective packet capabilities.
The control information describes the maximum supported low-priority packet sizesupported in the transmit and receive direction and the ability of the communications system to support high-priority packets. Using the information exchanged along with the 25 communication link's data rate and the maximum acceptable delay for high-priority packets, each communications system independently determines whether the preempVresume protocol should be enabled or whether a simple priority with no preemption the protocol should be used.
CA 0209~891 1998-04-21 Brief Description of the Drawings Figure 1 shows a basic packet frame used in the practice of this invention, where packet containing header and data is delimited by flags;
Figure 2 shows the valid combination of formatted packet frames in which a low-priority packet is preempted by a high-priority packet with subsequent automatic resumption;
Figure 3 shows a combination of packet frames containing a bit error which causes a 10 transmission abort;
Figure 4 shows a block diagram of the transmit portion of a communication link interface of a communications system to which this invention is applicable;
15 Figure 5 shows a block diagram of the receive portion of a communication link interface of a communications system to which this invention is applicable;
Figure 6 is a table used in explaining how maximum permissible packet size and the need for preempVresume protocols is determined in each direction of a communication 20 link; and Figure 7 is a finite state machine table showing preempVresume states.
CA 0209~891 1998-04-21 Detailed Description of the Invention This invention defines a preempVresume protocol extension to the existing HDLC
MAC-layer packet framing protocol used on serial communication links, to allow the preemption of low-priority packets so that high-priority packets may be transmitted with minimal delay. A link activation protocol is also defined to determine whether the preempVresume protocol extension should be enabled. During the link activation, normal HDLC MAC-layer framing protocol is used to transmit packets across the communication link. Also if the link activation determines that preempVresume should not be used, all packets are sent using the HDLC MAC-layer framing protocol withsimple priority without preemption.
Enabling PreempVResume Protocol Extension Determination of when to use the preempVresume protocol extension is based on the support of high-priority trafffic, low-priority packet sizes supported, communication link speed, and maximum acceptable delay of high-priority packets. The two communications systems on each end of the communication link can determine the need for the preempVresume protocol independently for their direction of the link.
During link-activation, each communications system sends a control message to its neighbour at the other end over the communication link using the normal HDLC
MAC-layer framing. The control message contains the following fields:
~ A High-Priority Traffic Supported field indicates whether the sending system supports high-priority traffic on its link.
~ A Maximum Received Low-Priority Packet Size Supported field defines the maximum packet size that the sender can receive.
~ A Maximum Transmitted Low Priority Packet Size Supported field defines the maximum packet size that the sender can transmit.
. CA 0209~891 1998-04-21 If high-priority traffic is not supported, the receiver must verify that each packet received is a low-priority packet. If a packet identified as high-priority packet is received, it is discarded by the receiver.
5 The following example, described with reference to Figure 6, shows how communications systems A and B each determine the maximum low-priority packet size supported in each direction and whether preempVresume protocol extension should be enabled.
10 Transmission of a high-priority packet may not be delayed by a low-priority packet for more than T, where in the following example T=0.5 msecs. A sender that supports high-priority traffic must either transmit:
~ without preempVresume protocol, which constrains the low-priority packet size to lS satisfy the equation packet size T
link speed <
~ or with preempVresume.
For link direction A to B, the maximum low-priority packet size is 8KB. Assuming a link speed of 18.432 Mbps, the above inequality is not satisfied since 8 Kbytes = 3.56 msecs > 0.5 msecs 18.432 kb~ts per msec CA 0209~891 1998-04-21 Therefore, to satisfy the delay requirements, the preempVresume protocol is required.
This means that communications system A will transmit preempted packets and thatcommunications system B must support receipt of preempted packets.
S For link direction B to A, the maximum low-priority packet size is 1KB. The above inequality is satisfied as 1 Kbytes 18.432 kbits per m5ec = 0-44 msecs < 0.5 msecs and the preempVresume protocol is not to be used. This means that communications10 system B will not transmit preempted packets and that communications system A will interpret preempt flags as error conditions.
If a particular communications system has not implemented the preempVresume protocol extension but supports high-priority packets, it will select a maximum 15 low-priority packet size no greater than the value of link speed x T. Using this value, the communications system on the other end of the communication link will correctly determine that the preempVresume protocol is not to be used.
PreempVResume Protocol Extension 20 In the following description, bit sequences may be described using either conventional binary representation or, for the sake of convenience, hexadecimal representation.
The protocol for allowing high-priority packets to temporarily preempt low-priority packets uses three types of flags to delimit packets: a normal flag which can be a 25 starting, ending or idle flag, a start-preempt flag and an end-preempt flag. The normal flag is defined as the 8-bit sequence B'01111110' (X'7E'). The start-preempt flag is defined as the 9-bit sequence B'011111110' and the end-preempt flag is defined as the CA 0209~891 1998-04-21 ten-bit sequence B'0111111110'. All flags are on byte boundaries with respect to the packet data that they delineate. To differentiate flag bit sequences from bit sequences within the packets, zero bit stuffing is used in the packet data. An extra '0' bit is inserted in the transmitted bit stream after each occurrence of five consecutive '1' bits in a packet. A sequence of more than eight '1' bits indicates an error condition aborting the current packet being transmitted and received. Also a sequence of more than six '1' bits indicates an abort condition if the preempVresume protocol is not enabled.
The following is a set of rules adopted for a practical preempVresume protocol.
~ The bit sequence B'01111110' (X'7E') always defines byte alignment and may occur any number of times before and after complete packets.
~ Six '1' bits preceded by a '0' bit that is not byte aligned with received packet data is an invalid code.
~ Nine '1' bits preceded by a '0' bit that is byte aligned is also an invalid code.
~ Receipt of an invalid code aborts the current packet and all subsequent packets are aborted until X'7E' occurs.
~ Verification that the preempted packet is a low-priority packet is performed.
~ Verification that packets received during preemption are high-priority packets is also performed.
~ A low-priority packet cannot be preempted until the first byte is transmitted.~ Receipt of the start-preempt flag (B'011111110') immediately followed by the end-preempt flag (B'0111111110') aborts the preempted packet and ends preempt mode.
CA 0209~891 1998-04-21 Under the foregoing rules, the following is a valid combination of packets and flags when preempVresume is not enabled:
7E { [7E] [ RTP 7E ] [7E] [ NRTP 7E ] }
Under the foregoing rules, the following is a valid combination of packets and flags when preempVresume is enabled:
< preempted packct >
7E { [7E] [ RTP 7E ] [7E] [ NRTP 7E ] [ pNRTP { [ SP [7E] RTP [ 7E RTP ] [7E] EP ] pNRTP } ] }
preemption >
where ~ [] denotesoptionalandrepeatablefields ~ { } denotes required, repeatable fields ~ 7E represents the byte-aligned flag (B'01111110', X'7E') ~ RTP represents a high-priority packet ~ NRTP represents a low-priority packet ~ pNRTP represents portions of a preempted low-priority packet ~ SP represents a start-preempt flag (B'011111110') ~ EP represents an end-preempt flag (B'0111111110') Figure 1 shows a conventional frame 10 delimited by normal (starting and ending) 7E
flags 10a and containing both a control header 10b field and a data 10c field.
Figure 2 illustrates in frame sequence 20 a preempt valid operation in more detail with the case of a low-priority packet being preempted by two consecutive high-priority CA 0209~891 1998-04-21 packets. The first field 20a shows the normal byte-aligned starting flag X'7E'. The second field 20b is an ongoing low-priority packet NRTP1. The third field 20c shows a start-preempt or SP flag bit by bit. This SP flag interrupts the low-priority packet and indicates the transmission of the remainder of the low-priority packet NRTP1 is 5 suspended. The fourth field 20d represents the first high-priority packet RTP1. The fifth field 20e shows the recurrence of a normal flag indicating the completion of the RTP1 packet. The transmission of the second high-priority packet RTP2 begins immediately in the sixth field 20f, without reversion to NRTP1. The seventh field 20g contains an end-preempt flag EP. Thereafter the remainder of the preempted low-priority packet NRTP1 is completed, as shown in the eighth field 20h. Finally, in the ninth field 20i, the normal flag X'7E' indicates the end of NRTP1 and returns the system to the ready state.
Figure 3 illustrates in frame sequence 30 the case of a bit error corrupting thestart-preempt flag SP in the third field 30c. The bit error would typically be caused by a 15 transmission error on the communication link. The first and second fields 30a and 30b are identical with the same fields in Figure 2. The third field 30c shows a double '0' at the beginning of what otherwise would be a normal flag. Since the flag does not occur on a byte-aligned boundary with respect to the low-priority packet NRTP1 in the second field 30b, then NRTP1 is invalid and discarded. The high-priority packet RTP1 in the 20 fourth field 30d is saved because it is surrounded by valid flags in the third and fifth fields 30c and 30e. The second high-priority packet RTP2 in the sixth field 30f is discarded, however, because it is followed by an end-preempt flag EP in the seventh field 30g, when no valid start-preempt flag SP was detected due to the bit error. All packets thereafter are discarded until the normal flag X'7E' appears, as in the ninth field 25 30i.
The preempVresume states of this invention can be summarized by a Finite State Machine (FSM) Table shown in Figure 7. Since this preempVresume protocol is a "bit-oriented" protocol, the complete FSM describing the protocol machine (the sender CA 0209~891 1998-04-21 or the receiver) is also at the bit level. However, for the sake of clarity, the following describes only the FSM in terms of detected "sequences of bits", which captures those state transitions which are associated with preemption. Furthermore, for the purpose of describing the protocol, it is believed to suffice to show the FSM for a receiver only.
The following is a list of the FSM states, inputs and outputs (actions) along with their description.
STATE DESCRIPTION
idl Idle, expecting '7E'.
rdy Just received '7E' or non-byte-aligned '7E*', ready to receive either high-priority packet or low-priority packet rrtp Receiving high-priority packet rnrtp Receiving low-priority packet p_rdy1 Just entered preemption mode aust received start-preempt flag SP), ready to receive high-priority packet or '7E' p_rdy2 In preemption mode, just received either'7E' or'7E*', no high-priority packet has been received yet during current preemption p_rdy3 In preemption mode, just received either '7E' or '7E*', ready to receive a high-priority packet, at least one high-priority packet has already been received during current preemption p_rrtp Receiving high-priority packet in preemption mode p_idl2 Idle in preemption mode, expecting '7E', no high-priority packet has been received yet during the current preemption p_idl3 Idle in preemption mode, expecting '7E', at least one high-priority packet has already been received during the current preemption p_end Just exited preemption mode (just received end-preempt flag EP), expecting data (the continuation of the preempted low-priority packet) CA 0209~891 1998-04-21 INPUT DESCRIPTION
'7E' Normal starting/ending/idle flag, X'7E' (does not share bit with prior flag) '7E*' X'7E' flag not byte-aligned with received data bytes RTP Data (non-flag) byte from a high-priority packet, distinguished from NRTP
by a control bit in the first byte of a string, indicating packet priority. Zerobit stuffing is performed on sequences of these bytes.
NRTP Data (non-flag) byte from a low-priority packet, distinguished from RTP by a control bit in the first byte of a string, indicating packet priority. Zero bit stuffing is performed on sequences of these bytes.
SP Start-preempt flag B'011111110' (seven 1's) EP End-preempt flag B'0111111110' (eight 1's) IC Invalid codes, include non-byte-aligned SP, non-byte-aligned EP, a run of six '1' bits right after a flag or B'0111111111' (nine 1's), or B'01111111' (seven 1's) when preempVresume is not enabled OUTPUT DESCRIPTION
strt_R Indicate start of received high-priority packet and forward first byte strt_N Indicate start of received low-priority packet and forward first byte more_R Forward another byte of high-priority packet more_N Forward another byte of low-priority packet end_R Indicate end of receiving high-priority packet end_N Indicate end of received low-priority packet abrt_R AborVdiscard current received high-priority packet abrt_N AborVdiscard current received low-priority packet abrt_RN AborVdiscard both preempting high-priority packet and the preempted low-priority packet Note that states p_rdy1, p_rdy2 and p_rdy3 are similar in that the receiver is in the preempt mode and expecting a high-priority packet in all these states. However, it is CA 0209~891 1998-04-21 necessary to have p_rdy1 and p_rdy2 to ensure that all packets are recovered when surrounded by normal flags. Likewise, p_rdy2 and p_rdy3 are needed to tell whether or not it is legal to receive the end-preempt (EP) flag.
Embodiment of Communication Link Interfaces Figure 4 shows a block diagram of the transmitter 40 portion of the communication link interface of that communications system. Packets arrive from the communications system's packet source 41 for transmission on communication link 48. The packets may have been generated locally by this system or may have been received from another communication link on this system (e.g. an intermediate node in a packet network). The communications system places the high-priority packets into a high priority buffer 42 and places the low-priority packets into a low priority buffer 43. If no packets are stored in either high priority buffer 42 or low priority buffer 43, a flag generator 46 is connected to the communication link 48 via a bit multiplexer 47. The flag generator 46 repeatedly generates an idle flag X'7E', when no packets are stored fortransmission.
When a low-priority packet arrives in the low priority buffer 43 and a packet is currently being transmitted, the transmitter 40 waits until all earlier packets in the low priority buffer 43 have been transmitted and the high priority buffer 42 is empty. When alow-priority packet is at the head of the low priority buffer 43 and no other packet is being transmitted on the communication link 48, bytes from the low priority buffer 43 are transferred one at a time through a byte multiplexer 44 to a parallel serial converter 45.
The parallel serial converter 45 serializes the data and monitors the outgoing data for sequences of five consecutive '1' bits. It also inserts a single '0' bit immediately after each set of five '1' bits. The resulting bit stream is routed through the bit multiplexer 47 to the communication link 48. When the transmission of the low-priority packet is complete, the bit multiplexer 47 selects the flag generator 46 for transmission to send at least one or more normal flags until the next packet is ready to be transmitted. Note that CA 0209~891 1998-04-21 each time a flag is sent, the parallel serial converter 45 resets its internal count of the number of consecutive '1' bits.
If a low-priority packet is being transmitted from low priority buffer 43 and a high-priority S packet arrives in the high priority buffer 42, then the transmission of the low-priority packet is preempted. The remaining bits in the parallel serial converter 45 along with any stuffed zero bits are transmitted guaranteeing a data byte boundary for the preempted packet, and then the flag generator 46 sends special start-preempt flag described earlier. Bytes from the high priority buffer 42 are then transferred through the byte multiplexer 44 to the parallel serial converter 45 which performs serialization and zero bit stufffing. The resulting high-priority packet is then transferred to the communication link 48. If, during the transmission of the high-priority packet, another high-priority packet arrives in the high-priority buffer 42, then the flag generator 46 sends a normal flag when the first high-priority packet is completed and transmitter 40 begins transmission of the next high-priority packets without exiting the preempt mode.
When the last of the series of high-priority packets has been sent (there are no more packets waiting in the high priority buffer 42), the flag generator 46 sends theend-preempt flag described earlier. The remaining bytes from the preempted low-priority packet in the low priority buffer 43 are then released to the parallel serial converter 45 and the communication link 48. If a subsequent high-priority packet arrives at the high-priority buffer 42 prior to the completion of the preempted low-priority packet, the preemption and resume sequence is repeated. When the transmission ofthe low-priority packet is completed, the flag generator 46 transmits a normal ending flag.
Figure 5 shows a block diagram of the receiver 50 portion of the communication link interface of the communications system up to a point at which received whole packets are passed to a packet target 56 within the communications system. The packet target 56 could be the final destination for the received packets or could be a packet switch CA 0209~891 1998-04-21 used to route packets to other communication links for transmission to other nodes in a packet network. Any buffering associated with the packet target 56 is outside the receiver 50 and is not included in Figure 5.
5 A flag detector 52 continuously monitors the bit stream received from a communication link 51 for normal, start-preempt and end-preempt flags. If a sequence of bits other than a flag is detected immediately following a normal flag, it indicates the beginning of a new frame. A serial parallel converter 53 receives the bit stream, discards any '0' bit if it immediately follows five consecutive '1' bits, and converts the remaining bits into lO byte-parallel form. If the received packet is a high-priority packet, the parallel byte data is passed directly through a multiplexer 59 to a multiplexer 55 connected to the packet target 56 until a normal ending flag is detected by the flag detector 52. The receiver 50 indicates the end of the packet to the packet target 56.
15 If the received packet can be preempted (i.e. Iow-priority, non-real-time packet), then the parallel byte data is instead passed through byte multiplexer 59 to the preemptable packet buffer 54 in order to permit the entire packet to be accumulated before passing it to the packet target 56. If flag detector 52 detects a start-preempt flag and there is no partial byte in the serial parallel converter 53, then it indicates the beginning of a 20 high-priority preempting packet and therefore the beginning of preempt mode. The bit stream is passed through the serial parallel converter 53 as before but this time the parallel byte data is passed directly through the multiplexers 59 and 55 to the packet target 56 within the communications system.
25 When the flag detector 52 detects either a normal ending flag or an end-preempt flag, then the receiver 50 indicates the end of the packet to the packet target 56. If a normal ending flag is detected, then the serial parallel converter 53 will continue to route the parallel byte data from subsequent packets directly to the multiplexer 55. If anend-preempt flag is detected, the receiver 50 will end preempt mode. The received bit CA 0209~891 1998-04-21 stream will be routed through the serial parallel converter 53 and multiplexer 59 to the preemptable packet buffer 54 thus resuming reception of the preempted low-priority packet. If the flag detector 52 detects a normal ending flag indicating the end of the low-priority packet, the receiver 50 transfers the entire low-priority packet stored in the S preemptable packet buffer 54 through the multiplexer 55 to the packet target 56.
Figure 5 assumes that the transfer of a whole packet from the preemptable packetbuffer 54 to the packet target 56 is accomplished before the first parallel data byte from a subsequent packet can be received. If the transfer takes longer than this in a10 particular implementation, a FIFO buffer can be placed after the serial parallel converter 53 to temporarily hold the receive data bytes until the transfer from the preemptable packet buffer 54 is complete. Also in some implementations, high-priority and low-priority packets may be passed to separate packet targets. In this case, thepreemptable packet buffer 54 is not required.
While this invention has been particularly shown and described with reference tospecific embodiments and examples, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the invention.
Claims
1. For use in a multi-system network in which data may be transmitted in either low-priority data packets or high-priority data packets, a method for determining whether to use a preempt/resume protocol or an alternate protocol for transmitting data packets from a local system to a remote system over a connecting communications link having a known line speed, said method being practiced at the local system and comprising steps of:
a) sending a message to the remote system, said sent message containing fields indicating (1) whether the local system supports use of a preempt/resume protocol and (2) the size of the largest low-priority data packet the local system can send;
b) receiving a message from the remote system, said received message indicating (1) whether the remote system supports use of a preempt/resume protocol and (2) the size of the largest low-priority data packet the remote system can receive;
c) if the sent and received messages indicate that either or both of the local and remote systems do not support use of a preempt/resume protocol, then choosing analternate protocol; and d) if the sent and received messages indicate that both of the system support use of a preempt/resume protocol (1) using field values in the sent and received messages, comparing the size of the largest low-priority data packet the local system can send to the size of the largest low-priority data packet the remote system can receive and selecting thelesser of the two sizes;
(2) based on the known line speed and the selected size, determining whether transmission of a low-priority data packet of the selected size from thelocal system would delay transmission of a subsequent data packet by more than a predetermined amount of time, and (3) initiating use of a preempt/resume protocol only where the preceding step indicates transmission of a low-priority data packet of the selected size would delay transmission of a subsequent data packet by more than the predetermined amount of time.
a) sending a message to the remote system, said sent message containing fields indicating (1) whether the local system supports use of a preempt/resume protocol and (2) the size of the largest low-priority data packet the local system can send;
b) receiving a message from the remote system, said received message indicating (1) whether the remote system supports use of a preempt/resume protocol and (2) the size of the largest low-priority data packet the remote system can receive;
c) if the sent and received messages indicate that either or both of the local and remote systems do not support use of a preempt/resume protocol, then choosing analternate protocol; and d) if the sent and received messages indicate that both of the system support use of a preempt/resume protocol (1) using field values in the sent and received messages, comparing the size of the largest low-priority data packet the local system can send to the size of the largest low-priority data packet the remote system can receive and selecting thelesser of the two sizes;
(2) based on the known line speed and the selected size, determining whether transmission of a low-priority data packet of the selected size from thelocal system would delay transmission of a subsequent data packet by more than a predetermined amount of time, and (3) initiating use of a preempt/resume protocol only where the preceding step indicates transmission of a low-priority data packet of the selected size would delay transmission of a subsequent data packet by more than the predetermined amount of time.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/927,697 US5343473A (en) | 1992-08-07 | 1992-08-07 | Method of determining whether to use preempt/resume or alternate protocol for data transmission |
US927,697 | 1992-08-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2095891A1 CA2095891A1 (en) | 1994-02-08 |
CA2095891C true CA2095891C (en) | 1998-11-10 |
Family
ID=25455103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002095891A Expired - Fee Related CA2095891C (en) | 1992-08-07 | 1993-05-10 | Transmission of high-priority, real-time traffic on low-speed communication links |
Country Status (4)
Country | Link |
---|---|
US (1) | US5343473A (en) |
EP (2) | EP1128612A2 (en) |
JP (1) | JP2526013B2 (en) |
CA (1) | CA2095891C (en) |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507872B1 (en) * | 1992-09-25 | 2003-01-14 | David Michael Geshwind | Class of methods for improving perceived efficiency of end-user interactive access of a large database such as the world-wide web via a communication network such as “The Internet” |
US5452289A (en) | 1993-01-08 | 1995-09-19 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5453986A (en) | 1993-01-08 | 1995-09-26 | Multi-Tech Systems, Inc. | Dual port interface for a computer-based multifunction personal communication system |
US5546395A (en) | 1993-01-08 | 1996-08-13 | Multi-Tech Systems, Inc. | Dynamic selection of compression rate for a voice compression algorithm in a voice over data modem |
US6009082A (en) | 1993-01-08 | 1999-12-28 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communication system with caller ID |
US5535204A (en) | 1993-01-08 | 1996-07-09 | Multi-Tech Systems, Inc. | Ringdown and ringback signalling for a computer-based multifunction personal communications system |
US5812534A (en) | 1993-01-08 | 1998-09-22 | Multi-Tech Systems, Inc. | Voice over data conferencing for a computer-based personal communications system |
US5864560A (en) | 1993-01-08 | 1999-01-26 | Multi-Tech Systems, Inc. | Method and apparatus for mode switching in a voice over data computer-based personal communications system |
US5574934A (en) * | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US6125398A (en) * | 1993-11-24 | 2000-09-26 | Intel Corporation | Communications subsystem for computer-based conferencing system using both ISDN B channels for transmission |
US5748917A (en) * | 1994-03-18 | 1998-05-05 | Apple Computer, Inc. | Line data architecture and bus interface circuits and methods for dual-edge clocking of data to bus-linked limited capacity devices |
US5481537A (en) * | 1994-03-31 | 1996-01-02 | Crisler; Kenneth J. | Transmission signalling technique for a reservation request |
US5757801A (en) | 1994-04-19 | 1998-05-26 | Multi-Tech Systems, Inc. | Advanced priority statistical multiplexer |
US5682386A (en) | 1994-04-19 | 1997-10-28 | Multi-Tech Systems, Inc. | Data/voice/fax compression multiplexer |
EP0684719A1 (en) * | 1994-05-25 | 1995-11-29 | International Business Machines Corporation | Method and apparatus for transmission of high priority traffic on low speed communication links |
US5568469A (en) * | 1994-09-27 | 1996-10-22 | 3Com Corporation | Method and apparatus for controlling latency and jitter in a local area network which uses a CSMA/CD protocol |
US5619647A (en) * | 1994-09-30 | 1997-04-08 | Tandem Computers, Incorporated | System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait |
WO1996015601A2 (en) * | 1994-11-02 | 1996-05-23 | Multi-Tech Systems, Inc. | Voice over data conferencing communications system |
GB2299734B (en) * | 1995-04-03 | 1999-10-27 | Motorola As | Method of switching in signal selecting system |
US5809093A (en) * | 1995-06-02 | 1998-09-15 | Dsc Communications Corporation | Apparatus and method of frame aligning information in a wireless telecommunications system |
US5745496A (en) * | 1995-06-02 | 1998-04-28 | Dsc Communications Corporation | Apparatus and method of establishing a downlink communication path in a wireless telecommunications system |
US5915216A (en) * | 1995-06-02 | 1999-06-22 | Dsc Communications Corporation | Apparatus and method of transmitting and receiving information in a wireless telecommunications system |
GB2301751B (en) * | 1995-06-02 | 2000-02-09 | Dsc Communications | Control message transmission in telecommunications systems |
GB2301735B (en) * | 1995-06-02 | 1999-07-28 | Dsc Communications | Message handling in a telecommunications network |
US5742595A (en) * | 1995-06-02 | 1998-04-21 | Dsc Communications Corporation | Processing CDMA signals |
US5696766A (en) * | 1995-06-02 | 1997-12-09 | Dsc Communications Corporation | Apparatus and method of synchronizing a transmitter in a subscriber terminal of a wireless telecommunications system |
GB2301717B (en) * | 1995-06-02 | 1999-08-11 | Dsc Communications | Network controller for monitoring the status of a network |
GB2301741A (en) * | 1995-06-02 | 1996-12-11 | Dsc Communications | Establishing a Downlink Communication Path in a Wireless Communications System |
GB2337861B (en) * | 1995-06-02 | 2000-02-23 | Dsc Communications | Integrated directional antenna |
GB2301752B (en) * | 1995-06-02 | 2000-03-29 | Dsc Communications | Control message transmission in telecommunications systems |
US5764646A (en) * | 1996-04-02 | 1998-06-09 | Ericsson Inc. | Packet data transmission with clash subtraction |
DK0894391T3 (en) * | 1996-04-15 | 2005-11-14 | Interactive Comm Group S A | System and method for effective information transfer |
US5828837A (en) * | 1996-04-15 | 1998-10-27 | Digilog As | Computer network system and method for efficient information transfer |
US6181149B1 (en) | 1996-09-26 | 2001-01-30 | Delaware Capital Formation, Inc. | Grid array package test contactor |
US6377587B1 (en) * | 1996-12-26 | 2002-04-23 | Cypress Semiconductor Corp. | Data packet format and handling for serial communications with embedded reverse channel responses |
US6501771B2 (en) | 1997-02-11 | 2002-12-31 | At&T Wireless Services, Inc. | Delay compensation |
US5933421A (en) | 1997-02-06 | 1999-08-03 | At&T Wireless Services Inc. | Method for frequency division duplex communications |
WO1998037638A2 (en) * | 1997-02-24 | 1998-08-27 | At & T Wireless Services, Inc. | Highly bandwidth-efficient communications |
US6128276A (en) | 1997-02-24 | 2000-10-03 | Radix Wireless, Inc. | Stacked-carrier discrete multiple tone communication technology and combinations with code nulling, interference cancellation, retrodirective communication and adaptive antenna arrays |
US6584144B2 (en) | 1997-02-24 | 2003-06-24 | At&T Wireless Services, Inc. | Vertical adaptive antenna array for a discrete multitone spread spectrum communications system |
US6359923B1 (en) | 1997-12-18 | 2002-03-19 | At&T Wireless Services, Inc. | Highly bandwidth efficient communications |
US6064218A (en) * | 1997-03-11 | 2000-05-16 | Primeyield Systems, Inc. | Peripherally leaded package test contactor |
US6292484B1 (en) | 1997-06-11 | 2001-09-18 | Data Race, Inc. | System and method for low overhead multiplexing of real-time and non-real-time data |
US6175884B1 (en) | 1998-11-03 | 2001-01-16 | Intel Corporation | Efficient communication of transaction types using separate and orthogonal attribute fields in packet headers transferred between hubs in a computer system |
WO2000045555A1 (en) * | 1999-01-28 | 2000-08-03 | Data Race, Inc. | Escape sequence protocol for multiplexing real-time data with non-real-time data |
WO2000045581A2 (en) * | 1999-01-29 | 2000-08-03 | Data Race, Inc. | Modem transfer mechanism which prioritized data transfers |
US6633564B1 (en) * | 1999-09-22 | 2003-10-14 | Nortel Networks Limited | Method and apparatus for inserting packets into a data stream |
KR20010035652A (en) * | 1999-10-01 | 2001-05-07 | 박종섭 | HDLC controller and method for communication between processor of communication system |
JP3843667B2 (en) * | 1999-10-15 | 2006-11-08 | セイコーエプソン株式会社 | Data transfer control device and electronic device |
US6859465B1 (en) * | 1999-11-22 | 2005-02-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for constant throughput rate adaptation |
FR2802750A1 (en) * | 1999-12-20 | 2001-06-22 | Cit Alcatel | Improved internet speech restoration system having individual terminals delaying/digitising following voice over internet protocol internet passed and sender equipment sent. |
US6671725B1 (en) | 2000-04-18 | 2003-12-30 | International Business Machines Corporation | Server cluster interconnection using network processor |
US7395309B1 (en) * | 2000-07-25 | 2008-07-01 | Cisco Technology, Inc. | Modem activity detection |
US6891855B2 (en) * | 2000-07-27 | 2005-05-10 | Corrigent Systems, Ltd. | Dynamic packet fragmentation |
US6404772B1 (en) * | 2000-07-27 | 2002-06-11 | Symbol Technologies, Inc. | Voice and data wireless communications network and method |
US6909723B1 (en) | 2000-08-04 | 2005-06-21 | Intellon Corporation | Segment bursting with priority pre-emption and reduced latency |
US7298691B1 (en) | 2000-08-04 | 2007-11-20 | Intellon Corporation | Method and protocol to adapt each unique connection in a multi-node network to a maximum data rate |
US6987770B1 (en) | 2000-08-04 | 2006-01-17 | Intellon Corporation | Frame forwarding in an adaptive network |
US7469297B1 (en) | 2000-08-04 | 2008-12-23 | Intellon Corporation | Mechanism for using a quasi-addressed response to bind to a message requesting the response |
US7352770B1 (en) | 2000-08-04 | 2008-04-01 | Intellon Corporation | Media access control protocol with priority and contention-free intervals |
US6907044B1 (en) | 2000-08-04 | 2005-06-14 | Intellon Corporation | Method and protocol to support contention-free intervals and QoS in a CSMA network |
FR2813150B1 (en) * | 2000-08-18 | 2003-05-30 | Ercom Engineering Reseaux Comm | G703 JUNCTION ANALYSIS SYSTEM |
US6856628B1 (en) * | 2000-10-26 | 2005-02-15 | Motorola, Inc. | Method and apparatus for tunneling packets in a packet data system |
US20020154633A1 (en) * | 2000-11-22 | 2002-10-24 | Yeshik Shin | Communications architecture for storage-based devices |
US6876669B2 (en) * | 2001-01-08 | 2005-04-05 | Corrigent Systems Ltd. | Packet fragmentation with nested interruptions |
US20020161887A1 (en) * | 2001-04-27 | 2002-10-31 | Foster Michael S. | Method and system for performing security via de-registration in a communications network |
US7606155B2 (en) * | 2001-08-09 | 2009-10-20 | Panasonic Corporation | Transmission apparatus and transmission method |
US7464180B1 (en) * | 2001-10-16 | 2008-12-09 | Cisco Technology, Inc. | Prioritization and preemption of data frames over a switching fabric |
FR2831744B1 (en) * | 2001-10-29 | 2005-05-13 | Motorola Inc | METHOD AND APPARATUS FOR TUNNELING PACKETS IN A PACKET DATA SYSTEM |
US20030179755A1 (en) * | 2002-01-18 | 2003-09-25 | Fraser Alexander Gibson | System and method for handling prioritized data in a network |
US8149703B2 (en) | 2002-06-26 | 2012-04-03 | Qualcomm Atheros, Inc. | Powerline network bridging congestion control |
US7826466B2 (en) | 2002-06-26 | 2010-11-02 | Atheros Communications, Inc. | Communication buffer scheme optimized for VoIP, QoS and data networking over a power line |
US7120847B2 (en) | 2002-06-26 | 2006-10-10 | Intellon Corporation | Powerline network flood control restriction |
DE10243850A1 (en) * | 2002-09-20 | 2004-04-01 | Siemens Ag | Process for the transmission of data telegrams in a switched, cyclical communication system |
AU2003284317A1 (en) | 2002-10-21 | 2004-05-13 | Intellon Corporation | Contention-free access intervals on a csma network |
FR2851708B1 (en) * | 2003-02-24 | 2005-05-27 | At & T Corp | METHOD FOR TRANSMITTING HIGH PRIORITY PACKETS IN AN IP TRANSMISSION NETWORK |
US7339893B2 (en) * | 2003-03-18 | 2008-03-04 | Cisco Technology, Inc. | Pre-empting low-priority traffic with high-priority traffic on a dedicated link |
US7447205B2 (en) | 2003-05-09 | 2008-11-04 | Hewlett-Packard Development Company, L.P. | Systems and methods to insert broadcast transactions into a fast data stream of transactions |
US20040225707A1 (en) * | 2003-05-09 | 2004-11-11 | Chong Huai-Ter Victor | Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream |
US7114054B2 (en) | 2003-05-09 | 2006-09-26 | Hewlett-Packard Development Company, L.P. | Systems and methods for increasing transaction entries in a hardware queue |
US6996654B2 (en) | 2003-05-09 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Systems and methods for generating multiple transaction identifiers to reduced latency in computer architecture |
US7701949B1 (en) * | 2003-06-24 | 2010-04-20 | Cisco Technology, Inc. | System and method for switching high priority traffic with low latency |
EP1494402A1 (en) * | 2003-07-01 | 2005-01-05 | Thomson Multimedia Broadband Belgium | Transmission control device and process for an interface between communication networks and associated products |
US7281187B2 (en) | 2003-11-20 | 2007-10-09 | Intellon Corporation | Using error checking bits to communicated an address or other bits |
US8090857B2 (en) | 2003-11-24 | 2012-01-03 | Qualcomm Atheros, Inc. | Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks |
US7660327B2 (en) | 2004-02-03 | 2010-02-09 | Atheros Communications, Inc. | Temporary priority promotion for network communications in which access to a shared medium depends on a priority level |
US7715425B2 (en) * | 2004-02-26 | 2010-05-11 | Atheros Communications, Inc. | Channel adaptation synchronized to periodically varying channel |
CN1307845C (en) * | 2004-07-29 | 2007-03-28 | Ut斯达康通讯有限公司 | Dynamic flow control method based on paging zone |
US8718067B2 (en) * | 2004-11-24 | 2014-05-06 | Lantiq Deutschland Gmbh | Pre-emption mechanism for packet transport |
US7636370B2 (en) | 2005-03-03 | 2009-12-22 | Intellon Corporation | Reserving time periods for communication on power line networks |
WO2006111788A1 (en) * | 2005-04-21 | 2006-10-26 | Intel Corporation | Interrupting transmission of low priority ethernet packets |
US8744465B2 (en) * | 2005-06-16 | 2014-06-03 | Qualcomm Incorporated | Resource allocation method in a communication system |
US8175190B2 (en) | 2005-07-27 | 2012-05-08 | Qualcomm Atheros, Inc. | Managing spectra of modulated signals in a communication network |
US7822059B2 (en) | 2005-07-27 | 2010-10-26 | Atheros Communications, Inc. | Managing contention-free time allocations in a network |
US8325768B2 (en) * | 2005-08-24 | 2012-12-04 | Intel Corporation | Interleaving data packets in a packet-based communication system |
US20070047572A1 (en) | 2005-08-25 | 2007-03-01 | P.A. Semi, Inc. | Explicit flow control in Gigabit/10 Gigabit Ethernet system |
US8081626B2 (en) * | 2006-07-19 | 2011-12-20 | 4472314 Canada Inc. | Expedited communication traffic handling apparatus and methods |
US7580426B2 (en) | 2006-09-28 | 2009-08-25 | Agere Systems Inc. | Interface with multilevel packet preemption based on balancing of start and end indicators |
KR101484798B1 (en) | 2007-05-10 | 2015-01-28 | 퀄컴 인코포레이티드 | Managing distributed access to a shared medium |
US7743196B2 (en) * | 2007-08-15 | 2010-06-22 | Agere Systems Inc. | Interface with multiple packet preemption based on start indicators of different types |
US7849243B2 (en) * | 2008-01-23 | 2010-12-07 | Intel Corporation | Enabling flexibility of packet length in a communication protocol |
DE102008039580A1 (en) * | 2008-08-25 | 2010-03-04 | Siemens Aktiengesellschaft | Method for transmitting data packets in a communication network and switching device |
EP2197130A3 (en) * | 2008-12-10 | 2017-05-03 | Siemens Schweiz AG | Method of deterministic transmission of time critical and time noncritical data on a shared data channel |
US8254410B2 (en) | 2009-04-30 | 2012-08-28 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for transmitting radio link control (RLC) data blocks |
US9270542B2 (en) * | 2009-07-31 | 2016-02-23 | Ixia | Apparatus and methods for forwarding data packets captured from a network |
DK2515489T3 (en) | 2009-08-28 | 2020-01-20 | Ericsson Telefon Ab L M | Enhanced multiplexing for single RLC unit |
US9313140B2 (en) * | 2009-10-23 | 2016-04-12 | Broadcom Corporation | Packet preemption for low latency |
JP5543664B2 (en) | 2010-04-12 | 2014-07-09 | クゥアルコム・インコーポレイテッド | Delayed acknowledgment for low overhead communication in networks |
EP2561645B1 (en) | 2010-04-23 | 2020-02-26 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Integrated network data collection arrangement |
CN102420738B (en) * | 2010-09-27 | 2014-08-20 | 国基电子(上海)有限公司 | Cable modem and method for configuring priority of cable modem |
US8937956B2 (en) * | 2011-05-31 | 2015-01-20 | Broadcom Corporation | Interleaving audio and video packets |
EP2538618A1 (en) * | 2011-06-22 | 2012-12-26 | Siemens Aktiengesellschaft | Method for transferring data packets |
US10904075B2 (en) | 2012-07-02 | 2021-01-26 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Preconfigured filters, dynamic updates and cloud based configurations in a network access switch |
DE102012220784A1 (en) * | 2012-11-14 | 2014-05-15 | Robert Bosch Gmbh | Method for transmitting data packets between two communication modules and communication module for sending data packets and communication module for receiving data packets |
US9455905B2 (en) | 2013-02-22 | 2016-09-27 | Broadcom Corporation | Encapsulation for link layer preemption |
US8891605B2 (en) | 2013-03-13 | 2014-11-18 | Qualcomm Incorporated | Variable line cycle adaptation for powerline communications |
WO2015162734A1 (en) * | 2014-04-23 | 2015-10-29 | 三菱電機株式会社 | Relay device and data transfer method |
US9967150B2 (en) | 2014-04-30 | 2018-05-08 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | Methods and apparatuses for implementing network visibility infrastructure |
US9571296B2 (en) | 2014-04-30 | 2017-02-14 | Ixia | Methods and apparatuses for abstracting filters in a network visibility infrastructure |
US9866489B2 (en) * | 2014-07-11 | 2018-01-09 | F5 Networks, Inc. | Delayed proxy action |
JP6291516B2 (en) * | 2016-03-18 | 2018-03-14 | 本田技研工業株式会社 | Communication system using ring network |
CN109565475B (en) * | 2016-08-08 | 2022-08-05 | 三菱电机株式会社 | Transmission device, system control device, train transmission system, and transmission method |
CN110784418B (en) * | 2019-10-24 | 2022-06-24 | 烽火通信科技股份有限公司 | Data sending method and system based on time delay constraint |
EP3860063A1 (en) | 2020-01-31 | 2021-08-04 | ADVA Optical Networking SE | A method and apparatus for correcting a packet delay variation |
CN112242053B (en) * | 2020-10-16 | 2022-06-28 | 中国飞机强度研究所 | Multi-type test data optimized transmission system and method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4500987A (en) * | 1981-11-24 | 1985-02-19 | Nippon Electric Co., Ltd. | Loop transmission system |
US4542380A (en) * | 1982-12-28 | 1985-09-17 | At&T Bell Laboratories | Method and apparatus for graceful preemption on a digital communications link |
US4510599A (en) * | 1983-04-04 | 1985-04-09 | General Electric Company | Prioritized unidirectional distributed bus accessing system |
US4707693A (en) * | 1984-06-13 | 1987-11-17 | Hewlett-Packard Company | Through-traffic priority protocol in a communications system |
GB8529369D0 (en) * | 1985-11-29 | 1986-01-08 | Mark Jon W | Integrated voice/data networking |
US5051946A (en) * | 1986-07-03 | 1991-09-24 | Unisys Corporation | Integrated scannable rotational priority network apparatus |
JPS6361532A (en) * | 1986-09-01 | 1988-03-17 | Nec Corp | Interruption data transfer system |
JPH04124939U (en) * | 1991-04-27 | 1992-11-13 | 株式会社イナツクス | roll paper holder |
-
1992
- 1992-08-07 US US07/927,697 patent/US5343473A/en not_active Expired - Lifetime
-
1993
- 1993-05-10 CA CA002095891A patent/CA2095891C/en not_active Expired - Fee Related
- 1993-06-16 JP JP5144555A patent/JP2526013B2/en not_active Expired - Fee Related
- 1993-07-16 EP EP01108461A patent/EP1128612A2/en not_active Withdrawn
- 1993-07-16 EP EP93480096A patent/EP0582537A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1128612A2 (en) | 2001-08-29 |
US5343473A (en) | 1994-08-30 |
JPH06112975A (en) | 1994-04-22 |
EP0582537A2 (en) | 1994-02-09 |
CA2095891A1 (en) | 1994-02-08 |
EP0582537A3 (en) | 1995-05-24 |
JP2526013B2 (en) | 1996-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2095891C (en) | Transmission of high-priority, real-time traffic on low-speed communication links | |
US5557608A (en) | Method and apparatus for transmission of high priority traffic on low speed communication links | |
US7558269B2 (en) | Method for transmitting high-priority packets in an IP transmission network | |
JP2942875B2 (en) | Digital communication system | |
CA2134017C (en) | Network bridge | |
US4494230A (en) | Fast packet switching system | |
US4569041A (en) | Integrated circuit/packet switching system | |
EP2050199B1 (en) | Expedited communication traffic handling apparatus and methods | |
US7106696B1 (en) | Systems and methods for limiting the rates of data to/from a buffer | |
US4964113A (en) | Multi-frame transmission control for token ring networks | |
EP0112336A1 (en) | An interface facility for a packet switching system. | |
WO2007063585A1 (en) | Communication device and frame control method | |
GB2371439A (en) | Method and apparatus for tunneling packets in a packet data system | |
US7321557B1 (en) | Dynamic latency assignment methodology for bandwidth optimization of packet flows | |
US5430710A (en) | Order preserving transmission of data streams | |
US6961331B2 (en) | IP gateway apparatus | |
CA2193180C (en) | Packet transferring device | |
EP1340344A1 (en) | Latency management for a network | |
US7088738B1 (en) | Dynamic fragmentation of information | |
JPH06177912A (en) | Data transmitter and data transmission system using thereof | |
JPH06112941A (en) | Method and apparatus for realization of variable bit rate of digital signal transmitted by communication system provided with plurality of first fixed bit rate channels | |
US6650654B1 (en) | Early preamble transmission | |
GB2143704A (en) | Data network | |
JP2004120047A (en) | Communication node apparatus | |
JPS6376647A (en) | Packet flow limit system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |