Network device, scheduling method, program, and node graph display method

Through the coordinated work of the receiving and control units, network devices appropriately schedule data streams in the TSN network, solving the problem of difficult timing conflict observation in existing technologies, and achieving efficient data stream scheduling and network system flexibility.

CN120937324APending Publication Date: 2025-11-11PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202480025382.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-04-27
Filing Date
2024-03-07
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Existing TSN network equipment has difficulty observing the data flow throughout the network and understanding the timing conflict status of the entire network, resulting in an inability to properly schedule data flows.

Method used

Network devices work together through a receiving unit and a control unit to receive constraint information related to the sending and receiving of data packets, determine the sending order of multiple data packets, and request upstream network devices to change the constraint information when the constraint information cannot be met. By combining the node graph display method and the notification path of the constraint information change request, appropriate scheduling of data flow is achieved.

Benefits of technology

It enables network devices to properly schedule data streams, reducing unnecessary waiting time and improving the efficiency and flexibility of the network system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120937324A_ABST
    Figure CN120937324A_ABST
Patent Text Reader

Abstract

This network device constitutes a network, and is provided with: a reception unit that receives, from an upstream network device, constraint information relating to constraints on transmission and reception of a packet; and a control unit that determines the transmission order of a plurality of packets on the basis of the respective constraint information of the plurality of packets when the transmission timing of the plurality of packets transmitted to the downstream network device overlaps, and that transmits the plurality of packets to the downstream network device when the constraint information of the plurality of packets cannot be satisfied in the determination of the transmission order. The control unit requests an upstream network device for a change in the constraint information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to network devices, scheduling methods, programs, and node graph display methods. Background Technology

[0002] As a technology to ensure real-time communication between FA (Factory Automation) equipment such as manufacturing units and production lines in factories, the introduction of TSN (Time Sensitive Networking) based on Ethernet (registered trademark) is under investigation.

[0003] Patent document 1 discloses a technique for using SPR (Stream Reservation Protocol) and TAS (Time Aware Shaper) as a method of TSN to determine the transmission path and scheduling of the data stream between the transmitting end device and the receiving end device.

[0004] Existing technical documents

[0005] Patent documents

[0006] Patent Document 1: Japanese Patent Publication No. 2021-536708 Summary of the Invention

[0007] However, network devices that constitute a TSN network and determine the scheduling and transmission paths of services have difficulty observing the data flow throughout the network and understanding the state of timing conflicts across the network to perform scheduling. Therefore, network devices may sometimes fail to schedule data flows properly.

[0008] The non-limiting embodiments of this disclosure help to provide network devices, scheduling methods, procedures, and node graph display methods capable of appropriately scheduling data flows over a network.

[0009] One embodiment of the network device disclosed herein constitutes a network, the network device comprising: a receiving unit that receives constraint information related to constraints on the transmission and reception of data packets from an upstream network device; and a control unit that, when the transmission timing of multiple data packets to be transmitted to a downstream network device overlaps, determines the transmission order of the multiple data packets based on the constraint information of each of the multiple data packets, and when the constraint information of the multiple data packets cannot be satisfied in the determination of the transmission order, the control unit requests a change to the constraint information from the upstream network device.

[0010] One embodiment of the scheduling method disclosed herein is a scheduling method for network devices constituting a network. The scheduling method includes the following steps: receiving constraint information related to constraints on the transmission and reception of data packets from an upstream network device; determining the transmission order of multiple data packets based on the constraint information of each of the multiple data packets when the transmission timings of multiple data packets to a downstream network device overlap; and requesting the upstream network device to change the constraint information when the constraint information of the multiple data packets cannot be satisfied in the determination of the transmission order.

[0011] An embodiment of the program disclosed herein is a program for a network device constituting a network, the program causing a processor to perform the following steps: receiving constraint information related to constraints on the transmission and reception of data packets from an upstream network device; determining the transmission order of multiple data packets based on the constraint information of each of the multiple data packets when the transmission timings of multiple data packets to be transmitted to a downstream network device overlap; and requesting a change to the constraint information from the upstream network device when the constraint information of the multiple data packets cannot be satisfied in the determination of the transmission order.

[0012] A node graph display method according to an embodiment of this disclosure includes the following steps: displaying a node graph of network devices constituting a network; displaying a timing diagram of input data packets of network devices selected on the node graph; displaying a timing diagram of output data packets with a transmission order determined based on constraint information related to the constraints of sending and receiving the input data packets; and displaying on the node graph a notification path for a constraint information change request sent by a network device that cannot satisfy the constraint information of the input data packets in determining the transmission order of the output data packets.

[0013] It should be noted that these general or specific methods can be implemented by systems, devices, methods, integrated circuits, computer programs or recording media, or by any combination of systems, devices, methods, integrated circuits, computer programs and recording media.

[0014] According to one embodiment of this disclosure, a network device is able to appropriately schedule network data flows.

[0015] Further advantages and effects of one embodiment of this disclosure will be illustrated by the specification and drawings. These advantages and / or effects are provided by the various embodiments and the features described in the specification and drawings, but not necessarily all of them need to be provided in order to obtain one or more of the same features. Attached Figure Description

[0016] Figure 1 This is a diagram illustrating an example of a network system according to an embodiment of the present disclosure.

[0017] Figure 2 It indicates composition Figure 1 A diagram illustrating the framework structure of network devices in a network system.

[0018] Figure 3 This is a diagram illustrating a specific framework structure example of a switch.

[0019] Figure 4 This is an example of a timing diagram representing input and output data packets.

[0020] Figure 5 It means Figure 1 A diagram of an example of a node graph in a network system.

[0021] Figure 6 This is a diagram illustrating an example of a data structure representing streaming information.

[0022] Figure 7 This is a flowchart illustrating an example of a switch's operation.

[0023] Figure 8 It means Figure 7 The flowchart shows a specific action example of S704.

[0024] Figure 9 This is a diagram illustrating an example of a processing sequence for a request that does not involve constraint relaxation.

[0025] Figure 10 This is a diagram illustrating an example of the processing sequence for constraint relaxation requests between switches.

[0026] Figure 11 This is a diagram illustrating an example of the processing sequence for sending a constraint relaxation request to the sender.

[0027] Figure 12 This is a diagram representing an example of a user interface. Detailed Implementation

[0028] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings. However, unnecessary detailed descriptions may be omitted at times. For example, detailed descriptions of known matters or repetitive descriptions of substantially the same structures may be omitted. This is to avoid making the following description unnecessarily lengthy and to facilitate understanding by those skilled in the art.

