Control device
By grouping flows with the same or multiple transmission periods in large-scale networks, the control device addresses the computational complexity issue in TAS scheduling, achieving faster and more efficient time slot allocation.
Patent Information
- Application Number
- PCT/JP2024/023246
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-26
- Publication Date
- 2026-01-02
AI Technical Summary
The computational complexity of Time-Aware Shaper (TAS) scheduling in large-scale networks increases exponentially with the number of flows, making it difficult to complete scheduling within a finite time due to the need for end-to-end queuing delay guarantees and propagation delay considerations, especially in networks with multiple nodes.
A control device that groups flows with the same or multiple transmission periods together, treating them as a single flow for scheduling, and then allocates time slots to each group, reducing the number of flows to be scheduled and speeding up the scheduling process.
This approach significantly reduces the computational complexity and calculation time required for TAS scheduling by minimizing the number of flows considered, allowing for faster and more efficient allocation of time slots in large-scale networks.
Smart Images

Figure JP2024023246_02012026_PF_FP_ABST
Abstract
Description
control device
[0001] The present disclosure relates to a control device.
[0002] Non-Patent Document 1 defines TAS. "TAS" is an abbreviation for time aware shaper. Non-Patent Document 2 evaluates the influence of the number of flows and the accommodation rate on the TAS schedule calculation.
[0003] IEEE Computer Society, IEEE Std 802.1Qbv-2015, IEEE Standard for Local and metropolitan area networks -- Bridges and Bridged Networks - Amendment 25: Enhancements for Scheduled Traffic, March 18, 2016. Yuhei Kawakami and five others, "On the Impact of Accommodated Traffic on TAS Scheduling," 2024 IEICE General Conference, March 2024, B-6-66
[0004] By constructing a network with multiple nodes with TAS functionality, it is possible to realize a network function that guarantees maximum delay and maximum jitter, i.e., deterministic communication. In this case, it is necessary to assign time slots dedicated to deterministic communication to the output ports of all nodes that pass through end-to-end.
[0005] The mechanism of TAS is shown in Figure 10. TAS performs priority control by determining the traffic to be transmitted according to a time-shared schedule. Specifically, TAS stores frames in FIFO queues for each VLAN-CoS or IP-ToS, and allows transmission from queues with open gates according to the GCL. "VLAN" is an abbreviation for virtual local area network. "CoS" is an abbreviation for class of service. "IP" is an abbreviation for Internet Protocol. "ToS" is an abbreviation for type of service. "FIFO" is an abbreviation for first in, first out. "GCL" is an abbreviation for gate control list.
[0006] An example of a GCL is shown in Figure 11. TAS can control best-effort traffic and delay-guaranteed communication by superimposing them together. In the example shown in Figure 11, four ST flows and one NST flow are multiplexed. "ST" is an abbreviation for scheduled traffic. "NST" is an abbreviation for non-scheduled traffic. ST flows correspond to delay-guaranteed communication. NST flows correspond to non-guaranteed communication, i.e., best-effort traffic. The GCL shown in Figure 11 specifies that STs with CoS "7" are permitted in timeslots 1 and 3, STs with CoS "5" in timeslot 2, STs with CoS "4" in timeslot 4, and NSTs with CoS "3" or less are permitted in timeslot 5. This GCL further specifies that the duration for which communication is permitted in each of timeslots 1 through 4 is 15 microseconds, and the duration for which communication is permitted in timeslot 5 is 100 microseconds.
[0007] To avoid collisions end-to-end, all nodes in the network must be time-synchronized and the timing of opening and closing the GCL gates at each node must be coordinated. The GCL is either centrally managed by a controller called a CNC, or managed individually at each node. "CNC" stands for centralized network configuration. Each node opens its gate taking propagation delays into account, preventing collisions with other communications and enabling communication without queuing delays. The transmitting terminal is also time-synchronized and periodically transmits frames in accordance with the GCL timing, enabling communication without queuing delays.
[0008] TAS scheduling is known to be an NP-hard problem, and the computational complexity increases exponentially as the number of flows increases. "NP" stands for nondeterministic polynomial time. Specifically, the computational complexity required to design a GCL that satisfies the conditions of not causing end-to-end queuing delays at each node for flows that require delay guarantees, taking into account propagation delays, and not scheduling transmission timings at the same time, i.e., not sharing the same time slot, increases with the number of flows. In large-scale networks, due to the large number of nodes and route variations, the increase in computational complexity becomes significant as the number of flows increases, and there is a risk that scheduling will not be completed within a finite time.
[0009] For example, it is conceivable to treat TAS scheduling as a constraint satisfaction problem and execute TAS scheduling using a known algorithm for solving constraint satisfaction problems. However, to do so, a flow isolation constraint is required to prevent multiple flows from being queued at the same time at the output port of each node. This is equivalent to checking for overlapping time slots between flows, and the number of overlap checks increases exponentially as the number of flows increases.
[0010] The purpose of the present disclosure, which has been made in view of such circumstances, is to speed up scheduling.
[0011] A control device according to one embodiment is a control device that sets a plurality of time slots for each port of a plurality of communication devices, and includes: a communication unit that communicates with the plurality of communication devices; and a control unit that acquires, for each flow with a fixed transmission period that passes through a port of at least one of the plurality of communication devices, route information indicating the port to pass through and design information indicating the corresponding transmission period; classifies each flow into a plurality of groups based on the acquired route information and design information, under the condition that flows of the same group pass through a common port and that the transmission periods of the flows are multiples of each other; for each group included in the plurality of groups, collectively sets, at the common port, a group of time slots through which the classified flows will pass; and transmits update information indicating the collectively set group of time slots via the communication unit.
[0012] According to the present disclosure, scheduling can be speeded up.
[0013] 1 is a block diagram showing a configuration of a communication system according to an embodiment; FIG. 2 is a block diagram showing a configuration of a control device provided in the communication system; FIG. 3 is a table showing an example of grouping; FIG. 4 is a diagram showing an example of grouping; FIG. 5 is a diagram showing an example of grouping; FIG. 6 is a diagram showing an example of time slots before grouping is released; FIG. 7 is a diagram showing an example of time slots after grouping is released; FIG. 8 is a flowchart showing the operation of a control device; FIG. 9 is a diagram showing an example of domains; FIG. 10 is a diagram showing the mechanism of TAS; and FIG. 11 is a table showing an example of GCL.
[0014] An embodiment will be described below with reference to the drawings.
[0015] In each drawing, the same or corresponding parts are denoted by the same reference numerals. In the description of this embodiment, the description of the same or corresponding parts will be omitted or simplified as appropriate.
[0016] The configuration of a communication system 10 according to this embodiment will be described with reference to FIG.
[0017] The communication system 10 includes a control device 20 and a plurality of communication devices such as communication devices 31, 32, 33, and 34. The control device 20 and each communication device are connected by a monitoring and control network 11 and can communicate with each other via the monitoring and control network 11. The plurality of communication devices form a communication network 12, and frames can be transferred between any user terminals such as user terminals 41, 42, 43, and 44 via the communication network 12.
[0018] The control device 20 is a computer that monitors and controls each communication device. Each communication device accommodates a user and forwards frames to a port designated for each destination user terminal. The number of communication devices is four in this embodiment, but it may be two, three, five or more. Each user terminal is, for example, a terminal such as a mobile device or a PC, or a server such as a cloud server. "PC" is an abbreviation for personal computer. Each user terminal can be either the start point or the end point of a flow.
[0019] In this embodiment, port 31A of communication device 31 is connected to user terminal 41. Port 32A of communication device 32 is connected to user terminal 42. Port 33A of communication device 33 is connected to user terminal 43. Port 34A of communication device 34 is connected to user terminal 44. Port 31B of communication device 31 is connected to port 34B of communication device 34. Port 32B of communication device 32 is connected to port 33B of communication device 33. Port 31C of communication device 31 is connected to port 32C of communication device 32. Port 33C of communication device 33 is connected to port 34C of communication device 34.
[0020] An outline of this embodiment will be described with reference to FIG.
[0021] The control device 20 controls multiple communication devices using TAS scheduling. For each communication device, the control device 20 groups flows whose transmission periods are the same or a multiple of each other. The control device 20 treats each grouped flow as a single flow and performs TAS scheduling, thereby allocating time slots to each group. The control device 20 allocates time slots to each flow by ungrouping the time slots allocated to each group. The control device 20 then transmits information indicating the time slots allocated to each flow to the corresponding communication device. Therefore, according to this embodiment, the number of flows when calculating the schedule can be reduced from the actual number of flows, enabling faster scheduling.
[0022] The configuration of the control device 20 according to this embodiment will be described with reference to FIG.
[0023] The control device 20 includes a control unit 21 , a storage unit 22 , and a communication unit 23 .
[0024] The control unit 21 includes at least one processor, at least one programmable circuit, at least one dedicated circuit, or any combination thereof. The processor is a general-purpose processor such as a CPU or GPU, or a dedicated processor specialized for specific processing. "CPU" is an abbreviation for central processing unit. "GPU" is an abbreviation for graphics processing unit. An example of the programmable circuit is an FPGA. "FPGA" is an abbreviation for field-programmable gate array. An example of the dedicated circuit is an ASIC. "ASIC" is an abbreviation for application specific integrated circuit. The control unit 21 controls each part of the control unit 20 and executes processing related to the operation of the control unit 20.
[0025] The storage unit 22 includes at least one semiconductor memory, at least one magnetic memory, at least one optical memory, or any combination thereof. The semiconductor memory is, for example, a RAM, a ROM, or a flash memory. "RAM" is an abbreviation for random access memory. "ROM" is an abbreviation for read only memory. RAM is, for example, an SRAM or a DRAM. "SRAM" is an abbreviation for static random access memory. "DRAM" is an abbreviation for dynamic random access memory. ROM is, for example, an EEPROM. "EEPROM" is an abbreviation for electrically erasable programmable read only memory. Flash memory is, for example, an SSD. "SSD" is an abbreviation for solid-state drive. Magnetic memory is, for example, an HDD. "HDD" is an abbreviation for hard disk drive. The storage unit 22 functions, for example, as a main storage device, an auxiliary storage device, or a cache memory. The storage unit 22 stores information used in the operation of the control device 20 and information obtained by the operation of the control device 20 .
[0026] The communication unit 23 includes at least one communication module. The communication module is, for example, a module that complies with a LAN communication standard such as Ethernet (registered trademark). The communication unit 23 communicates with each communication device. The communication unit 23 receives information used in the operation of the control device 20 and transmits information obtained by the operation of the control device 20.
[0027] The functions of the control device 20 are realized by executing a program according to this embodiment on a processor serving as the control unit 21. That is, the functions of the control device 20 are realized by software. The program causes a computer to execute the operations of the control device 20, thereby causing the computer to function as the control device 20. That is, the computer functions as the control device 20 by executing the operations of the control device 20 in accordance with the program.
[0028] The program can be stored on a non-transitory computer-readable medium. Examples of the non-transitory computer-readable medium include flash memory, magnetic recording devices, optical disks, magneto-optical recording media, and ROMs. The program can be distributed by selling, transferring, or lending portable media such as SD cards, DVDs, or CD-ROMs that store the program. "SD" is an abbreviation for Secure Digital. "DVD" is an abbreviation for digital versatile disc. "CD-ROM" is an abbreviation for compact disc read only memory. The program can also be distributed by storing it in the storage of a server and transferring it from the server to another computer. The program can also be provided as a program product.
[0029] A computer temporarily stores a program stored on a portable medium or transferred from a server in its main storage device. The computer then reads the program stored in the main storage device with its processor and executes processing in accordance with the read program. The computer may also read the program directly from the portable medium and execute processing in accordance with the program. The computer may also execute processing in accordance with the received program each time a program is transferred from the server to the computer. Processing may also be executed using a so-called ASP-type service that realizes functions simply by issuing execution instructions and obtaining results, without transferring the program from the server to the computer. "ASP" is an abbreviation for application service provider. A program is information used for processing by a computer and includes something equivalent to a program. For example, data that is not a direct instruction to a computer but has properties that define computer processing falls under the category of "something equivalent to a program."
[0030] Some or all of the functions of the control device 20 may be implemented by a programmable circuit or a dedicated circuit as the control unit 21. In other words, some or all of the functions of the control device 20 may be implemented by hardware.
[0031] The storage unit 22 stores route information 13 indicating communication routes, which are routes for each of a plurality of flows. The control unit 21 has a route information reference function 24 that acquires the route information 13 stored in the storage unit 22.
[0032] The communication unit 23 receives design information 14 indicating the transmission period and time slot length of each of the multiple flows from an external device such as an administrator terminal. If the time slot length is uniformly determined, the information indicating the time slot length may be omitted. The control unit 21 has a design information reference function 25 that acquires the design information 14 received by the communication unit 23.
[0033] The storage unit 22 further stores a GCL 15 indicating the schedule of each of the multiple flows. The control unit 21 has a grouping function 26 that groups two or more flows having the same transmission period or a multiple relationship based on the route information 13 acquired by the route information reference function 24 and the design information 14 acquired by the design information reference function 25 for each port of each of the multiple communication devices. When schedule calculation is performed not only for new flows but also for existing flows for which schedule calculation has been performed, the control unit 21 may acquire information indicating the transmission period and time slot length of the existing flows as part of the design information 14 from the GCL 15 stored in the storage unit 22. When schedule calculation is performed again only for existing flows for which schedule calculation has been performed, the control unit 21 may acquire information indicating the transmission period and time slot length of the existing flows as the design information 14 from the GCL 15 stored in the storage unit 22 instead of acquiring the design information 14 by the design information reference function 25. When the time slot length is uniformly determined, the information indicating the time slot length may be omitted.
[0034] 3 to 5 show examples of grouping. In this example, a plurality of flows passing through one port of one of a plurality of communication devices, such as port 31A of communication device 31, includes a flow F100 with a transmission period of 100 microseconds, flows F200A and F200B with a transmission period of 200 microseconds, flows F400A and F400B with a transmission period of 400 microseconds, a flow F500 with a transmission period of 500 microseconds, flows F800A, F800B, F800C, and F800D with a transmission period of 800 microseconds, and flows F1000A and F1000B with a transmission period of 1000 microseconds. 4, the control unit 21 uses the grouping function 26 to include flows F800A, F800B, F800C, and F800D with a transmission period of 800 microseconds (four times 200 microseconds), flows F400A and F400B with a transmission period of 400 microseconds (twice 200 microseconds), and flows F200A and F200B with a transmission period of 200 microseconds, in the same group G200. As shown in FIG. 5, the control unit 21 uses the grouping function 26 to include flows F1000A and F1000B with a transmission period of 1000 microseconds (ten times 100 microseconds), and flow F500 with a transmission period of 500 microseconds (five times 100 microseconds), in the same group G100 as flow F100 with a transmission period of 100 microseconds. 3, the number of flows when performing schedule calculation can be reduced to 2, while the actual number of flows is 12. The control unit 21 may use the grouping function 26 to similarly group multiple flows that pass through other ports of the same communication device and each port of other communication devices.
[0035] In the above example, the flow F100 with a transmission period of 100 microseconds and the flows F200A and F200B with a transmission period of 200 microseconds are separated into separate groups, but since the transmission period of the flows F200A and F200B is twice that of 100 microseconds, they may be included in the same group as the flow F100 with a transmission period of 100 microseconds. Grouping different from the above example may also be performed for the other flows.
[0036] One possible grouping rule is to minimize the number of groups, but it is preferable to make minimizing the number of groups the first priority and eliminating imbalances in the number of flows per group the second priority. By adding the second priority, it becomes easier to avoid situations where too many flows are grouped into one group, which makes it difficult to allocate flows to other groups because the time slot length becomes too long.
[0037] The control unit 21 has a GCL design function 27 that performs TAS scheduling for flows grouped by the grouping function 26 as a single flow for each port of each of the multiple communication devices, and designs a GCL 15 by assigning time slots to the grouped flows. The control unit 21 further has a grouping degrouping function 28 that divides the time slots assigned to the grouped flows shown in the GCL 15 designed by the GCL design function 27, and creates a GCL 15 by assigning time slots to each of two or more flows included in the grouped flows. The control unit 21 stores the GCL 15 created by the grouping degrouping function 28 in the storage unit 22.
[0038] FIG. 6 shows an example of time slots before grouping is released, corresponding to the examples shown in FIGS. 3 to 5 . In this example, the control unit 21 uses the GCL design function 27 to design the GCL 15 so that the flows of group G200 pass through one port of one of the communication devices, such as port 31A of communication device 31, at a period of 200 microseconds, and the flows of group G100 pass through one port at a period of 100 microseconds. As shown in FIG. 6 , the GCL 15 may also be designed so that an ungrouped flow F300 passes through at a period of 300 microseconds. The GCL 15 is designed so that the flows of group G200, the flows of group G100, and the ungrouped flow F300 pass through the port in different time slots, and so that queuing delays do not occur. In other words, the flows of group G200 are assigned time slots long enough to allow all of the flows included in group G200 to pass through without delay, without overlapping with other time slots. The flow group of group G100 is also assigned time slots of sufficient length to allow all of the flows included in group G100 to pass without delay, without overlapping with other time slots. The control unit 21 may use the GCL design function 27 to similarly design GCLs 15 for other ports of the same communication device and for each port of other communication devices.
[0039] Fig. 7 shows an example of time slots after grouping is released, corresponding to the example shown in Fig. 6. In this example, the control unit 21 uses the grouping release function 28 to divide the time slots assigned to the flows of group G200 into four: a time slot for passing flow F200A having a transmission period of 200 microseconds, a time slot for passing flow F200B having a transmission period of 200 microseconds, a time slot for passing flows F400A and F400B having a transmission period of 400 microseconds alternately, and a time slot for passing flows F800A, F800B, F800C, and F800D having a transmission period of 800 microseconds in order. The control unit 21 uses the grouping release function 28 to divide the time slot allocated to the flows of group G100 into two: a time slot for flow F100 with a transmission period of 100 microseconds to pass through, and a time slot for flow F500 with a transmission period of 500 microseconds and flows F1000A and F1000B with a transmission period of 1000 microseconds to pass through in order. The control unit 21 releases the unallocated time slot. The GCL 15 is created to define the divided time slots in the same format as before, and is stored in the storage unit 22.
[0040] The communication unit 23 transmits update information 16 indicating the contents of the GCL 15 designed by the GCL design function 27 and created by the grouping release function 28 to the corresponding communication device.
[0041] As described above, in this embodiment, when TAS scheduling is performed, two or more flows that are communicated at the same period or a transmission period that is a multiple of the period are grouped, and the schedule calculation is performed as a single flow, thereby reducing the amount of calculation. Although the amount of calculation can be reduced by limiting the flows to be grouped to only flows with the same period, by including flows with transmission periods that are multiples of the period, the number of flows to be scheduled can be further reduced, and the calculation time can be further shortened.
[0042] In this embodiment, flows that have the same or multiple transmission periods and are communicated via the same route are grouped so that the number of groups is minimized. In the example shown in Figures 3 to 5, the number of groups is two. If there are no flows with the same or multiple transmission periods, grouping is not performed. The sum of the time slot lengths of the flows in each group is considered to be the time slot length of that group. In the example shown in Figures 3 to 5, when the time slot lengths of each flow are the same, for group G200, the time slot length can be reduced from 8 to 4 by combining multiple flows with transmission periods of 400 microseconds and 800 microseconds based on a flow with the minimum transmission period of 200 microseconds. For group G100, the time slot length can be reduced from 4 to 2 by combining multiple flows with transmission periods of 500 microseconds and 1000 microseconds based on a flow with the minimum transmission period of 100 microseconds. TAS scheduling is performed by treating each group as a flow. After scheduling, the time slots of each group are divided into time slot lengths for the flows, and time slots are assigned to each flow.
[0043] When grouping flows, the effective transmission period of the flows may be determined by dividing the transmission period by the number of flows with the same transmission period. In the examples shown in Figures 3 to 5, flows F400A and F400B with a transmission period of 400 microseconds can be considered as a single flow with a transmission period of 200 microseconds if they are passed through the time slots alternately. Flows F800A, F800B, F800C, and F800D with a transmission period of 800 microseconds can be considered as a single flow with a transmission period of 200 microseconds if they are passed through the time slots in order.
[0044] The operation of the control device 20 according to this embodiment will be described with reference to Fig. 8. The operation described below corresponds to the control method according to this embodiment. That is, the control method according to this embodiment includes at least steps S1 to S5 shown in Fig. 8.
[0045] In S1, the control unit 21 acquires route information 13 indicating the port through which a flow passes, for each flow with a fixed transmission period, that passes through a port of at least one of the plurality of communication devices. In this embodiment, the control unit 21 acquires the route information 13 for each ST flow from the storage unit 22. Alternatively, the control unit 21 may acquire the route information 13 from an external device such as an administrator terminal via the communication unit 23. For example, the route information 13 is stored in the storage unit 22 for each VLAN ID or for each combination of a source IP address and a destination IP address. When the VLAN ID or the combination of a source IP address and a destination IP address corresponding to each ST flow is specified, the control unit 21 acquires the corresponding route information 13 from the storage unit 22.
[0046] In S2, the control unit 21 acquires, for each flow, design information 14 indicating a corresponding transmission period. In this embodiment, the design information 14 further includes information indicating a time slot length corresponding to each flow. The control unit 21 acquires, for each ST flow, the design information 14 from an external device such as an administrator terminal via the communication unit 23, but may also acquire the design information 14 from the storage unit 22. For example, the design information 14 may be included in the GCL 15 stored in the storage unit 22.
[0047] In S3, the control unit 21 classifies each flow into multiple groups based on the routing information 13 and design information 14 acquired in S1 and S2, respectively, under the condition that flows in the same group pass through a common port and that their transmission periods are multiples of each other. For example, for two flows, "their transmission periods are multiples of each other" means that the transmission period of one flow is an integer multiple of the transmission period of the other flow, and may also include a case where the transmission period of one flow is 1x the transmission period of the other flow. Based on the routing information 13 and design information 14, the control unit 21 desirably minimizes the number of groups included in the multiple groups to the extent that the difference in total time slot length between the multiple groups is less than a threshold. The threshold may be set to a desired value in advance and may be changed as appropriate.
[0048] In S4, the control unit 21 collectively sets, for each group included in the multiple groups to which the flows classified in S3 are to be classified, a group of time slots for passing the flows to a common port. In this embodiment, when collectively setting the group of time slots for a group that includes at least one flow and at least two flows with a transmission period longer than that of at least one flow, the control unit 21 distributes and allocates the time slots for passing the remaining flows on the time axis based on the position of the time slot for passing the flow with the shortest transmission period in the same group. If, as a result of distributing and allocating the time slots for passing the remaining flows on the time axis, an unused slot, which is a time slot for which no flows are to pass, occurs, the control unit 21 releases the unused slot for a purpose other than the flows classified into the multiple groups.
[0049] In the examples shown in Figures 3 to 7, the control unit 21 collectively sets time slot groups for group G200, which is a group of flows F200A and F200B having a transmission period of 200 microseconds, and flows F400A and F400B and flows F800A, F800B, F800C, and F800D having transmission periods longer than those of flows F200A and F200B. During this collective setting, the control unit 21 distributes the time slots for the remaining flows F400A and F400B and flows F800A, F800B, F800C, and F800D on the time axis based on the position of the time slot for flows F200A and F200B having the shortest transmission period in group G200. Specifically, the control unit 21 places the time slot for flow F200B next to the time slot for flow F200A. The control unit 21 arranges a time slot through which the flows F400A and F400B pass alternately next to a time slot through which the flow F200B passes. The control unit 21 arranges a time slot through which the flows F800A, F800B, F800C, and F800D pass in order next to a time slot through which the flows F400A and F400B pass alternately.
[0050] 3 to 7, the control unit 21 also collectively sets time slot groups for a group G100 that includes a flow F100 having a transmission period of 100 microseconds and a flow F500 and flows F1000A and F1000B having transmission periods longer than that of flow F100. During this collective setting, the control unit 21 distributes the time slots that allow the remaining flows F500 and F1000A and F1000B to pass on the time axis based on the position of the time slot that allows flow F100, which has the shortest transmission period, to pass on the group G100. Specifically, the control unit 21 arranges the time slots that allow flow F500 and flows F1000A and F1000B to pass in order next to the time slot that allows flow F100 to pass. As a result, the time slots through which flow F500 and flows F1000A and F1000B pass in sequence become unused six times per 1000 microseconds. Therefore, the control unit 21 releases these unused slots so that they can be assigned to other ST flows or NST flows.
[0051] In S5, control unit 21 transmits update information 16 indicating the time slot groups collectively set in S4 to the corresponding communication devices via communication unit 23. The communication devices that receive update information 16 apply the settings of the time slot groups indicated in update information 16 to the corresponding ports.
[0052] As a variation of this embodiment, a communication network 12A may be constructed in which multiple communication devices are divided into two or more domains, as shown in FIG. 9 . In this example, for communication devices 31, 32, and 33 included in domain D1, flows F200 and F400, which have the same or multiple-numbered transmission periods and the same communication path within domain D1, are grouped together. Since there are no flows with the same communication path in domain D2, no flows are grouped for communication devices 34, 35, and 36 included in domain D2. For communication devices 37 and 38 included in domain D3, flows F100 and F500, which have the same or multiple-numbered transmission periods and the same communication path within domain D3, are grouped together. Since there are no flows with the same communication path in domain D4, no flows are grouped for communication device 39 included in domain D4.
[0053] In this variant, the wider the range of the domain, the fewer the number of flows that can be grouped, but the shorter the total time slot length of the group, which tends to increase the degree of freedom in GCL design and simplify the GCL design. On the other hand, the narrower the range of the domain, the more the number of flows that can be grouped, but the longer the total time slot length of the group, which tends to complicate the GCL design. Therefore, the range of the domain may be determined appropriately taking into account the number of flows that can be grouped and the time slot length of the group.
[0054] The present disclosure is not limited to the above-described embodiments. For example, two or more blocks shown in the block diagram may be integrated, or one block may be divided. Two or more steps shown in the flowchart may be executed in parallel or in a different order, instead of being executed in chronological order as described, depending on the processing capabilities of the device executing each step, or as needed. Other modifications are possible within the scope of the present disclosure.
[0055] REFERENCE SIGNS LIST 10 Communication system 11 Monitoring and control network 12, 12A Communication network 13 Route information 14 Design information 15 GCL 16 Update information 20 Control device 21 Control unit 22 Storage unit 23 Communication unit 24 Route information reference function 25 Design information reference function 26 Grouping function 27 GCL design function 28 Grouping release function 31, 32, 33, 34, 35, 36, 37, 38, 39 Communication device 31A, 31B, 31C, 32A, 32B, 32C, 33A, 33B, 33C, 34A, 34B, 34C Port 41, 42, 43, 44 User terminal
Claims
1. A control device that sets multiple time slots for each port of multiple communication devices, comprising: a communication unit that communicates with the multiple communication devices; and a control unit that acquires, for each flow with a fixed transmission period that passes through a port of at least one of the multiple communication devices, route information indicating the port to pass through and design information indicating the corresponding transmission period; based on the acquired route information and design information, classifies each flow into multiple groups under the condition that flows of the same group pass through a common port and that the transmission periods of the flows are multiples of each other; for each group included in the multiple groups, collectively sets, at the common port, a group of time slots through which the classified flows will pass; and transmits update information indicating the collectively set group of time slots via the communication unit.
2. The control device according to claim 1, wherein when the control unit collectively sets the time slot groups for a group of the plurality of groups that is made up of at least one flow and at least two flows with a transmission period longer than the transmission period of the at least one flow, the control unit distributes the time slots that allow the remaining flows to pass on the time axis based on the position of the time slot that allows the flow with the shortest transmission period in the same group to pass.
3. The control device described in claim 2, wherein, when an unused slot, which is a time slot through which no flow is allowed to pass, occurs as a result of distributing the time slots through which each of the remaining flows passes on the time axis, the control unit releases the unused slot for a purpose other than the flows classified into the multiple groups.
4. A control device as described in any one of claims 1 to 3, wherein the design information further includes information indicating a time slot length corresponding to each flow, and the control unit minimizes the number of groups included in the plurality of groups based on the route information and the design information to the extent that the difference in total time slot length among the plurality of groups is less than a threshold value.
Citation Information
Patent Citations
Data transmission method and system, electronic equipment and storage medium
CN117082003A
Communication system, control device, and program
WO2024127519A1