JP2024022698A - Communication device and communication method - Google Patents

Communication device and communication method Download PDF

Info

Publication number
JP2024022698A
JP2024022698A JP2020182967A JP2020182967A JP2024022698A JP 2024022698 A JP2024022698 A JP 2024022698A JP 2020182967 A JP2020182967 A JP 2020182967A JP 2020182967 A JP2020182967 A JP 2020182967A JP 2024022698 A JP2024022698 A JP 2024022698A
Authority
JP
Japan
Prior art keywords
data
communication
packet
transmission
transmitting
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2020182967A
Other languages
Japanese (ja)
Inventor
大史 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
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 Inc filed Critical Preferred Networks Inc
Priority to JP2020182967A priority Critical patent/JP2024022698A/en
Priority to PCT/JP2021/039455 priority patent/WO2022092075A1/en
Publication of JP2024022698A publication Critical patent/JP2024022698A/en
Pending legal-status Critical Current

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

Abstract

【課題】通信の品質の低下を抑制する通信装置及び通信方法を提供する。【解決手段】送信装置は、第1データ(TCP)を送信し、第2データ(UDP)を送信する送信処理部と、第1データの送信状況(帯域使用状況)に応じて、送信処理部から送信される第2データを冗長化する制御部とを備える。【選択図】図2The present invention provides a communication device and a communication method that suppress deterioration in communication quality. [Solution] A transmitting device includes a transmission processing unit that transmits first data (TCP) and second data (UDP), and a transmission processing unit that transmits first data (TCP) and second data (UDP), and and a control unit that makes the second data transmitted from the controller redundant. [Selection diagram] Figure 2

Description

本開示は、通信装置及び通信方法に関する。 The present disclosure relates to a communication device and a communication method.

ネットワークを介して行うパケット交換方式の通信では、TCP(Transmission Control Protocol)が広く用いられている。QUIC(Quick UDP Internet Connections)と呼ばれる新しいプロトコルも広く用いられるようになってきている。TCPやQUICの輻輳制御アルゴリズムは、ネットワークの実効帯域に応じてパケットの送信レートを制御する。実効帯域が小さく、回線の帯域に余裕がある場合は、輻輳ウィンドウを徐々に上昇させて、パケットの送信レートを高くする。ネットワークの実効帯域が回線の帯域に達し、回線の帯域に余裕がなくなると、パケットロスの発生や遅延が増加し、輻輳を検知される。輻輳が検出された場合、輻輳ウィンドウが減少し、パケットの送信レートが下げられる。ロスしたパケットについてはTCPの再送アルゴリズムにより再送を行う。回線の帯域に余裕がなくなると、TCPと並行して行われている他の通信、例えばUDPを用いた映像通信でも、パケットロスが発生する可能性が高くなる。他の通信が優先度の高い通信の場合など、他の通信の品質が低下することを抑制する仕組みが必要である。 TCP (Transmission Control Protocol) is widely used in packet-switched communication performed via a network. A new protocol called QUIC (Quick UDP Internet Connections) is also becoming widely used. Congestion control algorithms such as TCP and QUIC control the packet transmission rate according to the effective bandwidth of the network. If the effective bandwidth is small and the line has plenty of bandwidth, the congestion window is gradually raised to increase the packet transmission rate. When the effective bandwidth of the network reaches the bandwidth of the line and there is no more room in the bandwidth of the line, packet losses and delays increase, and congestion is detected. If congestion is detected, the congestion window is reduced and the rate of packet transmission is reduced. Lost packets are retransmitted using the TCP retransmission algorithm. If there is no room for line bandwidth, there is a high possibility that packet loss will occur even in other communications that are being conducted in parallel with TCP, such as video communications using UDP. A mechanism is required to prevent the quality of other communications from deteriorating, such as when other communications have high priority.

M. Nagy et al., “Congestion Control using FEC for Conversational Multimedia Communication,” ACM MMSys’14, 2014M. Nagy et al., “Congestion Control using FEC for Conversational Multimedia Communication,” ACM MMSys’14, 2014

本発明の実施形態は、通信の品質の低下を抑制する通信装置及び通信方法を提供する。 Embodiments of the present invention provide a communication device and a communication method that suppress deterioration in communication quality.

本実施形態に係る通信装置は、第1データを送信し、第2データを送信する送信処理部と、前記第1データの送信状況に応じて、前記第2データを冗長化する制御部とを備える。 The communication device according to the present embodiment includes a transmission processing unit that transmits first data and second data, and a control unit that makes the second data redundant depending on the transmission status of the first data. Be prepared.

本実施形態に係る通信装置は、第1データを受信し、第2データを受信する受信処理部と、前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する制御部とを備える。 The communication device according to the present embodiment includes a reception processing unit that receives first data and receives second data, and transmits control information that makes the second data redundant based on the reception status of the first data. and a control section.

本実施形態に係る通信装置は、第1装置宛の第1データを受信し、第2装置宛の第2データを受信する第1受信処理部と、前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する第1送信処理部と、前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、第2送信処理部と、を備える。 The communication device according to the present embodiment includes a first reception processing unit that receives first data addressed to the first device and second data addressed to the second device, and a first reception processing unit that receives the first data addressed to the first device. a first transmission processing unit that transmits the second data to the second device; and a first transmission processing unit that transmits the second data to the second device, and transmits control information that makes the second data redundant based on the reception status of the first data. and a second transmission processing unit that transmits data to the original third device.

本実施形態に係る通信装置は、第1装置宛の第1データを受信し、第2装置宛の第2データを受信する受信処理部と、前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する送信処理部と、を備え、前記送信処理部は、前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する。 The communication device according to the present embodiment includes a reception processing unit that receives first data addressed to the first device and second data addressed to the second device, and a reception processing unit that transmits the first data addressed to the first device. , a transmission processing unit that transmits the second data to the second device, the transmission processing unit informing the second device of the source of the second data based on the reception status of the first data. transmitting request information requesting redundancy of the second data transmitted from the third device.

本実施形態に係るデータ通信システムのブロック図。FIG. 1 is a block diagram of a data communication system according to the present embodiment. 本実施形態に係る送信装置のブロック図。FIG. 2 is a block diagram of a transmitting device according to the present embodiment. DFCPパケットのフォーマット例を示す図。FIG. 3 is a diagram illustrating an example format of a DFCP packet. DFMPパケットのフォーマット例を示す図。FIG. 3 is a diagram illustrating an example format of a DFMP packet. データリンク層パケットのフォーマット例を示す図。FIG. 3 is a diagram showing an example format of a data link layer packet. データフロー合成部におけるデータフロー合成の具体例を示す図。FIG. 7 is a diagram illustrating a specific example of data flow synthesis in a data flow synthesis unit. 第1実施形態に係る受信装置のブロック図。FIG. 1 is a block diagram of a receiving device according to a first embodiment. 冗長化の具体例を示す図。The figure which shows the example of redundancy. 本実施形態に係る送信装置から送信するパケットの冗長度の制御に関わる動作の一例のフローチャート。5 is a flowchart illustrating an example of an operation related to controlling the redundancy of packets transmitted from the transmitting device according to the present embodiment. 本実施形態の比較例としてパケットを冗長化しない例を示す図。FIG. 7 is a diagram illustrating an example in which packets are not made redundant as a comparative example of the present embodiment. 本実施形態に従って送信部から送信するパケットを冗長化する例を示す図。FIG. 3 is a diagram illustrating an example of making redundant packets transmitted from a transmitter according to the present embodiment. DFMPパケットに複数のDFCPパケットを集約した例を示す図。FIG. 3 is a diagram illustrating an example of aggregating a plurality of DFCP packets into a DFMP packet. 変形例5に係る受信装置のブロック図。FIG. 7 is a block diagram of a receiving device according to modification 5. 第2実施形態に係る通信システムのブロック図。FIG. 2 is a block diagram of a communication system according to a second embodiment. 第2実施形態に係る送信装置のブロック図。FIG. 2 is a block diagram of a transmitting device according to a second embodiment. 第2実施形態に係る送信装置のブロック図。FIG. 2 is a block diagram of a transmitting device according to a second embodiment. 第2実施形態に係る受信装置のブロック図。FIG. 2 is a block diagram of a receiving device according to a second embodiment. 第2実施形態に係る通信シーケンスの一例を示す図。FIG. 7 is a diagram showing an example of a communication sequence according to the second embodiment. 第2実施形態に係る受信装置の動作の一例のフローチャート。7 is a flowchart of an example of the operation of the receiving device according to the second embodiment. 第3実施形態に係る通信システムのブロック図。FIG. 3 is a block diagram of a communication system according to a third embodiment. 第3実施形態に係る受信装置のブロック図。FIG. 3 is a block diagram of a receiving device according to a third embodiment. 第3実施形態に係る受信装置のブロック図。FIG. 3 is a block diagram of a receiving device according to a third embodiment. 第3実施形態に係る中継装置のブロック図。FIG. 3 is a block diagram of a relay device according to a third embodiment. 第3実施形態に係る通信シーケンスの一例を示す図。FIG. 7 is a diagram illustrating an example of a communication sequence according to a third embodiment. 第3実施形態に係る中継装置の動作の一例のフローチャート。7 is a flowchart of an example of the operation of the relay device according to the third embodiment. 第4実施形態に係る受信装置のブロック図。FIG. 3 is a block diagram of a receiving device according to a fourth embodiment. 第4実施形態に係る通信シーケンスの一例を示す図。The figure which shows an example of the communication sequence based on 4th Embodiment. 第4実施形態に係る中継装置の動作の一例のフローチャート。12 is a flowchart of an example of the operation of the relay device according to the fourth embodiment. 各実施形態における各装置のハードウェア構成の一例を示すブロック図。FIG. 2 is a block diagram showing an example of the hardware configuration of each device in each embodiment.

以下、図面を参照して、本開示の実施形態について説明する。図面は、本開示の実施形態を一例として模式的に示すものであり、本開示の実施形態は、図面に開示された形態に限定されるものではない。複数の図において同一の要素には同一の符号を付し、説明済みの要素の説明は適宜省略する。 Embodiments of the present disclosure will be described below with reference to the drawings. The drawings schematically illustrate embodiments of the present disclosure as an example, and the embodiments of the present disclosure are not limited to the forms disclosed in the drawings. In the plurality of figures, the same elements are given the same reference numerals, and explanations of already explained elements are omitted as appropriate.

(第1実施形態)
図1は、本実施形態に係る通信システムのブロック図である。図1の通信システムは、送信装置10を搭載した複数の移動体Mと、受信装置20とを備える。送信装置10及び受信装置20は、本実施形態に係る通信装置又無線通信装置の一例に相当する。
(First embodiment)
FIG. 1 is a block diagram of a communication system according to this embodiment. The communication system in FIG. 1 includes a plurality of mobile bodies M equipped with transmitting devices 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 this embodiment.

移動体Mは、自動車、ロボット、船舶、ドローン、モバイル端末(スマートフォン、タブレット端末、ノートPC等)、又は電車など、任意の移動体である。本実施形態では送信装置10は移動体に搭載されているが、送信装置10は固定設置された端末又はマシンに搭載されてもよい。本実施形態では移動体Mが自動車である場合を想定する。自動車は、ユーザの運転を支援する機能を有する自動車、及び自律的に判断して走行する自動運転車のいずれでもよい。 The moving object M is any moving object such as a car, a robot, a ship, a drone, a mobile terminal (smartphone, tablet terminal, notebook PC, etc.), or a train. In this embodiment, the transmitting device 10 is mounted on a moving body, but the transmitting device 10 may be mounted on a fixed terminal or machine. In this embodiment, it is assumed that the mobile object M is a car. The vehicle may be either a vehicle that has a function to assist the user in driving, or a self-driving vehicle that autonomously makes decisions and drives.

送信装置10は、通信ネットワーク30に接続されている。通信ネットワーク30は、一例として、モバイルネットワーク又は無線LAN(Local Area Network)等のネットワークである。モバイルネットワークの例として、3Gネットワーク,LTEネットワーク、次世代(5G)ネットワークなどがあるが、ネットワークの種類は何でもよい。また、通信ネットワーク30は、無線ネットワークでも、有線ネットワークでもよい。通信ネットワーク30は、複数種類のネットワークを含んでいてもよい。この場合、送信装置10が、受信装置20との通信に用いるネットワークを複数種類のネットワークから選択してもよい。本実施形態では送信装置10は無線通信を行うが、有線通信を行う構成でもよい。通信ネットワーク30には、データ又はパケットを中継する1台以上の中継装置が含まれていてもよい。この場合、中堅装置は、本実施形態に係る通信装置又無線通信装置の一例に相当する。なお、パケットは情報の伝送単位を一般的に表現したものであり、特定のプロトコルの情報伝送単位に限定されるものではない。例えば、パケットは、フレーム、データグラム、セグメントなどの他の用語に置き換えることも可能である。 Transmitting device 10 is connected to communication network 30 . The communication network 30 is, for example, a mobile network or a wireless LAN (Local Area Network). Examples of mobile networks include 3G networks, LTE networks, and next generation (5G) networks, but any type of network may be used. Further, the communication network 30 may be a wireless network or a wired network. Communication network 30 may include multiple types of networks. In this case, the transmitting device 10 may select a network to be used for communication with the receiving device 20 from among multiple types of networks. Although the transmitting device 10 performs wireless communication in this embodiment, it may be configured to perform wired communication. Communication network 30 may include one or more relay devices that relay data or packets. In this case, the mid-level device corresponds to an example of a communication device or a wireless communication device according to this embodiment. Note that a packet is a general expression of a unit of information transmission, and is not limited to a unit of information transmission of a specific protocol. For example, packet may be replaced by other terms such as frame, datagram, segment, etc.

送信装置10は、移動体Mに設けられた1つ又は複数のセンサからデータを取得する。1つ又は複数のセンサは、受信装置における1つ又は複数のアプリケーションに提供するデータを検出する。各センサにより検出されるデータは、互いに異なるデータフローに属する。送信装置10は、各センサにより検出されるデータを、受信装置20に送信する。より詳細には、送信装置10は、データを含むパケットを生成し、生成したパケットを受信装置20に送信する。複数のセンサの例は、カメラ、GPS、LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサ、自動車の制御情報(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。 The transmitting device 10 acquires data from one or more sensors provided on the mobile body M. One or more sensors detect data to provide to one or more applications at the receiving device. The data detected by each sensor belongs to a different data flow. The transmitting device 10 transmits 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 Detecting And Ranging), speed sensors, acceleration sensors, sensors for detecting vehicle control information (engine rotation status, accelerator pedal depression status, etc.), sudden braking detection sensors, Includes sensors for detecting obstacles (falling objects, vehicles in front), etc.

受信装置20は、通信ネットワーク30に有線又は無線により接続されている。受信装置20は例えばモバイルネットワークに配置されている。受信装置20は、モバイルネットワークのエッジコントローラでもよい。受信装置20は、移動体Mから1つ又は複数のアプリケーションに対するデータ、より詳細には、データを含むパケットを受信する。受信装置20は、移動体Mから送信されたデータを処理する1つ又は複数のアプリケーションを備えている。受信装置20は移動体Mから取得したデータを、それぞれ対応するアプリケーションに渡す。 The receiving device 20 is connected to the communication network 30 by wire or wirelessly. The receiving device 20 is placed in a mobile network, for example. 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 data transmitted from the mobile body M. The receiving device 20 passes the data acquired from the mobile object M to the respective corresponding applications.

複数のアプリケーションの例は、高精細度地図を生成するアプリケーション、エンジン制御の最適化モデルを生成するアプリケーション、道路安全情報を生成するアプリケーションなどを含む。アプリケーションによって、データ送信の時間制約が異なってもよい。一例として、高精細度地図を生成するアプリケーション、及びエンジン制御の最適化モデルを生成するアプリケーションでは、データ送信の時間制約は長い(1時間、1日など)。一方、道路安全情報を生成するアプリケーションでは、データ送信の時間制約が短い(例えば10秒以下など)。一例として、時間制約の短いデータは、優先度の高いデータに対応し、時間制約の長いデータは、優先度の低いデータに対応する。 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 the like. Different applications may have different time constraints for data transmission. As an example, in applications that generate high-definition maps and applications that generate engine control optimization models, the time constraints for data transmission are long (one hour, one day, etc.). On the other hand, in applications that generate road safety information, the time constraints for data transmission are short (for example, 10 seconds or less). As an example, data with short time constraints corresponds to data with high priority, and data with long time constraints corresponds to data with low priority.

受信装置20が中継装置として機能してもよい。この場合、受信装置20が、移動体Mの送信装置10から受信したデータを、1つ又は複数のアプリケーションを備える別の装置(例えばサーバ)に送信してもよい。 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) provided with one or more applications.

移動体Mの送信装置10及び受信装置20は、基地局又はルータ等の中継装置を介して、互いに通信してもよい。例えば送信装置10は、所定の接続プロセスを実行することにより、近傍の基地局と無線接続する。移動体Mの送信装置10は、接続した基地局を介して、受信装置20と通信する。基地局と受信装置20との間の1台以上のルータが配置されていてもよい。受信装置20は、基地局と無線又は有線で接続されていてもよい。受信装置20は、複数の基地局と接続されていてもよいし、基地局と1対1で接続されていてもよい。 The transmitting device 10 and 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. For example, 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 may be arranged between the base station and the receiving device 20. 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 a base station on a one-to-one basis.

図2は、送信装置10のブロック図である。送信装置10は、本実施形態に係る通信装置又は無線通信装置の一例に相当する。 FIG. 2 is a block diagram of the transmitting device 10. The transmitting device 10 corresponds to an example of a communication device or a wireless communication device according to this embodiment.

送信装置10は、複数のデータ取得部101A、101B、複数の送信バッファ部102A、102B、送信処理部11、情報通信部106、アンテナ107A及びアンテナ107Bを備えている。送信処理部11は、データフロー合成部103、制御部104、送信部105A及び送信部105Bを備えている。送信部105A及び送信部105Bは物理的に同一の回路であっても、別々の回路であってもよい。 The transmitting device 10 includes a plurality of data acquisition sections 101A and 101B, a plurality of transmission buffer sections 102A and 102B, a transmission processing section 11, an information communication section 106, an antenna 107A, and an antenna 107B. The transmission processing section 11 includes a data flow synthesis section 103, a control section 104, a transmission section 105A, and a transmission section 105B. The transmitter 105A and the transmitter 105B may be physically the same circuit or may be separate circuits.

図2の例では、データ取得部は2つ設けられているが、3つ以上設けられてもよい。同様に送信バッファ部は2つ設けられているが、3つ以上設けられてもよい。送信部は2つ設けられているが、3つ以上設けられてもよい。アンテナは2つ設けられているが、1つでもよいし、3つ以上設けられてもよい。 In the example of FIG. 2, two data acquisition units are provided, but three or more may be provided. Similarly, although two transmission buffer sections are provided, three or more may be provided. Although two transmitters are provided, three or more transmitters may be provided. Although two antennas are provided, one antenna or three or more antennas may be provided.

データ取得部101A、101Bはそれぞれセンサ1A、1Bに接続されている。センサ1Aは、アプリケーションAに提供するデータを出力する。センサ1Bは、アプリケーションBに提供するデータを出力する。図2の例ではセンサは2つであるが、3つ以上でもよい。 Data acquisition units 101A and 101B are connected to sensors 1A and 1B, respectively. Sensor 1A outputs data to be provided to application A. Sensor 1B outputs data to be provided to application B. In the example of FIG. 2, there are two sensors, but there may be three or more sensors.

