Content distribution system, content distribution method, and content distribution program

By selectively transmitting only the necessary blocks in a multihop network, the content distribution system improves communication efficiency and reduces packet collisions and power consumption, addressing the challenges of reception errors and data resending in existing technologies.

JP7657388B2Active Publication Date: 2025-04-04MITSUBISHI ELECTRIC CORP
View PDF 16 Cites 0 Cited by

Patent Information

Application Number
JP2024569179
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-04-24
Filing Date
2024-01-09
Publication Date
2025-04-04
Estimated Expiration
2044-01-09

AI Technical Summary

Technical Problem

In multihop networks, the efficiency of content distribution using disappearance correction codes is compromised due to increased packet collisions and power consumption, especially when reception errors occur and data needs to be resent to different receiving stations.

Method used

The content distribution system reduces the number of transmission responses by selectively transmitting only the necessary blocks to each content distribution device, using a transmitter that identifies and transmits the smallest number of successfully received blocks among the untransmitted encoded and redundant data blocks.

Benefits of technology

This approach enhances communication efficiency by minimizing unnecessary transmissions and reducing packet collisions and power consumption in multihop networks during content distribution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007657388000003
    Figure 0007657388000003
  • Figure 0007657388000004
    Figure 0007657388000004
  • Figure 0007657388000005
    Figure 0007657388000005
Patent Text Reader

Abstract

A target distribution device that is a content distribution device is provided with a transmission unit (121). The transmission unit (121) transmits, together with a transmission source identifier, K2 blocks selected from among K1 coded blocks (132) and among M redundant data blocks (133) based on erasure correction coding, using a wireless signal. Further, when the destination identifier indicated by a reception response received from each content distribution device is the same as the device identifier of the target distribution device, the transmission unit (121) uses a wireless signal to transmit K2-Rmin blocks selected from among the blocks that are among the K1 coded blocks (132) and the M redundant data blocks (133), and that have not been transmitted, where Rmin represents the number of successfully received blocks that is indicated by one of the received reception responses and that is relatively small.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a content distribution system, a content distribution method, and a content distribution program. [Background technology]

[0002] Methods of distributing content via wireless communication include a method of distributing content from a transmitting station to each receiving station individually using unicast, and a method of distributing content from a transmitting station to multiple receiving stations simultaneously using multicast.

[0003] When distributing content using unicast, the time it takes to distribute the content to all receiving stations increases as the number of receiving stations increases. On the other hand, when distributing content using multicast, the content can be distributed at once regardless of the number of receiving stations. Therefore, when distributing content using wireless communication, it is efficient to distribute the content using multicast.

[0004] However, in wireless communication, reception errors occur due to fluctuations in reception power, interference signals from other systems, etc., so it is not possible to deliver all content correctly in one transmission. Therefore, when a reception error occurs in a case where loss of content data is not allowed, such as firmware delivery to an IoT (Internet of Things) terminal, it is necessary to resend the data corresponding to the part where the reception error occurred.

[0005] Furthermore, since the location of the reception error differs depending on the receiving station, in order to distribute all the content correctly, it is necessary to resend different data for each receiving station as data corresponding to the location of the reception error. Therefore, in a method of distributing content using multicast, as the number of receiving stations increases, the amount of data that needs to be resent increases, and the efficiency of content distribution decreases.

[0006] Patent document 1 discloses a method for reducing the amount of data to be transmitted by applying erasure correction code to the content data to be distributed when using wireless LAN (Local Area Network) to distribute the content data.In addition, Patent document 1 lists the coding method described in Non-Patent document 1 as an example of erasure correction code.

[0007] When using erasure correction code, the original content data to be sent is divided into a number of coding blocks of a certain length, and the coding is performed on a number of coding blocks to generate redundant data for restoring data loss.As a specific example, when erasure correction coding is performed on 180 coding blocks of data length of 1500 bytes at a coding rate of 1 / 3, 360 redundant data blocks of data length of 1500 bytes are generated.If the receiving station can receive 180 or more data blocks out of the total of 540 data blocks, which is the number of original coding blocks and the number of redundant data blocks, it can decode the content data. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] Patent No. 6556415 [Non-patent literature]

[0009] [Non-Patent Document 1] W. Matsumoto et al., “Rate-Compatible QC-LDPC codes”, SITA2006, Nov.28-Dec.1, 2006. Summary of the Invention [Problem to be solved by the invention]

[0010] The method disclosed in Patent Document 1 is premised on a network that is connected in a star topology, such as a wireless LAN. Here, consider the case where this method is applied to a multi-hop network. In this case, since there are receiving stations that cannot directly communicate with the transmitting station, if the transmitting station is requested to transmit additional data when decoding fails, communication efficiency will deteriorate. In addition, in this case, the receiving station that has received the encoded block and the redundant data block needs to transfer the received data to the receiving station that is the next hop. However, if all receiving stations transfer data, the number of packets will increase, which causes problems such as packet collisions and increased power consumption.

[0011] The present disclosure aims to improve communication efficiency when performing content distribution using erasure correction codes in a multi-hop network. [Means for solving the problem]

[0012] A content distribution device according to the present disclosure includes: A content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, When each of the plurality of content distribution devices is a target distribution device, the target distribution device is A coding processing unit that divides target content data, which is content data, into K1 coding blocks and performs erasure correction coding on the K1 coding blocks to generate M redundant data blocks; A transmission unit that transmits K2 blocks selected from the K1 encoded blocks and the M redundant data blocks by wireless signals together with a transmission source identifier that is a device identifier of the target distribution device; a receiving unit for receiving a reception response, the reception response being information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device that is a transmission source, a destination identifier indicating the content distribution device that is a destination, whether each block has been received by the transmission source, and an identifier of each block received by the transmission source; Equipped with When the destination identifier indicated in the reception response received by the target distribution device is the same as the device identifier of the target distribution device, the transmission unit of the target distribution device calculates the number of relatively small blocks among the number of successfully received blocks indicated in each reception response received by the target distribution device as R min Then, K2-R selected from among the K1 coded blocks and the M redundant data blocks that have not yet been transmitted is min The blocks are transmitted via radio signal. Effect of the Invention

[0013] According to the present disclosure, when the destination identifier indicated in the reception response is the same as the device identifier of the target distribution device, the transmission unit of the target distribution device detects the untransmitted K2-R min The blocks are transmitted by wireless signals. Therefore, according to the present disclosure, the number of transmissions of reception responses is reduced, so that communication efficiency can be improved when performing content distribution using erasure correction code in a multi-hop network. [Brief description of the drawings]

[0014] [Figure 1] 1 is a diagram showing an example of the configuration of a content distribution system 90 according to a first embodiment. [Diagram 2] 1 is a diagram showing an example of a configuration of a data transmitting device 100 according to a first embodiment. [Diagram 3] 1 is a diagram showing an example of a configuration of a data receiving device 200 according to a first embodiment. [Figure 4] 4 is a flowchart showing the operation of the data transmitting device 100 according to the first embodiment. [Diagram 5] 3 is a diagram for explaining the format of a coding block 132 or a redundant data block 133 according to the first embodiment. FIG. [Figure 6] FIG. 4 is a diagram for explaining the format of a reception response according to the first embodiment. [Figure 7] 4 is a flowchart showing the operation of the data receiving device 200 according to the first embodiment. [Figure 8]4 is a flowchart showing the operation of the data receiving device 200 according to the first embodiment. [Figure 9] FIG. 13 is a diagram showing an example of a hardware configuration of a data transmitting device 100 according to a modification of the first embodiment. [Figure 10] FIG. 13 is a diagram showing an example of a configuration of a data receiving device 200B according to a second embodiment. [Figure 11] 10 is a flowchart showing the operation of the data receiving device 200B according to the second embodiment. [Figure 12] 10 is a flowchart showing the operation of the data receiving device 200B according to the second embodiment. [Figure 13] FIG. 13 is a diagram showing an example of a configuration of a data receiving device 200C according to a third embodiment. [Figure 14] 11 is a flowchart showing the operation of the data receiving device 200C according to the third embodiment. [Figure 15] 11 is a flowchart showing the operation of the data receiving device 200C according to the third embodiment. [Figure 16] FIG. 13 is a diagram for explaining the format of a reception response according to the fourth embodiment. [Figure 17] 13 is a flowchart showing the operation of the data transmitting device 100 according to the fifth embodiment. [Figure 18] FIG. 23 is a diagram showing an example of a configuration of a data transmitting device 100B according to a sixth embodiment. [Figure 19] FIG. 23 is a diagram showing an example of a configuration of a data receiving device 200D according to a sixth embodiment. [Figure 20] 13 is a flowchart showing the operation of the data transmitting device 100B according to the sixth embodiment. [Figure 21] A figure explaining the procedure for generating additional transmission data in embodiment 6, where (a) is a table showing the reception status of the coding block 132, (b) is a table showing the selected coding block 132, and (c) is a table showing the selected coding block 132. [Figure 22] FIG. 23 is a diagram for explaining a format of additional transmission data according to the sixth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] In the description of the embodiments and the drawings, the same elements and corresponding elements are given the same reference numerals. Descriptions of elements given the same reference numerals are omitted or simplified as appropriate. Arrows in the drawings primarily indicate data flow or processing flow. In addition, "part" may be read as "circuit," "step," "procedure," "processing," or "circuitry" as appropriate.

[0016] Embodiment 1 Hereinafter, the present embodiment will be described in detail with reference to the drawings.