[0029] Furthermore, the purpose of providing the accompanying drawings and the following description is to enable those skilled in the art to fully understand this disclosure, and there is no intention to limit the subject matter set forth in the claims.

[0030] <System Structure Diagram>

[0031] Figure 1This is a diagram illustrating an example of a network system 100 according to an embodiment of the present disclosure. Network system 100 is a network system incorporating TSN. Figure 1 As shown, network system 100 includes switches 1011 and 1012, transmitters 1031 to 1033, and receiver 1034. Switches 1011 and 1012, transmitters 1031 to 1033, and receiver 1034 are connected, for example, via Ethernet. Network system 100 is constructed, for example, in a production line in a factory.

[0032] Switches 1011 and 1022 are network devices that relay data streams (data packets). Switch 1011 has port 1021. Switch 1012 has port 1022. Switches 1011 and 1012 relay data packets between ports 1021 and 1022, for example, by executing applications stored in their storage. Switches can also be called trunk nodes or trunk devices.

[0033] For example, port 1021 of switch 1011 outputs data packets that are input to port 1021 from port 1021 according to the destination, priority, and a specified scheduling table. Similarly, port 1022 of switch 1012 outputs data packets that are input to port 1022 from port 1022 according to the destination, priority, and a specified scheduling table, just like port 1021 of switch 1011.

[0034] Senders 1031 to 1033 are network devices that act as the source of data packets. Senders 1031 to 1033 act as the source of data packets, for example, by executing an application program stored in the storage unit.

[0035] The transmitters 1031 to 1033 are, for example, devices such as PCs (Personal Computers), PLCs (Programmable Logic Controllers) or other FAs (Factory Automation), sensors, and actuators. The transmitters 1031 to 1033 can also be referred to as terminal devices, transmitting nodes, or transmitting devices.

[0036] Receiver 1034 is a network device that becomes the destination for receiving data packets. Receiver 1034 acts as the destination for receiving data packets, for example, by executing an application stored in its storage unit.

[0037] The receiver 1034 can be a computer, a power amplifier (FA) such as a PC or PLC, a sensor, or an actuator. The receiver 1034 can also be called a terminal device, a receiving node, or a receiving device.

[0038] Each of the sender 1031 to 1033 and the receiver 1034 has at least one port (not shown) and is connected to other network devices.

[0039] In addition, sometimes a single terminal device acts as both a sender and a receiver. Furthermore, sometimes a single terminal device acts as multiple senders and / or multiple receivers.

[0040] <Box Diagram>

[0041] Figure 2 It indicates composition Figure 1 A diagram illustrating the framework structure of network devices 200 in a network system 100. (See diagram for example.) Figure 2 As shown, the network device 200 includes a receiving unit 201, a control unit 202, a transmitting unit 203, a UI (User Interface) unit 204, and a storage unit 105.

[0042] The receiving unit 201 performs data packet reception processing from the Ethernet input connected to the port.

[0043] The control unit 202 controls the entire network device 200. The control unit 202 performs data processing based on the data packets received by the receiving unit 201.

[0044] The control unit 202 may be composed of a processor such as a CPU (central processing unit). The control unit 202 can perform network communication processing functions for the switch and / or terminal devices based on the program (application program) stored in the storage unit 205.

[0045] The transmitting unit 203 performs transmission processing to output data packets generated based on the data processing of the control unit 202 to the Ethernet connected to the port.

[0046] The UI unit 204 is, for example, an input / output device such as a key device, a touch panel, and / or a display. The UI unit 204 outputs signals corresponding to user operations to the control unit 202. The UI unit 204 displays images on the display corresponding to the signals output from the control unit 202.

[0047] The storage unit 205 stores programs and applications for the operating system (OS) executed by the control unit 202. In addition, the storage unit 205 stores various data required for processing by the control unit 202. The storage unit 205 can be, for example, an SSD (solid-state drive), RAM (random access memory), flash memory, ROM (read-only memory), and / or an HDD (hard disk drive). There can be one or multiple storage units 205.

[0048] Furthermore, due to the geographically dispersed nature of the network device's functions, the network device 200 may not have a user interface (UI) unit 204. Alternatively, the network device 200 may be remotely connected to other devices such as a PC, with the other device providing the user interface for the network device 200.

[0049] Figure 3 This is a diagram illustrating the specific structural framework of switch 1011. (Example) Figure 3 As shown, switch 1011 has an input port 301, a destination filter 302, a queue 303, a gate 304, an output port 305, a scheduler 306, and a GCL (Gate Control List) section 307. Furthermore, switch 1012 also has the same frame structure as switch 1011.

[0050] Input port 301 can, for example, correspond to Figure 2 The receiving unit 201. Destination filter 302, queue 303, gate 304, scheduler 306, and GCL unit 307 can, for example, correspond to... Figure 2 The control unit 202. The output port 305 can, for example, correspond to... Figure 2 The transmitting unit 203. The above correspondence is only one example and is not limited to the above correspondence. For example, the input port 301 and the destination filter 302 can also correspond to Figure 2 The receiving unit 201. For example, gate 304 and output port 305 may also correspond to Figure 2 The sending unit 203.

[0051] Input port 301 converts signals from the Ethernet cable into data packets (data packets). For example, input port 301 converts signals from the Ethernet cable into data packets P30-0, P30-1, P30-2, and P30-3, and outputs them to destination filter 302.

[0052] Destination filter 302 parses the packet header to determine which output port and queue the packet should be sent to. Figure 3 In the example, destination filter 302 outputs data packets P30-0, P30-1, P30-2, and P30-3 to queue 303 of output port 305.

[0053] Furthermore, the destination filter 302 parses the header of the data packets to determine the priorities of data packets P30-0, P30-1, P30-2, and P30-3. The destination filter 302 outputs data packets P30-0, P30-1, P30-2, and P30-3 to the queue 303 corresponding to the determined priorities. The priorities can also be priorities related to the order in which data packets are sent from the output port 305.

[0054] Queue 303 stores data packets output from destination filter 302 according to FIFO (First-In First-Out). Multiple queues 303 are available based on priority. For example, queues 303 may include queues from the highest priority "0" to the lowest priority "3". Alternatively, queues 303 can be configured according to the number of priority levels. For example, if there are 8 priority levels, there could be 8 queues 303.

[0055] Gate 304 outputs data packets from queue 303 to output port 305 based on the control of scheduler 306.

[0056] Output port 305 converts the data packets output from gate 304 into Ethernet signals and outputs them to the Ethernet cable.

