Receiving device, communication method, and program

The receiving device ensures low jitter in data arrival by using a communication and delay control unit to manage and delay frames within a predetermined period, addressing discrepancies in frame arrival times.

JP7719996B2Active Publication Date: 2025-08-07NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023528773
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-14
Publication Date
2025-08-07
Estimated Expiration
2041-06-14

AI Technical Summary

Technical Problem

Conventional methods struggle to guarantee low jitter in data arrival at the receiving application due to discrepancies in frame arrival times, even with LaunchTime or TimeBasedScheduling functions, particularly in periodic communications requiring low jitter.

Method used

A receiving device with a communication unit, determination unit, and delay control unit that manages allowable delay times and performs delay control processing to ensure control-target frames are output within a predetermined period, discarding or delaying frames outside this period.

Benefits of technology

Guarantees low jitter in data arrival at the receiving application by managing frame delays effectively, even with varying frame arrival times.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007719996000001
    Figure 0007719996000001
  • Figure 0007719996000002
    Figure 0007719996000002
  • Figure 0007719996000003
    Figure 0007719996000003
Patent Text Reader

Abstract

According to the present invention, to be able to ensure a low jitter in the arrival of data at a reception application even when the time at which a control target frame transmitted by a transmission device arrives at a reception device varies, a reception device includes: a communication unit that receives the control target frame periodically transmitted by the transmission device and frames other than the control target frame; a determination unit that determines whether a frame received by the communication unit is the control target frame; and a delay control unit that delays the control target frame received by the communication unit until an output time in a predetermined period and outputs the control target frame to a predetermined output destination.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a receiving device, a communication method, and a program. [Background technology]

[0002] In periodic communications such as control communications between industrial devices, low fluctuations in communication propagation delay time (low jitter) are required.

[0003] Known techniques for achieving low jitter include techniques that use functions such as LaunchTime and TimeBasedScheduling to ensure low jitter on the transmitter side (see, for example, Non-Patent Document 1).

[0004] In addition, a technology is known in which content such as audio or video is buffered in the application layer on the receiving device side until a specified time and then played back, thereby simultaneously playing back content on multiple receiving devices with different numbers of hops (see, for example, Non-Patent Document 2). [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Linux(R) manual page, "ETF - Earliest TxTime First (ETF) Qdisc" https: / / man7.org / linux / man-pages / man8 / tc-etf.8.html [Non-patent document 2] IEEE17220-2016, "IEEE Standard for a Transport Protocol for Time-Sensitive Applications in Bridged Local Area Networks" Summary of the Invention [Problem to be solved by the invention]

[0006] For example, the method of buffering data in the application layer on the receiving device side, as shown in Non-Patent Document 2, has problems such as high implementation costs for the receiving application and a processing load on the receiving application. Therefore, in a communication system that performs periodic communication requiring low jitter, it is desirable to guarantee low jitter in the data arrival at the receiving application on the receiving device side.

[0007] However, with conventional technology, regardless of whether the transmitting device has LaunchTime or TimeBasedScheduling functions, if there is a discrepancy in the time at which a frame arrives at the receiving device, there is a problem in that it is not possible to guarantee low jitter in the data reaching the receiving application on the receiving device.

[0008] The embodiment of the present invention has been made in consideration of the above-mentioned problems, and makes it possible to guarantee low jitter in the arrival of data at the receiving application even if there is a discrepancy in the time at which a control-target frame transmitted by a transmitting device reaches a receiving device. [Means for solving the problem]

[0009] In order to solve the above problem, a receiving device according to an embodiment of the present invention has a communication unit that receives control-target frames periodically transmitted by a transmitting device and frames other than the control-target frames, a determination unit that determines whether the frame received by the communication unit is the control-target frame, and a delay control unit that delays the control-target frames received by the communication unit until an output time of a predetermined period and outputs the control-target frames to a predetermined output destination, wherein the delay control unit manages an allowable delay time that allows a delay from the output time to outputting the control-target frames, and performs delay control processing to output the control-target frames received within a control-target period from a time when the allowable delay time has elapsed from an output time immediately preceding the output time to the output time, at the output time, and does not perform the delay control processing for the control-target frames received outside the control-target period. First, if the communication unit receives a plurality of control target frames within the control target period, the communication unit outputs the last control target frame received among the control target frames at the output time. [Effects of the Invention]

[0010] According to an embodiment of the present invention, even if there is a difference in the time at which a control-target frame transmitted by a transmitting device reaches a receiving device, it is possible to guarantee low jitter in the data reaching the receiving application. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a diagram illustrating an example of a system configuration of a communication system according to an embodiment of the present invention. [Figure 2] 10 is a flowchart showing an outline of processing performed by the receiving device according to the present embodiment. [Figure 3] 10 is a flowchart illustrating an example of a determination process according to the present embodiment. [Figure 4A] FIG. 1 is a diagram (1) showing an example of information to be referenced in the determination process according to the present embodiment. [Figure 4B] FIG. 10 is a diagram (2) showing an example of information to be referenced in the determination process according to the present embodiment. [Figure 4C] FIG. 3 is a diagram showing an example of information to be referenced in the determination process according to the present embodiment. [Figure 5A] FIG. 1 is a diagram (1) showing an example of time information managed by a delay control unit according to the present embodiment. [Figure 5B] FIG. 10 is a diagram (2) showing an example of time information managed by the delay control unit according to the present embodiment. [Figure 6] FIG. 4 is a diagram for explaining a delay control process according to the first embodiment. [Figure 7] 10 is a flowchart illustrating an example of a delay control process according to the first embodiment. [Figure 8] 10 is a flowchart illustrating an example of a time information update process according to the first embodiment. [Figure 9] FIG. 10 is a diagram illustrating a delay control process according to the second embodiment. [Figure 10] 10 is a flowchart illustrating an example of a delay control process according to the second embodiment. [Figure 11] 10 is a flowchart illustrating an example of a time information update process according to the second embodiment. [Figure 12] FIG. 10 is a diagram illustrating a delay control process according to a third embodiment. [Figure 13] 11 is a flowchart illustrating an example of a delay control process according to a third embodiment. [Figure 14] 11 is a flowchart illustrating an example of a time information update process according to the third embodiment. [Figure 15] FIG. 10 is a diagram illustrating a delay control process according to a fourth embodiment. [Figure 16] 13 is a flowchart illustrating an example of a time information update process according to the fourth embodiment. [Figure 17] 10 is a diagram illustrating an example of a method 1 for notifying parameters for delay control according to the present embodiment. FIG. [Figure 18] FIG. 10 is a sequence diagram showing an example of a second method for notifying parameters for delay control according to the present embodiment. [Figure 19] FIG. 10 is a diagram illustrating an example of a system configuration of a communication system according to a fifth embodiment. [Figure 20] 13 is a flowchart illustrating an example of a determination process according to the fifth embodiment. [Figure 21] FIG. 13 is a diagram illustrating an example of a system configuration of a communication system according to a sixth embodiment. [Figure 22] 13 is a flowchart illustrating an example of a process performed by a determination unit according to the sixth embodiment. [Figure 23] FIG. 13 is a diagram illustrating an example of a system configuration of a communication system according to a seventh embodiment. [Figure 24] FIG. 1 illustrates an example of a hardware configuration of a computer. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.

[0013] <System configuration> Fig. 1 is a diagram showing an example of the system configuration of a communication system according to this embodiment. In the example of Fig. 1, a communication system 100 includes a transmitting device 110 and a receiving device 120, which are communicably connected via a TSN bridge 101.

[0014] The communication system 100 is a system that transmits frames (hereinafter referred to as frames to be controlled) that are transferred at a predetermined cycle from a transmission application 111 of a transmission device 110 to a reception application 124 of a reception device 120, as well as other frames.

[0015] The devices included in the communication system 100, such as the transmitting device 110, the TSN bridge 101, and the receiving device 120, are time-synchronized using a synchronization protocol such as IEEE802.1AS. In addition, the communication system 100 performs transmission schedule control of frames to be controlled and other frames using IEEE802.1Qbv, for example.

[0016] IEEE802.1Qbv is a standard that strictly controls the timing of frame transmission for each priority by controlling transmission of multiple transmission queues with different priorities according to a Gate Control List (GCL) that has a preset transmission schedule. Each of the multiple transmission queues is provided with a gate, and when the gate is open, frame transmission is permitted, and when the gate is closed, frame transmission is prohibited. The GCL also sets the state of each gate for one cycle.

[0017] The communication unit 112 of the transmitting device 110 transmits a transmission frame by selecting a transmission queue with a priority that is permitted for transmission based on the GCL, current time, reference time, etc., using, for example, a NIC (Network Interface Card) that complies with IEEE802.1Qbv.

[0018] The TSN bridge 101 is a relay device that transfers frames received from the transmitting device 110 to the receiving device 120, and similar to the transmitting device 110, transmits frames to the receiving device 120 based on the GCL, current time, reference time, etc. The TSN bridge 101 may also be a TSN switch.

[0019] With the above configuration, the communication system 100 realizes TSN (Time-Sensitive Networking) that realizes low fluctuations in communication propagation delay time (low jitter) in periodic communications such as control communications between industrial devices.

[0020] However, conventional TSN has a problem in that if there is a discrepancy in the time at which a frame transmitted by the transmitting device 110 reaches the receiving device 120, it is not possible to guarantee low jitter in the data reaching the receiving application 124 of the receiving device 120.

[0021] Therefore, the receiving device 120 according to this embodiment has a functional configuration as shown in Fig. 1. In the example of Fig. 1, the receiving device 120 has a communication unit 121, a determination unit 122, a delay control unit 123, a receiving application 124, etc. Note that the transmitting device 110 according to this embodiment does not need to have functions such as LaunchTime and TimeBasedScheduling as shown in Non-Patent Document 1.

[0022] The communication unit 121 is realized by, for example, a program executed by a CPU (Central Processing Unit) or the like included in the receiving device 120, and a communication device such as a NIC. The communication unit 121 executes a communication process to receive control target frames that are periodically transmitted by the transmitting device 110 based on transmission schedule information such as a GCL, and other frames other than the control target frames.

[0023] The determination unit 122 is realized by, for example, a program executed by a CPU or the like included in the receiving device 120, and executes a determination process to determine whether or not a frame received by the communication unit 121 is a control target frame. In addition, the determination unit 122 transfers the control target frame received by the communication unit 121 to the delay control unit 123.

[0024] The delay control unit 123 is realized by, for example, a program executed by a CPU or the like included in the receiving device 120. The delay control unit 123 executes a delay control process to delay a control target frame received by the communication unit 121 until an output time of a predetermined period, and output the frame to a predetermined output destination such as the receiving application 124. The delay control process executed by the delay control unit 123 will be described later with reference to several examples.

[0025] The communication unit 121, the determination unit 122, or the delay control unit 123 may be realized by, for example, a digital signal processor (DSP), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC).

