WO2020136843A1 - 中継装置、中継方法及び中継プログラム - Google Patents

中継装置、中継方法及び中継プログラム Download PDF

Info

Publication number
WO2020136843A1
WO2020136843A1 PCT/JP2018/048311 JP2018048311W WO2020136843A1 WO 2020136843 A1 WO2020136843 A1 WO 2020136843A1 JP 2018048311 W JP2018048311 W JP 2018048311W WO 2020136843 A1 WO2020136843 A1 WO 2020136843A1
Authority
WO
WIPO (PCT)
Prior art keywords
time slot
range
slot range
set time
unit
Prior art date
Application number
PCT/JP2018/048311
Other languages
English (en)
French (fr)
Inventor
敏典 堀
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2018/048311 priority Critical patent/WO2020136843A1/ja
Priority to JP2020558646A priority patent/JP6827607B2/ja
Priority to TW108119304A priority patent/TW202025653A/zh
Publication of WO2020136843A1 publication Critical patent/WO2020136843A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints

Definitions

  • the present invention relates to data communication.
  • Data communication is required to have low delay and low jitter (maintain the punctuality of frame input/output timing).
  • traffic of various priorities is mixed, so that realization of low-delay and low-jitter data communication is an issue.
  • IEEE802.1Qbv Non-Patent Document 1
  • a gate is provided at each exit of a plurality of transmission queues of a network device that transfers an Ethernet (registered trademark) frame.
  • the gate for transmitting the frame is opened, and the close for keeping the frame in the transmission queue is assigned, and this is periodically repeated.
  • This procedure allows the network device to transmit the frame with low jitter. Further, when the network device and the terminal connected to the network device are time-synchronized, the terminal can perform frame transmission in synchronization with the timing when the gate is opened, which enables low-delay data communication. Therefore, IEEE802.1Qbv is expected to be applied to a network such as FA (Factor Automation) that requires real-time performance.
  • FA Vector Automation
  • the control cycle is on the order of ⁇ s, and when the delay time is measured and the time slot is assigned as in Patent Document 1, the communication for correcting the gate open/close timing is performed. It occurs frequently and consumes communication bandwidth.
  • the main purpose of the present invention is to be able to correct the timing of data communication without consuming the communication band even when the time synchronization is deviated.
  • the relay device is A set time slot range that is a range of time slots set for carrying out data relaying among a plurality of time slots constituting a communication cycle, and the data relaying was actually carried out among the plurality of time slots.
  • a comparison unit that compares the implementation time slot range, which is the time slot range, Depending on the result of the comparison by the comparison unit, a determination unit that determines whether to correct the set time slot range in the subsequent communication cycle, When the determination unit determines to correct the set time slot range in the subsequent communication cycle, the correction unit corrects the set time slot range in the subsequent communication cycle based on the implementation time slot range.
  • the timing of data communication can be corrected without consuming the communication band even when the time synchronization is deviated.
  • FIG. 3 is a diagram showing a configuration example of a communication system according to the first embodiment.
  • FIG. 3 is a diagram showing a hardware configuration example of a relay station according to the first embodiment.
  • FIG. 3 is a diagram showing a functional configuration example of a relay station according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of the number of received frames for each time slot according to the first embodiment.
  • FIG. 5 is a diagram showing an example of the number of received frames for each time slot according to the first embodiment.
  • FIG. 6 is a diagram showing an example of the number of transmission frames for each time slot according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • FIG. 5 is a diagram showing an example of correction of a set time slot range according to the first embodiment.
  • 3 is a flowchart showing an operation example of the relay station according to the first embodiment.
  • FIG. 1 shows a configuration example of a communication system according to the present embodiment.
  • the communication system includes one master station 100 that is a control device, slave station (1) 201, slave station (2) 202 to slave station (N) 203 that are controlled devices, and a master station.
  • the relay station 300 connects 100 to the slave station (1) 201 and the slave stations (2) 202 to 203 (N) 203.
  • the slave station (1) 201, the slave station (2) 202 to the slave station ( N) 203 is collectively referred to as a slave station 200.
  • the relay station 300 corresponds to a relay device.
  • the operation performed by the relay station 300 corresponds to a relay method and a relay program.
  • the master station 100 is connected to the communication interface [0] of the relay station 300.
  • the slave station (1) 201 is connected to the communication interface [1] of the relay station 300.
  • the slave station (2) 202 is connected to the communication interface [2] of the relay station 300.
  • the slave station (N) 203 is assumed to be connected to the communication interface [N] of the relay station 300.
  • the master station 100 also periodically transmits frames to the slave station 200.
  • the slave station 200 periodically transmits a frame to the master station 100. More specifically, the master station 100 transmits a frame to the slave station 200 in any one of a plurality of time slots forming a communication cycle. In addition, the slave station 200 transmits the frame in any one of the plurality of time slots.
  • the communication cycle arrives repeatedly.
  • FIG. 2 shows a hardware configuration example of the relay station 300 according to this embodiment.
  • Relay station 300 is a computer.
  • the relay station 300 includes, as hardware, a processor 901, a storage device 902, a timer 903, a communication interface [0]904, and a communication interface [1]905 to a communication interface [N]906.
  • the processor 901 performs arithmetic processing and determination processing. More specifically, the processor 901 executes the reception unit 301, the comparison unit 303, the determination unit 304, the correction unit 305, the transmission time management unit 306, and the transmission unit 307 illustrated in FIG. Details of the reception unit 301, the comparison unit 303, the determination unit 304, the correction unit 305, the transmission time management unit 306, and the transmission unit 307 will be described later.
  • the storage device 902 stores programs that implement the functions of the reception unit 301, the comparison unit 303, the determination unit 304, the correction unit 305, the transmission time management unit 306, and the transmission unit 307.
  • the processor 901 executes these programs to perform the operations of the reception unit 301, the comparison unit 303, the determination unit 304, the correction unit 305, the transmission time management unit 306, and the transmission unit 307.
  • FIG. 2 schematically shows a state in which the processor 901 executes a program that realizes the functions of the receiving unit 301, the comparing unit 303, the determining unit 304, the correcting unit 305, the transmission time management unit 306, and the transmitting unit 307. There is.
  • the storage device 902 also stores the number of frames received for each time slot.
  • the timer 903 measures time for managing time slots.
  • the communication interface [0] 904 and the communication interface [1] 905 to the communication interface [N] 906 are connected to the master station 100 or the slave station 200, respectively.
  • FIG. 3 shows a functional configuration example of relay station 300 according to the present embodiment.
  • the relay station 300 includes a reception unit 301, a storage unit 302, a comparison unit 303, a determination unit 304, a correction unit 305, a transmission time management unit 306, and a transmission unit 307.
  • the receiving unit 301 receives a frame from the master station 100 or the slave station 200. Further, the receiving unit 301 counts the number of frames received for each time slot.
  • the storage unit 302 stores the number of frames received by the reception unit 301 for each time slot. Further, the storage unit 302 may store the number of frames transmitted for each time slot counted by the transmission unit 307. The storage unit 302 also stores a set time slot range described later.
  • the comparison unit 303 compares the set time slot range with the implementation time slot range.
  • the set time slot range is a range of time slots set for performing data relay.
  • the transmitting unit 307 transmits the frame received by the receiving unit 301 within the set time slot range to the relay destination within the set time slot range.
  • the transmission unit 307 transmits the frame received by the reception unit 301 in the time slot that is not within the set time slot range to the relay destination within the next set time slot range.
  • the comparison unit 303 can use the range of time slots in which data relay has been performed in the past communication cycle among the plurality of time slots as the set time slot range.
  • the implementation time slot range is a range of time slots in which data relay is actually performed among a plurality of time slots.
  • the implementation time slot range is a range of time slots in which the frame is received by the receiving unit 301 and the frame is transmitted to the relay destination by the transmitting unit 307 among the plurality of time slots.
  • the process performed by the comparison unit 303 corresponds to the comparison process.
  • the determination unit 304 determines whether to correct the set time slot range in the subsequent communication cycle according to the comparison result of the comparison unit 303. For example, when it is determined as a result of the comparison by the comparison unit 303 that a difference of a threshold value or more occurs between the set time slot range and the implementation time slot range, the determination unit 304 determines that the set time in the subsequent communication cycle is set. It is determined to correct the slot range. In addition, for example, when it is determined that the set time slot range and the implementation time slot range are deviated by a threshold value or more in a plurality of communication cycles, the comparison unit 303 sets the set time slot in the subsequent communication cycle. It is determined to correct the range. The process performed by the determination unit 304 corresponds to the determination process.
  • the correction unit 305 corrects the set time slot range in the subsequent communication cycle based on the implementation time slot range. For example, the correction unit 305 corrects the set time slot range in the subsequent communication cycle to the same range as the implementation time slot range.
  • the process performed by the correction unit 305 corresponds to the correction process.
  • the transmission time management unit 306 manages time slots.
  • the transmitting unit 307 transmits the frame received by the receiving unit 301 to the relay destination. Further, the transmission unit 307 may count the number of frame transmissions for each time slot. The transmission unit 307 does not have to count the number of frame transmissions for each time slot.
  • relay station 300 ***Description of operation*** Next, an operation example of relay station 300 according to the present embodiment will be described.
  • the master station 100, the slave station 200, and the relay station 300 are assumed to be time-synchronized in advance. Also, it is assumed that the master station 100, the slave station 200, and the relay station 300 have default values of the length of the time slot.
  • the master station 100 is assumed to periodically transmit frames at the same timing.
  • the slave station 200 also periodically transmits frames at the same timing.
  • the relay station 300 transmits the frame received within the set time slot range to the relay destination within the set time slot range.
  • relay station 300 transmits a frame received in a time slot that is not within the set time slot range to the relay destination within the next set time slot range. Further, the relay station 300 sets the time when the time is synchronized with the master station 100, which is the master of time synchronization, as the processing start time.
  • FIG. 4 shows an example of frame reception timing. More specifically, FIG. 4 shows the timing of receiving a frame from the master station 100 at the communication interface [0] in the Nth communication cycle. Further, FIG. 4 shows a timing of receiving a frame from the slave station (1) 201 in the communication interface [1]. Further, FIG. 4 shows a timing of receiving a frame from the slave station (2) 202 in the communication interface [2]. Further, FIG. 4 shows a timing of receiving a frame from the slave station (N) 203 at the communication interface [N].
  • the communication cycle is composed of 16 time slots. For example, in the first to eighth time slots, communication of a priority frame, which is a high priority frame, is performed.
  • low priority frames which are low priority frames
  • the master station 100, the slave station 200, and the relay station 300 store that priority frames are transmitted and received in the first to eighth time slots.
  • the first to eighth time slots in which priority frame communication is performed correspond to the set time slot range. That is, in FIG. 4, the range of the black background corresponds to the set time slot range.
  • the reception of the frame in the set time slot range will be mainly described, but as described above, the frame received in the set time slot range is transmitted to the relay destination in the set time slot range. That is, in the following, when reference is made to the reception of a frame in the set time slot range, it is assumed that the transmission of the frame in the set time slot range has occurred even if not explicitly stated.
  • reception section 301 counts the number of frames received in the first communication cycle after the start of processing, for each time slot, for each transmission source, and the counting result is stored in storage section. Save in 302.
  • the receiving unit 301 counts only the number of received priority frames. Also, the receiving unit 301 counts the number of received priority frames for each transmission source for each time slot even in the second and subsequent communication cycles, and stores the counting result in the storage unit 302.
  • FIG. 5 shows the counting result of the number of frames received by the communication interface [0] and the communication interface [1] in the Nth communication cycle.
  • FIG. 6 shows the result of counting the number of frames received by the communication interface [2] and the communication interface [3] in the Nth communication cycle.
  • FIG. 8 shows the counting process of the number of frames received by the receiving unit 301.
  • step S101 the receiving unit 301 determines whether or not the current timing is the time slot update timing. If the present time is the time slot update timing (YES in step S101), the process proceeds to step S106. Details of step S106 will be described later. On the other hand, if the present time is not the time slot update timing (NO in step S101), the process proceeds to step S102.
  • step S102 the receiving unit 301 determines whether a frame has been received. When the receiving unit 301 receives the frame (YES in step S102), the process proceeds to step S103. On the other hand, if the receiving unit 301 has not received the frame (NO in step S102), the process returns to step S101.
  • step S103 the receiving unit 301 determines whether the received frame is a priority frame (step S103). If the received frame is the priority frame (YES in step S103), the process proceeds to step S104. On the other hand, if the received frame is not the priority frame (NO in step S103), the process returns to step S101.
  • step S104 the receiving unit 301 identifies the transmission source of the received frame.
  • step S105 the receiving unit 301 increments the number of received frames of the corresponding transmission source. That is, the receiving unit 301 manages the number of frames received in the current time slot for each source, and increments the number of frames received by the source identified in step S104 by one. Then, the process returns to step S101.
  • step S106 the reception unit 301 stores information on the number of received frames having the same slot number as the slot number of the current time slot in the storage unit 302. It is determined whether or not it has been done. For example, if the current time slot is the first time slot in FIG. 4, it is determined whether or not information on the number of frames received in the first time slot in the previous communication cycle is stored in the storage unit 302. When the information about the number of received frames having the same slot number as the slot number of the current time slot is not stored in the storage unit 302 (NO in step S106), the receiving unit 301 determines in step S107 the number of received frames of the current time slot.
  • the receiving unit 301 determines in step S108 that the frame of the current time slot is received.
  • the information on the number of receptions is stored in the storage unit 302 for comparison with the information on the first communication cycle.
  • the information on the number of received frames stored in the storage unit 302 in step S107 is used as information indicating the set time slot range.
  • the information on the number of received frames stored in the storage unit 302 in step S108 is used as information indicating the implementation time slot range.
  • the information stored in the storage unit 302 in step S107 and the information stored in the storage unit 302 in step S108 are deleted when the relay station 300 is time-synchronized with the master station 100.
  • the receiving unit 301 performs the processing illustrated in FIG. 8 in parallel for each communication interface for each time slot. As a result, the receiving unit 301 can obtain the information on the number of received frames shown in FIGS. 5 and 6. Further, the receiving unit 301 repeats the processing shown in FIG. The receiving unit 301 may perform the processing illustrated in FIG. 8 for each communication cycle, or may perform the processing once for a plurality of communication cycles.
  • the transmission unit 307 may count the number of transmissions of the priority frame transmitted in the first communication cycle at the start of processing, for each time slot and for each transmission source.
  • the transmission unit 307 may store information on the number of transmitted priority frames transmitted in the first communication cycle in the storage unit 302.
  • the counting process of the number of frame transmissions by the transmitting unit 307 is based on the process of FIG. Specifically, the “frame received?” in step S102 in FIG. 8 is replaced with “frame transmitted?”. Further, “specify the transmission source” in step S104 is read as “specify the transmission destination”. Further, “increment the number of received frames of the corresponding transmission source” in step S105 is read as “increment the number of transmitted frames of the corresponding transmission destination”.
  • FIG. 7 shows the counting result of the number of frame transmissions in the communication interface [0] in the Nth communication cycle. If the transmission timing of the priority frame is known at the time of system design, the processing described in this paragraph can be omitted.
  • FIG. 9 shows an operation example of the comparison unit 303, an operation example of the determination unit 304, and an operation example of the correction unit 305.
  • the comparison unit 303 stores the number of received frames (set time slot range) stored in the storage unit 302 in the first communication cycle and the number of received frames (set time slot range) stored in the storage unit 302 in the immediately previous communication cycle. To compare. For example, with respect to frame reception from the master station 100, the comparison unit 303 obtains a cross-correlation value between the number of frame receptions in the first communication cycle and the number of frame receptions in the immediately previous communication cycle. The comparison unit 303 saves the comparison result in an arbitrary storage area.
  • step S202 the determination unit 304 determines, based on the comparison result (cross-correlation value) of the comparison unit 303, the difference between the number of frames received in the first communication cycle and the number of frames received in the immediately previous communication cycle. To detect. As a result, the determination unit 304 detects whether the current reception timing of the frame from the master station 100 is earlier or later than the first communication cycle, or is swaying back and forth. be able to.
  • the determination unit 304 determines whether or not the deviation detected in step S202 is equal to or more than a threshold value. That is, the determination unit 304 determines whether or not the set time slot range and the implementation time slot range deviate by a threshold value or more.
  • the threshold is, for example, one time slot. In the example of FIG. 4, when the frame is received in the 16th time slot of the previous communication cycle, or when the frame is received in the 9th time slot, the reception timing of the frame is the set time slot range. Since it is shifted by one time slot from, a shift of a threshold value or more has occurred.
  • step S202 If the deviation detected in step S202 is equal to or greater than the threshold value (YES in step S203), the determination unit 304 stores the identifier of the corresponding station in an arbitrary storage area in step S204. On the other hand, when the deviation detected in step S202 is less than the threshold value (NO in step S203), the determination unit 304 determines in step S205 whether or not the processes of step S201 and subsequent steps have been performed for all the stations. If there is a station that has not been processed after step S201 (NO in step S205), the comparison unit 303 performs the process of step S201 for the corresponding station. On the other hand, if the processes from step S201 are performed on all the stations (master station 100 and all slave stations 200) (YES in step S205), the process proceeds to step S205.
  • step S205 the determination unit 304 determines whether or not there is a station whose identifier is stored in the storage area in step S204. If there is a station whose identifier is stored in the storage area in step S204 (YES in step S206), that is, if there is a station in which the set time slot range and the implementation time slot range are more than the threshold value, the determination unit 304 Determines the correction process by the correction unit 305. On the other hand, if there is no station whose identifier is stored in the storage area in step S204 (NO in step S206), the process ends.
  • step S207 the correction unit 305 corrects the set time slot range according to the deviation detected in step S202. That is, the correction unit 305 corrects the set time slot range in the subsequent communication cycle to the same range as the implementation time slot range.
  • FIG. 10 and FIG. 11 show correction examples of the correction unit 305 when the frame reception timing is shifted forward.
  • priority frame communication is performed in the first to eighth time slots. That is, the range of the first to the eighth time slots is the set time slot range.
  • the correction unit 305 sets the 16th time slot to open in the next communication cycle. That is, as shown in FIG. 11, the correction unit 305 corrects the set time slot range to the range of the 16th to 8th time slots.
  • the black range represents the set time slot range. Further, in the example of FIG.
  • the correction unit 305 may exclude the eighth time slot from the set time slot range.
  • the 16th time slot is immediately added to the new set time slot range.
  • the correction unit 305 includes the 16th time slot.
  • the set time slot range may be corrected.
  • the correction unit 305 corrects the set time slot range so that the eighth time slot is not included. Good.
  • FIG. 12 and 13 show correction examples of the correction unit 305 when the frame reception timing is shifted backward.
  • priority frame communication is performed in the first to eighth time slots. That is, the range of the first to the eighth time slots is the set time slot range.
  • the correction unit 305 sets the ninth time slot to open in the next communication cycle. That is, the correction unit 305 corrects the set time slot range to the range of the first to ninth time slots, as shown in FIG.
  • the black range represents the set time slot range.
  • the 9th time slot is immediately added to the new set time slot range.
  • the correction unit 305 sets the 9th time slot to be included.
  • the set time slot range may be corrected.
  • FIG. 14 and 15 show correction examples of the correction unit 305 when the frame reception timing is shifted to the front and the back.
  • priority frame communication is performed in the first to eighth time slots. That is, the range of the first to the eighth time slots is the set time slot range.
  • the correction unit 305 sets the 16th time slot and the 9th time slot to open in the next communication cycle. That is, as shown in FIG. 14, the correction unit 305 corrects the set time slot range to the range of the 16th to 9th time slots.
  • FIG. 16 shows an operation example of the correction unit 305 and an operation example of the transmission time management unit 306.
  • step S301 the correction unit 305 adds the time slot to be added to the set time slot range.
  • the 16th time slot is the time slot to be added.
  • the correction unit 305 adds the 16th time slot to be added to the set time slot range.
  • step S302 the correction unit 305 determines whether or not the set time slot range has been corrected so that all the deviations can be absorbed. For example, in the example of FIG. 14, adding the 16th time slot to the set time slot range alone cannot absorb the shift in the 9th time slot. Therefore, in this case, "NO" is obtained in the determination in step S302.
  • step S303 the time slot to be deleted is deleted from the set time slot range.
  • the correction unit 305 deletes the eighth time slot from the set time slot range. To do.
  • step S304 the transmission time management unit 306 changes the time slot number.
  • the transmission time management unit 306 determines that the new set time slot range is the first set time slot range. Renumber timeslots to start at timeslot.
  • the new set time slot range is from the first time slot (16th time slot before change) to the 10th time slot (9th time slot before change).
  • the number of the time slot in which the master station 100 transmits the frame is fixed, so that it is not necessary to adjust the time slot number when the master station 100 and the relay station 300 are resynchronized.
  • the transmission time management unit 306 overwrites the information of the set time slot range before correction with the set time slot range after correction in the storage unit 302. For example, in the example of FIG. 15, the information on the first to eighth time slots, which is the information on the set time slot range before correction, is overwritten on the information on the first to tenth time slots. Note that the transmission time management unit 306 leaves the information of the frame transmission order in the storage unit 302 as it is, even when rewriting the information of the set time slot range. For example, it is assumed that it is specified to transmit to the master station 100 in the order of the frame from the slave station (1) 201, the frame from the slave station (2) 202, and the frame from the slave station (N) 203. .. In the frame reception example of FIG.
  • the frame from the slave station (1) 201 and the frame from the slave station (2) 202 are received in the third time slot.
  • the frame from the slave station (2) 202 received in the same third time slot precedes the frame from the slave station (1) 201 to the master station. It may happen that the data is sent to 100. Therefore, the transmission time management unit 306 rewrites the information of the set time slot range and changes the time slot number so that the frame transmission order is performed according to the regulation. Leave the information as is.
  • the processor 901 illustrated in FIG. 2 is an IC (Integrated Circuit) that performs processing.
  • the processor 901 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like.
  • the storage device 902 illustrated in FIG. 2 is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an HDD (Hard Disk Drive), or the like.
  • the communication interface [0] 904 to the communication interface [N] 906 illustrated in FIG. 2 are electronic circuits that execute data communication processing.
  • the communication interface [0] 904 to the communication interface [N] 906 are, for example, a communication chip or a NIC (Network Interface Card).
  • the storage device 902 also stores an OS (Operating System). Then, at least part of the OS is executed by the processor 901.
  • the processor 901 executes a program that implements the functions of the reception unit 301, the comparison unit 303, the determination unit 304, the correction unit 305, the transmission time management unit 306, and the transmission unit 307 while executing at least a part of the OS.
  • the processor 901 executes the OS, task management, memory management, file management, communication control, etc. are performed.
  • At least one of information, data, a signal value, and a variable value indicating the processing result of the receiving unit 301, the comparing unit 303, the determining unit 304, the correcting unit 305, the transmission time management unit 306, and the transmitting unit 307 is a storage device. 902, a register in the processor 901, and/or a cache memory.
  • programs that realize the functions of the receiving unit 301, the comparing unit 303, the determining unit 304, the correcting unit 305, the transmission time management unit 306, and the transmitting unit 307 include magnetic disks, flexible disks, optical disks, compact disks, and Blu-ray (registered trademark). ) It may be stored in a portable recording medium such as a disc or a DVD.
  • the “section” of the reception section 301, the comparison section 303, the determination section 304, the correction section 305, the transmission time management section 306, and the transmission section 307 is read as “circuit” or “process” or “procedure” or “processing”. May be.
  • the relay station 300 may be realized by a processing circuit.
  • the processing circuit is, for example, a logic IC (Integrated Circuit), a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array).
  • the superordinate concept of the processor and the processing circuit is referred to as “processing circuit”. That is, each of the processor and the processing circuit is a specific example of “processing circuit”.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