複数のセンサの例は、カメラ、GPS、自動車の走行情報の検知センサ(LiDAR(Light Detecting And Ranging)、速度センサ、加速度センサなど)、自動車の制御情報(エンジン回転状態、アクセルの踏み込み状態など)の検出センサ、急ブレーキの検出センサ、障害物(落下物、前方車両)の検出センサなどを含む。センサは、時系列に一定間隔でデータを出力するものでも、イベントが発生したタイミングなど、特定のタイミングでデータを出力するものでもよい。センサの例は上記のものに限定されない。例えば、センサは、自動車の搭乗者等のユーザから操作部を介して入力されるデータを検出するものでもよい。 Examples of multiple sensors include cameras, GPS, sensors that detect vehicle driving information (LiDAR (Light Detecting And Ranging), speed sensors, acceleration sensors, etc.), and vehicle control information (engine rotation status, accelerator pedal depression status, etc.) detection sensor, sudden braking detection sensor, obstacle (falling object, vehicle in front) detection sensor, etc. The sensor may output data at regular intervals in chronological order, or may output data at specific timing, such as when an event occurs. Examples of sensors are not limited to those mentioned above. For example, the sensor may detect data input from a user such as a passenger of a car via an operation unit.

各センサから一定間隔又は特定のタイミングで出力されるデータが、各々1つのデータフローとなる。 Data output from each sensor at regular intervals or at a specific timing constitutes one data flow.

データ取得部101A、101Bは、センサ1A、1Bで検出されたデータを取得する。データ取得部101A、101Bは、取得したデータを、送信バッファ部102A、102Bに提供する。センサで検出されたデータは、例えばセンサの属性情報、検出時刻及びデータ本体を含む。 Data acquisition units 101A and 101B acquire data detected by 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, sensor attribute information, detection time, and data itself.

なお、データ取得部101A、101Bは、センサ1A、1Bから取得したデータに所定の演算(例えば平均値の計算)を行い、演算後のデータを送信バッファ部102A、102Bに提供してもよい。また、データ取得部101A、101Bは、2つ以上のセンサから取得したデータに基づき所定の演算(例えば四則演算)を行い、演算後のデータを送信バッファ部102A、102Bに提供してもよい。 Note that the data acquisition units 101A and 101B may perform a predetermined calculation (for example, calculation of an average value) on the data acquired from the sensors 1A and 1B, and provide the data after the calculation to the transmission buffer units 102A and 102B. Further, the data acquisition units 101A and 101B may perform predetermined calculations (for example, four arithmetic operations) based on data acquired from two or more sensors, and provide the data after the calculation to the transmission buffer units 102A and 102B.

送信バッファ部102A、102Bは、データ取得部101A、101Bからデータを受け取り、受け取ったデータを内部の記憶領域に格納する。すなわち、送信バッファ部102A、102Bは、データ取得部101A、101Bから取得したデータをバッファリングする。送信バッファ部102A、102Bは、データを受け取った順序を管理しており、受け取った順序でデータを出力する。送信バッファ部102A、102Bは、所定サイズの記憶領域を有する記憶装置であり、一例として、メモリ又はハードディスクなどの記録媒体により構成される。 The transmission buffer units 102A and 102B receive data from the data acquisition units 101A and 101B, and store the received data in internal storage areas. 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 data is received, and output the data in the order in which they are received. The transmission buffer sections 102A and 102B are storage devices having a storage area of a predetermined size, and are configured by a recording medium such as a memory or a hard disk, for example.

制御部104は、送信バッファ部102A、102Bからのデータの読み出し及び送信を制御する。制御部104は、アプリケーションの時間制約に応じて、送信バッファ部102A、102Bからデータの読み出しを制御する。また、制御部104は、送信部105AにおけるTCPの輻輳ウィンドウの値に応じた送信レートでデータを送信するように、送信バッファ部102Aからのデータ読み出しを制御する。また、制御部104は、送信部105Aにおけるデータの送信状況に応じて、送信部105Bから送信するデータを冗長化する。制御部104の動作の詳細は後述する。 The control unit 104 controls reading and transmission of data from the transmission buffer units 102A and 102B. The control unit 104 controls reading of data from the transmission buffer units 102A and 102B according to the time constraints of the application. Further, the control unit 104 controls data reading from the transmission buffer unit 102A so as to transmit data at a transmission rate according to the value of the TCP congestion window in the transmission unit 105A. Further, the control unit 104 makes the data transmitted from the transmitting unit 105B redundant, depending on the data transmission status in the transmitting unit 105A. Details of the operation of the control unit 104 will be described later.

送信処理部11は、制御部104の制御の下、送信バッファ部102A、102Bからデータを読み出し、読み出したデータを送信する。送信処理部11は、データフロー合成部103、送信部105A及び送信部105Bを備えている。送信バッファ部102Aから読み出して送信するデータは一例として受信装置20に送信する第1データ、送信バッファ部102Bから読み出して送信するデータは一例として受信装置20に送信する第2データに対応する。 The transmission processing section 11 reads data from the transmission buffer sections 102A and 102B under the control of the control section 104, and transmits the read data. The transmission processing section 11 includes a data flow synthesis section 103, a transmission section 105A, and a transmission section 105B. The data read from the transmission buffer section 102A and transmitted corresponds to, for example, first data transmitted to the receiving device 20, and the data read from the transmission buffer section 102B and transmitted corresponds to, for example, the second data transmitted to the receiving device 20.

データフロー合成部103は、制御部104の制御の下、送信バッファ部102A、102Bからデータを読み出す。データフロー合成部103は、読み出したデータを、データフロー制御プロトコル(DFCP:Data Flow Control Protocol)及びデータフロー多重化プロトコル(DFMP:Data Flow Multiplexing Protocol)に従って処理することによりDFMPパケットを生成する。以下、DFMPパケットを生成する動作の詳細を説明する。 The data flow synthesis section 103 reads data from the transmission buffer sections 102A and 102B under the control of the control section 104. The data flow synthesis unit 103 generates DFMP packets by processing the read data according to a data flow control protocol (DFCP) and a data flow multiplexing protocol (DFMP). The details of the operation for generating a DFMP packet will be described below.

まず、データフロー合成部103は、送信バッファ部(102A又は102B)から読み出したデータに、データフロー制御プロトコル(DFCP)のヘッダであるDFCPヘッダを付加することにより、DFCPパケットを生成する。より詳細には、送信バッファ部から読み出したデータに対して、シーケンス番号(ローカルシーケンス番号と呼ぶ)を付与する。ローカルシーケンス番号は、例えばDFCPパケットごとに一定値(例えば1)ずつ増加する番号である。また送信装置10の内部又は外部の時計から時刻(タイムスタンプ)を取得し、取得した時刻を、データ又はDFCPパケットの送信時刻とする。ローカルシーケンス番号と、送信時刻と、フローIDと、を含むDFCPヘッダを生成する。生成したDFCPヘッダを、送信バッファ部から読み出したデータに付加し、これにより、DFCPパケットを生成する。フローIDは、データフローを識別する識別子である。同じフローIDに対応するデータは、同じセンサから取得されたデータ、同じ送信バッファ部から読み出されたデータ、あるいは同じアプリケーションに提供するデータである。 First, the data flow synthesis unit 103 generates a DFCP packet by adding a DFCP header, which is a data flow control protocol (DFCP) header, to 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 section. The local sequence number is, for example, a number that increases by a constant value (for example, 1) for each DFCP packet. Further, a time (time stamp) is acquired from a clock inside or outside the transmitting device 10, and the acquired time is set as the transmission time of the data or DFCP packet. A DFCP header including a local sequence number, transmission time, and flow ID is generated. The generated DFCP header is added to the data read from the transmission buffer section, thereby generating a DFCP packet. The flow ID is an identifier that identifies a data flow. Data corresponding to the same flow ID is data acquired from the same sensor, data read from the same transmission buffer section, or data provided to the same application.

図3は、DFCPパケットのフォーマット例を示す。DFCPパケットは、DFCPヘッダとペイロード部とを含む。ペイロード部には、送信バッファ部から読み出されたデータが格納される。DFCPヘッダには、フローID、ローカルシーケンス番号、送信時刻等が含まれる。図のTS(タイムスタンプ)は、送信時刻を表す。DFCPヘッダには、その他のフィールドが含まれてもよい。例えば、DFCPパケットのペイロード部に含まれるデータの優先度に関する情報を含むフィールドがあってもよい。あるいは、ペイロード部に含まれるデータが、映像データなどのストリームデータなのか、イベントデータなどの非ストリームデータなのかを示すタイプフィールドがあってもよい。また、誤り検出用のチェックサムのフィールドがあってもよい。その他、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。 FIG. 3 shows an example format of a DFCP packet. A DFCP packet includes a DFCP header and a payload section. The payload section stores data read from the transmission buffer section. The DFCP header includes a flow ID, local sequence number, transmission time, etc. TS (time stamp) in the figure represents the transmission time. The DFCP header may include other fields. For example, there may be a field containing information regarding the priority of data included in the payload portion of the DFCP packet. Alternatively, there may be a type field indicating whether the data included in the payload section 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.

データフロー合成部103は、DFCPパケットに対してDFMPヘッダを付加することで、DFMPパケットを生成する。より詳細には、データフロー合成部103は、DFCPパケットに付与するシーケンス番号(グローバルシーケンス番号と呼ぶ)を決定する。グローバルシーケンス番号は、ローカルシーケンス番号とは独立したシーケンス番号である。データフロー合成部103は、データの読み出し元が送信バッファ部102A、102Bのいずれであるかに関わらず、DFCPパケットを生成するごとに、連続するシーケンス番号を決定する。DFMPのシーケンス番号は、例えば一定値(例えば1)ずつ増加する番号である。ローカルシーケンス番号はアプリケーションごとに独立したシーケンス番号であるが、グローバルシーケンス番号は複数のアプリケーションに共通のシーケンス番号である。複数のアプリケーション(すなわち複数のデータフロー)に対して共通のグローバルシーケンス番号を用いることにより、複数のデータフローを合成することが可能となる。 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 a DFCP packet. A global sequence number is a sequence number that is independent of local sequence numbers. The data flow synthesis unit 103 determines consecutive sequence numbers each time it generates a DFCP packet, regardless of whether the data is read from the transmission buffer unit 102A or 102B. The DFMP sequence number is, for example, a number that increases by a constant value (for example, 1). A local sequence number is a sequence number that is independent for each application, whereas a global sequence number is a sequence number that is common to multiple applications. By using a common global sequence number for multiple applications (ie, multiple data flows), it is possible to combine multiple data flows.

また、データフロー合成部103は、送信装置10の内部又は外部の時計から時刻(タイムスタンプ)を取得し、取得した時刻を、データ又はDFMPパケットの送信時刻とする。データフロー合成部103は、グローバルシーケンス番号と、送信時刻とを含むDFMPヘッダを生成し、DFMPヘッダをDFCPパケットに付加することにより、DFMPパケットとする。DFMPヘッダに含める送信時刻として、DFCPヘッダに含めた送信時刻と同じ時刻を用いてもよい。 Further, the data flow synthesis unit 103 acquires a time (time stamp) from a clock inside or outside the transmitting device 10, and sets 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 DFCP packet, thereby creating a DFMP packet. The same time as the transmission time included in the DFCP header may be used as the transmission time included in the DFMP header.

このように、データフロー合成部103は、送信バッファ部102A、102Bからデータを読み出すごとに、読み出したデータにローカルシーケンス番号を含むDFCPヘッダを付加し、さらにグローバルシーケンス番号を含むDFMPヘッダを付加する。これにより、DFMPパケットを生成する。 In this way, every time data is read from the transmission buffer units 102A and 102B, the data flow synthesis unit 103 adds a DFCP header including a local sequence number to the read data, and further adds a DFMP header including a global sequence number. . This generates a DFMP packet.

図4は、DFMPパケットのフォーマット例を示す。DFMPパケットは、DFMPヘッダとペイロード部とを含む。ペイロード部にはDFCPパケットが格納される。DFMPヘッダには、前述したように、グローバルシーケンス番号、送信時刻が含まれる。図のTSは、送信時刻を表す。DFMPヘッダには、その他のフィールドが含まれてもよい。例えば、バージョン、ヘッダ長、ペイロード長、リザーブなどのフィールドが含まれていてもよい。 FIG. 4 shows an example format of a DFMP packet. A DFMP packet includes a DFMP header and a payload section. A DFCP packet is stored in the payload section. As described above, the DFMP header includes the global sequence number and transmission time. TS in the figure represents the transmission time. The DFMP header may include other fields. For example, fields such as version, header length, payload length, and reserve may be included.

送信部105A、105Bは、通信ネットワーク30を介して、受信装置20と通信する。送信部105Aは輻輳制御アルゴリズムを有する通信プロトコルを用いて、受信装置20と通信する。以下、輻輳制御アルゴリズムを有する通信プロトコルにより行われる通信を、輻輳制御付き通信と称する。送信部105Bは輻輳制御アルゴリズムを有さない通信プロトコルを用いて、受信装置20と通信する。本実施形態では、送信部105AはTCPを用い、送信部105BはUDPを用いる場合を想定する。 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 using a communication protocol having a congestion control algorithm. Hereinafter, communication performed using a communication protocol having a congestion control algorithm will be referred to as communication with congestion control. The transmitter 105B communicates with the receiver 20 using a communication protocol that does not have a congestion control algorithm. In this embodiment, it is assumed that the transmitter 105A uses TCP and the transmitter 105B uses UDP.

データフロー合成部103は、生成したDFMPパケットを送信部105A又は送信部105Bに提供する。具体的には、データフロー合成部103は、送信バッファ部102Aから読み出したデータ(例えば高精細度地図生成用の時間制約が厳しくない優先度の低いデータ)に基づき生成したDFMPパケットを送信部105Aに提供する。送信バッファ部102Bから読み出したデータ(例えばリアルタイムの交通状況を通知する時間制約が厳しい優先度の高いデータ)に基づき生成したDFMPパケットを、送信部105Bに提供する。 The data flow synthesis unit 103 provides the generated DFMP packet to the transmission unit 105A or 105B. Specifically, the data flow synthesis unit 103 sends the DFMP packet generated based on the data read from the transmission buffer unit 102A (for example, low-priority data that does not have strict time constraints for high-definition map generation) to the transmission unit 105A. Provided to. A DFMP packet generated based on data read from the transmission buffer section 102B (for example, high priority data with strict time constraints for reporting real-time traffic conditions) is provided to the transmission section 105B.

送信部105A及び送信部105Bは、データフロー合成部103から提供されたDFMPパケットに、トランスポート層のヘッダ、ネットワーク層のヘッダ、データリンク層のヘッダを付加してデータリンク層パケットとする。本例では、送信部105Aはトランスポート層としてTCPを用い、送信部105BはUDPを用いる。トランスポート層にTCP又はUDP以外に、暗号化用のプロトコルがさらに含まれていてもよい。ネットワーク層は、一例として、IP(Internet Protocol)を含む。データリンク層は、一例として、イーサネット(登録商標)又はIEEE802.11のプロトコルを含む。なお、これらの層の全てが必須ではない。 The transmitting unit 105A and the transmitting unit 105B add a transport layer header, a network layer header, and a data link layer header to the DFMP packet provided from the data flow combining unit 103, thereby creating a data link layer packet. In this example, the transmitter 105A uses TCP as a transport layer, and the transmitter 105B uses UDP. The transport layer may further include an encryption protocol in addition to TCP or UDP. The network layer includes, for example, IP (Internet Protocol). The data link layer includes, for example, Ethernet (registered trademark) or IEEE802.11 protocols. Note that not all of these layers are essential.

図5は、データリンク層パケットのフォーマット例を示す。この例では、イーサーネットヘッダ、IPヘッダ、UDPヘッダ又はTCPヘッダ、DFMPヘッダ、DFCPヘッダ、ペイロード部、イーサネットFCS(Frame Check Sequence)を含む。ペイロード部には、センサで検出されたデータ(すなわち、DFCPパケットのペイロード部のデータ)が格納される。DFMP及びDFCPは、IP(インターネットプロトコル)よりも上位のプロトコルであり、かつ、UDP又はTCPよりも上位のプロトコルである。 FIG. 5 shows an example format of a data link layer packet. This example includes an Ethernet header, an IP header, a UDP header or TCP header, a DFMP header, a DFCP header, a payload section, and an Ethernet FCS (Frame Check Sequence). The payload section stores data detected by the sensor (that is, data of the payload section of the DFCP packet). DFMP and DFCP are higher-level protocols than IP (Internet Protocol) and higher-level protocols than UDP or TCP.

送信部105Aは、データフロー合成部103から提供されたデータリンク層パケットに物理層の処理を行い、物理層のヘッダを付加する。送信部105Aは、物理層のヘッダが付加されたパケットを、アンテナ107Aを介して送信する。より詳細には、送信部105Aは、当該パケットを変調及びDA変換してアナログ信号とし、所望帯域の信号の抽出、及び抽出した信号の無線周波数へのアップコンバートを行う。送信部105Aは、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107Aを介して送信する。送信部105Aは、トランスポート層、ネットワーク層、データリンク層及び物理層の少なくとも一方において、符号化を行ってもよい。送信部105Aから送信するパケットは一例として受信装置20に送信する第1データに対応する。 The transmitting unit 105A performs physical layer processing on the data link layer packet provided from the data flow combining unit 103, and adds a physical layer header. The transmitter 105A transmits the packet to which the physical layer header is added via the antenna 107A. More specifically, the transmitter 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 transmitter 105A amplifies the radio frequency signal using an amplifier, and transmits the amplified radio frequency signal via the antenna 107A. The transmitter 105A may perform encoding in at least one of the transport layer, network layer, data link layer, and physical layer. The packet transmitted from the transmitter 105A corresponds to first data transmitted to the receiving device 20, for example.

符号化に用いる符号の例として、消失訂正符号、及び消失訂正符号以外の誤り訂正符号がある。消失訂正符号の例は、RS符号、レートレス符号、BCH符号、噴水符号、Tornado符号、LT(Luby Transform)符号、Raptor符号、RaptorQ符号、Zigzag decodable code、ZD噴水符号またはXOR符号などを含む。消失訂正符号以外の誤り訂正符号の例は、畳み込み符号、ターボ符号、LDPC符号、Polar符号などを含む。 Examples of codes used for encoding include erasure correction codes and error correction codes other than erasure correction codes. Examples of erasure correction codes include RS codes, rateless codes, BCH codes, fountain codes, Tornado codes, LT (Luby Transform) codes, Raptor codes, RaptorQ codes, Zigzag decodable codes, ZD fountain codes, or XOR codes. Examples of error correction codes other than erasure correction codes include convolutional codes, turbo codes, LDPC codes, Polar codes, and the like.

送信部105Bは、データフロー合成部103から提供されたデータリンク層パケットに物理層の処理を行い、物理層のパケットを生成する。送信部105Bは、物理層のパケットを、アンテナ107Bを介して送信する。より詳細には、送信部105Bは、当該パケットを変調及びDA変換してアナログ信号とし、所望帯域の信号の抽出、及び抽出した信号の無線周波数へのアップコンバートを行う。送信部105Bは、無線周波数の信号をアンプで増幅等し、増幅された無線周波数の信号を、アンテナ107Bを介して送信する。送信部105Bは、トランスポート層、ネットワーク層、データリンク層及び物理層の少なくとも1つにおいて符号化を行ってもよい。符号化に用いる符号の例は、送信部105Aの場合と同様である。送信部105Bから送信するパケットは一例として受信装置20に送信する第2データに対応する。 The transmitting unit 105B performs physical layer processing on the data link layer packet provided from the data flow combining unit 103, and generates a physical layer packet. The transmitter 105B transmits the physical layer packet via the antenna 107B. More specifically, the transmitter 105B modulates and 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 transmitter 105B amplifies the radio frequency signal using an amplifier, and transmits the amplified radio frequency signal via the antenna 107B. The transmitter 105B may perform encoding in at least one of a transport layer, a network layer, a data link layer, and a physical layer. Examples of codes used for encoding are the same as in the case of the transmitter 105A. The packet transmitted from the transmitter 105B corresponds to the second data transmitted to the receiving device 20, for example.

