WO2022092075A1 - 通信装置及び通信方法 - Google Patents

通信装置及び通信方法 Download PDF

Info

Publication number
WO2022092075A1
WO2022092075A1 PCT/JP2021/039455 JP2021039455W WO2022092075A1 WO 2022092075 A1 WO2022092075 A1 WO 2022092075A1 JP 2021039455 W JP2021039455 W JP 2021039455W WO 2022092075 A1 WO2022092075 A1 WO 2022092075A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transmission
packet
communication
unit
Prior art date
Application number
PCT/JP2021/039455
Other languages
English (en)
French (fr)
Inventor
大史 浅井
Original Assignee
株式会社 Preferred Networks
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 Preferred Networks filed Critical 株式会社 Preferred Networks
Publication of WO2022092075A1 publication Critical patent/WO2022092075A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control

Definitions

  • This disclosure relates to communication devices and communication methods.
  • TCP Transmission Control Protocol
  • QUIC Quadrature UDP Internet Connections
  • the TCP and QUIC congestion control algorithms control the packet transmission rate according to the effective bandwidth of the network. If the effective bandwidth is small and the line bandwidth is sufficient, the congestion window is gradually increased to increase the packet transmission rate. When the effective bandwidth of the network reaches the bandwidth of the line and the bandwidth of the line becomes insufficient, packet loss occurs and delays increase, and congestion is detected. If congestion is detected, the congestion window is reduced and the packet transmission rate is reduced. The lost packet is retransmitted by the TCP retransmission algorithm.
  • An embodiment of the present invention provides a communication device and a communication method for suppressing deterioration of communication quality.
  • the communication device includes a transmission processing unit that transmits the first data and transmits the second data, and a control unit that makes the second data redundant according to the transmission status of the first data. Be prepared.
  • the communication device receives the first data, and transmits the reception processing unit that receives the second data and the control information that makes the second data redundant based on the reception status of the first data. It is equipped with a control unit.
  • the communication device has a first reception processing unit that receives the first data addressed to the first device and receives the second data addressed to the second device, and the first data to the first device.
  • the first transmission processing unit that transmits and transmits the second data to the second device, and the control information that makes the second data redundant based on the reception status of the first data is transmitted of the second data. It includes a second transmission processing unit that transmits data to the original third device.
  • the communication device receives the first data addressed to the first device, receives the second data addressed to the second device, and transmits the first data to the first device.
  • the transmission processing unit includes a transmission processing unit that transmits the second data to the second device, and the transmission processing unit sends the second data to the second device based on the reception status of the first data.
  • the request information requesting the redundancy of the second data transmitted from the third device of the above is transmitted.
  • the block diagram of the transmission device which concerns on this embodiment. The figure which shows the format example of a DFSP packet.
  • the block diagram of the receiving apparatus which concerns on modification 5.
  • the block diagram of the communication system which concerns on 2nd Embodiment.
  • the block diagram of the transmission apparatus which concerns on 2nd Embodiment.
  • the block diagram of the transmission apparatus which concerns on 2nd Embodiment.
  • the block diagram of the communication system which concerns on 3rd Embodiment.
  • the block diagram of the receiving apparatus which concerns on 3rd Embodiment The block diagram of the receiving apparatus which concerns on 3rd Embodiment.
  • the block diagram of the relay device which concerns on 3rd Embodiment The figure which shows an example of the communication sequence which concerns on 3rd Embodiment.
  • the flowchart of an example of the operation of the relay device which concerns on 3rd Embodiment The block diagram of the receiving apparatus which concerns on 4th Embodiment.
  • the figure which shows an example of the communication sequence which concerns on 4th Embodiment The flowchart of an example of the operation of the relay device which concerns on 4th Embodiment.
  • FIG. 1 is a block diagram of a communication system according to the present embodiment.
  • the communication system of FIG. 1 includes a plurality of mobile bodies M equipped with a transmitting device 10 and a receiving device 20.
  • the transmitting device 10 and the receiving device 20 correspond to an example of a communication device or a wireless communication device according to the present embodiment.
  • the mobile body M is an arbitrary mobile body such as a car, a robot, a ship, a drone, a mobile terminal (smartphone, tablet terminal, notebook PC, etc.), or a train.
  • the transmitting device 10 is mounted on a moving body, but the transmitting device 10 may be mounted on a fixedly installed terminal or machine.
  • the moving body M is an automobile.
  • the automobile may be either an automobile having a function of assisting the user's driving or an autonomous driving vehicle that autonomously determines and travels.
  • the transmission device 10 is connected to the communication network 30.
  • the communication network 30 is, for example, a network such as a mobile network or a wireless LAN (Local Area Network). Examples of mobile networks include 3G networks, LTE networks, next-generation (5G) networks, etc., but any type of network can be used. Further, the communication network 30 may be a wireless network or a wired network.
  • the communication network 30 may include a plurality of types of networks. In this case, the transmitting device 10 may select the network used for communication with the receiving device 20 from a plurality of types of networks. In the present embodiment, the transmitting device 10 performs wireless communication, but may be configured to perform wired communication.
  • the communication network 30 may include one or more relay devices that relay data or packets.
  • the medium-sized device corresponds to an example of the communication device or wireless communication device according to the present embodiment.
  • the packet is a general expression of an information transmission unit, and is not limited to the information transmission unit of a specific protocol.
  • packets can be replaced with other terms such as frames, datagrams, and segments.
  • the transmission device 10 acquires data from one or a plurality of sensors provided in the mobile body M.
  • One or more sensors detect the data provided to one or more applications in the receiving device.
  • the data detected by each sensor belongs to different data flows.
  • the transmitting device 10 transmits the data detected by each sensor to the receiving device 20. More specifically, the transmitting device 10 generates a packet containing data, and transmits the generated packet to the receiving device 20.
  • Examples of multiple sensors include cameras, GPS, LiDAR (Light Detection And Ringing), speed sensors, acceleration sensors, detection sensors for vehicle control information (engine rotation state, accelerator depression state, etc.), sudden braking detection sensors, etc. Includes detection sensors for obstacles (falling objects, vehicles in front).
  • the receiving device 20 is connected to the communication network 30 by wire or wirelessly.
  • the receiving device 20 is arranged, for example, in a mobile network.
  • the receiving device 20 may be an edge controller of a mobile network.
  • the receiving device 20 receives data for one or more applications from the mobile M, more specifically, a packet containing the data.
  • the receiving device 20 includes one or more applications that process the data transmitted from the mobile body M.
  • the receiving device 20 passes the data acquired from the mobile body M to the corresponding application.
  • Examples of multiple applications include applications that generate high-definition maps, applications that generate engine control optimization models, applications that generate road safety information, and so on.
  • the time constraint for data transmission may differ depending on the application. As an example, in an application that generates a high-definition map and an application that generates an optimized model of engine control, the time constraint of data transmission is long (1 hour, 1 day, etc.). On the other hand, in an application that generates road safety information, the time constraint of data transmission is short (for example, 10 seconds or less). As an example, data with a short time constraint corresponds to data with a high priority, and data with a long time constraint corresponds to data with a low priority.
  • the receiving device 20 may function as a relay device. In this case, the receiving device 20 may transmit the data received from the transmitting device 10 of the mobile body M to another device (for example, a server) including one or more applications.
  • another device for example, a server
  • the transmitting device 10 and the receiving device 20 of the mobile body M may communicate with each other via a relay device such as a base station or a router.
  • the transmitting device 10 wirelessly connects to a nearby base station by executing a predetermined connection process.
  • the transmitting device 10 of the mobile body M communicates with the receiving device 20 via the connected base station.
  • One or more routers between the base station and the receiving device 20 may be arranged.
  • the receiving device 20 may be connected to the base station wirelessly or by wire.
  • the receiving device 20 may be connected to a plurality of base stations, or may be connected to the base stations on a one-to-one basis.
  • FIG. 2 is a block diagram of the transmission device 10.
  • the transmission device 10 corresponds to an example of a communication device or a wireless communication device according to the present embodiment.
  • the transmission device 10 includes a plurality of data acquisition units 101A and 101B, a plurality of transmission buffer units 102A and 102B, a transmission processing unit 11, an information and communication unit 106, an antenna 107A, and an antenna 107B.
  • the transmission processing unit 11 includes a data flow synthesis unit 103, a control unit 104, a transmission unit 105A, and a transmission unit 105B.
  • the transmission unit 105A and the transmission unit 105B may be physically the same circuit or may be separate circuits.
  • two data acquisition units are provided, but three or more data acquisition units may be provided.
  • two transmission buffer units are provided, but three or more transmission buffer units may be provided.
  • two transmission units are provided, three or more transmission units may be provided.
  • two antennas are provided, one antenna may be provided, or three or more antennas may be provided.
  • the data acquisition units 101A and 101B are connected to the sensors 1A and 1B, respectively.
  • the sensor 1A outputs the data provided to the application A.
  • the sensor 1B outputs the data provided to the application B.
  • the number of sensors is two, but three or more sensors may be used.
  • Examples of multiple sensors are cameras, GPS, detection sensors for vehicle driving information (LiDAR (Light Detection And Ringing), speed sensors, acceleration sensors, etc.), vehicle control information (engine rotation state, accelerator depression state, etc.). Includes detection sensors for, sudden braking detection sensors, obstacle (falling objects, vehicles in front) detection sensors, etc.
  • the sensor may output data at regular intervals in a time series, or may output data at a specific timing such as when an event occurs. Examples of sensors are not limited to those described above. For example, the sensor may detect data input from a user such as a passenger of an automobile via an operation unit.
  • the data output from each sensor at regular intervals or at specific timings is one data flow.
  • the data acquisition units 101A and 101B acquire the data detected by the sensors 1A and 1B.
  • the data acquisition units 101A and 101B provide the acquired data to the transmission buffer units 102A and 102B.
  • the data detected by the sensor includes, for example, the attribute information of the sensor, the detection time, and the data body.
  • the data acquisition units 101A and 101B may perform a predetermined operation (for example, calculation of an average value) on the data acquired from the sensors 1A and 1B, and provide the calculated data to the transmission buffer units 102A and 102B. Further, the data acquisition units 101A and 101B may perform predetermined operations (for example, four arithmetic operations) based on the data acquired from two or more sensors, and provide the calculated data to the transmission buffer units 102A and 102B.
  • a predetermined operation for example, calculation of an average value
  • predetermined operations for example, four arithmetic operations
  • the transmission buffer units 102A and 102B receive data from the data acquisition units 101A and 101B and store the received data in an internal storage area. That is, the transmission buffer units 102A and 102B buffer the data acquired from the data acquisition units 101A and 101B.
  • the transmission buffer units 102A and 102B manage the order in which the data is received, and output the data in the order in which the data is received.
  • the transmission buffer units 102A and 102B are storage devices having a storage area of a predetermined size, and are, for example, configured by a recording medium such as a memory or a hard disk.
  • the control unit 104 controls reading and transmission of data from the transmission buffer units 102A and 102B.
  • the control unit 104 controls reading data from the transmission buffer units 102A and 102B according to the time constraint of the application. Further, the control unit 104 controls data reading from the transmission buffer unit 102A so that the data is transmitted at a transmission rate corresponding to the value of the TCP congestion window in the transmission unit 105A. Further, the control unit 104 makes the data transmitted from the transmission unit 105B redundant according to the data transmission status in the transmission unit 105A. Details of the operation of the control unit 104 will be described later.
  • the transmission processing unit 11 reads data from the transmission buffer units 102A and 102B under the control of the control unit 104, and transmits the read data.
  • the transmission processing unit 11 includes a data flow synthesis unit 103, a transmission unit 105A, and a transmission unit 105B.
  • the data read from the transmission buffer unit 102A and transmitted corresponds to the first data to be transmitted to the receiving device 20 as an example, and the data read from the transmission buffer unit 102B and transmitted corresponds to the second data transmitted to the receiving device 20 as an example.
  • the data flow synthesis unit 103 reads data from the transmission buffer units 102A and 102B under the control of the control unit 104.
  • the data flow synthesis unit 103 generates a DFMP packet by processing the read data according to a data flow control protocol (DFCP: Data Flow Control Protocol) and a data flow multiplexing protocol (DFMP: Data Flow Multiplexing Protocol).
  • DFCP Data Flow Control Protocol
  • DFMP Data Flow Multiplexing Protocol
  • the data flow synthesis unit 103 generates a DFSP packet by adding a DFSP header, which is a header of the data flow control protocol (DFCP), to the data read from the transmission buffer unit (102A or 102B). More specifically, a sequence number (referred to as a local sequence number) is assigned to the data read from the transmission buffer unit.
  • the local sequence number is a number that increases by a constant value (for example, 1) for each DFSP packet, for example.
  • a time time stamp
  • the generated DFSP header is added to the data read from the transmission buffer unit, thereby generating a DFSP packet.
  • the flow ID is an identifier that identifies the data flow.
  • the data corresponding to the same flow ID is the data acquired from the same sensor, the data read from the same transmission buffer unit, or the data provided to the same application.
  • FIG. 3 shows an example of the format of the DFSP packet.
  • the DFSP packet includes a DFSP header and a payload section.
  • the data read from the transmission buffer unit is stored in the payload unit.
  • the DFSP header includes a flow ID, a local sequence number, a transmission time, and the like.
  • the TS (time stamp) in the figure represents the transmission time.
  • the DFSP header may contain other fields. For example, there may be a field containing information about the priority of the data contained in the payload part of the DFSP packet. Alternatively, there may be a type field indicating whether the data included in the payload unit is stream data such as video data or non-stream data such as event data. There may also be a checksum field for error detection. In addition, fields such as version, header length, payload length, and reserve may be included.
  • the data flow synthesis unit 103 generates a DFMP packet by adding a DFMP header to the DFCP packet. More specifically, the data flow synthesis unit 103 determines a sequence number (referred to as a global sequence number) to be assigned to the DFSP packet.
  • the global sequence number is a sequence number independent of the local sequence number.
  • the data flow synthesis unit 103 determines a continuous sequence number each time a DFSP packet is generated, regardless of whether the data read source is the transmission buffer unit 102A or 102B.
  • the sequence number of DFMP is, for example, a number that increases by a constant value (for example, 1).
  • the local sequence number is an independent sequence number for each application, but the global sequence number is a sequence number common to a plurality of applications. By using a common global sequence number for a plurality of applications (that is, a plurality of data flows), it is possible to synthesize a plurality of data flows.
  • the data flow synthesis unit 103 acquires a time (time stamp) from the internal or external clock of the transmission device 10, and uses the acquired time as the transmission time of the data or DFMP packet.
  • the data flow synthesis unit 103 generates a DFMP header including a global sequence number and a transmission time, and adds the DFMP header to the DFSP packet to make it a DFMP packet.
  • the transmission time included in the DFMP header the same time as the transmission time included in the DFCP header may be used.
  • the DFSP header including the local sequence number is added to the read data, and the DFMP header including the global sequence number is further added. .. As a result, a DFMP packet is generated.
  • FIG. 4 shows an example of DFMP packet format.
  • the DFMP packet includes a DFMP header and a payload portion.
  • DFSP packets are stored in the payload section.
  • the DFMP header includes the global sequence number and the transmission time.
  • the TS in the figure represents the transmission time.
  • the DFMP header may contain other fields. For example, fields such as version, header length, payload length, reserve, etc. may be included.
  • the transmitting units 105A and 105B communicate with the receiving device 20 via the communication network 30.
  • the transmitting unit 105A communicates with the receiving device 20 by using a communication protocol having a congestion control algorithm.
  • communication performed by a communication protocol having a congestion control algorithm is referred to as communication with congestion control.
  • the transmitting unit 105B communicates with the receiving device 20 by using a communication protocol having no congestion control algorithm. In this embodiment, it is assumed that the transmission unit 105A uses TCP and the transmission unit 105B uses UDP.
  • the data flow synthesis unit 103 provides the generated DFMP packet to the transmission unit 105A or the transmission unit 105B. Specifically, the data flow synthesis unit 103 transmits a DFMP packet generated based on the data read from the transmission buffer unit 102A (for example, low-priority data for which the time constraint for high-definition map generation is not strict) is transmitted to the transmission unit 105A. To provide to. A DFMP packet generated based on the data read from the transmission buffer unit 102B (for example, high-priority data with a strict time constraint for notifying a real-time traffic situation) is provided to the transmission unit 105B.
  • a DFMP packet generated based on the data read from the transmission buffer unit 102B for example, high-priority data with a strict time constraint for notifying a real-time traffic situation
  • the transmission unit 105A and the transmission unit 105B add a transport layer header, a network layer header, and a data link layer header to the DFMP packet provided by the data flow synthesis unit 103 to form a data link layer packet.
  • the transmission unit 105A uses TCP as the transport layer
  • the transmission unit 105B uses UDP.
  • the transport layer may further contain a protocol for encryption.
  • the network layer includes IP (Internet Protocol) as an example.
  • the data link layer includes, for example, Ethernet® or IEEE 802.11 protocols. It should be noted that not all of these layers are essential.
  • FIG. 5 shows an example of the format of the data link layer packet.
  • This example includes an Ethernet header, an IP header, a UDP header or a TCP header, a DFMP header, a DFSP header, a payload section, and an Ethernet FCS (Frame Check Sequence).
  • the data detected by the sensor (that is, the data in the payload part of the DFSP packet) is stored in the payload part.
  • DFMP and DFSP are protocols higher than IP (Internet Protocol) and higher than UDP or TCP.
  • the transmission unit 105A processes the physical layer of the data link layer packet provided by the data flow synthesis unit 103, and adds the header of the physical layer.
  • the transmission unit 105A transmits a packet to which the header of the physical layer is added via the antenna 107A. More specifically, the transmission unit 105A modulates and DA-converts the packet into an analog signal, extracts a signal in a desired band, and up-converts the extracted signal to a radio frequency.
  • the transmission unit 105A amplifies the radio frequency signal with an amplifier, and transmits the amplified radio frequency signal via the antenna 107A.
  • the transmission unit 105A may perform coding at at least one of a transport layer, a network layer, a data link layer, and a physical layer.
  • the packet transmitted from the transmission unit 105A corresponds to the first data transmitted to the receiving device 20 as an example.
  • Examples of codes used for coding include erasure correction codes and error correction codes other than erasure correction codes.
  • Examples of vanishing correction codes include RS code, rateless code, BCH code, fountain code, Tornado code, LT (LubyTransform) code, Raptor code, RaptorQ code, Zigzagdecodable code, ZD fountain code or XOR code.
  • Examples of error correction codes other than erasure correction codes include convolutional codes, turbo codes, LDPC codes, Polar codes, and the like.
  • the transmission unit 105B processes the data link layer packet provided by the data flow synthesis unit 103 in the physical layer, and generates a packet in the physical layer.
  • the transmission unit 105B transmits the physical layer packet via the antenna 107B. More specifically, the transmission unit 105B modulates and DA-converts the packet into an analog signal, extracts a signal in a desired band, and up-converts the extracted signal to a radio frequency.
  • the transmission unit 105B amplifies the radio frequency signal with an amplifier, and transmits the amplified radio frequency signal via the antenna 107B.
  • the transmission unit 105B may perform coding at at least one of a transport layer, a network layer, a data link layer, and a physical layer.
  • the example of the code used for coding is the same as that of the transmission unit 105A.
  • the packet transmitted from the transmission unit 105B corresponds to the second data transmitted to the receiving device 20 as an example.
  • the information communication unit 106 receives a response packet including feedback information regarding the reception of the DFMP packet or the DFSP packet from the receiving device 20.
  • the feedback information is, for example, a DFMP message or a DFSP message. Examples of feedback information include communication quality information of DFMP packets or request for retransmission of DFSP packets.
  • the control unit 104 receives feedback information from the information communication unit 106, and controls data reading from the transmission buffer units 102A and 102B based on the feedback information.
  • the data related to the local sequence number requested for retransmission is read out, and the DFSP packet with the same local sequence number is retransmitted.
  • a notification that the communication quality is low for example, the packet loss rate is equal to or higher than the threshold value, the fluctuation of the packet arrival delay time is equal to or higher than the threshold value, etc.
  • the data of the application with low priority is transmitted. Control to lower the rate may be performed.
  • FIG. 6 is a diagram showing a specific example of data flow synthesis performed in the data flow synthesis unit 103.
  • Data 3 to 6 are stored in the transmission buffer unit 102A as data related to the application A in this order. It is assumed that the flow ID of the application A is "1".
  • the data of the application A is transmitted at a transmission rate according to the congestion control of TCP (for example, the congestion window) in the transmission unit 105A.
  • Data 53, 52, 54 are stored in the transmission buffer unit 102B as data related to the application B in this order. It is assumed that the flow ID of the application B is "2". The data of application B is transmitted, for example, at a constant transmission rate.
  • the data flow synthesis unit 103 reads data from the transmission buffer units 102A and 102B according to their respective transmission rates.
  • the data flow synthesis unit 103 adds a DFSC header including a flow ID for each application to the read data in the order in which the data is read, and forms a DFSP packet.
  • a DFMP header including a global sequence number is further added to obtain a DFMP packet.
  • the local sequence numbers in the DFSP header are contiguous for each flow ID (ie, for each application).
  • the global sequence number of the DFMP header is continuous for each DFMP packet generated regardless of the flow ID.
  • the DFSP header containing "FID: 1" is a DFSP header having a flow ID of 1
  • the DFSP header containing "FID: 2" is a DFSP header having a flow ID of 2. ..
  • "Seq: XXX” means that the global sequence number of the DFMP header is XXX.
  • the illustration of the local sequence number in the DFSP header is omitted.
  • a time stamp or the like may be included in at least one of the DFSP header and the DFSP header.
  • the DFMP packet having the global sequence number XXX is described as DFMP packet XXX, it is output from the data flow synthesis unit 103 in the order of DFMP packet 001, DFMP packet 002, DFMP packet 003, and DFMP packet 004.
  • the DFMP packet 001 includes the data 1 read from the transmission buffer unit 102A and is sent to the transmission unit 105A.
  • the DFMP packet 002 includes the data 51 read from the transmission buffer unit 102B and is sent to the transmission unit 105B.
  • the DFMP packet 003 includes the data 2 read from the transmission buffer unit 102A and is sent to the transmission unit 105A.
  • the DFMP packet 004 includes the data 52 read from the transmission buffer unit 102B and is sent to the transmission unit 105B.
  • the transmission unit 105A adds various headers and the like to each DFMP packet input from the data flow synthesis unit 103 to form a physical layer packet, and transmits the packet to the reception device 20 via the antenna 107A.
  • the transmission unit 105B adds various headers and the like to each DFMP packet input from the data flow synthesis unit 103 to form a physical layer packet, and transmits the packet to the reception device 20 via the antenna 107B.
  • FIG. 7 is a block diagram of the receiving device 20.
  • the receiving device 20 includes data processing units (applications) 201A and 201B, reception buffer units 202A and 202B, data flow separation units 203, receiving units 205A and 205B, information and communication units 206, and antennas 207A and 207B.
  • the receiving device 20 corresponds to an example of the wireless communication device or the communication device according to the present embodiment. In the present embodiment, the receiving device 20 performs wireless communication, but a configuration in which wired communication is performed is not excluded.
  • the number of data processing units is two, but three or more may be used.
  • the number of receive buffer units is two, but three or more may be used. Further, although the number of receiving units is two, three or more may be used.
  • the receiving units 205A and 205B receive the DFMP packet transmitted from the transmitting device 10 via the communication network 30. More specifically, the receiving units 205A and 205B receive the radio signal via the antennas 207A and 207B, amplify the received signal, and down-convert to the baseband frequency. A signal in a desired band is extracted from the down-converted signal, and the extracted signal is AD-converted. The digital signal obtained by AD conversion is demodulated. The receiving units 205A and 205B process and remove various headers from the demodulated packet (packet in the physical layer) to acquire the DFMP packet. The receiving units 205A and 205B provide the acquired DFMP packet to the data flow separation unit 203.
  • the data flow separation unit 203 detects packet loss based on the header of the DFMP packet.
  • the data flow separation unit 203 identifies the missing global sequence number based on the global sequence number included in the header of the DFMP packet. For example, if the global sequence numbers 001, 003, 004, 005 are detected but the global sequence number of 002 is not detected within a certain period of time, the global sequence number 002 is regarded as a missing global sequence number. In this case, the data flow separation unit 203 determines that the packet loss of the DFMP packet of the global sequence number 002 has occurred.
  • packet loss occurs when the DFMP packet disappears in the middle of the path of the communication network 30 and does not reach the receiving device 20, when an error is detected by the protocol of the lower layer of the DFMP, or when the packet is corrected by an error. Including cases where recovery was not possible.
  • the lower layer protocol has automatic retransmission control, and if a packet is correctly received by retransmission, it is not considered to be packet loss.
  • the data flow separation unit 203 generates communication quality information of the DFMP packet based on the reception status of the DFMP packet. As an example, the fluctuation information of the packet loss rate of the DFMP packet or the time delay of the packet arrival is calculated.
  • the information communication unit 206 transmits a response packet including feedback information including communication quality information of the DFMP packet to the transmission device 10 via the communication network 30.
  • the communication protocol used for transmitting the feedback information may be any, such as a 5G mobile communication standard, a 4G mobile communication standard, a wireless LAN standard, and other communication standards.
  • the data flow separation unit 203 acquires the DFSP packet by removing the DFMP header from the DFMP packet.
  • the data flow separation unit 203 identifies an application to which the data included in the payload of the DFSP packet should be passed based on the flow ID included in the header of the DFSP packet.
  • the data flow separation unit 203 provides the data included in the payload of the DFSP packet to the reception buffer unit 202 corresponding to the specified application.
  • the data flow separation unit 203 inspects the local sequence number of the DFSP header. When there is a missing local sequence number, the data flow separation unit 203 generates a retransmission request for the DFSP packet targeting the local sequence number. Further, when a checksum is included in the DFSP header, an error detection process of the DFSP packet may be performed, and when an error is detected, a request for retransmission of the DFSP packet may be generated.
  • the information communication unit 206 transmits a response packet including the generated retransmission request as feedback information to the transmission device 10 via the communication network 30. If the data in the payload of the DFSP packet is of a type that does not require data integrity, a configuration in which a retransmission request is not transmitted is also possible.
  • the reception buffer units 202A and 202B store the data provided by the data flow separation unit 203 in the internal storage area. That is, the reception buffer units 202A and 202B buffer the data provided by the data flow separation unit 203.
  • the reception buffer units 202A and 202B output the buffered data in the order received from the data flow separation unit 203.
  • the method of outputting data from the receive buffer unit may differ depending on the type of data to be output. As an example, the reception buffer units 202A and 202B may output data in response to a request from the data processing units 201A and 201B. Alternatively, the reception buffer units 202A and 202B may output the data as soon as the data is input.
  • the receive buffer units 202A and 202B may output the buffered data at regular time intervals.
  • the reception buffer units 202A and 202B are storage devices having a storage area of a predetermined size.
  • the reception buffer units 202A and 202B are configured by a recording medium such as a memory or a hard disk.
  • the data processing units 201A and 201B are application execution units that process the data provided by the reception buffer units 202A and 202B by executing the application, respectively.
  • the data processing unit 201A includes an application A and a CPU, and the CPU executes the application A.
  • the data processing unit 201B includes an application B and a CPU as an example, and the CPU executes the application B.
  • Examples of applications include high-definition map generation, engine control optimization model generation, road safety information generation, etc., but these are just examples, and there are many other applications.
  • Congestion control algorithms include those based on packet loss, those based on delay, and those based on a combination thereof, but here, the congestion control algorithm based on packet loss is taken as an example.
  • the congestion window is set to a small value at the start of communication as a slow start, and packets are transmitted.
  • the congestion window defines the number of packets that can be sent continuously. For example, if the value of the congestion window is X, X packets are transmitted.
  • the transmission unit 105A receives the ACK from the reception destination, the transmission unit 105A gradually expands the congestion window and increases the number of packets that can be transmitted.
  • the transmission rate can be gradually increased, and best-effort communication is realized.
  • the used bandwidth (effective bandwidth) of the communication network 30 reaches the upper limit and the bandwidth of the communication network 30 becomes insufficient, packet loss occurs.
  • TCP reduces the congestion window and lowers the packet transmission rate. Retransmit the lost packet.
  • packet loss may occur even in the communication of the transmission unit 105B (UDP communication in this example) that is performed at the same time as TCP, and the quality of communication may deteriorate.
  • the control unit 104 performs an operation of suppressing deterioration of the communication quality of the transmission unit 105B due to the congestion control of the transmission unit 105A.
  • the control unit 104 monitors the transmission status of the packet (for example, TCP packet) in the transmission unit 105A, and makes the packet transmitted from the transmission unit 105B redundant according to the transmission status.
  • the control unit 104 monitors the transmission frequency (for example, transmission rate) of the packet in the transmission unit 105A, and controls the redundancy of the packet transmitted from the transmission unit 105B according to the transmission rate. That is, the control unit 104 increases the redundancy of the packet transmitted from the transmission unit 105B in accordance with the increase in the transmission rate of the packet in the transmission unit 105A.
  • the transmission rate of the transmission unit 105A increases (for example, when the congestion window expands), it is predicted that packet loss will occur in the communication of the transmission unit 105B and the communication quality will deteriorate in the future. Therefore, by increasing the redundancy of the packet transmitted from the transmission unit 105B in advance, it is possible to increase the possibility that the data will be correctly received by the receiving device 20 even if packet loss occurs in the future.
  • the transmission rate exceeds the threshold value, the redundancy of the packet may be increased. Redundancy is predetermined in relation to the threshold value. A plurality of threshold values may be provided and the redundancy may be changed step by step.
  • the control unit 104 may decide not to make the packet redundant in the transmission unit 105B (do not increase the redundancy).
  • the control unit 104 may use the value of the TCP congestion window as a value representing the transmission rate or transmission frequency in the transmission unit 105A. In this case, the control unit 104 acquires the value of the congestion window from the transmission unit 105A. The value of the congestion window may be acquired at regular time intervals, or may be acquired every time the value of the congestion window is changed. The control unit 104 may increase the redundancy as the value of the congestion window increases. Redundancy may be increased when the value of the congestion window exceeds the threshold value. In this case, the redundancy is predetermined in association with the threshold value. A plurality of threshold values may be provided and the redundancy may be changed step by step.
  • the control unit 104 When the control unit 104 measures the transmission frequency (for example, the transmission rate) in the protocol layer lower than TCP, the control unit 104 acquires the transmission frequency value from the lower protocol layer and substitutes for the transmission frequency of the TCP packet.
  • the acquired transmission frequency may be used.
  • the transmission frequency of MAC frames when the transmission frequency of MAC frames is measured in the data link layer, the transmission frequency of MAC frames may be used.
  • the control unit 104 detects the start of communication (for example, TCP communication) of the transmission unit 105A, that is, the start of congestion control, when the communication of the transmission unit 105B is started before the transmission unit 105A.
  • the redundancy of the packet transmitted from the transmission unit 105B may be increased.
  • the redundancy may be increased with a certain slope, and after a certain period of time or after the redundancy reaches a predetermined value, the redundancy may be constant.
  • the packet can be made redundant at an early stage, and the deterioration of the communication quality of the transmission unit 105B can be suppressed more reliably.
  • the same data may be repeatedly transmitted. That is, the same data is transmitted multiple times. Even if some packets are lost, if the other packets arrive safely, the receiving device 20 can correctly acquire the data, so that the deterioration of the communication quality can be suppressed.
  • the redundancy is defined as the ratio of the number of transmitted packets after redundancy and the number of transmitted packets before redundancy, if the redundancy is 2, all the data (DFCP packets) are transmitted twice, respectively, and the redundancy degree. If is 1.5, the same data is transmitted twice at a rate of 1 in 2.
  • the same data is transmitted multiple times, it is assumed that different global sequence numbers are used for each DFSP packet containing the same data. However, it is not excluded that the same global sequence number is used for each DFSP packet.
  • FIG. 8 shows a specific example of redundancy.
  • An example of making a packet provided by the data flow synthesis unit 103 to the transmission unit 105B redundant is shown.
  • the data flow synthesis unit 103 reads the data 52 from the transmission buffer unit 102B and copies the data 52.
  • a DFSP packet containing the data 52 and a DFSP packet containing the copied data are generated.
  • the local sequence number of each DFSP packet is the same 005.
  • the DFSP packet may be copied after the DFSP packet including the data 52 is generated.
  • the data flow synthesis unit 103 determines global sequence numbers 007 and 008 that are different from each other for each DFSP packet, and adds a DFMP header including the global sequence number 007 to one DFSP packet to make a DFMP packet 007. Similarly, a DFMP header including the global sequence number 008 is added to the other DFSP packet to obtain a DFMP packet 008.
  • DFMP packets 007 and 008 are provided to the communication unit 108B.
  • the transmission unit 105B processes the transport layer, IP layer, data link layer, and physical layer of the DFMP packets 007 and 008, respectively, to generate a radio frequency signal, and transmits the generated signals via the antenna, respectively. do. Even if one of the two transmitted DFMP packets loses a packet, the other DFMP packet is correctly received by the receiving device 20 to compensate for the deterioration of communication quality due to the packet loss. Can be done.
  • the transmission unit 105B when the same data is transmitted a plurality of times, all the data is transmitted from the transmission unit 105B, but some data is transmitted from the transmission unit 105B and the remaining part of the data is transmitted to another unit. You may send it from the department. At this time, it is also possible to use a different communication method such that the transmission unit 105B uses a mobile line and the other transmission unit uses a communication method different from that of the mobile line, for example, a wireless LAN.
  • the receiving device 20 also needs to have a receiving unit corresponding to the other transmitting unit.
  • the method of changing the redundancy of the packet is not limited to changing the number of times data is transmitted.
  • the coding rate of the lost correction code may be changed.
  • the transmission rate of the packet in the transmission unit 105A becomes high, the coding rate in the transmission unit 105B may be reduced. That is, the number of redundant packets (or parity packets) generated by erasure correction coding is increased.
  • the receiving device 20 can correctly decode the packets, so that the data is correctly delivered to the receiving device 20 by redundancy. Can be done.
  • the protocol layer for erasure correction coding may be any of a transport layer, an IP layer, a data link layer, and a physical layer. Alternatively, it is not excluded that erasure correction coding is performed at least one of DFMP and DFSP, and erasure correction coding is performed at the application layer.
  • erasure correction coding is performed at least one of DFMP and DFSP, and erasure correction coding is performed at the application layer.
  • an error correction code such as a convolutional code
  • the receiving unit 205B or the data flow separating unit 203 of the receiving device 20 restores the original packet or the original data from the redundant packet and outputs the restored data.
  • the restoration method the one corresponding to the packet redundancy method may be used.
  • FIG. 9 is a flowchart of an example of an operation related to the control of the redundancy of the packet transmitted from the transmission unit 105B of the transmission device 10 according to the present embodiment.
  • the control unit 104 monitors the transmission status of the packet in the communication with congestion control (first communication) by the transmission unit 105A (S101). For example, the frequency of packet transmission is monitored, and the value of the TCP congestion window is acquired from the transmission unit 105A.
  • the control unit 104 determines the redundancy of the packet in the communication (second communication) of the transmission unit 105B according to the packet transmission status (for example, the transmission frequency of the monitored packet) in the transmission unit 105A (S102). As an example, the higher the value of the congestion window, the higher the redundancy is determined. Also, the smaller the value of the congestion window, the lower the redundancy is determined.
  • the control unit 104 may decide to increase the redundancy of the packet when it detects that the first communication by the transmission unit 105A has started. When the transmission frequency of the packet in the transmission unit 105A is low, the control unit 104 may decide not to make the packet redundant in the transmission unit 105B (do not increase the redundancy). The control unit 104 may decide to stop packet redundancy when it detects that the first communication has ended.
  • the control unit 104 outputs instruction information to the data flow synthesis unit 103 so as to generate a DFSP packet with the determined redundancy (S102).
  • the data flow synthesis unit 103 makes the DFSP packet redundant according to the instruction information received from the control unit 104 (S103). For example, when the redundancy is 2, every time data is read from the transmission buffer unit 102B, two DFSP packets (DFCP packets having the same local sequence number) containing the data are generated.
  • the data flow synthesis unit 103 adds a DFMP header to each DFSP packet to form a DFMP packet, and provides the DFMP packet to the transmission unit 105B (S103).
  • the transmission unit 105B processes the DFMP packet provided by the data flow synthesis unit 103 in various lower layers to obtain a physical layer packet. By making the DFSP packet redundant, the TCP packet is also made redundant.
  • the transmission unit 105B performs coding processing on the physical layer packet as necessary, and then performs modulation processing, DA conversion, analog processing, etc. to generate an analog radio frequency signal, and the generated radio frequency signal. To send.
  • FIG. 10 shows an example in which the packet transmitted from the transmission unit 105B is not made redundant as a comparative example of the present embodiment.
  • the transmission unit 105B transmits packets of the physical layer including DFSP packets at a constant rate from before time 0. Packet redundancy is not performed.
  • the bandwidth used for communication by the transmission unit 105B at this time is the bandwidth BW1 as shown in the graph G2.
  • TCP communication of the transmission unit 105A starts at time 0. Due to TCP congestion control, the value of the congestion window gradually increases, so that the packet transmission rate gradually increases. As the transmission rate increases, the bandwidth used by the transmission unit 105A also increases, as shown in graph G1.
  • the transmission rate of the transmission unit 105A increases or decreases due to repeated increase in the value of the congestion window, packet loss, and decrease in the value of the congestion window, and communication of the transmission unit 105A is performed.
  • FIG. 11 shows an example of making a packet transmitted from the transmission unit 105B redundant according to the present embodiment.
  • the transmission unit 105B transmits packets of the physical layer including DFSP packets at a constant rate from before time 0. Packet redundancy is not performed. At this time, the bandwidth used for communication by the transmission unit 105B is the bandwidth BW1 as shown in the graph G12.
  • Communication of the transmission unit 105A is started at time t11, and the packet transmission rate gradually increases as the value of the congestion window gradually increases due to the congestion control of TCP. As the transmission rate increases, the bandwidth used by the transmission unit 105A also increases, as shown in graph G11.
  • the control unit 104 makes the packet transmitted from the transmission unit 105B redundant based on the value of the congestion window. Specifically, the packet redundancy transmitted from the transmission unit 105B is increased as the value of the congestion window increases. As an example, when the start of communication of the transmission unit 105A is detected, the redundancy is increased, and when the predetermined value is reached, the predetermined value is maintained until the communication of the transmission unit 105A is completed. As shown in the graph G12, the transmission rate of the packet (including the redundant packet) transmitted by the transmission unit 105B increases from the time t11, and the bandwidth used by the transmission unit 105B also increases.
  • the value of the congestion window becomes small because the ACK does not reach from the receiving device 20, and the transmission rate of the transmitting unit 105A decreases.
  • the transmission rate of the transmission unit 105A increases or decreases while the value of the congestion window increases, the packet loss, and the value of the congestion window decrease repeatedly, and the communication of the transmission unit 105A ends at time t12.
  • the redundancy of the packet of the transmission unit 105B gradually decreases, and the redundancy of the communication of the transmission unit 105B is stopped at time t13 (for example, the redundancy becomes 1).
  • the data in the communication of the transmission unit 105B is made redundant according to the data transmission status (for example, the data transmission rate) of the transmission unit 105A.
  • the data transmission status for example, the data transmission rate
  • the transmission rate of the transmission unit 105A increases, it is possible to prevent the quality of communication in the transmission unit 105B from deteriorating.
  • the transmission unit 105B does not perform communication with congestion control, but the transmission unit 105B may perform communication with congestion control in the same manner as the transmission unit 105A. In this case as well, the same effect as that of the first embodiment can be obtained.
  • Modification 2 In the first embodiment, the DFMP and the DFSP are used for the communication of the transmission unit 105A, but the DFSP and the DFSP may not be used for the communication of the transmission unit 105A. In this case, the transmission unit 105A may read the data directly from the transmission buffer unit 102A.
  • DFMP and DFSP are used for communication between the transmission unit 105A and the transmission unit 105B, but DFMP may not be used for communication between the transmission unit 105A and the transmission unit 105B, and only DFSP may be used.
  • one DFSP packet is included in one DFSP packet, but two or more DFSP packets may be aggregated.
  • FIG. 12 shows an example in which a plurality of DFSP packets (DFCP packet 1 and DFSP packet 2 in this example) are aggregated in a DFSM packet.
  • the flow ID of the DFSP packet 1 and the flow ID of the DFSP packet 2 are different from each other. However, it is also possible that the flow ID of each DFSP packet is the same.
  • the data flow synthesis unit 103 aggregates the packets. As a result, the data flow synthesis unit 103 can reduce the overhead of the header as compared with the case where the DFMP header and the header of the protocol below it are added to each DFSP packet.
  • the aggregation of DFSP packets is 2, but it may be 3 or more.
  • the receiving device 20 determines the redundancy of the packet in the transmitting unit 105B of the transmitting device 10 according to the receiving status (for example, the receiving rate or the receiving frequency) of the packet in the receiving unit 205A of the receiving device 20.
  • the receiving device 20 transmits the control information (control information that makes the packet redundant with the determined redundancy) indicating the determined redundancy to the transmitting device 10. It can be estimated that the higher the reception rate in the reception unit 205A, the higher the transmission rate in the transmission unit 105A of the transmission device 10. Therefore, the receiving device 20 determines a higher redundancy with respect to the transmitting unit 105B as the receiving rate in the receiving unit 205A becomes higher.
  • FIG. 13 is a block diagram of the receiving device 20 according to the modified example 5.
  • the data flow separation unit 203 of the reception device 20 includes a control unit 211 for monitoring the packet reception frequency (reception rate) in the reception unit 205A.
  • the data flow separation unit 203, the reception unit 205A, and the reception unit 205B constitute the reception processing unit 21.
  • the control unit 211 measures the reception rate of the DFMP packet received from the reception unit 205A, and the higher the reception rate, the higher the redundancy with respect to the transmission unit 105B of the transmission device 10. It can be estimated that the higher the reception rate of the DFMP packet, the higher the reception rate of the packet (for example, TCP packet) in the reception unit 205A, that is, the higher the transmission rate of the packet in the transmission unit 105A.
  • the control unit 211 may acquire information on the reception rate of the TCP packet from the reception unit 205A, and determine the redundancy degree based on the acquired information. Information regarding the reception rate of the TCP packet may be calculated based on the return status of ACK for the packet received from the transmission unit 105A. Alternatively, when the TCP packet is temporarily stored in a buffer such as a memory, it may be calculated based on the storage status of the TCP packet in the buffer.
  • the control unit 211 may decide to increase the redundancy when the receiving unit 205A detects that the communication with the transmission unit 105A of the transmitting device 10 has started communication with congestion control. Similar to the first embodiment, the redundancy may be increased with a certain inclination from the start of the communication with congestion control, and when the redundancy reaches a predetermined value, the redundancy may be maintained at the predetermined value until the communication is completed. ..
  • the control unit 211 transmits the control information instructing redundancy to the transmission device 10 via the information communication unit 206. Control information may be included in the response packet.
  • the control unit 104 of the transmission device 10 receives the control information via the information communication unit 106, and makes the packet transmitted from the transmission unit 105B redundant based on the received control information.
  • the control unit 211 may transmit data for notifying the start of communication with congestion control (start data of communication with congestion control) to the transmission device 10.
  • the start data may be included in the response packet.
  • the control unit 211 may transmit the data notifying the communication (the end data of the communication with congestion control) to the transmission device 10.
  • the end data may be included in the response packet.
  • the transmission unit 105B of the transmission device 10 receives the start data, the packet in the transmission unit 105B is made redundant in the same manner as in the first embodiment. Upon receiving the end data, the transmission unit 105B stops the control of the redundancy.
  • TCP is used as a protocol having a congestion control algorithm, but other protocols such as QUIC (Quick UDP Internet Connections) may be used.
  • QUIC Quick UDP Internet Connections
  • the receiving device 20 communicates with a plurality of transmitting devices at the same time.
  • the receiving device 20 communicates with one transmitting device by TCP without using DFMP and DFSP, and communicates with another transmitting device (transmitting device according to the present embodiment) by UDP or TCP using DFMP and DFSP. do.
  • the receiving device 20 determines the redundancy of the packet transmitted from another transmitting device according to the reception status (for example, reception frequency or reception rate) of the packet in TCP with one transmitting device.
  • a packet received from one transmitting device corresponds to the first data received from the one transmitting device as an example, and a packet received from another transmitting device corresponds to a second data received from the other transmitting device as an example. do.
  • the receiving device 20 may decide to make packets transmitted from another transmitting device redundant.
  • the receiving device 20 transmits control information instructing redundancy to another transmitting device.
  • FIG. 14 is a block diagram of the communication system according to the second embodiment.
  • the transmission device 50 that communicates by TCP without using DFMP and DFSP and the transmission device 10 according to the present embodiment are connected to the reception device 20 via the relay device 40.
  • the relay device 40 is included in the communication network 30 of FIG. Although one relay device 40 is shown in the figure, the number of relay devices 40 may be two or more. In this example, it is assumed that the number of transmission devices 50 is one, but the number of transmission devices 50 may be two or more.
  • FIG. 15 is a block diagram of the transmission device 50.
  • the transmission device 50 includes a data acquisition unit 101A, a transmission buffer unit 102A, a transmission unit 105A, and an antenna 107A.
  • the data acquisition unit 101A is connected to the sensor 1A.
  • the transmission unit 105A is connected to the transmission buffer unit 102A.
  • the data flow synthesis unit 103 that performs processing related to DFCP and DFMP is not provided.
  • the operation of each element in FIG. 15 is the same as that of the element having the same name as that in FIG. 2 in the first embodiment.
  • FIG. 16 is a block diagram of the transmission device 10.
  • the transmission device 10 includes a data acquisition unit 101B, a transmission buffer unit 102B, a data flow synthesis unit 103, a control unit 104, a transmission unit 105B, an information communication unit 106, and an antenna 107A.
  • the data acquisition unit 101B is connected to the sensor 1B.
  • the operation of each element of FIG. 16 is the same as that of the element having the same name as that of FIG. 2 in the first embodiment. In the example of FIG. 16, only the configuration (sensor 1B, data acquisition unit 101B, transmission buffer unit 102B) for processing one data flow is shown, but processing of two or more data flows is performed as in the first embodiment. It may be configured to perform (see FIG. 2).
  • FIG. 17 is a block diagram of the receiving device 20. It has the same configuration as the modified example 5 (see FIG. 13) of the first embodiment, but the reception buffer unit 202A is directly connected to the reception unit 205A.
  • the reception buffer unit 202A acquires data for application A from the reception unit 205A, and stores the acquired data in an internal buffer.
  • the data flow separation unit 203 does not receive the DFMP packet from the reception unit 205A.
  • the difference from the modified example 5 will be mainly described.
  • the data flow separation unit 203 of the reception device 20 includes a control unit 211 that monitors the reception status (for example, reception frequency or reception rate) of packets in the reception unit 205A.
  • the control unit 211 measures the reception rate of a packet (for example, a TCP packet) in the reception unit 205A, and the larger the reception rate, the higher the redundancy with respect to the transmission unit 105B of the transmission device 10. It can be estimated that the higher the reception rate of the TCP packet, the higher the transmission rate of the transmission unit 105A.
  • the control unit 211 may acquire information on the reception rate of the TCP packet from the reception unit 205A, and determine the redundancy degree based on the acquired information.
  • the information regarding the reception rate of the TCP packet may be calculated based on the status of returning the ACK for the packet received from the transmission unit 105A.
  • the TCP packet is temporarily stored in a buffer such as a memory, it may be calculated based on the storage status of the TCP packet in the buffer.
  • the control unit 211 may decide to increase the redundancy when the receiving unit 205A detects that the communication with the transmission unit 105A of the transmitting device 10 has started communication with congestion control. For example, the redundancy may be increased with a certain inclination from the start of the communication with congestion control, and when the redundancy reaches a predetermined value, the redundancy may be maintained at the predetermined value until the communication is completed.
  • the control unit 211 transmits the control information indicating the redundancy to the transmission device 10 via the information communication unit 206. Control information may be included in the response packet.
  • the control unit 104 of the transmission device 10 receives the control information via the information communication unit 106, and makes the packet in the transmission unit 105B redundant based on the received control information.
  • the control unit 211 may transmit the data notifying the start of the communication with congestion control (start data of the communication with congestion control) to the transmission device 10. ..
  • the start data may be included in the response packet.
  • the control unit 211 may transmit the data notifying the communication (the end data of the communication with congestion control) to the transmission device 10.
  • the end data may be included in the response packet.
  • FIG. 18 shows an example of a communication sequence according to the second embodiment.
  • the receiving device 20 starts communication with the transmitting device 10. For example, communication of high-priority data (for example, UDP communication or TCP communication) to be provided to the application B at a fixed short interval is started (S111).
  • high-priority data for example, UDP communication or TCP communication
  • the receiving device 20 After starting communication with the transmitting device 10, the receiving device 20 starts communication with congestion control (for example, TCP communication) with the transmitting device 50 (S112).
  • the receiving device 20 transmits data (start data of communication with congestion control) notifying that communication with congestion control has started with the transmitting device 50 to the transmitting device 10 (S113).
  • This start data corresponds to an example of control information instructing redundancy.
  • the transmitting device 10 receives the start data, the data transmitted to the receiving device 20 is made redundant (the redundancy is increased). That is, the transmitting device 10 increases the redundancy of the packet to be transmitted and transmits the redundant packet (S113A).
  • the receiving device 20 ends the communication with the transmitting device 50 with the congestion control (S114), the data notifying the transmitting device 10 that the communication with the transmitting device 50 with the congestion control is completed (end data of the communication with the congestion control). ) Is transmitted to the transmission device 10 (S115).
  • This end data corresponds to an example of control information instructing the end of redundancy.
  • the transmitting device 10 receives the end data, the transmitting device 10 ends the redundancy of the data to be transmitted to the receiving device 20 (for example, the redundancy is returned to the initial value without the redundancy).
  • the receiving device 20 transmits the start and end of the communication with congestion control as control information, but the receiving device 20 may transmit the control information indicating the redundancy.
  • FIG. 19 is a flowchart of an example of the operation of the receiving device 20 according to the second embodiment.
  • the reception unit 205A of the reception processing unit 21 receives a packet (TCP packet or the like) containing data from the transmission unit 105A of the transmission device 10 based on a communication protocol (TCP or the like) having a congestion control algorithm (S121).
  • the receiving unit 205A sends the data contained in the received packet to the receiving buffer unit 202A.
  • the control unit 211 of the receiving device 20 generates control information instructing the redundancy of the packet in the transmitting unit 105B of the transmitting device 10 according to the reception status of the data (packet) in the receiving unit 205A (S122).
  • control unit 211 of the receiving device 20 generates control information when it detects that the communication by TCP in the receiving unit 205A of the receiving device 20 has started (S122).
  • the control unit 211 transmits the generated control information to the transmission device 10 via the information communication unit 206 (S123).
  • the control unit 104 of the transmission device 10 receives the control information via the information communication unit 106, and makes the packet transmitted from the transmission unit 105B redundant.
  • the data in the transmission unit 105B of the transmission device 10 is made redundant according to the data reception status (for example, the data reception rate) in the reception unit 205A in the reception device 20.
  • the data reception status for example, the data reception rate
  • the transmission rate of the transmission unit 105A of the transmission device 10 increases, it is possible to prevent the quality of communication in the transmission unit 105B of the transmission device 10 from deteriorating.
  • the relay device 40 that relays the communication between the transmission device 10 (see FIG. 16) and the reception device 20 controls to make the data transmitted from the transmission device 10 redundant.
  • the relay device 40 relays the communication between the transmission device 50 (see FIG. 15) that performs communication with congestion control and the reception device that receives data from the transmission device 50, and also communicates between the transmission device 10 and the reception device 20.
  • the relay device 40 controls the redundancy of the data transmitted from the transmission device 10 according to the reception status of the data relayed by the communication with congestion control.
  • FIG. 20 is a block diagram of the communication system according to the third embodiment.
  • a transmitting device 50 that communicates by TCP without using DFMP and DFSP and a receiving device 60 that communicates with the transmitting device 50 are connected via a relay device 40.
  • the transmitting device 10 according to the present embodiment and the receiving device 20 according to the present embodiment are connected via the relay device 40.
  • the relay device 40 is included in the communication network 30 of FIG. Although one relay device 40 is shown in the figure, the number of relay devices 40 may be two or more. In this example, it is assumed that the transmitting device 50 and the receiving device 60 are each one, but the transmitting device 50 and the receiving device 60 may be two or more.
  • the block diagram of the transmission device 50 is the same as that of FIG. 15 described above. Since the operation of the transmission device 50 is the same as that in FIG. 15, the description thereof will be omitted.
  • FIG. 21 is a block diagram of the receiving device 60.
  • the receiving device 60 includes an antenna 207A, a receiving unit 205A, a receiving buffer unit 202A, and a data processing unit 201A.
  • the block diagram of the transmission device 10 is the same as that of FIG. 16 described above. Since the operation of the transmission device 10 is the same as that in FIG. 16, the description thereof will be omitted.
  • FIG. 22 is a block diagram of the receiving device 20.
  • the configuration of the receiving device 20 is the same as the configuration in which the antenna 207A, the receiving unit 205A, the receiving buffer unit 202A, and the data processing unit 201A are removed from the receiving device 20 of FIG. 7 in the first embodiment.
  • the receiving device 20 of FIG. 22 has a configuration for receiving data of one flow.
  • the receiving device 20 according to the present embodiment may have the same configuration as that of FIG. 7 (configuration for receiving data of a plurality of flows).
  • FIG. 23 is a block diagram of the relay device 40.
  • the relay device 40 includes a reception processing unit 301 (first reception processing unit), a transmission processing unit 302 (first transmission processing unit), a reception processing unit 303 (second reception processing unit), and a transmission processing unit 304 (first reception processing unit). 2 transmission processing unit) and a relay processing unit 310.
  • the relay processing unit 310 includes a control unit 311.
  • the reception processing unit 301, the reception processing unit 303, the transmission processing unit 302, and the transmission processing unit 304 are connected to the communication network 30.
  • the reception processing unit 301 receives packets from the transmission device 50 (see FIG. 15) and the transmission device 10 (see FIG. 16), processes the received packets in the physical layer and the data link layer, and then relays the packets. Pass it to 310.
  • the packet received from the transmitting device 50 corresponds to the first data received from the transmitting device 50 as an example
  • the packet received from the transmitting device 10 corresponds to the second data received from the transmitting device 10 as an example.
  • the packet received from the transmitting device 10 is a packet that has undergone processing such as DFMP and DFSP.
  • the packet received from the transmission device 50 is a packet that has undergone processing such as a communication protocol (for example, TCP) having a congestion control algorithm.
  • the relay processing unit 310 processes the IP header of the packet passed from the reception processing unit 301, and determines the forwarding destination (port for outputting the packet) of the packet based on the routing table.
  • the transmission processing unit 302 processes the data link layer and the physical layer on the packet whose transfer destination is determined by the relay processing unit 310, and transmits the processed packet to the determined transfer destination.
  • a packet addressed to the receiving device 20 is received from the transmitting device 10, and the packet is transmitted from the transmission processing unit 302 according to the transfer destination determined by the relay processing unit 310.
  • the transmitted packet passes through another relay device as needed and then is received by the receiving device 20.
  • a packet addressed to the receiving device 60 is received from the transmitting device 50, and the packet is transmitted from the transmission processing unit 302 according to the transfer destination determined by the relay processing unit 310.
  • the transmitted packet passes through another relay device as needed and then is received by the receiving device 60.
  • the receiving unit 205A of the receiving device 60 receives the packet from the transmitting device 50 relayed by the relay device 40 via the antenna 207A.
  • the receiving unit 205A provides the data contained in the packet to the data processing unit 201A via the receiving buffer unit 202A.
  • the receiving unit 205B of the receiving device 20 receives the packet from the transmitting device 10 relayed by the relay device 40 via the antenna 207B.
  • the data flow separation unit 203 performs DFMP and DFSP processing on the received packet, and then provides the data contained in the packet to the data processing unit 201B via the reception buffer unit 202B.
  • the data flow separation unit 203 transmits a response packet destined for the transmission device 10 including feedback information regarding DFMP or DFSP.
  • DFMP or DFCP ACK may be transmitted as feedback information.
  • the response packet may include DFMP communication quality information.
  • the reception processing unit 303 of the relay device 40 receives the response packet from the reception device 20, processes the physical layer and the data link layer, and then sends the processed response packet to the relay processing unit 310. offer.
  • the relay processing unit 310 determines the transfer destination of the response packet based on the IP header of the response packet.
  • the transmission processing unit 304 transmits the response packet according to the determined transfer destination.
  • the transmitted response packet is received by the transmitting device 10 (see FIG. 16) via another relay device as needed.
  • the control unit 104 of the transmission device 10 receives the response packet via the information communication unit 106, and performs processing related to DFMP or DFSP based on the feedback information included in the response packet (for example, retransmission of the DFSP packet, etc.).
  • the control unit 311 of the relay processing unit 310 monitors the reception status of the packet in the reception processing unit 301 with respect to the communication (communication with congestion control) between the transmission device 50 and the reception device 60.
  • the control unit 311 determines the redundancy of the packet transmitted from the transmission device 10 or determines the start or end of the redundancy process according to the reception status.
  • the control unit 311 generates control information including the redundancy or the start or end of the redundancy process.
  • the control unit 311 includes the generated control information in the response packet from the reception device 20 received via the reception processing unit 303. For example, control information is stored in a predetermined field of the DFMP header of the response packet.
  • the control information indicates the start of the redundancy process
  • the on bit "1" of the redundancy is stored in the predetermined field.
  • the off bit "0" is stored in the predetermined field.
  • the initial value of the predetermined field is "0". If the control information indicates redundancy, the redundancy value is stored in a predetermined field.
  • the relay processing unit 310 determines the forwarding destination of the response packet based on the IP header of the response packet in which the control information is stored.
  • the transmission processing unit 304 transmits the response packet in which the control information is stored according to the determined transfer destination.
  • the response packet in which the control information is stored is an example of data including the control information and the response message from the receiving device 20.
  • the response packet is received by the transmitting device 10 after passing through another relay device as needed.
  • the control unit 104 of the transmission device 10 receives the response packet via the information communication unit 106, and makes the data (packet) transmitted from the transmission unit 105B redundant based on the control information included in the response packet. do.
  • the details of the redundancy control are the same as those in the first or second embodiment.
  • FIG. 24 shows an example of the communication sequence according to the third embodiment.
  • the receiving device 20 starts communication with the transmitting device 10.
  • the receiving device 20 starts communication (for example, UDP communication, TCP communication, etc.) of high-priority data provided to the application B at regular short intervals (S131).
  • the receiving device 60 starts communication with the transmitting device 50 with congestion control (for example, TCP communication) (S132).
  • the relay device 40 detects that the transmission device 50 has started communication with congestion control.
  • the relay device 40 receives the response packet from the receiving device 20 (S133), and includes data for notifying the start of the communication with congestion control (start data of communication with congestion control) in the response packet (S134).
  • the relay device 40 transmits the response packet to the transmission device 10 (S134).
  • the start data corresponds to an example of control information indicating detection of congestion control or control information indicating redundancy explicitly or implicitly.
  • the transmission device 10 If the transmission device 10 is notified of the detection of congestion control and the transmission device 10 receives the notification of the detection of congestion control, the redundancy is started even if the redundancy is not explicitly instructed. It can be said that the implication is instructing redundancy.
  • the control information indicating the redundancy explicitly or implicitly may be a flag indicating the detection of congestion control.
  • the transmitting device 10 receives the start data, it controls the redundancy of the data to be transmitted to the receiving device 20 (increasing the redundancy). That is, the transmitting device 10 increases the redundancy of the packet to be transmitted and transmits the redundant packet (S134A).
  • the relay device 40 detects that the transmitting device 50 has finished the communication with the congestion control.
  • the relay device 40 receives the response packet from the receiving device 20 (S136), and includes data (end data of the communication with congestion control) notifying the end of the communication with congestion control in the response packet (S137).
  • the relay device 40 transmits the response packet to the transmission device 10 (S137).
  • This end data corresponds to an example of control information indicating the detection of the end of congestion control, or control information indicating the end of redundancy explicitly or implicitly.
  • the transmitting device 10 ends the control of the redundancy of the data to be transmitted to the receiving device 20.
  • the relay device 40 transmits the start and end of the communication with congestion control as control information, but the relay device 40 may transmit the control information indicating the redundancy.
  • the relay device 40 includes the control information in the response packet, but the control information may be transmitted by a packet different from the response packet. In this case, information necessary for creating various headers such as the IP address of the transmitting device 10 may be acquired from the response packet.
  • FIG. 25 is a flowchart of an example of the operation of the relay device 40 according to the third embodiment.
  • the control unit 311 in the relay processing unit 310 of the relay device 40 monitors the reception status of data (packets) of the communication with congestion control (first communication) performed between the transmission device 50 and the reception device 60 (S141).
  • the control unit 311 generates control information instructing the redundancy of the packet transmitted by the communication (second communication) of the transmission device 10 according to the reception status of the data (packet) (S142). For example, when the control unit 311 detects that the communication by TCP is started between the transmission device 50 and the reception device 60, the control unit 311 generates control information for notifying the start of the communication with congestion control.
  • the control unit 311 includes the generated control information in the response packet received from the receiving device 20, and transmits the response packet to the transmitting device 10 (S143).
  • the control unit 104 of the transmission device 10 receives the control information via the information communication unit 106, and makes the packet transmitted from the transmission unit 105B redundant.
  • the relay device 40 monitors the data reception status in the communication with congestion control performed between the transmission device 50 and the reception device 60, and the transmission device 10 is monitored according to the data reception status. Controls the redundancy of the data sent from. As a result, when the transmission rate of the transmission device 50 increases due to congestion control, it is possible to prevent the communication quality of the transmission device 10 from deteriorating.
  • the relay device 40 transmits the request information requesting the redundancy of the data in the transmission device 10 to the reception device 20 according to the reception status of the packet from the transmission device 50.
  • the relay device 40 includes the request information in the packet relayed to the receiving device 20.
  • the receiving device 20 generates control information (for example, information indicating detection of the start of congestion control) instructing packet redundancy based on the request information, and transmits the control information to the transmitting device 10.
  • the receiving device 20 transmits a response packet containing control information to the transmitting device 10.
  • the block diagram of the communication system of the fourth embodiment is the same as FIG. 20 of the third embodiment.
  • the block diagram of the transmission device 50 is the same FIG. 15 as in the third embodiment.
  • the block diagram of the transmission device 10 (third device) is FIG. 16 which is the same as that of the third embodiment.
  • the block diagram of the receiving device 60 (first device) is the same as FIG. 21 of the third embodiment.
  • the block diagram of the relay device 40 is FIG. 23, which is the same as that of the third embodiment.
  • the operation of the control unit 311 is different.
  • FIG. 26 is a block diagram of the receiving device 20 (second device).
  • the control unit 212 is added to the block diagram (FIG. 22) of the receiving device 20 of the third embodiment.
  • the operations other than the control unit 212 are the same as those in the third embodiment.
  • the control unit 311 of the relay processing unit 310 monitors the reception status of the packet in the reception processing unit 301 with respect to the communication (communication with congestion control) between the transmission device 50 and the reception device 60.
  • the packet received from the transmitting device 50 corresponds to the first data received from the transmitting device 50 as an example.
  • the control unit 311 determines the redundancy of the packet transmitted from the transmission device 10 or determines the start or end of the redundancy process according to the reception status.
  • the control unit 311 generates request information requesting the receiving device 20 to transmit control information including the redundancy or the start or end of the redundancy process to the transmitting device 10.
  • the request information is information that requests the receiving device 20 to control the redundancy of the packet transmitted from the transmitting device 10.
  • the control unit 311 includes the generated request information in the packet relayed to the receiving device 20.
  • the request information is stored in a predetermined field of the DFMP header of the packet to be relayed.
  • the packet to be relayed includes the data (second data) of the packet received from the transmitting device 10 and the request information.
  • the packet to be relayed corresponds to the third data to be relayed to the receiving device 20.
  • the relay processing unit 310 transmits the packet in which the request information is stored to the receiving device 20 via the transmission processing unit 304.
  • the transmitted packet is received by the receiving device 20 after passing through another relay device as needed.
  • the control unit 212 of the receiving device 20 detects the request information from the packet from the transmitting device 10, and generates the control information instructing the redundancy of the packet transmitted from the transmitting device 10 according to the request information.
  • the control unit 212 includes the control information in the response packet, and transmits the response packet including the control information via the information communication unit 206.
  • the transmitted response packet is received by the transmitting device 10 via the relay device 40.
  • the control unit 104 of the transmission device 10 receives the control information via the information communication unit 106, and makes the packet transmitted from the transmission unit 105B redundant based on the received control information.
  • FIG. 27 shows an example of the communication sequence according to the fourth embodiment.
  • the receiving device 20 starts communication with the transmitting device 10. For example, communication of high-priority data (for example, UDP communication or TCP communication) to be provided to the application B at a fixed short interval is started (S151).
  • high-priority data for example, UDP communication or TCP communication
  • the receiving device 60 starts communication with the transmitting device 50 with congestion control (for example, TCP communication) (S152).
  • the relay device 40 detects that the transmission device 50 has started communication with congestion control.
  • the relay device 40 stores the request information requesting the receiving device 20 to control the redundancy in the packet received from the transmitting device 10, and transfers the packet containing the request information to the receiving device 20 (S153).
  • the receiving device 20 stores control information for controlling the redundancy of the response packet to be transmitted to the transmitting device 10, and transmits the response packet containing the control information (S154).
  • the control information is, for example, data for notifying the start of communication with congestion control (start data of communication with congestion control).
  • the response packet is received by the transmitting device 10 via the relay device 40.
  • the transmitting device 10 increases the redundancy of the packet to be transmitted, and transmits the redundant packet (S156).
  • the relay device 40 detects that the transmitting device 50 has finished the communication with the congestion control.
  • the relay device 40 stores the request information for requesting the receiving device 20 to reduce the redundancy or stop the redundancy of the packet transmitted from the transmitting device 10 in the packet received from the transmitting device 10, and stores the request information.
  • the stored packet is transferred to the receiving device 20 (S158).
  • the receiving device 20 stores the control information in the response packet to be transmitted to the transmitting device 10, and transmits the response packet containing the control information (S159).
  • the control information is, for example, data for notifying the end of communication with congestion control (end data of communication with congestion control).
  • the response packet is received by the transmitting device 10 via the relay device 40.
  • the receiving device 20 transmits the start and end of the communication with congestion control as control information, but the receiving device 20 may transmit the control information indicating the redundancy.
  • the relay device 40 includes the control information in the response packet, but the control information may be transmitted by a packet different from the response packet.
  • FIG. 28 is a flowchart of an example of the operation of the relay device 40 according to the fourth embodiment.
  • the control unit 311 in the relay processing unit 310 of the relay device 40 monitors the reception status of data (packets) of the communication with congestion control (first communication) performed between the transmission device 50 and the reception device 60 (S161).
  • the control unit 311 generates request information requesting redundancy of the packet transmitted by the communication (second communication) of the transmission device 10 according to the reception status of the data (packet) (S162). For example, when the control unit 311 detects that the communication by TCP has started between the transmission device 50 and the reception device 60, the control unit 311 transmits the control information notifying the start of the communication to the transmission device 10. Generate the request information requested in 20.
  • the control unit 311 includes the generated request information in the packet relayed to the receiving device 20, and transmits the packet containing the request information to the receiving device 20 (S163).
  • the control unit 212 of the receiving device 20 generates a response packet including control information (for example, information indicating the detection of the start of congestion control) instructing the redundancy of the packet according to the request information included in the packet.
  • the control unit 212 transmits the response packet to the transmission device 10 via the information communication unit 206.
  • the control unit 104 of the transmission device 10 receives control information via the information communication unit 106.
  • the control unit 104 controls the redundancy of the packet transmitted from the transmission unit 105B based on the control information.
  • the relay device 40 monitors the data reception status in the communication with congestion control performed between the transmission device 50 and the reception device 60.
  • the relay device 40 transmits the request information requesting control of the redundancy of the data transmitted from the transmission device 10 to the reception device 20 according to the reception status of the data.
  • the receiving device 20 transmits the control information instructing the redundancy of the data transmitted from the transmitting device 10 to the transmitting device 10 according to the request information.
  • each device transmitting device 10 or receiving device 20
  • each device may be configured by hardware, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like. It may be composed of information processing of software (program) executed by.
  • the software that realizes at least a part of the functions of each device in the above-described embodiment is a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a USB (Universal).
  • Serial Bus Information processing of software may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as a memory and loading it into a computer. Further, the software may be downloaded via a communication network. Further, information processing may be executed by hardware by mounting the software on a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the type of storage medium that stores the software is not limited.
  • the storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed type storage medium such as a hard disk or a memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.
  • FIG. 29 is a block diagram showing an example of the hardware configuration of each device (transmitting device 10 or receiving device 20) in the above-described embodiment.
  • each device includes a processor 91, a main storage device 92 (memory), an auxiliary storage device 93 (memory), a network interface 94, and a device interface 95, which are connected via a bus 96. It may be realized as a computer 90.
  • the computer 90 in FIG. 29 includes one component for each component, but may include a plurality of the same components. Further, although one computer 90 is shown in FIG. 29, software is installed on a plurality of computers, and each of the plurality of computers executes the same or different part of the software. May be good. In this case, it may be a form of distributed computing in which each computer communicates via a network interface 94 or the like to execute processing. That is, each device (transmitting device 10 or receiving device 20) in the above-described embodiment is a system that realizes a function by executing an instruction stored in one or a plurality of storage devices by one or a plurality of computers. It may be configured as. Further, the information transmitted from the terminal may be processed by one or a plurality of computers provided on the cloud, and the processing result may be transmitted to the terminal.
  • each device transmitting device 10 or receiving device 20
  • Various operations of each device (transmitting device 10 or receiving device 20) in the above-described embodiment are executed in parallel processing by using one or a plurality of processors or by using a plurality of computers via a network. May be good. Further, various operations may be distributed to a plurality of arithmetic cores in the processor and executed in parallel processing. Further, some or all of the processes, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on the cloud capable of communicating with the computer 90 via the network. As described above, each device in the above-described embodiment may be in the form of parallel computing by one or a plurality of computers.
  • the processor 91 may be an electronic circuit (processing circuit, Processing circuitry, CPU, GPU, FPGA, ASIC, etc.) including a computer control device and an arithmetic unit. Further, the processor 91 may be a semiconductor device or the like including a dedicated processing circuit. The processor 91 is not limited to an electronic circuit using an electronic logic element, and may be realized by an optical circuit using an optical logic element. Further, the processor 91 may include a calculation function based on quantum computing.
  • the processor 91 can perform arithmetic processing based on data and software (programs) input from each apparatus or the like of the internal configuration of the computer 90, and output the arithmetic result or control signal to each apparatus or the like.
  • the processor 91 may control each component constituting the computer 90 by executing an OS (Operating System) of the computer 90, an application, or the like.
  • OS Operating System
  • Each device (transmitting device 10 or receiving device 20) in the above-described embodiment may be realized by one or a plurality of processors 91.
  • the processor 91 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You may point. When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
  • the main storage device 92 is a storage device that stores instructions executed by the processor 91, various data, and the like, and the information stored in the main storage device 92 is read out by the processor 91.
  • the auxiliary storage device 93 is a storage device other than the main storage device 92. It should be noted that these storage devices mean arbitrary electronic components capable of storing electronic information, and may be semiconductor memories. The semiconductor memory may be either a volatile memory or a non-volatile memory.
  • the storage device for storing various data in each device (transmitting device 10 or receiving device 20) in the above-described embodiment may be realized by the main storage device 92 or the auxiliary storage device 93, and may be built in the processor 91. It may be realized by the built-in memory.
  • the temporary storage units 140 and 240 in the above-described embodiment may be realized by the main storage device 92 or the auxiliary storage device 93.
  • processors may be connected (combined) to one storage device (memory), or a single processor may be connected.
  • a plurality of storage devices (memory) may be connected (combined) to one processor.
  • Each device (transmitting device 10 or receiving device 20) in the above-described embodiment is composed of at least one storage device (memory) and a plurality of processors connected (combined) to the at least one storage device (memory).
  • a configuration in which at least one of the plurality of processors is connected (combined) to at least one storage device (memory) may be included.
  • this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers.
  • a configuration in which the storage device (memory) is integrated with the processor for example, a cache memory including an L1 cache and an L2 cache
  • the network interface 94 is an interface for connecting to the communication network 97 wirelessly or by wire.
  • an appropriate interface such as one conforming to an existing communication standard may be used.
  • Information may be exchanged with the external device 98A connected via the communication network 97 by the network interface 94.
  • the communication network 97 may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, and may be a combination of the computer 90 and the external device 98A. It suffices as long as information is exchanged between them.
  • An example of a WAN is the Internet
  • an example of a LAN is 802.11, Ethernet (registered trademark)
  • an example of a PAN is Bluetooth (registered trademark), NFC (Near Field Communication), and the like.
  • the device interface 95 is an interface such as USB that directly connects to the external device 98B.
  • the external device 98A is a device connected to the computer 90 via a network.
  • the external device 98B is a device directly connected to the computer 90.
  • the external device 98A or the external device 98B may be an input device as an example.
  • the input device is, for example, a device such as a camera, a microphone, a motion capture, various sensors, a keyboard, a mouse, or a touch panel, and gives the acquired information to the computer 90. Further, it may be a device including an input unit such as a personal computer, a tablet terminal, or a smartphone, a memory, and a processor.
  • the external device 98A or the external device 98B may be an output device as an example.
  • the output device may be, for example, a display device such as an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), or an organic EL (Electro Luminescence) panel, and outputs audio or the like. It may be a speaker or the like. Further, it may be a device including an output unit such as a personal computer, a tablet terminal, or a smartphone, a memory, and a processor.
  • the external device 98A or the external device 98B may be a storage device (memory).
  • the external device 98A may be a network storage or the like, and the external device 98B may be a storage such as an HDD.
  • the external device 98A or the external device 98B may be a device having some functions of the components of each device (transmitting device 10 or receiving device 20) in the above-described embodiment. That is, the computer 90 may transmit or receive a part or all of the processing result of the external device 98A or the external device 98B.
  • the expression (including similar expressions) of "at least one of a, b and c (one)" or "at least one of a, b or c (one)” is used. When used, it includes any of a, b, c, a-b, a-c, b-c, or a-b-c. It may also include multiple instances for any element, such as a-a, a-b-b, a-a-b-b-c-c, and the like. It also includes adding elements other than the listed elements (a, b and c), such as having d, such as a-b-c-d.
  • connection and “coupled” are direct connection / coupling and indirect connection / coupling.
  • electrically connected / combined communicatively connected / combined, operatively connected / combined, physically connected / combined, etc. Intended as a term.
  • the term should be appropriately construed according to the context in which the term is used, but any form of connection / combination that is not intentionally or naturally excluded is not included in the term. It should be interpreted in a limited way.
  • the physical structure of the element A can execute the operation B. It has a configuration and includes that the permanent or temporary setting (setting / configuration) of the element A is set (configured / set) to actually execute the operation B. good.
  • the element A is a general-purpose processor
  • the processor has a hardware configuration capable of executing the operation B, and the operation B is set by setting a permanent or temporary program (instruction). It suffices if it is configured to actually execute.
  • the element A is a dedicated processor, a dedicated arithmetic circuit, or the like, the circuit structure of the processor actually executes the operation B regardless of whether or not the control instruction and data are actually attached. It only needs to be implemented.
  • the respective hardware when a plurality of hardware performs a predetermined process, the respective hardware may cooperate to perform the predetermined process, or some hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform a part of a predetermined process, and another hardware may perform the rest of the predetermined process.
  • expressions such as "one or more hardware performs the first process and the one or more hardware performs the second process" are used.
  • the hardware that performs the first process and the hardware that performs the second process may be the same or different. That is, the hardware that performs the first process and the hardware that performs the second process may be included in the one or a plurality of hardware.
  • the hardware may include an electronic circuit, a device including the electronic circuit, or the like.
  • each storage device (memory) among the plurality of storage devices (memory) stores only a part of the data. It may be stored or the entire data may be stored.
  • 1A sensor, 1B sensor, 10 transmitter, 11 transmit processor, 20 receiver, 21 receive processor, 30 communication network, 40 relay device, 50 transmitter, 60 receiver, 90 computer, 91 processor, 92 main storage device. , 93 auxiliary storage device, 94 network interface, 95 device interface, 96 bus, 97 communication network, 98A external device, 98B external device, 101A data acquisition unit, 101B data acquisition unit, 102A transmission buffer unit, 102B transmission buffer unit, 103 Data flow synthesis unit, 104 control unit, 105A transmission unit, 105B transmission unit, 106 information communication unit, 107A antenna, 107B antenna, 108B communication unit, 140 temporary storage unit, 201A data processing unit, 201B data processing unit, 202A receive buffer.

