DATA FLOW CONTROL IN A NETWORK

20230421505 ยท 2023-12-28

Assignee

Inventors

Cpc classification

International classification

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] FIG. 1 shows a real-time network with two subscribers,

[0043] FIG. 2a shows a structure of a data frame by way of example,

[0044] FIG. 2b shows a structure of a pause frame by way of example,

[0045] FIG. 2c shows a structure of a management frame by way of example,

[0046] FIG. 3 shows a data frame which is interrupted by a pause frame,

[0047] FIG. 4 shows the transmission of data frames between the first subscriber and the second subscriber.

[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. FIG. 1 shows a network 1 with only one first subscriber 11 and one second subscriber 12. In order to transmit frames with symbols, at least one port 11[1], 12[1] is provided on each subscriber 11, 12. The ports 11[1], 12[1] are each configured to receive and send symbols in frames and are connected to one another via a data connection V.

[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 FIG. 2a.

[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 FIG. 2b.

[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] FIG. 3 shows a transmission of a data frame DF1 with eight data symbols DS from a first subscriber 11 to a second subscriber 12, wherein the data frame DF1 is interrupted and thus paused by a pause frame PF1. The first subscriber 11 starts to transmit the data frame DF1 to the second subscriber 12 with a start-of-frame identifier SoF, followed by three data symbols DS (first data frame part DF1). The data frame DF1 is then interrupted by an active start-of-pause request PR=1 from the second subscriber 12, whereby a pause frame PF1, beginning with a start-of-pause identifier SoP, is sent. After the start-of-pause identifier SoP, pause data P are basically transmitted until the pause frame PF1 is ended with an end-of-pause identifier EoP (or, if provided, is interrupted by a management frame MF1, see below).

[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. FIG. 4 shows a transmission of a data frame DF1 from the first subscriber 11 to the second subscriber 12 and a simultaneous transmission of a further data frame DF2 from the second subscriber 12 to the first subscriber 11.

[0062] Boththe pause frame PF1 and the management frame MF1are used in FIG. 4, for example, as frames with a higher priority. However, it is also possible that other higher-priority frames are used in the method according to the invention.

[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 FIG. 2b. However, the first subscriber 11 also cyclically transmits a management frame MF1 to the second subscriber 12 (with a first management cycle Tm1), which starts with a start-of-management identifier SoM and ends with an end-of-management identifier EoM. Such a management frame MF1 is shown in FIG. 2c.

[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 FIG. 4. The start-of-pause request PR=0/1 is preferably transmitted by a specific bit, which is set or not set, in the management frame MF. The management frame MF1 can interrupt both pause frames PF1 and data frames DF1, so it has a higher priority than pause frames PF1 and data frames DF1. In FIG. 4, the pause frame PF1 is interrupted by the management frame MF1. Although the start-of-pause identifier SoP and some pause data PF are transmitted to the second subscriber 12, the start-of-management identifier SoM is then transmitted to the second subscriber 12, followed by management data (in this case an inactive start-of-pause request PR=0) and the end-of-management identifier EoM. After the transmission of the management frame MF1, the previously interrupted pause frame PF1 is continued seamlessly. Any further pause data P are then sent, i.e. the pause data PF1 in FIG. 4.

[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 FIG. 4, for example. Since a first management cycle Tm1 has elapsed, a management frame MF1 with a start-of-management identifier SoM is started again. Management data M (in this case again comprising an inactive start-of-pause request PR=0) are then transmitted to the second subscriber 12, whereupon the management frame MF1 is ended again with an end-of-management identifier EoM. The data frame DF1 is then continued again, i.e. the third data frame part DF1 is sent to the second subscriber 12 and ended with an end-of-frame identifier EoF. The entire data frame DF1 has thus been transmitted from the first subscriber 11 to the second subscriber 12. The next data frame DF1 can then be transmitted from the first subscriber 11 to the second subscriber 12.

[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.