比較部(303)は、通信周期を構成する複数のタイムスロットのうちデータ中継の実施のために設定されているタイムスロットの範囲である設定タイムスロット範囲と、複数のタイムスロットのうち実際にデータ中継が実施されたタイムスロットの範囲である実施タイムスロット範囲とを比較する。判定部(304)は、比較部(303)による比較の結果に応じて、後の通信周期における設定タイムスロット範囲を補正するか否かを判定する。補正部(305)は、判定部(304)により後の通信周期における設定タイムスロット範囲を補正することが判定された場合に、後の通信周期における設定タイムスロット範囲を実施タイムスロット範囲に基づいて補正する。

Description

中継装置、中継方法及び中継プログラム
 本発明は、データ通信に関する。
 データ通信では低遅延かつ低ジッタ(フレームの入着タイミングの定時性を維持すること)であることが求められる。特に、制御機器と複数の被制御機器を中継局を介してネットワークで接続するシステムでは、様々な優先度のトラフィックが混在するため、低遅延かつ低ジッタのデータ通信の実現が課題である。
 低遅延かつ低ジッタのデータ通信を実現する方法として、IEEE802.1Qbvに記載の方法がある(非特許文献1)。IEEE802.1Qbvでは、イーサネット(登録商標)フレームを転送するネットワーク装置の複数の送信キューの各々の出口にゲートが設けられる。そして、タイムスロットごとにフレームを送信するゲートのオープンと、フレームを送信キュー内に留めておくクローズを割り当て、これを周期的に繰り返す。この手順により、ネットワーク装置はフレームを低ジッタで送信することができる。また、ネットワーク装置とネットワーク装置に接続される端末間で時刻同期していると、端末はゲートがオープンするタイミングに合わせてフレーム送信ができるため、低遅延なデータ通信が可能となる。そのため、IEEE802.1QbvはFA(Factory Automation)などのリアルタイム性が要求されるネットワークへの適用が期待されている。
 各機器の動作クロックに偏差がある場合には、徐々に機器間のゲートのオープン及びクローズのタイミングがずれ、IEEE802.1Qbvの方法によっても、低遅延かつ低ジッタのデータ通信を実現することが困難になる。このような各機器の動作クロックに偏差がある場合は、定期的な時刻同期により動作クロックを補正することで対処可能である。また、特許文献1のように、タイムスロットの通信においてエンド・ツー・エンドの機器で遅延時間を計測し、計測結果に基づきタイムスロットの割当を決定することで、ゲートのオープン、クローズのタイミングを補正することもできる。