Abstract

[課題]通信の品質の低下を抑制する通信装置及び通信方法を提供する。 [解決手段]本実施形態に係る通信装置は、第1データを送信し、第2データを送信する送信処理部と、前記第1データの送信状況に応じて、前記送信処理部から送信される前記第2データを冗長化する制御部とを備える。

Description

通信装置及び通信方法
 本開示は、通信装置及び通信方法に関する。
 ネットワークを介して行うパケット交換方式の通信では、TCP(Transmission Control Protocol)が広く用いられている。QUIC(Quick UDP Internet Connections)と呼ばれる新しいプロトコルも広く用いられるようになってきている。TCPやQUICの輻輳制御アルゴリズムは、ネットワークの実効帯域に応じてパケットの送信レートを制御する。実効帯域が小さく、回線の帯域に余裕がある場合は、輻輳ウィンドウを徐々に上昇させて、パケットの送信レートを高くする。ネットワークの実効帯域が回線の帯域に達し、回線の帯域に余裕がなくなると、パケットロスの発生や遅延が増加し、輻輳を検知される。輻輳が検出された場合、輻輳ウィンドウが減少し、パケットの送信レートが下げられる。ロスしたパケットについてはTCPの再送アルゴリズムにより再送を行う。回線の帯域に余裕がなくなると、TCPと並行して行われている他の通信、例えばUDPを用いた映像通信でも、パケットロスが発生する可能性が高くなる。他の通信が優先度の高い通信の場合など、他の通信の品質が低下することを抑制する仕組みが必要である。
 本発明の実施形態は、通信の品質の低下を抑制する通信装置及び通信方法を提供する。
 本実施形態に係る通信装置は、第1データを送信し、第2データを送信する送信処理部と、前記第1データの送信状況に応じて、前記第2データを冗長化する制御部とを備える。
 本実施形態に係る通信装置は、第1データを受信し、第2データを受信する受信処理部と、前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する制御部とを備える。
 本実施形態に係る通信装置は、第1装置宛の第1データを受信し、第2装置宛の第2データを受信する第1受信処理部と、前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する第1送信処理部と、前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、第2送信処理部と、を備える。
 本実施形態に係る通信装置は、第1装置宛の第1データを受信し、第2装置宛の第2データを受信する受信処理部と、前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する送信処理部と、を備え、前記送信処理部は、前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する。