[0057] The scheduler 306, based on the instructions (list) of the GCL section 307, determines which queue the data packets stored in, when to output them, and for how long, and controls the gate 304.

[0058] GCL unit 307 generates a list (GCL) for setting the opening and closing of gate 304. The GCL contains information indicating which priority (queue) data packet is output to, when, and for how long.

[0059] For example, suppose data packets P30-0, P30-1, P30-2, and P30-3 from different senders are input to input port 301. Assume the priorities increase in the order of data packets P30-0, P30-1, P30-2, and P30-3. Assume that GCL unit 307 generates a GCL that outputs data packets in the order of priority 0, 1, 2, and 3 (output time periods are omitted here).

[0060] In this configuration, data packets P30-0, P30-1, P30-2, and P30-3 are output by destination filter 302 to queues 303 for 0, 1, 2, and 3, respectively. Scheduler 306 controls gate 304 based on the GCL of GCL section 307, so that data packets P30-0, P30-1, P30-2, and P30-3 are output from output port 305 in the order they were sent.

[0061] <Sequence Diagram>

[0062] Figure 4 This is an example of a timing diagram representing input and output data packets. Figure 4 Timing diagram TC1 represents the timing diagram of data packets input to the switch. Timing diagrams TC2 and TC3 represent the timing diagrams of data packets output from the switch.

[0063] Figure 4 The horizontal axis t in the diagram represents time. The time period when the rectangular wave in timing diagram TC1 is at a high level represents the time period when the data packet is input to the switch. The time period when the rectangular waves in timing diagrams TC2 and TC3 are at a high level represents the time period when the data packet is output from the switch. Figure 4 The vertical line indicated by the middle arrow A4a represents the expected arrival time of data packet P30-0. Similarly, the vertical lines in data packets P30-1, P30-2, and P30-3 represent their expected arrival times. The expected arrival time can also be considered as the time limit for the data packet to reach the receiver.

[0064] As shown in timing diagram TC1, assume that data packets P30-0, P30-1, P30-2, and P30-3 are input to the switch. The arrival order (falling edge timing of the rectangular wave) of data packets P30-0, P30-1, P30-2, and P30-3 is P30-0, P30-3, P30-1, and P30-2.

[0065] In this disclosure, for example, a store-and-forward method is assumed. Therefore, a data packet is input (the reception of the data packet begins), and after the entire data packet is stored (after the rectangular wave experiences the rising and falling edges), processing such as header parsing is performed, and then the data packet is forwarded.

[0066] If the GCL generated by GCL section 307 is GCL1[0, 1, 2, 3], then the output order of the data packets is as follows: Figure 4The timing diagram TC2 shows {P30-0, P30-1, P30-2, P30-3}. In this case, after the switch outputs data packet P30-0 (after the falling edge of the rectangular wave), it waits for data packet P30-1 to arrive. Therefore, there will be a period of time between data packets P30-0 and P30-1 where no data packets are output. In addition, the earlier arriving data packet P30-3 needs to wait because of the arrival of higher priority data packets, thus delaying its output.

[0067] If the GCL generated by GCL section 307 is GCL2[0, 3, 1, 2], then the output order of the data packets is as follows: Figure 4 The timing diagram TC3 is shown as {P30-0, P30-3, P30-1, P30-2}. In this case, the output order of the output packets is consistent with the arrival order of the input packets, and the switch can output packets almost immediately after the arrival of the input packets (with only internal processing delay). Therefore, as... Figure 4 As shown by arrow A4b, GCL2[0,3,1,2] has a shorter overall output delay compared to GCL1[0,1,2,3].

[0068] It should be noted that the time from a certain reference time to the time until the data packet is sent is called the transmission offset. For example, Figure 4 The double arrow A4c in the diagram represents the transmission offset of data packet P30-1. The transmission offset can also be referred to as the transmission timing.

[0069] <Node Graph>

[0070] Figure 5 It means Figure 1 This is an example of a node diagram for a network system 100. Hereinafter, switches 1011 and 1012 are sometimes referred to as switches S1 and S2. Sometimes port 1021 of switch 1011 is referred to as port P1, and port 1022 of switch 1012 is referred to as port P1. Sometimes senders 1031, 1032, and 1033 are referred to as senders T1, T2, and T3, and receiver 1034 is referred to as receiver L1.

[0071] A node graph represents the transmission path (pass) of a data stream. Figure 5 In the node diagram, senders T1, T2, and T3 send data packets, and receiver L1 receives the data packets. Port P1 of switch S1 relays the data packets to switch S2, and port P1 of switch S2 relays the data packets to receiver L1.

[0072] Data packets sent from senders T1 and T2 are merged at switch S1 and sent to switch S2 from port P1 of switch S1. Data packets output from switch S1 (data packets output from senders T1 and T2) are merged at switch S2 with data packets sent from sender T3 and sent to receiver L1 from port P1 of switch S2. That is, in Figure 5 In the node diagram, data packets merge at port P1 of switch S1 and at port P1 of switch S2.

[0073] When packet merging causes overlapping packet transmission time periods, switches S1 and S2 generate a Group Time Limit (GCL) to schedule packet transmission order so that packet transmission time periods do not overlap. For example, ... Figure 4 As shown in GCL1 and GCL2, switches S1 and S2 generate GCLs in a way that prevents the time periods of data packet transmission from overlapping.

[0074] like Figure 4 As explained, data packets have expected arrival times. Switches S1 and S2 generate GCLs (which determine the order in which data packets are sent) in a manner that satisfies the expected arrival times of the data packets.

[0075] Data packets output from the switch may sometimes fail to meet the expected arrival time. For example, sometimes, regardless of how switch S2 determines the packet transmission order, the packets will not meet the expected arrival time. In such cases, for example, switch S2 requests a change in the packet transmission order from its upstream switch S1. Switch S2 regenerates the Global Packet Query (GCL) based on the changed packet transmission order from upstream switch S1. When the packets meet the expected arrival time under the regenerated GCL, switch S2 determines the packet transmission order under the regenerated GCL. That is, the switches distribute and schedule the packet transmission order in the network system 100.

[0076] Hereinafter, the sender side in the data packet transmission path is sometimes referred to as the upstream, and the receiver side as the downstream.

[0077] <Data Structure of Stream Information>

[0078] Figure 6 This is a diagram illustrating an example of a data structure representing stream information 601. For example... Figure 6 As shown, flow information 601 has the following fields: type, length, destination information, transmission offset, transmission period, expected arrival time, maximum packet length, hop count, and constraint relaxation request flag. The fields of flow information 601 can be included in dedicated control packets or in ordinary data packets.

