Concentrator, communication system, control method and program

The concentrator system optimizes transmission timings for grouped packet streams to prevent congestion in communication networks, maintaining transmission rates and ensuring data quality by adjusting transmission times.

JP7748011B2Active Publication Date: 2025-10-02NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024527915
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-13
Publication Date
2025-10-02
Estimated Expiration
2042-06-13

AI Technical Summary

Technical Problem

Conventional ECN methods fail to accurately detect congestion in communication networks with bursty traffic, leading to unnecessary reduction in transmission rates and potential scheduling delays, resulting in inefficient network utilization and suboptimal data quality.

Method used

A concentrator system that groups packet streams from multiple terminals, derives optimal transmission start timings to avoid overlaps, and instructs terminals to adjust their transmission times to prevent congestion without reducing transmission rates.

Benefits of technology

The system effectively suppresses congestion while maintaining transmission rates, ensuring desired data quality by adjusting transmission timings rather than reducing rates, thus enhancing network utilization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007748011000001
    Figure 0007748011000001
  • Figure 0007748011000002
    Figure 0007748011000002
  • Figure 0007748011000003
    Figure 0007748011000003
Patent Text Reader

Abstract

One aspect of the present invention is a line concentration device that receives streams transmitted from a plurality of transmission terminals. The streams transmitted from the plurality of transmission terminals are pre-grouped, and the line concentration device comprises a first derivation unit that derives transmission start timings that will make it so that reception periods for packet groups included in the streams of the groups do not overlap within groups, a second derivation unit that derives transmission start timings that will make it so that reception periods for packet groups transmitted at the transmission start timings derived by the first derivation unit do not overlap between different groups, and an instruction unit that gives the transmission terminals the transmission start timings derived by the second derivation unit.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a concentrator, a communication system, a control method, and a program technology. [Background technology]

[0002] The wireless scheduling (Proportional Fair) used in the prior art allocates bandwidth fairly to transmitting terminals, and grants transmission permission alternately to multiple transmitting terminals, even when transmitting bursty traffic such as video traffic. Here, "bursty" means that the amount of data transmitted is large, but does not continue for a long period of time. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] “(4) High-Efficiency Packet Access Technology in Data Link Layer / Physical Layer”, NTT DoCoMo Technical Journal, Vol. 11 No. 2. https: / / www.docomo.ne.jp / binary / pdf / corporate / technology / rd / technical_journal / bn / vol11_2 / vol11_2_032jp.pdf [Non-patent document 2] IETF RFC 3550, “RTP: A Transport Protocol for Real-Time Applications”.https: / / www.rfc-editor.org / rfc / rfc3550.txt [Non-patent document 3] IETF RFC6679, “Explicit Congestion Notification (ECN) for RTP over UDP”.https: / / www.rfc-editor.org / rfc / rfc6679.txt Summary of the Invention [Problem to be solved by the invention]

[0004] Fig. 1 is a block diagram showing an example of the configuration of a communication system. The communication system includes a plurality of transmitting terminals and receiving terminals. The transmitting terminals and receiving terminals are connected via a communication network. The communication network includes a bottleneck link.

[0005] Figures 2 and 3 show a situation where the data transmission timing from multiple transmitting terminals is almost the same. Figure 2 shows the change over time in the amount of data transmitted from multiple transmitting terminals. Figure 3 shows the change over time in the queue length at a node in a communication network. The amount of transmitted data in the communication network repeatedly increases and decreases, and the queue length at the node also repeatedly increases and decreases. Therefore, although congestion may occur momentarily, on average the communication network is not congested.

[0006] In conventional ECN, nodes in a communication network monitor queue lengths to detect congestion. However, as shown in Figure 3, depending on the timing of queue length monitoring, it may not be possible to detect an increase in queue length, i.e., congestion. Furthermore, even if the communication network is not congested on average, if congestion is notified and the transmission rate is reduced every time the queue length exceeds a threshold, the transmission rate will decrease more than necessary. This means a decrease in network utilization efficiency. It may also be impossible to achieve the data quality (e.g., video quality) originally required by the application.

[0007] In this way, when the timing of video traffic transmission from multiple transmitting terminals overlaps, there is a problem in that a large scheduling delay occurs before the data that makes up one image is completely sent.

[0008] In view of the above circumstances, an object of the present invention is to provide a technique that can suppress congestion in a communication network while mitigating a decrease in transmission rate. [Means for solving the problem]

[0009] One aspect of the present invention is a concentrator that receives streams transmitted from a plurality of transmitting terminals, the streams transmitted from the plurality of transmitting terminals being pre-grouped, and the concentrator is equipped with: a first derivation unit that derives a transmission start timing at which the reception periods of packet groups included in streams belonging to a group do not overlap within the group; a second derivation unit that derives a transmission start timing at which the reception periods of packet groups transmitted according to the transmission start timing derived by the first derivation unit do not overlap in different groups; and an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit.

[0010] One aspect of the present invention is a communication system including a plurality of transmitting terminals and a concentrator that receives streams transmitted from the transmitting terminals, wherein the streams transmitted from the plurality of transmitting terminals are pre-grouped, and the concentrator is equipped with a first derivation unit that derives a transmission start timing at which the reception periods of packet groups included in streams belonging to a group do not overlap within the group, a second derivation unit that derives a transmission start timing at which the reception periods of packet groups transmitted at the transmission start timing derived by the first derivation unit do not overlap in different groups, and an instruction unit that instructs the transmitting terminals to use the transmission start timing derived by the second derivation unit, and the transmitting terminals start transmission at the transmission start timing instructed by the instruction unit.

[0011] One aspect of the present invention is a communication system including a concentrator that receives streams transmitted from multiple transmitting terminals and a congestion control device, wherein the streams transmitted from the multiple transmitting terminals and received by the concentrator are pre-grouped, and the congestion control device is equipped with a first derivation unit that derives a transmission start timing at which the reception periods of packet groups included in streams belonging to a group do not overlap within the group, a second derivation unit that derives a transmission start timing at which the reception periods of packet groups transmitted at the transmission start timing derived by the first derivation unit do not overlap in different groups, and an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit.

[0012] One aspect of the present invention is a control method for a concentrator that receives streams transmitted from a plurality of transmitting terminals, the streams transmitted from the plurality of transmitting terminals being grouped in advance, the control method comprising: a first derivation step of deriving a transmission start timing at which the reception periods of packet groups included in streams belonging to a group do not overlap within the group; a second derivation step of deriving a transmission start timing at which the reception periods of packet groups transmitted according to the transmission start timing derived by the first derivation step do not overlap in different groups; and an instruction step of instructing the transmitting terminal of the transmission start timing derived by the second derivation step.

[0013] One aspect of the present invention is a program for causing a computer to function as a concentrator that receives streams transmitted from multiple transmitting terminals, the program causing the computer to function as a first derivation unit that derives a transmission start timing at which the reception periods of packet groups included in streams belonging to a group do not overlap within the group, where the streams transmitted from the multiple transmitting terminals are pre-grouped, a second derivation unit that derives a transmission start timing at which the reception periods of packet groups transmitted at the transmission start timing derived by the first derivation unit do not overlap in different groups, and an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit. [Effects of the Invention]

[0014] According to the present invention, it is possible to suppress congestion in a communication network while mitigating a decrease in transmission rate. [Brief explanation of the drawings]