[0017] ***Configuration Description*** FIG. 1 is a diagram showing an example of the configuration of a content distribution system 90. The content distribution system 90 includes one data transmission device 100 and multiple data receiving devices 200. The data transmission device 100 and the data receiving device 200 are collectively referred to as a content distribution device. The data transmission device 100 is also referred to as a distribution data transmission device. The data receiving device 200 is also referred to as a distribution data receiving terminal. The content distribution system 90 includes multiple content distribution devices each of which distributes content data by wireless communication. One or more of the content distribution devices included in the content distribution system 90 may not distribute content data. The data transmitting device 100 is connected to a plurality of data receiving devices 200 so as to be able to communicate wirelessly with them. Each data receiving device 200 may be connected to one or more data receiving devices 200 so as to be capable of wireless communication.

[0018] 2 is a diagram showing an example of the configuration of a data transmission device 100 according to the present embodiment. The data transmission device 100 is a computer including hardware such as a processor 11, a storage device 13, a wireless module 12, and an antenna 14. The processor 11 is connected to other hardware via signal lines and controls these pieces of hardware. The data transmitting device 100 also includes, as functional components, an encoding processing unit 111, an additional transmission determining unit 112, a transmitting unit 121, a receiving unit 122, and a storage unit 130.

[0019] The processor 11 is an integrated circuit (IC) that executes processing. A specific example of the processor 11 is a central processing unit (CPU).

[0020] The storage device 13 comprises an auxiliary storage device and a memory. The auxiliary storage device is specifically a read only memory (ROM), a flash memory, or a hard disk drive (HDD). The memory is specifically a random access memory (RAM). The storage unit 130 is realized by the storage device 13. The storage unit 130 is typically realized by a memory, but may be realized by both an auxiliary storage device and a memory. The storage device 13 also stores a content distribution program. The content distribution program is a program that causes a computer to realize the functions of each unit of the content distribution device. The content distribution program is executed by the processor 11. The functions of each unit of the content distribution device are realized by software. Data used when executing the content distribution program and data obtained by executing the content distribution program are appropriately stored in the storage device 13. Each unit of the content distribution device uses the storage device 13 as appropriate. The content distribution program may be recorded in a computer-readable non-volatile recording medium. Specific examples of the non-volatile recording medium include an optical disk and a flash memory. The content distribution program may be provided as a program product.

[0021] The radio module 12 transmits and receives radio signals via an antenna 14 .

[0022] The encoding processing unit 111 generates a redundant data block 133 by performing erasure correction coding on the encoded block 132 . As a specific example, the encoding unit 111 divides the target content data, which is content data, into K1 encoding blocks 132, and executes erasure correction coding on the K1 encoding blocks 132 to generate M redundant data blocks 133. The encoding unit 111 of the target distribution device may use the decoded content data described below as the target content data. Each of K1 and M is a positive integer.

[0023] The additional transmission determination unit 112 determines whether or not each block is to be additionally transmitted.

[0024] The transmitter 121 transmits a radio signal to other content distribution devices. As a specific example, the transmission unit 121 of the target distribution device transmits K2 blocks selected from the K1 coded blocks and M redundant data blocks by wireless signal together with a transmission source identifier, which is the device identifier of the target distribution device. The target distribution device is each of a plurality of content distribution devices. In addition, when the destination identifier indicated in the reception response received by the target distribution device is the same as the device identifier of the target distribution device, the transmission unit 121 of the target distribution device transmits K2-R selected from the blocks not yet transmitted among the K1 coded blocks 132 and the M redundant data blocks 133 by wireless signal together with a transmission source identifier, which is the device identifier of the target distribution device. min blocks are transmitted via radio signal. min R is the number of relatively small blocks among the number of blocks successfully received by the target distribution device indicated by each reception response. min The number of blocks received by the target distribution device from each content distribution device may be the minimum number of blocks that were successfully received, indicated by each reception response received by the target distribution device. After the reception response transmission timer expires, the transmission unit 121 of the target distribution device transmits the number of blocks received by the target distribution device from each content distribution device, which is the number of blocks that were successfully received, indicated by each reception response received by the target distribution device from each content distribution device, among the transmission source identifiers included in the transmission source information. n The relatively large number of received messages, R n The receiver transmits a reception response indicating the source identifier corresponding to K2 and R as the destination identifier via wireless communication. min and R n Each of and is a positive integer.

[0025] The receiving unit 122 receives a wireless signal from another content distribution device. As a specific example, the receiving unit 122 of the target distribution device receives a receiving response from each of two or more content distribution devices other than the target distribution device. The receiving response is information transmitted from each content distribution device, and is information indicating a source identifier indicating the content distribution device that is the source of the receiving response, a destination identifier indicating the content distribution device that is the destination of the receiving response, whether each block was successfully received at the source, and an identifier of each block received by the source. The receiving unit 122 of the target distribution device also receives blocks from content distribution devices other than the target distribution device.

[0026] The storage unit 130 stores distribution data 131, an encoded block 132, a redundant data block 133, and a local terminal hop count 134. The distribution data 131 is content data to be distributed. The encoded blocks 132 are data indicating blocks generated by dividing the distribution data 131 . The redundant data block 133 is data indicating a block generated by performing erasure correction coding on the coding block 132 . The own terminal hop number 134 is the number of hops corresponding to the content distribution device that stores the own terminal hop number 134 , and is data indicating the number of hops from the data transmission device 100 .

[0027] 3 is a diagram showing an example of a configuration of a data receiving device 200 according to the present embodiment. The data receiving device 200 includes hardware such as a processor 21, a storage device 23, a wireless module 22, and an antenna 24. The data receiving device 200 also includes, as functional components, an encoding processing unit 211, an additional transmission determination unit 212, a decoding processing unit 213, a reception response unit 214, a transmitting unit 221, a receiving unit 222, and a storage unit 230.

[0028] Processor 21 is similar to processor 11 . Storage device 23 is similar to storage device 13 . Radio module 22 is similar to radio module 12 . Antenna 24 is similar to antenna 14 . The encoding unit 211 is similar to the encoding unit 111 . The additional transmission determination unit 212 is similar to the additional transmission determination unit 112 . The transmitting unit 221 is similar to the transmitting unit 121 . The receiver 222 is similar to the receiver 122 . Storage unit 230 is similar to storage unit 130 except that it stores source information 235 . The transmission source information 235 is information relating to the transmission source of the received block, and is information indicating the transmission source identifier corresponding to each block received by the target distribution device.

[0029] The decryption processing unit 213 of the target distribution device decrypts the content data using the block received by the target distribution device as decrypted content data.

[0030] The reception response unit 214 manages the reception response and the reception response transmission timer. As a specific example, the reception response unit 214 extends the reception response transmission timer when the number of blocks indicated in the reception response received by the target distribution device as the target reception response is smaller than the number of blocks received by the target distribution device, and when the destination identifier indicated in the target reception response matches any of the source identifiers corresponding to the blocks received by the target distribution device.

[0031] ***Explanation of Operation*** The operation procedure of each device included in the content delivery system 90 corresponds to a content delivery method, and the program that realizes the operation of each device included in the content delivery system 90 corresponds to a content delivery program.

[0032] 4 is a flowchart showing an example of the operation of the data transmitting device 100. The operation of the data transmitting device 100 will be described with reference to FIG.

[0033] (Step S301) First, the encoding processing unit 111 acquires the distribution data 131 from the storage unit 130, and divides the acquired distribution data 131 into K1 encoding blocks 132. Next, the encoding processing unit 111 executes erasure correction coding on the divided K1 coding blocks 132, thereby generating M redundant data blocks 133.Here, the value of M varies according to the coding rate of the coding method used.As a specific example, when the coding rate is 1 / 3, the value of M is twice the value of K1.Furthermore, the data size of the distribution data 131 obtained from the storage unit 130 is the data size of K1 coding blocks 132. In addition, if the total data size of the distribution data 131 stored in the memory unit 130 exceeds the data size of the distribution data 131 that the encoding processing unit 111 can acquire, the data transmitting device 100 repeatedly executes the processing of this flowchart until all of the distribution data 131 stored in the memory unit 130 has been distributed.

[0034] (Step S302) The encoding processing unit 111 stores the K1 encoded blocks 132 and the M redundant data blocks 133 generated in step S301 in the storage unit 130. At this time, in the storage unit 130, information indicating that each encoded block 132 and each redundant data block 133 has not yet been transmitted is associated with each other. The total amount of data in the encoded blocks 132 and the redundant data blocks 133 is K1+M.

[0035] (Step S303) First, the encoding processing unit 111 selects K2 blocks from the encoding blocks 132 and redundant data blocks 133 stored in step S302, and notifies the transmitting unit 121 of the selected K2 blocks in order to transmit the selected K2 blocks as wireless signals. The transmitting unit 121 then transmits the notified K2 blocks as wireless signals. Here, the block is a general term for the encoding blocks 132 and the redundant data blocks 133. The value of K2 is equal to or greater than the value of K1 and equal to or less than the value of M. Furthermore, the K2 blocks may consist of only the encoding blocks 132, or may consist of only the redundant data blocks 133. Next, the encoding processing unit 111 associates information indicating that each of the selected K2 blocks has been transmitted with the blocks in the storage unit 130. When the number of reception errors is small, the number of unnecessary transmitted blocks can be reduced by making the value of K2 closer to the value of K1.

[0036] Fig. 5 shows an example of a transmission format of a block transmitted by the transmitting unit 121. As shown in Fig. 5, the transmission format of the block includes a transmission source identifier, a hop count, an encoding number, a block number, and a data string of the encoding block 132 or the redundant data block 133. The sender identifier is information indicating an identifier of a device that sends data, and is, for example, information indicating an IP (Internet Protocol) address or a MAC (Media Access Control) address. The hop count is information indicating how many hops away the device transmitting data is from the data transmitting device 100. The hop count is set to a value stored as the own terminal hop count 134 in the storage unit 130. Note that the hop count is 0 in the data transmitting device 100. The encoding number is the serial number of the encoding process executed in step S301. The block number is a serial number of each block. As a specific example, the block number of each coded block 132 is a value from 0 to K1-1, and the block number of each redundant data block 133 is a value from K1 to K1+M-1.