本実施形態に係るデータ通信システムのブロック図。 本実施形態に係る送信装置のブロック図。 DFCPパケットのフォーマット例を示す図。 DFMPパケットのフォーマット例を示す図。 データリンク層パケットのフォーマット例を示す図。 データフロー合成部におけるデータフロー合成の具体例を示す図。 第1実施形態に係る受信装置のブロック図。 冗長化の具体例を示す図。 本実施形態に係る送信装置から送信するパケットの冗長度の制御に関わる動作の一例のフローチャート。 本実施形態の比較例としてパケットを冗長化しない例を示す図。 本実施形態に従って送信部から送信するパケットを冗長化する例を示す図。 DFMPパケットに複数のDFCPパケットを集約した例を示す図。 変形例5に係る受信装置のブロック図。 第2実施形態に係る通信システムのブロック図。 第2実施形態に係る送信装置のブロック図。 第2実施形態に係る送信装置のブロック図。 第2実施形態に係る受信装置のブロック図。 第2実施形態に係る通信シーケンスの一例を示す図。 第2実施形態に係る受信装置の動作の一例のフローチャート。 第3実施形態に係る通信システムのブロック図。 第3実施形態に係る受信装置のブロック図。 第3実施形態に係る受信装置のブロック図。 第3実施形態に係る中継装置のブロック図。 第3実施形態に係る通信シーケンスの一例を示す図。 第3実施形態に係る中継装置の動作の一例のフローチャート。 第4実施形態に係る受信装置のブロック図。 第4実施形態に係る通信シーケンスの一例を示す図。 第4実施形態に係る中継装置の動作の一例のフローチャート。 各実施形態における各装置のハードウェア構成の一例を示すブロック図。
 以下、図面を参照して、本開示の実施形態について説明する。図面は、本開示の実施形態を一例として模式的に示すものであり、本開示の実施形態は、図面に開示された形態に限定されるものではない。複数の図において同一の要素には同一の符号を付し、説明済みの要素の説明は適宜省略する。
