IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0263098
(2008-10-31)
|
등록번호 |
US-8458567
(2013-06-04)
|
발명자
/ 주소 |
- Luby, Michael
- Doucleff, Matt
- Wigderson, Avi
- Lassen, Soren
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
18 인용 특허 :
13 |
초록
▼
In a transport system, data is reliably transported from a sender to a receiver by organizing the data to be transported into data blocks, wherein each data block comprises a plurality of encoding units, transmitting encoding units of a first data block from the sender to the receiver, and detecting
In a transport system, data is reliably transported from a sender to a receiver by organizing the data to be transported into data blocks, wherein each data block comprises a plurality of encoding units, transmitting encoding units of a first data block from the sender to the receiver, and detecting, at the sender, acknowledgments of receipt of encoding units by the receiver. At the sender, a probability that the receiver received sufficient encoding units of the first data block to recover the first data block at the receiver is detected and the probability is tested against a threshold probability to determine whether a predetermined test is met. Following the step of testing and prior to the sender receiving confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block from the sender. If an indication of failure to recover the first data block is received at the sender, sending further encoding units for the first data block from the sender to the receiver. In some embodiments, the predetermined test is a comparison of the probability against the threshold probability and the predetermined test is met when the probability is greater than the threshold probability.
대표청구항
▼
1. A method of transmitting data into a communications channel to allow it to be reliably received, the method comprising: organizing the data to be transmitted into data blocks, wherein each data block comprises a plurality of encoding units;transmitting encoding units of a first data block into th
1. A method of transmitting data into a communications channel to allow it to be reliably received, the method comprising: organizing the data to be transmitted into data blocks, wherein each data block comprises a plurality of encoding units;transmitting encoding units of a first data block into the communications channel during a first period;detecting acknowledgments of receipt of the transmitted encoding units, the acknowledgements being from a receiver of the encoding units;determining a success probability that the receiver received or will receive sufficient encoding units of the first data block to recover the first data block at the receiver based on results of the detecting;testing the success probability against a threshold probability to determine whether a predetermined test is met;following the step of testing and prior to receiving a receiver's confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block; andif an indication of failure to recover the first data block is received, sending further encoding units for the first data block. 2. The method of claim 1, wherein each encoding unit is an IP packet. 3. The method of claim 1, wherein the indication of failure is either (a) an explicit failure notice or (b) is generated in response to a failure to receive a receiver acknowledgment acknowledging successful recovery of the first data block within a predetermined time period. 4. The method of claim 1, wherein the further encoding units for the first data block are either (a) additional encoding units other than the encoding units sent prior to the step of testing, or (b) resent copies of encoding units sent prior to the step of testing. 5. The method of claim 1, wherein encoding units are encoded using a chain reaction coding process, a Tornado coding process, or another forward error correcting coding process having a predetermined code rate. 6. A method of reliably receiving data at a receiver from a communications channel, wherein the received data is organized to be transported in data blocks, wherein each data block comprises a plurality of encoding units, the method comprising: receiving at least some encoding units of a first data block at the receiver;sending acknowledgments of receipt of encoding units to the sender;receiving at least some encoding units of a second data block at the receiver prior to recovery of all of the encoding units of the first data block;determining, after receiving at least one encoding unit of the second data block, whether sufficient encoding units of the first data block have been received to recover the first data block at the receiver;sending confirmation of recovery of the first data block if it is determined that recovery is possible; andif it is determined that recovery is not possible, sending a request for further encoding units for the first data block without discarding previously received encoding units of the second data block. 7. The method of claim 6, wherein each encoding unit is an IP packet. 8. The method of claim 6, wherein encoding units are chain reaction code coded encoding units, Tornado code coded encoding units, or other forward error correcting coding encoding units with a predetermined code rate. 9. A transmitter that transmits data into a communications channel to allow it to be reliably received, the transmitter comprising: data block storage that stores the data to be transmitted in data blocks;an encoding unit for encoding the data of the data blocks into encoding units using forward error correction (FEC) coding;an output for transmitting encoding units of a first data block into the communications channel during a first period;an input for receiving acknowledgments of receipt of the transmitted encoding units from a receiver of the transmitted encoding units;sender reliability control logic that determines a success probability that the receiver received or will receive sufficient encoding units of the first data block to recover the first data block at the receiver based on results of the detecting;logic for determining whether a predetermined test of the success probability compared against a threshold probability is met;logic for testing and prior to receiving a receiver's confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block; andlogic for sending additional encoding units for the first data block if an indication of failure to recover the first data block is received. 10. The transmitter of claim 9, wherein each encoding unit is an IP packet. 11. The transmitter of claim 9, wherein the indication of failure is either (a) an explicit failure notice or (b) is generated in response to a failure to receive a receiver acknowledgment acknowledging successful recovery of the first data block within a predetermined time period. 12. The transmitter of claim 9, wherein the further encoding units for the first data block are either (a) additional encoding units other than the encoding units sent prior to the step of testing, or (b) resent copies of encoding units sent prior to the step of testing. 13. The transmitter of claim 9, wherein encoding units are encoded using a chain reaction coding process, a Tornado coding process, or another forward error correcting coding process having a predetermined code rate. 14. A receiver for receiving data from a communications channel, wherein the received data is recovered in data blocks, wherein each data block comprises a plurality of encoding units, the receiver comprising: an input for receiving at least some encoding units of a first data block;an output for sending acknowledgments of receipt of encoding units to the sender;storage for encoding units configured to store at least some encoding units of a second data block at the receiver prior to recovery of all of the encoding units of the first data block;logic for determining, after receiving at least one encoding unit of the second data block, whether sufficient encoding units of the first data block have been received to recover the first data block at the receiver;logic for sending confirmation of recovery of the first data block if it is determined that recovery is possible; andan output for sending a request for further encoding units for the first data block without discarding previously received encoding units of the second data block, if it is determined that recovery of the first data block is not possible. 15. The receiver of claim 14, wherein each encoding unit is an IP packet. 16. The receiver of claim 14, wherein encoding units are chain reaction code coded encoding units, Tornado code coded encoding units, or other forward error correcting coding encoding units with a predetermined code rate. 17. An apparatus for transmitting data into a communications channel to allow it to be reliably received, the apparatus comprising: means for organizing the data to be transmitted into data blocks, wherein each data block comprises a plurality of encoding units;means for transmitting encoding units of a first data block into the communications channel during a first period;means for detecting acknowledgments of receipt of the transmitted encoding units, the acknowledgements being from a receiver of the encoding units;means for determining a success probability that the receiver received or will receive sufficient encoding units of the first data block to recover the first data block at the receiver based on results of the detecting;means for testing the success probability against a threshold probability to determine whether a predetermined test is met;means for following the step of testing and prior to receiving a receiver's confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block; andmeans for, if an indication of failure to recover the first data block is received, sending further encoding units for the first data block. 18. The apparatus of claim 17, wherein each encoding unit is an IP packet. 19. The apparatus of claim 17, wherein the indication of failure is either (a) an explicit failure notice or (b) is generated in response to a failure to receive a receiver acknowledgment acknowledging successful recovery of the first data block within a predetermined time period. 20. The apparatus of claim 17, wherein the further encoding units for the first data block are either (a) additional encoding units other than the encoding units sent prior to the step of testing, or (b) resent copies of encoding units sent prior to the step of testing. 21. The apparatus of claim 17, wherein encoding units are encoded using a chain reaction coding process, a Tornado coding process, or another forward error correcting coding process having a predetermined code rate. 22. A non-transitory processor-readable medium having stored thereon software for performing a method, the method comprising: organizing the data to be transmitted into data blocks, wherein each data block comprises a plurality of encoding units;transmitting encoding units of a first data block into the communications channel during a first period;detecting acknowledgments of receipt of the transmitted encoding units, the acknowledgements being from a receiver of the encoding units;determining a success probability that the receiver received or will receive sufficient encoding units of the first data block to recover the first data block at the receiver based on results of the detecting;testing the success probability against a threshold probability to determine whether a predetermined test is met;following the step of testing and prior to receiving a receiver's confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block; andif an indication of failure to recover the first data block is received, sending further encoding units for the first data block. 23. The medium of claim 22, wherein each encoding unit is an IP packet. 24. The medium of claim 22, wherein the indication of failure is either (a) an explicit failure notice or (b) is generated in response to a failure to receive a receiver acknowledgment acknowledging successful recovery of the first data block within a predetermined time period. 25. The medium of claim 22, wherein the further encoding units for the first data block are either (a) additional encoding units other than the encoding units sent prior to the step of testing, or (b) resent copies of encoding units sent prior to the step of testing. 26. The medium of claim 22, wherein encoding units are encoded using a chain reaction coding process, a Tornado coding process, or another forward error correcting coding process having a predetermined code rate. 27. A receiver for reliably receiving data from a communications channel, wherein the received data is organized to be transported in data blocks, wherein each data block comprises a plurality of encoding units, the receiver comprising: means for receiving at least some encoding units of a first data block at the receiver;means for sending acknowledgments of receipt of encoding units to the sender;means for receiving at least some encoding units of a second data block at the receiver prior to recovery of all of the encoding units of the first data block;means for determining, after receiving at least one encoding unit of the second data block, whether sufficient encoding units of the first data block have been received to recover the first data block at the receiver;means for sending confirmation of recovery of the first data block if it is determined that recovery is possible; andmeans for, if it is determined that recovery is not possible, sending a request for further encoding units for the first data block without discarding previously received encoding units of the second data block. 28. The receiver of claim 27, wherein each encoding unit is an IP packet. 29. The receiver of claim 27, wherein encoding units are chain reaction code coded encoding units, Tornado code coded encoding units, or other forward error correcting coding encoding units with a predetermined code rate. 30. A non-transitory processor-readable medium having stored thereon software for performing a method of reliably receiving data at a receiver from a communications channel, wherein the received data is organized to be transported in data blocks, wherein each data block comprises a plurality of encoding units, the method comprising: receiving at least some encoding units of a first data block at the receiver;sending acknowledgments of receipt of encoding units to the sender;receiving at least some encoding units of a second data block at the receiver prior to recovery of all of the encoding units of the first data block;determining, after receiving at least one encoding unit of the second data block, whether sufficient encoding units of the first data block have been received to recover the first data block at the receiver;sending confirmation of recovery of the first data block if it is determined that recovery is possible; andif it is determined that recovery is not possible, sending a request for further encoding units for the first data block without discarding previously received encoding units of the second data block. 31. The medium of claim 30, wherein each encoding unit is an IP packet. 32. The medium of claim 30, wherein encoding units are chain reaction code coded encoding units, Tornado code coded encoding units, or other forward error correcting coding encoding units with a predetermined code rate.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.