特開2000-269882号公報
IEEE Standard for Local and metropolitan area networks Bridges and Bridged Networks Amendment 25: Enhancements for Scheduled Traffic IEEE Std 802.1QbvTM-2015
 しかしながら、制御のための通信では制御周期がμsオーダであり、特許文献1のように遅延時間を計測し、タイムスロットを割り当てようとすると、ゲートのオープン、クローズのタイミングを補正するための通信が頻繁に発生し、通信帯域が消費される。
 本発明は、時刻同期のずれが発生した場合にも、通信帯域を消費することなく、データ通信のタイミングを補正できるようにすることを主な目的とする。
 本発明に係る中継装置は、
 通信周期を構成する複数のタイムスロットのうちデータ中継の実施のために設定されているタイムスロットの範囲である設定タイムスロット範囲と、前記複数のタイムスロットのうち実際に前記データ中継が実施されたタイムスロットの範囲である実施タイムスロット範囲とを比較する比較部と、
 前記比較部による比較の結果に応じて、後の通信周期における設定タイムスロット範囲を補正するか否かを判定する判定部と、
 前記判定部により後の通信周期における設定タイムスロット範囲を補正することが判定された場合に、後の通信周期における設定タイムスロット範囲を前記実施タイムスロット範囲に基づいて補正する補正部とを有する。
 本発明によれば、時刻同期のずれが発生した場合にも、通信帯域を消費することなく、データ通信のタイミングを補正することができる。