[0079] Type representation Figure 6The fields shown are those of stream information 601. The length indicates the data length (field length) of stream information 601.

[0080] In Flow Information 601, after the type and length, there are information fields related to the transmission constraints of the data packet. For example, after the type and length, Flow Information 601 includes destination information such as the address or priority of the destination of the data packet, the transmission offset (transmission start time) of the data packet, the transmission period, the expected arrival time, the maximum data packet length, the number of hops required to reach the destination of the data packet, and a constraint relaxation request flag.

[0081] Flow information 601 is generated by the sender and sent downstream. Additionally, for example, when a switch determines that a data packet does not meet its expected arrival time, flow information 601 is sent upstream from that switch.

[0082] The type, length, destination information, transmission offset, transmission period, expected arrival time, and maximum packet length of flow information 601 are set by the sender. The number of hops is set by the switch, for example.

[0083] The switch generates a Global Channel Log (GCL) based on flow information 601. Flow information 601 contains the expected arrival time. Each switch on the path calculates the remaining time (the time remaining until the expected arrival time of the data packets at their destination) based on the expected arrival time and the combination of data packet transmission order, and performs distributed scheduling of the data packets. Details will be provided later. Figure 7 and Figure 8 The explanation is provided below.

[0084] When a switch merges data packets for transmission (e.g., refer to...) Figure 4 and Figure 5 The flow information 601 of each data packet is connected in the order of GCL (the order in which the data packets are sent) and sent to the downstream switch. The downstream switch can identify the flow information 601 and the sending order of each data packet merged on the upstream switch by the connected flow information 601 and the connection order of the flow information 601.

[0085] If a switch is unable to generate a GCL with a remaining time margin of 0 or more, it sets a constraint relaxation request flag (e.g., set to 1) and sends it upstream. Upon receiving flow information 601 with the constraint relaxation request flag set, the upstream switch, for example, regenerates a GCL with the packet transmission order reversed and / or modifies (shortens) the packet transmission offset. The upstream switch then sends flow information 601 based on the regenerated GCL and / or containing the modified transmission offset to the downstream switch.

[0086] If, after the upstream switch regenerates the GCL and / or changes the transmission offset, the data packet still fails to meet the expected arrival time (remaining margin time is not greater than 0), flow information 601 may be traced back to the sender. In this case, for example, at the sender, changes (relaxations) are made to the destination information (priority), transmission offset, transmission period, expected arrival time, and maximum data packet length. For example, the data packet priority is reduced, and / or the transmission offset is shortened. For example, the data packet transmission period and / or expected arrival time are extended. For example, the maximum data packet length is shortened.

[0087] Furthermore, flow information 601 may contain information related to transmission constraints of multiple data packets or transmission order determined by the switch. Additionally, flow information 601 may have fields indicating which item in the transmission constraints is requested to be relaxed. For example, flow information 601 may have a flag field indicating a request to change the transmission order, a flag field indicating a request to change the transmission offset, and / or a flag field indicating a request to change the expected arrival time.

[0088] <Switch Actions>

[0089] Figure 7 This is a flowchart illustrating an example of a switch's actions. For instance, it can be executed when building or changing network system 100. Figure 7 The flowchart shown illustrates the processing.

[0090] The sender sends (notifies) downstream flow information related to the data packet to be sent. The switch receives the flow information sent from the sender or other switches (S701).

[0091] Based on the received flow information, the switch determines the path for the data packet to reach its destination (S702). Furthermore, the switch determines the hop count, which represents how many nodes the data packet must traverse from the switch to the receiver (S702).

[0092] Based on the flow information received in S701, the switch determines the output ports where the arrival times of multiple data packets are close and their output timings overlap (S703). Furthermore, the switch determines the overlap time period (merging time period) of the data packets in the determined output ports (S703). For example, the switch determines the overlap of output timings based on the transmission offset, transmission period, and maximum data packet size in the flow information. It should be noted that... Figure 4 If the input data packets shown are directly merged and output, the output of the data packets will have overlapping times.

[0093] After determining the output ports with overlapping output timings and the overlapping time periods of data packets in S703, the switch generates a Global Clearing Flow (GCL) for the determined output ports based on the remaining time until each data packet arrives within its expected arrival time (S704). For example, the switch generates the GCL for the output ports determined in S703 in a manner that ensures the remaining time is greater than or equal to 0. Furthermore, in... Figure 8 The flowchart illustrates the details of S704.

[0094] The switch determines whether it has received flow information (constraint relaxation request) with the constraint relaxation request flag set from a downstream switch (S705). If the switch does not receive a constraint relaxation request from a downstream switch (S705 "No"), the process in this flowchart ends. If the switch receives a constraint relaxation request from a downstream switch (S705 "Yes"), the process transfers to S702.

[0095] Figure 8 It means Figure 7 A flowchart illustrating specific actions of the S704. The switch is designed for... Figure 7 The output port determined in S703, according to... Figure 7 The expected arrival time and maximum packet length of each data packet received in S701 or S705 of the flow information are used to calculate the remaining time margin for each data packet (S801). For example, the switch subtracts the delay time based on the packet transmission order (transmission offset), the time based on the maximum packet length, and the time based on the hop count (transmission time) from the expected arrival time to calculate the remaining time margin for each data packet. Then, the switch determines the transmission order of the data packets that maximizes the sum of the remaining time margins (S801). It should be noted that various algorithms can be used to determine the transmission order of data packets. For example, various search methods for combinatorial optimization, such as branch and bound, or metaheuristic methods, such as genetic algorithms, can be used.

[0096] The switch determines whether the remaining time of each data packet under the transmission order determined in S801 is greater than or equal to 0 (S802). In other words, the switch determines whether each data packet under the transmission order determined in S801 arrives at the receiver as the destination within the expected arrival time.

[0097] If there are no data packets that do not meet the condition of having a remaining time margin of 0 or more (S802 "Yes"), the switch generates a GCL based on the transmission order determined in S801 (S803). Then, the switch generates flow information based on the generated GCL and sends it downstream (S803).

[0098] If a data packet exists that does not meet the condition of having a remaining time greater than 0 (S802 "No"), the switch notifies the upstream switch that sent the data packet that did not meet the condition (the data packet whose remaining time becomes less than 0) of a constraint relaxation request (S804). Then, the switch transfers the processing to S801. That is, the switch sends the flow information (refer to) with the constraint relaxation request flag set. Figure 6 The data is sent to the front-end switch and CGL is generated again.