[0015] [Figure 1] FIG. 1 is a block diagram illustrating an example of the configuration of a communication system. [Figure 2] 10 is a timing chart for explaining the problem. [Figure 3] 10 is a timing chart for explaining the problem. [Figure 4] 1 is a block diagram illustrating an example of the configuration of a communication system according to an embodiment of the present invention. [Figure 5] FIG. 2 is a conceptual diagram for explaining one stream received by a concentrator according to an embodiment of the present invention. [Figure 6] FIG. 1 is a conceptual diagram for explaining an overview of congestion control according to an embodiment of the present invention. [Figure 7] FIG. 1 is a conceptual diagram for explaining an overview of congestion control according to an embodiment of the present invention. [Figure 8] 1 is a block diagram illustrating an example of the configuration of a concentrator according to an embodiment of the present invention; [Figure 9] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a congestion controller according to an embodiment of the present invention. [Figure 10] FIG. 2 is a block diagram illustrating an example of a functional configuration of a congestion controller according to an embodiment of the present invention. [Figure 11] FIG. 4 is a conceptual diagram showing an example of a stream identification table according to the embodiment of the present invention. [Figure 12] 10 is a flowchart illustrating an example of a stream information acquisition process according to the embodiment of the present invention. [Figure 13] FIG. 10 is a conceptual diagram for explaining an example of a stream information acquisition process according to an embodiment of the present invention. [Figure 14]FIG. 10 is a conceptual diagram for explaining a modified example of the stream information acquisition process according to the embodiment of the present invention. [Figure 15] 4 is a flowchart showing a process related to a feedback control process according to the embodiment of the present invention. [Figure 16] 10A and 10B are conceptual diagrams for explaining an example of overlap determination processing according to an embodiment of the present invention; [Figure 17] 5 is a flowchart showing a first example of a feedback control process according to the embodiment of the present invention. [Figure 18] FIG. 4 is a conceptual diagram illustrating an example of a feedback control table according to the embodiment of the present invention. [Figure 19] 10 is a flowchart showing a second example of a feedback control process according to the embodiment of the present invention. [Figure 20] FIG. 10 is a conceptual diagram showing another example of a feedback control table according to the embodiment of the present invention. [Figure 21] FIG. 10 is a conceptual diagram for explaining a third example of the feedback control process according to the embodiment of the present invention. [Figure 22] FIG. 4 is a conceptual diagram showing an example of a stream identification table according to the embodiment of the present invention. [Figure 23] FIG. 10 is a conceptual diagram illustrating an example of a stream bandwidth table according to an embodiment of the present invention. [Figure 24] 10 is a flowchart showing a third example of a feedback control process according to an embodiment of the present invention. [Figure 25] 1 is a conceptual diagram for explaining an application example of a concentrator according to an embodiment of the present invention; [Figure 26] FIG. 10 is a diagram illustrating an example of the configuration of a congestion control program in an application example of a concentrator. [Figure 27] FIG. 10 is a diagram illustrating an example of a stream identification table. [Figure 28] FIG. 10 is a diagram illustrating an example of a feedback control table. [Figure 29] 10 is a flowchart showing the flow of processing of a congestion control program. [Figure 30] 10 is a flowchart showing the flow of processing of a congestion control program. [Figure 31] FIG. 10 is a diagram illustrating an example of the configuration of a feedback control unit in the second embodiment. [Figure 32] 10 is a diagram illustrating an example of derivation of a first feedback unit and a second feedback unit. FIG. [Figure 33] FIG. 10 is a diagram illustrating an example of a stream identification table. [Figure 34] FIG. 10 is a diagram showing a feedback control table. [Figure 35] FIG. 10 is a diagram showing a feedback control table. [Figure 36] FIG. 10 is a diagram showing a feedback control table. [Figure 37] 10 is a flowchart showing a processing flow in the second embodiment. [Figure 38] FIG. 1 illustrates a first example of a configuration of a communication system. [Figure 39] FIG. 10 is a diagram illustrating a second configuration example of a communication system. DETAILED DESCRIPTION OF THE INVENTION

[0016] An embodiment of the present invention will be described with reference to the accompanying drawings.

[0017] (First embodiment) 1. Overview FIG. 4 is a block diagram showing a schematic configuration example of a communication system 1 according to this embodiment. The communication system 1 includes a plurality of transmitting devices 10 and at least one receiving device 20. The plurality of transmitting devices 10 and the receiving device 20 are connected to each other via a communication network. Each transmitting device 10 transmits a stream to the receiving device 20. The stream is, for example, a video stream. The receiving device 20 receives the stream transmitted from the transmitting device 10 via the communication network. Note that a bottleneck link exists in the communication network.

[0018] The communication system 1 further includes a concentrator 30 installed in the communication network. The concentrator 30 is located between the transmitter 10 and the receiver 20. For example, the concentrator 30 is a switch. The concentrator 30 receives multiple streams transmitted from the multiple transmitters. The concentrator 30 then transmits each of the received streams to the receiver 20.

[0019] The concentrator 30 according to this embodiment includes a congestion controller 100 that performs congestion control as needed. The following describes an overview of the congestion control performed by the congestion controller 100.

[0020] FIG. 5 is a conceptual diagram illustrating one stream ST that the concentrator 30 receives from the transmitter 10. The stream ST is composed of a large number of packets. The "packet interval α" is the time interval between the beginning of one packet and the beginning of the next packet. A group of packets (a series of packets) whose packet interval α is equal to or less than a certain time β is hereinafter referred to as a "packet train PT." For example, the certain time β is 100 μs. The train start time ts and the train end time te are the start time and end time of one packet train PT, respectively. The train duration TD is the duration of one packet train PT, and is the time from the train start time ts to the train end time te. The train interval TI is the time interval between two consecutive packet trains PT. In other words, the train interval TI is the difference in the train start time ts between one packet train PT and the next packet train PT.

[0021] The congestion controller 100 identifies (specifies) the stream ST to which the received packet belongs based on the header information of the received packet. Then, the congestion controller 100 recognizes a packet train PT for each stream ST. In other words, the congestion controller 100 recognizes a train start time ts, a train end time te, and a train duration TD for each stream ST.

[0022] Furthermore, the congestion controller 100 acquires a train interval TI for each stream ST. For example, the congestion controller 100 calculates the train interval TI based on the recognition result (train start time ts) of a continuous packet train PT. As another example, the congestion controller 100 may acquire information about the train interval TI in advance from media information described based on protocols such as SIP (Session Initiation Protocol) and RTCP (Real-time Transport Control Protocol).

[0023] Furthermore, the congestion controller 100 estimates a reception period RP of a future packet train PT for each stream ST. More specifically, the congestion controller 100 estimates the train start time ts of the next and subsequent packet trains PT based on the recognition result (train start time ts) of the packet train PT and the train interval TI. The train start time ts estimated for a future packet train PT is hereinafter referred to as the "estimated train start time tse." Furthermore, the congestion controller 100 estimates the reception period RP of a future packet train PT based on the estimated train start time tse and the train duration TD (see FIG. 5).

[0024] Furthermore, the congestion controller 100 determines whether the estimated reception periods RP of the multiple streams ST overlap. If the estimated reception periods RP of the multiple streams ST overlap, the congestion controller 100 predicts congestion and performs congestion control to suppress the congestion. The congestion control according to this embodiment requests (instructs) the transmitting device 10 to "change the transmission timing" rather than "reduce the transmission rate."