実施の形態1に係る通信システムの構成例を示す図。 実施の形態1に係る中継局のハードウェア構成例を示す図。 実施の形態1に係る中継局の機能構成例を示す図。 実施の形態1に係る設定タイムスロット範囲の例を示す図。 実施の形態1に係るタイムスロットごとの受信フレーム数の例を示す図。 実施の形態1に係るタイムスロットごとの受信フレーム数の例を示す図。 実施の形態1に係るタイムスロットごとの送信フレーム数の例を示す図。 実施の形態1に係る中継局の動作例を示すフローチャート。 実施の形態1に係る中継局の動作例を示すフローチャート。 実施の形態1に係る設定タイムスロット範囲の補正例を示す図。 実施の形態1に係る設定タイムスロット範囲の補正例を示す図。 実施の形態1に係る設定タイムスロット範囲の補正例を示す図。 実施の形態1に係る設定タイムスロット範囲の補正例を示す図。 実施の形態1に係る設定タイムスロット範囲の補正例を示す図。 実施の形態1に係る設定タイムスロット範囲の補正例を示す図。 実施の形態1に係る中継局の動作例を示すフローチャート。
 以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
 実施の形態1.
***構成の説明***
 図1は、本実施の形態に係る通信システムの構成例を示す。
 本実施の形態に係る通信システムは、制御機器である1つの親局100と、被制御機器である子局(1)201、子局(2)202~子局(N)203と、親局100と子局(1)201、子局(2)202~子局(N)203とを接続する中継局300で構成される。
 なお、以下では、子局(1)201、子局(2)202~子局(N)203を区別する必要がなければ、子局(1)201、子局(2)202~子局(N)203をまとめて子局200と表記する。
 また、中継局300は、中継装置に相当する。また、中継局300で行われる動作は、中継方法及び中継プログラムに相当する。
 親局100は中継局300の通信インターフェース[0]に接続するものとする。また、子局(1)201は中継局300の通信インターフェース[1]に接続するものとする。子局(2)202は中継局300の通信インターフェース[2]に接続するものとする。子局(N)203は中継局300の通信インターフェース[N]に接続しているものとする。
 また、親局100は子局200に周期的にフレームを送信する。また、子局200は、親局100に周期的にフレームを送信する。
 より具体的には、親局100は子局200に、通信周期を構成する複数のタイムスロットのうちのいずれかのタイムスロットでフレームを送信する。また、子局200は、当該複数のタイムスロットのうちのいずれかのタイムスロットでフレームを送信する。通信周期は繰り返し到来する。
 図2は、本実施の形態に係る中継局300のハードウェア構成例を示す。
 本実施の形態に係る中継局300は、コンピュータである。
 中継局300は、ハードウェアとして、プロセッサ901、記憶装置902、タイマ903及び通信インターフェース[0]904、通信インターフェース[1]905~通信インターフェース[N]906を備える。
 プロセッサ901は、演算処理及び判定処理を行う。より具体的には、プロセッサ901は、図3に示す受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307を実行する。受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の詳細は後述する。
 記憶装置902には、受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の機能を実現するプログラムが記憶されている。プロセッサ901がこれらプログラムを実行して、受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の動作を行う。
 図2では、プロセッサ901が受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の機能を実現するプログラムを実行している状態を模式的に表している。
 また、記憶装置902は、タイムスロットごとにフレームの受信数を記憶する。
 タイマ903は、タイムスロットの管理のために時間を計測する。
 通信インターフェース[0]904、通信インターフェース[1]905~通信インターフェース[N]906は、それぞれ、親局100又は子局200と接続する。
 図3は、本実施の形態に係る中継局300の機能構成例を示す。
 中継局300は、受信部301、記憶部302、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307で構成される。
 受信部301は、親局100又は子局200からフレームを受信する。
 また、受信部301は、タイムスロットごとに、フレームの受信数を計数する。
 記憶部302は、受信部301により計数されたタイムスロットごとのフレームの受信数を記憶する。また、記憶部302は、送信部307により計数されたタイムスロットごとのフレームの送信数を記憶してもよい。
 また、記憶部302は、後述する設定タイムスロット範囲を記憶している。
 比較部303は、設定タイムスロット範囲と実施タイムスロット範囲とを比較する。
 設定タイムスロット範囲は、データ中継の実施のために設定されているタイムスロットの範囲である。送信部307は、設定タイムスロット範囲で受信部301により受信されたフレームは、設定タイムスロット範囲内で中継先に送信する。一方、送信部307は、設定タイムスロット範囲ではないタイムスロットで受信部301により受信されたフレームは、次の設定タイムスロット範囲で中継先に送信する。比較部303は、複数のタイムスロットのうち過去の通信周期においてデータ中継が実施されたタイムスロットの範囲を、設定タイムスロット範囲として用いることができる。
 実施タイムスロット範囲は、複数のタイムスロットのうち実際にデータ中継が実施されたタイムスロットの範囲である。つまり、実施タイムスロット範囲は、複数のタイムスロットのうち、受信部301によりフレームが受信され、送信部307によりフレームが中継先に送信されたタイムスロットの範囲である。
 比較部303により行われる処理は、比較処理に相当する。
 判定部304は、比較部303の比較の結果に応じて、後の通信周期における設定タイムスロット範囲を補正するか否かを判定する。
 例えば、比較部303による比較の結果、設定タイムスロット範囲と実施タイムスロット範囲との間に閾値以上のずれが生じていることが判明した場合に、判定部304は、後の通信周期における設定タイムスロット範囲を補正すると判定する。
 また、比較部303は、例えば、複数の通信周期で設定タイムスロット範囲と実施タイムスロット範囲との間に閾値以上のずれが生じていることが判明した場合に、後の通信周期における設定タイムスロット範囲を補正すると判定する。
 判定部304により行われる処理は、判定処理に相当する。
 補正部305は、判定部304により後の通信周期における設定タイムスロット範囲を補正することが判定された場合に、後の通信周期における設定タイムスロット範囲を実施タイムスロット範囲に基づいて補正する。
 例えば、補正部305は、後の通信周期における設定タイムスロット範囲を、実施タイムスロット範囲と同じ範囲に補正する。
 補正部305により行われる処理は、補正処理に相当する。
 送信時刻管理部306は、タイムスロットを管理する。
 送信部307は、受信部301により受信されたフレームを、中継先に送信する。
 また、送信部307は、タイムスロットごとに、フレームの送信数を計数してもよい。送信部307は、タイムスロットごとに、フレームの送信数を計数しなくてもよい。