[0026] The receiving application 124 is realized by a program executed by, for example, a CPU or the like included in the receiving device 120, and receives control target frames and other frames transmitted by the transmitting application 111, and executes predetermined processing.

[0027] 1 is an example, and various system configurations are possible for the communication system 100. Examples of other system configurations of the communication system 100 will be described later using a number of examples.

[0028] <Processing flow> Next, the processing flow of the communication method according to this embodiment will be described.

[0029] (Processing Overview) 2 is a flowchart showing an outline of the processing performed by the receiving device according to this embodiment, which is executed when the receiving device 120 described with reference to FIG.

[0030] In step S201, when the communication unit 121 of the receiving device 120 receives a frame, the receiving device 120 executes the processes from step S202 onwards.

[0031] In step S202, the determination unit 122 of the receiving device 120 determines whether the frame received by the communication unit 121 is a control target frame, and if it is a control target frame, the process proceeds to step S203. On the other hand, if it is not a control target frame, the determination unit 122 proceeds to step S206.

[0032] In step S203, the delay control unit 123 of the receiving device 120 determines whether or not period correction is possible, which delays the received control-target frame until the output time of a predetermined cycle, by the delay control process executed by the delay control unit 123. For example, the delay control unit 123 determines that period correction is possible if the reception time at which the communication unit 121 received the control-target frame is within a control-target period that is set before the output time of the predetermined cycle.

[0033] If period correction is possible through delay control processing, delay control unit 123 shifts the process to step S205. On the other hand, if period correction is not possible through delay control processing, delay control unit 123 shifts the process to step S204.

[0034] In step S204, the delay control unit 123 outputs the received control target frame to the receiving application without discarding it or executing delay control processing. Note that whether the delay control unit 123 discards the received control target frame may be settable depending on, for example, the content of the received data or the receiving application 124, or may be predetermined.

[0035] On the other hand, when the process proceeds to step S205, the delay control unit 123 executes a delay control process for delaying the output of the received control target frame until the output time of the predetermined cycle.

[0036] In step S206, the delay control unit 123 outputs the control target frame to the reception application .

[0037] By the above process, the receiving device 120 can delay the control target frame received within the control target period until the output time of a predetermined cycle, and output the frame to a predetermined output destination such as the receiving application 214, for example.

[0038] <Processing of the judgment section> Next, the determination process executed by the determination unit 122 will be described in detail. 3 is a flowchart showing an example of the determination process according to this embodiment, which is executed by the determination unit 122 in step S202 of FIG.

[0039] In step S301, the determination unit 122 acquires information used to determine whether or not a frame is a frame to be controlled from a frame received by the communication unit 121. An example of the information used for the determination may be a destination MAC address 412 included in a header 411 of an Ethernet (registered trademark) frame 410, as shown in Fig. 4A.