[0025] More specifically, the congestion controller 100 selects at least one "target stream ST_t" from among the multiple overlapping streams ST. The target stream ST_t is the target for shifting the reception period RP. The congestion controller 100 then instructs the transmitting device 10 transmitting the target stream ST_t to change the transmission timing of the packet train PT. Specifically, the congestion controller 100 transmits (feeds back) feedback information instructing the transmitting device 10 transmitting the target stream ST_t to change the transmission timing.

[0026] 6 shows, as an example, estimated reception periods RP for three types of streams ST_1, ST_2, and ST_3 received by the concentrator 30. In the example shown in FIG. 6, the estimated reception periods RP for streams ST_1 and ST_2 overlap, and the estimated reception periods RP for streams ST_2 and ST_3 overlap. The congestion controller 100 selects, for example, stream ST_2 as the target stream ST_t. Then, the congestion controller 100 instructs the transmitting device 10 transmitting stream ST_2 to change the transmission timing of the packet train PT.

[0027] 7, the congestion controller 100 calculates the amount of shift of the reception period RP required to eliminate the overlap of the reception periods RP for the stream ST_2. Then, the congestion controller 100 instructs the transmitting device 10 transmitting the stream ST_2 to delay the transmission timing of the packet train PT by the calculated amount of shift. This more reliably avoids the occurrence of congestion.

[0028] As another example, the congestion controller 100 may simply instruct a change in the transmission timing of the packet train PT without calculating the shift amount. For example, the congestion controller 100 instructs to delay the transmission timing by a certain time. If the overlap is still not resolved after that, the congestion controller 100 issues another instruction (feedback). By repeatedly issuing the instruction (feedback), it is expected that the overlap will be resolved and the occurrence of congestion will be suppressed.

[0029] As described above, according to this embodiment, the concentrator 30 in the communication network includes the congestion controller 100. For each received stream ST, the congestion controller 100 recognizes a packet train PT, acquires a train interval TI, and estimates a reception period RP of a future packet train PT. If there is an overlap between the estimated reception periods RP of multiple streams ST, the congestion controller 100 selects at least one target stream ST_t from among the multiple streams ST. The congestion controller 100 then instructs the transmitting device 10 transmitting the target stream ST_t to change the transmission timing of the packet train PT. This prevents overlaps and congestion in the communication network. As a result, increases in queuing delay and packet loss in bottleneck links are also suppressed. These are desirable from the perspective of communication quality.

[0030] In particular, according to this embodiment, a "change in transmission timing" is instructed rather than a "reduction in transmission rate." Therefore, it is possible to suppress congestion in a communication network without lowering the transmission rate. Suppressing congestion without lowering the transmission rate is preferable from the viewpoint of network utilization efficiency. Furthermore, since the transmission rate is not reduced, the desired data quality of the application is ensured. For example, it is possible to ensure the desired video quality without the need to lower the image quality or resolution of the video stream.

[0031] The congestion control according to this embodiment will be described in more detail below.

[0032] 8 is a block diagram showing a schematic configuration example of a concentrator 30 according to this embodiment. The concentrator 30 includes a lower-level transmitter / receiver 31, an upper-level transmitter / receiver 32, and a switching processor 33. The lower-level transmitter / receiver 31 is connected to a communication network on the transmitting device 10 side. The upper-level transmitter / receiver 32 is connected to a communication network on the receiving device 20 side.

[0033] The switching processing unit 33 performs switching processing to transfer packets of the main signal. For example, the switching processing unit 33 receives packets transmitted from the transmitting device 10 via the lower transmitting / receiving unit 31. Then, the switching processing unit 33 transfers the received packets to the receiving device 20 via the upper transmitting / receiving unit 32.

[0034] The switching processing unit 33 also includes a matching processing unit 34. The matching processing unit 34 has a matching table in which stream identifiers of specific streams are registered. Examples of stream identifiers include a combination of a source address, a source port, a destination address, a destination port, and a protocol. The matching processing unit 34 compares the header information of a received packet with the matching table to identify (specify) the stream ST to which the received packet belongs.

[0035] The concentrator 30 further includes the above-mentioned congestion controller 100. The congestion controller 100 performs congestion control as needed. The congestion controller 100 may include a matching processing unit .

[0036] The main processing by the congestion controller 100 is performed independently of the transfer of the main signal by the switching processing unit 33. Therefore, the processing by the congestion controller 100 does not affect the transfer of the main signal by the switching processing unit 33.

[0037] 9 is a block diagram showing an example of the hardware configuration of the congestion controller 100. The congestion controller 100 includes one or more processors 110 (hereinafter simply referred to as "processors 110") and one or more storage devices 120 (hereinafter simply referred to as "storage devices 120").

[0038] The processor 110 performs various types of information processing. For example, the processor 110 includes a CPU (Central Processing Unit). The storage device 120 stores various types of information required for processing by the processor 110. Examples of the storage device 120 include a volatile memory, a non-volatile memory, an HDD (Hard Disk Drive), and an SSD (Solid State Drive).

[0039] The storage device 120 stores a stream identification table 210, a feedback control table 220, etc. The stream identification table 210 and the feedback control table 220 will be described later.

[0040] The congestion control program 130 is a computer program executed by the processor 110. The processor 110 executes the congestion control program 130 to realize the functions of the congestion controller 100. The congestion control program 130 is stored in the storage device 120. The congestion control program 130 may be recorded on a computer-readable recording medium. The congestion control program 130 may be provided to the congestion controller 100 via a network.

[0041] The congestion controller 100 may be realized using hardware such as an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA).

[0042] 10 is a block diagram showing an example of the functional configuration of the congestion controller 100. The congestion controller 100 includes, as functional blocks, a storage unit 200, a stream information acquisition unit 300, and a feedback control unit 400. The storage unit 200 corresponds to the storage device 120, and stores a stream identification table 210, a feedback control table 220, etc. The stream information acquisition unit 300 executes stream information acquisition processing. The stream information acquisition unit 300 includes the above-mentioned matching processing unit 34. The feedback control unit 400 executes feedback control processing.

[0043] The following describes the processing performed by the stream information acquisition unit 300 and the feedback control unit 400 according to this embodiment.

[0044] 3. Stream Information Acquisition Processing The stream information acquisition unit 300 recognizes, for each stream ST, packet trains PT whose packet interval α is equal to or less than a certain time β. Furthermore, based on the information of the recognized packet train PT, the stream information acquisition unit 300 acquires stream information indicating the characteristics of the stream ST to which the packet train PT belongs. Then, the stream information acquisition unit 300 registers the acquired stream information in the stream identification table 210.

[0045] FIG. 11 is a conceptual diagram showing an example of the stream identification table 210. The stream identification table 210 has a separate entry for each stream ST. Each entry includes a stream number, a stream identifier, a previous train start time, a train size, an average packet interval, a train duration TD, a train interval TI, and the like. An example of a stream identifier is a combination of a source address, a source port, a destination address, a destination port, and a protocol. The previous train start time is the train start time ts of the previously recognized packet train PT. The train size is the amount of data contained in one packet train PT. The average packet interval is the average packet interval α within one packet train PT. The train duration TD is the duration of one packet train PT, which is the time from the train start time ts to the train end time te.

[0046] Fig. 12 is a flowchart showing an example of the stream information acquisition process, and Fig. 13 is a conceptual diagram for explaining an example of the stream information acquisition process.