情報通信部106は、受信装置20からDFMPパケット又はDFCPパケットの受信に関するフィードバック情報を含む応答パケットを受信する。フィードバック情報は、例えばDFMPメッセージ又はDFCPメッセージである。フィードバック情報の例として、DFMPパケットの通信品質情報又はDFCPパケットの再送要求などがある。 The information communication unit 106 receives a response packet containing feedback information regarding reception of the DFMP packet or DFCP packet from the receiving device 20. The feedback information is, for example, a DFMP message or a DFCP message. Examples of feedback information include communication quality information of DFMP packets or retransmission requests of DFCP packets.

制御部104は、情報通信部106からフィードバック情報を受け取り、フィードバック情報に基づき、送信バッファ部102A、102Bからのデータ読み出しを制御する。一例としてDFCPパケットの再送要求を受信した場合は、再送要求されたローカルシーケンス番号に係るデータの読み出しを行い、同一のローカルシーケンス番号のDFCPパケットの再送を行う。またDFMPパケットの通信品質情報として通信品質が低い(例えばパケットロス率が閾値以上、パケット到着の遅延時間の揺らぎが閾値以上など)との通知を受信した場合、優先度の低いアプリケーションのデータの送信レートを下げる制御を行ってもよい。 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. For example, when a DFCP packet retransmission request is received, data related to the local sequence number requested for retransmission is read, and the DFCP packet with the same local sequence number is retransmitted. In addition, if a notification is received that the communication quality is low as communication quality information of DFMP packets (for example, the packet loss rate is above a threshold, the fluctuation of packet arrival delay time is above a threshold, etc.), data of a low priority application is sent. Control may be performed to lower the rate.

図6は、データフロー合成部103において行われるデータフロー合成の具体例を示す図である。送信バッファ部102Aには、アプリケーションAに関するデータとしてデータ3~6がこの順で格納されている。アプリケーションAのフローIDは“1”であるとする。アプリケーションAのデータは、送信部105AにおけるTCPの輻輳制御(例えば輻輳ウィンドウ)に応じた送信レートで送信される。 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 section 102A as data related to application A in this order. It is assumed that the flow ID of application A is "1". The data of application A is transmitted at a transmission rate according to TCP congestion control (for example, congestion window) in the transmitter 105A.

送信バッファ部102Bには、アプリケーションBに関するデータとして、データ53、52、54がこの順で格納されている。アプリケーションBのフローIDは“2”であるとする。アプリケーションBのデータは、例えば一定の送信レートで送信される。 Data 53, 52, and 54 are stored in the transmission buffer unit 102B as data related to application B in this order. It is assumed that the flow ID of application B is "2". Application B data is transmitted, for example, at a constant transmission rate.

データフロー合成部103は、送信バッファ部102A、102Bからそれぞれの送信レートに応じてデータを読み出す。データフロー合成部103は、データを読み出した順に、読み出したデータにアプリケーションごとのフローIDを含むDFCPヘッダを付加して、DFCPパケットとする。そして、さらにグローバルシーケンス番号を含むDFMPヘッダを付加して、DFMPパケットとする。DFCPヘッダのローカルシーケンス番号はフローIDごと(すなわちアプリケーションごと)に連続している。DFMPヘッダのグローバルシーケンス番号はフローIDに関係なく、生成されるDFMPパケットごとに連続している。 Data flow synthesis section 103 reads data from transmission buffer sections 102A and 102B according to their respective transmission rates. The data flow synthesis unit 103 adds a DFCP header including a flow ID for each application to the read data in the order in which the data is read out, thereby creating a DFCP packet. Then, a DFMP header including a global sequence number is added to form a DFMP packet. The local sequence numbers of the DFCP header are consecutive for each flow ID (ie, for each application). The global sequence number of the DFMP header is continuous for each generated DFMP packet, regardless of the flow ID.

図の例では、「FID:1」が入っているDFCPヘッダは、フローIDが1のDFCPヘッダであり、「FID:2」が入っているDFCPヘッダは、フローIDが2のDFCPヘッダである。「Seq:XXX」はDFMPヘッダのグローバルシーケンス番号がXXXであることを意味している。DFCPヘッダのローカルシーケンス番号の図示は省略している。その他、DFCPヘッダ及びDFMPヘッダの少なくとも一方にタイムスタンプ等が入っていてもよい。 In the example in the figure, the DFCP header containing "FID:1" is the DFCP header with flow ID 1, and the DFCP header containing "FID:2" is the DFCP header with flow ID 2. . "Seq: XXX" means that the global sequence number of the DFMP header is XXX. The illustration of the local sequence number of the DFCP header is omitted. Additionally, a timestamp or the like may be included in at least one of the DFCP header and DFMP header.

グローバルシーケンス番号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に送信する。 When the DFMP packet with the global sequence number XXX is written as DFMP packet XXX, the data flow synthesis unit 103 outputs DFMP packet 001, DFMP packet 002, DFMP packet 003, and DFMP packet 004 in this order. DFMP packet 001 includes data 1 read from transmission buffer section 102A, and is sent to transmission section 105A. The DFMP packet 002 includes data 51 read from the transmission buffer section 102B, and is sent to the transmission section 105B. DFMP packet 003 includes data 2 read from transmission buffer section 102A, and is sent to transmission section 105A. The DFMP packet 004 includes data 52 read from the transmission buffer section 102B, and is sent to the transmission section 105B. The transmitting unit 105A adds various headers and the like to each DFMP packet input from the data flow combining unit 103 to form a physical layer packet, and transmits the packet to the receiving device 20 via the antenna 107A. The transmitting unit 105B adds various headers and the like to each DFMP packet input from the data flow combining unit 103 to form a physical layer packet, and transmits the packet to the receiving device 20 via the antenna 107B.

図7は、受信装置20のブロック図である。受信装置20は、データ処理部(アプリケーション)201A、201B、受信バッファ部202A、202B、データフロー分離部203、受信部205A、205B、情報通信部206及びアンテナ207A、207Bを備えている。受信装置20は、本実施形態に係る無線通信装置又は通信装置の一例に相当する。本実施形態では受信装置20は無線通信を行うが、有線通信を行う構成も排除されない。 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, a data flow separation unit 203, receiving units 205A and 205B, an information communication unit 206, and antennas 207A and 207B. The receiving device 20 corresponds to an example of a wireless communication device or a communication device according to this embodiment. In this embodiment, the receiving device 20 performs wireless communication, but a configuration in which wired communication is performed is not excluded.

図7の例では、データ処理部は2つであるが、3つ以上でもよい。同様に受信バッファ部は2つであるが、3つ以上でもよい。また、受信部は2つであるが、3つ以上でもよい。 In the example of FIG. 7, there are two data processing units, but there may be three or more. Similarly, there are two reception buffer sections, but there may be three or more. Further, although there are two receiving sections, there may be three or more receiving sections.

受信部205A、205Bは、通信ネットワーク30を介して、送信装置10から送信されたDFMPパケットを受信する。より詳細には、受信部205A、205Bは、アンテナ207A、207Bを介して無線信号を受信し、受信した信号を増幅し、ベースバンド周波数へダウンコンバートする。ダウンコンバートされた信号から所望帯域の信号を抽出し、抽出した信号をAD変換する。AD変換により得たデジタル信号を復調する。受信部205A、205Bは、復調されたパケット(物理層のパケット)に対して各種ヘッダの処理及び除去を行って、DFMPパケットを取得する。受信部205A、205Bは、取得したDFMPパケットをデータフロー分離部203に提供する。 The receiving units 205A and 205B receive the DFMP packet transmitted from the transmitting device 10 via the communication network 30. More specifically, receiving units 205A and 205B receive radio signals via antennas 207A and 207B, amplify the received signals, and down-convert them to a baseband frequency. A signal in a desired band is extracted from the down-converted signal, and the extracted signal is AD converted. Demodulates the digital signal obtained by AD conversion. The receiving units 205A and 205B process and remove various headers from the demodulated packets (physical layer packets) to obtain DFMP packets. The receiving units 205A and 205B provide the acquired DFMP packets to the data flow separation unit 203.

データフロー分離部203は、DFMPパケットのヘッダに基づき、パケットロスの検出を行う。データフロー分離部203は、DFMPパケットのヘッダに含まれるグローバルシーケンス番号に基づき、欠損しているグローバルシーケンス番号を特定する。例えば、グローバルシーケンス番号001、003、004、005を検出したが、002のグローバルシーケンス番号を一定期間の間に検出しない場合、グローバルシーケンス番号002を欠損しているグローバルシーケンス番号とする。この場合、データフロー分離部203は、グローバルシーケンス番号002のDFMPパケットのパケットロスが発生したと判断する。 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 global sequence numbers 001, 003, 004, and 005 are detected, but global sequence number 002 is not detected for a certain period of time, global sequence number 002 is set as the missing global sequence number. In this case, the data flow separation unit 203 determines that a packet loss of the DFMP packet with global sequence number 002 has occurred.

なお、パケットロスは、DFMPパケットが通信ネットワーク30の経路の途中で消失して受信装置20に届かなかった場合の他、DFMPの下位層のプロトコルで誤り検出された場合、又は誤り訂正でパケットが回復できなかった場合も含む。なお、下位層のプロトコルが自動再送制御を備えており、再送によりパケットが正しく受信された場合は、パケットロスとは見なされない。 Note that packet loss occurs when a DFMP packet is lost during the route of the communication network 30 and does not reach the receiving device 20, when an error is detected in a lower layer protocol of DFMP, or when a packet is lost due to error correction. This includes cases where recovery is not possible. Note that if the lower layer protocol has automatic retransmission control and the packet is correctly received by retransmission, it will not be considered a packet loss.

データフロー分離部203は、DFMPパケットの受信状況に基づき、DFMPパケットの通信品質情報を生成する。一例として、DFMPパケットのパケットロス率又はパケット到着の時間遅延の揺らぎ情報を計算する。情報通信部206は、DFMPパケットの通信品質情報を含むフィードバック情報を含む応答パケットを、通信ネットワーク30を介して送信装置10に送信する。フィードバック情報の送信に用いる通信プロトコルは、5Gモバイル通信規格、4Gモバイル通信規格、無線LAN規格、その他の通信規格など、何でもよい。 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 packet loss rate of DFMP packets or the fluctuation information of packet arrival time delay is calculated. The information communication unit 206 transmits a response packet including feedback information including communication quality information of the DFMP packet to the transmitting device 10 via the communication network 30. Any communication protocol used for transmitting the feedback information may be used, such as a 5G mobile communication standard, a 4G mobile communication standard, a wireless LAN standard, or another communication standard.

データフロー分離部203は、DFMPパケットからDFMPヘッダを除去することにより、DFCPパケットを取得する。データフロー分離部203は、DFCPパケットのヘッダに含まれるフローIDに基づき、DFCPパケットのペイロードに含まれるデータを渡すべきアプリケーションを特定する。データフロー分離部203は、特定したアプリケーションに対応する受信バッファ部202に、DFCPパケットのペイロードに含まれるデータを提供する。 The data flow separation unit 203 obtains a DFCP packet by removing the DFMP header from the DFMP packet. The data flow separation unit 203 identifies an application to which data included in the payload of the DFCP packet should be delivered based on the flow ID included in the header of the DFCP packet. The data flow separation unit 203 provides the data included in the payload of the DFCP packet to the reception buffer unit 202 corresponding to the specified application.

また、データフロー分離部203は、DFCPヘッダのローカルシーケンス番号を検査する。欠損しているローカルシーケンス番号があるときは、データフロー分離部203は、当該ローカルシーケンス番号を対象とするDFCPパケットの再送要求を生成する。また、DFCPヘッダにチェックサムが入っている場合に、DFCPパケットの誤り検出処理を行い、誤りが検出された場合に、DFCPパケットの再送要求を生成してもよい。情報通信部206は、生成された再送要求をフィードバック情報として含む応答パケットを、通信ネットワーク30を介して送信装置10に送信する。なお、DFCPパケットのペイロードのデータが、データの完全性を要求しないタイプのデータの場合は、再送要求を送信しない構成も可能である。 The data flow separation unit 203 also inspects the local sequence number of the DFCP header. When there is a missing local sequence number, the data flow separation unit 203 generates a retransmission request for the DFCP packet targeting the local sequence number. Furthermore, when a checksum is included in the DFCP header, error detection processing may be performed on the DFCP packet, and when an error is detected, a retransmission request for the DFCP packet may be generated. The information communication unit 206 transmits a response packet containing the generated retransmission request as feedback information to the transmitting device 10 via the communication network 30. Note that if the data in the payload of the DFCP packet is of a type that does not require data integrity, a configuration in which a retransmission request is not sent is also possible.

受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータを内部の記憶領域に格納する。すなわち、受信バッファ部202A、202Bは、データフロー分離部203から提供されたデータをバッファリングする。受信バッファ部202A、202Bは、バッファリングしているデータを、データフロー分離部203から受け取った順序で出力する。出力するデータの種類に応じて、受信バッファ部からデータを出力する方式が異なってもよい。一例として、受信バッファ部202A、202Bは、データ処理部201A、201Bからの要求に応じてデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、データが入力されると直ちにデータを出力してもよい。あるいは、受信バッファ部202A、202Bは、バッファリングしているデータを一定の時間間隔で出力してもよい。受信バッファ部202A、202Bは、所定サイズの記憶領域を有する記憶装置である。受信バッファ部202A、202Bは、一例として、メモリ又はハードディスクなどの記録媒体により構成される。 The reception buffer units 202A and 202B store the data provided from the data flow separation unit 203 in internal storage areas. That is, the reception buffer units 202A and 202B buffer the data provided from 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. Depending on the type of data to be output, the method for outputting data from the reception buffer section may be different. As an example, the reception buffer sections 202A and 202B may output data in response to a request from the data processing sections 201A and 201B. Alternatively, the reception buffer sections 202A and 202B may output data immediately after receiving the data. Alternatively, the reception buffer units 202A and 202B may output the buffered data at regular time intervals. The reception buffer sections 202A and 202B are storage devices having a storage area of a predetermined size. The reception buffer units 202A and 202B are configured, for example, by a recording medium such as a memory or a hard disk.

データ処理部201A、201Bは、各々アプリケーションを実行することにより、受信バッファ部202A、202Bから提供されたデータを処理するアプリケーション実行部である。一例として、データ処理部201Aは、アプリケーションAとCPUとを備えており、CPUがアプリケーションAを実行する。データ処理部201Bは、一例としてアプリケーションBとCPUとを備えており、CPUがアプリケーションBを実行する。アプリケーションの例として、高精細度地図の生成、エンジン制御の最適化モデルの生成、道路安全情報の生成などがあるが、これらは一例に過ぎず、他にも様々なアプリケーションがある。 The data processing units 201A and 201B are application execution units that process data provided from the reception buffer units 202A and 202B by respectively executing applications. As an example, 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, for example, an application B and a CPU, and the CPU executes the application B. Examples of applications include generation of high-definition maps, generation of optimization models for engine control, and generation of road safety information, but these are just examples; there are many other applications.

ここで送信装置10における送信部105Aで行われるTCPの輻輳制御について説明する。輻輳制御アルゴリズムにはパケットロスに基づくもの、遅延に基づくもの、およびその組み合わせに依るものがあるが、ここではパケットロスに基づく輻輳制御アルゴリズムを例とする。TCPの輻輳制御では、スロースタートとして通信開始時には輻輳ウィンドウを小さい値に設定し、パケットを送信する。輻輳ウィンドウは連続して送信可能なパケットの個数を定めている。例えば輻輳ウィンドウの値がXであれば、X個のパケットを送信する。送信部105Aは、受信先からACKを受信すると、輻輳ウィンドウを徐々に広げていき、送信可能なパケット数を増やしていく。これにより、通信ネットワーク30の帯域に余裕がある場合は、徐々に送信レートを高くしていくことができ、ベストエフォートの通信を実現する。通信ネットワーク30の使用帯域幅(実効帯域)が上限に達し、通信ネットワーク30の帯域に余裕がなくなるとパケットロスが発生する。パケットロスが検出された場合に、TCPは輻輳ウィンドウを減少させ、パケットの送信レートを下げていく。ロスしたパケットについては再送を行う。パケットロスが発生すると、TCPと同時に行われている送信部105Bの通信(本例ではUDP通信)でも、パケットロスが発生し、通信の品質が低くなる可能性がある。特に、送信部105Bで優先度の高いデータの通信を行っている場合には、パケットロスを抑制し、通信の品質を劣化させないことが必要である。制御部104は、送信部105Aの輻輳制御に起因して送信部105Bの通信の品質が低下することを抑制する動作を行う。 Here, TCP congestion control performed by the transmitter 105A in the transmitter 10 will be described. Congestion control algorithms include those based on packet loss, those based on delay, and those based on a combination thereof; here, a congestion control algorithm based on packet loss will be taken as an example. In TCP congestion control, a 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 consecutively. For example, if the congestion window value is X, then X packets are transmitted. When the transmitting unit 105A receives an ACK from the receiving destination, the transmitting unit 105A gradually widens the congestion window and increases the number of transmittable packets. As a result, if the communication network 30 has sufficient bandwidth, the transmission rate can be gradually increased, achieving best effort communication. When the usage bandwidth (effective bandwidth) of the communication network 30 reaches its upper limit and there is no more bandwidth available in the communication network 30, packet loss occurs. When a packet loss is detected, TCP decreases the congestion window and lowers the packet transmission rate. Lost packets are retransmitted. When a packet loss occurs, a packet loss may occur even in the communication (UDP communication in this example) of the transmitter 105B that is being performed simultaneously with TCP, and the quality of communication may deteriorate. In particular, when the transmitter 105B is communicating high-priority data, it is necessary to suppress packet loss and prevent the quality of communication from deteriorating. The control unit 104 performs an operation to suppress deterioration in communication quality of the transmitting unit 105B due to congestion control of the transmitting unit 105A.

具体的には、制御部104は、送信部105Aにおけるパケット(例えばTCPパケット)の送信状況を監視し、送信状況に応じて、送信部105Bから送信するパケットを冗長化する。例えば、制御部104は、送信部105Aにおけるパケットの送信頻度(例えば送信レート)を監視し、送信レートに応じて、送信部105Bから送信するパケットの冗長度を制御する。すなわち、制御部104は、送信部105Aにおけるパケットの送信レートの上昇に応じて、送信部105Bから送信するパケットの冗長度を高くする。送信部105Aの送信レートが上昇した場合(例えば輻輳ウィンドウが拡大した場合)、今後、送信部105Bの通信でパケットロスが発生し、通信の品質が低下することが予見される。そこで、送信部105Bから送信するパケットの冗長度を予め高くしておくことで、今後パケットロスが発生しても、データが正しく受信装置20で受信される可能性を高くする。送信レートが閾値以上になった場合に、パケットの冗長度を高くしてもよい。冗長度は、閾値に関連付けて事前に定めておく。閾値を複数設け、段階的に冗長度を変更してもよい。制御部104は、送信部105Aにおけるパケットの送信頻度が低い場合は、送信部105Bにおけるパケットの冗長化を行わない(冗長度を高めない)ことを決定してもよい。 Specifically, the control unit 104 monitors the transmission status of packets (eg, TCP packets) in the transmission unit 105A, and makes the packets transmitted from the transmission unit 105B redundant depending on the transmission status. For example, the control unit 104 monitors the transmission frequency (for example, transmission rate) of packets in the transmission unit 105A, and controls the redundancy of packets 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 transmitting unit 105B in accordance with the increase in the packet transmission rate at the transmitting unit 105A. When the transmission rate of the transmitter 105A increases (for example, when the congestion window expands), it is predicted that packet loss will occur in the communication of the transmitter 105B in the future, and the quality of communication will deteriorate. Therefore, by increasing the redundancy of the packets transmitted from the transmitting unit 105B in advance, the possibility that data will be correctly received by the receiving device 20 is increased even if a packet loss occurs in the future. When the transmission rate exceeds a threshold value, the redundancy of the packet may be increased. The degree of redundancy is determined in advance in association with a threshold value. A plurality of threshold values may be provided and the redundancy may be changed in stages. If the transmission frequency of packets in the transmitter 105A is low, the control unit 104 may decide not to perform packet redundancy in the transmitter 105B (not to increase redundancy).