(第1実施形態)
 図1は、本実施形態に係る通信システムのブロック図である。図1の通信システムは、送信装置10を搭載した複数の移動体Mと、受信装置20とを備える。送信装置10及び受信装置20は、本実施形態に係る通信装置又無線通信装置の一例に相当する。
 移動体Mは、自動車、ロボット、船舶、ドローン、モバイル端末(スマートフォン、タブレット端末、ノートPC等)、又は電車など、任意の移動体である。本実施形態では送信装置10は移動体に搭載されているが、送信装置10は固定設置された端末又はマシンに搭載されてもよい。本実施形態では移動体Mが自動車である場合を想定する。自動車は、ユーザの運転を支援する機能を有する自動車、及び自律的に判断して走行する自動運転車のいずれでもよい。
 送信装置10は、通信ネットワーク30に接続されている。通信ネットワーク30は、一例として、モバイルネットワーク又は無線LAN(Local Area Network)等のネットワークである。モバイルネットワークの例として、3Gネットワーク,LTEネットワーク、次世代(5G)ネットワークなどがあるが、ネットワークの種類は何でもよい。また、通信ネットワーク30は、無線ネットワークでも、有線ネットワークでもよい。通信ネットワーク30は、複数種類のネットワークを含んでいてもよい。この場合、送信装置10が、受信装置20との通信に用いるネットワークを複数種類のネットワークから選択してもよい。本実施形態では送信装置10は無線通信を行うが、有線通信を行う構成でもよい。通信ネットワーク30には、データ又はパケットを中継する1台以上の中継装置が含まれていてもよい。この場合、中堅装置は、本実施形態に係る通信装置又無線通信装置の一例に相当する。なお、パケットは情報の伝送単位を一般的に表現したものであり、特定のプロトコルの情報伝送単位に限定されるものではない。例えば、パケットは、フレーム、データグラム、セグメントなどの他の用語に置き換えることも可能である。
 送信装置10は、移動体Mに設けられた1つ又は複数のセンサからデータを取得する。1つ又は複数のセンサは、受信装置における1つ又は複数のアプリケーションに提供するデータを検出する。各センサにより検出されるデータは、互いに異なるデータフローに属する。送信装置10は、各センサにより検出されるデータを、受信装置20に送信する。より詳細には、送信装置10は、データを含むパケットを生成し、生成したパケットを受信装置20に送信する。複数のセンサの例は、カメラ、GPS、LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサ、自動車の制御情報(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。
 受信装置20は、通信ネットワーク30に有線又は無線により接続されている。受信装置20は例えばモバイルネットワークに配置されている。受信装置20は、モバイルネットワークのエッジコントローラでもよい。受信装置20は、移動体Mから1つ又は複数のアプリケーションに対するデータ、より詳細には、データを含むパケットを受信する。受信装置20は、移動体Mから送信されたデータを処理する1つ又は複数のアプリケーションを備えている。受信装置20は移動体Mから取得したデータを、それぞれ対応するアプリケーションに渡す。
 複数のアプリケーションの例は、高精細度地図を生成するアプリケーション、エンジン制御の最適化モデルを生成するアプリケーション、道路安全情報を生成するアプリケーションなどを含む。アプリケーションによって、データ送信の時間制約が異なってもよい。一例として、高精細度地図を生成するアプリケーション、及びエンジン制御の最適化モデルを生成するアプリケーションでは、データ送信の時間制約は長い(1時間、1日など)。一方、道路安全情報を生成するアプリケーションでは、データ送信の時間制約が短い(例えば10秒以下など)。一例として、時間制約の短いデータは、優先度の高いデータに対応し、時間制約の長いデータは、優先度の低いデータに対応する。
 受信装置20が中継装置として機能してもよい。この場合、受信装置20が、移動体Mの送信装置10から受信したデータを、1つ又は複数のアプリケーションを備える別の装置(例えばサーバ)に送信してもよい。
 移動体Mの送信装置10及び受信装置20は、基地局又はルータ等の中継装置を介して、互いに通信してもよい。例えば送信装置10は、所定の接続プロセスを実行することにより、近傍の基地局と無線接続する。移動体Mの送信装置10は、接続した基地局を介して、受信装置20と通信する。基地局と受信装置20との間の1台以上のルータが配置されていてもよい。受信装置20は、基地局と無線又は有線で接続されていてもよい。受信装置20は、複数の基地局と接続されていてもよいし、基地局と1対1で接続されていてもよい。
 図2は、送信装置10のブロック図である。送信装置10は、本実施形態に係る通信装置又は無線通信装置の一例に相当する。
 送信装置10は、複数のデータ取得部101A、101B、複数の送信バッファ部102A、102B、送信処理部11、情報通信部106、アンテナ107A及びアンテナ107Bを備えている。送信処理部11は、データフロー合成部103、制御部104、送信部105A及び送信部105Bを備えている。送信部105A及び送信部105Bは物理的に同一の回路であっても、別々の回路であってもよい。
 図2の例では、データ取得部は2つ設けられているが、3つ以上設けられてもよい。同様に送信バッファ部は2つ設けられているが、3つ以上設けられてもよい。送信部は2つ設けられているが、3つ以上設けられてもよい。アンテナは2つ設けられているが、1つでもよいし、3つ以上設けられてもよい。
 データ取得部101A、101Bはそれぞれセンサ1A、1Bに接続されている。センサ1Aは、アプリケーションAに提供するデータを出力する。センサ1Bは、アプリケーションBに提供するデータを出力する。図2の例ではセンサは2つであるが、3つ以上でもよい。
 複数のセンサの例は、カメラ、GPS、自動車の走行情報の検知センサ(LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサなど)、自動車の制御情報(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。センサは、時系列に一定間隔でデータを出力するものでも、イベントが発生したタイミングなど、特定のタイミングでデータを出力するものでもよい。センサの例は上記のものに限定されない。例えば、センサは、自動車の搭乗者等のユーザから操作部を介して入力されるデータを検出するものでもよい。
 各センサから一定間隔又は特定のタイミングで出力されるデータが、各々1つのデータフローとなる。
 データ取得部101A、101Bは、センサ1A、1Bで検出されたデータを取得する。データ取得部101A、101Bは、取得したデータを、送信バッファ部102A、102Bに提供する。センサで検出されたデータは、例えばセンサの属性情報、検出時刻及びデータ本体を含む。
 なお、データ取得部101A、101Bは、センサ1A、1Bから取得したデータに所定の演算(例えば平均値の計算)を行い、演算後のデータを送信バッファ部102A、102Bに提供してもよい。また、データ取得部101A、101Bは、2つ以上のセンサから取得したデータに基づき所定の演算(例えば四則演算)を行い、演算後のデータを送信バッファ部102A、102Bに提供してもよい。
 送信バッファ部102A、102Bは、データ取得部101A、101Bからデータを受け取り、受け取ったデータを内部の記憶領域に格納する。すなわち、送信バッファ部102A、102Bは、データ取得部101A、101Bから取得したデータをバッファリングする。送信バッファ部102A、102Bは、データを受け取った順序を管理しており、受け取った順序でデータを出力する。送信バッファ部102A、102Bは、所定サイズの記憶領域を有する記憶装置であり、一例として、メモリ又はハードディスクなどの記録媒体により構成される。
 制御部104は、送信バッファ部102A、102Bからのデータの読み出し及び送信を制御する。制御部104は、アプリケーションの時間制約に応じて、送信バッファ部102A、102Bからデータの読み出しを制御する。また、制御部104は、送信部105AにおけるTCPの輻輳ウィンドウの値に応じた送信レートでデータを送信するように、送信バッファ部102Aからのデータ読み出しを制御する。また、制御部104は、送信部105Aにおけるデータの送信状況に応じて、送信部105Bから送信するデータを冗長化する。制御部104の動作の詳細は後述する。
 送信処理部11は、制御部104の制御の下、送信バッファ部102A、102Bからデータを読み出し、読み出したデータを送信する。送信処理部11は、データフロー合成部103、送信部105A及び送信部105Bを備えている。送信バッファ部102Aから読み出して送信するデータは一例として受信装置20に送信する第1データ、送信バッファ部102Bから読み出して送信するデータは一例として受信装置20に送信する第2データに対応する。
 データフロー合成部103は、制御部104の制御の下、送信バッファ部102A、102Bからデータを読み出す。データフロー合成部103は、読み出したデータを、データフロー制御プロトコル(DFCP:Data Flow Control Protocol)及びデータフロー多重化プロトコル(DFMP:Data Flow Multiplexing Protocol)に従って処理することによりDFMPパケットを生成する。以下、DFMPパケットを生成する動作の詳細を説明する。
 まず、データフロー合成部103は、送信バッファ部(102A又は102B)から読み出したデータに、データフロー制御プロトコル(DFCP)のヘッダであるDFCPヘッダを付加することにより、DFCPパケットを生成する。より詳細には、送信バッファ部から読み出したデータに対して、シーケンス番号(ローカルシーケンス番号と呼ぶ)を付与する。ローカルシーケンス番号は、例えばDFCPパケットごとに一定値(例えば1)ずつ増加する番号である。また送信装置10の内部又は外部の時計から時刻(タイムスタンプ)を取得し、取得した時刻を、データ又はDFCPパケットの送信時刻とする。ローカルシーケンス番号と、送信時刻と、フローIDと、を含むDFCPヘッダを生成する。生成したDFCPヘッダを、送信バッファ部から読み出したデータに付加し、これにより、DFCPパケットを生成する。フローIDは、データフローを識別する識別子である。同じフローIDに対応するデータは、同じセンサから取得されたデータ、同じ送信バッファ部から読み出されたデータ、あるいは同じアプリケーションに提供するデータである。
 図3は、DFCPパケットのフォーマット例を示す。DFCPパケットは、DFCPヘッダとペイロード部とを含む。ペイロード部には、送信バッファ部から読み出されたデータが格納される。DFCPヘッダには、フローID、ローカルシーケンス番号、送信時刻等が含まれる。図のTS(タイムスタンプ)は、送信時刻を表す。DFCPヘッダには、その他のフィールドが含まれてもよい。例えば、DFCPパケットのペイロード部に含まれるデータの優先度に関する情報を含むフィールドがあってもよい。あるいは、ペイロード部に含まれるデータが、映像データなどのストリームデータなのか、イベントデータなどの非ストリームデータなのかを示すタイプフィールドがあってもよい。また、誤り検出用のチェックサムのフィールドがあってもよい。その他、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。
 データフロー合成部103は、DFCPパケットに対してDFMPヘッダを付加することで、DFMPパケットを生成する。より詳細には、データフロー合成部103は、DFCPパケットに付与するシーケンス番号(グローバルシーケンス番号と呼ぶ)を決定する。グローバルシーケンス番号は、ローカルシーケンス番号とは独立したシーケンス番号である。データフロー合成部103は、データの読み出し元が送信バッファ部102A、102Bのいずれであるかに関わらず、DFCPパケットを生成するごとに、連続するシーケンス番号を決定する。DFMPのシーケンス番号は、例えば一定値(例えば1)ずつ増加する番号である。ローカルシーケンス番号はアプリケーションごとに独立したシーケンス番号であるが、グローバルシーケンス番号は複数のアプリケーションに共通のシーケンス番号である。複数のアプリケーション(すなわち複数のデータフロー)に対して共通のグローバルシーケンス番号を用いることにより、複数のデータフローを合成することが可能となる。
 また、データフロー合成部103は、送信装置10の内部又は外部の時計から時刻(タイムスタンプ)を取得し、取得した時刻を、データ又はDFMPパケットの送信時刻とする。データフロー合成部103は、グローバルシーケンス番号と、送信時刻とを含むDFMPヘッダを生成し、DFMPヘッダをDFCPパケットに付加することにより、DFMPパケットとする。DFMPヘッダに含める送信時刻として、DFCPヘッダに含めた送信時刻と同じ時刻を用いてもよい。
 このように、データフロー合成部103は、送信バッファ部102A、102Bからデータを読み出すごとに、読み出したデータにローカルシーケンス番号を含むDFCPヘッダを付加し、さらにグローバルシーケンス番号を含むDFMPヘッダを付加する。これにより、DFMPパケットを生成する。
 図4は、DFMPパケットのフォーマット例を示す。DFMPパケットは、DFMPヘッダとペイロード部とを含む。ペイロード部にはDFCPパケットが格納される。DFMPヘッダには、前述したように、グローバルシーケンス番号、送信時刻が含まれる。図のTSは、送信時刻を表す。DFMPヘッダには、その他のフィールドが含まれてもよい。例えば、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。
 送信部105A、105Bは、通信ネットワーク30を介して、受信装置20と通信する。送信部105Aは輻輳制御アルゴリズムを有する通信プロトコルを用いて、受信装置20と通信する。以下、輻輳制御アルゴリズムを有する通信プロトコルにより行われる通信を、輻輳制御付き通信と称する。送信部105Bは輻輳制御アルゴリズムを有さない通信プロトコルを用いて、受信装置20と通信する。本実施形態では、送信部105AはTCPを用い、送信部105BはUDPを用いる場合を想定する。
 データフロー合成部103は、生成したDFMPパケットを送信部105A又は送信部105Bに提供する。具体的には、データフロー合成部103は、送信バッファ部102Aから読み出したデータ(例えば高精細度地図生成用の時間制約が厳しくない優先度の低いデータ)に基づき生成したDFMPパケットを送信部105Aに提供する。送信バッファ部102Bから読み出したデータ(例えばリアルタイムの交通状況を通知する時間制約が厳しい優先度の高いデータ)に基づき生成したDFMPパケットを、送信部105Bに提供する。
 送信部105A及び送信部105Bは、データフロー合成部103から提供されたDFMPパケットに、トランスポート層のヘッダ、ネットワーク層のヘッダ、データリンク層のヘッダを付加してデータリンク層パケットとする。本例では、送信部105Aはトランスポート層としてTCPを用い、送信部105BはUDPを用いる。トランスポート層にTCP又はUDP以外に、暗号化用のプロトコルがさらに含まれていてもよい。ネットワーク層は、一例として、IP(Internet Protocol)を含む。データリンク層は、一例として、イーサネット(登録商標)又はIEEE802.11のプロトコルを含む。なお、これらの層の全てが必須ではない。
 図5は、データリンク層パケットのフォーマット例を示す。この例では、イーサーネットヘッダ、IPヘッダ、UDPヘッダ又はTCPヘッダ、DFMPヘッダ、DFCPヘッダ、ペイロード部、イーサネットFCS(Frame Check Sequence)を含む。ペイロード部には、センサで検出されたデータ(すなわち、DFCPパケットのペイロード部のデータ)が格納される。DFMP及びDFCPは、IP(インターネットプロトコル)よりも上位のプロトコルであり、かつ、UDP又はTCPよりも上位のプロトコルである。
 送信部105Aは、データフロー合成部103から提供されたデータリンク層パケットに物理層の処理を行い、物理層のヘッダを付加する。送信部105Aは、物理層のヘッダが付加されたパケットを、アンテナ107Aを介して送信する。より詳細には、送信部105Aは、当該パケットを変調及びDA変換してアナログ信号とし、所望帯域の信号の抽出、及び抽出した信号の無線周波数へのアップコンバートを行う。送信部105Aは、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107Aを介して送信する。送信部105Aは、トランスポート層、ネットワーク層、データリンク層及び物理層の少なくとも一方において、符号化を行ってもよい。送信部105Aから送信するパケットは一例として受信装置20に送信する第1データに対応する。
 符号化に用いる符号の例として、消失訂正符号、及び消失訂正符号以外の誤り訂正符号がある。消失訂正符号の例は、RS符号、レートレス符号、BCH符号、噴水符号、Tornado符号、LT(Luby Transform)符号、Raptor符号、RaptorQ符号、Zigzag decodable code、ZD噴水符号またはXOR符号などを含む。消失訂正符号以外の誤り訂正符号の例は、畳み込み符号、ターボ符号、LDPC符号、Polar符号などを含む。
 送信部105Bは、データフロー合成部103から提供されたデータリンク層パケットに物理層の処理を行い、物理層のパケットを生成する。送信部105Bは、物理層のパケットを、アンテナ107Bを介して送信する。より詳細には、送信部105Bは、当該パケットを変調及びDA変換してアナログ信号とし、所望帯域の信号の抽出、及び抽出した信号の無線周波数へのアップコンバートを行う。送信部105Bは、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107Bを介して送信する。送信部105Bは、トランスポート層、ネットワーク層、データリンク層及び物理層の少なくとも1つにおいて符号化を行ってもよい。符号化に用いる符号の例は、送信部105Aの場合と同様である。送信部105Bから送信するパケットは一例として受信装置20に送信する第2データに対応する。
 情報通信部106は、受信装置20からDFMPパケット又はDFCPパケットの受信に関するフィードバック情報を含む応答パケットを受信する。フィードバック情報は、例えばDFMPメッセージ又はDFCPメッセージである。フィードバック情報の例として、DFMPパケットの通信品質情報又はDFCPパケットの再送要求などがある。
 制御部104は、情報通信部106からフィードバック情報を受け取り、フィードバック情報に基づき、送信バッファ部102A、102Bからのデータ読み出しを制御する。一例としてDFCPパケットの再送要求を受信した場合は、再送要求されたローカルシーケンス番号に係るデータの読み出しを行い、同一のローカルシーケンス番号のDFCPパケットの再送を行う。またDFMPパケットの通信品質情報として通信品質が低い(例えばパケットロス率が閾値以上、パケット到着の遅延時間の揺らぎが閾値以上など)との通知を受信した場合、優先度の低いアプリケーションのデータの送信レートを下げる制御を行ってもよい。
 図6は、データフロー合成部103において行われるデータフロー合成の具体例を示す図である。送信バッファ部102Aには、アプリケーションAに関するデータとしてデータ3~6がこの順で格納されている。アプリケーションAのフローIDは“1”であるとする。アプリケーションAのデータは、送信部105AにおけるTCPの輻輳制御(例えば輻輳ウィンドウ)に応じた送信レートで送信される。
 送信バッファ部102Bには、アプリケーションBに関するデータとして、データ53、52、54がこの順で格納されている。アプリケーションBのフローIDは“2”であるとする。アプリケーションBのデータは、例えば一定の送信レートで送信される。
 データフロー合成部103は、送信バッファ部102A、102Bからそれぞれの送信レートに応じてデータを読み出す。データフロー合成部103は、データを読み出した順に、読み出したデータにアプリケーションごとのフローIDを含むDFCPヘッダを付加して、DFCPパケットとする。そして、さらにグローバルシーケンス番号を含むDFMPヘッダを付加して、DFMPパケットとする。DFCPヘッダのローカルシーケンス番号はフローIDごと(すなわちアプリケーションごと)に連続している。DFMPヘッダのグローバルシーケンス番号はフローIDに関係なく、生成されるDFMPパケットごとに連続している。
 図の例では、「FID:1」が入っているDFCPヘッダは、フローIDが1のDFCPヘッダであり、「FID:2」が入っているDFCPヘッダは、フローIDが2のDFCPヘッダである。「Seq:XXX」はDFMPヘッダのグローバルシーケンス番号がXXXであることを意味している。DFCPヘッダのローカルシーケンス番号の図示は省略している。その他、DFCPヘッダ及びDFMPヘッダの少なくとも一方にタイムスタンプ等が入っていてもよい。
 グローバルシーケンス番号XXXのDFMPパケットを、DFMPパケットXXXと記載すると、DFMPパケット001、DFMPパケット002、DFMPパケット003、DFMPパケット004の順に、データフロー合成部103から出力されている。DFMPパケット001は送信バッファ部102Aから読み出したデータ1を含み、送信部105Aへ送られる。DFMPパケット002は送信バッファ部102Bから読み出したデータ51を含み、送信部105Bへ送られる。DFMPパケット003は、送信バッファ部102Aから読み出したデータ2を含み、送信部105Aへ送られる。DFMPパケット004は、送信バッファ部102Bから読み出したデータ52を含み、送信部105Bへ送られる。送信部105Aはデータフロー合成部103から入力された各DFMPパケットに各種ヘッダ等を付加して物理層のパケットとし、アンテナ107Aを介して受信装置20に送信する。送信部105Bはデータフロー合成部103から入力された各DFMPパケットに各種ヘッダ等を付加して物理層のパケットとし、アンテナ107Bを介して受信装置20に送信する。
 図7は、受信装置20のブロック図である。受信装置20は、データ処理部(アプリケーション)201A、201B、受信バッファ部202A、202B、データフロー分離部203、受信部205A、205B、情報通信部206及びアンテナ207A、207Bを備えている。受信装置20は、本実施形態に係る無線通信装置又は通信装置の一例に相当する。本実施形態では受信装置20は無線通信を行うが、有線通信を行う構成も排除されない。
 図7の例では、データ処理部は2つであるが、3つ以上でもよい。同様に受信バッファ部は2つであるが、3つ以上でもよい。また、受信部は2つであるが、3つ以上でもよい。
 受信部205A、205Bは、通信ネットワーク30を介して、送信装置10から送信されたDFMPパケットを受信する。より詳細には、受信部205A、205Bは、アンテナ207A、207Bを介して無線信号を受信し、受信した信号を増幅し、ベースバンド周波数へダウンコンバートする。ダウンコンバートされた信号から所望帯域の信号を抽出し、抽出した信号をAD変換する。AD変換により得たデジタル信号を復調する。受信部205A、205Bは、復調されたパケット(物理層のパケット)に対して各種ヘッダの処理及び除去を行って、DFMPパケットを取得する。受信部205A、205Bは、取得したDFMPパケットをデータフロー分離部203に提供する。
 データフロー分離部203は、DFMPパケットのヘッダに基づき、パケットロスの検出を行う。データフロー分離部203は、DFMPパケットのヘッダに含まれるグローバルシーケンス番号に基づき、欠損しているグローバルシーケンス番号を特定する。例えば、グローバルシーケンス番号001、003、004、005を検出したが、002のグローバルシーケンス番号を一定期間の間に検出しない場合、グローバルシーケンス番号002を欠損しているグローバルシーケンス番号とする。この場合、データフロー分離部203は、グローバルシーケンス番号002のDFMPパケットのパケットロスが発生したと判断する。
 なお、パケットロスは、DFMPパケットが通信ネットワーク30の経路の途中で消失して受信装置20に届かなかった場合の他、DFMPの下位層のプロトコルで誤り検出された場合、又は誤り訂正でパケットが回復できなかった場合も含む。なお、下位層のプロトコルが自動再送制御を備えており、再送によりパケットが正しく受信された場合は、パケットロスとは見なされない。
 データフロー分離部203は、DFMPパケットの受信状況に基づき、DFMPパケットの通信品質情報を生成する。一例として、DFMPパケットのパケットロス率又はパケット到着の時間遅延の揺らぎ情報を計算する。情報通信部206は、DFMPパケットの通信品質情報を含むフィードバック情報を含む応答パケットを、通信ネットワーク30を介して送信装置10に送信する。フィードバック情報の送信に用いる通信プロトコルは、5Gモバイル通信規格、4Gモバイル通信規格、無線LAN規格、その他の通信規格など、何でもよい。
 データフロー分離部203は、DFMPパケットからDFMPヘッダを除去することにより、DFCPパケットを取得する。データフロー分離部203は、DFCPパケットのヘッダに含まれるフローIDに基づき、DFCPパケットのペイロードに含まれるデータを渡すべきアプリケーションを特定する。データフロー分離部203は、特定したアプリケーションに対応する受信バッファ部202に、DFCPパケットのペイロードに含まれるデータを提供する。
 また、データフロー分離部203は、DFCPヘッダのローカルシーケンス番号を検査する。欠損しているローカルシーケンス番号があるときは、データフロー分離部203は、当該ローカルシーケンス番号を対象とするDFCPパケットの再送要求を生成する。また、DFCPヘッダにチェックサムが入っている場合に、DFCPパケットの誤り検出処理を行い、誤りが検出された場合に、DFCPパケットの再送要求を生成してもよい。情報通信部206は、生成された再送要求をフィードバック情報として含む応答パケットを、通信ネットワーク30を介して送信装置10に送信する。なお、DFCPパケットのペイロードのデータが、データの完全性を要求しないタイプのデータの場合は、再送要求を送信しない構成も可能である。
 受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータを内部の記憶領域に格納する。すなわち、受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータをバッファリングする。受信バッファ部202A、202Bは、バッファリングしているデータを、データフロー分離部203から受け取った順序で出力する。出力するデータの種類に応じて、受信バッファ部からデータを出力する方式が異なってもよい。一例として、受信バッファ部202A、202Bは、データ処理部201A、201Bからの要求に応じてデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、データが入力されると直ちにデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、バッファリングしているデータを一定の時間間隔で出力してもよい。受信バッファ部202A、202Bは、所定サイズの記憶領域を有する記憶装置である。受信バッファ部202A、202Bは、一例として、メモリ又はハードディスクなどの記録媒体により構成される。
 データ処理部201A、201Bは、各々アプリケーションを実行することにより、受信バッファ部202A、202Bから提供されたデータを処理するアプリケーション実行部である。一例として、データ処理部201Aは、アプリケーションAとCPUとを備えており、CPUがアプリケーションAを実行する。データ処理部201Bは、一例としてアプリケーションBとCPUとを備えており、CPUがアプリケーションBを実行する。アプリケーションの例として、高精細度地図の生成、エンジン制御の最適化モデルの生成、道路安全情報の生成などがあるが、これらは一例に過ぎず、他にも様々なアプリケーションがある。
 ここで送信装置10における送信部105Aで行われるTCPの輻輳制御について説明する。輻輳制御アルゴリズムにはパケットロスに基づくもの、遅延に基づくもの、およびその組み合わせに依るものがあるが、ここではパケットロスに基づく輻輳制御アルゴリズムを例とする。TCPの輻輳制御では、スロースタートとして通信開始時には輻輳ウィンドウを小さい値に設定し、パケットを送信する。輻輳ウィンドウは連続して送信可能なパケットの個数を定めている。例えば輻輳ウィンドウの値がXであれば、X個のパケットを送信する。送信部105Aは、受信先からACKを受信すると、輻輳ウィンドウを徐々に広げていき、送信可能なパケット数を増やしていく。これにより、通信ネットワーク30の帯域に余裕がある場合は、徐々に送信レートを高くしていくことができ、ベストエフォートの通信を実現する。通信ネットワーク30の使用帯域幅(実効帯域)が上限に達し、通信ネットワーク30の帯域に余裕がなくなるとパケットロスが発生する。パケットロスが検出された場合に、TCPは輻輳ウィンドウを減少させ、パケットの送信レートを下げていく。ロスしたパケットについては再送を行う。パケットロスが発生すると、TCPと同時に行われている送信部105Bの通信(本例ではUDP通信)でも、パケットロスが発生し、通信の品質が低くなる可能性がある。特に、送信部105Bで優先度の高いデータの通信を行っている場合には、パケットロスを抑制し、通信の品質を劣化させないことが必要である。制御部104は、送信部105Aの輻輳制御に起因して送信部105Bの通信の品質が低下することを抑制する動作を行う。
 具体的には、制御部104は、送信部105Aにおけるパケット(例えばTCPパケット)の送信状況を監視し、送信状況に応じて、送信部105Bから送信するパケットを冗長化する。例えば、制御部104は、送信部105Aにおけるパケットの送信頻度(例えば送信レート)を監視し、送信レートに応じて、送信部105Bから送信するパケットの冗長度を制御する。すなわち、制御部104は、送信部105Aにおけるパケットの送信レートの上昇に応じて、送信部105Bから送信するパケットの冗長度を高くする。送信部105Aの送信レートが上昇した場合(例えば輻輳ウィンドウが拡大した場合)、今後、送信部105Bの通信でパケットロスが発生し、通信の品質が低下することが予見される。そこで、送信部105Bから送信するパケットの冗長度を予め高くしておくことで、今後パケットロスが発生しても、データが正しく受信装置20で受信される可能性を高くする。送信レートが閾値以上になった場合に、パケットの冗長度を高くしてもよい。冗長度は、閾値に関連付けて事前に定めておく。閾値を複数設け、段階的に冗長度を変更してもよい。制御部104は、送信部105Aにおけるパケットの送信頻度が低い場合は、送信部105Bにおけるパケットの冗長化を行わない(冗長度を高めない)ことを決定してもよい。
 制御部104は、送信部105Aにおける送信レート又は送信頻度を表す値として、TCPの輻輳ウィンドウの値を用いてもよい。この場合、制御部104は、送信部105Aから輻輳ウィンドウの値を取得する。輻輳ウィンドウの値の取得は一定時間間隔でもよいし、輻輳ウィンドウの値が変更されるごとに取得してもよい。制御部104は、輻輳ウィンドウの値が大きいほど、冗長度を高くしてもよい。輻輳ウィンドウの値が閾値以上になった場合に、冗長度を高くしてもよい。この場合、冗長度は、閾値に関連付けて事前に定めておく。閾値を複数設け、段階的に冗長度を変更してもよい。
 制御部104は、TCPより下位のプロトコル層において送信頻度(例えば送信レート)を測定している場合には、当該下位のプロトコル層から送信頻度の値を取得し、TCPのパケットの送信頻度の代わりに、取得した送信頻度を用いてもよい。例えばデータリンク層でMACフレームの送信頻度を測定している場合に、MACフレームの送信頻度を用いてもよい。
 制御部104は、送信部105Bの通信が、送信部105Aよりも先に開始されている場合に、送信部105Aの通信(例えばTCP通信)の開始を検知した時点、すなわち輻輳制御の開始を検知した時点で、送信部105Bから送信するパケットの冗長度を高くしてもよい。例えば、通信の開始を検知した後、冗長度を一定の傾きで上昇させ、一定時間経過後又は冗長度が所定値に達した後は、冗長度を一定としてもよい。これによりパケットを早期に冗長化することができ、送信部105Bの通信品質の低下をより確実に抑制できる。
 パケットの冗長度を高くする方法として、同じデータ(同じローカルシーケンス番号のDFCPパケット)を繰り返し送信してもよい。すなわち同じデータを複数回送信する。一部のパケットがロスしても、他のパケットが無事届けば、受信装置20でデータを正しく取得できるため、通信の品質の低下を抑制できる。冗長度を、冗長化後の送信パケット数と冗長化前の送信パケット数の比と定義した場合、冗長度が2であれば、すべてのデータ(DFCPパケット)をそれぞれ2回送信し、冗長度が1.5であれば、2つに1個の割合で、同じデータを2回送信する。同じデータを複数回送信する際、同じデータを含む各DFCPパケットで、互いに異なるグローバルシーケンス番号を用いるとする。但し、各DFCPパケットに対して同じ値のグローバルシーケンス番号を用いることも排除されない。
 図8は、冗長化の具体例を示す。データフロー合成部103が送信部105Bに提供するパケットを冗長化する例を示す。図の例では、データフロー合成部103がデータ52を送信バッファ部102Bから読み出し、データ52をコピーする。データ52を含むDFCPパケットと、コピーしたデータを含むDFCPパケットとを生成する。各DFCPパケットのローカルシーケンス番号は同じ005である。ここではデータ52をコピーしたが、データ52を含むDFCPパケットを生成した後、DFCPパケットをコピーしてもよい。
 データフロー合成部103は、各DFCPパケットに互いに異なるグローバルシーケンス番号007、008を決定し、グローバルシーケンス番号007を含むDFMPヘッダを一方のDFCPパケットに付加してDFMPパケット007とする。同様に、グローバルシーケンス番号008を含むDFMPヘッダをもう一方のDFCPパケットに付加して、DFMPパケット008とする。DFMPパケット007、008を通信部108Bに提供する。送信部105Bは、DFMPパケット007、008にそれぞれトラスポート層、IP層、データリンク層、物理層の処理を行って、無線周波数の信号を生成し、生成した信号をそれぞれ、アンテナを介して送信する。送信した2つのDFMPパケットのうち、いずれか一方のDFMPパケットがパケットロスしたとしても、もう一方のDFMPパケットが受信装置20に正しく受信されることで、パケットロスによる通信品質の低下を補償することができる。
 図8の例では、同じデータを複数回送信する際、データをすべて送信部105Bから送信しているが、一部のデータを送信部105Bから送信し、残りの一部のデータを他の送信部から送信してもよい。この際、送信部105Bがモバイル回線を用い、他の送信部がモバイル回線とは異なる通信方式、例えば無線LANを用いるなど、異なる通信方式を用いることも可能である。受信装置20側でも、当該他の送信部に対応する受信部を備えている必要がある。
 パケットの冗長度を変更する方法は、データを送信する回数を変更することに限定されない。例えば送信部105Bにおいてパケットを消失訂正符号化している場合に、消失訂正符号の符号化率を変更してもよい。例えば、送信部105Aにおけるパケットの送信レートが高くなった場合には、送信部105Bにおける符号化率を小さくしてもよい。すなわち、消失訂正符号化により生成する冗長パケット(又はパリティパケット)の個数を多くする。生成した冗長パケットのうち、符号化率に応じた規定個数以上の冗長パケットが受信装置20に届けば、受信装置20でパケットを正しく復号できるため、冗長化によりデータを受信装置20に正しく届けることができる。消失訂正符号化を行うプロトコル層は、トランスポート層、IP層、データリンク層及び物理層のいずれでもよい。あるいは、DFMP及びDFCPの少なくとも一方で消失訂正符号化を行うことや、アプリケーション層で消失訂正符号化を行うことも排除されない。畳み込み符号等の誤り訂正符号の符号化を行っている場合には、当該誤り訂正符号の符号化率を変更することも可能である。
 パケットを冗長化した場合、受信装置20の受信部205B又はデータフロー分離部203では、冗長化されたパケットから元のパケット又は元のデータを復元し、復元したデータを出力する。復元の方法は、パケットの冗長化の方式に応じたものを用いればよい。
 図9は、本実施形態に係る送信装置10の送信部105Bから送信するパケットの冗長度の制御に関わる動作の一例のフローチャートである。制御部104は、送信部105Aによる輻輳制御付き通信(第1通信)におけるパケットの送信状況を監視する(S101)。例えばパケットの送信頻度を監視し、送信部105AからTCPの輻輳ウィンドウの値を取得する。
 制御部104は、送信部105Aにおけるパケットの送信状況(例えば監視しているパケットの送信頻度)に応じて、送信部105Bの通信(第2通信)におけるパケットの冗長度を決定する(S102)。一例として、輻輳ウィンドウの値が大きいほど、高い冗長度を決定する。また、輻輳ウィンドウの値が小さいほど、低い冗長度を決定する。制御部104は、送信部105Aによる第1通信が開始されたことを検知した時点で、パケットの冗長度を高くすることを決定してもよい。制御部104は、送信部105Aにおけるパケットの送信頻度が低い場合は、送信部105Bにおけるパケットの冗長化を行わない(冗長度を高めない)ことを決定してもよい。制御部104は、第1通信が終了したことを検知した場合に、パケットの冗長化を停止することを決定してもよい。制御部104は、決定した冗長度で、DFCPパケットを生成するよう、データフロー合成部103に指示情報を出力する(同S102)。
 データフロー合成部103は、制御部104から受けた指示情報に従って、DFCPパケットを冗長化する(S103)。例えば冗長度が2の場合、送信バッファ部102Bからデータを読み出すごとに、当該データを含むDFCPパケット(同じローカルシーケンス番号のDFCPパケット)を2つ生成する。データフロー合成部103は、各DFCPパケットにDFMPヘッダを付加してDFMPパケットとし、DFMPパケットを送信部105Bに提供する(同S103)。送信部105Bはデータフロー合成部103から提供されるDFMPパケットに各種下位層の処理を行って物理層のパケットとする。DFCPパケットが冗長化されることで、TCPパケットも冗長化される。送信部105Bは、物理層のパケットに、必要に応じて符号化処理を行った後、変調処理、DA変換、アナログ処理等を行って、アナログの無線周波数信号を生成し、生成した無線周波数信号を送信する。
 図10及び図11を用いて、本実施形態の効果について説明する。
 図10は、本実施形態の比較例として送信部105Bから送信するパケットを冗長化しない例を示す。送信部105Bは、時刻0より前から、DFCPパケットを含む物理層のパケットを一定のレートで送信している。パケットの冗長化は行っていない。このときの送信部105Bの通信の使用帯域幅は、グラフG2で示すように、帯域幅BW1である。
 時刻0で送信部105AのTCP通信が開始する。TCPの輻輳制御により、輻輳ウィンドウの値が徐々に大きくなることにより、パケットの送信レートが徐々に上昇する。送信レートの上昇に応じて、グラフG1で示すように、送信部105Aの使用帯域幅も上昇する。
 グラフG3で示す送信部105Aと送信部105Bとの合計使用帯域幅が、グラフG4で示す通信ネットワークの利用可能帯域幅に達すると、送信部105Aの通信及び送信部105Bの通信の少なくとも一方でパケットロスが発生する(図の破線の丸を参照)。
 送信部105Aの通信でパケットロスが発生すると、受信装置20からACKが届かないことにより、輻輳ウィンドウの値が小さくなり、送信部105Aの送信レートが低下する。以降、輻輳ウィンドウの値の上昇と、パケットロスと、輻輳ウィンドウの値の低下が繰り返されることにより、送信部105Aの送信レートが上昇又は低下し、送信部105Aの通信が行われる。
 送信部105Bの通信でパケットロスが発生すると、DFCPの再送が発生し、遅延が生じる。送信部105Bでは、例えば短い時間間隔でデータを送信する優先度の高い通信が行われており、遅延は極力避けることが望まれる。しかしながら、TCPの輻輳制御に起因して、送信部105Bの通信でパケットのロスが発生してしまい、通信品質が低下する。
 図11は、本実施形態に従って送信部105Bから送信するパケットを冗長化する例を示す。送信部105Bは、時刻0より前から、DFCPパケットを含む物理層のパケットを一定のレートで送信している。パケットの冗長化は行っていない。このとき送信部105Bの通信の使用帯域幅は、グラフG12で示すように、帯域幅BW1である。
 時刻t11で送信部105Aの通信が開始され、TCPの輻輳制御により、輻輳ウィンドウの値が徐々に大きくなることによりパケットの送信レートが徐々に上昇する。送信レートの上昇に応じて、グラフG11で示すように、送信部105Aの使用帯域幅も上昇する。
 制御部104は、輻輳ウィンドウの値に基づき、送信部105Bから送信するパケットを冗長化する。具体的には、輻輳ウィンドウの値の上昇に応じて、送信部105Bから送信するパケット冗長度を高くする。一例として、送信部105Aの通信の開始を検知した時点で、冗長度を高くしていき、所定値に達すると、送信部105Aの通信が終了するまで、所定値を維持する。グラフG12で示すように、時刻t11から送信部105Bの送信するパケット(冗長パケットを含む)の送信レートが上昇し、送信部105Bの使用帯域幅も上昇する。
 グラフG13で示す送信部105Aと送信部105Bとの合計使用帯域幅が、グラフG14で示す通信ネットワークの利用可能帯域幅に達すると、送信部105Aの通信及び送信部105Bの通信の少なくとも一方でパケットロスが発生する(図の破線の丸を参照)。
 送信部105Aの通信でパケットロスが発生すると、受信装置20からACKが届かないことにより、輻輳ウィンドウの値が小さくなり、送信部105Aの送信レートが低下する。輻輳ウィンドウの値の上昇と、パケットロス、輻輳ウィンドウの値の低下が繰り返されながら、送信部105Aの送信レートが上昇又は低下し、時刻t12で送信部105Aの通信は終了する。送信部105Aの通信が終了すると、送信部105Bのパケットの冗長度が徐々に低下し、時刻t13で送信部105Bの通信の冗長化は停止される(例えば冗長度が1になる)。
 送信部105Bの通信でパケットロスが発生した場合も、送信部105Bの通信は冗長化されている。このため、冗長化されたパケットの一部がロスしても、受信装置20で正しくデータが取得される。これにより、再送の機会は低減され、送信部105Bの通信の品質の低下は抑制される。
 以上、本実施形態によれば、送信部105Aにおけるデータの送信状況(例えばデータの送信レート)に応じて、送信部105Bの通信におけるデータを冗長化する。これにより、送信部105Aの送信レートが上昇した場合に、送信部105Bにおける通信の品質が低下することを抑制できる。
 (変形例1)
 第1実施形態では送信部105Bは輻輳制御付き通信を行っていなかったが、送信部105Bが送信部105Aと同様に、輻輳制御付き通信を行ってもよい。この場合も、第1実施形態と同様の効果を得ることができる。
 (変形例2)
 第1実施形態では、送信部105Aの通信にDFMP及びDFCPを用いていたが、送信部105Aの通信でDFCP及びDFCPを用いなくてもよい。この場合、送信部105Aが送信バッファ部102Aから直接、データを読み出せばよい。
 (変形例3)
 第1実施形態では、送信部105A及び送信部105Bの通信にDFMP及びDFCPを用いていたが、送信部105A及び送信部105Bの通信にDFMPを用いず、DFCPのみを用いてもよい。
 (変形例4)
 第1実施形態では1つのDFMPパケットにDFCPパケットを1つ含めていたが、2以上のDFCPパケットを集約してもよい。
 図12は、DFMPパケットに複数のDFCPパケット(本例ではDFCPパケット1、DFCPパケット2)を集約した例を示す。DFCPパケット1のフローID及びDFCPパケット2のフローIDは互いに異なる。但し、各DFCPパケットのフローIDが同じとすることも可能である。パケットの集約はデータフロー合成部103が行う。データフロー合成部103は、これにより、個々のDFCPパケットにDFMPヘッダ及びその下位のプロトコルのヘッダを付加する場合に比べて、ヘッダのオーバーヘッドを低減できる。図12の例では、DFCPパケットの集約は2であるが、3以上でもよい。
 (変形例5)
 受信装置20が、受信装置20の受信部205Aにおけるパケットの受信状況(例えば受信レート又は受信頻度)に応じて、送信装置10の送信部105Bにおけるパケットの冗長度を決定する。受信装置20は、決定した冗長度を指示する制御情報(決定した冗長度でパケットを冗長化する制御情報)を送信装置10に送信する。受信部205Aにおける受信レートが高くなるほど、送信装置10の送信部105Aにおける送信レートが高いと推定できる。そこで、受信装置20は、受信部205Aにおける受信レートが高くなるほど、送信部105Bに対して高い冗長度を決定する。
 図13は、変形例5に係る受信装置20のブロック図である。受信装置20のデータフロー分離部203は、受信部205Aにおけるパケットの受信頻度(受信レート)を監視する制御部211を備えている。データフロー分離部203、受信部205A及び受信部205Bは受信処理部21を構成する。制御部211は、一例として、受信部205Aから受信するDFMPパケットの受信レートを測定し、受信レートが大きいほど、送信装置10の送信部105Bに対して高い冗長度を決定する。DFMPパケットの受信レートが大きいほど、受信部205Aにおけるパケット(例えばTCPパケット)の受信レートが大きい、すなわち送信部105Aのパケットの送信レートが大きいと推定できる。
 制御部211は、受信部205AからTCPパケットの受信レートに関する情報を取得し、取得した情報に基づき、冗長度を決定してもよい。TCPパケットの受信レートの関する情報は、送信部105Aから受信したパケットに対するACKの返送状況に基づいて算出されてもよい。あるいは、TCPパケットを一時的にメモリ等のバッファに格納する場合には、バッファにおけるTCPパケットの格納状況に基づいて算出されてもよい。
 制御部211は、受信部205Aにおいて送信装置10の送信部105Aと輻輳制御付き通信が開始されたことを検知した場合に、冗長度を高くすることを決定してもよい。第1実施形態と同様に、輻輳制御付き通信の開始から一定の傾きで冗長度を高くし、冗長度が所定値に達したら、通信が終了するまで冗長度を所定値に維持してもよい。
 制御部211は、冗長化を指示する制御情報を、情報通信部206を介して、送信装置10に送信する。制御情報を応答パケットに含めてもよい。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bから送信するパケットを冗長化する。
 制御部211は、輻輳制御付き通信の開始を検知した場合に、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を送信装置10に送信してもよい。開始データを応答パケットに含めてもよい。制御部211は、輻輳制御付き通信が終了した場合は、通信を通知するデータ(輻輳制御付き通信の終了データ)を送信装置10に送信してもよい。終了データを応答パケットに含めてもよい。送信装置10の送信部105Bは開始データを受信すると、第1実施形態と同様にして、送信部105Bにおけるパケットを冗長化する。送信部105Bは終了データを受信すると、冗長度の制御を停止する。
 (変形例5)
 上述した実施形態では輻輳制御アルゴリズムを有するプロトコルとしてTCPを用いたが、QUIC(Quick UDP Internet Connections)など、他のプロトコルを用いてもよい。
(第2実施形態)
 第2実施形態では、受信装置20が複数の送信装置と同時に通信する。受信装置20は、1つの送信装置とはDFMP及びDFCPを用いずにTCPにより通信し、他の送信装置(本実施形態に係る送信装置)とはDFMP及びDFCPを用いて、UDP又はTCPにより通信する。受信装置20は1つの送信装置とのTCPにおけるパケットの受信状況(例えば受信頻度又は受信レート等)に応じて、他の送信装置から送信されるパケットの冗長化を決定する。1つの送信装置から受信するパケットは一例として当該1つの送信装置から受信する第1データに対応し、他の送信装置から受信するパケットは一例として当該他の送信装置から受信する第2データに対応する。受信装置20は、一例として1つの送信装置とのTCPの通信の開始(輻輳制御の開始)を検知すると、他の送信装置から送信するパケットを冗長化することを決定してもよい。受信装置20は、冗長化を指示する制御情報を、他の送信装置に送信する。以下、本実施形態について詳細に説明する。
 図14は、第2実施形態に係る通信システムのブロック図である。DFMP及びDFCPを用いずにTCPにより通信を行う送信装置50と、本実施形態に係る送信装置10とが、中継装置40を介して、受信装置20と接続されている。中継装置40は、図1の通信ネットワーク30に含まれる。図では1台の中継装置40が示されるが、中継装置40の台数は2以上でもよい。本例では、送信装置50が1台の場合を想定するが、送信装置50が2台以上でもよい。
 図15は、送信装置50のブロック図である。送信装置50は、データ取得部101A、送信バッファ部102A、送信部105A、アンテナ107Aを備えている。データ取得部101Aはセンサ1Aに接続されている。送信部105Aは送信バッファ部102Aに接続されている。DFCP及びDFMPに関する処理を行うデータフロー合成部103は設けられていない。図15の各要素の動作は、第1実施形態における図2と同一名称の要素と同じである。
 図16は、送信装置10のブロック図である。送信装置10は、データ取得部101B、送信バッファ部102B、データフロー合成部103、制御部104、送信部105B、情報通信部106、アンテナ107Aを備えている。データ取得部101Bはセンサ1Bに接続されている。図16の各要素の動作は、第1実施形態における図2と同一名称の要素と同じである。図16の例では1つのデータフローの処理を行う構成(センサ1B、データ取得部101B、送信バッファ部102B)のみ示されているが、第1実施形態と同様に2以上のデータフローの処理を行う構成を備えていてもよい(図2参照)。
 図17は、受信装置20のブロック図である。第1実施形態の変形例5(図13参照)と同様の構成を有するが、受信バッファ部202Aは受信部205Aに直接、接続されている。受信バッファ部202Aは、受信部205AからアプリケーションA用のデータを取得し、取得したデータを内部のバッファに格納する。データフロー分離部203は、受信部205AからはDFMPパケットを受信しない。以下では、変形例5との差分を中心に説明する。
 受信装置20のデータフロー分離部203は、受信部205Aにおけるパケットの受信状況(例えば受信頻度又は受信レート)を監視する制御部211を備えている。制御部211は、一例として、受信部205Aにおけるパケット(例えばTCPパケット)の受信レートを測定し、受信レートが大きいほど、送信装置10の送信部105Bに対して高い冗長度を決定する。TCPパケットの受信レートが大きいほど、送信部105Aの送信レートが大きいと推定できる。
 制御部211は、受信部205AからTCPパケットの受信レートに関する情報を取得し、取得した情報に基づき、冗長度を決定してもよい。TCPパケットの受信レートの関する情報は、送信部105Aから受信したパケットに対するACKの返送の状況に基づいて算出されてもよい。あるいは、TCPパケットを一時的にメモリ等のバッファに格納する場合には、バッファにおけるTCPパケットの格納状況に基づいて算出されてもよい。
 制御部211は、受信部205Aにおいて送信装置10の送信部105Aと輻輳制御付き通信が開始されたことを検知した場合に、冗長度を高くすることを決定してもよい。例えば、輻輳制御付き通信の開始から一定の傾きで冗長度を高くし、冗長度が所定値に達したら、当該通信が終了するまで冗長度を所定値に維持してもよい。
 制御部211は、冗長度を指示する制御情報を、情報通信部206を介して、送信装置10に送信する。制御情報を応答パケットに含めてもよい。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bにおけるパケットを冗長化する。
 制御部211は、受信部205Aにおける輻輳制御付き通信の開始を検知した場合に、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を送信装置10に送信してもよい。開始データを応答パケットに含めてもよい。制御部211は、輻輳制御付き通信が終了した場合は、通信を通知するデータ(輻輳制御付き通信の終了データ)を送信装置10に送信してもよい。終了データを応答パケットに含めてもよい。送信装置10の制御部104は開始データを受信すると、第1実施形態と同様にして、送信部105Bにおけるパケットを冗長化する。送信装置10の制御部104は終了データを受信すると、冗長化の制御を停止する。
 図18は、第2実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S111)。
 受信装置20は、送信装置10との通信の開始後、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S112)。受信装置20は、送信装置50と輻輳制御付き通信が開始されたこと通知するデータ(輻輳制御付き通信の開始データ)を、送信装置10に送信する(S113)。この開始データは、冗長化を指示する制御情報の一例に相当する。送信装置10は開始データを受信すると、受信装置20に送信するデータを冗長化する(冗長度を高くする)。すなわち、送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S113A)。
 受信装置20は、送信装置50と輻輳制御付き通信を終了すると(S114)、送信装置10に、送信装置50との輻輳制御付き通信が終了されたこと通知するデータ(輻輳制御付き通信の終了データ)を、送信装置10に送信する(S115)。この終了データは、冗長化の終了を指示する制御情報の一例に相当する。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長化を終了する(例えば冗長度を、冗長化を行わない初期値に戻す)。
 図18の例では、受信装置20は輻輳制御付き通信の開始及び終了を制御情報として送信したが、受信装置20は冗長度を指示した制御情報を送信してもよい。
 図19は、第2実施形態に係る受信装置20の動作の一例のフローチャートである。受信処理部21の受信部205Aは、輻輳制御アルゴリズムを有する通信プロトコル(TCP等)に基づき、送信装置10の送信部105Aからデータを含むパケット(TCPパケット等)を受信する(S121)。受信部205Aは、受信したパケットに含まれるデータを受信バッファ部202Aに送る。受信装置20の制御部211は、受信部205Aにおけるデータ(パケット)の受信状況に応じて、送信装置10の送信部105Bにおけるパケットの冗長化を指示する制御情報を生成する(S122)。例えば、受信装置20の制御部211は、受信装置20の受信部205AにおけるTCPによる通信が開始されたことを検知した場合に、制御情報を生成する(S122)。制御部211は、情報通信部206を介して、生成した制御情報を送信装置10に送信する(S123)。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、送信部105Bから送信するパケットを冗長化する。
 以上、本実施形態によれば、受信装置20において受信部205Aにおけるデータの受信状況(例えばデータの受信レート)に応じて、送信装置10の送信部105Bにおけるデータを冗長化する。これにより、送信装置10の送信部105Aの送信レートが上昇した場合に、送信装置10の送信部105Bにおける通信の品質が低下することを抑制できる。