[0047] The matching processing unit 34 of the stream information acquisition unit 300 receives packets of multiple streams ST. When the matching processing unit 34 receives packets (step S310; Yes), the process proceeds to step S320. During a period when no packets are received (step S310; No), the process proceeds to step S340.

[0048] In step S320, the matching processing unit 34 identifies the stream ST to which the received packet belongs. Specifically, the matching processing unit 34 has a matching table in which stream identifiers of specific streams are registered. A specific stream is, for example, a stream with a specific priority. The priority is defined, for example, by a CoS (Class of Service) value in the header. The matching processing unit 34 compares the header information of the received packet with the matching table to identify (specify) the stream ST to which the received packet belongs.

[0049] The stream information acquisition unit 300 refers to the stream identification table 210 and checks whether an entry for the identified stream ST exists. If an entry for the identified stream ST has not yet been created, the stream information acquisition unit 300 adds a new entry for the identified stream ST to the stream identification table 210. Furthermore, the stream information acquisition unit 300 writes the stream identifier of the identified stream ST into the new entry (see FIG. 11).

[0050] The matching processing unit 34 also has a counter that counts the number of received packets for each stream ST. In step S330, the matching processing unit 34 increments the counter value for the stream ST identified in step S320. Thereafter, the process returns to step S310.

[0051] In step S340, the matching processing unit 34 determines, for each stream ST, whether a certain time β (e.g., 100 μs) has elapsed since the previous packet reception. If the certain time β has not elapsed since the previous packet reception (step S340; No), the process returns to step S310. On the other hand, if the certain time β has elapsed since the previous packet reception for a certain stream ST (step S340; Yes), the matching processing unit 34 ends counting for that stream ST. Then, the process for that stream ST proceeds to step S350.

[0052] In step S350, the stream information acquisition unit 300 recognizes a packet train PT. As shown in Fig. 13, a series of packets received from the start of counting to the end of counting corresponds to one packet train PT. The train start time ts and the train end time te are the start time and end time of the recognized packet train PT.

[0053] In step S360, the stream information acquisition unit 300 acquires stream information indicating the characteristics of the stream ST to which the packet train PT belongs, based on the information of the recognized packet train PT. Then, the stream information acquisition unit 300 registers the acquired stream information in the stream identification table 210 (see FIG. 11).

[0054] The train duration TD is the time from the train start time ts to the train end time te of the packet train PT. In the example shown in Fig. 11, the train duration TD is 18.97 ms.

[0055] The train size is the amount of data contained in a packet train PT. For example, if a packet train PT contains 7906 packets, each of which is 1518 bytes in size, the train size is 12 MB. The train size may indicate the packet size and the number of received packets instead of the amount of data.

[0056] The average packet interval is the average packet interval α within a packet train PT. For example, the average packet interval is calculated by "train duration TD / (counter value at the end of counting - counter value at the start of counting)". In the example shown in Figure 11, the average packet interval is 2.4 μs (= 18.97 ms / 7906).

[0057] The train interval TI is the time interval between two consecutive packet trains PT. The train interval TI is calculated from the train start time ts of the previously recognized packet train PT and the train start time ts of the currently recognized packet train PT. In the example shown in Figure 11, the train interval TI is 100 ms.

[0058] FIG. 14 is a conceptual diagram illustrating a modified example of the stream information acquisition process. In this modified example, the matching processing unit 34 acquires, as statistical information, the total number of received packets and the total number of received bytes within a predetermined measurement period for each stream ST. The measurement periods may be synchronized between multiple streams ST, or may be staggered for load balancing. The stream information acquisition unit 300 acquires stream information based on statistical information for a predetermined measurement period. For example, the train duration TD is the sum of a series of measurement periods in which the total number of received packets exceeds a certain amount in succession. The train size is the sum of the total number of received bytes in a series of measurement periods in which the total number of received packets exceeds a certain amount in succession. The train interval TI is the sum of a series of measurement periods in which the total number of received packets is equal to or less than a certain amount in succession.

[0059] The matching processing unit 34 may be separate from the stream information acquisition unit 300. In this case, the matching processing unit 34 notifies the stream information acquisition unit 300 of the results of the matching processing. At this time, the matching processing unit 34 does not necessarily need to notify the results of the matching processing for all packets. The matching processing unit 34 may notify the stream information acquisition unit 300 of only a summary of some of the results of the matching processing. For example, the matching processing unit 34 may notify the stream information acquisition unit 300 of the count start timing, the number of received packets (counter value) and the number of received bytes at the start of counting, the count end timing, and the number of received packets (counter value) and the number of received bytes at the end of counting. In the modified example shown in FIG. 14 , the matching processing unit 34 notifies the stream information acquisition unit 300 of only statistical information for a predetermined measurement period. The stream information acquisition unit 300 acquires stream information based on the information notified from the matching processing unit 34.

[0060] 4. Feedback Control Processing FIG. 15 is a flowchart showing processing related to the feedback control processing according to this embodiment.

[0061] In step S410, the feedback control unit 400 estimates a reception period RP of a future packet train PT for each stream ST. Then, the feedback control unit 400 determines whether the estimated reception periods RP of the multiple streams ST overlap. If there is an overlap (step S410; Yes), the feedback control unit 400 performs feedback control processing (step S420). Otherwise (step S410; No), the processing for this cycle ends.

[0062] The overlap determination process (step S410) and the feedback control process (step S420) will be described in more detail below.

[0063] 4-1. Step S410 (Overlap Determination Process) The feedback control unit 400 estimates the reception period RP of a future packet train PT based on the stream identification table 210. As illustrated in FIG. 11, the stream identification table 210 includes the previous train start time ts, train duration TD, and train interval TI. The feedback control unit 400 estimates the estimated train start time tse of a future packet train PT based on the previous train start time ts and train interval TI. Furthermore, the feedback control unit 400 estimates the reception period RP of a future packet train PT based on the estimated train start time tse and train duration TD (see FIG. 5). Furthermore, the feedback control unit 400 determines whether the estimated reception periods RP of the multiple streams ST overlap.

[0064] FIG. 16 is a conceptual diagram illustrating an example of overlap determination processing. The control period is the greatest common divisor of the train intervals TI of the multiple streams ST. The feedback control unit 400 calculates, for each stream ST, an offset OS from the start of the control period to the estimated reception period RP (estimated train start time tse) of the packet train PT. For example, the offset OS for stream ST_1 is 15 ms, and the offset OS for stream ST_2 is 14 ms. Based on the offset OS and the estimated reception periods RP, the feedback control unit 400 determines whether the estimated reception periods RP of the multiple streams ST overlap.

[0065] 4-2. Step S420 (Feedback Control Processing) 4-2-1. First Example FIG. 17 is a flowchart showing a first example of the feedback control processing (step S420).

[0066] In step S422, the feedback control unit 400 selects a target stream ST_t from among the multiple overlapping streams ST. The target stream ST_t is a stream for which the reception period RP is to be shifted. For example, the feedback control unit 400 selects a stream ST with a relatively low priority as the target stream ST_t from among the multiple streams ST. In other words, if the multiple streams ST include a first stream and a second stream with a lower priority than the first stream, the feedback control unit 400 selects the second stream as the target stream ST_t. The feedback control unit 400 may also select the stream with the lowest priority as the target stream ST_t. The priority is defined, for example, by a CoS (Class Of Service) value in the header.

