WO2023238205A1 - 通信装置、通信方法、及びプログラム - Google Patents
通信装置、通信方法、及びプログラム Download PDFInfo
- Publication number
- WO2023238205A1 WO2023238205A1 PCT/JP2022/022835 JP2022022835W WO2023238205A1 WO 2023238205 A1 WO2023238205 A1 WO 2023238205A1 JP 2022022835 W JP2022022835 W JP 2022022835W WO 2023238205 A1 WO2023238205 A1 WO 2023238205A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- unit
- blocks
- duplication
- communication device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
- H04L47/431—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR] using padding or de-padding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Definitions
- the present disclosure relates to a communication device, a communication method, and a program.
- a communication device transmits and receives a duplicated frame to another communication device via a plurality of routes in a relay network NW.
- a relay network NW For example, in the uninterrupted network system described in Patent Document 1, duplicated frames are transmitted and received via multiple routes. Thereby, even if frames are discarded due to switching of communication paths in the relay network, occurrence of bit errors, etc., loss of frames can be suppressed.
- a frame string is data configured by sequentially arranging one or more frames.
- FIG. 9A shows an example of frame sequence A and frame B, which are two frame sequences that are input consecutively.
- Frame string A and frame B each include a header, a payload, and a frame check sequence (FCS).
- FCS frame check sequence
- frame sequence A has information of "110110”
- frame sequence B has information of "100101”.
- the communication device generates information "010011" indicating the exclusive OR of frame string A and frame string B, and as shown in FIG. 9D, Generate encoded frames with headers and frame check sequences.
- the lengths of the above two frame strings need to be the same.
- the lengths of frame sequence A and frame sequence B may be different, as shown in FIG. 10A.
- padding processing is performed to add padding to the frame rows (hatched portions in FIG. 10B) so that the length of each frame row is fixed.
- FIG. 10C "00" as shown in the dashed rectangle is added to the information "1101" of the frame sequence A, and a dashed-dotted line is added to the information "100" of the frame sequence B. ⁇ 000'' is added as shown in the rectangle.
- An object of the present disclosure is to improve a technique for improving data unit transfer efficiency while suppressing loss of data units.
- a communication device includes an acquisition unit that sequentially receives input of each of a plurality of data units, and a communication device that divides the plurality of input data units in bit units, and divides the plurality of input data units into a plurality of data units of a predetermined number of bits.
- a block generation unit that generates a block, a duplication unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication, and a block generation unit that duplicates the plurality of blocks and outputs a block before duplication and a block after duplication; , a related information adding unit that adds related information indicating the transmission order; an encoding unit that generates an encoded block by calculating using two consecutive blocks, which are the blocks after the duplication; and a code-related information adding unit that adds code-related information indicating that the block is a coded block and the coding order to the coded block.
- a communication method is a communication method executed by a communication device, which includes an acquisition step of sequentially receiving input of each of a plurality of data units, and a step of receiving an input of each of the plurality of input data units.
- a program according to the present disclosure causes a computer to function as a communication device according to the present disclosure.
- the communication device communication method, and program according to the present disclosure, it is possible to improve the technique of improving data unit transfer efficiency while suppressing loss of data units.
- FIG. 1 is a schematic diagram illustrating an example of a communication system according to an embodiment of the present disclosure.
- FIG. 1 is a schematic diagram showing an example of the configuration of a communication device.
- FIG. 2 is a schematic diagram showing an example of the configuration of a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 3 is a diagram for explaining a data unit processed by a transmitter.
- FIG. 2 is a schematic diagram showing an example of the configuration of a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- FIG. 3 is a diagram for explaining a data unit processed by a receiver.
- It is a flowchart which shows an example of operation of a communication system. It is a flowchart which shows an example of operation of a communication system.
- FIG. 2 is a diagram illustrating the structure of two consecutive fixed-length frames in the prior art.
- 9A is a diagram showing information included in the frame shown in FIG. 9A.
- FIG. 9B is a diagram showing an encoded frame generated based on information included in the frame shown in FIG. 9B.
- FIG. 9C is a diagram showing a frame in which a header and a frame check sequence are attached to the encoded frame shown in FIG. 9C.
- FIG. FIG. 2 is a diagram showing the structure of two consecutive variable length frames in the prior art.
- 10A is a diagram showing a frame obtained by performing padding processing on each of the two frames shown in FIG. 10A.
- FIG. 10A is a diagram showing a frame obtained by performing padding processing on each of the two frames shown in FIG. 10A.
- FIG. 10B is a diagram showing information included in each frame shown in FIG. 10B.
- FIG. 10C is a diagram showing an encoded frame generated based on information included in the frame shown in FIG. 10C.
- 10D is a diagram showing a frame in which a header and a frame check sequence are added to the encoded frame shown in FIG. 10D.
- FIG. 1 is a schematic diagram showing an example of a communication system 1 according to the present embodiment.
- FIG. 1 is a diagram showing the configuration of a communication system 1 according to this embodiment.
- the communication system 1 includes a user device U1, a user device U2, a communication device 10A, and a communication device 10B.
- Each device is communicably connected to a network 30 including, for example, the Internet and a mobile communication network, by wire or wirelessly.
- the communication method for transmitting and receiving information between each device is not particularly limited.
- the user device U1 and the user device U2 are not particularly distinguished, they will simply be referred to as "user device U.”
- the communication device 10A and the communication device 10B are not particularly distinguished, they will simply be referred to as "communication device 10.”
- FIG. 1 for ease of explanation, two user devices U are illustrated, and two communication devices 10 are illustrated. However, the number of user devices U and communication devices 10 included in the system 1 may be arbitrarily determined.
- the communication device 10A includes a transmitter 50A and a receiver 60A
- the communication device 10B includes a transmitter 50B and a receiver 60B.
- transmitter 50 the transmitter 50A and the transmitter 50B are particularly distinguished
- receiver 60A and the receiver 60B are not particularly distinguished, they will simply be referred to as "receiver 60.”
- User device U1 is connected to transmitter 50A and receiver 60A of communication device 10A.
- User device U2 is connected to transmitter 50B and receiver 60B of communication device 10B.
- the user device U1 and the communication device 10A may be integrated.
- the user device U2 and the communication device 10B may be integrated.
- the transmitter 50 can generate a redundant code from the input general layer 2 and layer 3 information and transmit it to the network 30.
- Receiver 60 can decode the original information if the information input from network 30 is corrupted.
- the user device U1 and the user device U2 are each configured by a computer including a memory, a controller, and a communication interface.
- the memory may be configured by a HDD (Hard Disk Drive), an SSD (Solid State Drive), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a ROM (Read-Only Memory), a RAM (Random Access Memory), or the like.
- the controller may be configured with dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array), a processor, or a combination of both. good.
- standards such as Ethernet (registered trademark), FDDI (Fiber Distributed Data Interface), and Wi-Fi (registered trademark) may be used as the communication interface.
- the user device U1 transmits a plurality of data units to the communication device 10A, and the user device U2 transmits a plurality of data units to the communication device 10B. Further, the user device U1 receives a plurality of data units from the communication device 10A, and the user device U2 receives a plurality of data units from the communication device 10B.
- a "data unit” is a set of data, and may be, for example, a packet or a frame, or information similar to a packet or frame. In this embodiment, the data unit includes a layer 2 or layer 3 frame.
- the communication device 10A and the communication device 10B are uninterrupted devices, and may be configured by, for example, a gateway, a router, or the like.
- the network 30 includes the Internet, at least one WAN (Wide Area Network), at least one MAN (Metropolitan Area Network), or any combination thereof.
- Network 30 may include at least one wireless network, at least one optical network, or any combination thereof.
- the wireless network is, for example, an ad hoc network, a cellular network, a wireless LAN (local area network), a satellite communication network, or a terrestrial microwave network.
- the communication protocol used in network 30 may be arbitrary.
- the communication device 10 will be described with reference to FIG. 2.
- the communication device 10A receives input of a data unit transmitted from the user device U1, executes the processing described below, and transmits the data unit to the communication device 10B.
- the communication device 10A receives a block described below from the communication device 10B, executes processing, and transmits the block to the user device U1.
- a description of the communication device 10B will be omitted, it executes processing using a data unit transmitted from the user device U2, and also receives a block from the communication device 10A, executes the process, and transmits it to the user device U2. It is the same except for this point.
- the communication device 10 includes a control section 11, a storage section 12, a communication section 13, an input section 14, and an output section 15.
- the control section 11, the storage section 12, the communication section 13, the input section 14, and the output section 15 each function to constitute the transmitter 50 and receiver 60 shown in FIG.
- the transmitter 50A and receiver 60A of the communication device 10A will be described, but the same applies to the transmitter 50B and receiver 60B of the communication device 10B.
- the control unit 11 is realized by a control calculation circuit (controller).
- the control arithmetic circuit may be constituted by dedicated hardware such as ASIC or FPGA, or may be constituted by a processor, or may be constituted by including both.
- the control unit 11 executes processing related to the operation of the communication device 10 while controlling each part of the communication device 10 .
- the control unit 11 can transmit and receive information to and from an external device via the communication unit 13 and the network.
- the storage unit 12 includes one or more memories, and may include, for example, semiconductor memory, magnetic memory, optical memory, etc. Each memory included in the storage unit 12 may function as, for example, a main storage device, an auxiliary storage device, or a cache memory.
- the storage unit 12 stores arbitrary information used for the operation of the communication device 10. The storage unit 12 does not necessarily need to be provided inside the communication device 10, and may be provided outside the communication device 10.
- the communication unit 13 includes at least one communication interface.
- the communication interface is, for example, a LAN interface.
- the communication unit 13 receives information used for the operation of the communication device 10 and transmits information obtained by the operation of the communication device 10.
- the communication unit 13 allows the communication device 10 to send and receive information to and from other devices via a network.
- the input unit 14 includes at least one input interface.
- the input interface is, for example, a physical key, a capacitive key, a pointing device, a touch screen integrated with the display, or a microphone.
- the input unit 14 accepts an operation to input information used for the operation of the communication device 10.
- the input unit 14 may be connected to the communication device 10 as an external input device instead of being included in the communication device 10.
- any method such as USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface) (registered trademark), or Bluetooth (registered trademark) can be used.
- the output unit 15 includes at least one output interface.
- the output interface is, for example, a display or a speaker.
- the display is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display.
- the output unit 15 outputs information obtained by the operation of the communication device 10.
- the output unit 15 may be connected to the communication device 10 as an external output device instead of being included in the communication device 10.
- any method such as USB, HDMI (registered trademark), or Bluetooth (registered trademark) can be used.
- FIG. 3 shows an example of the configuration of the transmitter 50.
- the transmitter 50 includes an acquisition section 511, a basic information addition section 512, a block generation section 513, a duplication section 514, a related information addition section 515, a transfer control section 516, an encoding section 517, and a code related information addition section 511.
- FIFO queue 525 shows an example of the configuration of the transmitter 50.
- the transmitter 50 includes an acquisition section 511, a basic information addition section 512, a block generation section 513, a duplication section 514, a related information addition section 515, a transfer control section 516, an encoding section 517, and a code related information addition section 511.
- the acquisition section 511, the basic information addition section 512, the block generation section 513, the duplication section 514, the related information addition section 515, the transfer control section 516, the encoding section 517, and the code related information addition section. 518 and the transmission information adding section 519 are realized by the control section 11 described above.
- the temporary FIFO queue 521, the transmission FIFO queue 522, the first odd block FIFO queue 523, the first even block FIFO queue 524, and the first encoded block FIFO queue 525 are stored in the storage unit 12 described above. Realized.
- a device separate from the communication device 10 includes each section, but a configuration may be adopted in which a device separate from the communication device 10 includes each section.
- a device separate from the communication device 10 includes a block generation section 513, a duplication section 514, a related information adding section 515, an encoding section 517, and a code related information adding section 518, and the device and the communication device 10 may be configured to communicate with each other.
- the acquisition unit 511 receives input for each of the plurality of data units in order. Specifically, the acquisition unit 511 acquires the data by sequentially receiving a plurality of data units transmitted from the user device U1 via the communication unit 13. The acquisition unit 511 outputs the plurality of acquired data units to the basic information adding unit 512.
- the basic information adding unit 512 adds basic information indicating the input order and information amount of the data units to the plurality of data units output from the acquisition unit 511.
- the information is added to the header or payload of the data unit, for example. More specifically, the amount of information refers to the length of a data unit.
- P1 to P12 indicate a plurality of data units sequentially output from the input unit 11
- hatched areas L1 to L12 indicate basic information added to each of P1 to P12 by the basic information adding unit 512. shows.
- the basic information adding unit 512 stores the data unit with the basic information added thereto in the temporary FIFO queue 521.
- the block generation unit 513 divides the plurality of input data units into bit units and generates a plurality of blocks each having a predetermined number of bits. Specifically, when the data unit stored in the temporary FIFO queue 521 reaches the amount of information of a predetermined length, the block generation unit 513 divides the data unit in the middle and generates a block having a predetermined length. The block generation unit 513 can divide the data unit into 1-bit units. In this way, the block generation unit 513 can generate a block that includes at least a portion of the input data unit and has a predetermined length. The block generation unit 513 outputs the generated block to the duplication unit 514.
- the blocks generated by the block generation unit 513 will be described with reference to FIG. 4B.
- data units P1 to P12 to which basic information has been added by the basic information adding unit 512 are combined and further divided by a predetermined length N to generate blocks B1 to B4.
- data unit P3 is part of block B1 halfway, but it is divided by block generation unit 513 at a location indicated by a white arrow, and the remaining part becomes part of block B2.
- the block generation unit 513 divides the data unit in units of 1 bit and outputs it as a block. The rest will be output as a separate block at the next timing.
- the block generation unit 513 After making at least a part of the data unit a part of the block, the block generation unit 513 performs padding processing so that the block has a predetermined number of bits if the next data unit is not input within a predetermined time. It may be applied.
- the predetermined time may be set arbitrarily. Specifically, when the block generation unit 513 determines that the next data unit is not stored in the temporary FIFO queue 521 even after a predetermined period of time has elapsed, the block generation unit 513 deletes the data that has already been stored in the temporary FIFO queue 521.
- a block having a predetermined length can be generated by reading a data unit and performing padding processing to pad the data unit. More specifically, the block generation unit 513 can perform padding processing by adding a value of "0" to the read data unit.
- the block generation unit 513 outputs the padded block to the duplication unit 514.
- the duplication unit 514 duplicates a plurality of blocks and outputs a block before duplication and a block after duplication. Specifically, the duplication unit 514 duplicates each of the plurality of blocks output by the block generation unit 513. The duplication unit 514 outputs the block before duplication to the related information adding unit 515, and outputs the block after duplication to the transfer control unit 516.
- the related information adding unit 515 adds related information indicating that the block before duplication is a block before duplication and the transmission order to the block before duplication outputted from the duplication unit 514.
- the related information adding unit 515 stores the block to which related information has been added in the transmission FIFO queue 522 as a block before duplication.
- BO1 to BO4 represent the blocks B1 to B4 in FIG. 4B to which related information has been added, respectively, as an example of a sequence of 0's and 1's.
- each block from BO1 to BO4 is configured in order from data units transmitted to the communication device 10. Shaded areas R1 to R4 indicate related information added to each block before duplication by the related information adding unit 515.
- a specific area of the header or payload of each block is reserved in advance as a bit string representing the type of block, that is, related information. It's good that it has been done.
- the transfer control unit 516 stores the duplicated block output from the duplication unit 514 in the first odd block FIFO queue 523 as an odd block if the first odd block FIFO queue 523 is empty; If so, it is stored in the first even block FIFO queue 524 as an even block. That is, the transfer control unit 516 can store odd-numbered blocks in the first odd-numbered block FIFO queue 523 and alternately store even-numbered blocks in the first even-numbered block FIFO queue 524.
- BC1 to BC4 shown in FIG. 4D represent the duplicated blocks B1 to B4 of FIG. 4B as examples by a sequence of 0's and 1's, respectively.
- the transfer control unit 516 stores odd blocks BC1 and BC3 in the first odd block FIFO queue 523, and stores even blocks BC2 and BC4 in the first even block FIFO queue. 524.
- the encoding unit 517 performs an operation using two consecutive blocks that are the blocks after duplication, and generates an encoded block. Specifically, the encoding unit 517 calculates the odd blocks stored in the first odd block FIFO queue 523 and the even blocks stored in the first even block FIFO queue 524 bit by bit from the beginning. Generate a coded block. Encoding section 517 outputs the generated encoded block to code-related information adding section 518.
- the calculation by the encoding unit 517 is performed by encoding that can be represented by a linear code.
- the encoding unit 517 performs encoding according to information calculation rules defined by regarding the block before duplication and the block after duplication of m bits as a Galois field of GF(2 m ).
- the encoding unit 517 performs encoding using exclusive OR (XOR).
- FIG. 4E shows two consecutive blocks after duplication: an odd block BC1 stored in the first odd block FIFO queue 523 and an even block stored in the first even block FIFO queue 524.
- An example using BC2 is shown below.
- the encoding unit 517 performs an exclusive OR operation on BC1 and BC2 of the copied block to generate an encoded block BE. As shown in FIG. 4E, each bit of the encoded block BE is the result of exclusive OR operation of the block BC1 and block BC2 from the beginning.
- the code-related information adding unit 518 adds code-related information indicating that the block is a coded block and the coding order to the coded block. Similar to the related information, a specific area of the block header or payload may be reserved in advance as a bit string representing the type of block, that is, code related information. In FIG. 4F, a shaded area ER1 indicates code-related information added to the encoded block BE by the code-related information adding unit 518.
- the code-related information adding unit 518 stores the coded block BE' to which the code-related information has been added in the first coded block FIFO queue 525.
- the transfer control unit 516 outputs the encoded block stored in the first encoded block FIFO queue 525 to the transmission FIFO queue 522.
- the transmission information adding unit 519 adds transmission information indicating the destination and source necessary for transmitting to the destination to the pre-duplication block and encoded block stored in the transmission FIFO queue 522.
- the black parts added to the beginnings of the blocks BO1 and BO2 before duplication and the encoded block BE' each indicate the transmission information added by the transmission information adding unit 519.
- the transmission information adding unit 519 sequentially transmits the blocks BO1', BO2' and the encoded block BE'' including the transmission information in FIG. 4G via the communication unit 13 and the network 30. Specifically, the transmission information adding unit 519 transmits to other communication devices 10 .
- FIG. 5 shows an example of the configuration of the receiver 60.
- the receiver 60 includes a transmission information deletion section 611, an identification section 612, a transfer control section 613, a calculation section 614, a reception information discrimination section 615, a transmission section 616, a second odd block FIFO queue 621, It includes a second even block FIFO queue 622, a second encoded block FIFO queue 623, and a receive FIFO queue 624.
- the transmission information deletion section 611, the identification section 612, the transfer control section 613, the calculation section 614, the received information discrimination section 615, and the transmission section 616 are realized by the above-mentioned control section 11, and the second The odd block FIFO queue 621, the second even block FIFO queue 622, the second encoded block FIFO queue 623, and the reception FIFO queue 624 are realized by the storage unit 12 described above.
- the transmission information deletion unit 611 acquires blocks transferred from the network 30 via the communication unit 13 by sequentially receiving them.
- the blocks to be received are a pre-duplication block and a coded block to which transmission information has been added.
- the transmission information deletion unit 611 deletes the transmission information added by the transmission information addition unit 519 of the transmitter 50 from each acquired block.
- Transmission information deletion section 611 outputs each block from which transmission information has been deleted to identification section 612.
- the identification unit 612 identifies whether each block output from the transmission information deletion unit 611 is a block before duplication or a coded block, and the transmission order of the blocks, and stores each block in the corresponding FIFO queue. Store. Specifically, the identification unit 612 refers to the related information and code related information of each block and stores them in the corresponding FIFO queue. Based on the related information, if the transmission order of the block before duplication is an odd number, the identification unit 612 identifies it as an odd block and stores it in the second odd block FIFO queue 621, and if the transmission order of the block before duplication is If it is an even block, it is identified as an even block and stored in the second even block FIFO queue 622. The identification unit 612 identifies the coded block based on the code related information and stores the block in the second coded block FIFO queue 623.
- the transfer control unit 613 cooperates with the identification unit 612 to control transfer from three queues: a second odd block FIFO queue 621, a second even block FIFO queue 622, and a second encoded block FIFO queue 623. so that each block is processed in the order in which it was sent, as described below.
- the transfer control unit 613 reads the odd blocks stored in the second odd block FIFO queue 621 or the even blocks stored in the second even block FIFO queue 622, and checks whether there are any missing information, bit errors, etc. judge. When the transfer control unit 613 determines that there is no information omission, bit error, etc., it discards the encoded block stored in the second encoded block FIFO queue 623. The transfer control unit 613 deletes the associated information for each block read from the second odd block FIFO queue 621 and the second even block FIFO queue 622, and sequentially outputs the information to the received information distinguishing unit 615.
- the transfer control unit 613 determines that there is information omission, bit error, etc. in the read odd block or even block, it deletes the related information in the normally received odd block or even block, and then transfers the information to the second block. Code-related information about the coded blocks stored in the coded block FIFO queue 623 is deleted. Thereafter, the transfer control unit 613 outputs the normally received odd-numbered block or even-numbered block from which the relevant information has been deleted, and the encoded block from which the code-related information has been deleted, to the calculation unit 614.
- the calculation unit 614 decodes blocks that have been lost due to information omissions, bit errors, etc., based on the output odd or even blocks and the encoded blocks.
- the calculation unit 614 performs decoding using exclusive OR (XOR) like the encoding unit 517 described above, but any method may be used for decoding.
- Arithmetic unit 614 outputs the decoded block to received information discriminator 615.
- the received information distinguishing unit 615 sequentially reads the blocks output from the transfer control unit 613 or the calculation unit 614 and identifies the amount of information indicated by the basic information added by the basic information adding unit 512 of the communication device 10.
- the received information distinguishing unit 615 combines the blocks and restores the data unit as indicated by the amount of information. In this way, the received information distinguishing section 615 can restore the original data unit before being divided by the block generating section 513 described above from each read block.
- the received information distinguishing unit 615 further deletes the basic information attached to each restored data unit, and outputs each restored data unit to the reception FIFO queue 624.
- Decoding in the receiver 60 will be described with reference to FIGS. 6A to 6D, 7A, and 7B.
- FIGS. 6A to 6D a case will be described in which both odd-numbered unduplicated blocks and even-numbered unduplicated blocks are normally received by the receiver 60.
- BO1 and BO2 indicate a normally received odd block before duplication and an even block before duplication.
- BE' indicates a normally received coded block.
- the transmission information shown in FIG. 4G has been deleted from the odd block BO1, even block BO2, and encoded block BE' by the transmission information deletion unit 611.
- the transfer control unit 613 determines that there is no information omission, bit error, etc. for both the odd block BO1 and the even block BO2.
- the encoded block BE' is discarded by the transfer control section 613, and the odd-numbered block BO1 and even-numbered block BO2 are outputted to the received information discrimination section 615 with related information deleted.
- original blocks B1 and B2 which are blocks from which related information R1 and R2 have been deleted from odd-numbered block BO1 and even-numbered block BO2, and a discarded encoded block BE' are shown.
- the received information distinguishing unit 615 sequentially reads the output blocks and identifies the amount of information indicated by the basic information added to each data unit by the basic information adding unit 512 of the communication device 10.
- FIG. 6C shows blocks B1 to B4 sequentially read by the received information distinguishing unit 615 and the corresponding original data units P1 to P11, to which the basic information of diagonal lines L1 to 11 is attached. .
- the received information distinguishing unit 615 can restore the user data unit by dividing the sequentially read and combined blocks B1 to B4 as indicated by the amount of information indicated by the basic information.
- FIG. 6D shows restored data units P1 to P12 from which basic information has been deleted by the received information distinguishing unit 615 and output to the receive FIFO queue 624. In this way, the received information distinguishing section 615 can restore the original data unit before being divided by the block generating section 513 described above from each read block.
- the transfer control unit 613 determines that there is an information omission, a bit error, etc. for the odd-numbered block, and the explanation will be made assuming that it was not received normally, but the same applies to the case that the even-numbered block is not received normally. It is.
- odd block BO1 is not received normally, and even block BO2 is received normally.
- the transfer control unit 613 outputs the normally received even block BO2 and the encoded block BE' to the calculation unit 614 in a state in which related information and code related information are respectively deleted.
- a pre-duplication block B2 which is a block from which related information R2 has been deleted from the even block BO2
- an encoded block BE which is a block from which encoded information has been deleted, are shown.
- Arithmetic unit 614 decodes odd block B1 based on block B2 and encoded block BE.
- the calculation unit 614 outputs the decoded odd block B1 and the block B2 before duplication to the received information discrimination unit 615.
- the received information discriminator 615 reads the output blocks in order.
- the subsequent operation of the received information distinguishing unit 615 is the same as that described with reference to FIGS. 6C and 6D above, so the description thereof will be omitted.
- the transmitter 616 transmits the data unit output to the reception FIFO queue 624 to the user device U via the communication unit 13 and the network 30.
- ⁇ Program> In order to function as the communication device 10 described above, it is also possible to use a computer that can execute program instructions.
- the computer may be a general-purpose computer, a dedicated computer, a workstation, a PC (Personal Computer), an electronic notepad, or the like.
- Program instructions may be program code, code segments, etc. to perform necessary tasks.
- the computer includes a processor, a storage section, an input section, an output section, and a communication interface.
- a processor is a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), SoC (System on a Chip), etc. may be configured.
- the processor controls each of the above components and performs various calculation processes by reading and executing programs from the storage unit. Note that at least a part of these processing contents may be realized by hardware.
- the input unit is an input interface that receives a user's input operation and obtains information based on the user's operation, and is a pointing device, a keyboard, a mouse, or the like.
- the output unit is an output interface that outputs information, such as a display or a speaker.
- the communication interface is an interface for communicating with an external device.
- the program may be recorded on a computer-readable recording medium. Using such a recording medium, it is possible to install a program on a computer.
- the recording medium on which the program is recorded may be a non-transitory recording medium.
- the non-transitory recording medium is not particularly limited, and may be, for example, a CD-ROM, a DVD-ROM, a USB memory, or the like. Further, this program may be downloaded from an external device via a network.
- step S1 the user device U1 transmits a data unit to the communication device 10A.
- step S2 the acquisition unit 511 sequentially receives input from each of the plurality of data units.
- the acquisition unit 511 acquires by sequentially receiving a plurality of data units transmitted from the user device U1.
- the acquisition unit 511 outputs the plurality of acquired data units to the basic information adding unit 512.
- step S3 the basic information adding unit 512 adds basic information indicating the input order and information amount of the data units to the plurality of data units output from the acquisition unit 511.
- the basic information adding unit 512 stores the data unit with the basic information added thereto in the temporary FIFO queue 521.
- step S4 the block generation unit 513 divides the plurality of input data units into bits and generates a plurality of blocks each having a predetermined number of bits. Specifically, when the data unit stored in the temporary FIFO queue 521 reaches the amount of information of a predetermined length, the block generation unit 513 divides the data unit in the middle and generates a block having a predetermined length. The block generation unit 513 outputs the generated block to the duplication unit 514.
- the block generation unit 513 After making at least a part of the data unit a part of the block, the block generation unit 513 performs padding processing so that the block has a predetermined number of bits if the next data unit is not input within a predetermined time. It may be applied. The block generation unit 513 performs padding processing and outputs the generated block to the duplication unit 514.
- step S5 the duplication unit 514 duplicates a plurality of blocks and outputs a block before duplication and a block after duplication. Specifically, the duplication unit 514 outputs the block before duplication to the related information adding unit 515, and outputs the block after duplication to the transfer control unit 516.
- step S6 the related information adding unit 515 adds related information indicating that the block before duplication is a block before duplication and the transmission order to the block before duplication outputted from the duplication unit 514.
- the related information adding unit 515 stores the block to which related information has been added in the transmission FIFO queue 522 as a block before duplication.
- step S7 the transfer control unit 516 stores the duplicated block output from the duplication unit 514 in the first odd block FIFO queue 523 as an odd block if the first odd block FIFO queue 523 is empty. , otherwise, it is stored in the first even block FIFO queue 524 as an even block.
- step S8 the encoding unit 517 performs a calculation using two consecutive blocks that are the blocks after duplication, and generates an encoded block. Specifically, the encoding unit 517 calculates the odd blocks stored in the first odd block FIFO queue 523 and the even blocks stored in the first even block FIFO queue 524 bit by bit from the beginning. Generate a coded block. In this embodiment, the calculation by the encoding unit 517 is performed by encoding that can be represented by a linear code. Encoding section 517 outputs the generated encoded block to code-related information adding section 518.
- step S9 of FIG. 8B the code-related information adding unit 518 adds code-related information indicating that the block is a coded block and the coding order to the coded block.
- the code-related information adding unit 518 stores the coded block to which the code-related information has been added in the first coded block FIFO queue 525.
- step S10 the transfer control unit 516 outputs the encoded block stored in the first encoded block FIFO queue 525 to the transmission FIFO queue 522.
- step S11 the transmission information adding unit 519 assigns the pre-duplication block stored in the transmission FIFO queue 522 in step S6 and the encoded block stored in the transmission FIFO queue 522 in step S10 in order to transmit it to the destination. Add necessary transmission information indicating the destination and source.
- step S12 the transmission information adding unit 519 sequentially transmits the block before duplication and the encoded block including the transmission information via the communication unit 13 and the network 30. Specifically, the transmission information adding unit 519 transmits to the communication device 10B, which is another communication device 10.
- step S13 the transmission information deletion unit 611 of the receiver 60B of the communication device 10B sequentially receives blocks transferred from the network 30 via the communication unit 13, and from each acquired block, the transmitter The transmission information added by the transmission information adding section 519 of 50A is deleted. Transmission information deletion section 611 outputs each block from which transmission information has been deleted to identification section 612.
- the identification unit 612 identifies whether each block output from the transmission information deletion unit 611 is a block before duplication or a coded block, and the transmission order of the blocks, and assigns each block to a corresponding one. FIFO queue. Specifically, based on the related information, if the transmission order of the block before duplication is an odd number, the identification unit 612 identifies it as an odd block and stores it in the second odd block FIFO queue 621, and stores the block before duplication in the second odd block FIFO queue 621. If the transmission order is an even number, it is identified as an even block and stored in the second even block FIFO queue 622. The identification unit 612 identifies the coded block based on the code related information and stores the block in the second coded block FIFO queue 623.
- step S15 the transfer control unit 613 reads out the odd blocks stored in the second odd block FIFO queue 621 or the even blocks stored in the second even block FIFO queue 622, and detects missing information, bit errors, etc. Determine if there are any.
- the transfer control unit 613 determines that there is no information omission, bit error, etc. in the read odd-numbered block or even-numbered block
- the process of the transfer control unit 613 proceeds to step S16. If the transfer control unit 613 determines that there is an information omission, a bit error, etc., the process of the transfer control unit 613 proceeds to step S17.
- step S16 the transfer control unit 613 discards the encoded block stored in the second encoded block FIFO queue 623.
- the transfer control unit 613 deletes the associated information for each block read from the second odd block FIFO queue 621 and the second even block FIFO queue 622, and sequentially outputs the information to the received information distinguishing unit 615. Thereafter, the process of the communication device 10B proceeds to step S19.
- step S17 of FIG. 8C the transfer control unit 613 deletes the related information for the normally received odd-numbered block or even-numbered block, and further deletes the related information for the encoded block stored in the second encoded block FIFO queue 623. Delete code related information. Thereafter, the transfer control unit 613 outputs the normally received odd-numbered block or even-numbered block from which the relevant information has been deleted, and the encoded block from which the code-related information has been deleted, to the calculation unit 614. Thereafter, the process of the communication device 10B proceeds to step S18.
- step S18 the calculation unit 614 decodes blocks that have been lost due to information omissions, bit errors, etc., based on the output odd or even blocks and the encoded blocks.
- the calculation unit 614 performs decoding using exclusive OR (XOR) like the encoding unit 517 described above, but any method may be used for decoding.
- Arithmetic unit 614 outputs the decoded block to received information discriminator 615. Thereafter, the process of the communication device 10B proceeds to step S19.
- XOR exclusive OR
- step S19 the received information distinguishing unit 615 sequentially reads the blocks output from the transfer control unit 613 or the calculation unit 614, and identifies the amount of information indicated by the basic information added by the basic information adding unit 512 of the communication device 10. do.
- the received information distinguishing unit 615 combines the blocks and restores the data unit as indicated by the amount of information.
- step S20 the received information distinguishing unit 615 deletes the basic information attached to each restored data unit, and outputs each restored data unit to the reception FIFO queue 624.
- step S21 the transmitter 616 transmits the data unit output to the reception FIFO queue 624 to the user device U2 via the communication unit 13 and the network 30.
- step S22 the user device U2 receives the data unit from the communication device 10B. After that, the operation of the communication system 1 ends.
- the communication device 10 includes an acquisition unit 511 that sequentially receives input of each of a plurality of data units, and a plurality of input data units that are divided into bits each having a predetermined number of bits.
- a block generation unit 513 that generates a block
- a duplication unit 514 that duplicates a plurality of blocks and outputs a block before duplication and a block after duplication
- a related information adding unit 515 that adds related information indicating the transmission order
- an encoding unit 517 that generates an encoded block by calculating using two consecutive blocks after duplication
- the block includes a code-related information adding unit 518 that adds code-related information indicating that the block is a coded block and the coding order.
- the block generation unit 513 generates a block of a predetermined length when a data unit of a size equal to or larger than an arbitrarily set predetermined length is stored in the temporary FIFO queue 521.
- the block generation section makes at least a part of the data unit part of the block, and then the next data unit is not input within a predetermined time. In this case, padding processing is performed so that the block has the predetermined number of bits.
- the block generation unit 513 even if the output of data units from the user device U stops, the block generation unit 513 generates a block after a predetermined time has elapsed, and the process can proceed to the next step.
- the block generation unit 513 By automatically performing padding processing by the block generation unit 513, a block having a predetermined length can be generated, and subsequent encoding processing becomes possible. In this way, it is possible to prevent communication delays from occurring due to time required for block generation. Therefore, it is possible to improve the technique of improving data unit transfer efficiency while suppressing loss of data units.
- the encoding unit 517 performs encoding that can be expressed by a linear combination.
- [Additional note 1] Accepts input for each of multiple data units in turn, dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits; Copying the plurality of blocks and outputting a block before duplication and a block after duplication, Adding related information indicating that the block before duplication is a block before duplication and a transmission order, calculating an encoded block by using two consecutive blocks, which are the blocks after the duplication,
- a communication device comprising: a control unit that provides the coded block with code-related information indicating that the block is a coded block and a coding order.
- control unit After making at least a part of the data unit a part of the block, the control unit causes the block to have the predetermined number of bits if there is no input of the next data unit within a predetermined time.
- the communication device according to Supplementary Note 1 which performs padding processing.
- a communication method executed by a communication device comprising: an acquisition step of sequentially accepting input of each of the plurality of data units; a block generation step of dividing the plurality of input data units in bit units to generate a plurality of blocks each having a predetermined number of bits; a duplication step of duplicating the plurality of blocks and outputting a block before duplication and a block after duplication; a related information adding step of adding related information indicating that the block before duplication is a block before duplication and a transmission order; an encoding step of generating an encoded block by performing an operation using two consecutive blocks that are the blocks after the duplication; a code-related information adding step of adding code-related information indicating that the coded block is a coded block and an encoding order; methods of communication, including: [Additional note 5] In the block generation step, after making at least a part of the data unit a part of the block, if there is no input of the next data unit within a predetermined
- the communication method according to supplementary note 4 further comprising the step of performing padding processing on the data.
- the communication method according to appendix 4 or 5 wherein the encoding step further includes a step of performing encoding that can be represented by a linear combination.
- [Additional note 7] A non-transitory storage medium storing a program executable by a computer, A non-temporary storage medium storing a program that causes the computer to function as the communication device according to any one of Supplementary Notes 1 to 3.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024526053A JPWO2023238205A1 (enrdf_load_stackoverflow) | 2022-06-06 | 2022-06-06 | |
PCT/JP2022/022835 WO2023238205A1 (ja) | 2022-06-06 | 2022-06-06 | 通信装置、通信方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/022835 WO2023238205A1 (ja) | 2022-06-06 | 2022-06-06 | 通信装置、通信方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023238205A1 true WO2023238205A1 (ja) | 2023-12-14 |
Family
ID=89117989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/022835 WO2023238205A1 (ja) | 2022-06-06 | 2022-06-06 | 通信装置、通信方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2023238205A1 (enrdf_load_stackoverflow) |
WO (1) | WO2023238205A1 (enrdf_load_stackoverflow) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011043230A1 (ja) * | 2009-10-07 | 2011-04-14 | 日本電信電話株式会社 | 無線通信システム、無線中継局装置、無線端末局装置、及び無線通信方法 |
WO2021155947A1 (en) * | 2020-02-07 | 2021-08-12 | Nokia Technologies Oy | Apparatus, method, and computer program |
WO2021233929A1 (en) * | 2020-05-20 | 2021-11-25 | Canon Kabushiki Kaisha | Method for pdcp network coding in 5g-ran or 4g e-utran |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7318187B2 (en) * | 2003-08-21 | 2008-01-08 | Qualcomm Incorporated | Outer coding methods for broadcast/multicast content and related apparatus |
DE602006017040D1 (de) * | 2006-05-19 | 2010-11-04 | Microsoft Corp | Inhaltsverwaltung in Peer-to-peer Datenverteilungswolken |
MX2022002529A (es) * | 2019-09-10 | 2022-04-01 | Huawei Tech Co Ltd | Metodo y aparato de procesamiento de paquete, y medio de almacenamiento en computadora. |
-
2022
- 2022-06-06 JP JP2024526053A patent/JPWO2023238205A1/ja active Pending
- 2022-06-06 WO PCT/JP2022/022835 patent/WO2023238205A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011043230A1 (ja) * | 2009-10-07 | 2011-04-14 | 日本電信電話株式会社 | 無線通信システム、無線中継局装置、無線端末局装置、及び無線通信方法 |
WO2021155947A1 (en) * | 2020-02-07 | 2021-08-12 | Nokia Technologies Oy | Apparatus, method, and computer program |
WO2021233929A1 (en) * | 2020-05-20 | 2021-11-25 | Canon Kabushiki Kaisha | Method for pdcp network coding in 5g-ran or 4g e-utran |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023238205A1 (enrdf_load_stackoverflow) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100667739B1 (ko) | 무선 데이터 송수신 장치 및 그 방법 | |
CN106464713A (zh) | 用于分层压缩的系统和方法 | |
JP4321284B2 (ja) | ストリーミングデータ送信装置、および情報配信システム | |
CN110943800A (zh) | 数据包的发送方法、装置及系统、存储介质、电子装置 | |
US10015285B2 (en) | System and method for multi-stream compression and decompression | |
CN109547467A (zh) | 媒体数据纠错传输及纠错方法、装置、设备及存储介质 | |
KR102383892B1 (ko) | 미디어 콘텐츠 기반의 자가 적응 시스템 코드 fec의 코딩 및 디코딩 방법, 장치, 시스템 및 매체 | |
CN106488243A (zh) | 一种多描述屏幕内容视频编码方法 | |
CN114978427B (zh) | 数据处理方法、装置、程序产品、计算机设备和介质 | |
JP7405232B2 (ja) | パケット通信システムとその送信装置、受信装置およびプログラム | |
JP2013225761A (ja) | 符号化装置、復号装置、通信システム及び通信制御方法 | |
WO2023238205A1 (ja) | 通信装置、通信方法、及びプログラム | |
JP2003324733A (ja) | 動画像送受信システムおよび動画像送受信方法 | |
US10880731B2 (en) | System and method for enhanced diversity and network coding (eDC-NC) | |
JP6529299B2 (ja) | 送信装置、受信装置、方法及びプログラム | |
JPH1118086A (ja) | 画像通信方法および装置 | |
JP2010034898A (ja) | データ送信装置及びデータ送信方法 | |
US8938019B2 (en) | Data transmitting device and data transmitting/receiving method | |
JP5595260B2 (ja) | 受信機 | |
JP2006304351A (ja) | 無線通信方法および無線通信装置 | |
US20130051479A1 (en) | Method for payload formatting and deformatting for burst loss recovery | |
WO2023223564A1 (ja) | 情報処理装置、情報処理方法、通信システム、及びプログラム | |
JP2007336382A (ja) | 画像伝送装置及び画像伝送方法 | |
JP4930449B2 (ja) | 前方誤り復元方式受信装置および前方誤り復元方式受信出力方法 | |
JP2001258025A (ja) | マルチメディア受信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22945715 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2024526053 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22945715 Country of ref document: EP Kind code of ref document: A1 |