[0040] Alternatively, the determination unit 122 may acquire, as information to be used for the determination, a PRI 422 or the like that indicates the priority of a frame and is included in a VLAN tag 421 of an Ethernet frame 420 that includes a VLAN tag 421, as shown in Fig. 4B. The PRI 422 is information that indicates the priority of a frame from 0 (lowest) to 7 (highest). The PRI 422 is sometimes called a PCP (Priority Code Point).

[0041] Alternatively, the determination unit 122 may acquire, as information to be used for the determination, a destination IP address 431 or a protocol number 432 included in a header 430 of an IP packet, as shown in Fig. 4C. Note that the information that the determination unit 122 acquires as information to be used for the determination may be determined by, for example, a designer, an administrator, or a user, depending on network requirements, etc.

[0042] In step S302, the determination unit 122 determines whether the acquired information used for the determination matches the condition for a frame to be controlled. For example, if the information used for the determination is the PRI 422 of the VLAN tag 421, the determination unit 122 may determine that a frame having a predetermined priority that is higher than other frames is a frame to be controlled.

[0043] Alternatively, if the information used for the determination is the destination IP address 431 (or protocol number 432), the determination unit 122 may determine that a frame having an IP address (or protocol number) assigned to the destination of the control target frame is a control target frame.

[0044] If the acquired information to be used for the determination matches the conditions of the control target frame, the determination unit 122 shifts the process to step S303. On the other hand, if the acquired information to be used for the determination does not match the conditions of the control target frame, the determination unit 122 shifts the process to step S304.

[0045] In step S303, the determining unit 122 determines that the frame received by the communication unit 121 is a frame to be controlled, and transfers the frame to the delay control unit 123.

[0046] On the other hand, in step S304, the determining unit 122 determines that the frame received by the communication unit 121 is a frame that is not subject to control (another frame), and transfers the frame to the receiving application .

[0047] By the process of FIG. 3, the determining unit 122 can selectively transfer control target frames from among the frames received by the communication unit 121 to the delay control unit 123.

[0048] <About time information> The delay control unit 123 manages a plurality of pieces of time information (or time information) in order to perform delay control processing. Figures 5A and 5B are diagrams showing examples of time information managed by the delay control unit according to this embodiment.

[0049] In Figure 5A, t base is information indicating a reference time (for example, the time when the transmitting device 110 starts gate control). cycle is information indicating the time of one cycle of the control target frame transmitted from the transmitting application 111 to the receiving application 124 at a predetermined cycle.

[0050] t i (i is an integer greater than or equal to 0) is the reference time t base The delay control unit 123 determines the output time t i Then, the control target frame is output to the receiving application 124 .

[0051] T thresh is the output time t i This is information indicating the allowable delay time, which is a threshold value of how much delay the delay control unit 123 allows, and is set to a fixed value equal to or greater than 0. If no delay is allowed, T thresh Just set it to 0.

[0052] In Figure 5B, t cur is information indicating the current time. prev is the current time t cur The output time t immediately before i This is information that indicates next is the current time t cur Output time t immediately after i This is information that indicates next2 is t next The next output time t iTherefore, as shown in FIG. 5B, as time passes, t prev , t next , and t next2 The output time t i is changing.

[0053] <Delay control section processing> Next, the delay control process executed by the delay control unit 123 will be described by exemplifying a number of embodiments.

[0054] [Example 1] (Processing Overview) 6 is a diagram illustrating a delay control process according to the first embodiment. In the first embodiment, the delay control unit 123 performs a delay control process as shown in FIG. i +T thresh From t i+1 (i is a positive integer) until the output time t i+1 Then, all the data is output to the output destination such as the receiving application 124. i +T thresh From t i+1 The period is from output time t i+1 In this way, in the first embodiment, the delay control unit 123 outputs, at the output time, a control target frame that is received within the control target period before the output time.

[0055] In addition, the delay control unit 123 outputs the output time t i+1 From t i+1 +T thresh For frames that are subject to control and received during the period up to T, they are output to the destination (or discarded) without undergoing delay control processing. thresh The value of T is determined by, for example, a designer, an administrator, or a user depending on the requirements of the receiving application 124 of the output destination. thresh By setting the value to 0 or a value close to 0, it is possible to tighten the conditions for outputting to the destination (or discarding) without performing delay control processing.

[0056] (Delay control processing) 7 is a diagram illustrating an example of delay control processing according to the embodiment 1. This processing illustrates an example of delay control processing executed by the delay control unit 123 in step S205 of FIG.

[0057] In step S701, when the delay control unit 123 receives a control target frame transferred from the determination unit 122, it executes the processes from step S702 onwards.

[0058] In step S702, the delay control unit 123 acquires the current time and calculates t cur Store in.

[0059] In step S703, the delay control unit 123 cur ≦t prev +T thresh " is determined. cur ≦t prev +T thresh If not, the delay control unit 123 determines whether the current time t cur is within the control period described above, and it is determined that the period can be corrected by the delay control process, and the process proceeds to step S704. cur ≦t prev +T thresh ,” the delay control unit 123 determines whether the current time t cur However, it is determined that this is outside the control period described above and that period correction is not possible by delay control processing, and the process proceeds to step S705.

[0060] In step S704, the delay control unit 123 determines the next output time t next After waiting for this time, the process proceeds to step S705.

[0061] In step S705, the delay control unit 123 outputs the control target frame to a predetermined output destination such as the receiving application 124. Note that the predetermined output destination may be the receiving application 124, or may be a storage area (register, buffer, etc.) for transferring data to the receiving application 124.

[0062] 7, the delay control unit 123 outputs the output time t i The packets to be controlled received within the control period before the output time t i can be output to the output destination.

[0063] (Time information update process) Fig. 8 is a flowchart illustrating an example of a time information update process according to the embodiment 1. The delay control unit 123 executes the time information update process shown in Fig. 8 in parallel with the delay control process described in Fig. 7. The delay control unit 123 can operate a plurality of delay control processes described in Fig. 7 in parallel.

[0064] In step S801, the delay control unit 123 determines t base , t cycle , and T thresh is acquired from, for example, the transmitting device 110, an external controller, or a storage device included in the receiving device 120. A specific example of a method for acquiring the time information will be described later.

[0065] In step S802, the delay control unit 123 acquires the current time and calculates t cur Store in.

[0066] In step S803, the delay control unit 123 calculates t next Calculate t using the following formula (2) prev Calculate. t next =t cur +(t cur -t base )modT cycle ···(1) t prev =t next -T cycle ···(2)

[0067] In step S804, the delay control unit 123 acquires the current time and calculates t cur Store in.

[0068] In step S805, the delay control unit 123 cur ≧t next " is determined. cur ≧t next If not, the delay control unit 123 determines whether the current time t cur t next t has not been reached, and the process returns to step S804. cur ≧t next ,” the delay control unit 123 determines whether the current time t cur t next , and the process proceeds to step S806.