[0067] In step S423, the feedback control unit 400 transmits (feeds back) feedback information FB to the transmitting device 10 transmitting the target stream ST_t. The feedback information FB instructs the transmitting device 10 to change the transmission timing of the packet train PT. For example, the feedback information FB instructs the transmitting device 10 to delay the transmission timing of the packet train PT by a certain time. Furthermore, the feedback control unit 400 writes the feedback control results in the feedback control table 220.

[0068] FIG. 18 shows an example of the feedback control table 220. The feedback control table 220 has a separate entry for each stream ST. Each entry includes a stream number, a feedback implementation time, an offset OS before feedback, and an offset OS after feedback. In the example shown in FIG. 18, the target stream ST_t is stream ST_2. As a result of feedback control, the offset OS for stream ST_2 changes from 14 ms to 20 ms.

[0069] If an overlap is detected again after the feedback control process, the feedback control unit 400 transmits the feedback information FB again. By repeatedly performing the feedback control process, the overlap is resolved and congestion is suppressed.

[0070] 19 is a flowchart showing a second example of the feedback control process (step S420). Step S422 is the same as in the first example described above.

[0071] In step S424, the feedback control unit 400 calculates the amount of shift of the reception period RP required to eliminate the overlap of the reception periods RP for the target stream ST_t. At this time, the feedback control unit 400 may determine the amount of shift so that the free time between the reception period RP after the shift and the reception periods RP of the other streams is as small as possible.

[0072] In step S425, the feedback control unit 400 transmits (feeds back) feedback information FB to the transmitting device 10 transmitting the target stream ST_t. The feedback information FB includes the shift amount calculated in step S424 and instructs the transmitting device 10 to delay the transmission timing of the packet train PT by the shift amount. Furthermore, the feedback control unit 400 writes the feedback control results in the feedback control table 220.

[0073] FIG. 20 shows an example of the feedback control table 220. Descriptions that overlap with those in FIG. 18 will be omitted as appropriate. In the example shown in FIG. 20, each entry further includes a "shift amount." The offsets OS before feedback for streams ST_1 and ST_2 are 15 ms and 14 ms, respectively. When the train duration TD is 18.97 ms (see FIG. 11), the overlap can be eliminated by delaying the transmission timing of the packet train PT of stream ST_2 by, for example, 20 ms. Therefore, the shift amount is calculated to be 20 ms. As a result of the feedback control, the offset OS for stream ST_2 changes from 14 ms to 34 ms.

[0074] According to the second example, by calculating the shift amount and explicitly notifying the shift amount, it is possible to more reliably avoid the occurrence of congestion.

[0075] In a third example of the feedback control process, the "total reception rate" of multiple streams ST during the overlap period is taken into consideration. If the total reception rate exceeds the link rate of the output port (upper transmission / reception unit 32) of the concentrator 30, the feedback control unit 400 selects the target stream ST_t and transmits feedback information FB.

[0076] As an example, consider three types of streams ST_1, ST_2, and ST_3 shown in Fig. 21. There is an overlap of estimated reception periods RP of these streams ST_1, ST_2, and ST_3.

[0077] Fig. 22 shows an example of the stream identification table 210. In the example shown in Fig. 22, the stream identification table 210 further shows the output port from which packets of each stream ST are output. The output port for streams ST_1, ST_2, and ST_3 is the same, OP1.

[0078] 23 shows an example of the stream bandwidth table 230. The stream bandwidth table 230 has a separate entry for each stream ST. Each entry includes a stream number, an output port, an offset OS before feedback, a train duration TD, and an average reception rate. Such a stream bandwidth table 230 is stored in the storage device 120. The stream bandwidth table 230 may be included in the feedback control table 220.

[0079] The average reception rate of each stream ST is 4.86 Gbps. Assume that the link rate of output port OP1 is 10 Gbps. In this case, the total reception rate of ST_1, ST_2, and ST_3 during the overlap period exceeds the link rate of output port OP1. Therefore, the feedback control unit 400 selects the target stream ST_t and performs feedback control. In the example shown in FIG. 21, stream ST_3 is selected as the target stream ST_t. The feedback control unit 400 transmits (feeds back) feedback information FB to the transmitting device 10 that is transmitting stream ST_3.

[0080] FIG. 24 is a flowchart outlining a third example of the feedback control process (step S420).

[0081] In step S421, the feedback control unit 400 determines whether the total reception rate of the multiple streams ST during the overlapping period exceeds the link rate of the output port. If the total reception rate exceeds the link rate of the output port (step S421; Yes), the process proceeds to step S422. On the other hand, if the total reception rate does not exceed the link rate of the output port (step S421; No), step S420 ends.

[0082] In step S422, the feedback control unit 400 selects a target stream ST_t from the multiple overlapping streams ST. For example, the feedback control unit 400 selects at least one target stream ST_t so that the total reception rate is equal to or less than the link rate of the output port, based on the stream bandwidth table 230. In other words, the feedback control unit 400 selects at least one target stream ST_t so that the excess of the total reception rate is eliminated.

[0083] Thereafter, the feedback control unit 400 executes steps S424 and S425 in the same manner as in the second example described above. Alternatively, the feedback control unit 400 may execute step S423 in the same manner as in the first example described above.

[0084] As described above, according to the third example, feedback control is executed when the total reception rate of multiple streams ST during an overlapping period exceeds the link rate of the output port. This prevents feedback control from being executed more than necessary, thereby preventing unnecessary degradation of network utilization efficiency.

[0085] 5. Application Example FIG. 25 is a conceptual diagram for explaining an application example of the concentrator 30 according to this embodiment.

[0086] The transmitting device 10 includes a camera 11. The camera 11 performs image capture processing and periodically transmits image data with a low compression rate or uncompressed image data. The camera 11 includes an encoding unit 12, an image capture timing control unit 13, and a wired communication unit 14. The image capture timing control unit 13 can variably set the image capture timing. For example, the camera 11 outputs 10 images per second from the wired communication unit 14. The image size of each image is 12 MB (4,000 pixels x 3,000 pixels x 8-bit color).

[0087] The camera 11 is connected to a wireless terminal 15. The wireless terminal 15 transmits image data output from the camera 11 to a wireless base station 40. The wireless terminal 15 includes a wired communication unit 16 and a wireless communication unit 17. For example, the wired communication unit 14 of the camera 11 and the wired communication unit 16 of the wireless terminal 15 are connected via 5GBase-T. The wireless communication unit 17 performs wireless communication with the wireless base station 40. For example, communication at a wireless peak rate of 5 Gbps is possible. It is assumed that interference between coverage areas can be ignored by using beamforming or by geographically dividing the areas.

[0088] The wireless base station 40 and the wireless central station 50 are connected by a 10 Gbps optical communication network. The wireless central station 50 and the concentrator 30 are also connected by a 10 Gbps optical communication network.

[0089] In the communication network described above, image data is periodically transmitted from multiple cameras 11. Therefore, temporary congestion may occur periodically. The concentrator 30 performs congestion control as necessary and transmits feedback information FB to the cameras 11. Upon receiving the feedback information FB, the imaging timing control unit 13 of the cameras 11 changes the imaging timing in accordance with the feedback information FB. This is equivalent to changing the transmission timing of the image data. As a result, congestion in the communication network is suppressed.