[0099] It should be noted that constraint relaxation requests are traced back to upstream switches until all packets have sufficient remaining time. If adjustments between switches fail to satisfy the remaining time, the constraint relaxation request reaches the sender. The sender receiving the constraint relaxation request can then notify the user that application-level changes are required.

[0100] Therefore, each switch schedules data packets based on the merged data packets within each switch and the merged time period where timing conflicts occur. Furthermore, when a switch performs a scheduling operation that cannot meet the expected arrival time of a data packet, it requests a constraint relaxation from the upstream switch. In other words, within the entire network system 100, each switch locally observes (determines) the overlap of data packets and performs scheduling in a distributed manner throughout the entire network system 100.

[0101] For example, an upstream switch notifies a downstream switch of the expected arrival time of each data packet. The downstream switch calculates the remaining time margin for the data packets based on the notified expected arrival times and determines the transmission order of the data packets. If the expected arrival time of a data packet cannot be met under the determined transmission order, the downstream switch requests a constraint relaxation from the upstream switch.

[0102] Furthermore, upstream switches can receive notifications of constraint relaxation requests propagated sequentially from downstream switches that cannot meet the remaining time constraints, without needing to consider flow merging in downstream switches. In this way, switches can perform distributed scheduling table adjustments across switches. And, if the sending constraint cannot be met regardless, the switch can notify the sending application or user of this inconvenience.

[0103] <Processing Sequence>

[0104] • No constraint relaxation request processing sequence

[0105] Figure 9 This is a diagram illustrating an example of a processing sequence where a constraint-relaxing request is not processed. Figure 9 In the middle, it is explained Figure 5Example of a processing sequence for a node graph. Figure 9 The T1, T2, and T3 shown correspond to Figure 5 The senders T1, T2, and T3 are described in the document. Figure 9 S1 and S2 shown correspond to Figure 5 The switches S1 and S2 described in the document. Figure 9 The L1 shown corresponds to Figure 5 The receiver L1 is described in the document.

[0106] Before sending a data packet to the receiver L1, the sender T1 first sends flow information (S901).

[0107] Before sending a data packet to the receiver L1, the sender T2 first sends flow information (S902).

[0108] Switch S1 receives the flow information sent in S901 and S902. Based on the received flow information, switch S1 determines that the data packets sent from senders T1 and T2 have merged and the merging time periods overlap, and generates the GCL of the data packets (S903).

[0109] Before sending a data packet to the receiver L1, the sender T3 first sends flow information (S904).

[0110] Switch S1 generates flow information based on the GCL generated in S903 and sends it to the downstream switch S2 (S905).

[0111] Switch S2 receives the flow information sent in S904 and S905. Based on the received flow information, switch S2 determines that the data packets sent from sender T3 and switch S1 have merged and the merging time periods overlap, and generates the GCL of the data packets (S906).

[0112] Switch S2 generates flow information based on the GCL generated in S906 and sends it to the downstream receiver L1 (S907).

[0113] If switch S2 is not notified of a constraint relaxation request from the downstream receiver L1, it will determine the GCL generated in S906 (S908). Then, switch S2 uses the determined GCL to perform gate control on the data packets sent from upstream.

[0114] If switch S1 is not notified of a constraint relaxation request from the downstream switch S2, the GCL generated in S903 will be determined (S909). Then, switch S1 uses the determined GCL to perform gate control on packets sent from upstream.

[0115] If senders T1, T2, and T3 are not notified of a constraint relaxation request, they begin sending data packets (S910a, S910b, and S910c).

[0116] In this way, network system 100 can propagate scheduling sequentially from the preceding level along the path for data packets destined for each destination. Therefore, efficient gating time allocation that suppresses unnecessary waiting time can be performed in a distributed manner in network system 100.

[0117] Furthermore, the order of processing is not limited to Figure 9 Examples. For instance, the processing order of S901 and S902, the processing order of S904 and S905, and the processing order of S908 and S909 can be interchanged.

[0118] • Processing sequence of constraint relaxation requests between switches

[0119] Figure 10 This is a diagram illustrating an example of the processing sequence for constraint relaxation requests between switches. Figure 10 In, with Figure 9 Similarly, explanation Figure 5 Example of a processing sequence for a node graph.

[0120] Before sending a data packet to the receiver L1, the sender T1 first sends flow information (S1001).

[0121] Before sending a data packet to the receiver L1, the sender T2 first sends flow information (S1002).

[0122] Switch S1 receives the flow information sent in S1001 and S1002. Based on the received flow information, switch S1 determines that the data packets sent from senders T1 and T2 have merged and the merging time periods overlap, and generates the GCL of the data packets (S1003).

[0123] Before sending a data packet to the receiver L1, the sender T3 first sends flow information (S1004).

[0124] Switch S1 generates flow information based on the GCL generated in S1003 and sends it to the downstream switch S2 (S1005).

[0125] Switch S2 receives the flow information sent in S1004 and S1005. Based on the received flow information, switch S2 determines that the data packets sent from sender T3 and switch S1 have merged and the merging time periods overlap, and generates the GCL of the data packets (S1006).

[0126] If switch S2 determines that, under the GCL generated in S1006, for example, a data packet sent from sender T1 cannot satisfy the remaining time (the remaining time is less than 0), it sends a constraint relaxation request (S1007) to the upstream switch S1 that sent (relayed) the data packet that cannot satisfy the remaining time. In other words, switch S2 sends flow information with the constraint relaxation request flag set to switch S1.

[0127] If switch S1 receives a constraint relaxation request from the downstream switch S2, it regenerates the GCL (S1008). For example, if the remaining time can be satisfied by swapping the transmission order of data packets from sender T1 and sender T2, a GCL with the data packet transmission order swapped is regenerated.

[0128] Switch S1 generates flow information based on the GCL regenerated in S1008 and sends it to downstream switch S2 (S1009).

[0129] Switch S2 receives the flow information sent in S1009. Based on the flow information sent in S1009 and S1004, switch S2 regenerates the GCL of the data packets (S1010). Here, switch S2 regenerates the GCL that satisfies the remaining margin time.

[0130] Switch S2 generates flow information based on the GCL regenerated in S1010 and sends it to the downstream receiver L1 (S1011).

[0131] If switch S2 is not notified of a constraint relaxation request from the downstream receiver L1, it will re-determine the GCL in S1010 (S1012). Then, switch S2 uses the determined GCL to perform gate control on packets sent from upstream.

[0132] If switch S1 is not notified of a constraint relaxation request from the downstream switch S2, the GCL will be re-determined in S1008 (S1013). Then, switch S1 uses the determined GCL to gate packets sent from upstream.