[0069] In step S806, the delay control unit 123 prev =t next " by t prev Update the "t next =t next +T cycle " by t next After updating, the process returns to step S804.

[0070] 8, the delay control unit 123 adjusts the delay time t prev、 t next Time information such as the date and time can be updated.

[0071] As described above, according to the first embodiment, the delay control unit 123 outputs the output time t i The control target frame received within the control target period preceding the control target frame can be output at the output time.

[0072] [Example 2] (Processing Overview) FIG. 9 is a diagram illustrating a delay control process according to the second embodiment. In the second embodiment, the delay control unit 123 performs the following process as shown in FIG. i-1 From t i +T thresh If no control target frame is received during period A up to t i+1If multiple frames to be controlled are received before t, only the last received frame to be controlled is output at output time t i+1 In this way, in the second embodiment, when a plurality of control target frames are received within a control target period, the control target frames other than the last received control target frame are determined to be control target frames received later than the previous transmission time plus the allowable time, and are discarded.

[0073] (Delay control processing) Fig. 10 is a diagram illustrating an example of a delay control process according to the second embodiment. This process shows another example of the delay control process executed by the delay control unit 123 in step S205 of Fig. 2. Note that detailed description of the same process as in the first embodiment will be omitted here.

[0074] In step S1001, when the delay control unit 123 receives a control target frame transferred from the determination unit 122, it executes the processes from step S1002 onwards.

[0075] In step S1002, the delay control unit 123 determines whether "hasRecvPrev=0" and "hasRecv=0" are true.