***動作の説明***
 次に、本実施の形態に係る中継局300の動作例を説明する。
 なお、親局100、子局200、中継局300は予め時刻同期しているものとする。また、親局100、子局200、中継局300には、タイムスロットの長さのデフォルト値が設定されているものとする。親局100は、周期的に同一タイミングでフレームを送信するものとする。同様に、子局200も、周期的に同一タイミングでフレームを送信するものとする。中継局300は、前述のように、設定タイムスロット範囲で受信したフレームは、設定タイムスロット範囲内で中継先に送信する。一方、中継局300は、設定タイムスロット範囲ではないタイムスロットで受信したフレームは、次の設定タイムスロット範囲で中継先に送信する。
 また、中継局300は時刻同期のマスタとなる親局100と時刻同期した時点を処理の開始時刻とする。
 図4は、フレーム受信タイミングの例を示す。
 より詳細には、図4は、N番目の通信周期における通信インターフェース[0]での親局100からのフレームの受信タイミングを示す。また、図4は、通信インターフェース[1]での子局(1)201からのフレームの受信タイミングを示す。また、図4は、通信インターフェース[2]での子局(2)202からのフレームの受信タイミングを示す。また、図4は、通信インターフェース[N]での子局(N)203からのフレームの受信タイミングを示す。
 図4の例では、通信周期は16個のタイムスロットで構成される。例えば、1番目から8番目のタイムスロットでは、高優先のフレームである優先フレームの通信が行われる。また、9番目から16番目のスロットでは、低優先のフレームである非優先フレームの通信が行われる。つまり、親局100、子局200、中継局300では、1番目から8番目のタイムスロットで優先フレームの送受信を行うことを記憶している。
 なお、本実施の形態では、優先フレームの通信が行われる1番目から8番目のタイムスロットが、設定タイムスロット範囲に相当する。つまり、図4において黒地の範囲が設定タイムスロット範囲に相当する。
 また、以下では、主に設定タイムスロット範囲でのフレームの受信について説明するが、前述したように、設定タイムスロット範囲で受信されたフレームは設定タイムスロット範囲で中継先に送信される。つまり、以下では、設定タイムスロット範囲でのフレームの受信について言及している場合は、明示していなくても、設定タイムスロット範囲でのフレームの送信も発生しているものとする。
 本実施の形態では、はじめに、中継局300では、受信部301が、処理開始後の最初の通信周期で受信したフレーム数を、タイムスロットごとに、送信元ごとに計数し、計数結果を記憶部302に保存する。なお、本実施の形態では、受信部301は、優先フレームの受信数のみを計数する。
 また、受信部301は、2回目以降の通信周期でも、タイムスロットごとに、送信元ごとに優先フレームの受信数を計数し、計数結果を記憶部302に保存する。
 図5は、N番目の通信周期における、通信インターフェース[0]及び通信インターフェース[1]でのフレーム受信数の計数結果を示す。
 図6は、N番目の通信周期における、通信インターフェース[2]及び通信インターフェース[3]でのフレーム受信数の計数結果を示す。
 図8は、受信部301によるフレーム受信数の計数処理を示す。
 先ず、受信部301は、ステップS101において、現在がタイムスロットの更新タイミングであるか否かを判定する。
 現在がタイムスロットの更新タイミングである場合(ステップS101でYES)は、処理がステップS106に進む。ステップS106の詳細は後述する。
 一方、現在がタイムスロットの更新タイミングではない場合(ステップS101でNO)は、処理がステップS102に進む。
 ステップS102では、受信部301は、フレームを受信したか否かを判定する。
 受信部301がフレームを受信している場合(ステップS102でYES)は、処理がステップS103に進む。一方、受信部301がフレームを受信していない場合(ステップS102でNO)は、処理がステップS101に戻る。
 ステップS103では、受信部301は、受信したフレームが優先フレームであるか否かを判定する(ステップS103)。
 受信したフレームが優先フレームである場合(ステップS103でYES)は、処理がステップS104に進む。一方、受信したフレームが優先フレームでない場合(ステップS103でNO)は、処理がステップS101に戻る。
 ステップS104では、受信部301は受信したフレームの送信元を特定する。
 次に、ステップS105において、受信部301は、該当する送信元のフレーム受信数をインクリメントする。つまり、受信部301は、現在のタイムスロットでのフレーム受信数を送信元ごとに管理しており、ステップS104で特定した送信元のフレーム受信数を1つ増加させる。
 その後、処理がステップS101に戻る。
 ステップS101において現在がタイムスロットの更新タイミングであると判定された場合は、ステップS106において、受信部301は、現タイムスロットのスロット番号と同じスロット番号のフレーム受信数の情報が記憶部302に記憶されているか否かを判定する。例えば、現タイムスロットが図4の1番目のタイムスロットであれば、以前の通信周期での1番目のタイムスロットのフレーム受信数の情報が記憶部302に記憶されているか否かを判定する。
 現タイムスロットのスロット番号と同じスロット番号のフレーム受信数の情報が記憶部302に記憶されていない場合(ステップS106でNO)は、受信部301は、ステップS107において、現タイムスロットのフレーム受信数の情報を、最初の通信周期の情報として記憶部302に保存する。
 一方、現タイムスロットのスロット番号と同じスロット番号のフレーム受信数の情報が記憶部302に記憶されている場合(ステップS106でYES)は、受信部301は、ステップS108において、現タイムスロットのフレーム受信数の情報を、最初の通信周期の情報との比較のために記憶部302に保存する。
 以下では、ステップS107で記憶部302に保存したフレーム受信数の情報は、設定タイムスロット範囲を表す情報として用いられる。また、ステップS108で記憶部302に保存したフレーム受信数の情報は、実施タイムスロット範囲を表す情報として用いられる。
 なお、ステップS107で記憶部302に保存した情報及びステップS108で記憶部302に保存した情報は、中継局300が親局100と時刻同期すると消去される。
 受信部301は、図8に示す処理を、タイムスロットごとに、各通信インターフェースについて並列して行う。
 これにより、受信部301は、図5及び図6に示すフレーム受信数の情報を得ることができる。
 また、受信部301は、図8に示す処理を繰り返し行う。
 受信部301は、図8に示す処理を、通信周期ごとに行ってもよいし、複数の通信周期に1回行うようにしてもよい。
 また、送信部307は、処理開始の最初の通信周期で送信した優先フレームの送信数を、タイムスロットごとに、送信元ごとに計数してもよい。また、送信部307は、最初の通信周期で送信された優先フレームの送信数の情報を記憶部302に保存してもよい。送信部307によるフレーム送信数の計数処理は、図8の処理に準ずる。具体的には、図8のステップS102の「フレームを受信した?」を「フレームを送信した?」に読み替える。また、ステップS104の「送信元を特定する」を「送信先を特定する」に読み替える。また、ステップS105の「該当する送信元のフレーム受信数をインクリメントする」を「該当する送信先のフレーム送信数をインクリメントする」に読み替える。
 図7は、N番目の通信周期における、通信インターフェース[0]でのフレーム送信数の計数結果を示す。
 なお、システム設計時点において優先フレームの送信タイミングが判明している場合には、本段落に記載の処理は省略することできる。
 図9は、比較部303の動作例、判定部304の動作例及び補正部305の動作例を示す。
 ステップS201では、比較部303が、最初の通信周期で記憶部302に保存したフレーム受信数(設定タイムスロット範囲)と直前の通信周期で記憶部302に保存したフレーム受信数(実施タイムスロット範囲)を比較する。
 例えば、比較部303は、親局100からのフレーム受信について、最初の通信周期でのフレーム受信数と直前の通信周期でのフレーム受信数との間の相互相関値を求める。比較部303は、比較結果を任意の記憶領領域に保存する。
 次に、ステップS202で、判定部304が、比較部303の比較結果(相互相関値)に基づき、最初の通信周期でのフレーム受信数と直前の通信周期でのフレーム受信数との間のずれを検出する。これにより、判定部304は、現在の親局100からのフレームの受信タイミングが最初の通信周期に比べて前にずれているのか、後にずれているのか、あるいは前後に揺らいでいるのかを検出することができる。
 次に、ステップS203において、判定部304は、ステップS202で検出したずれが閾値以上であるか否かを判定する。つまり、判定部304は、設定タイムスロット範囲と実施タイムスロット範囲が閾値以上ずれているか否かを判定する。閾値は、例えば、1タイムスロットである。図4の例において、前の通信周期の16番目のタイムスロットでフレームが受信されている場合、または9番目のタイムスロットでフレームが受信されている場合は、フレームの受信タイミングが設定タイムスロット範囲から1タイムスロット分ずれているので、閾値以上のずれが発生している。
 ステップS202で検出したずれが閾値以上である場合(ステップS203でYES)は、判定部304は、ステップS204において、該当する局の識別子を任意の記憶領域に保存する。
 一方、ステップS202で検出したずれが閾値未満である場合(ステップS203でNO)は、判定部304は、ステップS205において、全ての局についてステップS201以降の処理が行われたか否かを判定する。
 ステップS201以降の処理が行われていない局が存在する場合(ステップS205でNO)は、比較部303が、該当する局についてステップS201の処理を行う。
 一方、全ての局(親局100、及び全ての子局200)に対してステップS201以降の処理が行われている場合(ステップS205でYES)は、処理がステップS205に進む。
 ステップS205では、判定部304が、ステップS204で記憶領域に識別子が保存された局が存在するか否かを判定する。
 ステップS204で記憶領域に識別子が保存された局が存在する場合(ステップS206でYES)、すなわち、設定タイムスロット範囲と実施タイムスロット範囲が閾値以上ずれている局が存在する場合は、判定部304は、補正部305による補正処理を決定する。
 一方、ステップS204で記憶領域に識別子が保存された局が存在しない場合(ステップS206でNO)は、処理が終了する。
 ステップS207では、補正部305が、ステップS202で検出されたずれに従って、設定タイムスロット範囲を補正する。つまり、補正部305は、後の通信周期における設定タイムスロット範囲を、実施タイムスロット範囲と同じ範囲に補正する。
 次に、補正部305による補正処理の具体例を説明する。
 図10及び図11は、フレームの受信タイミングが前にずれている場合の補正部305の補正例を示す。
 図10では、図4と同様に、1番目から8番目のタイムスロットで優先フレームの通信が行われる。つまり、1番目から8番目のタイムスロットの範囲が設定タイムスロット範囲である。
 図10に示すように、フレームの受信タイミングが1つ前の通信周期の16番目のタイムスロットにずれたとする。
 この場合は、補正部305は、次の通信周期において16番目のタイムスロットをオープンに設定する。
 つまり、補正部305は、図11に示すように、16番目から8番目のタイムスロットの範囲に設定タイムスロット範囲を補正する。黒地の範囲が設定タイムスロット範囲を表す。
 また、図10の例では、8番目のタイムスロットでは、いずれの局からもフレームを受信していないので、補正部305は、8番目のタイムスロットを設定タイムスロット範囲から除外してもよい。
 図11の例では、16番目のタイムスロットでフレームが受信されていれば、即座に16番目のタイムスロットを新たな設定タイムスロット範囲に追加することとしている。これに代えて、16番目のタイムスロットでのフレームの受信が複数回確認された後、すなわち閾値以上のずれが複数回確認された後に、補正部305が、16番目のタイムスロットが含まれるように設定タイムスロット範囲を補正するようにしてもよい。同様に、8番目のタイムスロットでのフレームの受信がないことが複数回確認された後に、補正部305が、8番目のタイムスロットが含まれないように設定タイムスロット範囲を補正するようにしてもよい。
 図12及び図13は、フレームの受信タイミングが後ろにずれている場合の補正部305の補正例を示す。
 図12では、図4と同様に、1番目から8番目のタイムスロットで優先フレームの通信が行われる。つまり、1番目から8番目のタイムスロットの範囲が設定タイムスロット範囲である。
 図12に示すように、フレームの受信タイミングが9番目のタイムスロットにずれたとする。
 この場合は、補正部305は、次の通信周期において9番目のタイムスロットをオープンに設定する。
 つまり、補正部305は、図13に示すように、1番目から9番目のタイムスロットの範囲に設定タイムスロット範囲を補正する。黒地の範囲が設定タイムスロット範囲を表す。
 図13の例では、9番目のタイムスロットでフレームが受信されていれば、即座に9番目のタイムスロットを新たな設定タイムスロット範囲に追加することとしている。これに代えて、9番目のタイムスロットでのフレームの受信が複数回確認された、すなわち閾値以上のずれが複数回確認された後に、補正部305が、9番目のタイムスロットが含まれるように設定タイムスロット範囲を補正するようにしてもよい。
 図14及び図15は、フレームの受信タイミングが前及び後ろにずれている場合の補正部305の補正例を示す。
 図14では、図4と同様に、1番目から8番目のタイムスロットで優先フレームの通信が行われる。つまり、1番目から8番目のタイムスロットの範囲が設定タイムスロット範囲である。
 図14に示すように、フレームの受信タイミングが1つ前の通信周期の16番目のタイムスロットにずれ、更に、9番目のタイムスロットにもずれたとする。
 この場合は、補正部305は、次の通信周期において16番目のタイムスロットと9番目のタイムスロットをオープンに設定する。
 つまり、補正部305は、図14に示すように、16番目から9番目のタイムスロットの範囲に設定タイムスロット範囲を補正する。
 図16は、補正部305の動作例及び送信時刻管理部306の動作例を示す。
 ステップS301において、補正部305は、追加対象のタイムスロットを設定タイムスロット範囲に追加する。
 図10の例では、16番目のタイムスロットが追加対象のタイムスロットである。補正部305は、追加対象の16番目のタイムスロットを設定タイムスロット範囲に追加する。
 次に、ステップS302において、補正部305は、全てのずれを吸収できるように設定タイムスロット範囲を補正したか否かを判定する。
 例えば、図14の例では、16番目のタイムスロットを設定タイムスロット範囲に追加したのみでは、9番目のタイムスロットでのずれを吸収することはできない。従って、この場合は、ステップS302の判定において「NO」が得られる。
 次に、ステップS303において、削除対象のタイムスロットを設定タイムスロット範囲から削除する。
 図10の例では、8番目のタイムスロットではフレームが受信されていないので、8番目のタイムスロットを削除対象とする場合は、補正部305は、8番目のタイムスロットを設定タイムスロット範囲から削除する。
 最後に、ステップS304において、送信時刻管理部306が、タイムスロットの番号を変更する。
 図15の例のように、補正の結果、新たな設定タイムスロット範囲が、16番目から9番目の範囲になった場合は、送信時刻管理部306は、新たな設定タイムスロット範囲が1番目のタイムスロットから開始するようにタイムスロットの番号を変更する。この結果、新たな設定タイムスロット範囲は、1番目のタイムスロット(変更前の16番目のタイムスロット)から10番目のタイムスロット(変更前の9番目のタイムスロット)の範囲になる。
 これにより、親局100がフレームを送信するタイムスロットの番号が固定されるため、親局100と中継局300とが再同期したときにタイムスロット番号の調整が不要となる。
 また、送信時刻管理部306は、記憶部302において、補正前の設定タイムスロット範囲の情報を補正後の設定タイムスロット範囲で上書きする。例えば、図15の例では、補正前の設定タイムスロット範囲の情報である1番目から8番目のタイムスロットとの情報を、1番目から10番目のタイムスロットとの情報に上書きする。
 なお、送信時刻管理部306は、設定タイムスロット範囲の情報を書き換える場合でも、フレームの送信順序の情報は、記憶部302にそのまま残しておく。
 例えば、子局(1)201からのフレーム、子局(2)202からのフレーム、子局(N)203からのフレームの順序で、親局100に送信することが規定されていると仮定する。図12のフレーム受信例では、3番目のタイムスロットにおいて子局(1)201からのフレームと子局(2)202からのフレームが受信されている。この場合に、フレーム送信順序の情報が消去されると、同じ3番目のタイムスロットで受信された子局(2)202からのフレームが子局(1)201からのフレームよりも先に親局100に送信される事態が生じる可能性がある。このため、送信時刻管理部306は、フレームの送信順序が規定の通りに行われるように、設定タイムスロット範囲の情報を書き換え、また、タイムスロットの番号を変更する場合でも、フレームの送信順序の情報はそのまま残しておく。