[0133] If senders T1, T2, and T3 are not notified of a constraint relaxation request, they begin sending data packets (S1014a, S1014b, S1014c).

[0134] In this way, network system 100 can perform scheduling sequentially from upstream along the path for data packets destined for each destination, and when it reaches a stage where the sending constraints cannot be met, it notifies the upstream node of a constraint relaxation request. That is, network system 100 enables rescheduling to propagate backward from downstream to upstream. Therefore, network system 100 can perform efficient gating time allocation in a distributed manner, suppressing unnecessary waiting time.

[0135] Furthermore, the order of processing is not limited to Figure 10 For example, the processing order of S1001 and S1002, the processing order of S1004 and S1005, and the processing order of S1012 and S1013 can be interchanged.

[0136] • Processing sequence for sending constraint relaxation requests to the sender

[0137] Figure 11 This is a diagram illustrating an example of the processing sequence for sending a constraint relaxation request to the sender. Figure 11 In, with Figure 9 Similarly, explanation Figure 5 Example of a processing sequence for a node graph.

[0138] Before sending a data packet to the receiver L1, the sender T1 first sends flow information (S1101).

[0139] Before sending a data packet to the receiver L1, the sender T2 first sends flow information (S1102).

[0140] Switch S1 receives the flow information sent in S1011 and S1012. Based on the received flow information, switch S1 determines that the data packets sent from senders T1 and T2 have merged and the merging time periods overlap, and generates the GCL of the data packets (S1103).

[0141] Before sending a data packet to the receiver L1, the sender T3 first sends flow information (S1104).

[0142] Switch S1 generates flow information based on the GCL generated in S1103 and sends it to the downstream switch S2 (S1105).

[0143] Switch S2 receives the flow information sent in S1104 and S1105. Based on the received flow information, switch S2 determines that the data packets sent from sender T3 and switch S1 have merged and the merging time periods overlap, and generates the GCL of the data packets (S1106).

[0144] If switch S2 determines that, under the GCL generated in S1106, for example, a data packet sent from sender T1 cannot satisfy the remaining time (the remaining time is less than 0), it sends a constraint relaxation request to the upstream switch S1 that sent (relayed) the data packet that cannot satisfy the remaining time (S1107). In other words, switch S2 sends flow information with the constraint relaxation request flag set to switch S1.

[0145] If switch S1 receives a constraint relaxation request from the downstream switch S2, it will regenerate the GCL (S1108).

[0146] If, even if the remaining time in switch S2 cannot be satisfied even after regenerating the GCL, switch S1 sends a constraint relaxation request (S1109) to the upstream sender T1 (the sender of the data packets whose remaining time cannot be satisfied in switch S2). For example, if, even if the remaining time in switch S2 cannot be satisfied even by swapping the sending order of the data packets from sender T1 and sender T2, switch S1 sends a constraint relaxation request to the upstream sender T1. In other words, switch S1 sends flow information with the constraint relaxation request flag set to the upstream sender T1.

[0147] If sender T1 receives the constraint relaxation request sent in S1109, it determines that the sending constraint of the stream information sent in S1101 is valid (refer to...). Figure 6 If packet transmission is not possible under the specified conditions (as described in the description), constraint adjustment processing (application) is performed (S1110). Sender T1 modifies the transmission constraints through constraint adjustment processing and generates flow information based on the modified transmission constraints. Sender T1 then transmits the generated flow information downstream (not shown). Furthermore, if the remaining time margin of switch S2 cannot be satisfied even if the flow information used is based on the modified transmission constraints after constraint adjustment processing, sender T1 can notify the user through the user interface. The user can then perform constraint adjustment.

[0148] In this way, network system 100 performs scheduling sequentially from upstream along the path for flows heading towards each destination, and when it reaches a stage where transmission constraints cannot be met, it notifies upstream nodes of a constraint relaxation request. That is, network system 100 enables rescheduling to propagate backward from downstream to upstream. When scheduling adjustments cannot be completed between switches, the constraint relaxation request notification is traced back to the sender, where adjustments are made or the user is notified. Therefore, network system 100 can perform efficient gating time allocation in a distributed manner, suppressing unnecessary waiting times. Furthermore, because information such as which data packets are occupying and compressing bandwidth (time) is also notified, users can more easily identify the parts of the network system 100 that require adjustments to the sender's transmission constraints or design changes.

[0149] Furthermore, the order of processing is not limited to Figure 11 For example, the processing order of S1101 and S1102, and the processing order of S1104 and S1105 can be interchanged.

[0150] User Interface

[0151] Figure 12 This is a diagram representing an example of a user interface. Figure 12 The GUI (Graphical User Interface) screen 1200 shown can be displayed, for example, on a monitor of a network device. Alternatively, the GUI screen 1200 can also be displayed, for example, on a monitor of an information processing device such as a PC connected to the network device. The GUI screen 1200 can also be displayed, for example, on a monitor of an information processing device such as a PC that has installed a program simulating the structure and actions described above.

[0152] like Figure 12 As shown, the GUI screen 1200 has a path display unit 1201, an input display unit 1202, an output display unit 1203, a node selection unit 1204, and port selection units 1205 and 1206. Figure 12 In the diagram, T0 to T5 represent the sender. S1 and S2 represent switches. P1 represents the port of switch S1, and P2 represents the port of switch S2. L2 represents the receiver.

[0153] When a receiver is selected in the node selection unit 1204, the path of the data stream destined for the selected receiver is displayed in the path display unit 1201.

[0154] For example, in Figure 12In this diagram, when receiver L2 (receiver 2) is selected, senders T0 and T2, whose data packets are destined for receiver L2, are shown with solid lines. Furthermore, other data streams and nodes that merge or branch off along the path are shown with dashed lines. That is, other data streams and sending nodes that affect the data stream shown as the object (displayed with solid lines) are shown with dashed lines. For example, in... Figure 12 In this process, the data streams of senders T1, T3, T4, and T5 that are not destined for receiver L2 are merged into the edge connecting port P1 of switch S1 to port P2 of switch S2. Furthermore, the data streams of senders T1, T3, T4, and T5 are branched to other ports of switch S2 other than port P2.

[0155] When an edge connecting a node is selected, that edge is highlighted, and its bandwidth (time) occupancy is displayed. For example, in Figure 12 When edge 1207 is selected, its bandwidth occupancy is displayed as "50%". This allows users to easily identify which edge is congested and how much bandwidth is available.