[0037] (Step S304) The additional transmission determining unit 112 acquires from the receiving unit 122 the reception response transmitted by the data receiving device 200 and addressed to the data transmitting device 100 .

[0038] Fig. 6 shows an example of the format of the reception response. As shown in Fig. 6, the format of the reception response includes a transmission source identifier, a destination identifier, an encoding number, and a decoding status. Note that the reception response transmission process of the data receiving device 200 will be described later with reference to Figs. 7 and 8. The destination identifier is information that indicates the destination of the reception response. The decoding status is information indicating whether the decoding process corresponding to the coding number has been successful or not. If the decoding status indicates a decoding failure, the reception response includes a received block bitmap. The received block bitmap is information indicating whether each block has been received or not by using a bitmap. The received block bitmap is also information indicating whether each block has been received successfully or not by the sender of the reception response including the received block bitmap, and the identifier of each block received by the sender. Note that, when unsent distribution data 131 remains in storage unit 130, data transmitting device 100 may execute the process of this flowchart in parallel to transmit the remaining distribution data 131, without waiting for reception of a reception response from data receiving device 200 in step S304. Also, data transmitting device 100 may set a timeout time and wait for a reception response until the set timeout time has elapsed. When the device identifiers of data receiving devices 200 existing in the vicinity of data transmitting device 100 are known in advance, data transmitting device 100 may wait until reception responses are received from all data receiving devices 200 existing in the vicinity.

[0039] (Step S305) If all of the reception responses received by receiving unit 122 from data receiving device 200 indicate successful decoding, data transmitting device 100 ends the transmission of distribution data 131. Note that, if there is any distribution data 131 that has not been distributed, data transmitting device 100 repeatedly executes the process of this flowchart for the remaining distribution data 131. If one or more of the reception responses received by the receiving unit 122 from the data receiving device 200 indicate a decoding failure, the data transmitting device 100 proceeds to step S306. Note that the processing from step S306 onward is processing for the data receiving device 200 corresponding to the reception response indicating the decoding failure.

[0040] (Step S306) The additional transmission determination unit 112 determines the minimum number R of received blocks from the received block bitmap indicated by the reception response. min Furthermore, the additional transmission determination unit 112 acquires the numbers of each block that has not been received by the data receiving device 200 that has failed in decoding.

[0041] (Step S307) The additional transmission determination unit 112 determines whether the number of blocks among the coded blocks 132 and the redundant data blocks 133 that have not been notified to the transmission unit 121 in steps S303, S308, and S310, i.e., the number of blocks that remain associated with information indicating untransmitted blocks in the storage unit 130, is equal to or greater than K2-R min Check whether it is equal to or greater than this. The number of unsent blocks is K2-R min If so, the data transmitting device 100 proceeds to step S308, otherwise the data transmitting device 100 proceeds to step S309.

[0042] (Step S308) The additional transmission determination unit 112 selects K2-R from the blocks that have not yet been transmitted. min Select the blocks and select K2-R min The transmitting unit 121 notifies the notified K2-Rmin The blocks are transmitted as a radio signal. In addition, the additional transmission determination unit 112 stores the selected K2-R min Information indicating that each block has been sent is associated with each block.

[0043] (Step S309) First, the additional transmission determination unit 112 notifies the transmission unit 121 of all blocks that have not yet been transmitted. The transmission unit 121 transmits the notified blocks as a wireless signal. Next, in the storage unit 130, the additional transmission determination unit 112 associates each block notified in this step with information indicating that the block has been transmitted. If there is no untransmitted block, the additional transmission determination unit 112 does not notify the transmission unit 121 of any block.

[0044] (Step S310) The additional transmission determination unit 112 refers to the reception block bitmap indicated by the reception response received from each data receiving device 200, and calculates K2 and the number of reception blocks R of each data receiving device 200. n The difference between K2-R n and the number of blocks T sent in step S309, K2-R n -T blocks are selected from among the blocks that have not been received by each data receiving device 200, excluding the blocks that were transmitted in step S309, and the selected K2-R n The transmitting unit 121 notifies the notified K2-R n-T blocks are transmitted as a wireless signal. Note that the blocks to be transmitted in step S310 are already associated in the storage unit 130 with information indicating that they have been transmitted in step S303 or step S308. Therefore, in step S310, it is not necessary to associate information indicating that each block has been transmitted in the storage unit 130. Note that the additional transmission determination unit 112 preferentially selects blocks for which a relatively large number of data receiving devices 200 have not yet received the blocks, thereby reducing the number of transmitted blocks and improving efficiency. T is a positive integer.

[0045] After executing step S308 or step S310, the additional transmission determination unit 112 again acquires the reception responses transmitted by each data receiving device 200 in step S304, and checks in step S305 whether all data receiving devices 200 have succeeded in decoding. Thereafter, when all the data receiving devices 200 have succeeded in the decoding process, the data transmitting device 100 ends the process of this flowchart.

[0046] Figures 7 and 8 are flowcharts showing an example of the operation of the data receiving device 200. The operation of the data receiving device 200 will be described with reference to Figures 7 and 8. Note that this flowchart will be described assuming that the target receiving device, which is the data receiving device 200, executes the process of this flowchart. In the description of this flowchart, each unit of the data receiving device 200 refers to each unit of the target receiving device.

[0047] (Step S601) The decoding processing unit 213 waits until the receiving unit 222 receives a radio signal or until the reception response transmission timer expires. If the receiving unit 222 receives a wireless signal, the target receiving device proceeds to step S602. If the reception response transmission timer expires, the target receiving device proceeds to step S612. Hereinafter, the wireless signal received in this step is referred to as a received signal.

[0048] (Step S602) The decoding processor 213 determines the type of the received signal. If the type of the received signal is the coded block 132 or the redundant data block 133, the target receiving device proceeds to step S603, otherwise, the target receiving device proceeds to step S613.

[0049] (Step S603) If the value obtained by adding 1 to the number of hops indicated by the received signal is smaller than the value stored in the memory unit 230 as the number of hops at the own terminal 134, or if no value is stored as the number of hops at the own terminal 134, the decoding processing unit 213 updates the number of hops at the own terminal 134 to the value obtained by adding 1 to the number of hops indicated by the received block.

[0050] (Step S604) The decoding processing unit 213 stores information indicating each of the source identifier, the number of hops, and the block number indicated by the received signal in the source information 235 in the storage unit 230.

[0051] (Step S605) If the block indicated by the received signal is not stored in the memory unit 230, the decoding processing unit 213 stores the block indicated by the received signal in the memory unit 230, and also notifies the reception response unit 214 that a new block has been received.

[0052] (Step S606) The reception response unit 214 starts a reception response transmission timer. At this time, the reception response unit 214 randomly selects the expiration time of the reception response transmission timer from the times between time T1 and time T2. If the reception response transmission timer has already started, the reception response unit 214 stops the already started reception response transmission timer and starts a new reception response transmission timer only if the selected expiration time is later than the expiration time of the already started reception response transmission timer. Here, as shown in each of [Equation 1] and [Equation 2], the total number R of received blocks is n The larger the number of times, the longer the times T1 and T2 are set, so that the transmission of the reception response can be delayed.1b indicates the reference time for T1, and T 2b indicates the reference time for T2. 1b and T 2b The values ​​of and are set as parameters in the target receiving device.

[0053]

number

number

[0054] (Step S607) If a new block is stored in step S605, and if the minimum number of blocks required for the decoding process is stored in the storage unit 230, the target receiving device proceeds to step S608. If no new blocks have been stored in step S605, or if the minimum number of blocks required for the decoding process have not been stored in the storage unit 230, the target receiving device returns to step S601.

[0055] (Step S608) The decoding unit 213 executes the decoding process using the blocks stored in the storage unit 230. If the decoding process is successful, the decoding unit 213 stores the decoded K1 coded blocks 132 in the storage unit 230 as the coded blocks 132 and the distribution data 131.

[0056] (Step S609) The decoding processing unit 213 notifies the reception response unit 214 of the decoding result in step S608. If the notified decoding result indicates a decoding failure, the target receiving device returns to step S601. If the notified decoding result indicates a decoding success, the target receiving device proceeds to step S610.

[0057] (Step S610) The reception response unit 214 creates a reception response indicating successful decoding, and notifies the created reception response to the transmission unit 221. At this time, the reception response unit 214 may set the device identifiers indicating all other devices to the destination identifier of the reception response in order to transmit by multicast. Also, the reception response unit 214 may set the transmission source identifier stored in the transmission source information 235 in order to transmit by unicast to the device set in the destination identifier. In addition, in this step, the transmitting unit 221 does not need to immediately transmit the reception response, and when this embodiment is applied to a network that uses RPL (Internet Protocol version 6 (IPv6) Routing Protocol for Low-Power and Lossy Networks), the reception response may be transmitted by superimposing the reception response on an option area of ​​a DIO (DODAG Information Object) or a DAO (Destination Advertisement Object).

[0058] (Step S611) The target receiving device can distribute the distribution data 131 to the next hop data receiving device 200 by executing the same operation as that of the data transmitting device 100, that is, the same operation as that shown in Fig. 4, using the distribution data 131 stored in step S608. Note that if the target receiving device does not receive any reception response addressed to the target receiving device in step S304, it may assume that the next hop data receiving device 200 does not exist and stop distribution to the next hop data receiving device 200.