***実施の形態の効果の説明***
 以上のように、本実施の形態では、時刻同期のずれが発生した場合にも、中継局300のタイムスロットを変更していくことで、補正のための通信を行う必要がない。このため、本実施の形態によれば、通信帯域を消費することなく、データ通信のためのタイミングを補正することができる。
***ハードウェア構成の説明***
 最後に、中継局300のハードウェア構成の補足説明を行う。
 図2に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
 プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
 図2に示す記憶装置902は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
 図2に示す通信インターフェース[0]904~通信インターフェース[N]906は、データの通信処理を実行する電子回路である。通信インターフェース[0]904~通信インターフェース[N]906は、例えば、通信チップ又はNIC(Network Interface Card)である。
 また、記憶装置902には、OS(Operating System)も記憶されている。
 そして、OSの少なくとも一部がプロセッサ901により実行される。
 プロセッサ901はOSの少なくとも一部を実行しながら、受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の機能を実現するプログラムを実行する。
 プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
 また、受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置902、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
 また、受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。
 また、受信部301、比較部303、判定部304、補正部305、送信時刻管理部306及び送信部307の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
 また、中継局300は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
 なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
 つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
 100 親局、200 子局、201 子局(1)、202 子局(2)、203 子局(N)、300 中継局、301 受信部、302 記憶部、303 比較部、304 判定部、305 補正部、306 送信時刻管理部、307 送信部、901 プロセッサ、902 記憶装置、903 タイマ、904 通信インターフェース[0]、905 通信インターフェース[1]、906 通信インターフェース[N]。