[0090] Fig. 26 is a diagram showing an example of the configuration of the congestion control program 130 in the application example of the concentrator 30 shown in Fig. 25. This congestion control program 130 shows the configuration of the congestion control program in the configuration shown in Fig. 9. In the case of the configuration shown in Fig. 26, instead of the stream information acquisition unit 300 in Fig. 10, a classifier 510, a stream identification unit 520, and a media identification unit 530 are provided as units having the same functions as the stream information acquisition unit 300.

[0091] The congestion control program 130 is made up of a classifier 510 , a stream identifier 520 , a media identifier 530 , an arrival timing identifier 540 , and a congestion feedback unit 550 .

[0092] In the configuration example shown in FIG. 26, an example will be described in which connection negotiation using SIP (Session Initiation Protocol) / SDP (Session Description Protocol) is performed between the camera 11 and the higher-level device prior to the arrival of video data.

[0093] When the concentrator 30 receives high-priority video data, the classifier 510 identifies the priority and sends header information including the frame size and arrival time to the stream identification unit 520. The stream identification unit 520 identifies the stream from camera 1 and the stream from camera 2 based on the source IP address, source L4 port number, destination IP address, destination L4 port number, and protocol number of the video data transmitted from each camera 11. The stream identification unit 520 registers the identified content in the stream identification table 210.

[0094] The media identification unit 530 counts the number of consecutive packets with a time between the start of each packet of 100 μs or less from the header information of the identified stream, and registers in the stream identification table 210 that there are 7906 packets (each 1518 bytes) per packet train.

[0095] Furthermore, the media identification unit 530 similarly determines from the header information of the identified stream that the interval between packet trains is 100 ms based on the difference in reception time between the first packet that arrives after exceeding 100 ms and the packet recorded as the start of the previous packet train, and registers this information in the stream identification table 210.

[0096] FIG. 27 is a diagram showing an example of the stream identification table 210 in which various information is registered. FIG. 27 shows an example of the stream identification table when two streams are received. The source of stream 1 is A and the destination is B. The receiving port is P and the transmitting port is P2. The source of stream 2 is C and the destination is B. The receiving port is P3 and the transmitting port is P2. The train sizes of streams 1 and 2 are both 12 MB. The average packet interval of streams 1 and 2 is both 2.4 us. The train interval of streams 1 and 2 is both 100 ms. The train duration of streams 1 and 2 is both 18.97 seconds.

[0097] The arrival timing identification unit 540 refers to the stream identification table 210 and calculates the arrival offset time of each stream based on the control period that is the greatest common divisor of the train intervals of each stream. As an example, suppose that the arrival offset time of stream 1 is 15 ms from the beginning of the control period, and the arrival offset time of stream 2 is 14 ms.

[0098] In this case, when the arrival timing identification unit 540 refers to the stream identification table 210, the arrival timing identification unit 540 detects that the train arrival end of stream 2 overlaps with the train start time of stream 1.

[0099] When the arrival timing identification unit 540 detects an overlap, the congestion feedback unit 550 sends feedback information (reset command) to the IP address of the camera 11 that is the sender of stream 2, and registers the time Ts3 at which the feedback was sent in the feedback control table 220.

[0100] 28 is a diagram showing an example of the feedback control table 220 in which various information is registered. As described above, the arrival offset time of stream 1 is 15 ms from the beginning of the control period, so the pre-feedback offset is 15 ms. Similarly, the arrival offset time of stream 2 is 14 ms, so the pre-feedback offset is 12 ms. The feedback sent to camera 11 for stream 2 indicates that the post-feedback offset for stream 2 is 20 ms.

[0101] If the arrival timing identification unit 540 has resolved the overlap between stream 1 and stream 2 after sending the feedback, the congestion feedback unit 550 does not perform any control. On the other hand, if overlap is detected again after sending the feedback, the congestion feedback unit 550 calculates the transmission time based on the feedback control table so that it does not overlap with the offset time of other streams, and sends the feedback again. In this way, congestion caused by overlapping of multiple streams can be avoided.

[0102] 29 and 30 are flowcharts showing the processing flow of the congestion control program 130 shown in FIG. 26. When the concentrator 30 receives a packet (step S501: YES), the classifier 510 identifies the priority (step S502). The classifier 510 determines whether the priority is a predetermined high priority (step S503). If the priority is not a high priority (step S503: NO), the processing ends. On the other hand, if the priority is a high priority (step S503: YES), the classifier 510 identifies the stream to which the received packet belongs (step S504).

[0103] The stream identification unit 520 refers to the stream identification table 210, and if an entry for the identified stream ST exists, counts (increments) the number of received packets (step S504), and returns to step S501. On the other hand, if an entry for the identified stream does not exist, an entry is created, and the number of received packets corresponding to that entry is counted (step S505), and returns to step S501.

[0104] If the concentrator 30 has not received a packet (step S501: NO), the stream identification unit 520 determines for each stream whether a certain time β (e.g., 100 μs) has elapsed since the previous packet reception (step S506). If the certain time β has not elapsed since the previous packet reception (step S506; No), the process returns to step S501. On the other hand, if the certain time β has elapsed since the previous packet reception for a certain stream (step S506; Yes), the stream identification unit 520 ends counting for that stream. As a result, the stream identification unit 520 recognizes a packet train PT (step S507).

[0105] Based on the information of the recognized packet train, the stream identification unit 520 acquires stream information indicating the characteristics of the stream ST to which the packet train belongs. Then, the stream identification unit 520 registers the acquired stream information in the stream identification table 210 (step S508), and ends the process.

[0106] 30, the arrival timing identification unit 540 checks the stream identification table 210 (step S601) and determines whether or not an overlap has been detected (step S602). If the arrival timing identification unit 540 has not detected an overlap (step S602: NO), the process ends. On the other hand, if an overlap is detected (step S602: YES), the congestion feedback unit 550 creates the feedback control table 220 (step S603), transmits the feedback information to the IP address of the camera 11 that is the sender (step S604), and terminates the process.

[0107] (Second embodiment) Next, an example will be described in which streams are grouped by the base station to which the streams are transmitted, and the imaging timing of the camera 11 is explicitly specified from the concentrator. In the following description, "group" will be expressed as "scheduler." For simplicity, the imaging timing and the transmission timing will be described as the same timing. FIG. 31 is a diagram showing an example of the configuration of the feedback control unit 400 in the second embodiment. The feedback control unit 400 is composed of a stream identification unit 610, a scheduler identification unit 620, an arrival timing identification unit 630, a first feedback unit 640, a second feedback unit 650, and an instruction unit 660.

[0108] The stream identification unit 610 identifies a stream identifier, a previous train start time, a train size, an average packet interval, a train duration, and a train interval. The scheduler identification unit 620 identifies the scheduler of the stream. The arrival timing identification unit 630 identifies the arrival timing of the packet train. The first feedback unit 640 derives a transmission start timing that prevents overlapping of reception periods of packet trains included in streams belonging to the same scheduler within a group. The first feedback unit 640 is an example of a first derivation unit. The second feedback unit 650 derives a transmission start timing that prevents overlapping of reception periods of packet trains transmitted according to the transmission start timing derived by the first feedback unit 640 between different schedulers. The second feedback unit 650 is an example of a second derivation unit. The instruction unit 660 instructs the camera 11 (transmitting terminal) of the transmission start timing derived by the second feedback unit 650.