(第3実施形態)
 第3実施形態では、送信装置10(図16参照)及び受信装置20間の通信を中継する中継装置40が、送信装置10から送信するデータを冗長化することを制御する。中継装置40は、輻輳制御付き通信を行う送信装置50(図15参照)と当該送信装置50からデータを受信する受信装置間の通信を中継し、かつ、送信装置10と受信装置20間の通信を中継する。中継装置40は、輻輳制御付き通信で中継するデータの受信状況に応じて、送信装置10から送信されるデータの冗長化を制御する。以下、本実施形態について詳細に説明する。
 図20は、第3実施形態に係る通信システムのブロック図である。DFMP及びDFCPを用いずにTCPにより通信を行う送信装置50と、送信装置50と通信を行う受信装置60とが、中継装置40を介して接続されている。また本実施形態に係る送信装置10と、本実施形態に係る受信装置20とが、中継装置40を介して、接続されている。中継装置40は、図1の通信ネットワーク30に含まれる。図では1台の中継装置40が示されるが、中継装置40の台数は2以上でもよい。本例では、送信装置50及び受信装置60がそれぞれ1台の場合を想定するが、送信装置50及び受信装置60が2台以上でもよい。
 送信装置50のブロック図は、前述した図15と同じである。送信装置50の動作は図15と同じであるため、説明を省略する。
 図21は、受信装置60のブロック図である。受信装置60は、アンテナ207A、受信部205A、受信バッファ部202A及びデータ処理部201Aを備えている。DFCP及びDFMPに関する処理を行うデータフロー分離部は設けられていない。図21の各要素の動作は、図17の同一名称の要素と同じであるため、説明を省略する。
 送信装置10のブロック図は、前述した図16と同じである。送信装置10の動作は図16と同じであるため、説明を省略する。
 図22は、受信装置20のブロック図である。受信装置20の構成は、第1実施形態における図7の受信装置20から、アンテナ207A、受信部205A、受信バッファ部202A、データ処理部201Aを除いた構成と同様である。図22の受信装置20は、1つのフローのデータを受信する場合の構成を有する。但し、本実施形態に係る受信装置20が、図7と同じ構成(複数のフローのデータを受信する構成)を備えていてもよい。
 図23は、中継装置40のブロック図である。中継装置40は、受信処理部301(第1受信処理部)と、送信処理部302(第1送信処理部)と、受信処理部303(第2受信処理部)と、送信処理部304(第2送信処理部)と、中継処理部310とを備えている。中継処理部310は制御部311を含む。受信処理部301、受信処理部303、送信処理部302及び送信処理部304は、通信ネットワーク30に接続されている。
 受信処理部301は、送信装置50(図15参照)、及び送信装置10(図16参照)からパケットを受信し、受信したパケットに物理層及びデータリンク層の処理を行った後、中継処理部310に渡す。送信装置50から受信するパケットは一例として送信装置50から受信する第1データに対応し、送信装置10から受信するパケットは一例として送信装置10から受信する第2データに対応する。送信装置10から受信するパケットはDFMP、DFCP等の処理を経たパケットである。送信装置50から受信するパケットは輻輳制御アルゴリズムを有する通信プロトコル(例えばTCP)等の処理を経たパケットである。中継処理部310は、受信処理部301から渡されたパケットにIPヘッダの処理を行い、ルーティングテーブルに基づきパケットの転送先(パケットを出力するポート)を決定する。送信処理部302は、中継処理部310により転送先が決定されたパケットにデータリンク層及び物理層の処理を行って、処理後のパケットを、決定された転送先に送信する。本例では、送信装置10から受信装置20宛のパケットが受信され、パケットは中継処理部310で決定された転送先に応じて、送信処理部302から送信される。送信されたパケットは、必要に応じて他の中継装置を経たのち、受信装置20に受信される。また、送信装置50から受信装置60宛のパケットが受信され、パケットは中継処理部310で決定された転送先に応じて、送信処理部302から送信される。送信されたパケットは、必要に応じて他の中継装置を経たのち、受信装置60に受信される。
 受信装置60(図21参照)の受信部205Aは、中継装置40により中継された送信装置50からのパケットを、アンテナ207Aを介して受信する。受信部205Aは、パケットに含まれるデータを、受信バッファ部202Aを介して、データ処理部201Aに提供する。
 受信装置20(図22参照)の受信部205Bは、中継装置40により中継された送信装置10からのパケットを、アンテナ207Bを介して受信する。データフロー分離部203は、受信されたパケットに対してDFMP及びDFCPの処理を行った後、パケットに含まれるデータを、受信バッファ部202Bを介して、データ処理部201Bに提供する。データフロー分離部203は、DFMP又はDFCPに関するフィードバック情報を含む、送信装置10を宛先とする応答パケットを送信する。フィードバック情報として、DFMP又はDFCPのACKを送信してもよい。応答パケットにはACK以外に、DFMPの通信品質情報を含めてもよい。
 中継装置40(図21参照)の受信処理部303は、受信装置20からの応答パケットを受信し、物理層及びデータリンク層の処理を行った後、処理後の応答パケットを中継処理部310に提供する。中継処理部310は、応答パケットのIPヘッダに基づき応答パケットの転送先を決定する。送信処理部304は、応答パケットを、決定された転送先に応じて送信する。送信された応答パケットは、必要に応じて他の中継装置を介して、送信装置10(図16参照)で受信される。送信装置10の制御部104は、情報通信部106を介して応答パケットを受信し、応答パケットに含まれるフィードバック情報に基づきDFMP又はDFCPに関する処理を行う(例えばDFCPパケットの再送等)。
 中継装置40において中継処理部310の制御部311は、送信装置50と受信装置60間の通信(輻輳制御付き通信)に関して、受信処理部301におけるパケットの受信状況を監視している。制御部311は、受信状況に応じて、送信装置10から送信されるパケットの冗長度を決定、あるいは、冗長化処理の開始又は終了を決定する。制御部311は、冗長度、あるいは冗長化処理の開始又は終了を含む制御情報を生成する。制御部311は、生成した制御情報を、受信処理部303を介して受信する受信装置20からの応答パケットに含める。例えば応答パケットのDFMPヘッダの所定フィールドに制御情報を格納する。例えば制御情報が冗長化処理の開始を示す場合、所定フィールドに、例えば冗長化のオンのビット“1”を格納する。制御情報が冗長化処理の終了を示す場合、所定フィールドにオフのビット“0”を格納する。所定フィールドの初期値は“0”とする。制御情報が冗長度を示す場合、所定フィールドに、冗長度の値を格納する。
 中継処理部310は、制御情報が格納された応答パケットのIPヘッダに基づき、応答パケットの転送先を決定する。送信処理部304は、制御情報が格納された応答パケットを、決定された転送先に応じて送信する。制御情報が格納された応答パケットは、制御情報と受信装置20からの応答メッセージとを含むデータの一例である。応答パケットは、必要に応じて他の中継装置を経由した後、送信装置10で受信される。
 送信装置10(図16参照)の制御部104は、情報通信部106を介して応答パケットを受信し、応答パケットに含まれる制御情報に基づき、送信部105Bから送信するデータ(パケット)を冗長化する。冗長化の制御の詳細は、第1又は第2実施形態と同様である。
 図24は、第3実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。受信装置20は、例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S131)。
 その後、受信装置60が、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S132)。中継装置40は、送信装置50が輻輳制御付き通信を開始したことを検知する。中継装置40は、受信装置20から応答パケットを受信し(S133)、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を応答パケットに含める(S134)。中継装置40は、応答パケットを送信装置10に送信する(同S134)。開始データは、輻輳制御の検知を示す制御情報又、冗長化を明示又は黙示に指示する制御情報の一例に相当する。明示的に冗長化を指示しなくとも、輻輳制御の検知を送信装置10に通知して、送信装置10が輻輳制御の検知の通知を受信した場合には冗長化を開始するものであれば、黙示に冗長化を指示しているといえる。冗長化を明示又は黙示に指示する制御情報は、輻輳制御の検知を示すフラグでもよい。送信装置10は開始データを受信すると、受信装置20に送信するデータの冗長化を制御する(冗長度を高くする)。すなわち、送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S134A)。
 受信装置60は、送信装置50と輻輳制御付き通信を終了すると(S135)、中継装置40は、送信装置50が輻輳制御付き通信が終了したことを検知する。中継装置40は、受信装置20から応答パケットを受信し(S136)、輻輳制御付き通信の終了を通知するデータ(輻輳制御付き通信の終了データ)を、応答パケットに含める(S137)。中継装置40は、応答パケットを送信装置10に送信する(同S137)。この終了データは、輻輳制御の終了の検知を示す制御情報、又は冗長化の終了を明示又は黙示に指示する制御情報の一例に相当する。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長度の制御を終了する。
 図24の例では、中継装置40は輻輳制御付き通信の開始及び終了を制御情報として送信したが、中継装置40は冗長度を指示した制御情報を送信してもよい。
 また図24の例では中継装置40は制御情報を応答パケットに含めたが、応答パケットとは別のパケットによって制御情報を送信してもよい。この場合、応答パケットから送信装置10のIPアドレス等、各種ヘッダの作成に必要な情報を取得してもよい。
 図25は、第3実施形態に係る中継装置40の動作の一例のフローチャートである。中継装置40の中継処理部310における制御部311は、送信装置50と受信装置60間で行われる輻輳制御付き通信(第1通信)のデータ(パケット)の受信状況を監視する(S141)。制御部311は、データ(パケット)の受信状況に応じて、送信装置10の通信(第2通信)で送信されるパケットの冗長化を指示する制御情報を生成する(S142)。例えば、制御部311は、送信装置50及び受信装置60間でTCPによる通信が開始されたことを検知した場合に、当該輻輳制御付き通信の開始を通知する制御情報を生成する。制御部311は、生成した制御情報を、受信装置20から受信する応答パケットに含め、応答パケットを送信装置10に送信する(S143)。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、送信部105Bから送信するパケットを冗長化する。
 以上、本実施形態によれば、中継装置40が、送信装置50及び受信装置60間で行われる輻輳制御付き通信におけるデータの受信状況を監視し、当該データの受信状況に応じて、送信装置10から送信するデータの冗長化を制御する。これにより、輻輳制御に起因して送信装置50の送信レートが上昇した場合に、送信装置10の通信の品質が低下することを抑制できる。