Claims (9)

  1.  通信周期を構成する複数のタイムスロットのうちデータ中継の実施のために設定されているタイムスロットの範囲である設定タイムスロット範囲と、前記複数のタイムスロットのうち実際に前記データ中継が実施されたタイムスロットの範囲である実施タイムスロット範囲とを比較する比較部と、
     前記比較部による比較の結果に応じて、後の通信周期における設定タイムスロット範囲を補正するか否かを判定する判定部と、
     前記判定部により後の通信周期における設定タイムスロット範囲を補正することが判定された場合に、後の通信周期における設定タイムスロット範囲を前記実施タイムスロット範囲に基づいて補正する補正部とを有する中継装置。
  2.  前記判定部は、
     前記比較部による比較の結果、設定タイムスロット範囲と実施タイムスロット範囲との間に閾値以上のずれが生じていることが判明した場合に、後の通信周期における設定タイムスロット範囲を補正すると判定する請求項1に記載の中継装置。
  3.  前記判定部は、
     複数の通信周期で設定タイムスロット範囲と実施タイムスロット範囲との間に閾値以上のずれが生じていることが判明した場合に、後の通信周期における設定タイムスロット範囲を補正すると判定する請求項1に記載の中継装置。
  4.  前記補正部は、
     後の通信周期における設定タイムスロット範囲を、実施タイムスロット範囲と同じ範囲に補正する請求項1に記載の中継装置。
  5.  前記複数のタイムスロットには番号が付されており、
     前記補正部は、
     後の通信周期における設定タイムスロット範囲を補正する場合に、前記複数のタイムスロットの番号を変更する請求項1に記載の中継装置。
  6.  前記比較部は、
     前記複数のタイムスロットのうち過去の通信周期において前記データ中継が実施されたタイムスロットの範囲を、前記設定タイムスロット範囲として用いる請求項1に記載の中継装置。
  7.  前記比較部は、
     前記設定タイムスロット範囲でのデータ受信数と前記実施タイムスロット範囲でのデータ受信数との相互相関値を算出し、
     前記判定部は、
     前記相互相関値に基づき、前記設定タイムスロット範囲でのデータ受信数と前記実施タイムスロット範囲でのデータ受信数とのずれを検出し、検出したずれが閾値以上であるか否かを判定して、後の通信周期における設定タイムスロット範囲を補正するか否かを判定する請求項1に記載の中継装置。
  8.  コンピュータが、通信周期を構成する複数のタイムスロットのうちデータ中継の実施のために設定されているタイムスロットの範囲である設定タイムスロット範囲と、前記複数のタイムスロットのうち実際に前記データ中継が実施されたタイムスロットの範囲である実施タイムスロット範囲とを比較し、
     前記コンピュータが、比較の結果に応じて、後の通信周期における設定タイムスロット範囲を補正するか否かを判定し、
     後の通信周期における設定タイムスロット範囲を補正することが判定された場合に、前記コンピュータが、後の通信周期における設定タイムスロット範囲を前記実施タイムスロット範囲に基づいて補正する中継方法。
  9.  通信周期を構成する複数のタイムスロットのうちデータ中継の実施のために設定されているタイムスロットの範囲である設定タイムスロット範囲と、前記複数のタイムスロットのうち実際に前記データ中継が実施されたタイムスロットの範囲である実施タイムスロット範囲とを比較する比較処理と、
     前記比較処理による比較の結果に応じて、後の通信周期における設定タイムスロット範囲を補正するか否かを判定する判定処理と、
     前記判定処理により後の通信周期における設定タイムスロット範囲を補正することが判定された場合に、後の通信周期における設定タイムスロット範囲を前記実施タイムスロット範囲に基づいて補正する補正処理とをコンピュータに実行させる中継プログラム。
