Packet forwarding device and program
The packet forwarding device addresses network congestion by prioritizing and discarding low-priority packets to maintain video quality during bandwidth overload, ensuring frame reconstruction and stable video output.
Patent Information
- Application Number
- JP2021180970
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-11-05
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2041-11-05
AI Technical Summary
Network switches experience congestion when handling high-bandwidth video and audio packets, leading to packet discard and video quality degradation, especially in SMPTE ST2022-6 and ST2110-20 protocols, due to insufficient bandwidth management and complex address registration requirements.
A packet forwarding device that determines packet priority on a frame-by-frame basis, discards low-priority packets during congestion, and manages bandwidth using a thinning rate to ensure essential frames are reconstructed even during congestion.
Reduces video playback interruptions and quality degradation by ensuring critical video frames are reconstructed, even during network congestion, maintaining a stable video output.
Smart Images

Figure 0007759766000001 
Figure 0007759766000002 
Figure 0007759766000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a packet forwarding device and a program. [Background technology]
[0002] Until now, program production systems have been constructed using SDI (Serial Digital Interface). In recent years, program production systems have been constructed to replace SDI with common Ethernet® / IP (Internet Protocol) networks. In an Ethernet® / IP network, devices are connected using a network switch, such as the one shown in Figure 8, as a packet transfer device. Compared to SDI, an IP network can transmit a larger amount of data per unit time, and different types of signals, such as video and audio, can be multiplexed and transmitted over the same network. As a result, it is suitable not only for the traditional production of HD (High Definition Video) programs, but also for the production of higher resolution programs such as 4K and 8K.
[0003] SMPTE ST 2110-20 is a standard for converting video into IP packets and transmitting them over IP networks (Non-Patent Document 1). In addition, SMPTE ST 2110-30 / 31 has been published as a standard for audio transmission. In these SMPTE ST 2110-20 / 30 / 31, video signals are transmitted using UDP (User Datagram Protocol) / RTP (Real-Time Transport Protocol). [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] PJ Brightwell, JD Rosser, RNJ Wadge, PN Tudor, "BBC Research & Development White Paper 268," The IP Studio, 2013. Summary of the Invention [Problem to be solved by the invention]
[0005] A network switch determines the output port to which a packet will be output based on the information written in the header of the received packet and the state of the network switch. The line that transmits packets has a limit on the amount of packets that can be transmitted per unit time. Therefore, operators typically estimate the amount of video and audio packets to be transmitted in advance and carefully control transmission equipment such as network switches to prevent packets from being assigned that exceed the bandwidth supported by the output port (a condition known as congestion). However, congestion can occur, for example, when (1) packets received by multiple ports are output from the same output port, (2) an input port with a faster bandwidth than the output port outputs received packets, or (3) both (1) and (2) occur. Congestion causes packets to be discarded within the network switch.
[0006] Figure 8 shows an example of situation (1). Receiving device A is receiving video V1 output from output port #1 of a network switch. During this reception, another receiving device B starts receiving another video V2 using the same output port #1, causing congestion. The network switch discards some of the packets for video V1 and video V2 in order to fit the packet output within the bandwidth of output port #1.
[0007] When video is transmitted using a transport protocol such as SMPTE ST2022-6 or SMPTE ST2110-20 that uses UDP / RTP and does not use FEC (Forward Error Coding), discarded packets prevent the receiving device from obtaining all the necessary pixel information. This results in a degradation of the quality of the video played back on the receiving device. For example, the receiving device may experience a frozen output, continuing to output the last successfully received video frame, outputting an image that is clearly erroneous (for example, all black), or no output at all.
[0008] Once congestion like the one described above occurs, it will continue unless the sender stops video output or the network switch stops specific video transfers. Because discarding video and audio packets due to congestion results in degradation of video quality, various measures have been implemented to prevent video and audio packets from being discarded. For example, network switches with specifications for video transmission have the ability to sort packets based on the source IP address, destination IP address, source L4 port, and destination L4 port in the IP header, as well as the value of the Differentiated Services Code Point (DSCP) field in the IP header, and assign them to a desired transmission queue. This function pre-configures the network switch with a filter using the address information of the video and audio flows to be transmitted, and assigns packets that match the filter to a specific transmission queue. This prevents packets to be protected from being discarded while controlling the output data rate of the transmission queue to be equal to or greater than the data rate of the pre-defined video and audio flows.
[0009] Furthermore, multicast is often used for video and audio transmission in program production, so there is a method to discard requests if the payload of an IGMP (Internet Group Management Protocol) packet requesting multicast transmission does not address a pre-registered multicast address.
[0010] However, because many video and audio flows are transmitted during program production, it is difficult to register the IP addresses and port numbers of each in advance. In addition, if there is an error in the settings, there is a possibility that problems will occur, such as packets being discarded or requests not being accepted and no transmission being carried out at all.
[0011] SMPTE ST2022-7 provides a method for dealing with momentary packet loss by transmitting the same video packets over two systems, system A and system B. The receiving device receives packets from both system A and system B and performs hitless selection. However, systems often have similar systems for system A and system B. In such cases, congestion occurs at the same time on both systems, resulting in continuous congestion. Because the receiving device cannot receive all packets, it is difficult to assemble a video frame.
[0012] The present invention has been made in consideration of these circumstances, and aims to provide a packet transfer device and program that can reduce the impact on video playback even when congestion occurs during the transfer of video packets. [Means for solving the problem]
[0013] [1] One aspect of the present invention is a packet forwarding device comprising: a receiving unit that receives packets containing data constituting each frame of video; an output unit that outputs the packets received by the receiving unit; an output control unit that determines the priority of the packets on a frame-by-frame basis when the bandwidth of the packets output from the output unit exceeds a threshold; and a priority control unit that discards at least a portion of the packets received by the receiving unit that contain data of the frames to which a low priority has been assigned by the output control unit, and outputs the packets that have not been discarded to the output unit.
[0014] [2] One aspect of the present invention is the above-mentioned packet forwarding device, further comprising a determination unit that determines a flow based on address information set in the packet, and a measurement unit that measures the input speed of the packet to the receiving unit, wherein the output control unit calculates a thinning rate, which is the rate at which the frames are thinned out, based on the input speed measured by the measurement unit and the threshold, and assigns a low priority to some of the frames for each flow according to the thinning rate so that periods in which low priority is assigned are distributed among the flows.
[0015] [3] One aspect of the present invention is the above-mentioned packet forwarding device, wherein the output unit has a plurality of output interfaces that output the packets to a line, the measurement unit measures the input speed of the packets to the receiving unit for each flow, and the output control unit performs the following processes for each output interface: calculating a thinning rate based on the sum of the input speeds of each of the flows that output the packets from the output interface and a threshold value corresponding to the output interface; and assigning a low priority to some of the frames for each flow according to the thinning rate so that periods in which a low priority is assigned are distributed among the flows that output the packets from the output interface.
[0016] [4] One aspect of the present invention is a program for causing a computer to execute an output control step of determining the priority of packets on a frame-by-frame basis when the bandwidth of packets received by a receiving unit and output from an output unit that outputs packets containing data constituting each frame of video exceeds a threshold, and a priority control step of discarding at least a portion of the packets received by the receiving unit that contain data of the frame to which a low priority was assigned in the output control step, and controlling the packets that were not discarded to be output to the output unit. [Effects of the Invention]
[0017] According to the present invention, even if congestion occurs during the transfer of video packets, it is possible to reduce the impact on video playback. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a configuration diagram of a network switch according to an embodiment of the present invention. [Figure 2] FIG. 10 is a diagram showing flow state information according to the same embodiment. [Figure 3] FIG. 10 is a diagram showing a thinning table according to the same embodiment. [Figure 4] FIG. 10 is a flowchart showing a transfer control process of the network switch according to the embodiment. [Figure 5] FIG. 10 is a flowchart showing a transfer rate measurement process of the network switch according to the embodiment. [Figure 6] FIG. 10 is a flowchart showing a QoS value determination process of the network switch according to the embodiment. [Figure 7] FIG. 10 is a flowchart showing an entry deletion process of the network switch according to the embodiment. [Figure 8] FIG. 1 illustrates a conventional network switch. DETAILED DESCRIPTION OF THE INVENTION
[0019] The following describes in detail an embodiment of the present invention with reference to the drawings. The packet forwarding device of this embodiment is applicable to an IP program production system that converts video and other material data used in program production into IP packets and produces programs while exchanging the material data in real time over an IP network.
[0020] The packet forwarding device of this embodiment performs QoS (Quality of Service) control that takes video frames into consideration when the transferable bandwidth is exceeded due to the addition of other traffic during the transfer of video traffic. This control reduces video corruption that may occur when a device receiving video traffic distributed from the packet forwarding device plays back the video.
[0021] In SMPTE ST2022-6, ST2110-20, and other standards, the number of packets transferred per unit time in each IP flow is determined by the video format. In other words, unless the video format (e.g., resolution, frame rate, etc.) or the packet division method is changed, the number of IP packets containing data constituting one frame remains the same. Conventional packet forwarding devices often randomly discard packets when congestion occurs. If any of the packets constituting one frame is discarded, that frame cannot be reconstructed. However, even if congestion occurs, if all packets constituting one frame can be collected, that frame can be reconstructed. Therefore, the packet forwarding device of this embodiment utilizes this to output packets so as to reduce degradation of video quality even when the transfer rate is exceeded. Specifically, if the transfer rate of packets output from an output interface exceeds the transfer capacity of that output interface, the packet forwarding device determines whether packets can be forwarded on a video frame-by-video frame basis and assigns a QoS value to each packet according to whether the video frame can be forwarded. This enables video frames to be constructed, albeit intermittently, at the receiving device. This prevents long-term freezes, blackouts, and video interruptions. At the very least, viewers can see what video is being output.
[0022] FIG. 1 is a block diagram showing the configuration of a network switch 1 according to an embodiment of the present invention. The network switch 1 is an example of a packet forwarding device. In FIG. 1, only functional blocks related to this embodiment are shown. The network switch 1 includes a receiving unit 2, a routing unit 3, a transmission control unit 4, and a transmitting unit 5.
[0023] The receiving unit 2 has N input ports 21 (N is an integer equal to or greater than 1). In FIG. 1, the N input ports 21 are denoted as input ports 21-1 to 21-N. The input port 21 is an input interface that inputs packets from the outside. Each input port 21 of the receiving unit 2 receives a packet from the outside and outputs the received packet to the routing unit 3. The transmitting unit 5 has M output ports 51 (M is an integer equal to or greater than 1). In FIG. 1, the M output ports 51 are denoted as output ports 51-1 to 51-M. The output port 51 is an output interface that outputs packets to the outside. The output port 51 inputs packets from the transmission control unit 4 and outputs the input packets to a transmission line between the output port 51 and an external device.
[0024] The routing unit 3 determines the output port 51 to output the packet using a process similar to any conventional technology. The routing unit 3 includes a routing information storage unit 31 and a routing processing unit 32. The routing information storage unit 31 stores routing information. The routing information indicates the correspondence between address information and output ports 51. The routing processing unit 32 reads out, from the routing information, the output port 51 corresponding to the address information set in the packet as the output destination. The address information may include, for example, a MAC address or an IP address. Other information may be used in addition to the address information to determine the output destination. Furthermore, if the address information of the packet indicates a multicast address, the routing processing unit 32 copies the packet and sets each of the copied packets as the output destination to each output port 51. The routing processing unit 32 outputs the packet and output destination information indicating the output port 51 to the transmission control unit 4. A packet whose output destination is output port 51-m (m is an integer between 1 and M) is referred to as a packet of output port 51-m.
[0025] The transmission control unit 4 includes a packet type determination unit 41, a flow information measurement unit 42, a flow status storage unit 43, an output control unit 44, and a queue unit 45. The packet type determination unit 41 analyzes the packet header of a packet input from the routing processing unit 32 and reads the flow identification information and the marker bit (hereinafter referred to as the "M bit") of the RTP packet. The flow identification information is information that identifies an IP flow. The flow identification information includes a source IP address, a destination IP address, an L4 protocol type, a source L4 port, and a destination L4 port. The M bit indicates whether the packet contains the last byte of a video field. In progressive scanning, a video field corresponds to one frame of video. In other words, in progressive scanning, the M bit of a packet containing the last byte of one frame in the RTP payload is set to 1. In video interlacing, one frame of video is composed of two video fields. In video interlacing, the M bit of a packet containing the last byte of each video field in the RTP payload is set to 1. The M bit of packets other than these is set to 0. The packet type determination unit 41 outputs the packet, the flow identification information, and the M bit to the flow information measurement unit .
[0026] The flow information measurement unit 42 measures each measurement item of the IP flow. Based on the measurement results, the flow information measurement unit 42 updates the flow state information and thinning table stored in the flow state storage unit 43. The flow state storage unit 43 stores flow state information for each IP flow in a temporary storage area such as a memory. The flow state storage unit 43 also stores a thinning table for each output port 51.
[0027] 2 is a diagram showing an example of flow state information. The flow state information includes output port information of the IP flow, flow identification information, cumulative transfer data volume, packet count number, packet count number when the previous M bit was 1, M bit count number, number of packets between M bits, input bit rate, input frame rate, thinning rate, frame count number during thinning, QoS value, measurement completion flag, last reception timestamp, and thinning pattern. The output port information and flow identification information are key information for identifying the flow state information.
[0028] The output port information indicates the output port 51 from which packets of an IP flow are output. The cumulative transfer data volume is the total data volume from the first packet to the newest packet of an IP flow received by the network switch 1. The packet count is the number of packets received by the network switch 1 from the first packet to the newest packet of an IP flow. The M-bit count is the number of packets with an M-bit of 1 in the IP flow received by the network switch 1. The inter-M-bit packet count is the number of packets received by the network switch 1 from a packet with an M-bit of 1 to the next packet with an M-bit of 1. The thinning rate indicates the rate at which frames are discarded when the network switch 1 is thinning out. Thinning out refers to discarding some of the received packets and not outputting them externally from the network switch 1. The frame count during thinning out is the number of frames received by the network switch 1 while thinning out is in progress. The QoS value is a value indicating priority. In this embodiment, there are two types of priority: priority and normal. The measurement completion flag indicates whether the input bit rate and input frame rate have been measured. The last received timestamp is the time when the network switch 1 last received a packet of the IP flow. The thinning pattern indicates the priority of each frame received during thinning.
[0029] 3 is a diagram showing an example of a thinning table. The thinning table has an entry for each output port 51. The thinning table contains information that associates the flow identification information of each IP flow, a thinning pattern, an input FPS (frames per second), an input bit rate, an output FPS, and an output bit rate.
[0030] The thinning pattern in the thinning table is the same as the thinning pattern in the flow status information and is updated synchronously. In Figure 3, the priority of each frame during thinning is represented by "1" and "0." "1" is the symbol representing priority, and "0" is the symbol representing normal. Numbers, letters, and symbols other than "1" and "0" can also be used as symbols. The position of the symbol from the left in the thinning pattern represents the order of the frames during thinning. For example, the thinning pattern "00000011..." indicates that the first through sixth video frames during the thinning period have normal priority, and the seventh and eighth frames have priority. In Figure 3(a), the thinning patterns for all IP flows include periods in which no frames are thinned. Therefore, the thinning patterns in the thinning table shown in Figure 3(a) can be removed from the periods in which no frames are thinned, resulting in the results shown in Figure 3(b).
[0031] The input FPS indicates the frame rate of the IP flow input to the network switch 1. The input bit rate indicates the bit rate of the IP flow input to the network switch 1. The output FPS indicates the frame rate of the IP flow output from the network switch 1. The output bit rate indicates the bit rate of the IP flow output from the network switch 1.
[0032] The output control unit 44 shown in FIG. 1 determines the priority of a packet and outputs a QoS value representing the determined priority to the flow information measurement unit 42. If the bandwidth of data to be output from the destination output port 51-m (m is an integer between 1 and M) of the packet is equal to or less than a threshold, the output control unit 44 determines that all packets of the output port 51-m are prioritized. The threshold is a value equal to or less than the interface speed of the output port 51-m. On the other hand, if the bandwidth of data to be output from the output port 51-m exceeds the threshold, the output control unit 44 determines that congestion has occurred and performs thinning. When performing thinning, the output control unit 44 determines the priority of the packet of the output port 51-m according to a thinning table. The output control unit 44 outputs a QoS value representing the determined priority to the flow information measurement unit 42. The flow information measurement unit 42 places the packet in a transmission queue corresponding to the QoS value.
[0033] The queue unit 45 has transmission queues corresponding to the QoS values. In this embodiment, the queue unit 45 has two FIFO (First in First out) transmission queues: a priority transmission queue Q1 and a normal transmission queue Q2. The priority transmission queue Q1 temporarily stores packets with priority priority, and the normal transmission queue Q2 temporarily stores packets with normal priority. The queue unit 45 reads packets from the priority transmission queue Q1 and outputs them to the output port 51 indicated by the output destination information associated with the read packets. When there are no packets stored in the priority transmission queue Q1, the queue unit 45 reads packets from the normal transmission queue Q2 and outputs them to the output port 51 indicated by the output destination information associated with the read packets. In addition, the queue unit 45 discards packets that have been stored in the normal transmission queue Q2 for more than a predetermined time.
[0034] Next, the operation of the network switch 1 will be described. 4 is a flow diagram showing the transfer control process of the network switch 1. The network switch 1 performs the process of FIG. 4 every time it receives a packet. The input port 21 of the network switch 1 receives the packet. The received packet is referred to as a received packet. The input port 21 outputs the received packet to the routing unit 3 (step S101).
[0035] The routing unit 3 determines an output interface to output the received packet (step S102). Specifically, the routing processing unit 32 reads address information from the received packet. The routing processing unit 32 reads the output port 51-m corresponding to the address information from the routing information stored in the routing information storage unit 31 as the output destination. Hereinafter, the output port 51-m to which the received packet is output will be referred to as the transmission output port 51-m. The routing processing unit 32 adds output destination information indicating the transmission output port 51-m to the received packet and outputs the packet to the packet type determination unit 41. Note that if the address information indicates a multicast address, the routing processing unit 32 copies the received packet and sets the output destinations of the M copied received packets to the output ports 51-1 to 51-M. In this case, the network switch 1 performs the processes from step S103 onwards for each copied received packet.
[0036] The packet type determination unit 41 analyzes the packet header of the received packet input from the routing processing unit 32, and reads the source IP address, destination IP address, L4 protocol type, source L4 port, destination L4 port, and M bit (step S103). The packet type determination unit 41 adds flow identification information, in which the read source IP address, destination IP address, L4 protocol type, source L4 port, and destination L4 port are set, and the M bit to the received packet, and outputs the packet to the flow information measurement unit 42.
[0037] The flow information measurement unit 42 determines whether the received packet is UDP / RTP (step S104). If the flow information measurement unit 42 determines that the received packet is UDP / RTP (step S104: YES), it identifies an entry of flow state information stored in the flow state storage unit 43 based on the combination of the transmission output port 51-m and the flow identification information (step S105). If there is no entry, the flow information measurement unit 42 creates an entry of flow state information corresponding to the combination of the transmission output port 51-m and the flow identification information in the flow state storage unit 43. The flow information measurement unit 42 sets output port information and flow identification information in the created flow state information and sets other information to NULL. The output port information can be output destination information. In the processing from step S106 onwards, the transmission control unit 4 processes the flow state information identified or created in step S105.
[0038] The flow information measurement unit 42 updates the cumulative transfer data volume set in the flow state information to a value obtained by adding the payload size of the received packet (step S106). The flow information measurement unit 42 determines whether the M bit of the received packet is 1 (step S107). If the flow information measurement unit 42 determines that the M bit is 0 (step S107: NO), it updates the packet count number set in the flow state information to a value obtained by adding 1 (step S108). The flow information measurement unit 42 updates the last reception timestamp set in the flow state information to a value representing the current time (step S109).
[0039] The output control unit 44 determines a QoS value of the received packet (step S110). The determination of the QoS value will be explained later with reference to FIG. 6. The output control unit 44 outputs the determined QoS value to the flow information measurement unit 42. If the QoS value indicates priority, the flow information measurement unit 42 stores the received packet in the priority transmission queue Q1, and if the QoS value indicates normal, the flow information measurement unit 42 stores the received packet in the normal transmission queue Q2 (step S111). If a packet is stored in the priority transmission queue Q1, the queue unit 45 reads the packet from the priority transmission queue Q1 and outputs it to the output port 51 indicated by the destination information added to the read packet. If a packet is not stored in the priority transmission queue Q1, the queue unit 45 reads the packet from the normal transmission queue Q2 and outputs it to the output port 51 indicated by the destination information added to the read packet. The output port 51 outputs the packet input from the queue unit 45 to the transmission line (step S112). The queue unit 45 discards packets that have been stored in the normal transmission queue Q2 for a predetermined time or longer. This causes at least some of the packets with normal priority to be discarded. Alternatively, the queue unit 45 may discard all packets stored in the normal transmission queue Q2.
[0040] On the other hand, if the flow information measurement unit 42 determines in step S107 that the M bit is 1 (step S107: YES), it updates the M-bit count number set in the flow state information by adding 1 (step S113). The flow information measurement unit 42 reads the packet count number and the packet count number when the previous M bit was 1 from the flow state information. The flow information measurement unit 42 subtracts the packet count number when the previous M bit was 1 from the packet count number to calculate the number of packets for one frame. The flow information measurement unit 42 updates the number of packets between M bits set in the flow state information to the calculated number of packets for one frame (step S114). Furthermore, the flow information measurement unit 42 updates the packet count number when the previous M bit was 1 set in the flow state information to the current packet count number set in the flow state information (step S115).
[0041] The flow information measurement unit 42 determines whether the transmission output port 51-m is currently undergoing thinning (step S116). If the flow information measurement unit 42 determines that thinning is not in progress (step S116: NO), it executes the processes from step S108. If the flow information measurement unit 42 determines that thinning is in progress (step S116: YES), it updates the thinning-out frame count number set in the flow state information by adding 1 to the value (step S117).
[0042] The flow information measurement unit 42 identifies the thinning table for the transmission output port 51-m and obtains the number of symbols set in the thinning pattern as the number of frames. The flow information measurement unit 42 reads the frame count during thinning and the thinning pattern from the flow state information. The flow information measurement unit 42 determines whether the frame count during thinning exceeds the number of frames represented by the thinning pattern (step S118). If the flow information measurement unit 42 determines that the number of frames represented by the thinning pattern has not been exceeded (step S118: NO), it executes the processing from step S108. If the flow information measurement unit 42 determines that the number of frames represented by the thinning pattern has been exceeded (step S118: YES), it sets the frame count during thinning in the flow state information to 0 (step S119) and then executes the processing from step S108.
[0043] If the flow information measurement unit 42 determines that the received packet is not UDP / RTP (step S104: NO), the output control unit 44 determines a QoS value of a predetermined priority (step S120). The network switch 1 performs the process from step S111.
[0044] 5 is a flow diagram showing the transfer rate measurement process of the network switch 1. The flow information measurement unit 42 has an internal interrupt timer that operates, for example, every second. When an interrupt occurs, the flow information measurement unit 42 starts the process of FIG. 5 for each piece of flow state information. The flow information measurement unit 42 may perform the process of FIG. 5 only for flow state information whose measurement completion flag is 0 among the flow state information.
[0045] The flow information measurement unit 42 calculates the amount of change in the integrated transfer volume set in the flow state information from one second ago. The flow information measurement unit 42 sets the calculated amount of change as the input bit rate of the flow state information (step S201). If there is a thinning table identified by the output port 51 and flow identification information set in the flow state information, the flow information measurement unit 42 sets the calculated bit rate as the input bit rate associated with the flow identification information in the thinning table.
[0046] Furthermore, the flow information measurement unit 42 calculates the amount of change in the M bits set in the flow state information from one second ago. The flow information measurement unit 42 updates the input frame rate of the flow state information based on the calculated amount of change (step S202). For example, if the amount of change in M bits per second is 24, this indicates that 24 frames of packets were transferred per second. Therefore, the flow information measurement unit 42 sets the input bit rate to 24 fps. Similarly, if the amount of change is 30, the flow information measurement unit 42 sets the input frame rate of the flow state information to 30 fps, and if the amount of change is 60, the flow information measurement unit 42 sets the input frame rate of the flow state information to 60 fps. If there is a thinning table identified by the output port 51 and flow identification information set in the flow state information, the flow information measurement unit 42 sets the input frame rate based on the calculated amount of change to the input FPS associated with the flow identification information in the thinning table.
[0047] The flow information measurement unit 42 sets a measurement completion flag in the flow state information (step S203), because the same input bit rate and input frame rate continue during video distribution.
[0048] The flow information measurement unit 42 resets the measurement completion flag when routing information is changed in response to a request from a receiving device sent using a protocol such as IGMP or PIM (Protocol Independent Multicast).
[0049] FIG. 6 is a flow diagram showing the QoS value determination process of the network switch 1. FIG. 6 shows detailed processing of step S110 in FIG. 4. The output control unit 44 identifies flow state information for all IP flows whose destination is the transmission output port 51-m indicated by the output destination information of the received packet. That is, the output control unit 44 identifies flow state information for which the transmission output port 51-m is set in the output port information. The output control unit 44 calculates the sum of the input bit rate values set in each identified flow state information (step S301). The calculated sum represents the bandwidth of data to be output from the transmission output port 51-m. Note that the output control unit 44 may obtain the input bit rate values of each IP flow from the thinning table of the entries of the transmission output port 51-m and calculate the sum. An IP flow whose packet output destination is the transmission output port 51-m is referred to as an IP flow of the transmission output port 51-m.
[0050] The output control unit 44 determines whether the sum of the input bit rate values is less than a threshold value (step S302). The threshold value is the interface speed of the transmitting output port 51-m. The threshold value may be a value obtained by multiplying the interface speed of the transmitting output port 51-m by a coefficient less than 1, or may be a predetermined value that does not exceed the interface speed of the transmitting output port 51-m. If the output control unit 44 determines that the sum of the input bit rate values is less than the threshold value (step S302: YES), it determines that packets of all IP flows of the transmitting output port 51-m are priority. That is, the output control unit 44 determines the QoS value of the received packet to a value that indicates priority (step S303). The output control unit 44 sets the determined QoS value in the flow status information of the received packet. Furthermore, if packets of the transmitting output port 51-m are currently being thinned out, the output control unit 44 ends the thinning out.
[0051] If the output control unit 44 determines that the sum of the input bit rate values exceeds the threshold (step S302: NO), it determines whether packets are currently being thinned out at the transmission output port 51-m (step S304). If the output control unit 44 determines that packets are not being thinned out (step S304: NO), it enables the thinning output operation of the transmission output port 51-m (step S305). In the thinning output operation, the network switch 1 distributes received packets to a priority transmission queue or a normal transmission queue based on the thinning rate, the thinning-out frame count, the thinning pattern, and the measurement completion flag set in the flow state information.
[0052] The output control unit 44 sets the number of frames being thinned out in the flow state information of the received packet to an initial value of 1. Furthermore, the output control unit 44 sets the number of frames being thinned out in the flow state information of each IP flow of the transmitting output port 51-m to an initial value of 0, except for the flow state information of the received packet (step S306). The output control unit 44 updates the thinning rates of all IP flows of the transmitting output port 51-m (step S307). Therefore, the output control unit 44 calculates the thinning rate of the transmitting output port 51-m using the following equation (1):
[0053] Decimation rate = 1 - (output interface bandwidth ÷ input bitrate) ... (1)
[0054] The bandwidth of the output interface is the bandwidth that the transmission output port 51-m can output, and for example, the threshold value used in step S302 can be used. The output control unit 44 calculates the input bit rate by the sum of the input bit rates read from the flow state information of all IP flows of the transmission output port 51-m, or the sum of the input bit rates of all IP flows set in the thinning table of the transmission output port 51-m. The output control unit 44 updates the thinning rate of the flow state information of all IP flows of the transmission output port 51-m to the thinning rate calculated by equation (1) (step S307).
[0055] Next, the output control unit 44 updates the output frame rate and output bit rate of each IP flow of the transmission output port 51-m to the values after thinning. The output control unit 44 calculates the output frame rate and output bit rate of each IP flow of the transmission output port 51-m using the following equations (2) and (3), respectively.
[0056] Output frame rate = IP flow input frame rate × thinning rate … (2)
[0057] Output bit rate = IP flow input bit rate × thinning rate … (3)
[0058] The output control unit 44 reads the input frame rate and input bit rate of each IP flow of the transmission output port 51-m from the flow state information of each IP flow. Alternatively, the output control unit 44 may read the input FPS and input bit rate of each IP flow from the thinning table of the transmission output port 51-m. The output control unit 44 updates the output FPS and output bit rate of each IP flow set in the thinning table of the transmission output port 51-m to the output frame rate and output bit rate calculated for each IP flow (step S308).
[0059] The output control unit 44 sets a thinning pattern for each IP flow set in the thinning table of the transmission output port 51-m (step S309). The output control unit 44 sets the number of input FPSs for each IP flow set in the thinning table of the transmission output port 51-m as the number of symbols p of the thinning pattern. The output control unit 44 sets the symbol "1" in the thinning pattern, indicating that frames corresponding to the number q of output FPSs are to be output with priority, and sets the symbol "0" for the remaining (pq) frames, indicating that they are to be thinned. At this time, the output control unit 44 sets (pq) consecutive "0"s in order from the lowest number in the flow identification information so that the time intervals of frames set with 0 differ between flows. This allows the timing at which frames are output with priority and the timing at which frames are discarded to be distributed between IP flows.
[0060] Figure 3(a) shows an example in which four IP flows, F1 to F4, with an input bit rate of 3 Gbps, are output to a 10 Gbps (gigabits per second) output interface. The sum of the input bit rates is 12 Gbps. From equation (1), the thinning rate is 1 - (10 Gbps / 12 Gbps) = 0.83.... Furthermore, the output frame rate of each of flows F1 to F4 is 30 fps. From equation (2), the output frame rate of each of flows F1 to F4 after thinning is 0.8333 x 30 = 24.999 fps, which is rounded down to 24 fps.
[0061] Since the input FPS is 30 fps, the number of symbols set in the thinning pattern is 30. Since the output frame rate is 24 fps, the output control unit 44 sets 24 of the 30 symbols to 1 and 6 consecutive symbols to 0. The output control unit 44 sets the thinning patterns so that the positions where 0 is set in each of the flows F1 to F4 do not overlap and so that 0 is closer to the beginning across all of the flows F1 to F4.
[0062] In this way, the thinning table is set as shown in Figure 3(a). In the thinning table of Figure 3(a), the thinning patterns for the latter six frames are all "1". Therefore, the output control unit 44 terminates the thinning pattern at the output frame rate of 24 fps, resulting in the thinning table of Figure 3(b). In this way, the output control unit 44 deletes frames for which all IP flows have a thinning pattern of "1" from the thinning table.
[0063] If the output control unit 44 determines in step S304 that thinning is in progress (step S304: YES), or after the process of step S310, the output control unit 44 performs the process of step S311. That is, the output control unit 44 reads the thinning-in-progress count from the flow state information of the received packet. Furthermore, the output control unit 44 reads a thinning-in-progress count corresponding to the flow identification information of the received packet from the thinning table, and reads a symbol at a position corresponding to the thinning-in-progress count from the read thinning pattern. The output control unit 44 determines whether the read symbol is 1 (step S311). If the output control unit 44 determines that the symbol is 1 (step S311: YES), it determines the QoS value of the received packet to be a value representing priority (step S312). If the output control unit 44 determines that the symbol is 0 (step S311: NO), it determines the QoS value of the received packet to be a value representing normal (step S313). As a result, in the case of the thinning table shown in FIG. 3(b), six frames of received packets for each of all IP flows of the transmission output port 51-m are either put into the normal transmission queue or discarded.
[0064] FIG. 7 is a flow diagram showing the entry deletion process of the network switch 1. The flow information measurement unit 42 executes the process shown in FIG. 7 at predetermined time intervals. The flow information measurement unit 42 selects all entries in the flow status storage unit 43 one by one (step S401). An entry is a combination of an output port 51 and a flow ID. The flow information measurement unit 42 The flow information measurement unit 42 identifies the flow state information of the selected entry. The flow information measurement unit 42 determines whether the last received timestamp of the identified flow state information has been updated since the previous processing in FIG. 7 was performed (step S402). If the flow information measurement unit 42 determines that an update has occurred (step S402: YES), it selects the next entry. If the flow information measurement unit 42 determines that no update has occurred (step S402: NO), it deletes the identified flow state information and then selects the next entry (step S403). If all entries have been selected, the flow information measurement unit 42 ends the processing in FIG. 7.
[0065] In the above example, the thinning pattern is set so that 0's are consecutive. This setting makes it easier to set the thinning pattern when the input frame rates of each IP flow are different. When the input frame rate of all IP flows is the same, the 0's do not need to be consecutive as long as they are distributed among the IP flows. For example, in the thinning table of Figure 3(b), the thinning pattern for flow F1 may be "10001000...1000", the thinning pattern for flow F2 may be "01000100...0100", the thinning pattern for flow F3 may be "00100010...0010", and the thinning pattern for flow F4 may be "00010001...0001".
[0066] The network switch 1 in the above-described embodiment may include a CPU (Central Processing Unit), memory, auxiliary storage device, and the like, all connected via a bus, and the CPU may execute a program to implement the routing unit 3 and transmission control unit 4. Note that all or part of the functions of the routing unit 3 and transmission control unit 4 may be implemented using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array). The program may be recorded on a computer-readable recording medium. Examples of computer-readable recording media include portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems. The program may be transmitted via a telecommunications line.
[0067] According to the above embodiment, when the video packets output from the network switch 1 exceed the transferable rate, the QoS value is dynamically set for each video frame, thereby suppressing the output rate and enabling the receiving device of the video packets to compose video frames, albeit intermittently. In this way, even when congestion occurs in the network switch 1, it is possible to reduce long periods of video interruption in the receiving device.
[0068] According to the embodiment described above, the packet forwarding device includes a receiving unit, a transmitting unit, an output control unit, and a priority control unit. For example, the packet forwarding device is the network switch 1 of the embodiment. The receiving unit receives packets in which data constituting each frame of video is set. The output unit outputs the packets received by the receiving unit. The output control unit determines the priority of the packets on a frame-by-frame basis when the bandwidth of the packets output from the output unit exceeds a threshold. The priority control unit discards at least some of the packets received by the receiving unit that are set with data of frames to which a low priority has been assigned by the output control unit, and outputs the packets that were not discarded to the output unit. The priority control unit is, for example, the queue unit 45 of the embodiment.
[0069] The packet forwarding device may further include a determination unit and a measurement unit. The determination unit determines a flow based on address information set in the packet. For example, the determination unit is the packet type determination unit 41 of the embodiment. The measurement unit measures the input speed of packets to the receiving unit. For example, the measurement unit is the flow information measurement unit 42 of the embodiment. The output control unit calculates a thinning rate, which is the rate at which frames are thinned out, based on the input speed measured by the measurement unit and a threshold. The output control unit assigns a low priority to some frames for each flow according to the calculated thinning rate so that periods during which low priority is assigned are distributed among flows.
[0070] The output unit may have a plurality of output interfaces that output packets to a line. The measurement unit measures the input speed of packets to the receiving unit for each flow. The output control unit performs a process of calculating a thinning rate for each output interface based on the sum of the input speeds of each flow that outputs packets from the output interface and a threshold value corresponding to the output interface, and a process of assigning a low priority to some frames for each flow in accordance with the calculated thinning rate so that periods in which low priority is assigned are distributed among flows that output packets from the output interface.
[0071] 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. [Explanation of symbols]
[0072] 1 network switch 2. Receiving section 3 Routing section 4 Transmission control section 5. Transmitter 21 input ports 21-1 to 21-N Input ports 21-N input port 31 Routing information storage unit 32 Routing processing unit 41 Packet type determination unit 42 Flow Information Measurement Unit 43 Flow State Memory 44 Output control section 45 Queue 51-1~51-M Output ports Q1 Priority Transmit Queue Q2 Normal send queue
Claims
1. a receiving unit that receives packets containing data that constitute each frame of video; an output unit that outputs the packet received by the receiving unit; an output control unit that determines a priority of the packet on a frame-by-frame basis when a bandwidth of the packet output from the output unit exceeds a threshold; a priority control unit that discards at least a portion of packets that have data of the frame to which a low priority is assigned by the output control unit, among the packets received by the receiving unit, and outputs the packets that have not been discarded to the output unit; a determination unit that determines a flow based on address information set in the packet; a measuring unit that measures an input speed of the packets to the receiving unit; Equipped with the output control unit calculates a thinning rate, which is a rate at which the frames are thinned out, based on the input speed measured by the measurement unit and the threshold, and assigns a low priority to some of the frames for each flow according to the thinning rate so that periods during which low priorities are assigned are dispersed among the flows. Packet forwarding equipment.
2. the output unit has a plurality of output interfaces for outputting the packets to a line; the measuring unit measures an input speed of the packets to the receiving unit for each flow, the output control unit performs a process of calculating a thinning rate for each of the output interfaces based on the sum of the input rates of the flows that output the packets from the output interface and a threshold value according to the output interface, and a process of assigning a low priority to some of the frames for each of the flows according to the thinning rate so that periods during which a low priority is assigned are distributed among the flows that output the packets from the output interface.
2. The packet forwarding device according to claim 1.
3. On the computer, an output control step of determining a priority of a packet on a frame-by-frame basis when a bandwidth of the packet received by the receiving unit and output from an output unit that outputs the packet and sets data constituting each frame of video exceeds a threshold; a priority control step of discarding at least a part of the packets received by the receiving unit, in which data of the frame to which a low priority is assigned in the output control step is set, and controlling so that the packets that are not discarded are output to the output unit; a determination step of determining a flow based on address information set in the packet; a measuring step of measuring an input speed of the packets to the receiving unit; Execute In the output control step, a thinning rate is calculated based on the input speed measured in the measurement step and the threshold value, and a low priority is assigned to some of the frames for each flow in accordance with the thinning rate so that periods during which low priority is assigned are dispersed among the flows. Program for.
Citation Information
Patent Citations
Packet transfer arrangement and method thereof
JP2005072814A
Information processor, information processing method, and program
JP2015050591A
Method and system for packet discard precedence for video transport
US20130114411A1