制御部104は、送信部105Aにおける送信レート又は送信頻度を表す値として、TCPの輻輳ウィンドウの値を用いてもよい。この場合、制御部104は、送信部105Aから輻輳ウィンドウの値を取得する。輻輳ウィンドウの値の取得は一定時間間隔でもよいし、輻輳ウィンドウの値が変更されるごとに取得してもよい。制御部104は、輻輳ウィンドウの値が大きいほど、冗長度を高くしてもよい。輻輳ウィンドウの値が閾値以上になった場合に、冗長度を高くしてもよい。この場合、冗長度は、閾値に関連付けて事前に定めておく。閾値を複数設け、段階的に冗長度を変更してもよい。 The control unit 104 may use the TCP congestion window value as the value representing the transmission rate or transmission frequency in the transmission unit 105A. In this case, the control unit 104 obtains the congestion window value from the transmitting unit 105A. The congestion window value may be acquired at fixed time intervals, or may be acquired every time the congestion window value is changed. The control unit 104 may increase the redundancy as the congestion window value increases. The redundancy level may be increased when the congestion window value exceeds a threshold value. In this case, the degree of redundancy is determined in advance in association with the threshold value. A plurality of threshold values may be provided and the redundancy may be changed in stages.

制御部104は、TCPより下位のプロトコル層において送信頻度(例えば送信レート)を測定している場合には、当該下位のプロトコル層から送信頻度の値を取得し、TCPのパケットの送信頻度の代わりに、取得した送信頻度を用いてもよい。例えばデータリンク層でMACフレームの送信頻度を測定している場合に、MACフレームの送信頻度を用いてもよい。 When the control unit 104 measures the transmission frequency (for example, transmission rate) in a protocol layer lower than TCP, the controller 104 acquires the transmission frequency value from the lower protocol layer and uses it as a substitute for the TCP packet transmission frequency. Alternatively, the acquired transmission frequency may be used. For example, when measuring the MAC frame transmission frequency in the data link layer, the MAC frame transmission frequency may be used.

制御部104は、送信部105Bの通信が、送信部105Aよりも先に開始されている場合に、送信部105Aの通信(例えばTCP通信)の開始を検知した時点、すなわち輻輳制御の開始を検知した時点で、送信部105Bから送信するパケットの冗長度を高くしてもよい。例えば、通信の開始を検知した後、冗長度を一定の傾きで上昇させ、一定時間経過後又は冗長度が所定値に達した後は、冗長度を一定としてもよい。これによりパケットを早期に冗長化することができ、送信部105Bの通信品質の低下をより確実に抑制できる。 When the communication of the transmitter 105B is started before that of the transmitter 105A, the control unit 104 detects the start of the communication (for example, TCP communication) of the transmitter 105A, that is, the start of congestion control. At this point, the redundancy of the packet transmitted from the transmitter 105B may be increased. For example, after detecting the start of communication, the redundancy level may be increased at a constant slope, and after a certain period of time has elapsed or the redundancy level has reached a predetermined value, the redundancy level may be kept constant. Thereby, packets can be made redundant at an early stage, and deterioration in communication quality of the transmitter 105B can be more reliably suppressed.

パケットの冗長度を高くする方法として、同じデータ(同じローカルシーケンス番号のDFCPパケット)を繰り返し送信してもよい。すなわち同じデータを複数回送信する。一部のパケットがロスしても、他のパケットが無事届けば、受信装置20でデータを正しく取得できるため、通信の品質の低下を抑制できる。冗長度を、冗長化後の送信パケット数と冗長化前の送信パケット数の比と定義した場合、冗長度が2であれば、すべてのデータ(DFCPパケット)をそれぞれ2回送信し、冗長度が1.5であれば、2つに1個の割合で、同じデータを2回送信する。同じデータを複数回送信する際、同じデータを含む各DFCPパケットで、互いに異なるグローバルシーケンス番号を用いるとする。但し、各DFCPパケットに対して同じ値のグローバルシーケンス番号を用いることも排除されない。 As a method of increasing packet redundancy, the same data (DFCP packets with the same local sequence number) may be repeatedly transmitted. In other words, the same data is transmitted multiple times. Even if some packets are lost, as long as other packets are successfully delivered, the receiving device 20 can correctly acquire the data, so deterioration in communication quality can be suppressed. If redundancy is defined as the ratio of the number of transmitted packets after redundancy to the number of transmitted packets before redundancy, if the redundancy is 2, all data (DFCP packets) are transmitted twice, and the redundancy is If is 1.5, the same data will be transmitted twice at a rate of one out of every two. When transmitting the same data multiple times, assume that each DFCP packet containing the same data uses a different global sequence number. However, it is not excluded to use the same global sequence number for each DFCP packet.

図8は、冗長化の具体例を示す。データフロー合成部103が送信部105Bに提供するパケットを冗長化する例を示す。図の例では、データフロー合成部103がデータ52を送信バッファ部102Bから読み出し、データ52をコピーする。データ52を含むDFCPパケットと、コピーしたデータを含むDFCPパケットとを生成する。各DFCPパケットのローカルシーケンス番号は同じ005である。ここではデータ52をコピーしたが、データ52を含むDFCPパケットを生成した後、DFCPパケットをコピーしてもよい。 FIG. 8 shows a specific example of redundancy. An example will be shown in which the data flow synthesis unit 103 makes redundant packets provided to the transmission unit 105B. In the illustrated example, the data flow synthesis unit 103 reads data 52 from the transmission buffer unit 102B and copies the data 52. A DFCP packet containing the data 52 and a DFCP packet containing the copied data are generated. The local sequence number of each DFCP packet is the same 005. Although the data 52 is copied here, the DFCP packet may be copied after the DFCP packet including the data 52 is generated.

データフロー合成部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に正しく受信されることで、パケットロスによる通信品質の低下を補償することができる。 The data flow synthesis unit 103 determines mutually different global sequence numbers 007 and 008 for each DFCP packet, and adds a DFMP header including the global sequence number 007 to one DFCP packet to form a DFMP packet 007. Similarly, a DFMP header including global sequence number 008 is added to the other DFCP packet to form DFMP packet 008. The DFMP packets 007 and 008 are provided to the communication unit 108B. The transmitting unit 105B performs transport layer, IP layer, data link layer, and physical layer processing on the DFMP packets 007 and 008, respectively, to generate radio frequency signals, and transmits the generated signals via the respective antennas. do. Even if one of the two transmitted DFMP packets suffers a packet loss, the other DFMP packet is correctly received by the receiving device 20, thereby compensating for the deterioration in communication quality due to the packet loss. Can be done.

図8の例では、同じデータを複数回送信する際、データをすべて送信部105Bから送信しているが、一部のデータを送信部105Bから送信し、残りの一部のデータを他の送信部から送信してもよい。この際、送信部105Bがモバイル回線を用い、他の送信部がモバイル回線とは異なる通信方式、例えば無線LANを用いるなど、異なる通信方式を用いることも可能である。受信装置20側でも、当該他の送信部に対応する受信部を備えている必要がある。 In the example of FIG. 8, when transmitting the same data multiple times, all the data is transmitted from the transmitter 105B, but some data is transmitted from the transmitter 105B, and the remaining part of the data is sent to other transmitters. It may also be sent by the department. At this time, it is also possible to use different communication methods, such as the transmitter 105B using a mobile line and the other transmitters using a different communication method than the mobile line, for example, using a wireless LAN. The receiving device 20 side also needs to include a receiving section corresponding to the other transmitting section.

パケットの冗長度を変更する方法は、データを送信する回数を変更することに限定されない。例えば送信部105Bにおいてパケットを消失訂正符号化している場合に、消失訂正符号の符号化率を変更してもよい。例えば、送信部105Aにおけるパケットの送信レートが高くなった場合には、送信部105Bにおける符号化率を小さくしてもよい。すなわち、消失訂正符号化により生成する冗長パケット(又はパリティパケット)の個数を多くする。生成した冗長パケットのうち、符号化率に応じた規定個数以上の冗長パケットが受信装置20に届けば、受信装置20でパケットを正しく復号できるため、冗長化によりデータを受信装置20に正しく届けることができる。消失訂正符号化を行うプロトコル層は、トランスポート層、IP層、データリンク層及び物理層のいずれでもよい。あるいは、DFMP及びDFCPの少なくとも一方で消失訂正符号化を行うことや、アプリケーション層で消失訂正符号化を行うことも排除されない。畳み込み符号等の誤り訂正符号の符号化を行っている場合には、当該誤り訂正符号の符号化率を変更することも可能である。 The method of changing the redundancy of a packet is not limited to changing the number of times data is transmitted. For example, when a packet is subjected to erasure correction coding in the transmitter 105B, the coding rate of the erasure correction code may be changed. For example, when the packet transmission rate in the transmitter 105A increases, the encoding rate in the transmitter 105B may be reduced. That is, the number of redundant packets (or parity packets) generated by erasure correction coding is increased. Among the generated redundant packets, if a predetermined number or more of redundant packets according to the coding rate reach the receiving device 20, the receiving device 20 can correctly decode the packets, so that data can be correctly delivered to the receiving device 20 by redundancy. Can be done. The protocol layer that performs erasure correction coding may be any of the transport layer, IP layer, data link layer, and physical layer. Alternatively, it is not excluded to perform erasure correction coding on at least one of DFMP and DFCP, or to perform erasure correction coding on the application layer. When encoding an error correction code such as a convolutional code, it is also possible to change the coding rate of the error correction code.

パケットを冗長化した場合、受信装置20の受信部205B又はデータフロー分離部203では、冗長化されたパケットから元のパケット又は元のデータを復元し、復元したデータを出力する。復元の方法は、パケットの冗長化の方式に応じたものを用いればよい。 When a packet is made redundant, the receiving unit 205B or data flow separation unit 203 of the receiving device 20 restores the original packet or original data from the redundant packet and outputs the restored data. As for the restoration method, a method suitable for the packet redundancy method may be used.

図9は、本実施形態に係る送信装置10の送信部105Bから送信するパケットの冗長度の制御に関わる動作の一例のフローチャートである。制御部104は、送信部105Aによる輻輳制御付き通信(第1通信)におけるパケットの送信状況を監視する(S101)。例えばパケットの送信頻度を監視し、送信部105AからTCPの輻輳ウィンドウの値を取得する。 FIG. 9 is a flowchart of an example of an operation related to controlling the redundancy of a packet transmitted from the transmitter 105B of the transmitter 10 according to the present embodiment. The control unit 104 monitors the packet transmission status in the congestion-controlled communication (first communication) by the transmitting unit 105A (S101). For example, the packet transmission frequency is monitored and the TCP congestion window value is acquired from the transmitter 105A.

制御部104は、送信部105Aにおけるパケットの送信状況(例えば監視しているパケットの送信頻度)に応じて、送信部105Bの通信(第2通信)におけるパケットの冗長度を決定する(S102)。一例として、輻輳ウィンドウの値が大きいほど、高い冗長度を決定する。また、輻輳ウィンドウの値が小さいほど、低い冗長度を決定する。制御部104は、送信部105Aによる第1通信が開始されたことを検知した時点で、パケットの冗長度を高くすることを決定してもよい。制御部104は、送信部105Aにおけるパケットの送信頻度が低い場合は、送信部105Bにおけるパケットの冗長化を行わない(冗長度を高めない)ことを決定してもよい。制御部104は、第1通信が終了したことを検知した場合に、パケットの冗長化を停止することを決定してもよい。制御部104は、決定した冗長度で、DFCPパケットを生成するよう、データフロー合成部103に指示情報を出力する(同S102)。 The control unit 104 determines the redundancy of packets in the communication (second communication) of the transmitter 105B according to the packet transmission status (for example, the frequency of packet transmission being monitored) in the transmitter 105A (S102). As an example, a larger value of the congestion window determines a higher degree of redundancy. Furthermore, the smaller the congestion window value, the lower the redundancy is determined. The control unit 104 may decide to increase the redundancy of the packet at the time when it is detected that the first communication by the transmitting unit 105A has started. If the transmission frequency of packets in the transmitter 105A is low, the control unit 104 may decide not to perform packet redundancy in the transmitter 105B (not to increase redundancy). The control unit 104 may decide to stop packet redundancy when detecting that the first communication has ended. The control unit 104 outputs instruction information to the data flow synthesis unit 103 to generate a DFCP packet with the determined redundancy (S102).

データフロー合成部103は、制御部104から受けた指示情報に従って、DFCPパケットを冗長化する(S103)。例えば冗長度が2の場合、送信バッファ部102Bからデータを読み出すごとに、当該データを含むDFCPパケット(同じローカルシーケンス番号のDFCPパケット)を2つ生成する。データフロー合成部103は、各DFCPパケットにDFMPヘッダを付加してDFMPパケットとし、DFMPパケットを送信部105Bに提供する(同S103)。送信部105Bはデータフロー合成部103から提供されるDFMPパケットに各種下位層の処理を行って物理層のパケットとする。DFCPパケットが冗長化されることで、TCPパケットも冗長化される。送信部105Bは、物理層のパケットに、必要に応じて符号化処理を行った後、変調処理、DA変換、アナログ処理等を行って、アナログの無線周波数信号を生成し、生成した無線周波数信号を送信する。 The data flow synthesis unit 103 makes the DFCP packet redundant according to the instruction information received from the control unit 104 (S103). For example, when the redundancy is 2, each time data is read from the transmission buffer unit 102B, two DFCP packets (DFCP packets with the same local sequence number) containing the data are generated. The data flow synthesis unit 103 adds a DFMP header to each DFCP packet to form a DFMP packet, and provides the DFMP packet to the transmission unit 105B (S103). The transmitting unit 105B performs various lower layer processing on the DFMP packet provided from the data flow combining unit 103 to generate a physical layer packet. By making DFCP packets redundant, TCP packets are also made redundant. The transmitting unit 105B performs encoding 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. Send.

図10及び図11を用いて、本実施形態の効果について説明する。 The effects of this embodiment will be explained using FIGS. 10 and 11.

図10は、本実施形態の比較例として送信部105Bから送信するパケットを冗長化しない例を示す。送信部105Bは、時刻0より前から、DFCPパケットを含む物理層のパケットを一定のレートで送信している。パケットの冗長化は行っていない。このときの送信部105Bの通信の使用帯域幅は、グラフG2で示すように、帯域幅BW1である。 FIG. 10 shows an example in which packets transmitted from the transmitter 105B are not made redundant as a comparative example of this embodiment. The transmitter 105B has been transmitting physical layer packets including DFCP packets at a constant rate since before time 0. Packet redundancy is not performed. The bandwidth used for communication by the transmitter 105B at this time is the bandwidth BW1, as shown in graph G2.

時刻0で送信部105AのTCP通信が開始する。TCPの輻輳制御により、輻輳ウィンドウの値が徐々に大きくなることにより、パケットの送信レートが徐々に上昇する。送信レートの上昇に応じて、グラフG1で示すように、送信部105Aの使用帯域幅も上昇する。 At time 0, TCP communication of the transmitter 105A starts. Due to TCP congestion control, the value of the congestion window gradually increases, thereby gradually increasing the packet transmission rate. As the transmission rate increases, the bandwidth used by the transmitter 105A also increases, as shown in graph G1.

グラフG3で示す送信部105Aと送信部105Bとの合計使用帯域幅が、グラフG4で示す通信ネットワークの利用可能帯域幅に達すると、送信部105Aの通信及び送信部105Bの通信の少なくとも一方でパケットロスが発生する(図の破線の丸を参照)。 When the total used bandwidth of the transmitting unit 105A and the transmitting unit 105B shown in graph G3 reaches the available bandwidth of the communication network shown in graph G4, packets are transmitted in at least one of the communication of the transmitting unit 105A and the communication of the transmitting unit 105B. A loss occurs (see the dashed circle in the diagram).

送信部105Aの通信でパケットロスが発生すると、受信装置20からACKが届かないことにより、輻輳ウィンドウの値が小さくなり、送信部105Aの送信レートが低下する。以降、輻輳ウィンドウの値の上昇と、パケットロスと、輻輳ウィンドウの値の低下が繰り返されることにより、送信部105Aの送信レートが上昇又は低下し、送信部105Aの通信が行われる。 When a packet loss occurs in the communication of the transmitter 105A, the value of the congestion window decreases because ACK is not received from the receiver 20, and the transmission rate of the transmitter 105A decreases. Thereafter, the increase in the value of the congestion window, the packet loss, and the decrease in the value of the congestion window are repeated, so that the transmission rate of the transmitter 105A increases or decreases, and communication of the transmitter 105A is performed.

送信部105Bの通信でパケットロスが発生すると、DFCPの再送が発生し、遅延が生じる。送信部105Bでは、例えば短い時間間隔でデータを送信する優先度の高い通信が行われており、遅延は極力避けることが望まれる。しかしながら、TCPの輻輳制御に起因して、送信部105Bの通信でパケットのロスが発生してしまい、通信品質が低下する。 When a packet loss occurs in communication by the transmitter 105B, DFCP retransmission occurs, resulting in a delay. In the transmitter 105B, high-priority communication is performed in which data is transmitted at short time intervals, for example, and it is desirable to avoid delays as much as possible. However, due to TCP congestion control, packet loss occurs in communication by the transmitter 105B, and communication quality deteriorates.

図11は、本実施形態に従って送信部105Bから送信するパケットを冗長化する例を示す。送信部105Bは、時刻0より前から、DFCPパケットを含む物理層のパケットを一定のレートで送信している。パケットの冗長化は行っていない。このとき送信部105Bの通信の使用帯域幅は、グラフG12で示すように、帯域幅BW1である。 FIG. 11 shows an example of making redundant packets transmitted from the transmitter 105B according to this embodiment. The transmitter 105B has been transmitting physical layer packets including DFCP packets at a constant rate since before time 0. Packet redundancy is not performed. At this time, the bandwidth used for communication by the transmitter 105B is the bandwidth BW1, as shown in graph G12.

時刻t11で送信部105Aの通信が開始され、TCPの輻輳制御により、輻輳ウィンドウの値が徐々に大きくなることによりパケットの送信レートが徐々に上昇する。送信レートの上昇に応じて、グラフG11で示すように、送信部105Aの使用帯域幅も上昇する。 Communication by the transmitter 105A is started at time t11, and the congestion window value gradually increases due to TCP congestion control, so that the packet transmission rate gradually increases. As the transmission rate increases, the bandwidth used by the transmitter 105A also increases, as shown in graph G11.