[0109] 32 is a diagram showing an example of derivation of the first feedback section 640 and the second feedback section 650. In FIG. 32, the train marked "1" is the train of stream 1. The train marked "2" is the train of stream 2. The train marked "3" is the train of stream 3. The train marked "4" is the train of stream 4.

[0110] Stream 1 and stream 2 belong to the same scheduler (hereinafter referred to as "scheduler 1"). Stream 3 and stream 4 belong to the same scheduler (hereinafter referred to as "scheduler 2"). Furthermore, "before feedback" in FIG. 32 indicates a packet train before derivation by the first feedback unit 640 (naturally, also before derivation by the second feedback unit 650). "After first feedback" indicates a packet train when transmitted at the timing derived by the first feedback unit 640. "After second feedback" indicates a packet train when transmitted at the timing derived by the second feedback unit 650.

[0111] The start time ts1 of the previous train in stream 1 is 15 ms. The start time ts2 of the previous train in stream 2 is 16 ms. The start time ts3 of the previous train in stream 3 is 26 ms. The start time ts4 of the previous train in stream 4 is 28 ms.

[0112] FIG. 33 is a diagram showing an example of the stream identification table 210. FIG. 33 shows a stream identification table when the four streams shown in FIG. 32 are received. For stream 1, the source is A and the destination is B. The receiving port is P and the transmitting port is P2. For stream 2, the source is C and the destination is B. The receiving port is P3 and the transmitting port is P2. The train sizes of streams 1 and 2 are both 12 MB. The average packet interval for streams 1 and 2 is both 2.4 us. The train interval for streams 1 and 2 is both 100 ms. The train duration for streams 1 and 2 is both 18.97 seconds. The scheduler identifier indicates the scheduler to which they belong. Streams 1 and 2 belong to the same scheduler, and their scheduler identifiers are both 1.

[0113] The stream for stream 3 has a source D and a destination B. The receiving port is P and the sending port is P2. The stream for stream 4 has a source E and a destination B. The receiving port is P3 and the sending port is P2. The train size for both streams 3 and 4 is 12 MB. The average packet interval for both streams 3 and 4 is 2.4 us. The train interval for both streams 3 and 4 is 100 ms. The train duration for both streams 3 and 4 is 18.97 seconds. Streams 3 and 4 belong to the same scheduler, and their scheduler identifiers are both 2.

[0114] 34, 35, and 36 are diagrams showing feedback control table 220. A new item called "adjustment value" is provided in feedback control table 220 shown in FIGS. 34, 35, and 36. This adjustment value indicates a value adjusted by first feedback section 640 and second feedback section 650. Feedback control table 220 shown in FIG. 34 is feedback control table 220 "before feedback" in FIG. 32. Feedback control table 220 shown in FIG. 35 is feedback control table 220 "after first feedback" in FIG. 33. This is feedback control table 220 "after second feedback" in FIG. 34.

[0115] Based on this, the following explanation will be given again with reference to Figure 32. The first feedback unit 640 derives a transmission start timing that does not overlap within the scheduler with the reception periods of packet trains included in streams belonging to scheduler 1. At this time, it derives the timing for streams 2 and 4, which have larger offset times.

[0116] The method for deriving the timing for scheduler 1 is to calculate ts1 + (train interval / number of streams belonging to the same scheduler). Since ts1 = 15 ms, the train interval is 100 ms, and the number of streams belonging to the same scheduler is 2, the transmission timing for packet train 2 is set to 15 ms + 100 / 2 ms = 15 ms + 50 ms = 65 ms.

[0117] Similarly, the first feedback unit 640 derives a transmission start timing that does not overlap within the scheduler the reception periods of packet trains included in streams belonging to scheduler 2. The derivation method is to calculate ts3 + (train interval / number of streams belonging to the same scheduler). Since ts3 = 26 ms, the train interval is 100 ms, and the number of streams belonging to the same scheduler is 2, the transmission timing of packet train 4 is set to 26 ms + 100 / 2 ms = 26 ms + 50 ms = 76 ms.

[0118] As a result, as shown in Figure 35, the post-feedback offset for stream 2 becomes 65 ms, with an adjustment value of 49 ms. Also, the post-feedback offset for stream 4 becomes 76 ms, with an adjustment value of 48 ms. In this way, congestion within the same scheduler can be suppressed.

[0119] Next, the second feedback unit 650 derives a transmission start timing such that the reception periods of the packet trains transmitted according to the transmission start timings derived by the first feedback unit 640 do not overlap with each other for different groups.

[0120] 32, after the first feedback, packet train 3 overlaps with packet train 1, and packet train 4 overlaps with packet train 2. Therefore, second feedback unit 650 derives the transmission start timing so that packet trains 3 and 4 do not overlap.

[0121] To be more specific, the offset of stream 1 is 15 ms. The offset of stream 2 is 65 ms. The offset of stream 3 is 26 ms. The offset of stream 4 is 76 ms. And the duration of the packet train is 18.97 ms.

[0122] Therefore, the second feedback unit 650 adds 18.97 ms to the 15 ms offset of the packet train of stream 1 to set the duration of the packet train to 33.97 ms or later, so that the packet train of stream 3 does not overlap with the packet train of stream 1. Here, the post-feedback offset is set to 33.97 ms, and the adjustment value in this case is 7.97 ms.

[0123] Similarly, the second feedback unit 650 adds 18.97 ms to the 65 ms offset of the packet train of stream 2 to set the duration of the packet train to 84.97 ms or later, so that the packet train of stream 4 does not overlap with the packet train of stream 2. Here, the post-feedback offset is set to 84.97 ms, and the adjustment value in this case is 8.97 ms.

[0124] As a result of the above, the instruction unit 660 instructs the camera 11 corresponding to stream 2 to transmit with a delay of 49 ms from the shooting timing. The instruction unit 660 instructs the camera 11 corresponding to stream 3 to transmit with a delay of 7.97 ms from the shooting timing. The instruction unit 660 instructs the camera 11 corresponding to stream 4 to transmit with a delay of 56.97 (= 48 + 8.97) ms from the shooting timing. By doing this, congestion can be suppressed overall.

[0125] Fig. 37 is a flowchart showing the flow of processing in the second embodiment. In Fig. 37, the first feedback unit 640 checks the stream identification table 210 (step S701) and determines whether there is overlap (step S702). If there is no overlap (step S702: NO), the processing ends.

[0126] If there is an overlap (step S702: YES), the first feedback unit 640 derives a transmission start timing that does not overlap within the scheduler as described above (step S703). Next, the second feedback unit 650 derives a transmission start timing that does not overlap between different schedulers as described above (step S704). The instruction unit 660 instructs the camera 11 of the derived transmission start timing (step S705), and the process ends. The camera 11 starts transmission at the transmission start timing instructed by the instruction unit 660.

[0127] In this way, by explicitly specifying the imaging timing of the camera 11 so as not to cause congestion at the concentrator 30, momentary congestion does not occur at the concentrator 30. Furthermore, delays that occur due to buffering of data from the camera 11 before it arrives at the concentrator 30 can also be avoided.

[0128] Furthermore, by deriving a transmission start timing that does not overlap with the reception periods, each packet train does not overlap, and the entire bandwidth is allocated to one packet train, which reduces the decrease in transmission rate while suppressing congestion in the communication network.