[0156] When constraint relaxation requests are made between nodes during scheduling, an image is displayed indicating which path the constraint relaxation request propagates along. For example, in Figure 12 As shown in Figure 1208, the constraint relaxation request is sent from port P2 of switch S2 to port P1 of switch S1 to sender T4. This allows users to easily identify which data stream on which path is imposing frequency band constraints, etc.

[0157] When a node displayed in the port selection unit 1205 or the path display unit 1201 is selected, a timing diagram of the data packets input to the port of the selected node is displayed in the input display unit 1202. For example, in Figure 12 In the diagram, the timing diagram of the data packets sent from senders T0 to T5 to port P1 (Sw1 port 1) of switch S1 is displayed.

[0158] Figure 12 The double arrow 1209 indicates the transmission offset of the data packet from sender T0. Double arrow 1210 indicates the maximum data packet length of sender T0. Double arrow 1211 indicates the remaining time margin. Triangle marker 1212 indicates the expected arrival time. The number on arrow 1213 indicates the number of hops remaining from switch S1 to the destination. For example, data packets from senders T0 and T2 in switch S1 will arrive at receiver L2, the destination, after 1 hop.

[0159] In each timing diagram of the input display unit 1202, the rising edge portion, falling edge portion, and triangular marker of the rectangular wave can be moved left and right by the user using themselves as drag handles. That is, it can be configured so that the user can adjust the transmission constraints by operating the rising edge portion, falling edge portion, and triangular marker portion of the rectangular wave.

[0160] When a node displayed in the port selection unit 1206 or the path display unit 1201 is selected, the output display unit 1203 displays the candidate of the scheduling table (GCL) set for the port of the selected node, and the timing diagram of the output data packets of the GCL.

[0161] For example, in Figure 12 In the diagram, the scheduling candidates for GCL0, GCL1, and FIFO are displayed. Furthermore, a timing diagram showing how data packets from senders T0 to T5 input to port P1 (Sw1 port 1) of switch S1 are output under GCL0, GCL1, and FIFO is displayed.

[0162] Figure 12 The number 1214 shown represents the expected arrival times for senders T0 through T5. Under GCL0, data packets are output in the order of senders {T3, T5, T4, T2, T0, T1}. Under GCL0, all data packets from senders T0 through T5 meet the expected arrival times (with remaining time greater than 0).

[0163] Under GCL1, data packets are output in the order of sender {T0, T1, T2, T3, T4, T5}. Under GCL1, data packets from senders T3, T4, and T5 did not meet the expected arrival time.

[0164] Under FIFO, data packets are output in the order of sender {T3, T5, T1, T2, T4, T0}. Under FIFO, all data packets from sender T0 to T5 meet the expected arrival time.

[0165] Furthermore, packets that fail to meet their expected arrival time can be highlighted, for example, in red. This allows users to easily identify when, in what order, how much time remains, and whether unnecessary waiting time has occurred among multiple scheduling candidates.

[0166] In each timing diagram of the output display unit 1203, the data packets can be moved left and right by the user using the data packet sending tag as a drag handle. That is, it can be configured so that the user can adjust the sending order of the data packets.

[0167] Enable network devices or emulators to have such Figure 12The user interface shown allows users to easily identify how data streams merge and / or branch, which edges are congested, and how much bandwidth is available. Furthermore, users can easily identify which data stream on which path is imposing bandwidth constraints, and where. They can also easily identify the amount of remaining time margin and whether unnecessary waiting time has occurred. Moreover, by allowing users to manipulate different parts of the timing diagram as handles, the sending and / or adjustment of constraint information can be easily performed.

[0168] <Summary of Implementation Methods>

[0169] As described above, the switch constituting the TSN network includes: a receiving unit 201, which receives constraint information related to constraints on the transmission and reception of data packets from an upstream network device; and a control unit 202, which determines the transmission order of multiple data packets based on the constraint information of each data packet when the transmission timings of multiple data packets to be sent to downstream network devices overlap. When the constraint information of multiple data packets cannot be satisfied in determining the transmission order, the control unit 202 requests the upstream network device to change the constraint information.

[0170] In this structure, the switches that make up the network determine the order in which data packets are sent, starting from the upstream. When a switch reaches a point where the determined sending order cannot satisfy the constraints, it notifies the upstream network device of a request to relax the constraints. Therefore, the switches can appropriately schedule data flows without observing the data flow throughout the network and understanding the state of timing conflicts.

[0171] In addition, the network devices or simulators constituting the network perform the following steps: displaying a node diagram of the network devices constituting the network; displaying a timing diagram of the input data packets of the network devices selected on the node diagram; displaying a timing diagram of the output data packets with a transmission order determined based on constraint information related to the constraints of sending and receiving the input data packets; and displaying on the node diagram a notification path for a constraint information change request sent by a network device that cannot satisfy the constraint information of the input data packets in determining the transmission order of the output data packets.

[0172] This structure allows users to easily understand the order in which output data packets are scheduled to be sent from network devices. Furthermore, users can easily identify situations such as bandwidth constraints being imposed on specific network devices.

[0173] While embodiments have been described above with reference to the accompanying drawings, this disclosure is not limited to these examples. Those skilled in the art will readily conceive of various modifications or alterations within the scope of the claims. It should be understood that such modifications or alterations also fall within the technical scope of this disclosure. Furthermore, the constituent elements in the embodiments can be arbitrarily combined without departing from the spirit of this disclosure.

[0174] In the above embodiments, the term "...part" used in each structural element can also be replaced with other terms such as "...circuitry", "...component", "...device", "...unit" or "...module".

[0175] This disclosure can be implemented in software, hardware, or software in cooperation with hardware. The functional blocks used in the above embodiments are implemented partially or wholly as LSIs (Large Scale Integration), and the processes described in the above embodiments can also be controlled partially or wholly by a single LSI or a combination of LSIs. An LSI can be composed of individual chips, or it can be composed of a single chip containing some or all of the functional blocks. An LSI may also include data input and output. Depending on the degree of integration, an LSI may also be referred to as an "IC (Integrated Circuit)," a "System LSI," a "Super LSI," or an "Ultra LSI."

[0176] The method of integrating the LSI is not limited to LSI; it can also be implemented using dedicated circuits, general-purpose processors, or special-purpose processors. Alternatively, it can utilize FPGAs (Field Programmable Gate Arrays) that can be programmed after LSI fabrication, or reconfigurable processors that can reconfigure the connections or settings of the circuit blocks within the LSI. This disclosure can also be implemented for digital or analog processing.