制御部104は、輻輳ウィンドウの値に基づき、送信部105Bから送信するパケットを冗長化する。具体的には、輻輳ウィンドウの値の上昇に応じて、送信部105Bから送信するパケット冗長度を高くする。一例として、送信部105Aの通信の開始を検知した時点で、冗長度を高くしていき、所定値に達すると、送信部105Aの通信が終了するまで、所定値を維持する。グラフG12で示すように、時刻t11から送信部105Bの送信するパケット(冗長パケットを含む)の送信レートが上昇し、送信部105Bの使用帯域幅も上昇する。 The control unit 104 makes the packets transmitted from the transmitting unit 105B redundant based on the value of the congestion window. Specifically, the redundancy of packets transmitted from the transmitter 105B is increased in accordance with the increase in the congestion window value. As an example, when the start of communication by the transmitter 105A is detected, the redundancy is increased, and when it reaches a predetermined value, the predetermined value is maintained until the communication by the transmitter 105A ends. As shown in graph G12, from time t11, the transmission rate of packets (including redundant packets) transmitted by transmitter 105B increases, and the bandwidth used by transmitter 105B also increases.

グラフG13で示す送信部105Aと送信部105Bとの合計使用帯域幅が、グラフG14で示す通信ネットワークの利用可能帯域幅に達すると、送信部105Aの通信及び送信部105Bの通信の少なくとも一方でパケットロスが発生する(図の破線の丸を参照)。 When the total used bandwidth of the transmitting unit 105A and the transmitting unit 105B shown in graph G13 reaches the available bandwidth of the communication network shown in graph G14, packets are transmitted in at least one of the communication of the transmitting unit 105A and the communication of the transmitting unit 105B. A loss occurs (see the dashed circle in the diagram).

送信部105Aの通信でパケットロスが発生すると、受信装置20からACKが届かないことにより、輻輳ウィンドウの値が小さくなり、送信部105Aの送信レートが低下する。輻輳ウィンドウの値の上昇と、パケットロス、輻輳ウィンドウの値の低下が繰り返されながら、送信部105Aの送信レートが上昇又は低下し、時刻t12で送信部105Aの通信は終了する。送信部105Aの通信が終了すると、送信部105Bのパケットの冗長度が徐々に低下し、時刻t13で送信部105Bの通信の冗長化は停止される(例えば冗長度が1になる)。 When a packet loss occurs in the communication of the transmitter 105A, the value of the congestion window decreases because ACK is not received from the receiver 20, and the transmission rate of the transmitter 105A decreases. While the increase in the congestion window value, the packet loss, and the decrease in the congestion window value are repeated, the transmission rate of the transmitter 105A increases or decreases, and the communication of the transmitter 105A ends at time t12. When the communication of the transmitter 105A ends, the redundancy of the packet of the transmitter 105B gradually decreases, and at time t13, the redundancy of the communication of the transmitter 105B is stopped (for example, the redundancy becomes 1).

送信部105Bの通信でパケットロスが発生した場合も、送信部105Bの通信は冗長化されている。このため、冗長化されたパケットの一部がロスしても、受信装置20で正しくデータが取得される。これにより、再送の機会は低減され、送信部105Bの通信の品質の低下は抑制される。 Even when a packet loss occurs in the communication of the transmitter 105B, the communication of the transmitter 105B is made redundant. Therefore, even if some of the redundant packets are lost, the receiving device 20 can correctly acquire data. This reduces the chance of retransmission and suppresses deterioration in the quality of communication by the transmitter 105B.

以上、本実施形態によれば、送信部105Aにおけるデータの送信状況(例えばデータの送信レート)に応じて、送信部105Bの通信におけるデータを冗長化する。これにより、送信部105Aの送信レートが上昇した場合に、送信部105Bにおける通信の品質が低下することを抑制できる。 As described above, according to the present embodiment, data in communication by the transmitter 105B is made redundant depending on the data transmission status (for example, data transmission rate) in the transmitter 105A. Thereby, when the transmission rate of the transmitter 105A increases, it is possible to suppress the quality of communication in the transmitter 105B from deteriorating.

(変形例1)
第1実施形態では送信部105Bは輻輳制御付き通信を行っていなかったが、送信部105Bが送信部105Aと同様に、輻輳制御付き通信を行ってもよい。この場合も、第1実施形態と同様の効果を得ることができる。
(Modification 1)
In the first embodiment, the transmitter 105B did not perform communication with congestion control, but the transmitter 105B may perform communication with congestion control similarly to the transmitter 105A. Also in this case, the same effects as in the first embodiment can be obtained.

(変形例2)
第1実施形態では、送信部105Aの通信にDFMP及びDFCPを用いていたが、送信部105Aの通信でDFCP及びDFCPを用いなくてもよい。この場合、送信部105Aが送信バッファ部102Aから直接、データを読み出せばよい。
(Modification 2)
In the first embodiment, DFMP and DFCP were used for the communication of the transmitting unit 105A, but it is not necessary to use DFCP and DFCP for the communication of the transmitting unit 105A. In this case, the transmitting section 105A may directly read data from the transmitting buffer section 102A.

(変形例3)
第1実施形態では、送信部105A及び送信部105Bの通信にDFMP及びDFCPを用いていたが、送信部105A及び送信部105Bの通信にDFMPを用いず、DFCPのみを用いてもよい。
(Modification 3)
In the first embodiment, DFMP and DFCP are used for communication between the transmitting section 105A and the transmitting section 105B, but DFMP may not be used for communication between the transmitting section 105A and the transmitting section 105B, and only DFCP may be used.

(変形例4)
第1実施形態では1つのDFMPパケットにDFCPパケットを1つ含めていたが、2以上のDFCPパケットを集約してもよい。
(Modification 4)
In the first embodiment, one DFCP packet was included in one DFMP packet, but two or more DFCP packets may be aggregated.

図12は、DFMPパケットに複数のDFCPパケット(本例ではDFCPパケット1、DFCPパケット2)を集約した例を示す。DFCPパケット1のフローID及びDFCPパケット2のフローIDは互いに異なる。但し、各DFCPパケットのフローIDが同じとすることも可能である。パケットの集約はデータフロー合成部103が行う。データフロー合成部103は、これにより、個々のDFCPパケットにDFMPヘッダ及びその下位のプロトコルのヘッダを付加する場合に比べて、ヘッダのオーバーヘッドを低減できる。図12の例では、DFCPパケットの集約は2であるが、3以上でもよい。 FIG. 12 shows an example in which a plurality of DFCP packets (DFCP packet 1 and DFCP packet 2 in this example) are aggregated into a DFMP packet. The flow ID of DFCP packet 1 and the flow ID of DFCP packet 2 are different from each other. However, it is also possible for each DFCP packet to have the same flow ID. The data flow synthesis unit 103 aggregates the packets. The data flow synthesis unit 103 can thereby reduce header overhead compared to the case where a DFMP header and a header of a lower protocol thereof are added to each DFCP packet. In the example of FIG. 12, the number of DFCP packets is two, but it may be three or more.

(変形例5)
受信装置20が、受信装置20の受信部205Aにおけるパケットの受信状況(例えば受信レート又は受信頻度)に応じて、送信装置10の送信部105Bにおけるパケットの冗長度を決定する。受信装置20は、決定した冗長度を指示する制御情報(決定した冗長度でパケットを冗長化する制御情報)を送信装置10に送信する。受信部205Aにおける受信レートが高くなるほど、送信装置10の送信部105Aにおける送信レートが高いと推定できる。そこで、受信装置20は、受信部205Aにおける受信レートが高くなるほど、送信部105Bに対して高い冗長度を決定する。
(Modification 5)
The receiving device 20 determines the redundancy of the packet in the transmitting unit 105B of the transmitting device 10 according to the packet receiving status (for example, the receiving rate or the receiving frequency) in the receiving unit 205A of the receiving device 20. The receiving device 20 transmits control information instructing the determined redundancy (control information for making the packet redundant with the determined redundancy) to the transmitting device 10. It can be estimated that the higher the reception rate at the receiver 205A, the higher the transmission rate at the transmitter 105A of the transmitter 10. Therefore, the receiving device 20 determines a higher degree of redundancy for the transmitter 105B as the reception rate at the receiver 205A increases.

図13は、変形例5に係る受信装置20のブロック図である。受信装置20のデータフロー分離部203は、受信部205Aにおけるパケットの受信頻度(受信レート)を監視する制御部211を備えている。データフロー分離部203、受信部205A及び受信部205Bは受信処理部21を構成する。制御部211は、一例として、受信部205Aから受信するDFMPパケットの受信レートを測定し、受信レートが大きいほど、送信装置10の送信部105Bに対して高い冗長度を決定する。DFMPパケットの受信レートが大きいほど、受信部205Aにおけるパケット(例えばTCPパケット)の受信レートが大きい、すなわち送信部105Aのパケットの送信レートが大きいと推定できる。 FIG. 13 is a block diagram of a receiving device 20 according to a fifth modification. The data flow separation unit 203 of the receiving device 20 includes a control unit 211 that monitors the reception frequency (reception rate) of packets in the receiving unit 205A. The data flow separation unit 203, the reception unit 205A, and the reception unit 205B constitute the reception processing unit 21. For example, the control unit 211 measures the reception rate of DFMP packets received from the reception unit 205A, and determines a higher degree of redundancy for the transmission unit 105B of the transmission device 10 as the reception rate is higher. It can be estimated that the higher the reception rate of DFMP packets, the higher the reception rate of packets (for example, TCP packets) at the reception unit 205A, that is, the higher the transmission rate of packets at the transmission unit 105A.

制御部211は、受信部205AからTCPパケットの受信レートに関する情報を取得し、取得した情報に基づき、冗長度を決定してもよい。TCPパケットの受信レートの関する情報は、送信部105Aから受信したパケットに対するACKの返送状況に基づいて算出されてもよい。あるいは、TCPパケットを一時的にメモリ等のバッファに格納する場合には、バッファにおけるTCPパケットの格納状況に基づいて算出されてもよい。 The control unit 211 may acquire information regarding the reception rate of TCP packets from the receiving unit 205A, and determine the redundancy based on the acquired information. Information regarding the reception rate of TCP packets may be calculated based on the status of ACK responses to packets received from the transmitter 105A. Alternatively, when TCP packets are temporarily stored in a buffer such as a memory, it may be calculated based on the storage status of TCP packets in the buffer.

制御部211は、受信部205Aにおいて送信装置10の送信部105Aと輻輳制御付き通信が開始されたことを検知した場合に、冗長度を高くすることを決定してもよい。第1実施形態と同様に、輻輳制御付き通信の開始から一定の傾きで冗長度を高くし、冗長度が所定値に達したら、通信が終了するまで冗長度を所定値に維持してもよい。 The control unit 211 may decide to increase the redundancy when detecting that the reception unit 205A has started communication with congestion control with the transmission unit 105A of the transmission device 10. Similar to the first embodiment, the redundancy may be increased at a constant slope from the start of communication with congestion control, and once the redundancy reaches a predetermined value, the redundancy may be maintained at the predetermined value until the communication ends. .

制御部211は、冗長化を指示する制御情報を、情報通信部206を介して、送信装置10に送信する。制御情報を応答パケットに含めてもよい。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bから送信するパケットを冗長化する。 The control unit 211 transmits control information instructing redundancy to the transmitting device 10 via the information communication unit 206. Control information may be included in the response packet. The control unit 104 of the transmitting device 10 receives control information via the information communication unit 106, and makes the packets transmitted from the transmitting unit 105B redundant based on the received control information.

制御部211は、輻輳制御付き通信の開始を検知した場合に、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を送信装置10に送信してもよい。開始データを応答パケットに含めてもよい。制御部211は、輻輳制御付き通信が終了した場合は、通信を通知するデータ(輻輳制御付き通信の終了データ)を送信装置10に送信してもよい。終了データを応答パケットに含めてもよい。送信装置10の送信部105Bは開始データを受信すると、第1実施形態と同様にして、送信部105Bにおけるパケットを冗長化する。送信部105Bは終了データを受信すると、冗長度の制御を停止する。 When the control unit 211 detects the start of the congestion-controlled communication, it may transmit data notifying the start of the congestion-controlled communication (start data of the congestion-controlled communication) to the transmitting device 10 . Initiation data may be included in the response packet. When the congestion-controlled communication ends, the control unit 211 may transmit data notifying the communication (end data of the congestion-controlled communication) to the transmitting device 10. Termination data may be included in the response packet. When the transmitter 105B of the transmitter 10 receives the start data, it makes the packets in the transmitter 105B redundant in the same manner as in the first embodiment. When the transmitter 105B receives the end data, it stops controlling the redundancy.

(変形例5)
上述した実施形態では輻輳制御アルゴリズムを有するプロトコルとしてTCPを用いたが、QUIC(Quick UDP Internet Connections)など、他のプロトコルを用いてもよい。
(Modification 5)
In the embodiment described above, TCP is used as a protocol having a congestion control algorithm, but other protocols such as QUIC (Quick UDP Internet Connections) may be used.

(第2実施形態)
第2実施形態では、受信装置20が複数の送信装置と同時に通信する。受信装置20は、1つの送信装置とはDFMP及びDFCPを用いずにTCPにより通信し、他の送信装置(本実施形態に係る送信装置)とはDFMP及びDFCPを用いて、UDP又はTCPにより通信する。受信装置20は1つの送信装置とのTCPにおけるパケットの受信状況(例えば受信頻度又は受信レート等)に応じて、他の送信装置から送信されるパケットの冗長化を決定する。1つの送信装置から受信するパケットは一例として当該1つの送信装置から受信する第1データに対応し、他の送信装置から受信するパケットは一例として当該他の送信装置から受信する第2データに対応する。受信装置20は、一例として1つの送信装置とのTCPの通信の開始(輻輳制御の開始)を検知すると、他の送信装置から送信するパケットを冗長化することを決定してもよい。受信装置20は、冗長化を指示する制御情報を、他の送信装置に送信する。以下、本実施形態について詳細に説明する。
(Second embodiment)
In the second embodiment, the receiving device 20 communicates with multiple transmitting devices simultaneously. The receiving device 20 communicates with one transmitting device using TCP without using DFMP and DFCP, and communicates with another transmitting device (the transmitting device according to this embodiment) using DFMP and DFCP using UDP or TCP. do. The receiving device 20 determines redundancy of packets transmitted from other transmitting devices according to the packet reception status (for example, reception frequency or reception rate) in TCP with one transmitting device. A packet received from one transmitting device corresponds to, for example, first data received from the one transmitting device, and a packet received from another transmitting device corresponds to, for example, second data received from the other transmitting device. do. For example, upon detecting the start of TCP communication (start of congestion control) with one transmitting device, the receiving device 20 may decide to make packets transmitted from other transmitting devices redundant. The receiving device 20 transmits control information instructing redundancy to other transmitting devices. This embodiment will be described in detail below.

図14は、第2実施形態に係る通信システムのブロック図である。DFMP及びDFCPを用いずにTCPにより通信を行う送信装置50と、本実施形態に係る送信装置10とが、中継装置40を介して、受信装置20と接続されている。中継装置40は、図1の通信ネットワーク30に含まれる。図では1台の中継装置40が示されるが、中継装置40の台数は2以上でもよい。本例では、送信装置50が1台の場合を想定するが、送信装置50が2台以上でもよい。 FIG. 14 is a block diagram of a communication system according to the second embodiment. A transmitting device 50 that performs communication using TCP without using DFMP and DFCP, and the transmitting device 10 according to the present embodiment are connected to the receiving device 20 via the relay device 40. Relay device 40 is included in communication network 30 in 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 there is one transmitting device 50, but there may be two or more transmitting devices 50.

図15は、送信装置50のブロック図である。送信装置50は、データ取得部101A、送信バッファ部102A、送信部105A、アンテナ107Aを備えている。データ取得部101Aはセンサ1Aに接続されている。送信部105Aは送信バッファ部102Aに接続されている。DFCP及びDFMPに関する処理を行うデータフロー合成部103は設けられていない。図15の各要素の動作は、第1実施形態における図2と同一名称の要素と同じである。 FIG. 15 is a block diagram of the transmitting device 50. The transmitting device 50 includes a data acquisition section 101A, a transmission buffer section 102A, a transmitting section 105A, and an antenna 107A. The data acquisition unit 101A is connected to the sensor 1A. The transmitting section 105A is connected to the transmitting buffer section 102A. A 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 the element with the same name as in FIG. 2 in the first embodiment.

図16は、送信装置10のブロック図である。送信装置10は、データ取得部101B、送信バッファ部102B、データフロー合成部103、制御部104、送信部105B、情報通信部106、アンテナ107Aを備えている。データ取得部101Bはセンサ1Bに接続されている。図16の各要素の動作は、第1実施形態における図2と同一名称の要素と同じである。図16の例では1つのデータフローの処理を行う構成(センサ1B、データ取得部101B、送信バッファ部102B)のみ示されているが、第1実施形態と同様に2以上のデータフローの処理を行う構成を備えていてもよい(図2参照)。 FIG. 16 is a block diagram of the transmitting device 10. The transmitter 10 includes a data acquisition section 101B, a transmission buffer section 102B, a data flow synthesis section 103, a control section 104, a transmission section 105B, an information communication section 106, and an antenna 107A. The data acquisition unit 101B is connected to the sensor 1B. The operation of each element in FIG. 16 is the same as the element with the same name as in 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) that processes one data flow is shown, but as in the first embodiment, it is possible to process two or more data flows. (See FIG. 2).

図17は、受信装置20のブロック図である。第1実施形態の変形例5(図13参照)と同様の構成を有するが、受信バッファ部202Aは受信部205Aに直接、接続されている。受信バッファ部202Aは、受信部205AからアプリケーションA用のデータを取得し、取得したデータを内部のバッファに格納する。データフロー分離部203は、受信部205AからはDFMPパケットを受信しない。以下では、変形例5との差分を中心に説明する。 FIG. 17 is a block diagram of the receiving device 20. Although it has the same configuration as Modification 5 of the first embodiment (see FIG. 13), the reception buffer section 202A is directly connected to the reception section 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 DFMP packets from the reception unit 205A. Below, differences with Modification Example 5 will be mainly explained.

受信装置20のデータフロー分離部203は、受信部205Aにおけるパケットの受信状況(例えば受信頻度又は受信レート)を監視する制御部211を備えている。制御部211は、一例として、受信部205Aにおけるパケット(例えばTCPパケット)の受信レートを測定し、受信レートが大きいほど、送信装置10の送信部105Bに対して高い冗長度を決定する。TCPパケットの受信レートが大きいほど、送信部105Aの送信レートが大きいと推定できる。 The data flow separation unit 203 of the receiving device 20 includes a control unit 211 that monitors the packet reception status (for example, reception frequency or reception rate) in the reception unit 205A. For example, the control unit 211 measures the reception rate of packets (for example, TCP packets) in the reception unit 205A, and determines a higher redundancy for the transmission unit 105B of the transmission device 10 as the reception rate is higher. It can be estimated that the higher the TCP packet reception rate, the higher the transmission rate of the transmitter 105A.

制御部211は、受信部205AからTCPパケットの受信レートに関する情報を取得し、取得した情報に基づき、冗長度を決定してもよい。TCPパケットの受信レートの関する情報は、送信部105Aから受信したパケットに対するACKの返送の状況に基づいて算出されてもよい。あるいは、TCPパケットを一時的にメモリ等のバッファに格納する場合には、バッファにおけるTCPパケットの格納状況に基づいて算出されてもよい。 The control unit 211 may acquire information regarding the reception rate of TCP packets from the receiving unit 205A, and determine the redundancy based on the acquired information. Information regarding the reception rate of TCP packets may be calculated based on the status of ACK responses to packets received from the transmitter 105A. Alternatively, when TCP packets are temporarily stored in a buffer such as a memory, it may be calculated based on the storage status of TCP packets in the buffer.