[0059] (Step S612) When the reception response transmission timer expires in step S601, the reception response unit 214 creates a reception response indicating a decoding failure based on the reception status of the block stored in the storage unit 230, and notifies the created reception response to the transmission unit 221. At this time, the reception response unit 214 selects one transmission source identifier corresponding to a hop number smaller than the hop number stored as the own terminal hop number 134 from among the transmission source identifiers stored in the transmission source information 235 in the storage unit 230, and sets the selected transmission source identifier as the destination identifier of the reception response. Note that, when there is no transmission source identifier corresponding to a hop number smaller than the hop number stored as the own terminal hop number 134 from among the transmission source identifiers stored in the transmission source information 235, the reception response unit 214 may select a transmission source identifier corresponding to a hop number larger than the hop number stored as the own terminal hop number 134. The transmission unit 221 transmits the notified reception response as a wireless signal.

[0060] Here, by setting the destination identifier of the reception response to the source identifier corresponding to the data receiving device 200 from which the target receiving device has received the most blocks, among the data receiving devices 200 that are the source of the blocks received by the target receiving device, the target receiving device can more stably receive the additional blocks that are sent. The reception response is transmitted by multicast so that it can be received by other data receiving devices 200. However, even if the reception response is transmitted by unicast, if a data receiving device 200 other than the data receiving device 200 corresponding to the destination identifier can receive the reception response, the transmission unit 221 may transmit the reception response by unicast to the data receiving device 200 set in the destination identifier of the reception response. After transmitting the reception response, the target receiving device returns to step S601.

[0061] (Step S613) When the type of the received signal is a reception response, if the reception response indicated by the received signal indicates a reception failure, and if the number of received blocks is less than the total number of blocks stored in the memory unit 230, the target receiving device proceeds to step S614. If the reception response indicated by the received signal indicates successful reception, or if the number of received blocks is equal to or greater than the total number of blocks stored in the storage unit 230, the target receiving device returns to step S601.

[0062] (Step S614) If the destination identifier indicated in the receipt response matches the source identifier stored in the source information 235, the target receiving device proceeds to step S615. Otherwise, the target receiving device returns to step S601.

[0063] (Step S615) If there is a reception response transmission timer that has already started, the reception response unit 214 extends the expiration time of the reception response transmission timer. The extended time may be longer than the time until an additional block is transmitted after the destination terminal receives the reception response indicated by the reception signal. Here, the time until the additional block is transmitted corresponds to the processing time.

[0064] ***Explanation of the Effects of the First Embodiment*** According to this embodiment, as mentioned above, when performing the content distribution using erasure correction coding in multi-hop network, each data receiving device 200 transmits reception response only when certain condition is satisfied.Therefore, according to this embodiment, the number of transmission of reception response is reduced, so that communication efficiency can be improved.

[0065] ***Other configurations*** <Variation 1> FIG. 9 shows an example of the hardware configuration of the data transmitting device 100 according to this modification. The data transmission device 100 includes a processing circuit 18 instead of the processor 11 or instead of the processor 11 and the storage device 13 . The processing circuit 18 is hardware that realizes at least a part of each unit included in the data transmitting device 100. The processing circuitry 18 may be dedicated hardware, or may be a processor that executes a program stored in the storage device 13 .

[0066] When processing circuitry 18 is dedicated hardware, processing circuitry 18 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The data transmitting device 100 may include a plurality of processing circuits that replace the processing circuit 18. The plurality of processing circuits share the role of the processing circuit 18.

[0067] In the data transmission device 100, some of the functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.

[0068] Processing circuitry 18 is illustratively implemented in hardware, software, firmware, or a combination thereof. The processor 11, the storage device 13, and the processing circuit 18 are collectively referred to as the “processing circuitry.” In other words, the functions of the functional components of the data transmission device 100 are realized by the processing circuitry. The data receiving device 200 may have the same configuration as that of this modified example. The data transmitting device 100 and the data receiving device 200 according to other embodiments may also have the same configuration as that of this modified example.

[0069] Embodiment 2 The following mainly describes the differences from the first embodiment with reference to the drawings.

[0070] ***Configuration Description*** A content distribution system 90 according to this embodiment includes a plurality of data receiving devices 200B instead of the plurality of data receiving devices 200. Data transmitting apparatus 100 according to the present embodiment is similar to data transmitting apparatus 100 according to the first embodiment.

[0071] FIG. 10 is a diagram showing an example of a configuration of a data receiving device 200B according to the present embodiment. The hardware configuration of the data receiving device 200B is similar to that of the data receiving device 200. The data receiving device 200B includes a reception response unit 214B instead of the reception response unit 214 as a functional component. The reception response unit 214B has a function of generating destination information 236 in addition to the function of the reception response unit 214. The storage unit 230 according to this embodiment further stores destination information 236 . The destination information 236 is information indicating the destination identifier indicated in the receiving response received by the data receiving device 200B, and is information indicating the destination identifier indicated in each receiving response received by the target distribution device for each content distribution device that is the sender of the receiving response received by the target distribution device.

[0072] In this embodiment, the transmission unit 221 of the target distribution device transmits a reception response indicating the target identifier as a destination identifier after the reception response transmission timer expires. The target identifier is the number of receptions R of blocks received by the target distribution device from each content distribution device among the transmission source identifiers included in the transmission source information 235. n is the threshold R th a device identifier selected from among source identifiers corresponding to content distribution devices having a size larger than 100, and which is set as the destination identifier of each reception response received by the target distribution device by a relatively large number of content distribution devices among the destination identifiers indicated by destination information 236.

[0073] ***Explanation of Operation*** 11 and 12 are flowcharts showing an example of the operation of the data receiving device 200B. The difference between the operation of data receiving device 200 and the operation of data receiving device 200B is that step S801 has been added and step S612 has been changed to step S612B. Since the steps other than the steps related to the difference are the same as described above, only the steps related to the difference will be described. Note that this flowchart will be described assuming that the target receiving device, which is data receiving device 200B, executes the process of this flowchart.

[0074] (Step S801) When the type of the received signal is a reception response, the reception response unit 214B stores in the storage unit 230 the destination identifier indicated in the reception response indicated by the received signal in the destination information 236 for each transmission source identifier indicated by the reception response. The target receiving device then proceeds to step S613.

[0075] (Step S612B) The reception response unit 214B creates a reception response indicating a decoding failure based on the reception status of the block stored in the storage unit 230. At this time, the reception response unit 214B selects, as an element of the selected identifier group, from among the destination identifiers stored in the destination information 236, device identifiers that are the same as each source identifier corresponding to a hop number smaller than the own terminal hop number 134 among the source identifiers stored in the source information 235. The reception response unit 214B refers to the destination information 236, selects, as a target identifier, from among the device identifiers included in the selected identifier group, the device identifier that has been set as the destination identifier of the reception response by the most data receiving devices 200B, and sets the selected target identifier as the destination identifier of the reception response. If there is no destination identifier corresponding to a hop count smaller than the own terminal hop count 134 among the destination identifiers stored in the destination information 236, the reception response unit 214B executes the same process as in step S612. Here, the hop count corresponding to the destination identifier is the hop count stored in the transmission source information 235.

[0076] Here, the reception response unit 214B receives the total number R of blocks that the target reception device has received from each data reception device 200B. nSelect the target identifier taking into consideration: At this time, as a specific example, first, the reception response unit 214B refers to the transmission source information 235 and calculates the total number R of blocks that the target receiving device has received from the data receiving device 200B that corresponds to the target identifier. n is the threshold R th1 Check whether it is less than the threshold R. th1 may be defined in any way. Next, the reception response unit 214B calculates the total number R n is the threshold R th1 If the number of blocks received by the data receiving device 200B corresponding to the second target identifier is less than the number of blocks in the selected identifier group, the device identifier that is set as the device identifier of the reception response by the data receiving device 200B having the next highest number of blocks in the selected identifier group is selected as the second target identifier. Then, the reception response unit 214B refers to the transmission source information 235 and selects the total number R of blocks received by the target receiving device from the data receiving device 200B corresponding to the second target identifier. n2 The reception response unit 214B confirms the confirmed total number R n2 is the threshold R th1 If so, the second target identifier is set as the destination identifier of the receipt response. The reception response unit 214B receives the total number R n2 is the threshold R th1 If the total number of blocks received by the target receiving device from the data receiving device 200B corresponding to each destination identifier stored in the destination information 236 is less than the threshold value R, the reception response unit 214B executes the above-mentioned process. th1 If the total number of blocks received by the target receiving device is less than the number of blocks received by the target receiving device, the device identifier corresponding to the data receiving device 200B is set as the destination identifier of the reception response. After transmitting the reception response, the target receiving device returns to step S601.

[0077] ***Explanation of the effect of the second embodiment*** In this embodiment, as described above, in the destination identifier of the reception response in a plurality of data receiving devices 200B, the data receiving devices 200 that transmit blocks are aggregated by setting the device identifier of the data receiving device 200B corresponding to the device identifier set as the destination identifier of the reception response by more data receiving devices 200B. Therefore, according to this embodiment, it is possible to further improve the distribution efficiency.

[0078] Embodiment 3 The following mainly describes the differences from the second embodiment with reference to the drawings.

[0079] ***Configuration Description*** A content distribution system 90 according to this embodiment includes a plurality of data receiving devices 200C instead of the plurality of data receiving devices 200B. Data transmitting apparatus 100 according to the present embodiment is similar to data transmitting apparatus 100 according to the first embodiment.

[0080] FIG. 13 is a diagram showing an example of a configuration of a data receiving device 200C according to the present embodiment. The hardware configuration of the data receiving device 200C is similar to the hardware configuration of the data receiving device 200B. The data receiving device 200C includes, as a functional component, a reception response unit 214C instead of the reception response unit 214B. The reception response section 214C has a function of generating reception power information 237 in addition to the function of the reception response section 214B. Storage unit 230 according to this embodiment further stores received power information 237. The reception power information 237 is information indicating the reception power corresponding to the block received by the data receiving device 200C for each block transmission source, and is information indicating the reception power corresponding to each block received by the target distribution device.