[0076] Here, hasRecvPrev is the time of the previous period (t prev -T cycle From t prev This is a variable used to determine whether a frame to be controlled has been received in the previous cycle (t prev This is a variable used to determine whether a frame to be controlled has been received in the past (from the current time to the current time). The initial value of hasRecv is "0", which indicates that a frame to be controlled has not yet been received, and "1" which indicates that a frame to be controlled has already been received.

[0077] If "hasRecvPrev=0" and "hasRecv=0" are true, the delay control unit 123 shifts the process to step S1005. On the other hand, if "hasRecvPrev=0" and "hasRecv=0" are not true, the delay control unit 123 shifts the process to step S1003.

[0078] In step S1003, the delay control unit 123 sets hasRecv to 1. In step S1004, the delay control unit 123 updates buf to the frame to be controlled.

[0079] Here, buf is a buffer that stores frames to be controlled and is scheduled to be output to the output destination. The initial value of buf is null, and it is updated and initialized in the delay control process and the time information update process. Note that when multiple communication flows exist, the delay control unit 123 prepares, for example, a different buffer for each communication flow.

[0080] Therefore, in step S1004, the delay control unit 123 executes a process of overwriting the control target frame in the buffer (buf) that stores the control target frame.

[0081] On the other hand, when the process proceeds to step S1005, the delay control unit 123 sets "1" to hasRecvPrev. In step S1006, the delay control unit 123 acquires the current time and sets t cur Store in.

[0082] In step S1007, the delay control unit 123 cur ≦t prev +T thresh " is determined. cur ≦t prev +T thresh ”, the delay control unit 123 outputs the control target frame stored in buf to a predetermined output destination such as the receiving application 124. cur ≦t prev +T threshIf not, the delay control unit 123 ends the processing of FIG.

[0083] (Time information update process) Fig. 11 is a flowchart showing an example of a time information update process according to the second embodiment. The delay control unit 123 executes the time information update process shown in Fig. 11 in parallel with the delay control process described in Fig. 10. The delay control unit 123 can operate a plurality of delay control processes described in Fig. 10 in parallel. A detailed description of the same processes as those in the first embodiment will be omitted here.

[0084] In step S1101, the delay control unit 123 determines t base , t cycle , and T thresh is acquired from, for example, the transmitting device 110, an external controller, or a storage device provided in the receiving device 120.

[0085] In step S1102, the delay control unit 123 acquires the current time and calculates t cur Store in.

[0086] In step S1103, the delay control unit 123 calculates t next , and t prev is calculated, and hasRecv and hasRecvPrev are initialized by setting them to "0".

[0087] In step S1104, the delay control unit 123 acquires the current time and calculates t cur Store in.

[0088] In step S1105, the delay control unit 123 cur ≧t next " is determined. cur ≧t next If not, the delay control unit 123 determines whether the current time t cur t next t has not been reached, and the process returns to step S1104. cur≧t next ,” the delay control unit 123 determines whether the current time t cur t next It is determined that the number of times has reached the limit, and the process proceeds to step S1106.

[0089] In step S1106, the delay control unit 123 determines whether "buf≠null" holds. If "buf≠null" holds, the delay control unit 123 shifts the process to step S1107. On the other hand, if "buf≠null" does not hold, the delay control unit 123 shifts the process to step S1109.

[0090] In step S1107, the delay control unit 123 outputs buf (the control target frame stored in the buffer) to a predetermined output destination such as a receiving application. In step S1108, the delay control unit 123 initializes the buffer by setting "buf=null".

[0091] In step S1109, the delay control unit 123 sets t prev =t next " by t prev Update "t next =t next +T cycle " by t next Furthermore, the delay control unit 123 updates hasRecvPrev by setting "hasRecvPrev=hasRecv", and then returns the process to step S1104.

[0092] 10 and 11, the receiving device 120 does not receive the control target frame during the period A, as explained in FIG. 9, and i+1 If multiple frames to be controlled are received before t, only the last received frame to be controlled is output at output time t i+1 can be output to.

[0093] [Example 3] (Processing Overview) 12 is a diagram illustrating a delay control process according to the third embodiment. In the third embodiment, the delay control unit 123 receives no control target frame in the period A and i+1 If two frames to be controlled (frames 1 and 2) are received before t, the last frame to be controlled (frame 2) is output at the output time t i+1 Furthermore, the delay control unit 123 regards the first received frame to be controlled (frame 1) as a frame to be controlled that was received later than the previous output time, and outputs it to the output destination without performing delay control.

[0094] (Delay control processing) Fig. 13 is a diagram illustrating an example of a delay control process according to the third embodiment. This process illustrates another example of the delay control process executed by the delay control unit 123 in step S205 of Fig. 2. Note that detailed descriptions of the same processes as those in the first and second embodiments will be omitted here.

[0095] In step S1301, when the delay control unit 123 receives a frame to be controlled that has been transferred from the determination unit 122, the delay control unit 123 executes the processes from step S1302 onwards.

[0096] In step S1302, the delay control unit 123 determines whether "hasRecvPrev=0" and "hasRecv=0" are true. If "hasRecvPrev=0" and "hasRecv=0" are true, the delay control unit 123 shifts the process to step S1303. On the other hand, if "hasRecvPrev=0" and "hasRecv=0" are not true, the delay control unit 123 shifts the process to step S1305.

[0097] In step S1303, the delay control unit 123 outputs the control target frame to a predetermined output destination such as the reception application 1204. In step S1304, the delay control unit 123 sets "1" to hasRecvPrev.

[0098] On the other hand, when the process proceeds to step S1305, the delay control unit 123 determines whether or not "buf=null" holds (whether or not the buffer is empty). If "buf=null" holds, the delay control unit 123 proceeds to step S1306. On the other hand, if "buf=null" does not hold, the delay control unit 123 proceeds to step S1308.

[0099] In step S1306, the delay control unit 123 stores the control target frame in buf. In step S1307, the delay control unit 123 sets "1" in hasRecv.

[0100] On the other hand, in step S1308, the delay control unit 123 updates buf to the control target frame (overwrites the control target frame in the buffer).

[0101] (Time information update process) Fig. 14 is a flowchart showing an example of a time information update process according to the third embodiment. The delay control unit 123 executes the time information update process shown in Fig. 14 in parallel with the delay control process described in Fig. 13. Of the processes shown in Fig. 14, steps S1101 to S1102 and S1104 to S1110 are the same as the time information update process according to the second embodiment described in Fig. 11, and therefore will not be described here.

[0102] In step S1401, the delay control unit 123 calculates t next , and t prev Calculate.

[0103] 13 and 14, the receiving device 120 does not receive the control target frame during the period A, as explained in FIG. 12, and i+1 If two frames to be controlled are received before t, the last received frame to be controlled is output at time t i+1 Furthermore, the receiving device 120 can output the first received control target frame to the output destination without performing delay control.

[0104] [Example 4] FIG. 15 is a diagram illustrating a delay control process according to the fourth embodiment. In the fourth embodiment, the delay control unit 123 controls a transmission time t i 15 shows an example of processing when only one control target frame can be output at a time to the receiving application 124. The delay control unit 123 stores the received control target frame in a FIFO (First In, First Out) buffer 1500 and outputs the control target frame at a transmission time t i The frames to be controlled in the buffer are taken out one by one in sequence and output to the output destination.

[0105] (Time information update process) Fig. 16 is a flowchart showing an example of a time information update process according to the fourth embodiment. In the delay control process according to the fourth embodiment, the delay control unit 123 executes only a process of storing the received control target frame in the buffer 1500, and other processes are realized by the time information update process. Among the processes shown in Fig. 16, the processes of steps S1101 and S1102 are the same as the time information update process according to the second embodiment described in Fig. 11, and therefore, a description thereof will be omitted here. Also, a detailed description of the processes similar to those described in the first to third embodiments will be omitted here.

[0106] In step S1601, the delay control unit 123 calculates t next , and t prev Calculate.

[0107] In step S1602, the delay control unit 123 acquires the current time and calculates t cur Store in.

[0108] In step S1603, the delay control unit 123 cur ≧t next " is determined. cur ≧t next If not, the delay control unit 123 determines whether the current time t cur t next t has not been reached, and the process returns to step S1602.cur ≧t next ,” the delay control unit 123 determines whether the current time t cur t next It is determined that the number of times has reached the limit, and the process proceeds to step S1604.

[0109] In step S1604, the delay control unit 123 determines whether "buf≠null" holds. If "buf≠null" holds, the delay control unit 123 shifts the process to step S1605. On the other hand, if "buf≠null" does not hold, the delay control unit 123 shifts the process to step S1606.

[0110] In step S1605, the delay control unit 123 extracts one control target frame previously stored in buf (buffer 1500) from buf, and outputs the extracted control target frame to an output destination such as a receiving application.

[0111] In step S1606, the delay control unit 123 prev =t next " by t prev Update "t next =t next +T cycle " by t next After updating, the process returns to step S1602.

[0112] 16, the receiving device 120 stores the received control target frame in the FIFO buffer 1500 as described in FIG. 5, and transmits the control target frame at the transmission time t i The control target frames in the buffer 1500 can be sequentially taken out one by one and output to the output destination.

[0113] <Parameter notification method> When the delay control unit 123 executes the delay control process described in the first to fourth embodiments, for example, base , T cycle , T thresh, GCL, etc. are used. This information is called delay control parameters. Here, notification methods 1 to 3 for notifying the receiving device 120 of the delay control parameters will be described.

[0114] (Notification method 1) Fig. 17 is a diagram showing an example of a method 1 for notifying parameters for delay control according to this embodiment. The communication system 100 shown in Fig. 17 includes a setting terminal 1701 and a controller 1702 in addition to the communication system 100 described in Fig. 1.

[0115] The setting terminal 1701 is an information terminal such as a PC (Personal Computer) used by a user such as an administrator or a user. The controller 1702 is a computer capable of communicating with the setting terminal 1701, the transmitting device 110, the receiving device 120, etc., or a system including multiple computers.

[0116] 17, before transmitting a control target frame from the transmitting device 110 to the receiving device 120, the user notifies the controller 1702 from the setting terminal 1701 of delay control parameters and information for identifying the transmitting device 110 and the receiving device 120. Furthermore, in step S2, the controller 1702 notifies the receiving device 120 of the delay control parameters notified from the setting terminal 1701.

[0117] In step S3, delay control unit 123 of receiving device 120 sets the delay control parameters notified by controller 1702, and notifies controller 1702 of a setting completion message indicating that the setting has been completed. In step S4, controller 1702 notifies transmitting device 110 of a setting completion message indicating that the setting of the delay control parameters to receiving device 120 has been completed.

[0118] In this way, the user can set the delay control parameters in the receiving device 120 using the setting terminal 1701, the controller 1702, and the like.

[0119] (Notification method 2) 18 is a sequence diagram showing an example of delay control parameter notification method 2 according to the present embodiment. This sequence diagram shows an example of a delay control parameter setting process executed between the transmitting device 110 and the receiving device 120 before transmitting a control target frame from the transmitting device 110 to the receiving device 120.

[0120] In step S1801, before starting transmission of a control target frame, the transmitting device 110 notifies the receiving device 120 of a delay control parameter. If there is no response from the receiving device 120 even after a predetermined time has elapsed, the transmitting device 110 retransmits the delay control parameter as shown in step S1802.

[0121] In step S1803, delay control unit 123 of receiving device 120 sets the delay control parameters notified by transmitting device 110, and notifies transmitting device 110 of a setting completion message indicating that the setting has been completed.

[0122] In step S1804, upon receiving the setting completion message from the receiving device 120, the transmitting device 110 starts transmitting frames to be controlled.

[0123] In this way, the delay control parameters may be set in the receiving device 120 through negotiation with the receiving device 120 before the transmitting device 110 starts transmitting the control target frame.

[0124] (Notification method 3) The transmitting device 110 may notify the receiving device 120 of the delay control parameters by adding the delay control parameters to the control target frame to be transmitted to the receiving device 120 .

[0125] In this case, the delay control unit 123 of the receiving device 120 refers to the delay control parameters added to the received control target frame, and executes the delay control processing described in the first to fourth embodiments.

[0126] <Application example> The communication system 100 according to this embodiment is not limited to the system configuration shown in Fig. 1, and various modifications and applications are possible. Here, examples of other system configurations of the communication system 100 will be described by exemplifying a plurality of embodiments.

[0127] [Example 5] 19 is a diagram illustrating an example of a system configuration of a communication system according to Example 5. This diagram illustrates another example of the system configuration of the communication system 100 described in FIG.

[0128] 19, the communication system 100 includes a transmitting device 110a having a transmitting application 111a and a communication unit 112a, and a transmitting device 110b having a transmitting application 111b and a communication unit 112b. The communication system 100 also includes a receiving device 120 having a communication unit 121, a determination unit 122, delay control units 123a and 123b, and receiving applications 124a and 124b.

[0129] The transmitting device 110a and the transmitting device 110b transmit control target frames to the receiving device 120, for example, at different cycles.

[0130] The receiving application 124a receives the control target frame transmitted by the transmitting device 110a via the delay control unit 123a. The delay control unit 123a uses the delay control parameters notified by the above-mentioned notification methods 1 to 3, etc. to execute the delay control processing as shown in the first to fourth embodiments on the control target frame received from the transmitting device 110a, and outputs the control target frame to the receiving application 124a.

[0131] The receiving application 124b receives the control target frame transmitted by the transmitting device 110b via the delay control unit 123b. The delay control unit 123b uses the delay control parameters notified by the above-mentioned notification methods 1 to 3, etc. to execute delay control processing as shown in Examples 1 to 4 on the control target frame received from the transmitting device 110b, and outputs the control target frame to the receiving application 124b. The determining unit 122 executes, for example, a determination processing as shown in FIG. 20.

[0132] Fig. 20 is a flowchart illustrating an example of a determination process according to the embodiment 5. Note that the basic process content is the same as the determination process described in Fig. 3, and therefore detailed description of the process similar to the determination process described in Fig. 3 will be omitted here.

[0133] In step S2001, the determining unit 122 obtains, from a frame received by the communication unit 121, information used to determine whether the frame is a frame to be controlled.

[0134] In step S2002, the determination unit 122 determines a receiving application of the destination of the frame from the frame received by the communication unit 121. For example, the determination unit 122 may determine the receiving application of the destination based on the destination IP address 431 or the protocol number 432 included in the header 430 of the IP packet as shown in Fig. 4C.

[0135] In step S2003, the determination unit 122 determines whether the acquired information used for the determination matches the conditions for the control target frame corresponding to the destination receiving application. If the acquired information used for the determination matches the conditions for the control target frame corresponding to the destination receiving application, the determination unit 122 shifts the process to step S2004. On the other hand, if the acquired information used for the determination does not match the conditions for the control target frame corresponding to the destination receiving application, the determination unit 122 shifts the process to step S2005.

[0136] In step S2004, the determination unit 122 determines that the frame received by the communication unit 121 is a control target frame, and transfers the frame to the delay control unit 123 corresponding to the destination receiving application. For example, if the destination receiving application is receiving application 124a, the determination unit 122 transfers the control target frame to delay control unit 123a. Similarly, if the destination receiving application is receiving application 124b, the determination unit 122 transfers the control target frame to delay control unit 123b.

[0137] On the other hand, in step S2005, the determining unit 122 determines that the frame received by the communication unit 121 is a frame that is not subject to control (another frame), and transfers the frame to the destination receiving application.

[0138] By the process of FIG. 20, the determining unit 122 can selectively transfer control target frames among the frames received by the communication unit 121 to the delay control unit 123 corresponding to the destination receiving application 124.

[0139] With the above system configuration and processing, the communication system 100 according to the fifth embodiment can guarantee low jitter in the arrival of control target frames at the receiving applications 124a and 124b.

[0140] [Example 6] 21 is a diagram illustrating an example of a system configuration of a communication system according to Example 6. This diagram illustrates another example of the system configuration of the communication system 100 described in FIG.

[0141] 21, the communication system 100 includes a transmitting device 110a having a transmitting application 111a and a communication unit 112a, and a transmitting device 110b having a transmitting application 111b and a communication unit 112b. The communication system 100 also includes a receiving device 120 having a communication unit 121, a determination unit 122, delay control units 123a and 123b, and a receiving application 124.

[0142] The transmitting device 110a and the transmitting device 110b transmit control target frames to the receiving device 120, for example, at different cycles.

[0143] The delay control unit 123a uses the delay control parameters notified by the above-mentioned notification methods 1 to 3, etc. to perform delay control processing such as those shown in Examples 1 to 4 on the control target frame received from the transmitting device 110a, and outputs the control target frame to the receiving application 124.

[0144] The delay control unit 123b uses the delay control parameters notified by the above-mentioned notification methods 1 to 3 or the like to perform delay control processing as shown in the first to fourth embodiments on the control target frame received from the transmission device 110b, and outputs the control target frame to the receiving application 124. The determination unit 122 performs, for example, a determination processing as shown in FIG.

[0145] Fig. 22 is a flowchart illustrating an example of a determination process according to Example 6. Note that the basic process content is the same as the determination process described in Fig. 3, and therefore detailed description of the process content similar to the determination process described in Fig. 3 will be omitted here.

[0146] In step S2201, the determining unit 122 obtains, from a frame received by the communication unit 121, information used to determine whether the frame is a frame to be controlled.

[0147] In step S2202, the determination unit 122 determines the source transmission device (or source transmission application) of the frame from the frame received by the communication unit 121. For example, the determination unit 122 may determine the source transmission device (or source transmission application) from the source IP address (Source Address) or protocol number 432 included in the header 430 of the IP packet as shown in Fig. 4C.

[0148] In step S2203, the determination unit 122 determines whether the acquired information used for the determination matches the conditions for the control target frame corresponding to the transmission device of the sender (or the transmission application of the sender). If the acquired information used for the determination matches the conditions for the control target frame corresponding to the transmission device of the sender (or the transmission application of the sender), the determination unit 122 shifts the process to step S2204. On the other hand, if the acquired information used for the determination does not match the conditions for the control target frame corresponding to the transmission device of the sender (or the transmission application of the sender), the determination unit 122 shifts the process to step S2205.

[0149] In step S2204, the determination unit 122 determines that the frame received by the communication unit 121 is a control target frame, and transfers the frame to a delay control unit corresponding to the transmission device (or transmission application) of the transmission source. For example, if the transmission source communication device is transmission device 110a, the determination unit 122 transfers the control target frame to delay control unit 123a. Similarly, if the transmission source transmission device is transmission device 110b, the determination unit 122 transfers the control target frame to delay control unit 123b.

[0150] On the other hand, in step S2205, the determining unit 122 determines that the frame received by the communication unit 121 is a frame that is not subject to control (another frame), and transfers the frame to the receiving application .

[0151] By the process of FIG. 22, the determining unit 122 can selectively transfer control target frames, among the frames received by the communication unit 121, to the delay control unit corresponding to the communication device that is the sender.

[0152] With the above system configuration and processing, the communication system 100 according to the sixth embodiment can guarantee low jitter in the arrival of control target frames transmitted by the multiple transmitting devices 110a and 110b to the receiving application 124.

[0153] [Example 7] 23 is a diagram illustrating an example of a system configuration of a communication system according to Example 7. This diagram illustrates another example of the system configuration of the communication system 100 described in FIG.

[0154] 23, the communication system 100 includes a transmitting device 110a having a transmitting application 111a and a communication unit 112a, and a transmitting device 110b having a transmitting application 111b and a communication unit 112b. The communication system 100 also includes a receiving device 120 having a communication unit 121, a determination unit 122, a delay control unit 123, a receiving application 124, a buffer A 2311, a buffer B 2312, a storage unit 2300, etc.

[0155] The transmitting device 110a and the transmitting device 110b transmit control target frames to the receiving device 120, for example, at different cycles.

[0156] The delay control unit 123a uses the delay control parameters notified by the above-mentioned notification methods 1 to 3, etc. to perform delay control processing as shown in Examples 1 to 4 on the control target frames received from the transmitting devices 110a and 110b, and outputs the control target frames to the receiving application 124.

[0157] In this way, one delay control unit 123 may execute delay control processing on frames to be controlled that are received from a plurality of transmission devices (or transmission applications).

[0158] In this case, delay control unit 123 manages different delay control parameter values for each transmission device. In the example of Fig. 23, delay control unit 123 stores and manages, in storage unit 2300, a delay control parameter (parameter A2301) corresponding to transmission device 110a and a delay control parameter (parameter B2302) corresponding to transmission device 110b.

[0159] Furthermore, the delay control unit 123 uses delay control parameter values that differ for each transmission device to perform, for example, the delay control process and the time information update process described in the first to fourth embodiments in parallel for each transmission device.

[0160] For example, the delay control unit 123 uses a buffer A2311 corresponding to the transmitting device 110a and a parameter A2301 to perform the delay control processing and the time information update processing described in the first to fourth embodiments on the control target frame received from the transmitting device 110a. Similarly, the delay control unit 123 uses a buffer B2312 corresponding to the transmitting device 110b and a parameter B2302 to perform the delay control processing and the time information update processing described in the first to fourth embodiments on the control target frame received from the transmitting device 110b.

[0161] In this way, the receiving device 120 prepares a buffer for temporarily storing frames to be controlled independently for each communication flow identified by a 5-tuple (source IP address, source port number, destination IP address, destination port number, protocol number) or the like.

[0162] With the above system configuration, the communication system 100 according to the seventh embodiment can guarantee low jitter in the arrival of control target frames transmitted by multiple transmitting devices 110a and 110b up to the receiving application 124 using a single delay control unit 123.

[0163] <Hardware configuration example> The transmitting device 110 and the receiving device 120 according to this embodiment have, for example, the hardware configuration of a computer 2400 as shown in FIG.

[0164] Fig. 24 is a diagram showing an example of the hardware configuration of a computer. In the example of Fig. 24, a computer 2400 includes a processor 2401, a memory 2402, a storage device 2403, a communication device 2404, an input device 2405, an output device 2406, a bus B, etc.

[0165] The processor 2401 is, for example, an arithmetic device such as a CPU (Central Processing Unit) that realizes various functions by executing a predetermined program. The memory 2402 is a storage medium readable by the computer 2400, and includes, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), etc. The storage device 2403 is a computer-readable storage medium, and may include, for example, a HDD (Hard Disk Drive), an SSD (Solid State Drive), various optical disks, and a magneto-optical disk, etc.

[0166] The communication device 2404 is a device for communicating with other computers 2400, and includes, for example, an NIC compatible with IEEE802.1Qbv. The input device 2405 is an input device (for example, a keyboard, mouse, microphone, switch, button, sensor, etc.) that receives input from the outside. The output device 2406 is an output device (for example, a display, speaker, LED lamp, etc.) that outputs to the outside. The input device 2405 and the output device 2406 may be integrated into one device (for example, an input / output device such as a touch panel display).

[0167] The bus B is commonly connected to the above components and transmits, for example, address signals, data signals, and various control signals. The processor 2401 is not limited to a CPU, and may be, for example, a DSP (Digital Signal Processor), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array).