制御部211は、受信部205Aにおいて送信装置10の送信部105Aと輻輳制御付き通信が開始されたことを検知した場合に、冗長度を高くすることを決定してもよい。例えば、輻輳制御付き通信の開始から一定の傾きで冗長度を高くし、冗長度が所定値に達したら、当該通信が終了するまで冗長度を所定値に維持してもよい。 The control unit 211 may decide to increase the redundancy when detecting that the reception unit 205A has started communication with congestion control with the transmission unit 105A of the transmission device 10. For example, the degree of redundancy may be increased at a constant slope from the start of communication with congestion control, and once the degree of redundancy reaches a predetermined value, the degree of redundancy may be maintained at the predetermined value until the communication ends.

制御部211は、冗長度を指示する制御情報を、情報通信部206を介して、送信装置10に送信する。制御情報を応答パケットに含めてもよい。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bにおけるパケットを冗長化する。 The control unit 211 transmits control information instructing redundancy to the transmitting device 10 via the information communication unit 206. Control information may be included in the response packet. The control unit 104 of the transmitting device 10 receives the control information via the information communication unit 106, and makes the packets in the transmitting unit 105B redundant based on the received control information.

制御部211は、受信部205Aにおける輻輳制御付き通信の開始を検知した場合に、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を送信装置10に送信してもよい。開始データを応答パケットに含めてもよい。制御部211は、輻輳制御付き通信が終了した場合は、通信を通知するデータ(輻輳制御付き通信の終了データ)を送信装置10に送信してもよい。終了データを応答パケットに含めてもよい。送信装置10の制御部104は開始データを受信すると、第1実施形態と同様にして、送信部105Bにおけるパケットを冗長化する。送信装置10の制御部104は終了データを受信すると、冗長化の制御を停止する。 When the control unit 211 detects the start of the congestion-controlled communication in the receiving unit 205A, the control unit 211 may transmit data notifying the start of the congestion-controlled communication (start data of the congestion-controlled communication) to the transmitting device 10. . Initiation data may be included in the response packet. When the congestion-controlled communication ends, the control unit 211 may transmit data notifying the communication (end data of the congestion-controlled communication) to the transmitting device 10. Termination data may be included in the response packet. When the control unit 104 of the transmitting device 10 receives the start data, it makes the packets in the transmitting unit 105B redundant in the same manner as in the first embodiment. When the control unit 104 of the transmitting device 10 receives the termination data, it stops the redundancy control.

図18は、第2実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S111)。 FIG. 18 shows an example of a communication sequence according to the second embodiment. The receiving device 20 starts communicating with the transmitting device 10. For example, communication (for example, UDP communication or TCP communication) of high-priority data to be provided to application B at fixed short intervals is started (S111).

受信装置20は、送信装置10との通信の開始後、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S112)。受信装置20は、送信装置50と輻輳制御付き通信が開始されたこと通知するデータ(輻輳制御付き通信の開始データ)を、送信装置10に送信する(S113)。この開始データは、冗長化を指示する制御情報の一例に相当する。送信装置10は開始データを受信すると、受信装置20に送信するデータを冗長化する(冗長度を高くする)。すなわち、送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S113A)。 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 to the transmitting device 10 data notifying that the congestion-controlled communication with the transmitting device 50 has started (congestion-controlled communication start data) (S113). This start data corresponds to an example of control information instructing redundancy. When the transmitting device 10 receives the start data, it makes the data transmitted to the receiving device 20 redundant (increases the degree of redundancy). That is, the transmitting device 10 increases the redundancy of the packet to be transmitted and transmits the redundant packet (S113A).

受信装置20は、送信装置50と輻輳制御付き通信を終了すると(S114)、送信装置10に、送信装置50との輻輳制御付き通信が終了されたこと通知するデータ(輻輳制御付き通信の終了データ)を、送信装置10に送信する(S115)。この終了データは、冗長化の終了を指示する制御情報の一例に相当する。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長化を終了する(例えば冗長度を、冗長化を行わない初期値に戻す)。 When the receiving device 20 ends the congestion-controlled communication with the transmitting device 50 (S114), the receiving device 20 sends data notifying the transmitting device 10 that the congestion-controlled communication with the transmitting device 50 has ended (congestion-controlled communication end data). ) is transmitted to the transmitting device 10 (S115). This end data corresponds to an example of control information instructing the end of redundancy. When the transmitting device 10 receives the end data, it ends the redundancy of the data transmitted to the receiving device 20 (for example, returns the redundancy to the initial value without redundancy).

図18の例では、受信装置20は輻輳制御付き通信の開始及び終了を制御情報として送信したが、受信装置20は冗長度を指示した制御情報を送信してもよい。 In the example of FIG. 18, the receiving device 20 transmits the start and end of communication with congestion control as control information, but the receiving device 20 may transmit control information indicating redundancy.

図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から送信するパケットを冗長化する。 FIG. 19 is a flowchart of an example of the operation of the receiving device 20 according to the second embodiment. The receiving unit 205A of the receiving processing unit 21 receives a packet containing data (such as a TCP packet) from the transmitting unit 105A of the transmitting device 10 based on a communication protocol (such as TCP) having a congestion control algorithm (S121). The receiving unit 205A sends the data included in the received packet to the receiving buffer unit 202A. The control unit 211 of the receiving device 20 generates control information that instructs the transmitting unit 105B of the transmitting device 10 to make packets redundant, depending on the reception status of data (packets) in the receiving unit 205A (S122). For example, the control unit 211 of the receiving device 20 generates control information when detecting that communication using 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 transmitting device 10 via the information communication unit 206 (S123). The control unit 104 of the transmitting device 10 receives the control information via the information communication unit 106, and makes the packets transmitted from the transmitting unit 105B redundant.

以上、本実施形態によれば、受信装置20において受信部205Aにおけるデータの受信状況(例えばデータの受信レート)に応じて、送信装置10の送信部105Bにおけるデータを冗長化する。これにより、送信装置10の送信部105Aの送信レートが上昇した場合に、送信装置10の送信部105Bにおける通信の品質が低下することを抑制できる。 As described above, according to the present embodiment, data in the transmitter 105B of the transmitter 10 is made redundant depending on the data reception status (for example, data reception rate) in the receiver 205A in the receiver 20. Thereby, when the transmission rate of the transmitter 105A of the transmitter 10 increases, it is possible to suppress the quality of communication in the transmitter 105B of the transmitter 10 from deteriorating.

(第3実施形態)
第3実施形態では、送信装置10(図16参照)及び受信装置20間の通信を中継する中継装置40が、送信装置10から送信するデータを冗長化することを制御する。中継装置40は、輻輳制御付き通信を行う送信装置50(図15参照)と当該送信装置50からデータを受信する受信装置間の通信を中継し、かつ、送信装置10と受信装置20間の通信を中継する。中継装置40は、輻輳制御付き通信で中継するデータの受信状況に応じて、送信装置10から送信されるデータの冗長化を制御する。以下、本実施形態について詳細に説明する。
(Third embodiment)
In the third embodiment, a relay device 40 that relays communication between the transmitting device 10 (see FIG. 16) and the receiving device 20 controls making data transmitted from the transmitting device 10 redundant. The relay device 40 relays communication between a transmitting device 50 (see FIG. 15) that performs communication with congestion control and a receiving device that receives data from the transmitting device 50, and also relays communication between the transmitting device 10 and the receiving device 20. to be relayed. The relay device 40 controls redundancy of data transmitted from the transmitter 10, depending on the reception status of data relayed by congestion control communication. This embodiment will be described in detail below.

図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台以上でもよい。 FIG. 20 is a block diagram of a communication system according to the third embodiment. A transmitting device 50 that communicates using TCP without using DFMP and DFCP, and a receiving device 60 that communicates with the transmitting device 50 are connected via a relay device 40. Further, the transmitting device 10 according to this embodiment and the receiving device 20 according to this embodiment are connected via a relay device 40. Relay device 40 is included in communication network 30 in 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 there is one transmitting device 50 and one receiving device 60, but there may be two or more transmitting devices 50 and two or more receiving devices 60.

送信装置50のブロック図は、前述した図15と同じである。送信装置50の動作は図15と同じであるため、説明を省略する。 The block diagram of the transmitting device 50 is the same as that shown in FIG. 15 described above. Since the operation of the transmitting device 50 is the same as that in FIG. 15, the explanation will be omitted.

図21は、受信装置60のブロック図である。受信装置60は、アンテナ207A、受信部205A、受信バッファ部202A及びデータ処理部201Aを備えている。DFCP及びDFMPに関する処理を行うデータフロー分離部は設けられていない。図21の各要素の動作は、図17の同一名称の要素と同じであるため、説明を省略する。 FIG. 21 is a block diagram of the receiving device 60. The receiving device 60 includes an antenna 207A, a receiving section 205A, a receiving buffer section 202A, and a data processing section 201A. A data flow separation unit that performs processing related to DFCP and DFMP is not provided. The operation of each element in FIG. 21 is the same as the element with the same name in FIG. 17, so the explanation will be omitted.

送信装置10のブロック図は、前述した図16と同じである。送信装置10の動作は図16と同じであるため、説明を省略する。 The block diagram of the transmitting device 10 is the same as that shown in FIG. 16 described above. Since the operation of the transmitting device 10 is the same as that in FIG. 16, the explanation will be omitted.

図22は、受信装置20のブロック図である。受信装置20の構成は、第1実施形態における図7の受信装置20から、アンテナ207A、受信部205A、受信バッファ部202A、データ処理部201Aを除いた構成と同様である。図22の受信装置20は、1つのフローのデータを受信する場合の構成を有する。但し、本実施形態に係る受信装置20が、図7と同じ構成(複数のフローのデータを受信する構成)を備えていてもよい。 FIG. 22 is a block diagram of the receiving device 20. The configuration of the receiving device 20 is the same as that of the receiving device 20 of FIG. 7 in the first embodiment except that the antenna 207A, the receiving section 205A, the receiving buffer section 202A, and the data processing section 201A are removed. The receiving device 20 in FIG. 22 has a configuration for receiving data of one flow. However, the receiving device 20 according to this embodiment may have the same configuration as in FIG. 7 (configuration for receiving data of multiple flows).

図23は、中継装置40のブロック図である。中継装置40は、受信処理部301(第1受信処理部)と、送信処理部302(第1送信処理部)と、受信処理部303(第2受信処理部)と、送信処理部304(第2送信処理部)と、中継処理部310とを備えている。中継処理部310は制御部311を含む。受信処理部301、受信処理部303、送信処理部302及び送信処理部304は、通信ネットワーク30に接続されている。 FIG. 23 is a block diagram of the relay device 40. The relay device 40 includes a reception processing section 301 (first reception processing section), a transmission processing section 302 (first transmission processing section), a reception processing section 303 (second reception processing section), and a transmission processing section 304 (second reception processing section). 2 transmission processing section) and a relay processing section 310. Relay processing section 310 includes a control section 311. The reception processing section 301 , reception processing section 303 , transmission processing section 302 , and transmission processing section 304 are connected to the communication network 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に受信される。 The reception processing unit 301 receives packets from the transmitting device 50 (see FIG. 15) and the transmitting device 10 (see FIG. 16), performs physical layer and data link layer processing on the received packets, and then sends the packets to the relay processing unit. Pass it to 310. A packet received from the transmitting device 50 corresponds to first data received from the transmitting device 50, as an example, and a packet received from the transmitting device 10 corresponds to second data received from the transmitting device 10, as an example. The packets received from the transmitting device 10 are packets that have undergone processing such as DFMP and DFCP. A packet received from the transmitting device 50 is a packet that has been processed by a communication protocol (eg, 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 of the packet (port to output the packet) based on the routing table. The transmission processing unit 302 performs data link layer and physical layer processing on the packet whose transfer destination has been determined by the relay processing unit 310, and transmits the processed packet to the determined transfer destination. In this example, a packet addressed to the receiving device 20 is received from the transmitting device 10, and the packet is transmitted from the transmission processing section 302 according to the transfer destination determined by the relay processing section 310. The transmitted packets are received by the receiving device 20 after passing through other relay devices as necessary. Further, a packet addressed to the receiving device 60 is received from the transmitting device 50, and the packet is transmitted from the transmission processing section 302 according to the transfer destination determined by the relay processing section 310. The transmitted packets are received by the receiving device 60 after passing through other relay devices as necessary.

受信装置60(図21参照)の受信部205Aは、中継装置40により中継された送信装置50からのパケットを、アンテナ207Aを介して受信する。受信部205Aは、パケットに含まれるデータを、受信バッファ部202Aを介して、データ処理部201Aに提供する。 The receiving unit 205A of the receiving device 60 (see FIG. 21) 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 included in the packet to the data processing unit 201A via the receiving buffer unit 202A.

受信装置20(図22参照)の受信部205Bは、中継装置40により中継された送信装置10からのパケットを、アンテナ207Bを介して受信する。データフロー分離部203は、受信されたパケットに対してDFMP及びDFCPの処理を行った後、パケットに含まれるデータを、受信バッファ部202Bを介して、データ処理部201Bに提供する。データフロー分離部203は、DFMP又はDFCPに関するフィードバック情報を含む、送信装置10を宛先とする応答パケットを送信する。フィードバック情報として、DFMP又はDFCPのACKを送信してもよい。応答パケットにはACK以外に、DFMPの通信品質情報を含めてもよい。 The receiving unit 205B of the receiving device 20 (see FIG. 22) 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 DFCP processing on the received packet, and then provides the data included 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 addressed to the transmitting device 10 and containing feedback information regarding DFMP or DFCP. ACK of DFMP or DFCP may be transmitted as feedback information. The response packet may include DFMP communication quality information in addition to the ACK.

中継装置40(図21参照)の受信処理部303は、受信装置20からの応答パケットを受信し、物理層及びデータリンク層の処理を行った後、処理後の応答パケットを中継処理部310に提供する。中継処理部310は、応答パケットのIPヘッダに基づき応答パケットの転送先を決定する。送信処理部304は、応答パケットを、決定された転送先に応じて送信する。送信された応答パケットは、必要に応じて他の中継装置を介して、送信装置10(図16参照)で受信される。送信装置10の制御部104は、情報通信部106を介して応答パケットを受信し、応答パケットに含まれるフィードバック情報に基づきDFMP又はDFCPに関する処理を行う(例えばDFCPパケットの再送等)。 The reception processing unit 303 of the relay device 40 (see FIG. 21) receives the response packet from the reception device 20, performs physical layer and data link layer processing, and then sends the processed response packet to the relay processing unit 310. provide. 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 necessary. The control unit 104 of the transmitting device 10 receives the response packet via the information communication unit 106, and performs processing related to DFMP or DFCP based on feedback information included in the response packet (for example, retransmission of the DFCP packet, etc.).

中継装置40において中継処理部310の制御部311は、送信装置50と受信装置60間の通信(輻輳制御付き通信)に関して、受信処理部301におけるパケットの受信状況を監視している。制御部311は、受信状況に応じて、送信装置10から送信されるパケットの冗長度を決定、あるいは、冗長化処理の開始又は終了を決定する。制御部311は、冗長度、あるいは冗長化処理の開始又は終了を含む制御情報を生成する。制御部311は、生成した制御情報を、受信処理部303を介して受信する受信装置20からの応答パケットに含める。例えば応答パケットのDFMPヘッダの所定フィールドに制御情報を格納する。例えば制御情報が冗長化処理の開始を示す場合、所定フィールドに、例えば冗長化のオンのビット“1”を格納する。制御情報が冗長化処理の終了を示す場合、所定フィールドにオフのビット“0”を格納する。所定フィールドの初期値は“0”とする。制御情報が冗長度を示す場合、所定フィールドに、冗長度の値を格納する。 In the relay device 40, the control unit 311 of the relay processing unit 310 monitors the packet reception status in the reception processing unit 301 regarding communication between the transmitting device 50 and the receiving device 60 (communication with congestion control). The control unit 311 determines the redundancy of the packet transmitted from the transmitting device 10, or determines the start or end of redundancy processing, depending on the reception status. The control unit 311 generates control information including the degree of redundancy or the start or end of redundancy processing. The control unit 311 includes the generated control information in a response packet received from the receiving device 20 via the reception processing unit 303. For example, control information is stored in a predetermined field of the DFMP header of the response packet. For example, when the control information indicates the start of redundancy processing, a bit "1" indicating redundancy on, for example, is stored in a predetermined field. When the control information indicates the end of the redundancy process, an off bit "0" is stored in a predetermined field. The initial value of the predetermined field is "0". When the control information indicates redundancy, the value of redundancy is stored in a predetermined field.

中継処理部310は、制御情報が格納された応答パケットのIPヘッダに基づき、応答パケットの転送先を決定する。送信処理部304は、制御情報が格納された応答パケットを、決定された転送先に応じて送信する。制御情報が格納された応答パケットは、制御情報と受信装置20からの応答メッセージとを含むデータの一例である。応答パケットは、必要に応じて他の中継装置を経由した後、送信装置10で受信される。 The relay processing unit 310 determines the transfer destination of the response packet based on the IP header of the response packet in which control information is stored. The transmission processing unit 304 transmits a response packet containing control information according to the determined transfer destination. The response packet storing the control information is an example of data including the control information and a response message from the receiving device 20. The response packet is received by the transmitting device 10 after passing through another relay device as necessary.

送信装置10(図16参照)の制御部104は、情報通信部106を介して応答パケットを受信し、応答パケットに含まれる制御情報に基づき、送信部105Bから送信するデータ(パケット)を冗長化する。冗長化の制御の詳細は、第1又は第2実施形態と同様である。 The control unit 104 of the transmitting device 10 (see FIG. 16) receives the response packet via the information communication unit 106, and makes the data (packet) transmitted from the transmitting unit 105B redundant based on the control information included in the response packet. do. Details of redundancy control are the same as those in the first or second embodiment.

図24は、第3実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。受信装置20は、例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S131)。 FIG. 24 shows an example of a communication sequence according to the third embodiment. The receiving device 20 starts communicating with the transmitting device 10. The receiving device 20 starts communication (for example, UDP communication or TCP communication) of high-priority data to be provided to application B at fixed short intervals, for example (S131).

その後、受信装置60が、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S132)。中継装置40は、送信装置50が輻輳制御付き通信を開始したことを検知する。中継装置40は、受信装置20から応答パケットを受信し(S133)、輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)を応答パケットに含める(S134)。中継装置40は、応答パケットを送信装置10に送信する(同S134)。開始データは、輻輳制御の検知を示す制御情報又、冗長化を明示又は黙示に指示する制御情報の一例に相当する。明示的に冗長化を指示しなくとも、輻輳制御の検知を送信装置10に通知して、送信装置10が輻輳制御の検知の通知を受信した場合には冗長化を開始するものであれば、黙示に冗長化を指示しているといえる。冗長化を明示又は黙示に指示する制御情報は、輻輳制御の検知を示すフラグでもよい。送信装置10は開始データを受信すると、受信装置20に送信するデータの冗長化を制御する(冗長度を高くする)。すなわち、送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S134A)。 After that, the receiving device 60 starts communication with congestion control (for example, TCP communication) with the transmitting device 50 (S132). Relay device 40 detects that transmitter 50 has started communication with congestion control. The relay device 40 receives the response packet from the receiving device 20 (S133), and includes data notifying the start of the congestion-controlled communication (start data of the congestion-controlled communication) in the response packet (S134). The relay device 40 transmits the response packet to the transmitter 10 (S134). The start data corresponds to an example of control information indicating detection of congestion control or control information explicitly or implicitly instructing redundancy. Even if redundancy is not explicitly instructed, if the transmission device 10 is notified of the detection of congestion control and the transmission device 10 starts redundancy when it receives the notification of detection of congestion control, It can be said that this implicitly instructs redundancy. The control information explicitly or implicitly instructing redundancy may be a flag indicating detection of congestion control. When the transmitting device 10 receives the start data, it controls redundancy of the data transmitted to the receiving device 20 (increases the degree of redundancy). That is, the transmitting device 10 increases the redundancy of the packet to be transmitted and transmits the redundant packet (S134A).