[0081] ***Explanation of Operation*** 14 and 15 are flowcharts showing an example of the operation of the data receiving device 200C. The difference between the operation of data receiving device 200B and the operation of data receiving device 200C is that step S901 has been added and step S612B has been changed to step S612C. Since the steps other than the steps related to the difference are the same as described above, only the steps related to the difference will be described. Note that this flowchart will be described assuming that the target receiving device, which is data receiving device 200C, executes the process of this flowchart.

[0082] (Step S901) When the type of the received signal is the coded block 132 or the redundant data block 133, the reception response unit 214C stores the received power of the received signal in the received power information 237 for each transmission source identifier corresponding to the block indicated by the received signal in the storage unit 230. At this time, the reception response unit 214C stores in the received power information 237 the average value, median value, and minimum value of the received power for each transmission source identifier. The target receiving device then proceeds to step S603.

[0083] (Step S612C) The receipt response unit 214C sets the target identifier as the destination identifier of the receipt response, similarly to step S612B. If there is no destination identifier corresponding to a hop count smaller than the own terminal hop count 134 among the destination identifiers stored in the destination information 236, the reception response unit 214C executes the same process as in step S612.

[0084] Here, the reception response unit 214C receives the total number R of blocks from each data reception device 200C. n and the reception power corresponding to the received block are taken into consideration to select a target identifier. At this time, as a specific example, first, the reception response unit 214C refers to the transmission source information 235 and calculates the total number R of blocks that the target receiving device has received from the data receiving device 200C corresponding to the target identifier. n is the threshold R th2Furthermore, the reception response unit 214C checks whether the average, median, or minimum value of the reception power corresponding to the data reception device 200C corresponding to the target identifier is less than the threshold value P th Check whether it is smaller than the threshold P th and the threshold R th2 Each of the thresholds R th2 is the threshold R th1 may be the same as Next, the reception response unit 214C calculates the total number R n is the threshold R th2 or the average, median, or minimum of the received power is less than the threshold P th If the total number R of blocks corresponding to the second target identifier is smaller than the total number R of blocks corresponding to the second target identifier, the device identifier set as the device identifier of the reception response by the data receiving device 200B, among the device identifiers included in the selected identifier group, is selected as the second target identifier. n The reception response unit 214C checks the total number R n is the threshold R th2 If the average, median, or minimum value of the confirmed received power is less than the threshold P th If the second target identifier is smaller than the first target identifier, the above-mentioned process is executed with the second target identifier as the target identifier. In addition, if the total number of blocks and the reception power corresponding to the data receiving device 200C corresponding to each destination identifier stored in the destination information 236 are all smaller than a predetermined threshold, the reception response unit 214C sets the device identifier corresponding to the data receiving device 200C with the largest total number of blocks received by the target receiving device as the destination identifier of the reception response. After transmitting the reception response, the data receiving device 200C returns to step S601. Note that, in this embodiment, the target identifier is a block identifier that is generated when the reception power corresponding to the corresponding block is equal to or exceeds the threshold P th This is a device identifier selected from the above-mentioned sender identifiers.

[0085] ***Explanation of the Effects of the Third Embodiment*** In this embodiment, as described above, in the destination identifier of the reception response in a plurality of data receiving devices 200C, a device identifier of the data receiving device 200C corresponding to a device identifier set as a destination identifier of the reception response by a greater number of data receiving devices 200C and selected in consideration of the relative strength of the reception power of the block in each data receiving device 200C is set. Therefore, according to this embodiment, it is possible to improve the delivery efficiency by stable communication while aggregating the data receiving devices 200C that transmit blocks.

[0086] Embodiment 4 The following mainly describes the differences from the above-described embodiment with reference to the drawings.

[0087] ***Configuration Description*** The configuration of a content distribution system 90 according to this embodiment is similar to the configuration shown in any one of the first to third embodiments. In this embodiment, the format of a reception response when decoding fails is different from those in the first to third embodiments.

[0088] 16 shows the format of a reception response when decoding fails, transmitted by data receiving apparatus 200 according to this embodiment. In this embodiment, when decoding fails, in addition to the formats of the reception response in embodiments 1 to 3, a format in which the reception block bitmap portion of the reception response is replaced with the number of received blocks is used. The format of the reception response when the decoding is successful is the same as the format of the reception response in the first to third embodiments.

[0089] In this embodiment, when the data receiving device 200 receives a block corresponding to a new coding number and the decoding process corresponding to the received block fails, the format of the reception response when decoding fails shown in Figure 16 is used for the coding number corresponding to the received block.

[0090] In this embodiment, until the target distribution device receives the last block that is transmitted among the blocks corresponding to the second target content data, which is content data, or until the target distribution device receives a new block, the transmission unit 221 of the target distribution device transmits a reception response indicating the total number of blocks received by the target distribution device, instead of the reception success or failure of each block at the transmission source and the identifier of each block received by the transmission source, as a reception response corresponding to the second target content data. The new block is a block that is generated at a time point different from the time point when the received block is generated, and is a block that is generated by executing erasure correction coding on the second target content data. The received block is a block that corresponds to the second target content data and has already been received by the target distribution device. As a specific example, the new block is a block that indicates a coding number that is different from the coding number indicated by the received block.

[0091] ***Explanation of Operation*** In this embodiment, in step S605, the block number of the received block is confirmed, and if the confirmed block number is the block number last transmitted from data transmitting device 100, the reception response format in embodiments 1 to 3 is used for the encoding number corresponding to the received block. In addition, if the decoding process for the distribution data 131 corresponding to a number earlier than the coding number of the received block is not successful, the reception response format in embodiments 1 to 3 is used for each block corresponding to a number earlier than the received coding number. In cases other than the above, the format of the reception response shown in FIG. 16 is used when decoding fails.

[0092] ***Explanation of the effect of the fourth embodiment*** In this embodiment, as described above, the format of the reception response when decoding fails is changed until data transmission device 100 finishes transmitting all blocks corresponding to distribution data 131 corresponding to a certain encoding number. Therefore, according to this embodiment, it is possible to reduce the communication volume of reception responses and improve distribution efficiency.

[0093] Embodiment 5. The following mainly describes the differences from the above-described embodiment with reference to the drawings.

[0094] ***Configuration Description*** The configuration of the content delivery system 90 according to this embodiment is similar to the configuration of the content delivery system 90 shown in any one of the first to fourth embodiments. In this embodiment, the method of selecting the coded blocks 132 and redundant data blocks 133 to be transmitted by the additional transmission determination unit is different from that in the first to fourth embodiments. Specifically, the additional transmission determination unit randomly selects K2-R from among the K1 coded blocks 132 and M redundant data blocks 133 that have not yet been transmitted. min Select blocks.

[0095] The formats of the coded block 132, the redundant data block 133, the reception response when the decoding is successful, and the reception response when the decoding is unsuccessful are the same as those shown in the first to fourth embodiments.

[0096] ***Explanation of Operation*** 17 is a flowchart showing an example of distribution data processing by the data transmitting device 100. Note that the process of transmitting distribution data by the data receiving device 200 to the data receiving device 200 of the next hop is similar to the distribution data processing. That is, the operation of the additional transmission determination unit 212 is similar to the operation of the additional transmission determination unit 112. The difference between FIG. 17 and FIG. 4 is step S308B and step S310B.

[0097] (Step S308B) Step S308B is the same as step S308. However, the additional transmission determination unit 112 min When selecting blocks, K2-R min Randomly select blocks.

[0098] (Step S310B) Step S310B is the same as step S310. However, the additional transmission determination unit 112 n - When selecting T blocks, K2-R n - Randomly select T blocks.

[0099] In selecting random blocks in steps S308B and S310B, a hardware random number generator may be used to generate different random numbers for each data transmitting device 100 and data receiving device 200, or random numbers generated using the device identifiers of the data transmitting device 100 and each data receiving device 200 as seeds may be used.

[0100] ***Explanation of the effect of the fifth embodiment*** In this embodiment, as described above, the data transmitting device 100 and each of the multiple data receiving devices 200 randomly select a block to be additionally transmitted after receiving a reception response indicating a decoding failure. Therefore, the probability that the data receiving device 200 receiving the additionally transmitted block from the data transmitting device 100 or the multiple data receiving devices 200 receives the same block decreases. Therefore, according to this embodiment, it is possible to improve the probability of successful decoding.

[0101] Embodiment 6 The following mainly describes the differences from the above-described embodiment with reference to the drawings.

[0102] ***Configuration Description*** 18 shows an example of the configuration of a data transmitting device 100B according to this embodiment. In the data transmitting device 100B, compared to the configuration of the data transmitting device 100 shown in any one of the first to third embodiments, a redundant data block 133 is removed from the storage unit 130, and an initial transmission processing unit 119 is added to the processor 11. In addition, the data transmitting device 100B includes an encoding processing unit 111B instead of the encoding processing unit 111, and an additional transmission determination unit 112B instead of the additional transmission determination unit 112.

[0103] The encoding processing unit 111B divides the target content data into K1 encoding blocks 132. The encoding processing unit 111B also encodes the multiple encoding blocks 132 using Fountain Code, particularly LT (Luby Transform) Code, to encode the additional transmission data. When the destination identifier indicated in each reception response received by the target distribution device is identical to the device identifier of the target distribution device, the encoding processing unit 111B of the target distribution device encodes multiple blocks selected from the blocks that failed to be received and indicated in each reception response received by the target distribution device using Fountain Code, and creates additional transmission data indicating the multiple encoded blocks.

[0104] The additional transmission determination unit 112B transmits the additional transmission data generated by the encoding processing unit 111B as the additional transmission data. When the destination identifier indicated in each reception response received by the target distribution device is the same as the device identifier of the target distribution device, the additional transmission determination unit 112B selects multiple blocks from the blocks that failed to be received, indicated by each reception response received by the target distribution device, as multiple blocks to be encoded by the encoding processing unit 111B, based on the success or failure of reception of each block indicated in each reception response received by the target distribution device, so that the additional transmission data created in any of the content distribution devices that failed to receive one or more blocks corresponding to each reception response received by the target distribution device can be decoded.

