최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0041085 (2011-03-04) |
등록번호 | US-9288010 (2016-03-15) |
발명자 / 주소 |
|
출원인 / 주소 |
|
인용정보 | 피인용 횟수 : 5 인용 특허 : 226 |
Methods and apparatus for delivering data objects from an electronic device or system over a packet-switched network are provided, wherein source data is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, by arranging
Methods and apparatus for delivering data objects from an electronic device or system over a packet-switched network are provided, wherein source data is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, by arranging the source data into a plurality of source symbols, generating a plurality of encoding packets, wherein an encoding packet comprises a universal object symbol identifier (“UOSI”) and a plurality of encoding symbols representing source data for a packet structure identified by the UOSI, and sending the plurality of encoding packets to the packet-switched network.
1. A method of delivering a plurality of data objects from an electronic device or system over a packet-switched network, wherein source data of the plurality of data objects is represented by encoded symbols in packets such that at least some of the source data is recoverable from the encoded symbo
1. A method of delivering a plurality of data objects from an electronic device or system over a packet-switched network, wherein source data of the plurality of data objects is represented by encoded symbols in packets such that at least some of the source data is recoverable from the encoded symbols, the method comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects to be delivered, including F, a size of the data object in octets, T, a number of octets used to represent each symbol used for representing the data object, and Z, a number of source blocks into which the data object is partitioned for delivery;b) generating a universal object symbol identifier (“UOSI”) for each packet of a plurality of packets for the plurality of data objects;c) generating a plurality of encoded symbols from a plurality of source symbols comprising the source data representing the plurality of data objects, each of the source symbols having a position in the source data, wherein generating an encoded symbol for a given data object of at least two data objects represented in the given packet comprises: 1) determining an FEC encoding process to use;2) determining, from the UOSI of the given packet and the OTI of the given data object, a source block number (“SBN”) and an encoded symbol identifier (“ESI”); and3) generating, for that encoded symbol, an encoded symbol value of size T based on at least (a) the FEC encoding process, (b) one or more source symbols from a source block of the Z source blocks determined from the SBN of that encoded symbol, and (c) the ESI of that encoded symbol,wherein the UOSI of the given packet allows identification of each encoded symbol for each data object represented in the given packet, and the SBN or the ESI of encoded symbols for different data objects of the at least two data objects represented in the given packet can differ;d) generating an OTI field that includes a representation of the OTI for each of the data objects handled in step a), wherein the OTI field also includes d, the number of data objects represented by the OTI field;e) generating the plurality of packets for the plurality of data objects, wherein each packet of the plurality of packets comprises the UOSI for that packet and one or more encoded symbols for each data object represented in that packet generated from that data object using the OTI for that data object and the UOSI for that packet; andf) outputting the OTI field and the plurality of packets in a form usable by the packet-switched network. 2. The method of claim 1, wherein the OTI for each data object also includes N, a number of sub-blocks into which each source block of the data object is partitioned for transmission. 3. The method of claim 1, further comprising: setting SBN equal to UOSI modulo Z; andsetting ESI equal to the largest integer that is smaller than or equal to UOSI divided by Z. 4. A method of delivering a plurality of data objects from an electronic device or system over a packet-switched network, wherein source data of the plurality of data objects is represented by encoded symbols in packets such that at least some of the source data is recoverable from the encoded symbols, the method comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects to be delivered, wherein OTI for two data objects in one delivery can differ;b) generating a universal object symbol identifier (“UOSI”) for each packet of a plurality of packets for the plurality of data objects;c) generating a plurality of encoded symbols from a plurality of source symbols comprising the source data representing the plurality of data objects, each of the source symbols having a position in the source data, wherein generating an encoded symbol for a given data object of at least two data objects represented in the given packet comprises determining a value for that encoded symbol from (a) the UOSI of the given packet, (b) the OTI of the given data object, and (c) one or more source symbol values, wherein the UOSI of the given packet allows identification of each encoded symbol for each data object represented in the given packet, and an identifier of encoded symbols for different data objects of the at least two data objects represented in the given packet can differ;d) generating the plurality of packets for the plurality of data objects to be delivered, wherein each packet of the plurality of packets comprises the UOSI for that packet and one or more encoded symbols for each data object represented in that packet generated from that data object using the OTI for that data object and the UOSI for that packet; ande) outputting at least the plurality of packets in a form usable by the packet-switched network. 5. The method of claim 4, further comprising labeling symbols such that a receiver can determine if a symbol corresponds to a source symbol of a data object or an FEC repair symbol usable in an FEC decoding process for recovery of one or more source symbols, wherein the receiver performs the determination by comparing the UOSI for the packet comprising the symbol to a value representing a number of symbols in a data object. 6. The method of claim 4, wherein the UOSI is a non-negative integer and the OTI for each data object includes a size of the data object in octets, a number of octets used to represent each symbol used for representing the data object, a number of source blocks into which the data object is partitioned for delivery, a number of sub-blocks into which source blocks are partitioned, and an alignment factor corresponding to a preferred memory alignment. 7. The method of claim 4, wherein the OTI of the given data object includes a base UOSI value; anddetermining a value for that encoded symbol from (a) the UOSI of the given packet, (b) the OTI of the given data object, and (c) one or more source symbol values comprises adjusting the UOSI of the given packet by the base UOSI value prior to the determining a value for that encoded symbol, thereby allowing for offset values of the UOSI. 8. The method of claim 4, wherein determining a value for that encoded symbol comprises using forward error correction (“FEC”) and wherein different levels of FEC protection are allowed for different data objects of the at least two data objects represented in the given packet and a level of FEC protection is determined from the OTI for each different data object. 9. The method of claim 4, wherein an OTI field comprises a plurality of OTI subfields, one per data object, and a count subfield indicating the number of data objects in the plurality of data objects, wherein not all of the OTI subfields are the same, and wherein an OTI subfield is generated independently of at least one other OTI subfield. 10. The method of claim 9, wherein each OTI subfield includes, for its data object, a size of the data object, a number of source blocks into which the data object is partitioned for transport, a number of sub-blocks used per source block, a symbol size used, and an alignment factor, wherein the number of source blocks for at least two data objects differs. 11. The method of claim 4, wherein the plurality of data objects comprise at least a first data object and a second data object, wherein the delivery is organized into at least two separate packet sequences, wherein encoding symbols for the first data object appear in packets of a first packet sequence and in packets of a second packet sequence, and encoding symbols for the second data object appear in packets of the first packet sequence but not in packets of the second packet sequence. 12. The method of claim 4, wherein each of the plurality of data objects comprises a distinct file stored in computer-readable media that stores data as files. 13. The method of claim 4, wherein at least one of the plurality of data objects comprises a portion of a distinct file stored in computer-readable media that stores data as files. 14. A method of receiving and decoding, using an electronic device or system, a plurality of data objects received over a packet-switched network, wherein encoded symbols received are decoded into source symbols representing the plurality of data objects when sufficient encoded symbols are received, the method comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects delivered, wherein OTI for two data objects in one delivery can differ;b) determining, for each encoded symbol to be used in decoding, a data object for which the encoded symbol encodes source symbols of that data object, an encoded symbol value, and a universal object symbol identifier (“UOSI”) for a packet comprising the encoded symbol;c) determining, for each encoded symbol to be used in decoding, decoding parameters used for decoding, wherein determining uses the UOSI for the packet comprising the encoded symbol and the corresponding data object's OTI to determine the decoding parameters, wherein the UOSI for the packet allows identification of each encoded symbol for each data object represented in the packet, and a decoding parameter of encoded symbols for different data objects of at least two data objects represented in the packet can differ;d) decoding the encoded symbols into recovered source symbols representing data objects using encoded symbols and decoding parameters determined in step c); ande) outputting the recovered source symbols in a computer-readable form. 15. The method of claim 14, further comprising receiving the OTI with the received encoded symbols. 16. The method of claim 14, wherein the decoding parameters comprise a source block number and an encoded symbol identifier, the method further comprising: setting the source block number equal to the UOSI modulo a number of source blocks used; andsetting the encoded symbol identifier equal to the largest integer that is smaller than or equal to UOSI divided by the number of source blocks used. 17. The method of claim 14, further comprising determining, for each of a plurality of the encoded symbols, if the encoded symbol corresponds to a source symbol or a forward error correction (“FEC”) repair symbol usable in an FEC decoding process for recovery of one or more source symbols, wherein a receiver performs the determination by comparing the UOSI for the packet comprising the encoded symbol to a value representing a number of symbols in a data object. 18. The method of claim 14, wherein the UOSI is a non-negative integer and the OTI for each of a plurality of data objects includes a size of each data object in octets, a number of octets used to represent each symbol used for representing each data object, a number of source blocks into which each data object is partitioned for delivery, a number of sub-blocks into which source blocks are partitioned, and an alignment factor corresponding to a preferred memory alignment, wherein OTI values differ for the at least two data objects represented in the packet and different levels of forward error correction (“FEC”) are used for the at least two data objects represented in the packet. 19. An apparatus for delivering a plurality of data objects from an electronic device or system over a packet-switched network, wherein source data of the plurality of data objects is represented by encoded symbols in packets such that at least some of the source data is recoverable from the encoded symbols, the apparatus comprising memory and a processor, the memory and processor configured to perform operations comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects to be delivered, including F, a size of the data object in octets, T, a number of octets used to represent each symbol used for representing the data object, and Z, a number of source blocks into which the data object is partitioned for delivery;b) generating a universal object symbol identifier (“UOSI”) for each packet of a plurality of packets for the plurality of data objects;c) generating a plurality of encoded symbols from a plurality of source symbols comprising the source data representing the plurality of data objects, each of the source symbols having a position in the source data, wherein generating an encoded symbol for a given data object of at least two data objects represented in the given packet comprises: 1) determining an FEC encoding process to use;2) determining, from the UOSI of the given packet and the OTI of the given data object, a source block number (“SBN”) and an encoded symbol identifier (“ESI”); and3) generating, for that encoded symbol, an encoded symbol value of size T based on at least (a) the FEC encoding process, (b) one or more source symbols from a source block of the Z source blocks determined from the SBN of that encoded symbol, and (c) the ESI of that encoded symbol,wherein the UOSI of the given packet allows identification of each encoded symbol for each data object represented in the given packet, and the SBN or the ESI of encoded symbols for different data objects of the at least two data objects represented in the given packet can differ;d) generating an OTI field that includes a representation of the OTI for each of the data objects handled in step a), wherein the OTI field also includes d, the number of data objects represented by the OTI field;e) generating the plurality of packets for the plurality of data objects, wherein each packet of the plurality of packets comprises the UOSI for that packet and one or more encoded symbols for each data object represented in that packet generated from that data object using the OTI for that data object and the UOSI for that packet; andf) outputting the OTI field and the plurality of packets in a form usable by the packet-switched network. 20. The apparatus of claim 19, wherein the memory and processor are configured to perform operations such that the OTI for each data object also includes N, a number of sub- blocks into which each source block of the data object is partitioned for transmission. 21. The apparatus of claim 19, wherein the memory and processor are configured to perform operations further comprising: setting SBN equal to UOSI modulo Z; andsetting ESI equal to the largest integer that is smaller than or equal to UOSI divided by Z. 22. An apparatus for delivering a plurality of data objects from an electronic device or system over a packet-switched network, wherein source data of the plurality of data objects is represented by encoded symbols in packets such that at least some of the source data is recoverable from the encoded symbols, the apparatus comprising memory and a processor, the memory and processor configured to perform operations comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects to be delivered, wherein OTI for two data objects in one delivery can differ;b) generating a universal object symbol identifier (“UOSI”) for each packet of a plurality of packets for the plurality of data objects;c) generating a plurality of encoded symbols from a plurality of source symbols comprising the source data representing the plurality of data objects, each of the source symbols having a position in the source data, wherein generating an encoded symbol for a given data object of at least two data objects represented in the given packet comprises determining a value for that encoded symbol from (a) the UOSI of the given packet, (b) the OTI of the given data object, and (c) one or more source symbol values, wherein the UOSI of the given packet allows identification of each encoded symbol for each data object represented in the given packet, and an identifier of encoded symbols for different data objects of the at least two data objects represented in the given packet can differ;d) generating the plurality of packets for the plurality of data objects to be delivered, wherein each packet of the plurality of packets comprises the UOSI for that packet and one or more encoded symbols for each data object represented in that packet generated from that data object using the OTI for that data object and the UOSI for that packet; ande) outputting at least the plurality of packets in a form usable by the packet-switched network. 23. The apparatus of claim 22, wherein the memory and processor are configured to perform operations further comprising labeling symbols such that a receiver can determine if a symbol corresponds to a source symbol of a data object or an FEC repair symbol usable in an FEC decoding process for recovery of one or more source symbols, wherein the receiver performs the determination by comparing the UOSI for the packet comprising the symbol to a value representing a number of symbols in a data object. 24. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that the UOSI is a non-negative integer and the OTI for each data object includes a size of the data object in octets, a number of octets used to represent each symbol used for representing the data object, a number of source blocks into which the data object is partitioned for delivery, a number of sub-blocks into which source blocks are partitioned, and an alignment factor corresponding to a preferred memory alignment. 25. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that the OTI of the given data object includes a base UOSI value; anddetermining a value for that encoded symbol from (a) the UOSI of the given packet, (b) the OTI of the given data object, and (c) one or more source symbol values comprises adjusting the UOSI of the given packet by the base UOSI value prior to the determining a value for that encoded symbol, thereby allowing for offset values of the UOSI. 26. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that determining a value for that encoded symbol comprises using forward error correction (“FEC”) and wherein different levels of FEC protection are allowed for different data objects of the at least two data objects represented in the given packet and a level of FEC protection is determined from the OTI for each different data object. 27. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that an OTI field comprises a plurality of OTI subfields, one per data object, and a count subfield indicating the number of data objects in the plurality of data objects, wherein not all of the OTI subfields are the same, and wherein an OTI subfield is generated independently of at least one other OTI subfield. 28. The apparatus of claim 27, wherein the memory and processor are configured to perform operations such that each OTI subfield includes, for its data object, a size of the data object, a number of source blocks into which the data object is partitioned for transport, a number of sub-blocks used per source block, a symbol size used, and an alignment factor, wherein the number of source blocks for at least two data objects differs. 29. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that the plurality of data objects comprise at least a first data object and a second data object, wherein the delivery is organized into at least two separate packet sequences, wherein encoding symbols for the first data object appear in packets of a first packet sequence and in packets of a second packet sequence, and encoding symbols for the second data object appear in packets of the first packet sequence but not in packets of the second packet sequence. 30. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that each of the plurality of data objects comprises a distinct file stored in computer-readable media that stores data as files. 31. The apparatus of claim 22, wherein the memory and processor are configured to perform operations such that at least one of the plurality of data objects comprises a portion of a distinct file stored in computer-readable media that stores data as files. 32. An apparatus for receiving and decoding, using an electronic device or system, a plurality of data objects received over a packet-switched network, wherein encoded symbols received are decodable into source symbols representing the plurality of data objects when sufficient encoded symbols are received, the apparatus comprising memory and a processor, the memory and processor configured to perform operations comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects delivered, wherein OTI for two data objects in one delivery can differ;b) determining, for each encoded symbol to be used in decoding, a data object for which the encoded symbol encodes source symbols of that data object, an encoded symbol value, and a universal object symbol identifier (“UOSI”) for a packet comprising the encoded symbol;c) determining, for each encoded symbol to be used in decoding, decoding parameters used for decoding, wherein determining uses the UOSI for the packet comprising the encoded symbol and the corresponding data object's OTI to determine the decoding parameters, wherein the UOSI for the packet allows identification of each encoded symbol for each data object represented in the packet, and a decoding parameter of encoded symbols for different data objects of at least two data objects represented in the packet can differ;d) decoding the encoded symbols into recovered source symbols representing data objects using encoded symbols and decoding parameters determined in step c); ande) outputting the recovered source symbols in a computer-readable form. 33. The apparatus of claim 32, wherein the memory and processor are configured to perform operations further comprising receiving the OTI with the received encoded symbols. 34. The apparatus of claim 32, wherein the memory and processor are configured to perform operations such that the decoding parameters comprise a source block number and an encoded symbol identifier, wherein the memory and processor are configured to perform operations further comprising: setting the source block number equal to the UOSI modulo a number of source blocks used; andsetting the encoded symbol identifier equal to the largest integer that is smaller than or equal to UOSI divided by the number of source blocks used. 35. The apparatus of claim 32, wherein the memory and processor are configured to perform operations further comprising determining, for each of a plurality of the encoded symbols, if the encoded symbol corresponds to a source symbol or a forward error correction (“FEC”) repair symbol usable in an FEC decoding process for recovery of one or more source symbols, wherein a receiver performs the determination by comparing the UOSI for the packet comprising the encoded symbol to a value representing a number of symbols in a data object. 36. The apparatus of claim 32, wherein the memory and processor are configured to perform operations such that the UOSI is a non-negative integer and the OTI for each of a plurality of data objects includes a size of each data object in octets, a number of octets used to represent each symbol used for representing each data object, a number of source blocks into which each data object is partitioned for delivery, a number of sub-blocks into which source blocks are partitioned, and an alignment factor corresponding to a preferred memory alignment, wherein OTI values differ for the at least two data objects represented in the packet and different levels of forward error correction (“FEC”) are used for the at least two data objects represented in the packet. 37. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a computing device to perform operations for receiving and decoding a plurality of data objects received over a packet-switched network, wherein encoded symbols received are decodable into source symbols representing the plurality of data objects when sufficient encoded symbols are received, the operations comprising: a) identifying object transmission information (“OTI”) for each data object of the plurality of data objects delivered, wherein OTI for two data objects in one delivery can differ;b) determining, for each encoded symbol to be used in decoding, a data object for which the encoded symbol encodes source symbols of that data object, an encoded symbol value, and a universal object symbol identifier (“UOSI”) for a packet comprising the encoded symbol;c) determining, for each encoded symbol to be used in decoding, decoding parameters used for decoding, wherein determining uses the UOSI for the packet comprising the encoded symbol and the corresponding data object's OTI to determine the decoding parameters, wherein the UOSI for the packet allows identification of each encoded symbol for each data object represented in the packet, and a decoding parameter of encoded symbols for different data objects of at least two data objects represented in the packet can differ;d) decoding the encoded symbols into recovered source symbols representing data objects using encoded symbols and decoding parameters determined in step c); ande) outputting the recovered source symbols in a computer-readable form. 38. The non-transitory processor-readable storage medium of claim 37, wherein the memory and processor are configured to perform operations further comprising receiving the OTI with the received encoded symbols. 39. The non-transitory processor-readable storage medium of claim 37, wherein the stored processor-executable instructions are configured to cause the processor to perform operations such that the decoding parameters comprise a source block number and an encoded symbol identifier, wherein the memory and processor are configured to perform operations further comprising: setting the source block number equal to the UOSI modulo a number of source blocks used; andsetting the encoded symbol identifier equal to the largest integer that is smaller than or equal to UOSI divided by the number of source blocks used. 40. The non-transitory processor-readable storage medium of claim 37, wherein the stored processor-executable instructions are configured to cause the processor to perform operations further comprising determining, for each of a plurality of the encoded symbols, if the encoded symbol corresponds to a source symbol or a forward error correction (“FEC”) repair symbol usable in an FEC decoding process for recovery of one or more source symbols, wherein a receiver performs the determination by comparing the UOSI for the packet comprising the encoded symbol to a value representing a number of symbols in a data object. 41. The non-transitory processor-readable storage medium of claim 37, wherein the stored processor-executable instructions are configured to cause the processor to perform operations such that the UOSI is a non-negative integer and the OTI for each of a plurality of data objects includes a size of each data object in octets, a number of octets used to represent each symbol used for representing each data object, a number of source blocks into which each data object is partitioned for delivery, a number of sub-blocks into which source blocks are partitioned, and an alignment factor corresponding to a preferred memory alignment, wherein OTI values differ for the at least two data objects represented in the packet and different levels of forward error correction (“FEC”) are used for the at least two data objects represented in the packet.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.