(第4実施形態)
 第4実施形態では、中継装置40が送信装置50からのパケットの受信状況に応じて、受信装置20に送信装置10におけるデータの冗長化を要求する要求情報を送信する。例えば中継装置40は、受信装置20宛に中継するパケットに要求情報を含める。受信装置20は要求情報に基づき、パケットの冗長化を指示する制御情報(例えば輻輳制御の開始の検知を示す情報)を生成し、制御情報を送信装置10に送信する。例えば受信装置20は、制御情報を含む応答パケットを送信装置10宛に送信する。
 第4実施形態の通信システムのブロック図は、第3実施形態と同じ図20である。送信装置50のブロック図は、第3実施形態と同じ図15である。送信装置10(第3装置)のブロック図は第3実施形態と同じ図16である。受信装置60(第1装置)のブロック図は、第3実施形態と同じ図21である。
 中継装置40のブロック図は、第3実施形態と同じ図23である。制御部311の動作が異なる。
 図26は、受信装置20(第2装置)のブロック図である。第3実施形態の受信装置20のブロック図(図22)に制御部212が追加されている。制御部212以外の動作は第3実施形態と同じである。
 以下、第3実施形態との差分を説明する。中継装置40において中継処理部310の制御部311は、送信装置50と受信装置60間の通信(輻輳制御付き通信)に関して、受信処理部301におけるパケットの受信状況を監視している。送信装置50から受信するパケットは一例として送信装置50から受信する第1データに対応する。制御部311は、受信状況に応じて、送信装置10から送信するパケットの冗長度を決定、あるいは、冗長化処理の開始又は終了を決定する。制御部311は、冗長度、あるいは冗長化処理の開始又は終了を含む制御情報を送信装置10に送信することを受信装置20に要求する要求情報を生成する。要求情報は、受信装置20に送信装置10から送信するパケットの冗長化の制御を要求する情報である。制御部311は、生成した要求情報を、受信装置20に中継するパケットに含める。例えば中継するパケットのDFMPヘッダの所定フィールドに要求情報を格納する。中継するパケットは、送信装置10から受信したパケットのデータ(第2データ)と、要求情報とを含む。中継するパケットは一例として、受信装置20に中継する第3データに対応する。
 中継処理部310は、要求情報が格納されたパケットを、送信処理部304を介して受信装置20に送信する。送信されたパケットは、必要に応じて他の中継装置を経由した後、受信装置20で受信される。
 受信装置20の制御部212は、送信装置10からのパケットから要求情報を検出し、要求情報に従って、送信装置10から送信されるパケットの冗長化を指示する制御情報を生成する。制御部212は、応答パケットに制御情報を含め、制御情報を含む応答パケットを、情報通信部206を介して送信する。送信した応答パケットは、中継装置40を介して、送信装置10で受信される。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bから送信するパケットを冗長化する。
 図27は、第4実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S151)。
 その後、受信装置60が、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S152)。中継装置40は、送信装置50が輻輳制御付き通信を開始したことを検知する。中継装置40は、送信装置10から受信するパケットに、冗長化を制御することを受信装置20に要求する要求情報を格納し、要求情報を格納したパケットを受信装置20に転送する(S153)。受信装置20は、送信装置10に送信する応答パケットの冗長化を制御する制御情報を格納し、制御情報を格納した応答パケットを送信する(S154)。制御情報は、一例として輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)である。応答パケットは中継装置40を介して送信装置10で受信される。送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S156)。
 受信装置60は、送信装置50と輻輳制御付き通信を終了すると(S157)、中継装置40は、送信装置50が輻輳制御付き通信が終了したことを検知する。中継装置40は、送信装置10から受信するパケットに、送信装置10から送信されるパケットの冗長度を低下又は冗長化を停止させることを受信装置20に要求する要求情報を格納し、要求情報を格納したパケットを受信装置20に転送する(S158)。受信装置20は、送信装置10に送信する応答パケットに制御情報を格納し、制御情報を格納した応答パケットを送信する(S159)。制御情報は、一例として輻輳制御付き通信の終了を通知するデータ(輻輳制御付き通信の終了データ)である。応答パケットは中継装置40を介して送信装置10で受信される。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長度の制御を終了する。
 図27の例では、受信装置20は輻輳制御付き通信の開始及び終了を制御情報として送信したが、受信装置20は冗長度を指示した制御情報を送信してもよい。
 また図27の例では中継装置40は制御情報を応答パケットに含めたが、応答パケットとは別のパケットによって制御情報を送信してもよい。
 図28は、第4実施形態に係る中継装置40の動作の一例のフローチャートである。中継装置40の中継処理部310における制御部311は、送信装置50と受信装置60間で行われる輻輳制御付き通信(第1通信)のデータ(パケット)の受信状況を監視する(S161)。制御部311は、データ(パケット)の受信状況に応じて、送信装置10の通信(第2通信)で送信されるパケットの冗長化を要求する要求情報を生成する(S162)。例えば、制御部311は、送信装置50及び受信装置60間でTCPによる通信が開始されたことを検知した場合に、当該通信の開始を通知する制御情報を送信装置10に送信することを受信装置20に要求する要求情報を生成する。制御部311は、生成した要求情報を、受信装置20へ中継するパケットに含め、要求情報を含むパケットを受信装置20に送信する(S163)。受信装置20の制御部212は、パケットに含まれる要求情報に従って、パケットの冗長化を指示する制御情報(例えば輻輳制御の開始の検知を示す情報)を含む応答パケットを生成する。制御部212は、応答パケットを、情報通信部206を介して送信装置10に送信する。送信装置10の制御部104は、情報通信部106を介して制御情報を受信する。制御部104は、制御情報に基づき、送信部105Bから送信するパケットの冗長度を制御する。
 以上、本実施形態によれば、中継装置40が、送信装置50及び受信装置60間で行われる輻輳制御付き通信におけるデータの受信状況を監視する。中継装置40は、当該データの受信状況に応じて、送信装置10から送信するデータの冗長化を制御することを要求する要求情報を受信装置20に送信する。受信装置20は要求情報に従って、送信装置10から送信するデータの冗長化を指示する制御情報を送信装置10に送信する。これにより、輻輳制御により送信装置50の送信レートが上昇した場合に、送信装置10の通信の品質が低下することを抑制できる。