[0168] The receiving device 120 (or the transmitting device 110) according to this embodiment can be realized, for example, by causing a computer to execute a program in which the processing contents described in this embodiment are written.

[0169] The above program can be recorded on a computer-readable storage medium (such as a portable memory) and stored or distributed. The above program can also be provided via a network such as the Internet or email.

[0170] At least some of the functional components of the receiving device 120 (or the transmitting device 110) may be realized by hardware such as a PLD, FPGA, or ASIC.

[0171] <Effects of the embodiment> According to this embodiment, even if jitter occurs in the frame arrival time at the receiving device due to a deviation in the transmission timing of the transmitting device or the transfer timing by the TSN bridge, low jitter can be guaranteed in the arrival of data (frames) to the receiving application.

[0172] According to this embodiment, even if the transmitting device 110 does not have the functions of LaunchTime and TimeBasedScheduling, as shown in Non-Patent Document 1, for example, it is possible to guarantee low jitter in the arrival of data (frames) at the receiving application.

[0173] According to this embodiment, low jitter in communication propagation time can be guaranteed at a layer lower than the application layer, eliminating the need for buffering processing by the receiving application and reducing the implementation cost of the receiving application.

[0174] According to this embodiment, the periodicity of the arrival time of data at the receiving application is guaranteed, so the receiving application does not need to perform frame time information confirmation processing or buffering processing, thereby reducing the load on the receiving application.