[0105] The initial transmission processor 119 executes an initial transmission of the coded block 132 .

[0106] The transmitting unit 121 according to the present embodiment transmits, by wireless signal, the K1 coded blocks 132 together with the transmission source identifier. The transmitting unit 121 of the target distribution device transmits, by wireless signal, the created additional transmission data.

[0107] The receiver 122 of the target distribution device receives additional transmission data by wireless signal from the other content distribution device.

[0108] 19 shows an example of the configuration of a data receiving device 200D according to this embodiment. In the data receiving device 200D, compared to the configuration of the data receiving device shown in any one of the first to third embodiments, the redundant data block 133 is removed from the storage unit 230, and an initial transmission processing unit 219 is added to the processor 21. In addition, the data receiving device 200D includes an encoding processing unit 211D as the encoding processing unit, an additional transmission determination unit 212D as the additional transmission determination unit, and a decoding processing unit 213D as the decoding processing unit. Although FIG. 19 shows modifications to the first embodiment, similar modifications may be applied to the second and third embodiments.

[0109] The encoding unit 211D is similar to the encoding unit 111B. The additional transmission determination unit 212D is similar to the additional transmission determination unit 112B. The first transmission processing unit 219 is similar to the first transmission processing unit 119 .

[0110] The decoding unit 213D decodes the additional transmission data received from the peripheral data receiving device 200D using the Fountain Code. That is, the decoding unit 213D restores the multiple blocks corresponding to the received additional transmission data by decoding the multiple encoded blocks indicated by the additional transmission data received from the other content distribution device using the Fountain Code.

[0111] ***Explanation of Operation*** 20 is a flowchart showing an example of distribution data processing by data transmitting device 100B according to the present embodiment. Note that the process of transmitting distribution data by data receiving device 200D to data receiving device 200D of the next hop is similar to the distribution data process. In this embodiment, different from embodiment 1 to 3, Fountain Code, especially LT Code, is used as erasure correction code. Below, the process of data transmitting device 100B is described, but data receiving device 200D also executes the same process. In this embodiment, compared with embodiment 1 to 3, the sending process of distribution data and the sending process of additional sending data are different, but other processes are the same.

[0112] (Step S301B) The encoding processing unit 111B divides the distribution data 131 into K1 encoded blocks 132. Note that each encoded block 132 is a block generated simply by dividing the distribution data 131, and is a block that has not been encoded using the Fountain Code.

[0113] (Step S302B) The encoding processing unit 111B stores in the storage unit 130 the K1 encoded blocks 132 generated in step S301B.

[0114] (Step S303B) The initial transmission processing unit 119 transmits all of the coded blocks 132 as radio signals. The format of the transmitted data is the same as the transmission format of the coded blocks 132 shown in FIG.

[0115] (Step S304) This step is similar to step S304 according to the first to third embodiments. However, the additional transmission determination unit 112B acquires a receipt response addressed to the data transmitting device 100B and transmitted by the data receiving device 200D from the receiving unit 122. The format of the receipt response is similar to the formats shown in the first to third embodiments.

[0116] (Step S305) This step is the same as step S305 in the first to third embodiments. However, if all of the reception responses received by receiver 122 from data receiving device 200D indicate successful decoding, data transmitting device 100B ends the transmission of distribution data 131. Note that, if there is any undistributed distribution data 131 remaining, data transmitting device 100B repeatedly executes the process of this flowchart for the remaining distribution data 131. If one or more of the reception responses received by the receiving unit 122 from the data receiving device 200D indicate a decoding failure, the data transmitting device 100B proceeds to step S306B. Note that the processing from step S306B onward is processing for the data receiving device 200D corresponding to the reception response indicating a decoding failure.

[0117] (Step S306B) The additional transmission determination unit 112B acquires the numbers of the encoded blocks 132 that have not been received by each data receiving device 200D corresponding to the reception response indicating a decoding failure.

[0118] (Step S921) First, the additional transmission determination unit 112B selects one coding block 132 that has not been received by any of the data receiving devices 200D corresponding to the reception response indicating a decoding failure, for additional transmission data. After that, the additional transmission determination unit 112B includes all of the one or more data receiving devices 200D that have not received the selected coding block 132 in the selected device list. The selected device list is an empty list at the start of this step. Next, the additional transmission determination unit 112B executes an additional selection process. In the additional selection process, first, when there is an encoding block 132 that has not been received by a data receiving device 200D other than the data receiving device 200D included in the selected device list and that has been received by all the data receiving devices 200D included in the selected device list, the additional transmission determination unit 112B selects one of the encoding blocks 132 for additional transmission data. In the additional selection process, next, all of the one or more data receiving devices 200D that have not received the selected encoding block 132 are included in the selected device list. The encoding block 132 selected in the additional selection process corresponds to the encoding block used for encoding by the Fountain Code in step S923. Here, in step S923, the encoding processing unit 111B encodes the selected multiple encoding blocks 132 by using Fountain Code, particularly LT Code, on the data string of the first selected encoding block 132. Note that the encoding process using Fountain Code, particularly LT Code, is an XOR operation of multiple data strings. Therefore, the length of the data string does not change before and after the encoding process.

[0119] Thereafter, the additional transmission determination unit 112B repeatedly executes the additional selection process until there are no more coding blocks 132 that can be selected in the additional selection process. In step S921, the coding blocks 132 that have already been selected for additional transmission data in at least one of steps S921 and S922 are excluded from the selection candidates. In this step, 1 to K1 coding blocks 132 are selected.

[0120] FIG. 21 shows an example of the reception status of the coded blocks 132 in each data receiving device 200D, the number of each coded block 132 for additional transmission data selected in step S921, and the number of each coded block 132 for additional transmission data selected in step S922. In FIG. 21(a), "1" indicates reception, and "0" indicates non-reception. In FIG. 21(b) and (c), "1" indicates a coded block 132 included in the additional transmission data, and "0" indicates a coded block 132 not included in the additional transmission data. In this example, the number of coded blocks 132 is 7, and the number of data receiving devices 200D is 4. Furthermore, the processes from step S921 to step S923 were repeated three times, so that three pieces of additional transmission data were created.

[0121] 21(b), with regard to the additional transmission data #1 created first in step S921, first, the additional transmission determination unit 112B selects the coding block 132 with the coding block number 1 for the additional transmission data as the coding block 132 that has not been received by any of the data receiving devices 200D corresponding to the reception response indicating a decoding failure. After that, since only the data receiving device 200D with the terminal identifier 3 has not received the coding block 132, the additional transmission determination unit 112B includes only the data receiving device 200D with the terminal identifier 3 in the selected device list. Next, the additional transmission determination unit 112B executes an additional selection process. Specifically, the additional transmission determination unit 112B selects the coding block 132 with the coding block number 2 for additional transmission data as the coding block 132 that has not been received by a data receiving device 200D other than the data receiving device 200D included in the selected device list and has been received by all data receiving devices 200D included in the selected device list. After that, since only the data receiving device 200D with the terminal identifier 1 has not received the coding block 132, the additional transmission determination unit 112B includes only the data receiving device 200D in the selected device list. Next, the additional transmission determination unit 112B executes an additional selection process. Specifically, the additional transmission determination unit 112B selects the coding block 132 with the coding block number 3 for additional transmission data as the coding block 132 that has not been received by a data receiving device 200D other than the data receiving device 200D included in the selected device list and has been received by all data receiving devices 200D included in the selected device list. After that, the additional transmission determination unit 112B includes the data receiving devices 200D with the terminal identifiers 2 and 3 in the selected device list because the data receiving devices 200D with the terminal identifiers 2 and 3 have not received the coding block 132. Next, the additional transmission determination unit 112B ends the additional selection process because there is no encoding block 132 that can be selected in the additional selection process. As a result, for the additional transmission data #1, the coding blocks 132 corresponding to each of the coding block numbers 1, 2, and 3 are selected as the coding blocks 132 for the additional transmission data. The additional transmission determination unit 112B similarly selects each coding block 132 indicated by each of the additional transmission data #2 and the additional transmission data #3. Here, for the additional transmission data #2 in (b) of Fig. 21, in step S921, the coding blocks 132 corresponding to the coding block numbers 1, 2, and 3 were previously selected, so these three coding blocks 132 are not selected. In this example, the additional transmission determination unit 112B determines whether or not there is a data receiving device 200D that has not been received, in ascending order from 1 with respect to the coding block number, and selects a coding block 132 to be included in the additional transmission data. However, the start position of the determination may be a random position, and the determination order may be a random order.

[0122] (Step S922) By executing the block addition process, the additional transmission determination unit 112B appropriately selects a decodable block for additional transmission data corresponding to the coding block 132 selected in step S921 as the coding block 132 to be used for coding by the Fountain Code in step S923. If all data receiving devices 200D can decode the additionally coded additional transmission data even if a coding block 132 that is additional to the coding block 132 selected for a certain additional transmission data is coded, the certain coding block 132 is a decodable block for the certain additional transmission data. Note that each data receiving device 200D corresponding to the reception response indicating a decoding failure has not yet received a maximum of one coding block 132 among the coding blocks 132 indicated by each additional transmission data (including the additionally coded additional transmission data). Also, even if a data receiving device 200D that has not yet received the coding block 132 indicated by the certain additional transmission data additionally codes a coding block 132 that has been received, the certain additional transmission data can be decodable for the data receiving device 200D. In the block addition process, first, the additional transmission determination unit 112B selects a certain coding block 132 for additional transmission data related to the additional transmission data corresponding to the selected block group when all data receiving devices 200D (the coding blocks 132 not received by each data receiving device 200D may not be the same) that have not yet received any one of the coding blocks 132 included in the selected block group have received the coding block 132, at least one data receiving device 200D other than all of the data receiving devices 200D has not yet received the certain coding block 132, and even if the certain coding block 132 is additionally coded for the additional transmission data corresponding to the selected block group, the additionally coded additional transmission data can be decoded in all data receiving devices 200D. In this case, the certain coding block 132 is a decodable block for the additional transmission data corresponding to the selected block group. The selected block group is made up of one or more coding blocks 132 selected in step S921 at the start of this step. Moreover, the additional transmission determining unit 112B adds the selected encoded block 132 to the selected block group. In step S922, the coding block 132 that has already been selected for the additional transmission data in at least one of steps S921 and S922 is also considered as a candidate for selection. In addition, if the coding block 132 can be added to the additional transmission data, the coding block 132 is added because it is more efficient to add the coding block 132.