PCT/JP2018/048311 2018-12-27 2018-12-27 中継装置、中継方法及び中継プログラム WO2020136843A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/048311 WO2020136843A1 (ja) 2018-12-27 2018-12-27 中継装置、中継方法及び中継プログラム
JP2020558646A JP6827607B2 (ja) 2018-12-27 2018-12-27 中継装置、中継方法及び中継プログラム
TW108119304A TW202025653A (zh) 2018-12-27 2019-06-04 中繼裝置、中繼方法及中繼程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/048311 WO2020136843A1 (ja) 2018-12-27 2018-12-27 中継装置、中継方法及び中継プログラム

Publications (1)

Publication Number Publication Date
WO2020136843A1 true WO2020136843A1 (ja) 2020-07-02

Family

ID=71127868

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/048311 WO2020136843A1 (ja) 2018-12-27 2018-12-27 中継装置、中継方法及び中継プログラム

Country Status (3)

Country Link
JP (1) JP6827607B2 (ja)
TW (1) TW202025653A (ja)
WO (1) WO2020136843A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7433479B2 (ja) 2020-11-27 2024-02-19 新華三技術有限公司 パケット転送方法、装置及び電子デバイス

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010056956A (ja) * 2008-08-28 2010-03-11 Sanyo Electric Co Ltd 報知方法および無線装置
WO2016132402A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 通信フレーム転送装置および通信システム
JP2018125597A (ja) * 2017-01-30 2018-08-09 富士通株式会社 パケット処理装置及びパケット処理方法
JP2019004379A (ja) * 2017-06-16 2019-01-10 日本電信電話株式会社 通信装置及び信号転送方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010056956A (ja) * 2008-08-28 2010-03-11 Sanyo Electric Co Ltd 報知方法および無線装置
WO2016132402A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 通信フレーム転送装置および通信システム
JP2018125597A (ja) * 2017-01-30 2018-08-09 富士通株式会社 パケット処理装置及びパケット処理方法
JP2019004379A (ja) * 2017-06-16 2019-01-10 日本電信電話株式会社 通信装置及び信号転送方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HOTTA YOSHIFUMI ET AL.: "Ethernet-based time sensitive networkimg technologies for Iot", MITSUBISHI DENKI GIHO, vol. 90, no. 7, 2016, pages 30 - 34 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7433479B2 (ja) 2020-11-27 2024-02-19 新華三技術有限公司 パケット転送方法、装置及び電子デバイス

Also Published As

Publication number Publication date
JPWO2020136843A1 (ja) 2021-03-11
TW202025653A (zh) 2020-07-01
JP6827607B2 (ja) 2021-02-10

Similar Documents

Publication Publication Date Title
US11677671B2 (en) Time-sensitive networking (TSN) packet forwarding
US11223439B1 (en) Maintaining a time of day in a physical layer circuit including compensating for drift away from a grandmaster time
EP3155737B1 (en) Systems and methods for blocking transmission of a frame in a network device
KR102105300B1 (ko) 이더넷 스위치에 있어서의 스케줄링된 프레임의 다중화 방법
US11018791B2 (en) Method and device for time-controlled data transmission in a time-sensitive network
EP2750332B1 (en) System and method for packet timing of circuit emulation services over networks
US9960872B2 (en) Systems and methods for performing a soft-block of a queue based on a size of a remaining period of a guard band
JP7191253B2 (ja) パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ
CN107040440B (zh) 在基于以太网的运载工具中网络中启动触发的方法和设备
WO2020136843A1 (ja) 中継装置、中継方法及び中継プログラム
US20220131681A1 (en) Communication control apparatus and communication control method
US20200044689A1 (en) Synchronizing unicast traffic
Ulbricht et al. Integrating time-sensitive networking
Jia et al. An SDN-based measurement scheme to build delay database for time-sensitive network scheduling
JP6320654B1 (ja) 管理装置、通信システム、管理方法及び管理プログラム
JP7284266B2 (ja) オーディオストリーム切り替え方法および装置
US10313258B2 (en) Packet processing method and apparatus
JP2002325092A (ja) 通信装置とその優先制御方法、及び優先制御プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18945187

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020558646

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18945187

Country of ref document: EP

Kind code of ref document: A1