(第5実施形態)
 前述した実施形態における各装置(送信装置10、又は受信装置20)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
 ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
 図29は、前述した実施形態における各装置(送信装置10、又は受信装置20)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ91と、主記憶装置92(メモリ)と、補助記憶装置93(メモリ)と、ネットワークインタフェース94と、デバイスインタフェース95と、を備え、これらがバス96を介して接続されたコンピュータ90として実現されてもよい。
 図29のコンピュータ90は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図29では、1台のコンピュータ90が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース94等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
 前述した実施形態における各装置(送信装置10又は受信装置20)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ90と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
 プロセッサ91は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ91は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ91は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ91は、量子コンピューティングに基づく演算機能を含むものであってもよい。
 プロセッサ91は、コンピュータ90の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ91は、コンピュータ90のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ90を構成する各構成要素を制御してもよい。
 前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数のプロセッサ91により実現されてもよい。ここで、プロセッサ91は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
 主記憶装置92は、プロセッサ91が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置92に記憶された情報がプロセッサ91により読み出される。補助記憶装置93は、主記憶装置92以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)において各種データを保存するための記憶装置は、主記憶装置92又は補助記憶装置93により実現されてもよく、プロセッサ91に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における一時記憶部140、240は、主記憶装置92又は補助記憶装置93により実現されてもよい。
 記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
 ネットワークインタフェース94は、無線又は有線により、通信ネットワーク97に接続するためのインタフェースである。ネットワークインタフェース94は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース94により、通信ネットワーク97を介して接続された外部装置98Aと情報のやり取りが行われてもよい。なお、通信ネットワーク97は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ90と外部装置98Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
 デバイスインタフェース95は、外部装置98Bと直接接続するUSB等のインタフェースである。
 外部装置98Aはコンピュータ90とネットワークを介して接続されている装置である。外部装置98Bはコンピュータ90と直接接続されている装置である。
 外部装置98A又は外部装置98Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ90に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
 また、外部装置98A又は外部装置98Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
 また、外部装置98Aまた外部装置98Bは、記憶装置(メモリ)であってもよい。例えば、外部装置98Aはネットワークストレージ等であってもよく、外部装置98BはHDD等のストレージであってもよい。
 また、外部装置98A又は外部装置98Bは、前述した実施形態における各装置(送信装置10、又は受信装置20)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ90は、外部装置98A又は外部装置98Bの処理結果の一部又は全部を送信又は受信してもよい。
 本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
 本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
 本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
 本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
 本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
 本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
 本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
 本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
 本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。
 本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
 以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