[0123] In (c) of Fig. 21, the coding blocks 132 selected in step S922 are underlined. In the example shown in (c) of Fig. 21, for additional transmission data #1 and #2, no coding blocks 132 are additionally selected in step S922. On the other hand, for additional transmission data #3, coding blocks 132 with coding block numbers 1, 2, and 6 are further selected for the additional transmission data. The block addition process for the additional transmission data #3 in FIG. 21(c) will be described. Here, the data receiving device 200D with the terminal identifier 4 is the target device, and the coding block 132 with the coding block number 2 is the target block. At the start of step S922, the selected block group contains only the coding block 132 with the coding block number 7. At this time, only the target device has not received the coding block 132 included in the selected block group. On the other hand, the target device has received the target block. Here, as at least one data receiving device 200D other than the target device, only the data receiving device 200D with the terminal identifier 1 has not received the target block. Also, even if the target block is additionally coded for the additional transmission data #3 corresponding to the selected block group, all the data receiving devices 200D can decode the additionally coded additional transmission data. Therefore, the additional transmission determination unit 112B selects the target block for the additional transmission data for the additional transmission data #3 corresponding to the selected block group. Also, the additional transmission determination unit 112B adds the target block to the selected block group. The additional transmission determination unit 112B similarly executes the block addition process two more times to select the coding blocks 132 corresponding to the coding block numbers 1 and 6 for the additional transmission data. If the process of step S922 is not executed, the additional transmission data #3 simply includes a data string whose encoding block number is 7. Therefore, the amount of information included in the additional transmission data #3 is smaller than when step S922 is executed.

[0124] (Step S923) The encoding processing unit 211D encodes the multiple encoded blocks 132 selected in steps S921 and S922 using Fountain Code, particularly LT Code, and generates additional transmission data including a data string indicating the multiple encoded blocks 132 that have been encoded.

[0125] 22 shows an example of the format of the additional transmission data. The additional transmission data includes information indicating a plurality of encoded blocks 132. Therefore, unlike the data at the time of the initial transmission, the additional transmission data includes information indicating the number of encoded blocks N and the N encoded block numbers.

[0126] (Step S924) The additional transmission determination unit 112B transmits the additional transmission data created in step S923 from the transmission unit 121 via the antenna 14 as a radio signal. The processes from step S921 to step S924 are repeated until all of the coded blocks 132 that have not yet been received by any of the data receiving devices 200D are included in any of the additional transmission data and transmitted.

[0127] (Step S925) The additional transmission determination unit 112B determines whether or not each data receiving device 200D corresponding to the reception response indicating a decoding failure in step S305 has transmitted all unreceived encoded blocks 132. If there is an encoded block 132 that has not been transmitted, the data transmitting device 100B performs steps S921 to S924 again. If there is no encoded block 132 that has not been transmitted, that is, if all of the encoded blocks 132 have been transmitted as any of the additional transmission data, the data transmitting device 100B returns to step S304 and receives reception responses from the surrounding data receiving devices 200D.

[0128] ***Explanation of the effect of the sixth embodiment*** In this embodiment, as described above, by using Fountain Code, especially LT Code, in the encoding of additional transmission data, encoding and decoding can be performed by a relatively light process of only XOR operation. Also, according to this embodiment, it is possible to improve the distribution efficiency as in the first to third embodiments.

[0129] ***Other embodiments*** The above-described embodiments may be freely combined, or any of the components in each embodiment may be modified, or any of the components in each embodiment may be omitted. Moreover, the embodiments are not limited to those shown in the first to sixth embodiments, and various modifications are possible as necessary. The procedures explained using the flowcharts and the like may be modified as appropriate. [Explanation of symbols]

[0130] 11,21 processor, 12,22 wireless module, 13,23 storage device, 14,24 antenna, 18 processing circuit, 90 content distribution system, 100,100B data transmission device, 111,111B,211,211D encoding processing unit, 112,112B,212,212D additional transmission determination unit, 119,219 initial transmission processing unit, 121,221 transmission unit, 122,222 reception unit, 130,230 storage unit, 131 distribution data, 132 encoding block, 133 redundant data block, 134 number of hops of own terminal, 200,200B,200C,200D data reception device, 213,213D decoding processing unit, 214,214B,214C reception response unit, 235 transmission source information, 236 destination information, 237 received power information;

Claims

1. A content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, When each of the plurality of content distribution devices is a target distribution device, the target distribution device is The target content data is K 1 K coding blocks are divided into 1 A coding processing unit that generates M redundant data blocks by performing erasure correction coding on the M coded blocks; The above K 1 K selected from among the coding blocks and the M redundant data blocks 2 A transmitter that transmits the blocks by wireless signal together with a source identifier that is a device identifier of the target distribution device; a receiving unit for receiving a reception response, the reception response being information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device that is a transmission source, a destination identifier indicating the content distribution device that is a destination, whether each block has been successfully received at the transmission source, and an identifier of each block received by the transmission source; Equipped with When the destination identifier indicated in the reception response received by the target distribution device is the same as the device identifier of the target distribution device, the transmission unit of the target distribution device calculates the number of relatively small blocks among the number of successfully received blocks indicated in each reception response received by the target distribution device as R min When the above K 1 K selected from among the coded blocks and the M redundant data blocks that have not yet been transmitted 2 -R min A content distribution system that transmits blocks of content via wireless signals.

2. a receiving unit of the target distribution device receiving a block from a content distribution device other than the target distribution device; The target distribution device further comprises: a decryption processing unit that decrypts the content data by using the block received by the target distribution device to obtain decrypted content data; Equipped with The content distribution system according to claim 1 , wherein an encoding processing unit of the target distribution device uses the decoded content data as the target content data.

3. a receiving unit of the target distribution device receiving blocks from each content distribution device other than the target distribution device; The target distribution device further comprises: A storage unit for storing source information indicating a source identifier corresponding to each block received by the target distribution device Equipped with After the reception response transmission timer expires, the transmission unit of the target distribution device receives the number R of receptions of blocks received by the target distribution device from each content distribution device among the transmission source identifiers included in the transmission source information. n The relatively large number of received n 3. The content delivery system according to claim 1, further comprising: a receiving response indicating, as a destination identifier, a sender identifier corresponding to the content delivery request;

4. a receiving unit of the target distribution device receiving blocks from each content distribution device other than the target distribution device; The target distribution device further comprises: A storage unit that stores source information indicating a source identifier corresponding to each block received by the target distribution device, and destination information indicating a destination identifier indicated in each reception response received by the target distribution device for each content distribution device that is a source of the reception response received by the target distribution device. Equipped with After the reception response transmission timer expires, the transmission unit of the target distribution device receives the number R of receptions of blocks received by the target distribution device from each content distribution device among the transmission source identifiers included in the transmission source information. n is the threshold R th the content distribution system according to claim 1 or 2, further comprising: a receiving response indicating as a destination identifier a target identifier which is a device identifier selected from among sender identifiers corresponding to content distribution devices having a larger number than the number of content distribution devices that the target distribution device has received, and which is a device identifier that has been set as the destination identifier of each receiving response received by the target distribution device by a relatively large number of content distribution devices among the destination identifiers indicated by the destination information.

5. the storage unit holds reception power information indicating reception power corresponding to each block received by the target distribution device; The target identifier is a block whose corresponding received power is a threshold P th 5. The content distribution system according to claim 4, wherein the device identifier is selected from the above-mentioned sender identifiers.

6. The target distribution device further comprises: a reception response unit that extends the reception response transmission timer when the number of blocks indicated by the reception response received by the target distribution device as the target reception response is smaller than the number of blocks received by the target distribution device and when the destination identifier indicated by the target reception response matches any of the source identifiers corresponding to the blocks received by the target distribution device. The content distribution system according to claim 3 .

7. The content distribution system according to claim 1 or 2, wherein the transmitting unit of the target distribution device transmits a receiving response that indicates the total number of blocks that the target distribution device receives, instead of the receiving success or failure of each block at the sending source and the identifier of each block that the sending source receives, as the receiving response that corresponds to the second target content data, until the target distribution device receives the block that corresponds to the second target content data that is the block that corresponds to the second target content data and is transmitted last, or until the target distribution device receives a new block that corresponds to the second target content data and is generated at a different time point from the time point that the received block that the target distribution device has already received is generated, and is generated by executing erasure correction coding on the second target content data.

8. The above K 2 -R min The blocks are 1 K are randomly selected from among the coded blocks and the M redundant data blocks that have not yet been transmitted. 2 -R min 3. The content distribution system according to claim 1, wherein the blocks are each a single block.