[0175] According to this embodiment, it is easy to realize efficient use of the CPU, reduction of power consumption, etc. For example, in step S704 of FIG.next By shifting the CPU to a sleep state when "waiting until" is executed, the power consumption of the receiving device can be reduced. next By allowing the CPU to be used for another process running in the receiving device 120 when the receiving device 120 is in the "wait until" state, the CPU of the receiving device 120 can be used efficiently.

[0176] <Summary of the embodiment> This specification discloses at least the receiving device, communication method, and program described in the following items. (Section 1) a communication unit that receives frames to be controlled that are periodically transmitted by a transmitting device based on transmission schedule information and frames other than the frames to be controlled; a determination unit that determines whether a frame received by the communication unit is a frame to be controlled; a delay control unit that delays the control target frame received by the communication unit until an output time of a predetermined cycle and outputs the frame to a predetermined output destination; A receiving device comprising: (Section 2) 2. The receiving device according to claim 1, wherein the delay control unit outputs, at the output time, the control target frame that the communication unit received within a control target period before the output time. (Section 3) The receiving device described in paragraph 1 or 2, wherein, when the communication unit receives multiple control-target frames within a control-target period before the output time, the delay control unit outputs the last control-target frame received by the communication unit at the output time. (Section 4) A receiving device as described in any one of paragraphs 1 to 3, wherein, when the communication unit receives multiple control-target frames within a control-target period before the output time, the delay control unit outputs or discards other control-target frames received by the communication unit without delay, the other control-target frames being different from the last control-target frame received. (Section 5) the delay control unit manages an allowable delay time that allows a delay from the output time to outputting the control target frame, the control target period includes a period from a time when the allowable delay time has elapsed from the output time immediately before the output time to the output time, A receiving device according to any one of paragraphs 2 to 4. (Section 6) The receiving device described in paragraph 1 or 2, wherein the delay control unit sequentially stores the control target frames received by the communication unit in a buffer and sequentially outputs the control target frames stored in the buffer at the output time. (Section 7) a process of receiving frames to be controlled that are periodically transmitted by a transmitting device based on transmission schedule information and frames other than the frames to be controlled; a process of determining whether the received frame is a frame to be controlled; a process of delaying the received control target frame until an output time of a predetermined cycle and outputting the frame to a predetermined output destination; The receiving device executes the communication method. (Section 8) a process of receiving frames to be controlled that are periodically transmitted by a transmitting device based on transmission schedule information and frames other than the frames to be controlled; a process of determining whether the received frame is a frame to be controlled; a process of delaying the received control target frame until an output time of a predetermined cycle and outputting the frame to a predetermined output destination; A program that causes a receiving device to execute the above.

[0177] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims. [Explanation of symbols]

[0178] 100 Communication Systems 110 Transmitting device 121 Communications Department 122 Judgment section 123 Delay control section 124 Receiving Application (Example of a Predefined Output Destination) 120 receiving device 1500 buffers

Claims

1. A communication unit that receives frames to be controlled that are periodically transmitted by a transmitting device and frames other than the frames to be controlled; a determination unit that determines whether a frame received by the communication unit is a frame to be controlled; a delay control unit that delays the control target frame received by the communication unit until an output time of a predetermined cycle and outputs the frame to a predetermined output destination; and The delay control unit managing an allowable delay time that allows a delay from the output time to outputting the frame to be controlled; performing a delay control process for outputting, at the output time, the frames to be controlled that have been received within a control period from a time when the allowable delay time has elapsed since the output time immediately preceding the output time until the output time; The delay control process is not performed on the control target frame received outside the control target period, A receiving device wherein, when the communication unit receives a plurality of the control target frames within the control target period, the control target frame that was last received among the control target frames received by the communication unit is output at the output time.

2. A communication unit that receives control target frames periodically transmitted by a transmitting device and frames other than the control target frames; a determination unit that determines whether a frame received by the communication unit is a frame to be controlled; a delay control unit that delays the control target frame received by the communication unit until an output time of a predetermined cycle and outputs the frame to a predetermined output destination; and The delay control unit managing an allowable delay time that allows a delay from the output time to outputting the frame to be controlled; performing a delay control process for outputting, at the output time, the frames to be controlled that have been received within a control period from a time when the allowable delay time has elapsed since the output time immediately preceding the output time until the output time; The delay control process is not performed on the control target frame received outside the control target period, A receiving device in which, when the communication unit receives multiple control-target frames within the control period, other control-target frames received by the communication unit that are different from the last received control-target frame are output without delay or discarded.

3. a receiving process for receiving frames to be controlled that are periodically transmitted by a transmitting device and frames other than the frames to be controlled; a process of determining whether the received frame is a frame to be controlled; a process of delaying the received control target frame until an output time of a predetermined cycle and outputting the frame to a predetermined output destination; The receiving device executes The output process includes: managing an allowable delay time that allows a delay from the output time to outputting the frame to be controlled; performing a delay control process for outputting, at the output time, the frames to be controlled that have been received within a control period from a time when the allowable delay time has elapsed since the output time immediately preceding the output time until the output time; The delay control process is not performed on the control target frame received outside the control target period, A communication method in which, when multiple control target frames are received during the control target period in the reception process, the last control target frame received in the reception process is output at the output time.

4. A receiving process for receiving frames to be controlled that are periodically transmitted by a transmitting device and frames other than the frames to be controlled; a process of determining whether the received frame is a frame to be controlled; a process of delaying the received control target frame until an output time of a predetermined cycle and outputting the frame to a predetermined output destination; The receiving device executes The output process includes: managing an allowable delay time that allows a delay from the output time to outputting the frame to be controlled; performing a delay control process for outputting, at the output time, the frames to be controlled that have been received within a control period from a time when the allowable delay time has elapsed since the output time immediately preceding the output time until the output time; The delay control process is not performed on the control target frame received outside the control target period, A communication method in which, when multiple control-target frames are received during the control period in the receiving process, other control-target frames received during the receiving process that are different from the last control-target frame are output without delay or discarded.

5. a receiving process for receiving frames to be controlled that are periodically transmitted by a transmitting device and frames other than the frames to be controlled; a process of determining whether the received frame is a frame to be controlled; a process of delaying the received control target frame until an output time of a predetermined cycle and outputting the frame to a predetermined output destination; causing the receiving device to execute The output process includes: managing an allowable delay time that allows a delay from the output time to outputting the frame to be controlled; performing a delay control process for outputting, at the output time, the frames to be controlled that have been received within a control period from a time when the allowable delay time has elapsed since the output time immediately preceding the output time until the output time; The delay control process is not performed on the control target frame received outside the control target period, When the reception process receives a plurality of control target frames within the control target period, the program outputs the last control target frame received among the control target frames received in the reception process at the output time.

6. A receiving process for receiving frames to be controlled that are periodically transmitted by a transmitting device and frames other than the frames to be controlled; a process of determining whether the received frame is a frame to be controlled; a process of delaying the received control target frame until an output time of a predetermined cycle and outputting the frame to a predetermined output destination; causing the receiving device to execute The output process includes: managing an allowable delay time that allows a delay from the output time to outputting the frame to be controlled; performing a delay control process for outputting, at the output time, the frames to be controlled that have been received within a control period from a time when the allowable delay time has elapsed since the output time immediately preceding the output time until the output time; The delay control process is not performed on the control target frame received outside the control target period, When the receiving process receives multiple control target frames within the control target period, the program outputs or discards, without delay, other control target frames received in the receiving process that are different from the last received control target frame.

Citation Information

Patent Citations

  • Packet relaying apparatus and program

    JP2011147068A

  • Relay device

    JP2015115704A