受信装置60は、送信装置50と輻輳制御付き通信を終了すると(S135)、中継装置40は、送信装置50が輻輳制御付き通信が終了したことを検知する。中継装置40は、受信装置20から応答パケットを受信し(S136)、輻輳制御付き通信の終了を通知するデータ(輻輳制御付き通信の終了データ)を、応答パケットに含める(S137)。中継装置40は、応答パケットを送信装置10に送信する(同S137)。この終了データは、輻輳制御の終了の検知を示す制御情報、又は冗長化の終了を明示又は黙示に指示する制御情報の一例に相当する。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長度の制御を終了する。 When the receiving device 60 ends the congestion-controlled communication with the transmitting device 50 (S135), the relay device 40 detects that the transmitting device 50 has ended the congestion-controlled communication. The relay device 40 receives the response packet from the receiving device 20 (S136), and includes data notifying the end of the congestion-controlled communication (end data of the congestion-controlled communication) in the response packet (S137). The relay device 40 transmits the response packet to the transmitter 10 (S137). This termination data corresponds to an example of control information indicating detection of termination of congestion control or control information explicitly or implicitly instructing termination of redundancy. When the transmitting device 10 receives the end data, it ends controlling the redundancy of the data transmitted to the receiving device 20.

図24の例では、中継装置40は輻輳制御付き通信の開始及び終了を制御情報として送信したが、中継装置40は冗長度を指示した制御情報を送信してもよい。 In the example of FIG. 24, the relay device 40 transmits the start and end of communication with congestion control as control information, but the relay device 40 may transmit control information indicating redundancy.

また図24の例では中継装置40は制御情報を応答パケットに含めたが、応答パケットとは別のパケットによって制御情報を送信してもよい。この場合、応答パケットから送信装置10のIPアドレス等、各種ヘッダの作成に必要な情報を取得してもよい。 Further, in the example of FIG. 24, the relay device 40 includes the control information in the response packet, but the control information may be transmitted in a separate packet 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.

図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から送信するパケットを冗長化する。 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 transmitting device 50 and the receiving device 60 (S141). The control unit 311 generates control information that instructs redundancy of packets transmitted in the communication (second communication) of the transmitting device 10, depending on the reception status of data (packets) (S142). For example, when the control unit 311 detects that TCP communication has started between the transmitting device 50 and the receiving device 60, it generates control information that notifies the start of the congestion-controlled communication. The control unit 311 includes the generated control information in a 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 transmitting device 10 receives the control information via the information communication unit 106, and makes the packets transmitted from the transmitting unit 105B redundant.

以上、本実施形態によれば、中継装置40が、送信装置50及び受信装置60間で行われる輻輳制御付き通信におけるデータの受信状況を監視し、当該データの受信状況に応じて、送信装置10から送信するデータの冗長化を制御する。これにより、輻輳制御に起因して送信装置50の送信レートが上昇した場合に、送信装置10の通信の品質が低下することを抑制できる。 As described above, according to the present embodiment, the relay device 40 monitors the data reception status in congestion-controlled communication performed between the transmission device 50 and the reception device 60, and depending on the data reception status, the relay device 40 Controls redundancy of data sent from Thereby, when the transmission rate of the transmitting device 50 increases due to congestion control, it is possible to suppress the quality of communication of the transmitting device 10 from deteriorating.

(第4実施形態)
第4実施形態では、中継装置40が送信装置50からのパケットの受信状況に応じて、受信装置20に送信装置10におけるデータの冗長化を要求する要求情報を送信する。例えば中継装置40は、受信装置20宛に中継するパケットに要求情報を含める。受信装置20は要求情報に基づき、パケットの冗長化を指示する制御情報(例えば輻輳制御の開始の検知を示す情報)を生成し、制御情報を送信装置10に送信する。例えば受信装置20は、制御情報を含む応答パケットを送信装置10宛に送信する。
(Fourth embodiment)
In the fourth embodiment, the relay device 40 transmits request information requesting data redundancy in the transmitting device 10 to the receiving device 20, depending on the reception status of packets from the transmitting device 50. For example, the relay device 40 includes request information in a packet relayed to the receiving device 20. The receiving device 20 generates control information instructing packet redundancy (for example, information indicating detection of the start of congestion control) based on the request information, and transmits the control information to the transmitting device 10. For example, the receiving device 20 transmits a response packet containing control information to the transmitting device 10.

第4実施形態の通信システムのブロック図は、第3実施形態と同じ図20である。送信装置50のブロック図は、第3実施形態と同じ図15である。送信装置10(第3装置)のブロック図は第3実施形態と同じ図16である。受信装置60(第1装置)のブロック図は、第3実施形態と同じ図21である。 The block diagram of the communication system of the fourth embodiment is the same as that of the third embodiment, FIG. 20. The block diagram of the transmitting device 50 is the same as FIG. 15 in the third embodiment. The block diagram of the transmitting device 10 (third device) is shown in FIG. 16, which is the same as in the third embodiment. The block diagram of the receiving device 60 (first device) is shown in FIG. 21, which is the same as in the third embodiment.

中継装置40のブロック図は、第3実施形態と同じ図23である。制御部311の動作が異なる。 A block diagram of the relay device 40 is shown in FIG. 23, which is the same as in the third embodiment. The operation of the control unit 311 is different.

図26は、受信装置20(第2装置)のブロック図である。第3実施形態の受信装置20のブロック図(図22)に制御部212が追加されている。制御部212以外の動作は第3実施形態と同じである。 FIG. 26 is a block diagram of the receiving device 20 (second device). A control section 212 is added to the block diagram (FIG. 22) of the receiving device 20 of the third embodiment. Operations other than the control unit 212 are the same as in the third embodiment.

以下、第3実施形態との差分を説明する。中継装置40において中継処理部310の制御部311は、送信装置50と受信装置60間の通信(輻輳制御付き通信)に関して、受信処理部301におけるパケットの受信状況を監視している。送信装置50から受信するパケットは一例として送信装置50から受信する第1データに対応する。制御部311は、受信状況に応じて、送信装置10から送信するパケットの冗長度を決定、あるいは、冗長化処理の開始又は終了を決定する。制御部311は、冗長度、あるいは冗長化処理の開始又は終了を含む制御情報を送信装置10に送信することを受信装置20に要求する要求情報を生成する。要求情報は、受信装置20に送信装置10から送信するパケットの冗長化の制御を要求する情報である。制御部311は、生成した要求情報を、受信装置20に中継するパケットに含める。例えば中継するパケットのDFMPヘッダの所定フィールドに要求情報を格納する。中継するパケットは、送信装置10から受信したパケットのデータ(第2データ)と、要求情報とを含む。中継するパケットは一例として、受信装置20に中継する第3データに対応する。 Differences from the third embodiment will be explained below. In the relay device 40, the control unit 311 of the relay processing unit 310 monitors the packet reception status in the reception processing unit 301 regarding communication between the transmitting device 50 and the receiving device 60 (communication with congestion control). The packet received from the transmitting device 50 corresponds to the first data received from the transmitting device 50, for example. The control unit 311 determines the redundancy of the packet transmitted from the transmitting device 10, or determines the start or end of redundancy processing, depending on the reception status. The control unit 311 generates request information that requests the receiving device 20 to transmit control information including the degree of redundancy or the start or end of redundancy processing to the transmitting device 10. The request information is information that requests the receiving device 20 to control redundancy of packets transmitted from the transmitting device 10. The control unit 311 includes the generated request information in a packet relayed to the receiving device 20. For example, request information is stored in a predetermined field of a DFMP header of a packet to be relayed. The packet to be relayed includes data of the packet (second data) received from the transmitting device 10 and request information. The packet to be relayed corresponds to the third data to be relayed to the receiving device 20, for example.

中継処理部310は、要求情報が格納されたパケットを、送信処理部304を介して受信装置20に送信する。送信されたパケットは、必要に応じて他の中継装置を経由した後、受信装置20で受信される。 Relay processing section 310 transmits the packet containing the request information to receiving device 20 via transmission processing section 304. The transmitted packet is received by the receiving device 20 after passing through other relay devices as necessary.

受信装置20の制御部212は、送信装置10からのパケットから要求情報を検出し、要求情報に従って、送信装置10から送信されるパケットの冗長化を指示する制御情報を生成する。制御部212は、応答パケットに制御情報を含め、制御情報を含む応答パケットを、情報通信部206を介して送信する。送信した応答パケットは、中継装置40を介して、送信装置10で受信される。送信装置10の制御部104は、情報通信部106を介して制御情報を受信し、受信した制御情報に基づき、送信部105Bから送信するパケットを冗長化する。 The control unit 212 of the receiving device 20 detects request information from the packet from the transmitting device 10, and generates control information instructing redundancy of the packet transmitted from the transmitting device 10 according to the request information. The control unit 212 includes 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 transmitting device 10 receives control information via the information communication unit 106, and makes the packets transmitted from the transmitting unit 105B redundant based on the received control information.

図27は、第4実施形態に係る通信シーケンスの一例を示す。受信装置20が送信装置10と通信を開始する。例えば一定の短い間隔でアプリケーションBに提供する優先度の高いデータの通信(例えばUDP通信又はTCP通信等)を開始する(S151)。 FIG. 27 shows an example of a communication sequence according to the fourth embodiment. The receiving device 20 starts communicating with the transmitting device 10. For example, communication of high-priority data (for example, UDP communication or TCP communication) to be provided to application B at fixed short intervals is started (S151).

その後、受信装置60が、送信装置50と輻輳制御付き通信(例えばTCP通信)を開始する(S152)。中継装置40は、送信装置50が輻輳制御付き通信を開始したことを検知する。中継装置40は、送信装置10から受信するパケットに、冗長化を制御することを受信装置20に要求する要求情報を格納し、要求情報を格納したパケットを受信装置20に転送する(S153)。受信装置20は、送信装置10に送信する応答パケットの冗長化を制御する制御情報を格納し、制御情報を格納した応答パケットを送信する(S154)。制御情報は、一例として輻輳制御付き通信の開始を通知するデータ(輻輳制御付き通信の開始データ)である。応答パケットは中継装置40を介して送信装置10で受信される。送信装置10は送信するパケットの冗長度を上昇させ、冗長化されたパケットを送信する(S156)。 After that, the receiving device 60 starts communication with congestion control (for example, TCP communication) with the transmitting device 50 (S152). Relay device 40 detects that transmitter 50 has started communication with congestion control. The relay device 40 stores request information requesting the receiving device 20 to control 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 redundancy of the response packet transmitted to the transmitting device 10, and transmits the response packet storing the control information (S154). The control information is, for example, data that notifies 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).

受信装置60は、送信装置50と輻輳制御付き通信を終了すると(S157)、中継装置40は、送信装置50が輻輳制御付き通信が終了したことを検知する。中継装置40は、送信装置10から受信するパケットに、送信装置10から送信されるパケットの冗長度を低下又は冗長化を停止させることを受信装置20に要求する要求情報を格納し、要求情報を格納したパケットを受信装置20に転送する(S158)。受信装置20は、送信装置10に送信する応答パケットに制御情報を格納し、制御情報を格納した応答パケットを送信する(S159)。制御情報は、一例として輻輳制御付き通信の終了を通知するデータ(輻輳制御付き通信の終了データ)である。応答パケットは中継装置40を介して送信装置10で受信される。送信装置10は終了データを受信すると、受信装置20に送信するデータの冗長度の制御を終了する。 When the receiving device 60 ends the congestion-controlled communication with the transmitting device 50 (S157), the relay device 40 detects that the transmitting device 50 has ended the congestion-controlled communication. The relay device 40 stores request information requesting the receiving device 20 to reduce the redundancy or stop redundancy of the packet transmitted from the transmitting device 10 in the packet received from the transmitting device 10, and stores the request information in the packet received from the transmitting device 10. The stored packet is transferred to the receiving device 20 (S158). The receiving device 20 stores the control information in the response packet transmitted to the transmitting device 10, and transmits the response packet storing the control information (S159). The control information is, for example, data that notifies 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. When the transmitting device 10 receives the end data, it ends controlling the redundancy of the data transmitted to the receiving device 20.

図27の例では、受信装置20は輻輳制御付き通信の開始及び終了を制御情報として送信したが、受信装置20は冗長度を指示した制御情報を送信してもよい。 In the example of FIG. 27, the receiving device 20 transmits the start and end of communication with congestion control as control information, but the receiving device 20 may transmit control information indicating redundancy.

また図27の例では中継装置40は制御情報を応答パケットに含めたが、応答パケットとは別のパケットによって制御情報を送信してもよい。 Further, in the example of FIG. 27, the relay device 40 includes the control information in the response packet, but the control information may be transmitted in a packet other than the response packet.

図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から送信するパケットの冗長度を制御する。 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 transmitting device 50 and the receiving device 60 (S161). The control unit 311 generates request information requesting redundancy of packets transmitted in the communication (second communication) of the transmitting device 10 according to the reception status of data (packets) (S162). For example, when the control unit 311 detects that TCP communication has started between the transmitter 50 and the receiver 60, the controller 311 instructs the receiver to transmit control information notifying the start of the communication to the transmitter 10. 20 is generated. The control unit 311 includes the generated request information in a packet relayed to the receiving device 20, and transmits the packet including 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 detection of the start of congestion control) instructing redundancy of the packet, according to the request information included in the packet. The control unit 212 transmits the response packet to the transmitting device 10 via the information communication unit 206. The control unit 104 of the transmitting device 10 receives control information via the information communication unit 106. The control unit 104 controls the redundancy of packets transmitted from the transmitter 105B based on the control information.

以上、本実施形態によれば、中継装置40が、送信装置50及び受信装置60間で行われる輻輳制御付き通信におけるデータの受信状況を監視する。中継装置40は、当該データの受信状況に応じて、送信装置10から送信するデータの冗長化を制御することを要求する要求情報を受信装置20に送信する。受信装置20は要求情報に従って、送信装置10から送信するデータの冗長化を指示する制御情報を送信装置10に送信する。これにより、輻輳制御により送信装置50の送信レートが上昇した場合に、送信装置10の通信の品質が低下することを抑制できる。 As described above, according to the present embodiment, the relay device 40 monitors the data reception status in the congestion-controlled communication performed between the transmitting device 50 and the receiving device 60. The relay device 40 transmits request information to the receiving device 20 requesting control of redundancy of data transmitted from the transmitting device 10, depending on the reception status of the data. The receiving device 20 transmits control information to the transmitting device 10 instructing redundancy of data transmitted from the transmitting device 10 in accordance with the request information. Thereby, when the transmission rate of the transmitting device 50 increases due to congestion control, it is possible to suppress the deterioration of the communication quality of the transmitting device 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)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
(Fifth embodiment)
Part or all of each device (the transmitting device 10 or the receiving device 20) in the above-described embodiments may be configured with hardware, such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). It may be configured by information processing of software (program) executed by. In the case where the software is configured by software information processing, the software that realizes at least some of the functions of each device in the above-described embodiments may be stored on a flexible disk, CD-ROM (Compact Disc-Read Only Memory), or USB (Universal Software information processing may be executed by storing the information in a non-temporary storage medium (non-temporary computer-readable medium) such as Serial Bus (Serial Bus) memory and reading it into a computer. Further, the software may be downloaded via a communication network. Furthermore, information processing may be performed by hardware by implementing software in a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。 The type of storage medium that stores software is not limited. The storage medium is not limited to a removable one such as a magnetic disk or an optical disk, but may be a fixed storage medium such as a hard disk or memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.

図29は、前述した実施形態における各装置(送信装置10、又は受信装置20)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ91と、主記憶装置92(メモリ)と、補助記憶装置93(メモリ)と、ネットワークインタフェース94と、デバイスインタフェース95と、を備え、これらがバス96を介して接続されたコンピュータ90として実現されてもよい。 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 embodiment described above. Each device includes, for example, 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.

図29のコンピュータ90は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図29では、1台のコンピュータ90が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース94等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。 Although the computer 90 in FIG. 29 includes one of each component, it may include a plurality of the same components. Furthermore, although one computer 90 is shown in FIG. 29, the software may be installed on multiple computers, and each of the multiple computers may execute the same or different part of the software. Good too. In this case, a form of distributed computing may be used in which each computer communicates via the network interface 94 or the like to execute processing. In other words, each device (the transmitting device 10 or the receiving device 20) in the embodiment described above is a system that realizes functions by one or more computers executing instructions stored in one or more storage devices. It may be configured as Alternatively, the information transmitted from the terminal may be processed by one or more computers provided on the cloud, and the processing results may be sent to the terminal.

前述した実施形態における各装置(送信装置10又は受信装置20)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ90と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。 Various calculations of each device (the transmitting device 10 or the receiving device 20) in the embodiments described above are executed in parallel using one or more processors or multiple computers via a network. Good too. Further, various calculations may be distributed to a plurality of calculation cores within the processor and executed in parallel. Further, a part or all of the processing, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on a cloud that can communicate with the computer 90 via a network. In this way, each device in the embodiments described above may be in the form of parallel computing using one or more computers.

プロセッサ91は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ91は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ91は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ91は、量子コンピューティングに基づく演算機能を含むものであってもよい。 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 device. 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, but may be realized by an optical circuit using an optical logic element. Further, the processor 91 may include an arithmetic function based on quantum computing.

プロセッサ91は、コンピュータ90の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ91は、コンピュータ90のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ90を構成する各構成要素を制御してもよい。 The processor 91 can perform arithmetic processing based on data and software (programs) input from each device in the internal configuration of the computer 90, and can output calculation results and control signals to each device. The processor 91 may control each component making up the computer 90 by executing the OS (Operating System) of the computer 90, applications, and the like.

前述した実施形態における各装置(送信装置10、又は受信装置20)は、1又は複数のプロセッサ91により実現されてもよい。ここで、プロセッサ91は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。 Each device (the transmitting device 10 or the receiving device 20) in the embodiment described above may be realized by one or more processors 91. Here, the processor 91 may refer to one or more electronic circuits arranged on one chip, or one or more electronic circuits arranged on two or more chips or two or more devices. You can also point. When using multiple electronic circuits, each electronic circuit may communicate by wire or wirelessly.

主記憶装置92は、プロセッサ91が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置92に記憶された情報がプロセッサ91により読み出される。補助記憶装置93は、主記憶装置92以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)において各種データを保存するための記憶装置は、主記憶装置92又は補助記憶装置93により実現されてもよく、プロセッサ91に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における一時記憶部140、240は、主記憶装置92又は補助記憶装置93により実現されてもよい。 The main storage device 92 is a storage device that stores instructions and various data to be executed by the processor 91, and 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. Note that these storage devices are any electronic components capable of storing electronic information, and may be semiconductor memories. Semiconductor memory may be either volatile memory or nonvolatile memory. The storage device for storing various data in each device (the transmitting device 10 or the receiving device 20) in the above-described embodiments may be realized by the main storage device 92 or the auxiliary storage device 93, and may be implemented by the main storage device 92 or the auxiliary storage device 93, which is built in the processor 91. It may also be realized by a built-in memory. For example, the temporary storage units 140 and 240 in the embodiments described above may be realized by the main storage device 92 or the auxiliary storage device 93.