[0129] In the above-described embodiments, the congestion controller (congestion control device) is provided inside the concentrator 30 as shown in Fig. 4 and Fig. 31, but the function of the congestion controller may be provided outside the concentrator. Configuration examples 1 and 2 of two communication systems in which the function of the congestion controller is provided outside the concentrator will be described.

[0130] (Configuration Example 1 of a Communication System) Fig. 38 is a diagram showing a configuration example 1 of each device when the congestion controller function is provided outside the concentrator. The concentrator 30 includes the stream information acquisition unit 300 and the stream identification table 210 described above. That is, the concentrator 30 only has the function of identifying streams. Then, the congestion controller 500 provided outside the concentrator 30 includes the feedback control unit 400 and the feedback control table 220 described above.

[0131] 38, the concentrator 30 identifies streams and configures the stream identification table 210 so that the congestion controller 500 can refer to it. The congestion controller 500 also transmits feedback information to the transmitting device 10 via the concentrator 30. When the transmitting device 10 receives the feedback information, the adjustment unit adjusts the transmission timing in accordance with the feedback information. This configuration makes it possible to perform control similar to that of the configuration in FIG. 4.

[0132] (Configuration Example 2 of a Communication System) Fig. 39 is a diagram showing a configuration example 2 of each device when the congestion controller function is provided outside the concentrator. Configuration example 2 shows a configuration example using the functions shown in Fig. 31. The concentrator 30 has the stream information identification unit 610 and the stream identification table 210 described above. That is, the concentrator 30 only has the function of identifying streams. Then, the congestion controller 500 provided outside the concentrator 30 has the scheduler identification unit 620, the arrival timing identification unit 630, the first feedback unit 640, the second feedback unit 650, the instruction unit 660, and the feedback control table 220 described above.

[0133] As shown in FIG. 39, the concentrator 30 identifies streams and configures the stream identification table 210 so that the congestion controller 500 can refer to it. Furthermore, the first feedback unit 640 in the congestion controller 500 derives a transmission start timing such that the reception periods of packet trains included in streams belonging to the same scheduler do not overlap within a group. The second feedback unit 650 derives a transmission start timing such that the reception periods of packet trains transmitted according to the transmission start timing derived by the first feedback unit 640 do not overlap between different schedulers. The instruction unit 660 instructs the transmitting terminal 10 of the transmission start timing derived by the second feedback unit 650 via the concentrator 30. When the transmitting device 10 receives feedback information, the adjustment unit adjusts the transmission timing in accordance with the feedback information. This configuration makes it possible to perform control similar to that of the configuration in FIG. 31.

[0134] In the above-described configuration examples 1 and 2, the concentrator identifies the stream, but the congestion controller 500 may also identify the stream. In this case, the congestion controller receives the stream transmitted by the transmitting device from the concentrator as is and identifies the stream. The congestion controller also discards data in the stream other than data required for feedback. In this case, it is only necessary to provide the concentrator 30 with a function for transmitting the stream to the congestion controller and a function for transmitting feedback information from the congestion controller to the transmitting device.

[0135] The first feedback unit 640, the second feedback unit 650, and the instruction unit 660 may be configured using a processor such as a CPU (Central Processing Unit) and a memory. In this case, the first feedback unit 640, the second feedback unit 650, and the instruction unit 660 function as the first feedback unit 640, the second feedback unit 650, and the instruction unit 660 by the processor executing a program. Note that all or part of the functions of the first feedback unit 640, the second feedback unit 650, and the instruction unit 660 may be realized using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array). The above program may be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include portable media such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, and a semiconductor storage device (e.g., a solid-state drive (SSD)), and storage devices such as a hard disk and a semiconductor storage device built into a computer system. The above program may be transmitted via a telecommunications line.

[0136] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention. [Industrial Applicability]

[0137] The present invention is applicable to a concentrator that receives information from a plurality of transmitting terminals. [Explanation of symbols]

[0138] 30...concentrator, 400...feedback control unit, 610...stream identification unit, 620...scheduler identification unit, 630...arrival timing identification unit, 640...first feedback unit, 650...second feedback unit, 660...instruction unit

Claims

1. A concentrator for receiving streams transmitted from a plurality of transmitting terminals, Streams transmitted from a plurality of transmitting terminals are grouped in advance, and a first derivation unit derives a transmission start timing such that reception periods of packets included in streams belonging to a group do not overlap within the group; a second derivation unit that derives a transmission start timing such that reception periods of packets transmitted according to the transmission start timing derived by the first derivation unit do not overlap with each other in different groups; an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit; A line concentrator equipped with:

2. 2. The concentrator according to claim 1, wherein the packet group is made up of packets transmitted in a stream at intervals of a given time or less.

3. 3. The concentrator according to claim 1, wherein for each received stream, a packet group having a packet interval of a certain time or less is recognized, for each stream, the time interval between two consecutive packet groups is obtained, and for each stream, a reception period of a future packet group is estimated based on the recognized packet group and the time interval.

4. A communication system including a plurality of transmitting terminals and a concentrator that receives streams transmitted from the transmitting terminals, The concentrator comprises: Streams transmitted from a plurality of transmitting terminals are grouped in advance, and a first derivation unit derives a transmission start timing such that reception periods of packets included in streams belonging to a group do not overlap within the group; a second derivation unit that derives a transmission start timing such that reception periods of packets transmitted according to the transmission start timing derived by the first derivation unit do not overlap with each other in different groups; an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit; Equipped with A communication system in which the transmitting terminal starts transmission at the transmission start timing instructed by the instruction unit.

5. A communication system including a concentrator that receives streams transmitted from a plurality of transmitting terminals, and a congestion control device, The congestion control device a first derivation unit that derives a transmission start timing in which the streams transmitted from a plurality of transmitting terminals and received by the concentrator are grouped in advance, and reception periods of packets included in the streams belonging to the group do not overlap within the group; a second derivation unit that derives a transmission start timing such that reception periods of packets transmitted according to the transmission start timing derived by the first derivation unit do not overlap with each other in different groups; an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit; A communication system comprising:

6. A control method executed by a concentrator that receives streams transmitted from a plurality of transmitting terminals, comprising: a first derivation step in which the concentrator derives a transmission start timing at which the reception periods of packets included in the streams belonging to the group do not overlap within the group, the streams being grouped in advance; a second derivation step of deriving, by the concentrator, a transmission start timing such that reception periods of packets transmitted at the transmission start timings derived in the first derivation step do not overlap with each other in different groups; an instruction step of instructing the transmitting terminal by the concentrator of the transmission start timing derived by the second derivation step; A control method comprising:

7. A program for causing a computer to function as a concentrator for receiving streams transmitted from a plurality of transmitting terminals, The computer Streams transmitted from a plurality of transmitting terminals are grouped in advance, and a first derivation unit derives a transmission start timing such that reception periods of packets included in streams belonging to a group do not overlap within the group; a second derivation unit that derives a transmission start timing such that reception periods of packets transmitted according to the transmission start timing derived by the first derivation unit do not overlap with each other in different groups; an instruction unit that instructs the transmitting terminal of the transmission start timing derived by the second derivation unit; A program to make it function as such.

Citation Information

Patent Citations

  • Stream multiplexing method and its device

    JP1998051410A

  • Packet distribution device and packet distribution method

    JP2012231445A

  • Optical line terminal of optical network and uplink scheduling method

    WO2018020559A1