[0177] Furthermore, if advancements in semiconductor technology or the emergence of other derivative technologies lead to integrated circuit technologies that can replace LSIs, these technologies could also be used to integrate functional blocks. There are also possibilities for applications such as biotechnology.

[0178] This disclosure can be embodied as a control method executed in a wireless communication device or control device. Alternatively, this disclosure can also be embodied as a program for making the control method work via a computer. Furthermore, the invention can also be embodied as a recording medium on which the program is recorded in a computer-readable state. That is, this disclosure can be embodied as any of the following categories: apparatus, method, program, and recording medium.

[0179] This disclosure can be implemented in all kinds of devices, apparatuses, and systems with communication capabilities (collectively referred to as "communication devices"). A communication device may also include a wireless transceiver and processing / control circuitry. The wireless transceiver may also include a receiving unit and a transmitting unit, or perform the functions of these units. The wireless transceiver (transmitting unit, receiving unit) may also include an RF (Radio Frequency) module and one or more antennas. The RF module may also include an amplifier, an RF modulator / demodulator, or similar devices. Non-limiting examples of communication devices include: telephones (mobile phones, smartphones, etc.), tablet computers, personal computers (PCs) (laptops, desktops, laptops, etc.), cameras (digital cameras, digital camcorders, etc.), digital players (digital audio / video players, etc.), wearable devices (wearable cameras, smartwatches, tracking devices, etc.), game consoles, e-book readers, remote health / telemedicine (remote healthcare / medical prescription) devices, vehicles or transportation vehicles with communication capabilities (cars, airplanes, ships, etc.), and combinations of the various devices described above.

[0180] Communication devices are not limited to portable or movable devices, but also include all kinds of devices, equipment, and systems that cannot be carried or fixed. Examples include: smart home devices (home appliances, lighting equipment, smart meters or meters, control panels, etc.), vending machines, and all other "things" that can exist on the IoT (Internet of Things) network.

[0181] In addition to data communication via cellular systems, wireless LAN (Local Area Network) systems, and communication satellite systems, communication also includes data communication via a combination of these systems.

[0182] In addition, the communication device also includes devices such as controllers or sensors that are connected or linked to a communication device performing the communication functions described in this disclosure. For example, it includes a controller or sensor that generates control signals or data signals used by the communication device to perform the communication functions of the communication device.

[0183] In addition, the communication device includes infrastructure equipment that communicates with or controls the various devices described above (not limited to these), such as base stations, access points, and all other devices, equipment, and systems.

[0184] While specific examples of this disclosure have been described in detail above, these examples are merely illustrative and do not limit the scope of the claims. The technology described in the claims includes various modifications and alterations to the specific examples illustrated above.

[0185] The entire contents of the specification, drawings and abstract of the specification contained in Japanese Patent Application No. 2023-073511, filed on April 27, 2023, are incorporated herein by reference.

[0186] Industrial applicability

[0187] This disclosure is useful for techniques for adapting networks that have incorporated TSN.

[0188] Explanation of reference numerals in the attached figures

[0189] 100 Network System

[0190] Switches 1011, 1012, S1, and S2

[0191] Ports 1021, 1022, P1, and P2

[0192] 1031~1033, T1~T3 Sender

[0193] 1034, L1 receiver

[0194] 200 network devices

[0195] 201 Receiving Department

[0196] 202 Control Department

[0197] 203 Sending Department

[0198] 204 UI ​​Department

[0199] 205 Storage Department

[0200] 301 Input Port

[0201] 302 Destination Filter

[0202] 303 queue

[0203] 304

[0204] 305 output port

[0205] 306 Scheduler

[0206] 307 GCL Department.

Claims

1. A network device constituting a network, the network device comprising: The receiving unit receives constraint information related to the constraints of sending and receiving data packets from upstream network devices; as well as The control unit, when the transmission timings of multiple data packets sent to downstream network devices overlap, determines the transmission order of the multiple data packets based on the constraint information of each of the multiple data packets. If the constraint information of the multiple data packets cannot be satisfied in the determination of the transmission order, the control unit requests a change to the constraint information from the upstream network device.

2. The network device as described in claim 1, wherein, The control unit changes the constraint information of the data packets sent to the downstream network device based on the constraint information change request from the downstream network device.

3. The network device as described in claim 1, wherein, The control unit calculates the remaining time until the data packet reaches the destination network device based on the constraint information for each of the plurality of data packets, and determines the sending order in such a way that the remaining time is 0 or more.

4. The network device as described in claim 3, wherein, The control unit determines the transmission order in a manner that maximizes the sum of the remaining time of each of the plurality of data packets.

5. The network device as described in claim 3, wherein, The control unit requests a change to the constraint information from the upstream network device that sent the data packet whose remaining time has not reached 0 or more.

6. The network device as described in claim 3, wherein, The constraint information includes the expected arrival time of the data packets and the maximum data packet length. The control unit calculates the remaining time by subtracting the delay time based on the data packet transmission order, the time based on the maximum data packet length, and the time based on the number of hops to the destination of the data packet from the expected arrival time.

7. A scheduling method for network devices constituting a network, the scheduling method comprising the following steps: Receive constraint information related to the sending and receiving of data packets from upstream network devices; When the timing of sending multiple data packets to downstream network devices overlaps, the sending order of the multiple data packets is determined based on the constraint information of each of the multiple data packets. as well as If the constraint information of the multiple data packets cannot be satisfied in the determination of the transmission order, a request is made to the upstream network device to change the constraint information.

8. A program for a network device constituting a network, the program causing a processor to perform the following steps: Receive constraint information related to the sending and receiving of data packets from upstream network devices. When the transmission timing of multiple data packets sent to downstream network devices overlaps, the transmission order of the multiple data packets is determined based on the constraint information of each of the multiple data packets; and If the constraint information of the multiple data packets cannot be satisfied in the determination of the transmission order, a request is made to the upstream network device to change the constraint information.

9. A method for displaying a node graph, comprising the following steps: Displays a node diagram of the network devices that make up the network; Displays a timing diagram of the input data packets of the selected network devices on the node graph; A timing diagram showing the output data packets, determined by constraint information related to the constraints of sending and receiving the input data packets, and the timing diagram showing the sending order of the output data packets; and On the node graph, a notification path for a constraint information change request is displayed. This constraint information change request is sent by a network device that cannot satisfy the constraint information of the input data packet in determining the order of output data packet transmission.

Citation Information

Patent Citations

  • Traffic Scheduling Method, Device, and System

    JP2021536708A

  • gaming machines

    JP2023073511A