記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(送信装置10、又は受信装置20)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。 A plurality of processors may be connected (combined) to one storage device (memory), or a single processor may be connected to one storage device (memory). A plurality of storage devices (memories) may be connected (combined) to one processor. Each device (the transmitting device 10 or the receiving device 20) in the embodiments described above is configured with at least one storage device (memory) and a plurality of processors connected (coupled) to the at least one storage device (memory). In the case of a plurality of processors, at least one processor may be connected (coupled) to at least one storage device (memory). Further, this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers. Furthermore, a configuration in which a storage device (memory) is integrated with a processor (for example, a cache memory including an L1 cache and an L2 cache) may be included.

ネットワークインタフェース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)等がある。 The network interface 94 is an interface for connecting to the communication network 97 wirelessly or by wire. As the network interface 94, an appropriate interface such as one that complies with existing communication standards may be used. The network interface 94 may exchange information with an external device 98A connected via the communication network 97. Note that the communication network 97 may be any one of a WAN (Wide Area Network), a LAN (Local Area Network), a PAN (Personal Area Network), etc., or a combination thereof, and can be used to connect the computer 90 and the external device 98A. It is sufficient that information is exchanged between them. Examples of WAN include the Internet, examples of LAN include IEEE802.11 and Ethernet (registered trademark), and examples of PAN include Bluetooth (registered trademark) and NFC (Near Field Communication).

デバイスインタフェース95は、外部装置98Bと直接接続するUSB等のインタフェースである。 The device interface 95 is an interface such as a USB that is directly connected to the external device 98B.

外部装置98Aはコンピュータ90とネットワークを介して接続されている装置である。外部装置98Bはコンピュータ90と直接接続されている装置である。 The external device 98A is a device connected to the computer 90 via a network. External device 98B is a device directly connected to computer 90.

外部装置98A又は外部装置98Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ90に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。 The external device 98A or the external device 98B may be an input device, for example. The input device is, for example, a device such as a camera, microphone, motion capture, various sensors, keyboard, mouse, or touch panel, and provides the acquired information to the computer 90. Alternatively, the device may be a device including an input section, a memory, and a processor, such as a personal computer, a tablet terminal, or a smartphone.

また、外部装置98A又は外部装置98Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。 Further, the external device 98A or the external device 98B may be an output device, for example. The output device may be 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, or output audio or the like. It may also be a speaker or the like. Alternatively, the device may be a device including an output unit, a memory, and a processor, such as a personal computer, a tablet terminal, or a smartphone.

また、外部装置98Aまた外部装置98Bは、記憶装置(メモリ)であってもよい。例えば、外部装置98Aはネットワークストレージ等であってもよく、外部装置98BはHDD等のストレージであってもよい。 Further, the external device 98A or the external device 98B may be a storage device (memory). For example, 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.

また、外部装置98A又は外部装置98Bは、前述した実施形態における各装置(送信装置10、又は受信装置20)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ90は、外部装置98A又は外部装置98Bの処理結果の一部又は全部を送信又は受信してもよい。 Further, the external device 98A or the external device 98B may be a device having some functions of the components of each device (the transmitting device 10 or the receiving device 20) in the embodiments described above. That is, the computer 90 may transmit or receive part or all of the processing results of the external device 98A or 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)以外の他の要素を加えることも含む。 In this specification (including claims), the expression "at least one (one) of a, b, and c" or "at least one (one) of a, b, or c" (including similar expressions) When used, it includes any of a, b, c, a-b, a-c, b-c, or a-b-c. Further, each element may include multiple instances, such as a-a, a-b-b, a-a-b-b-c-c, etc. Furthermore, it also includes adding other elements other than the listed elements (a, b and c), such as having d as in a-b-c-d.

本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。 In this specification (including claims), when expressions such as "using data as input/based on data/in accordance with/according to" (including similar expressions) are used, unless otherwise specified, This includes cases where various data itself is used as input, and cases where various data subjected to some processing (for example, noise added, normalized, intermediate representation of various data, etc.) are used as input. In addition, if it is stated that a certain result is obtained "based on/according to/according to data", this includes cases where the result is obtained only based on the data, and other data other than the data, It may also include cases where the results are obtained under the influence of factors, conditions, and/or states. In addition, if it is stated that "data will be output", if there is no special notice, various data itself may be used as output, or data that has been processed in some way (for example, data with added noise, normal This also includes cases in which the output is digitized data, intermediate representations of various data, etc.).

本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。 In this specification (including the claims), when the terms "connected" and "coupled" are used, the terms "connected" and "coupled" refer to direct connection/coupling and indirect connection/coupling. , electrically connected/coupled, communicatively connected/coupled, functionally connected/coupled, physically connected/coupled, etc., without limitation. intended as a term. The term should be interpreted as appropriate depending on the context in which the term is used, but forms of connection/coupling that are not intentionally or naturally excluded are not included in the term. Should be construed in a limited manner.

本明細書(請求項を含む)において、「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)されていればよい。 In this specification (including the claims), when the expression "A configured to B" is used, it means that the physical structure of element A is capable of performing operation B. configuration, and includes a permanent or temporary setting/configuration of element A being configured/set to actually perform operation B. good. For example, if element A is a general-purpose processor, the processor has a hardware configuration that can execute operation B, and can perform operation B by setting a permanent or temporary program (instruction). It only needs to be configured to actually execute. In addition, if element A is a dedicated processor or a dedicated arithmetic circuit, the circuit structure of the processor is configured to actually execute operation B, regardless of whether control instructions and data are actually attached. It is sufficient if it has been implemented.

本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。 In this specification (including the claims), when terms meaning inclusion or possession (for example, "comprising/including" and "having", etc.) are used, the object of the term It is intended as an open-ended term, including the case of containing or possessing something other than the object indicated. If the object of a term meaning inclusion or possession is an expression that does not specify a quantity or suggests a singular number (an expression with a or an as an article), the expression shall be interpreted as not being limited to a specific number. It should be.

本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。 In this specification (including the claims), expressions such as "one or more" or "at least one" are used in some places, and quantities are specified in other places. Even if an expression is used that suggests no or singular (an expression with the article a or an), it is not intended that the latter expression means "one". In general, expressions that do not specify a quantity or imply a singular number (expressions with the article a or an) should be construed as not necessarily being limited to a particular number.

本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。 In this specification, if it is stated that a specific effect (advantage/result) can be obtained with respect to a specific configuration of a certain embodiment, unless there is a reason to the contrary, one or more other components having the configuration may be used. It should be understood that the same effect can also be obtained with the embodiment. However, it should be understood that the presence or absence of the said effect generally depends on various factors, conditions, and/or states, and that the said effect is not necessarily obtained by the said configuration. The effect is only obtained by the configuration described in the Examples when various factors, conditions, and/or states, etc. are satisfied, and in the claimed invention that specifies the configuration or a similar configuration. However, this effect is not necessarily obtained.

本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。 In this specification (including the claims), when terms such as "maximize" are used, it refers to finding a global maximum value, finding an approximate value of a global maximum value, or finding a local maximum value. and approximating the local maximum value, and should be interpreted as appropriate depending on the context in which the term is used. It also includes finding approximate values of these maximum values probabilistically or heuristically. Similarly, terms such as "minimize" are used to refer to finding a global minimum, finding an approximation to a global minimum, finding a local minimum, and finding a local minimum. It includes approximations of values and should be interpreted as appropriate depending on the context in which the term is used. It also includes finding approximate values of these minimum values probabilistically or heuristically. Similarly, terms such as "optimize" are used to refer to finding a global optimum, finding an approximation to a global optimum, finding a local optimum, and determining a local optimum. It includes approximations of values and should be interpreted as appropriate depending on the context in which the term is used. It also includes finding approximate values of these optimal values probabilistically or heuristically.

本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。 In this specification (including claims), when multiple pieces of hardware perform a predetermined process, each piece of hardware may cooperate to perform the predetermined process, or some of the hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform part of a predetermined process, and another piece of hardware may perform the rest of the predetermined process. In this specification (including claims), when 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 processing and the hardware that performs the second processing may be the same or different. In other words, the hardware that performs the first processing and the hardware that performs the second processing may be included in the one or more pieces of hardware. Note that the hardware may include an electronic circuit, a device including an electronic circuit, or the like.

本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。 In this specification (including claims), when multiple storage devices (memories) store data, each storage device (memory) among the multiple storage devices (memories) stores only part of the data. It may be stored, or the entire data may be stored.

以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。 Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, changes, substitutions, and partial deletions are possible without departing from the conceptual idea and spirit of the present invention derived from the content defined in the claims and equivalents thereof. For example, in all the embodiments described above, when numerical values or formulas are used in the explanation, they are shown as examples, and the invention is not limited to these. Further, the order of each operation in the embodiment is shown as an example, and the order is not limited to this.

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 制御部、 1A sensor, 1B sensor, 10 transmitting device, 11 transmitting processing section, 20 receiving device, 21 receiving processing section, 30 communication network, 40 relay device, 50 transmitting device, 60 receiving device, 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 section, 101B data acquisition section, 102A transmission buffer section, 102B transmission buffer section, 103 Data flow synthesis section, 104 control section, 105A transmission section, 105B transmission section, 106 information communication section, 107A antenna, 107B antenna, 108B communication section, 140 temporary storage section, 201A data processing section, 201B data processing section, 202A reception buffer section, 202B reception buffer section, 203 data flow separation section, 205A reception section, 205B reception section, 206 information communication section, 207A antenna, 207B antenna, 211 control section, 212 control section, 301 reception processing section, 302 transmission processing section, 303 reception processing unit, 304 transmission processing unit, 310 relay processing unit, 311 control unit,

Claims (21)

第1データを送信し、第2データを送信する送信処理部と、
前記第1データの送信状況に応じて、前記第2データを冗長化する制御部と
を備えた通信装置。
a transmission processing unit that transmits the first data and transmits the second data;
A control unit that makes the second data redundant depending on the transmission status of the first data.
前記制御部は、前記第1データの送信頻度に応じて、前記第2データを冗長化する
請求項1に記載の通信装置。
The communication device according to claim 1, wherein the control unit makes the second data redundant depending on the transmission frequency of the first data.
前記制御部は、前記第1データの送信頻度が高いほど、前記第2データの冗長度を高くする
請求項2に記載の通信装置。
The communication device according to claim 2, wherein the control unit increases the redundancy of the second data as the frequency of transmission of the first data increases.
前記制御部は、前記第1データの送信の開始を検知した場合に、前記第2データを冗長化する
請求項1~3のいずれか一項に記載の通信装置。
The communication device according to claim 1, wherein the control unit makes the second data redundant when detecting the start of transmission of the first data.
前記送信処理部は、前記第1データを、輻輳制御アルゴリズムを有する通信プトロコルに基づき送信する
請求項1~4のいずれか一項に記載の通信装置。
The communication device according to any one of claims 1 to 4, wherein the transmission processing unit transmits the first data based on a communication protocol having a congestion control algorithm.
前記制御部は、前記第1データを送信可能な個数を定めた輻輳ウィンドウの値に基づき前記第2データを冗長化する
請求項5に記載の通信装置。
The communication device according to claim 5, wherein the control unit makes the second data redundant based on a congestion window value that determines the number of pieces of the first data that can be transmitted.
前記制御部は、前記第2データを繰り返し送信する回数を増やすことにより前記第2データを冗長化する
請求項1~6のいずれか一項に記載の通信装置。
The communication device according to claim 1, wherein the control unit makes the second data redundant by increasing the number of times the second data is repeatedly transmitted.
前記送信処理部は、前記第2データを符号化し、符号化した前記第2データを送信し、
前記制御部は、前記第2データの符号化率を小さくすることにより前記第2データを冗長化する
請求項1~6のいずれか一項に記載の通信装置。
The transmission processing unit encodes the second data and transmits the encoded second data,
The communication device according to any one of claims 1 to 6, wherein the control unit makes the second data redundant by reducing the coding rate of the second data.
前記送信処理部は、前記第1データを送信する第1送信部と、前記第2データを送信する第2送信部とを含む
請求項1~8のいずれか一項に記載の通信装置。
The communication device according to any one of claims 1 to 8, wherein the transmission processing section includes a first transmission section that transmits the first data and a second transmission section that transmits the second data.
第1データを受信し、第2データを受信する受信処理部と、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する制御部と
を備えた通信装置。
a reception processing unit that receives the first data and receives the second data;
A control unit configured to transmit control information for making the second data redundant based on a reception status of the first data.
前記受信処理部は、前記制御情報に応じて冗長化された第2データを受信し、前記冗長化された第2データに基づき、前記第2データを復元する
請求項10に記載の通信装置。
The communication device according to claim 10, wherein the reception processing unit receives second data made redundant according to the control information, and restores the second data based on the second data made redundant.
前記制御部は、前記第1データの受信頻度に応じて、前記第2データを冗長化する前記制御情報を送信する
請求項10又は11に記載の通信装置。
The communication device according to claim 10 or 11, wherein the control unit transmits the control information that makes the second data redundant depending on the reception frequency of the first data.
前記受信処理部は、前記第1データを、輻輳制御アルゴリズムを有する通信プロトコルに基づき受信し、
前記制御部は、前記通信プロトコルによる通信が開始されたことを検知した場合に、前記制御情報を送信する
請求項10~12のいずれか一項に記載の通信装置。
The reception processing unit receives the first data based on a communication protocol having a congestion control algorithm,
The communication device according to any one of claims 10 to 12, wherein the control unit transmits the control information when detecting that communication using the communication protocol has started.
第1装置宛の第1データを受信し、第2装置宛の第2データを受信する第1受信処理部と、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する第1送信処理部と、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、第2送信処理部と、
通信装置。
a first reception processing unit that receives first data addressed to the first device and receives second data addressed to the second device;
a first transmission processing unit that transmits the first data to the first device and transmits the second data to the second device;
a second transmission processing unit that transmits control information for making the second data redundant to a third device that is a transmission source of the second data, based on a reception status of the first data;
Communication device.
前記第2データに応答するメッセージを受信する第2受信処理部を備え、
前記第2送信処理部は、前記制御情報と前記メッセージとを含む第3データを前記第3装置宛に送信する
請求項14に記載の通信装置。
comprising a second reception processing unit that receives a message in response to the second data;
The communication device according to claim 14, wherein the second transmission processing unit transmits third data including the control information and the message to the third device.
第1装置宛の第1データを受信し、第2装置宛の第2データを受信する受信処理部と、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信する送信処理部と、を備え、
前記送信処理部は、前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する
通信装置。
a reception processing unit that receives first data addressed to the first device and receives second data addressed to the second device;
a transmission processing unit that transmits the first data to the first device and transmits the second data to the second device,
The transmission processing unit transmits request information requesting redundancy of the second data transmitted from a third device that is a transmission source of the second data to the second device based on the reception status of the first data. Communication equipment.
前記送信処理部は、前記要求情報と前記第2データとを含む第3データを前記第2装置宛に送信する
請求項16に記載の通信装置。
The communication device according to claim 16, wherein the transmission processing unit transmits third data including the request information and the second data to the second device.
第1データを送信し、第2データを送信し、
前記第1データの送信状況に応じて、前記第2データを冗長化する
通信方法。
transmitting the first data, transmitting the second data,
A communication method in which the second data is made redundant depending on the transmission status of the first data.
第1データを受信し、第2データを受信し、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を送信する
通信方法。
receiving first data; receiving second data;
A communication method, comprising transmitting control information for making the second data redundant based on a reception status of the first data.
第1装置宛の第1データを受信し、第2装置宛の第2データを受信し、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信し、
前記第1データの受信状況に基づき、前記第2データを冗長化する制御情報を前記第2データの送信元の第3装置宛に送信する、
通信方法。
receiving first data addressed to the first device; receiving second data addressed to the second device;
transmitting the first data to the first device; transmitting the second data to the second device;
transmitting control information for making the second data redundant to a third device that is a source of the second data, based on the reception status of the first data;
Communication method.
第1装置宛の第1データを受信し、第2装置宛の第2データを受信し、
前記第1データを前記第1装置宛に送信し、前記第2データを前記第2装置宛に送信し、
前記第1データの受信状況に基づき、前記第2装置に前記第2データの送信元の第3装置から送信される前記第2データの冗長化を要求する要求情報を送信する、
通信方法。
receiving first data addressed to the first device; receiving second data addressed to the second device;
transmitting the first data to the first device; transmitting the second data to the second device;
transmitting request information requesting redundancy of the second data transmitted from a third device that is a transmission source of the second data to the second device based on the reception status of the first data;
Communication method.
JP2020182967A 2020-10-30 2020-10-30 Communication device and communication method Pending JP2024022698A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020182967A JP2024022698A (en) 2020-10-30 2020-10-30 Communication device and communication method
PCT/JP2021/039455 WO2022092075A1 (en) 2020-10-30 2021-10-26 Communication device and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020182967A JP2024022698A (en) 2020-10-30 2020-10-30 Communication device and communication method

Publications (1)

Publication Number Publication Date
JP2024022698A true JP2024022698A (en) 2024-02-21

Family

ID=81382523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020182967A Pending JP2024022698A (en) 2020-10-30 2020-10-30 Communication device and communication method

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115291498B (en) * 2022-10-09 2023-01-20 南京国电南自维美德自动化有限公司 Redundancy switching method and system for industrial control system controller

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0748711B2 (en) * 1987-02-20 1995-05-24 日本電信電話株式会社 Signal transmission method
WO2001031858A2 (en) * 1999-10-28 2001-05-03 Siemens Aktiengesellschaft Method for improving data transfer quality in data packet oriented communication networks
CN101282141B (en) * 2007-04-05 2012-06-06 华为技术有限公司 Method, apparatus and system for transmitting and receiving data
ATE545211T1 (en) * 2007-09-26 2012-02-15 Nokia Siemens Networks Oy METHOD AND DEVICE FOR DATA PROCESSING AND COMMUNICATIONS SYSTEM WITH SUCH A DEVICE
JP5912500B2 (en) * 2011-12-19 2016-04-27 パナソニック デバイスSunx株式会社 Data transmission system and data transmission method
US9047863B2 (en) * 2012-01-12 2015-06-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control

Also Published As

Publication number Publication date
WO2022092075A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
US10237153B2 (en) Packet retransmission method and apparatus
US7746786B2 (en) Retransmission control method and device
JP5239166B2 (en) Data communication apparatus and method, and program
JP6284549B2 (en) FEC-based reliable transfer control protocol for multipath streaming
KR100772528B1 (en) Method and apparatus for efficient packet retransmission in wired/wireless network
KR101610715B1 (en) One-way data transmission and reception system, and one-way data transmission and reception method
JP5935940B2 (en) COMMUNICATION METHOD, COMMUNICATION DEVICE, AND COMMUNICATION PROGRAM
JP4859987B2 (en) Apparatus and method for adaptive and scalable packet error correction
EP1628429A2 (en) Method for transmitting information with an acknowledgement scheme and respective communication system
TWI565262B (en) Streamed radio communication
US8811180B2 (en) Communication apparatus and communication method
EP3860013A1 (en) Message processing method and apparatus
JP2000228676A (en) Data transmission method
WO2022092075A1 (en) Communication device and communication method
JP2009100118A (en) Transmission device, reception device, communication device, and communication method
US8185795B1 (en) Side channel for forward error correction used with long-haul IP links
JP2017092692A (en) Data transmission control system and method, and data transmission control program
JP2016174211A (en) Communication system
US20220368565A1 (en) Communication device and communication method
US8582456B2 (en) Method and system for digital content protection locality check with adaptive timeline in wireless communication systems
US9306824B2 (en) Communication control apparatus, communication control method, and computer-readable non-transitory recording medium
JP5397226B2 (en) COMMUNICATION SYSTEM, DATA TRANSMISSION DEVICE, DATA RECEPTION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
JP2011199691A (en) Band control apparatus
JP2003125020A (en) Information distribution system and information distribution method
JP7448014B2 (en) Communication device and communication method