최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0781192 (2010-05-17) |
등록번호 | US-9236976 (2016-01-12) |
발명자 / 주소 |
|
출원인 / 주소 |
|
인용정보 | 피인용 횟수 : 2 인용 특허 : 223 |
A method of encoding data for transmission from a source to a destination over a communications channel is provided. A plurality of redundant symbols are generated from an ordered set of input symbols to be transmitted. A plurality of output symbols are generated from a combined set of symbols inclu
A method of encoding data for transmission from a source to a destination over a communications channel is provided. A plurality of redundant symbols are generated from an ordered set of input symbols to be transmitted. A plurality of output symbols are generated from a combined set of symbols including the input symbols and the redundant symbols, wherein the number of possible output symbols is much larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, and such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any predetermined number, N, of the output symbols.
1. A method of encoding data for transmission from a source to a destination over a communications channel, the method comprising: generating a plurality of redundant symbols from an ordered set of input symbols to be transmitted, wherein each redundant symbol is generated by a function determined a
1. A method of encoding data for transmission from a source to a destination over a communications channel, the method comprising: generating a plurality of redundant symbols from an ordered set of input symbols to be transmitted, wherein each redundant symbol is generated by a function determined at least in part by a static key associated with the redundant symbol; andgenerating a plurality of output symbols from a combined set of symbols including the input symbols and the redundant symbols, wherein the number of possible output symbols is independent of the number of input symbols in the ordered set of input symbols. 2. The method of claim 1, wherein each output symbol has a weight representing the number of symbols from the combined set of symbols used to generate that output symbol; andthe weights of the output symbols in the plurality of output symbols are distributed in a way to minimize the number of output symbols or the number of operations needed to regenerate the ordered set of input symbols. 3. The method of claim 1, wherein each output symbol has a weight representing the number of symbols from the combined set of symbols used to generate that output symbol; andthe weights of the output symbols in the plurality of output symbols are distributed among the output symbols so that the input symbols can be decoded as reliably as possible. 4. A method of decoding output symbols transmitted over a communications channel, the method comprising: receiving a plurality of encoded output symbols and corresponding keys from the communications channel, wherein the encoded output symbols can be received in an order independent of the order of encoded output symbols previously received;decoding at least some of the encoded output symbols using a dynamic decoder and the corresponding keys to recover a first set of input symbols and at least some redundant symbols used in the creation of a first subset of the encoded output symbols;determining whether the decoding process is complete; andif the decoding process is not complete, decoding at least some of the encoded output symbols using a static decoder to recover a second set of input symbols used in the creation of a second subset of the encoded output symbols that were not decoded by the dynamic decoder, whereinthe number of the encoded output symbols decoded is dependent on a desired degree of accuracy to which the static decoder and the dynamic decoder can recover input symbols that were used to generate the encoded output symbols. 5. A system for encoding data for transmission from a source to a destination over a communications channel, the system comprising: a static encoder coupled to receive a plurality of input symbols, the plurality of input symbols generated from data to be transmitted, the static encoder including a redundant symbol generator that generates a plurality of redundant symbols based on the input symbols; anda dynamic encoder coupled to receive the plurality of input symbols and the plurality of redundant symbols, the dynamic encoder including an output symbol generator that generates a plurality of output symbols from a combined set of symbols, the combined set comprising symbols including the plurality of input symbols and the plurality of redundant symbols, wherein the number of possible output symbols is independent of the number of input symbols in the plurality of input symbols. 6. The system of claim 5, wherein each output symbol has a weight representing the number of symbols from the combined set of symbols used to generate that output symbol; andthe weights of the output symbols in the plurality of output symbols are distributed in a way to minimize the number of output symbols or the number of operations needed to regenerate the plurality of input symbols. 7. The system of claim 5, wherein each output symbol has a weight representing the number of symbols from the combined set of symbols used to generate that output symbol; andthe weights of the output symbols in the plurality of output symbols are distributed among the output symbols so that the input symbols in the plurality of input symbols can be decoded as reliably as possible. 8. The system of claim 5, wherein each redundant symbol is associated with a static key; andeach redundant symbol is generated by a function determined at least in part by the static key associated with the redundant symbol. 9. A system for decoding output symbols transmitted over a communications channel wherein the output symbols represent data sent by one or more transmitters, the system comprising: a receiver input for receiving encoded output symbols, wherein the encoded output symbols can be received in an order independent of the order of encoded output symbols previously received;memory for storing encoded output symbols received at the receiver input;a key generator that generates corresponding keys for the received encoded output symbols by extracting or deducing keys from the particular encoded output symbols received, if corresponding keys are not already available to the system;dynamic decoder logic that decodes, from at least some of the received encoded output symbols and their corresponding keys, to recover a first set of input symbols and at least some redundant symbols used in the creation of a first subset of the encoded output symbols, the dynamic decoder being dynamic in that it can decode symbols generated by an encoder where the number of possible output symbols is independent of the number of input symbols encoding the data sent by the one or more transmitters;processing logic for determining whether the decoding process is complete; andstatic decoder logic that decodes, if the decoding process is not complete, from at least some of the redundant symbols, additional input symbols not decoded by the dynamic decoder logic, to recover a second set of input symbols used in the creation of a second subset of the encoded output symbols that were not decoded by the dynamic decoder, whereinthe number of the encoded output symbols decoded is dependent on a desired degree of accuracy to which the static decoder logic and the dynamic decoder logic can recover input symbols that were used to generate the encoded output symbols. 10. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a transmitter to at least one receiver over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission, wherein the program code includes program code for generating each redundant symbol by a function determined at least in part by a static key associated with the redundant symbol; andprogram code for generating a plurality of output symbols derived from a combination of the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible output symbols that could be generated is independent of the number of input symbols in the ordered set of input symbols. 11. The computer-readable medium of claim 10, wherein each output symbol has a weight representing the number of symbols from the combined set of symbols used to generate that output symbol; andthe weights of the output symbols in the plurality of output symbols are distributed in a way to minimize the number of output symbols or the number of operations needed to regenerate the ordered set of input symbols. 12. The computer-readable medium of claim 10, wherein each output symbol has a weight representing the number of symbols from the combined set of symbols used to generate that output symbol; andthe weights of the output symbols in the plurality of output symbols are distributed among the output symbols so that the input symbols can be decoded as reliably as possible. 13. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement decoding output symbols transmitted over a communications channel wherein the output symbols represent data sent by one or more transmitters, the computer-readable medium having stored thereon: program code for receiving a plurality of encoded output symbols and corresponding keys from the communications channel, including program code for handling encoded output symbols if they are received in an order independent of the order of encoded output symbols previously received;program code for decoding at least some of the encoded output symbols using a dynamic decoder and the corresponding keys to recover a first set of input symbols and at least some redundant symbols used in the creation of a first subset of the encoded output symbols;program code for determining whether the decoding process is complete; andprogram code for decoding, if the decoding process is not complete, at least some of the encoded output symbols using a static decoder to recover a second set of input symbols used in the creation of a second subset of the encoded output symbols that were not decoded by the dynamic decoder, whereinthe program code is configured to process encoded output symbols wherein the number of the encoded output symbols decoded is dependent on a desired degree of accuracy to which the program code for decoding can recover input symbols that were used to generate the encoded output symbols. 14. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission; andprogram code for generating a plurality of output symbols derived from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of valid output symbols for the ordered set of input symbols is more than an order of magnitude larger than the number of input symbols in the ordered set of input symbols, each output symbol having a weight representing the number of symbols from the combined set used to generate that output symbol, wherein weights of output symbols include at least two distinct values at least one of which is greater than one and less than the number of symbols in the combined set, such that the input symbols in the ordered set of input symbols can be regenerated to a desired degree of accuracy from N of the output symbols that are determined to be valid output symbols, wherein N is an integer. 15. The computer-readable medium of claim 14, wherein N is greater than the number of input symbols in the ordered set of input symbols. 16. The computer-readable medium of claim 14, wherein N is less than or equal to the number of input symbols in the ordered set of input symbols. 17. The computer-readable medium of claim 14, further comprising program code for transmitting the plurality of output symbols over the communications channel. 18. The computer-readable medium of claim 14, wherein the computer-readable medium further comprises program code for generating a key for each of at least some of the redundant symbols to be generated; andthe program code for generating the plurality of redundant symbols includes program code for generating each of the at least some redundant symbols based on the corresponding key. 19. The computer-readable medium of claim 14, wherein the program code for generating the plurality of redundant symbols includes program code for implementing a static encoder having a Low Density Parity Check (LDPC) encoder. 20. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission;program code for generating a plurality of output symbols derived from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the ordered set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set, wherein at least one output symbol is generated from more than one symbol from the combined set and from less than all of the symbols in the combined set, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; andwherein the program code for generating the plurality of redundant symbols includes program code for implementing a first static encoder having a first redundant symbol generator, and program code for implementing a second static encoder having a second redundant symbol generator;wherein the plurality of redundant symbols includes a plurality of first redundant symbols and a plurality of second redundant symbols;wherein the program code for implementing the first static encoder having the first redundant symbol generator includes program code for generating the plurality of first redundant symbols based on the input symbols in the ordered set of input symbols; andwherein the program code for implementing the second static encoder having the second redundant symbol generator includes program code for generating the plurality of second redundant symbols based on the input symbols in the ordered set of input symbols and the plurality of first redundant symbols. 21. The computer-readable medium of claim 20, wherein the program code for implementing the first static encoder includes program code for implementing a Hamming encoder; andthe program code for implementing the second static encoder includes program code for implementing a Low Density Parity Check (LDPC) encoder. 22. A system for encoding data for transmission from a source to a destination over a communications channel, the system comprising: a static encoder coupled to receive a plurality of input symbols, the plurality of input symbols generated from data to be transmitted, the static encoder including a redundant symbol generator that generates a plurality of redundant symbols based on the input symbols;a dynamic encoder coupled to receive the plurality of input symbols and the plurality of redundant symbols, the dynamic encoder including an output symbol generator that generates a plurality of output symbols from a combined set of symbols including the plurality of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the ordered set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; andwherein at most G input symbols can be regenerated from any number of output symbols, wherein G is less than the number of input symbols in the ordered set of input symbols. 23. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission;program code for generating a plurality of output symbols derived from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the ordered set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; andwherein at most G input symbols can be regenerated from any number of output symbols, wherein G is less than the number of input symbols in the ordered set of input symbols. 24. A system for encoding data for transmission from a source to a destination over a communications channel, the system comprising: a static encoder coupled to receive a plurality of input symbols, the plurality of input symbols generated from data to be transmitted, the static encoder including a redundant symbol generator that generates a plurality of redundant symbols based on the input symbols including, for each redundant symbol: determining t distinct input symbols according to a distribution; andcomputing each redundant symbol as the XOR of the t distinct input symbols; anda dynamic encoder coupled to receive the plurality of input symbols and the plurality of redundant symbols, the dynamic encoder including an output symbol generator that generates a plurality of output symbols from a combined set of symbols including the plurality of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the plurality of input symbols is more than an order of magnitude larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein t and N are integers. 25. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission, the program code including: program code for determining, for each redundant symbol, t distinct input symbols according to a distribution; andprogram code for computing, for each redundant symbol, each redundant symbol as the XOR of the t distinct input symbols; andprogram code for generating a plurality of output symbols derived from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the plurality of input symbols is more than an order of magnitude larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein t and N are integers. 26. A system for encoding data for transmission from a source to a destination over a communications channel, the system comprising: a static encoder coupled to receive a plurality of input symbols, the plurality of input symbols generated from data to be transmitted, the static encoder including a redundant symbol generator that generates a plurality of redundant symbols based on the input symbols;a dynamic encoder coupled to receive the plurality of input symbols and the plurality of redundant symbols, the dynamic encoder including an output symbol generator that generates a plurality of output symbols from a combined set of symbols including the plurality of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for a given set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; anda transmitter coupled to receive the plurality of output symbols, the transmitter for transmitting the plurality of output symbols over the communications channel, wherein the plurality of output symbols is generated as needed for transmitting the plurality of output symbols. 27. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission;program code for generating a plurality of output symbols derived from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for a given set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; andprogram code for transmitting the plurality of output symbols over the communications channel, wherein the plurality of output symbols is generated as needed for transmitting the plurality of output symbols. 28. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement receiving data transmitted from a source over a communications channel, the computer-readable medium having stored thereon: program code for receiving output symbols transmitted over the communications channel, wherein each output symbol is generated from at least one symbol in a combined set of input symbols and redundant symbols, wherein at least one output symbol is generated from more than one symbol in the combined set and less than all of the symbols in the combined set, wherein the number of possible valid output symbols for a given set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set, wherein the input symbols are from an ordered set of input symbols, wherein the redundant symbols are generated from the input symbols;program code for decoding, upon receiving N output symbols, wherein N is an integer, a subset of the symbols in the combined set from the N output symbols, the subset including a plurality of decoded input symbols and a plurality of decoded redundant symbols; andprogram code for decoding at least some undecoded input symbols, if any, from the plurality of decoded redundant symbols. 29. The computer-readable medium of claim 28, wherein the program code for decoding at least some undecoded input symbols includes program code for implementing a static decoder having a Low Density Parity Check (LDPC) decoder. 30. The computer-readable medium of claim 28, wherein the redundant symbols include a plurality of first redundant symbols and a plurality of second redundant symbols, wherein the program code for implementing the static decoder includes: program code for implementing a first static decoder for decoding, from the decoded redundant symbols of the plurality of first redundant symbols and the plurality of decoded input symbols, at least one of the undecoded input symbols and undecoded redundant symbols of the plurality of second redundant symbols; andprogram code for implementing a second static decoder for decoding at least one undecoded input symbol from redundant symbols of the plurality of second redundant symbols and the plurality of decoded input symbols. 31. The computer-readable medium of claim 30, wherein the program code for implementing the first static decoder includes program code for implementing a Low Density Parity Check (LDPC) decoder; andthe program code for implementing the second static decoder includes program code for implementing a Hamming decoder. 32. The computer-readable medium of claim 28, wherein the program code for decoding the subset of the symbols in the combined set includes: program code for forming a first matrix that indicates, for each received output symbol, the symbols in the combined set associated with the output symbol;program code for augmenting the first matrix with information that indicates, for each redundant symbol, the input symbols associated with the redundant symbol; andprogram code for decoding at least some of the input symbols as a solution to a system of equations indicated by the augmented first matrix. 33. A method of encoding data for transmission from a source to a destination over a communications channel, the method comprising: generating a plurality of redundant symbols from an ordered set of input symbols generated from data to be transmitted;generating a plurality of output symbols from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the ordered set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set, wherein at least one output symbol is generated from more than one symbol from the combined set and from less than all of the symbols in the combined set, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; andgenerating a key for each output symbol to be generated, wherein generating the plurality of output symbols includes generating each output symbol based on the corresponding key. 34. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission;program code for generating a plurality of output symbols derived from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible valid output symbols for the ordered set of input symbols is more than an order of magnitude larger than the number of symbols in the combined set, wherein at least one output symbol is generated from more than one symbol from the combined set and from less than all of the symbols in the combined set, such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any N of the output symbols, wherein N is an integer; andprogram code for generating a key for each output symbol to be generated, wherein the program code for generating the plurality of output symbols includes program code for generating each output symbol based on the corresponding key. 35. A system for employing two or more stages of encoding to encode data for transmission from a transmitter to at least one receiver over a communication channel, the system comprising: a first encoder, of a first encoding stage, coupled to receive an ordered set of input symbols, the first encoder for generating a plurality of redundant symbols from the ordered set of input symbols representing the data to be encoded for transmission;a second encoder, of a second encoding stage, coupled to receive the ordered set of input symbols and the plurality of redundant symbols, the second encoder for generating a set of output symbols derived from a combination of the plurality of redundant symbols and the ordered set of input symbols, wherein the number of possible output symbols that could be used in the set of output symbols is independent of the number of input symbols in the ordered set of input symbols; anda transmitter coupled to receive the set of output symbols, the transmitter for transmitting at least some of the set of output symbols over the communications channel to at least one receiver such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from a predetermined number of output symbols received by the at least one receiver,wherein the second encoder is a dynamic encoder, and the dynamic encoder generates the set of output symbols using chain-reaction encoding. 36. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement employing two or more stages of encoding to encode data for transmission from a transmitter to at least one receiver over a communication channel, the computer-readable medium having stored thereon: program code for generating, during a first encoding stage, a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission;program code for generating, during a second encoding stage, a set of output symbols derived from a combination of the plurality of redundant symbols and the ordered set of input symbols, wherein the number of possible output symbols that could be used in the set of output symbols is independent of the number of input symbols in the ordered set of input symbols; andprogram code for transmitting at least some of the set of output symbols over the communications channel to at least one receiver such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from a predetermined number of output symbols received by the at least one receiver,wherein the program code for generating the set of output symbols includes program code for implementing a dynamic encoder, including program code for generating the set of output symbols using chain-reaction encoding. 37. A system for employing two or more stages of encoding to encode data for transmission from a transmitter to at least one receiver over a communication channel, the system comprising: a first encoder, of a first encoding stage, coupled to receive an ordered set of input symbols, the first encoder for generating a plurality of redundant symbols from the ordered set of input symbols representing the data to be encoded for transmission;a second encoder, of a second encoding stage, coupled to receive the ordered set of input symbols and the plurality of redundant symbols, the second encoder for generating a set of output symbols derived from a combination of the plurality of redundant symbols and the ordered set of input symbols, wherein the number of possible output symbols that could be used in the set of output symbols is independent of the number of input symbols in the ordered set of input symbols; anda transmitter coupled to receive the set of output symbols, the transmitter for transmitting at least some of the set of output symbols over the communications channel to at least one receiver such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from a predetermined number of output symbols received by the at least one receiver,wherein the second encoder is a dynamic encoder, and the dynamic encoder generates the set of output symbols using the plurality of redundant symbols generated from the ordered set of input symbols, the ordered set of input symbols, and a plurality of dynamic keys. 38. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement employing two or more stages of encoding to encode data for transmission from a transmitter to at least one receiver over a communication channel, the computer-readable medium having stored thereon: program code for generating, during a first encoding stage, a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission;program code for generating, during a second encoding stage, a set of output symbols derived from a combination of the plurality of redundant symbols and the ordered set of input symbols, wherein the number of possible output symbols that could be used in the set of output symbols is independent of the number of input symbols in the ordered set of input symbols; andprogram code for transmitting at least some of the set of output symbols over the communications channel to at least one receiver such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from a predetermined number of output symbols received by the at least one receiver,wherein the program code for generating the set of output symbols includes program code for implementing a dynamic encoder, including program code for generating the set of output symbols using the plurality of redundant symbols generated from the ordered set of input symbols, the ordered set of input symbols, and a plurality of dynamic keys. 39. A system for encoding data for transmission from a source to a destination over a communications channel, the system comprising: a static encoder coupled to receive an ordered set of input symbols, the ordered set of input symbols generated from data to be transmitted, the static encoder including a redundant symbol generator that generates a plurality of redundant symbols from the ordered set of input symbols; anda dynamic encoder coupled to receive the ordered set of input symbols and the plurality of redundant symbols, the dynamic encoder including an output symbol generator that generates a plurality of output symbols from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible output symbols is independent of the number of symbols in the combined set of symbols, each output symbol having a weight representing the number of symbols from the combined set of symbols used to generate that output symbol. 40. The system of claim 39, wherein the weights of the output symbols in the plurality of output symbols are distributed in a way to minimize the number of output symbols or the number of operations needed to regenerate the ordered set of input symbols. 41. The system of claim 39, wherein the weights of the output symbols in the plurality of output symbols are distributed among the output symbols so that the input symbols in the ordered set of input symbols can be decoded as reliably as possible. 42. The system of claim 39, wherein each redundant symbol is associated with a static key; andeach redundant symbol is generated by a function determined at least in part by the static key associated with the redundant symbol. 43. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement encoding data for transmission from a source to a destination over a communications channel, the computer-readable medium having stored thereon: program code for generating a plurality of redundant symbols from an ordered set of input symbols representing the data to be encoded for transmission; andprogram code for generating a plurality of output symbols from a combined set of symbols including the ordered set of input symbols and the plurality of redundant symbols, wherein the number of possible output symbols is independent of the number of symbols in the combined set of symbols, each output symbol having a weight representing the number of symbols from the combined set of symbols used to generate that output symbol. 44. The computer-readable medium of claim 43, wherein the weights of the output symbols in the plurality of output symbols are distributed in a way to minimize the number of output symbols or the number of operations needed to regenerate the ordered set of input symbols. 45. The computer-readable medium of claim 43, wherein the weights of the output symbols in the plurality of output symbols are distributed among the output symbols so that the input symbols in the ordered set of input symbols can be decoded as reliably as possible. 46. The computer-readable medium of claim 43, wherein each redundant symbol is associated with a static key; andthe program code for generating the plurality of redundant symbols includes program code for generating each redundant symbol by a function determined at least in part by the static key associated with the redundant symbol. 47. A system for decoding output symbols transmitted over a communications channel, the system comprising: a receiver input for receiving a plurality of encoded output symbols, wherein the encoded output symbols can be received in an order independent of the order of encoded output symbols previously received;memory for storing encoded output symbols received at the receiver input;a key generator that generates corresponding keys for the received encoded output symbols by extracting or deducing keys from the particular encoded output symbols received, if corresponding keys are not already available to the system;dynamic decoder logic that decodes, from at least some of the received encoded output symbols and their corresponding keys, to recover a first set of input symbols and at least some redundant symbols used in the creation of a first subset of the encoded output symbols;processing logic for determining whether the decoding process is complete; andstatic decoder logic that decodes, if the decoding process is not complete, from at least some of the redundant symbols, additional input symbols not decoded by the dynamic decoder logic, to recover a second set of input symbols used in the creation of a second subset of the encoded output symbols that were not decoded by the dynamic decoder. 48. The system of claim 47, wherein the processing logic for determining includes processing logic for determining based at least in part on one or more of (a) the number of output symbols processed, (b) a rate at which input symbols are being recovered, and (c) time spent processing output symbols. 49. A computer-readable medium that is non-transitory for use with electronics capable of executing instructions read from the computer-readable medium in order to implement decoding output symbols transmitted over a communications channel, the computer-readable medium having stored thereon: program code for receiving a plurality of encoded output symbols and corresponding keys from the communications channel, including program code for handling encoded output symbols if they are received in an order independent of the order of encoded output symbols previously received;program code for decoding at least some of the encoded output symbols using a dynamic decoder and the corresponding keys to recover a first set of input symbols and at least some redundant symbols used in the creation of a first subset of the encoded output symbols;program code for determining whether the decoding process is complete; andprogram code for decoding, if the decoding process is not complete, at least some of the encoded output symbols using a static decoder to recover a second set of input symbols used in the creation of a second subset of the encoded output symbols that were not decoded by the dynamic decoder. 50. The computer-readable medium of claim 49, wherein the program code for determining includes program code for determining based at least in part on one or more of (a) the number of output symbols processed, (b) a rate at which input symbols are being recovered, and (c) time spent processing output symbols.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.