9. 1. A content distribution method executed in a content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, comprising: Each of the plurality of content delivery devices is a computer, When each of the plurality of content distribution devices is a target distribution device, the target distribution device is The target content data is K 1 K coding blocks are divided into 1 generating M redundant data blocks by performing erasure correction coding on the coded blocks; The above K 1 K selected from among the coding blocks and the M redundant data blocks 2 Transmitting the blocks by wireless signal together with a source identifier, which is a device identifier of the target distribution device; receiving a reception response which is information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device which is the transmission source, a destination identifier indicating the content distribution device which is the destination, whether each block has been received by the transmission source, and an identifier of each block received by the transmission source; When the destination identifier indicated in the reception response received by the target distribution device is the same as the device identifier of the target distribution device, the number of relatively small blocks among the number of blocks successfully received indicated in each reception response received by the target distribution device is denoted by R min When the above K 1 K selected from among the coded blocks and the M redundant data blocks that have not yet been transmitted 2 -R min A content distribution method in which blocks of content are transmitted via wireless signals.

10. A content distribution program executed in a content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, comprising: Each of the plurality of content delivery devices is a computer, When each of the plurality of content distribution devices is a target distribution device, The target content data is K 1 K coding blocks are divided into 1 an encoding process for generating M redundant data blocks by performing erasure correction encoding on the M encoded blocks; The above K 1 K selected from among the coding blocks and the M redundant data blocks 2 a transmission process of transmitting the blocks by wireless signals together with a transmission source identifier, which is a device identifier of the target distribution device; a receiving process for receiving a reception response, the reception response being information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device that is the transmission source, a destination identifier indicating the content distribution device that is the destination, whether each block was successfully received at the transmission source, and an identifier of each block received by the transmission source; A content distribution program for causing the target distribution device to execute the In the transmission process, when the destination identifier indicated in the reception response received by the target distribution device is the same as the device identifier of the target distribution device, the number of relatively small blocks among the number of blocks successfully received indicated in each reception response received by the target distribution device is denoted by R min When the above K 1 K selected from among the coded blocks and the M redundant data blocks that have not yet been transmitted 2 -R min A content distribution program that transmits blocks via wireless signal.

11. A content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, When each of the plurality of content distribution devices is a target distribution device, the target distribution device is The target content data is K 1 an encoding unit for dividing the image data into encoded blocks; The above K 1 A transmitter that transmits the coded blocks by wireless signals together with a source identifier that is a device identifier of the target distribution device; a receiving unit for receiving a reception response, the reception response being information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device that is a transmission source, a destination identifier indicating the content distribution device that is a destination, whether each block has been successfully received at the transmission source, and an identifier of each block received by the transmission source; Equipped with the encoding processing unit of the target distribution device, when a destination identifier indicated in each reception response received by the target distribution device is identical to a device identifier of the target distribution device, encodes a plurality of blocks selected from among the blocks that have failed to be received and indicated in each reception response received by the target distribution device, using a Fountain Code, and creates additional transmission data indicating the encoded plurality of blocks; a transmission unit of the target distribution device transmitting the created additional transmission data by a wireless signal; a receiving unit of the target distribution device receiving additional transmission data by wireless signal from another content distribution device; The target distribution device further comprises: an additional transmission determination unit that selects, as the multiple blocks, multiple blocks from among the blocks that have failed to be received and that are indicated by each of the reception responses received by the target distribution device, based on whether or not each block has been received and that are indicated by each of the reception responses received by the target distribution device, when a destination identifier indicated by each of the reception responses received by the target distribution device is the same as a device identifier of the target distribution device; a decoding processing unit that decodes the encoded blocks indicated by the additional transmission data received from the other content distribution device using a fountain code to restore the encoded blocks corresponding to the received additional transmission data; A content distribution system comprising:

12. a receiving unit of the target distribution device receiving blocks from each content distribution device other than the target distribution device; The target distribution device further comprises: A storage unit for storing source information indicating a source identifier corresponding to each block received by the target distribution device Equipped with After the reception response transmission timer expires, the transmission unit of the target distribution device receives the number R of receptions of blocks received by the target distribution device from each content distribution device among the transmission source identifiers included in the transmission source information. n The relatively large number of received n The content delivery system according to claim 11, further comprising: a receiving response indicating, as a destination identifier, a sender identifier corresponding to the content delivery request;

13. a receiving unit of the target distribution device receiving blocks from each content distribution device other than the target distribution device; The target distribution device further comprises: A storage unit that stores source information indicating a source identifier corresponding to each block received by the target distribution device, and destination information indicating a destination identifier indicated in each reception response received by the target distribution device for each content distribution device that is a source of the reception response received by the target distribution device. Equipped with After the reception response transmission timer expires, the transmission unit of the target distribution device receives the number R of receptions of blocks received by the target distribution device from each content distribution device among the transmission source identifiers included in the transmission source information. n is the threshold R th the content distribution system according to claim 11 or 12, further comprising: a receiving response indicating as a destination identifier a target identifier which is a device identifier selected from among sender identifiers corresponding to content distribution devices having a larger number than the target identifier, and which is a device identifier which has been set as the destination identifier of each receiving response received by the target distribution device by a relatively large number of content distribution devices among the destination identifiers indicated by the destination information.

14. the storage unit holds reception power information indicating reception power corresponding to each block received by the target distribution device; The target identifier is a block whose corresponding received power is a threshold P th The content distribution system according to claim 13, wherein the device identifier is selected from the above-mentioned sender identifiers.

15. The target distribution device further comprises: a reception response unit that extends the reception response transmission timer when the number of blocks indicated by the reception response received by the target distribution device as the target reception response is smaller than the number of blocks received by the target distribution device and when the destination identifier indicated by the target reception response matches any of the source identifiers corresponding to the blocks received by the target distribution device. The content distribution system of claim 12 .

16. The content distribution system according to claim 11 or 12, wherein the transmitting unit of the target distribution device transmits, as the reception response corresponding to the second target content data, the total number of blocks that the target distribution device receives, instead of the reception success or failure of each block at the transmission source and the identifier of each block that the transmission source receives, until the target distribution device receives the block that corresponds to the second target content data that corresponds to the block that corresponds to the second target content data and transmits ...

17. 1. A content distribution method executed in a content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, comprising: Each of the plurality of content delivery devices is a computer, When each of the plurality of content distribution devices is a target distribution device, the target distribution device is The target content data is K 1 Divide the data into coding blocks, The above K 1 Transmitting the coded blocks by wireless signals together with a source identifier, which is a device identifier of the target distribution device; receiving a reception response which is information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device which is the transmission source, a destination identifier indicating the content distribution device which is the destination, whether each block has been received by the transmission source, and an identifier of each block received by the transmission source; When the destination identifier indicated in each reception response received by the target distribution device is the same as the device identifier of the target distribution device, a plurality of blocks selected from the blocks that have failed to be received and indicated in each reception response received by the target distribution device are encoded using a fountain code, and additional transmission data indicating the encoded plurality of blocks is created; The created additional transmission data is transmitted by radio signal, receiving additional transmission data via wireless signals from other content distribution devices; select, as the plurality of blocks, a plurality of blocks from among the blocks that have failed to be received and that are indicated by the respective reception responses received by the target distribution device, so that additional transmission data created in any of the content distribution devices that have failed to receive one or more blocks among the content distribution devices corresponding to the respective reception responses received by the target distribution device can be decoded based on whether or not each block indicated by each reception response received by the target distribution device has been successfully received, when a destination identifier indicated by each reception response received by the target distribution device is identical to a device identifier of the target distribution device; the content distribution method comprising: decoding, by a fountain code, a plurality of encoded blocks indicated by the additional transmission data received from the other content distribution device, thereby restoring a plurality of blocks corresponding to the received additional transmission data.

18. A content distribution program executed in a content distribution system including a plurality of content distribution devices each of which distributes content data by wireless communication, comprising: Each of the plurality of content delivery devices is a computer, When each of the plurality of content distribution devices is a target distribution device, The target content data is K 1 an encoding process for dividing the image data into coding blocks; The above K 1 a transmission process of transmitting the coded blocks by wireless signals together with a transmission source identifier, which is a device identifier of the target distribution device; a receiving process for receiving a reception response, the reception response being information transmitted from each of the two or more content distribution devices other than the target distribution device, the reception response being information indicating a transmission source identifier indicating the content distribution device that is the transmission source, a destination identifier indicating the content distribution device that is the destination, whether each block was successfully received at the transmission source, and an identifier of each block received by the transmission source; A content distribution program for causing the target distribution device to execute the In the encoding process, when the destination identifier indicated in each reception response received by the target distribution device is the same as the device identifier of the target distribution device, a plurality of blocks selected from the blocks that have failed to be received and indicated in each reception response received by the target distribution device are encoded using a fountain code, and additional transmission data indicating the encoded plurality of blocks is created; In the transmission process, the created additional transmission data is transmitted by a wireless signal; In the receiving process, additional transmission data is received by wireless signal from another content distribution device; an additional transmission determination process for selecting, as the multiple blocks, a plurality of blocks from among the blocks that have failed to be received and that are indicated by the respective reception responses received by the target distribution device, based on whether or not each block has been received and that are indicated by each reception response received by the target distribution device, so that additional transmission data created in any of the content distribution devices that have failed to receive one or more blocks among the content distribution devices corresponding to each reception response received by the target distribution device can be decoded when a destination identifier indicated by each reception response received by the target distribution device is identical to a device identifier of the target distribution device; a decoding process of decoding the encoded blocks indicated by the additional transmission data received from the other content distribution device using a fountain code to restore the encoded blocks corresponding to the received additional transmission data; A content distribution program that causes the target distribution device to execute the above.

Citation Information

Patent Citations

  • Fountain coding broadcast method based on feedback

    CN102833051A

  • Broadcast communication equipment

    JP1992362819A

  • Communication system and data distribution method

    JP2007166469A

  • Node and communication method thereof, and computer readable storage medium

    JP2015100109A

  • Data transfer system, relay node, and data transfer method

    JP2016027698A