DATA FLOW CONTROL IN A NETWORK
20230421505 ยท 2023-12-28
Assignee
Inventors
Cpc classification
H04L47/266
ELECTRICITY
H04L47/283
ELECTRICITY
International classification
H04L47/26
ELECTRICITY
H04L47/283
ELECTRICITY
Abstract
In order to implement a method for data flow control in a network with reduced overhead, a first subscriber transmits data symbols in data frames to a second subscriber. The second subscriber forwards and/or processes the data frame. If there is a delay in forwarding and/or processing the data frame, the second subscriber instructs the first subscriber to pause the transmission of the data frames with a granularity of one data symbol. After the pause, the first subscriber continues to transmit the data frames with a granularity of one data symbol.
Claims
1. A method for data transmission in a network, preferably a real-time network, wherein a first subscriber transmits data symbols in data frames to a second subscriber and the second subscriber forwards and/or processes the data frame, wherein if there is a delay in the forwarding and/or processing of the data frame, the second subscriber instructs the first subscriber to pause the transmission of the data frames with a granularity of one data symbol, and wherein after the pause, the first subscriber continues to transmit the data frames with a granularity of one data symbol.
2. The method according to claim 1, wherein the second subscriber buffers received data frames in a symbol buffer.
3. The method according to claim 2, wherein the second subscriber instructs the first subscriber to interrupt the transmission of the data frames when a predetermined upper level of the symbol buffer is exceeded.
4. The method according to claim 1, wherein the second subscriber instructs the first subscriber to continue the transmission of the data frames.
5. The method according to claim 2, wherein the second subscriber instructs the first subscriber to continue the transmission of the data frames, when the symbol buffer falls below a predetermined lower level.
6. The method according to claim 1, wherein the first subscriber transmits a higher-priority frame to the second subscriber, and the higher-priority frame pauses or interrupts the transmission of the data frame.
7. The method according to claim 1, wherein the first subscriber continues to transmit the data frames after a predetermined pause period has elapsed.
8. The method according to claim 1, wherein the first subscriber transmits a pause frame to the second subscriber during the interruption of the transmission of the data frames.
9. The method according to claim 8, wherein the second subscriber instructs the first subscriber to start sending the pause frame by transmitting an active start-of-pause request.
10. The method according to claim 9, wherein the second subscriber cyclically transmits the active start-of-pause request or an inactive start-of-pause request with a further management cycle in a further management frame to the first subscriber.
11. The method according to claim 8, wherein the second subscriber instructs the first subscriber to end the sending of the pause frame by transmitting an end-of-pause request.
12. The method according to claim 1, wherein the first subscriber cyclically transmits a management frame to the second subscriber with a first management cycle, and in that the first subscriber interrupts a transmission of data frames with a granularity of one data symbol, transmits the management frame to the second subscriber, and then continues the transmission of the data frames.
13. The method according to claim 8, wherein the first subscriber cyclically transmits a management frame to the second subscriber with a first management cycle, wherein the first subscriber interrupts a transmission of data frames with a granularity of one data symbol, transmits the management frame to the second subscriber, and then continues the transmission of the data frames, and wherein the first subscriber interrupts a transmission of the pause frame, transmits the management frame to the second subscriber, and then continues the transmission of the pause frame.
14. The method according to claim 1, wherein the second subscriber transmits data symbols in a further data frame to the first subscriber, wherein the first subscriber instructs the second subscriber to pause the transmission of the further data frame with a granularity of one data symbol, and after the pause, the second subscriber continues the transmission of the further data frame.
15. A network, preferably a real-time network, comprising a first subscriber and a second subscriber connected to the first subscriber via a data connection, wherein the first subscriber is designed to transmit data symbols in data frames to the second subscriber via the data connection, wherein the second subscriber is designed to instruct the first subscriber to pause the transmission of the data frames with a granularity of one data symbol and in that after the pause, the first subscriber is designed to continue the transmission of the data frames with a granularity of one data symbol.
16. The network according to claim 15, wherein the second subscriber comprises a symbol buffer for buffering received data frames.
Description
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048] A network 1, in this case preferably configured as a real-time network, comprises a plurality of subscribers which are connected to one another in a linear or branched manner and wherein neighboring subscribers transmit frames with symbols to one another. If the network 1 is a real-time network, neighboring subscribers cyclically transmit frames with symbols to one another.
[0049] Data frames DF1, DF2, each comprising a number of data symbols DS, are transmitted cyclically between the subscribers 11, 12. The first subscriber 11 thus transmits data frames DF1 via its port 11[1] and the data connection V to the port 12[1] of the second subscriber 12, which receives the data frames DF1, buffers them in whole (if a store-and-forward buffer is provided as a switch buffer) or in part (if a cut-through buffer is provided as a switch buffer) in an associated switch buffer (depending on the configuration, a cut-through buffer or store-and-forward buffer) and then processes/forwards them. Likewise, the second subscriber 12 transmits further data frames DF2 via its port 12[1] and the data connection V to the port 11[1] of the first subscriber 11, which receives the further data frames DF2, buffers them in whole or in part in an associated switch buffer and then processes/forwards them. Of course, the subscribers 11, 12 can also have additional ports, which in turn are connected to ports of additional subscribers via data connections.
[0050] Data frames DF1 sent by the first subscriber 11 and further data frames DF2 sent by the second subscriber 12 preferably, but not necessarily, have the same structure, each beginning with a start-of-frame identifier SoF and ending with an end-of-frame identifier EoF. Data symbols DS (in this case eight) are transmitted between the start-of-frame identifier SoF and the end-of-frame identifier EoF, as shown in
[0051] If the first subscriber 11 sends one or more data frames DF1 to the second subscriber, the second subscriber 12 is designed to instruct the first subscriber 11 to pause the transmission of the data frames DF1 with a granularity of one data symbol DS. This means that the transmission can also be interrupted in the middle of a data frame DF1 at the instruction of the second subscriber 12. The second subscriber 12 can then instruct the first subscriber 11 to continue the transmission of the data frame DF1. The data frame DF1 can thus be divided into a first data frame part DF1 transmitted first and a second data frame part DF1 transmitted later.
[0052] The transmission of the data frame DF1 can preferably be paused by sending a frame with a higher priority than the priority of the data frame DF1.
[0053] The first subscriber 11 preferably transmits a pause frame PF1 via the data connection V to the second subscriber 12 while the transmission of the data frame DF1 is paused. The pause frame PF1 preferably starts with a start-of-pause identifier SoP and ends with an end-of-pause identifier EoP. Pause data P are transmitted between the start-of-pause identifier SoP and the end-of-pause identifier EoP, as shown in
[0054] The start of the pause frame PF1 can be requested by the second subscriber 12, for example by transmitting a start-of-pause request PR=0/1 (PR=1 represents an active start-of-pause request, PR=0 represents an inactive start-of-pause request) to the first subscriber 11. The end of the pause frame PF1 takes place advantageously in this case after the pause period tp has elapsed. However, the end of the pause frame PF1 can also be instructed by the second subscriber 12, for example by transmitting an end-of-pause request PER. The pause data P can be discarded by the first subscriber 11.
[0055] A simultaneous data transmission (including the start-of-pause request PR=0/1) from the second subscriber 12 to the first subscriber is explained below.
[0056]
[0057] The end of the pause frame PF1 occurs preferably after the pause period td has elapsed. The pause period td can be set, for example, to be equivalent to the duration of the transmission of a number of symbols, for example data symbols DS (e.g. 204 symbols). However, the end of the pause frame PF1, like the start of the pause frame PF1, can also be triggered by the second subscriber 12. To this end, the second subscriber can transmit an end-of-pause request to the first subscriber 11.
[0058] The second data frame part DF1 of the data frame DF1, i.e. five further data symbols DS in this case, is then transmitted and ended with an end-of-frame identifier EoF. The data frame DF1 was thus interrupted by the pause frame PF1 into a first data frame part DF1 and a second data frame part DF1. Additional data frames DF1 can then be transmitted from the first subscriber 11 to the second subscriber 12.
[0059] The second subscriber 12 preferably buffers received data symbols DS in whole or in part in a symbol buffer and instructs the first subscriber 11 to interrupt the transmission of data frames DF1 when a predetermined upper level of the symbol buffer is exceeded, for example by transmitting an active start-of-pause request PR=1 to the first subscriber 11. In addition, the second subscriber 12 can transmit an end-of-pause request PER to the first subscriber 11 in the event that the symbol buffer falls below a predetermined lower level, if the symbol buffer of the second subscriber 12 has been sufficiently processed so that the symbol buffer can again accommodate data symbols DS.
[0060] The continuation of the transmission of data frames DF1 by the first subscriber 11 to the second subscriber 12 can take place, for example, after a pause period td has elapsed and/or by transmitting an end-of-pause request PER to the first subscriber 11.
[0061] The start-of-pause request PR=0/1 (and optionally the end-of-pause request PER) can be transmitted from the second subscriber 12 to the first subscriber 11, for example in a further management frame MF2 sent cyclically in a further management cycle Tm2. Likewise, the first subscriber 11 can cyclically transmit a management frame MF1 to the second subscriber 12, which can also include a start-of-pause request PR=0/1 (and optionally the end-of-pause request PER) in order to interrupt (and optionally to continue) further data frames DF2 sent by the second subscriber 12 to the first subscriber 11 (in the case of an active start-of-pause request PR=1). To describe this interaction.
[0062] Boththe pause frame PF1 and the management frame MF1are used in
[0063] The data frame DF1 is transmitted from the first subscriber 11 to the second subscriber 12, beginning with the start-of-frame identifier SOF. After receiving three data symbols DS, the first subscriber 11 is instructed by the second subscriber 12 to interrupt the transmission of the data frame DF1. This instruction is shown here as an active start-of-pause request PR=1 transmitted in a further management frame MF2 (arrow pointing upwards). Thus, only the first data frame part DF1 of the data frame DF1 is transmitted until the pause.
[0064] The first subscriber 11 then sends a pause frame PF1, which basically starts with a start-of-pause identifier SoP, followed by pause data P, and ends with an end-of-pause identifier EoP, as already shown in
[0065] Management data M are optionally transmitted between the start-of-management identifier SoM and the end-of-management identifier EoM, wherein only a start-of-pause request PR=0/1 is shown as management data M in
[0066] The pause frame PF1 is ended after the pause period td with an end-of-pause identifier EoP and the previously interrupted data frame DF1 is then continued, i.e. in this case the second data frame part DF1 of the data frame DF1 is transmitted.
[0067] The data frame DF1 is, however, interrupted one more time in accordance with
[0068] In parallel with the transmission of the first data frame DF1 from the first subscriber 11 to the second subscriber 12, a further data frame DF2 is transmitted from the second subscriber 12 to the first subscriber 11. The further data frame DF2 begins with a start-of-frame identifier SoF, whereupon the (in this case eight) data symbols DS follow. The data frame DF2 is, however, interrupted by a management frame MF2 after two data symbols DS, with which only a first further data frame part DF2 of the further data frame DF2 is transmitted initially. The interruption of the further data frame DF2 by the management frame MF2 also takes place here with a granularity of one data symbol DS. The further management frame MF2 starts with a start-of-management identifier SoM, whereupon management data M follow. The management data M here include an (active) start-of-pause request PR=1, for example because the symbol buffer of the second subscriber 12 is full or has exceeded a predetermined upper level of the symbol buffer. The second subscriber 12 thus instructs the first subscriber 11 to interrupt the data frame DF1 with the pause frame PF1 (arrow pointing upwards), as described above. After the further management frame MF2 has been terminated by the end-of-management identifier EoM, further (in this case five) data symbols DS are sent.
[0069] Since the management data M of the management frame MF1 of the first subscriber 11 do not contain an active start-of-pause request PR=1 (but an inactive start-of-pause request PR=0), the second subscriber 12 is not instructed to interrupt the further data frame DF2 with a further pause frame PF2. The further data frame DF2 is, however, interrupted again by a management frame MF2 after the transmission of a second further data frame part DF2, since the further management cycle Tm2 has expired. The further management frame MF2 does not contain an active start-of-pause request PR=1 (but an inactive start-of-pause request PR=0), which is why the first subscriber 11 is not instructed to interrupt the data frame DF1 (i.e. in this case the second frame part DF1) again with a pause frame PF1.
[0070] After the further management frame MF2 has again been ended by the end-of-management identifier EoM, the further data frame DF2 is continued, which in this case will correspond to a third further data frame part DF2 in the form of a data symbol DS. Since the management data M of the second management frame MF1 (like the first management frame MF1) of the first subscriber 11 do not contain an active start-of-pause request PR=1 (but an inactive start-of-pause request PR=0), the second subscriber 12 is not instructed to interrupt the further data frame DF2 with a further pause frame PF2.
[0071] The further data frame DF2 is ended with an end-of-frame identifier EoF. The transmission of the further data frame DF2 (divided into a first, second and third further data frame part DF2, DF2, DF2) is thus fully completed. The next further data frame DF2 can then be transmitted from the second subscriber 12 to the first subscriber 11, although this is not shown.
[0072] Although the figures only show data transmission between two subscribers 11, 12 of a network 1, the method described can of course also be applied to communication between a plurality of subscribers in a network.