1A センサ、1B センサ、10 送信装置、11 送信処理部、20 受信装置、21 受信処理部、30 通信ネットワーク、40 中継装置、50 送信装置、60 受信装置、90 コンピュータ、91 プロセッサ、92 主記憶装置、93 補助記憶装置、94 ネットワークインタフェース、95 デバイスインタフェース、96 バス、97 通信ネットワーク、98A 外部装置、98B 外部装置、101A データ取得部、101B データ取得部、102A 送信バッファ部、102B 送信バッファ部、103 データフロー合成部、104 制御部、105A 送信部、105B 送信部、106 情報通信部、107A アンテナ、107B アンテナ、108B 通信部、140 一時記憶部、201A データ処理部、201B データ処理部、202A 受信バッファ部、202B 受信バッファ部、203 データフロー分離部、205A 受信部、205B 受信部、206 情報通信部、207A アンテナ、207B アンテナ、211 制御部、212 制御部、301 受信処理部、302 送信処理部、303 受信処理部、304 送信処理部、310 中継処理部、311 制御部

Claims (24)

  1.  第1データを送信し、第2データを送信する送信処理部と、
     前記第1データの送信状況に応じて、前記第2データを冗長化する制御部と
     を備えた通信装置。
  2.  前記制御部は、前記第1データの送信頻度に応じて、前記第2データを冗長化する
     請求項1に記載の通信装置。
  3.  前記制御部は、前記第1データの送信頻度が高いほど、前記第2データの冗長度を高くする
     請求項2に記載の通信装置。
  4.  前記制御部は、前記第1データの送信の開始した後に前記第2データを冗長化する
     請求項1~3のいずれか一項に記載の通信装置。
  5.  前記送信処理部は、前記第1データを、輻輳制御アルゴリズムを有する通信プトロコルに基づき送信する
     請求項1~4のいずれか一項に記載の通信装置。
  6.  前記制御部は、前記第1データを送信可能な個数を定めた輻輳ウィンドウの値に基づき前記第2データを冗長化する
     請求項5に記載の通信装置。
  7.  前記制御部は、前記第2データを繰り返し送信する回数を増やすことにより前記第2データを冗長化する
     請求項1~6のいずれか一項に記載の通信装置。
  8.  前記送信処理部は、前記第2データを符号化し、符号化した前記第2データを送信し、
     前記制御部は、前記第2データの符号化率を小さくすることにより前記第2データを冗長化する
     請求項1~6のいずれか一項に記載の通信装置。
  9.  前記送信処理部は、前記第1データを送信する第1送信部と、前記第2データを送信する第2送信部とを含む
     請求項1~8のいずれか一項に記載の通信装置。
  10.  前記第2データの送信の優先度は、前記第1データの送信の優先度より高い
     請求項1~9のいずれか一項に記載の通信装置。
  11.  前記第2データは、前記第1データより短い時間間隔で送信される
     請求項1~10のいずれか一項に記載の通信装置。
  12.  第1データを送信し、第2データを送信する送信処理部と、
     他の通信装置から受信した制御情報に基づいて、前記第2データを冗長化する制御部と、を備え、
     前記制御情報は、前記第1データの受信状況に基づいて生成された情報である
     通信装置。
  13.  第1データを受信し、第2データを受信する受信処理部と、
     前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の装置宛に送信する制御部と
     を備えた通信装置。
  14.  前記受信処理部は、前記制御情報に応じて冗長化された第2データを受信し、前記冗長化の方法に基づいて前記第2データを復元する
     請求項13に記載の通信装置。
  15.  前記制御部は、前記第1データの受信頻度に応じて、前記制御情報を送信する
     請求項13又は14に記載の通信装置。
  16.  前記受信処理部は、前記第1データを、輻輳制御アルゴリズムを有する通信プロトコルに基づき受信し、
     前記制御部は、前記通信プロトコルによる通信が開始された後に前記制御情報を送信する
     請求項13~15のいずれか一項に記載の通信装置。
  17.  第1装置宛の第1データを受信し、第2装置宛の第2データを受信する第1受信処理部と、
     前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する第1送信処理部と、
     前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、第2送信処理部と
     を備えた通信装置。
  18.  前記第2データに応答するメッセージを受信する第2受信処理部を備え、
     前記第2送信処理部は、前記制御情報と前記メッセージとを含む第3データを前記第3装置宛に送信する
     請求項17に記載の通信装置。
  19.  第1装置宛の第1データを受信し、第2装置宛の第2データを受信する受信処理部と、
     前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する送信処理部と、を備え、
     前記送信処理部は、前記第1データの受信状況に基づき、前記第2装置に、前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する
     通信装置。
  20.  前記送信処理部は、前記要求情報と前記第2データとを含む第3データを前記第2装置宛に送信する
     請求項19に記載の通信装置。
  21.  第1データを送信し、第2データを送信し、
     前記第1データの送信状況に応じて、前記第2データを冗長化する
     通信方法。
  22.  第1データを受信し、第2データを受信し、
     前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の装置宛に送信する
     通信方法。
  23.  第1装置宛の第1データを受信し、第2装置宛の第2データを受信し、
     前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信し、
     前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する
     通信方法。
  24.  第1装置宛の第1データを受信し、第2装置宛の第2データを受信し、
     前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信し、
     前記第1データの受信状況に基づき、前記第2装置に、前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する
     通信方法。
PCT/JP2021/039455 2020-10-30 2021-10-26 通信装置及び通信方法 WO2022092075A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020182967A JP2024022698A (ja) 2020-10-30 2020-10-30 通信装置及び通信方法
JP2020-182967 2020-10-30

Publications (1)

Publication Number Publication Date
WO2022092075A1 true WO2022092075A1 (ja) 2022-05-05

Family

ID=81382523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/039455 WO2022092075A1 (ja) 2020-10-30 2021-10-26 通信装置及び通信方法

Country Status (2)

Country Link
JP (1) JP2024022698A (ja)
WO (1) WO2022092075A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115291498A (zh) * 2022-10-09 2022-11-04 南京国电南自维美德自动化有限公司 一种工业控制系统控制器的冗余切换方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63204938A (ja) * 1987-02-20 1988-08-24 Nippon Telegr & Teleph Corp <Ntt> 信号伝送方式
US20020145972A1 (en) * 1999-10-28 2002-10-10 Rainer Windecker Method for improving the data transmission quality in data packet oriented communication networks
US20090213916A1 (en) * 2007-04-05 2009-08-27 Huawei Technologies Co., Ltd. Method, apparatus and system for data transmission
US20100302929A1 (en) * 2007-09-26 2010-12-02 Nokia Siemens Networks Oy Method and Device for Data Processing and Communication System Comprising Such Device
JP2013128207A (ja) * 2011-12-19 2013-06-27 Panasonic Industrial Devices Sunx Co Ltd データ伝送システム、およびデータ伝送方法
JP2015510313A (ja) * 2012-01-12 2015-04-02 クゥアルコム・インコーポレイテッドQualcomm Incorporated クリティカリティ閾値制御のためのシステム、方法、装置、およびコンピュータ可読媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63204938A (ja) * 1987-02-20 1988-08-24 Nippon Telegr & Teleph Corp <Ntt> 信号伝送方式
US20020145972A1 (en) * 1999-10-28 2002-10-10 Rainer Windecker Method for improving the data transmission quality in data packet oriented communication networks
US20090213916A1 (en) * 2007-04-05 2009-08-27 Huawei Technologies Co., Ltd. Method, apparatus and system for data transmission
US20100302929A1 (en) * 2007-09-26 2010-12-02 Nokia Siemens Networks Oy Method and Device for Data Processing and Communication System Comprising Such Device
JP2013128207A (ja) * 2011-12-19 2013-06-27 Panasonic Industrial Devices Sunx Co Ltd データ伝送システム、およびデータ伝送方法
JP2015510313A (ja) * 2012-01-12 2015-04-02 クゥアルコム・インコーポレイテッドQualcomm Incorporated クリティカリティ閾値制御のためのシステム、方法、装置、およびコンピュータ可読媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115291498A (zh) * 2022-10-09 2022-11-04 南京国电南自维美德自动化有限公司 一种工业控制系统控制器的冗余切换方法及系统

Also Published As

Publication number Publication date
JP2024022698A (ja) 2024-02-21

Similar Documents

Publication Publication Date Title
JP5239166B2 (ja) データ通信装置および方法ならびにプログラム
US20170149675A1 (en) Packet retransmission method and apparatus
JP6284549B2 (ja) マルチパスストリーミングのためのfecベースの信頼性のある転送制御プロトコル
KR100772528B1 (ko) 유/무선 네트워크에서 효율적인 패킷 재전송 방법 및 장치
US11018897B2 (en) Electronic control unit, communication method, and onboard network system
CN107257270B (zh) 基于混合自动重传请求的数据传输方法及系统
US20080177884A1 (en) Error control terminal discovery and updating
WO2011010468A1 (ja) 通信方法
JP2004297742A (ja) 通信装置、通信制御方法及びプログラム
TWI565262B (zh) 無線電串流通訊
EP2774322B1 (en) Apparatus and method for transmitting a message to multiple receivers
JP2000228676A (ja) データ送信方法
WO2022092075A1 (ja) 通信装置及び通信方法
US8811180B2 (en) Communication apparatus and communication method
US7792026B2 (en) Method of calculating a time period to wait for missing data packets
EP3860013A1 (en) Message processing method and apparatus
US20060116074A1 (en) Communication repeater, communication repeater program, and communication repeater system
JP2009100118A (ja) 送信装置、受信装置、通信装置及び通信方法
EP3070866A1 (en) Communication system, communication apparatus, data retransmission method, and data retransmission control method
WO2021153453A1 (ja) 通信装置及び通信方法
CN106712908B (zh) 数据传输方法、装置和系统
CN109605383B (zh) 一种信息通信方法、机器人及存储介质
US9306824B2 (en) Communication control apparatus, communication control method, and computer-readable non-transitory recording medium
JP5397226B2 (ja) 通信システム、データ送信装置、データ受信装置、通信方法および通信用プログラム
JP2010130610A (ja) データ伝送システム

Legal Events

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

Ref document number: 21886193

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21886193

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP