Patents by Inventor Michael G. Luby
Michael G. Luby has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20110238789Abstract: A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. The system might include controlling the sequence, timing and construction of block requests, time based indexing, variable block sizing, optimal block partitioning, control of random access point placement, including across multiple presentation versions, dynamically updating presentation data, and/or efficiently presenting live content and time shifting.Type: ApplicationFiled: September 21, 2010Publication date: September 29, 2011Applicant: QUALCOMM IncorporatedInventors: Michael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang, Ying Chen, Thomas Stockhammer
-
Publication number: 20110239078Abstract: A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might or might not include a cache. A client device can be adapted to take advantage of the ingestion process as well as including improvements that make for a better presentation independent of the ingestion process. In the block-request streaming system, the an ingestion system generates data according to erasure codes and the client device, through various selection and timing of requests for media data and redundant data, can efficiently decode media to provide for presentations.Type: ApplicationFiled: September 21, 2010Publication date: September 29, 2011Applicant: QUALCOMM IncorporatedInventors: Michael G. Luby, Bin Wang, Payam Pakzad, Mark Watson, Lorenzo Vicisano
-
Publication number: 20110231519Abstract: A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might include a cache. A client device can be adapted to take advantage of the ingestion process as well as improvements that make for a better presentation independent of the ingestion process. The client devices and ingestion system can be coordinated to have a predefined mapping and template for making block requests to HTTP file names that a conventional file server can accept through the use of URL construction rules. Segment size might be specified in an approximate manner for more efficient organization.Type: ApplicationFiled: September 21, 2010Publication date: September 22, 2011Applicant: QUALCOMM IncorporatedInventors: Michael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang, Thomas Stockhammer
-
Publication number: 20110231569Abstract: A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. A client device can be adapted to take advantage of the ingestion process. The client device might be configured to optimize use of resources, given the information available to it from the ingestion system. This may include configurations to determine the sequence, timing and construction of block requests based on monitoring buffer size and rate of change of buffer size, use of variable sized requests, mapping of block requests to underlying transport connections, flexible pipelining of requests, and/or use of whole file requests based on statistical considerations.Type: ApplicationFiled: September 21, 2010Publication date: September 22, 2011Applicant: QUALCOMM IncorporatedInventors: Michael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang
-
Publication number: 20110216841Abstract: A method of mapping m individual objects to source symbols for delivering data from a transmitter to a receiver in a communication system, the m individual objects ordered from object 1 to object m, wherein m>1, includes: aggregating the m individual objects into an aggregate object, including for each individual object j, calculating a number of source symbols S(j) for containing data of the individual object j; and partitioning the aggregate object into Z source blocks, including for each source block k and each individual object j, calculating a number of source symbols NSS(j, k) of individual object j in source block k, wherein the S(j) source symbols for each individual object j are arranged consecutively within consecutive source blocks, starting from a first source block for which NSS(j, k)>0 to a last source block for which NSS(j, k)>0.Type: ApplicationFiled: March 3, 2010Publication date: September 8, 2011Applicant: QUALCOMM IncorporatedInventors: Michael G. Luby, Mark Watson
-
Patent number: 8006160Abstract: A sequence of symbol operations (a “schedule representation”) within a data storage device, wherein the operations are those used to process encoding or decoding operations of a forward error correction code (an “FEC code”) upon an arbitrary block of data of a given size (where size can be measured in numbers of symbols). The method is such that the schedule representation can be used to direct the processing of these operations upon a block of data in a way that is computationally efficient. Preferably, the same method can be applied to represent schedules derived from multiple different algorithms for the encoding or decoding of a code or for multiple different codes.Type: GrantFiled: June 29, 2007Date of Patent: August 23, 2011Assignee: Digital Fountain, Inc.Inventors: Steve Chen, Mark Watson, Michael G. Luby, Bill Seed, Thomas Kunz
-
Patent number: 7971129Abstract: A method of encoding data for transmissions from a source to a destination over a communications channel is provided. The method operates on an ordered set of source symbols and may generate zero or more redundant symbols from the source symbols, wherein data is encoded in a first step according to a simple FEC code and in a second step, data is encoded according to a second FEC code, more complex than the first FEC code. The first FEC code and/or the second FEC code might comprise coding known in the art. These steps result in two groups of encoded data in such a way that a low-complexity receiver may make use of one of the groups of encoded data while higher complexity receivers may make use of both groups of encoded data.Type: GrantFiled: May 10, 2007Date of Patent: June 28, 2011Assignee: Digital Fountain, Inc.Inventors: Mark Watson, Michael G. Luby
-
Publication number: 20110096828Abstract: A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. A client device can be adapted to take advantage of the ingestion process as well as including improvements that make for a better presentation independent of the ingestion process. The files or data elements are organized as blocks that are transmitted and decoded as a unit, and the system is configured to provide and consume scalable blocks such that the quality of the presentation increases as more of the block is downloaded. Encoding and decoding blocks with multiple independent scalability layers can be done as well.Type: ApplicationFiled: September 21, 2010Publication date: April 28, 2011Applicant: QUALCOMM IncorporatedInventors: Ying Chen, Thomas Stockhammer, Michael G. Luby
-
Publication number: 20110019769Abstract: 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.Type: ApplicationFiled: May 17, 2010Publication date: January 27, 2011Applicant: QUALCOMM IncorporatedInventors: Mohammad Amin Shokrollahi, Soren Lassen, Michael G. Luby
-
Patent number: 7812743Abstract: An encoder uses an input file of data and a key to produce an output symbol. An output symbol with key I is generated by determining a weight, W(I), for the output symbol to be generated, selecting W(I) of the input symbols associated with the output symbol according to a function of I, and generating the output symbol's value B(I) from a predetermined value function F(I) of the selected W(I) input symbols. An encoder can be called repeatedly to generate multiple output symbols. The output symbols are generally independent of each other, and an unbounded number (subject to the resolution of I) can be generated, if needed. A decoder receives some or all of the output symbols generated. The number of output symbols needed to decode an input file is equal to, or slightly greater than, the number of input symbols comprising the file, assuming that input symbols and output symbols represent the same number of bits of data.Type: GrantFiled: August 20, 2007Date of Patent: October 12, 2010Assignee: Digital Fountain Inc.Inventor: Michael G. Luby
-
Publication number: 20100211690Abstract: A method for serving a data stream from a transmitter to a receiver includes: determining an underlying structure of the data stream; determining at least one objective, selected from a group of (1) reducing a start-up delay between when the receiver first starts receiving the data stream from the transmitter and when the receiver can start consumption of blocks of the data stream without interruption, according to the underlying structure, (2) reducing a transmission bandwidth needed to send the data stream, and (3) ensuring that the blocks of the data stream satisfy predetermined block constraints; and transmitting the blocks of the data stream consistent with the at least one objective and the underlying structure.Type: ApplicationFiled: February 12, 2010Publication date: August 19, 2010Applicant: Digital Fountain, Inc.Inventors: Payam Pakzad, Michael G. Luby
-
Patent number: 7676735Abstract: In a data decoder for decoding data from received symbols received over a channel from an encoder, a method for decoding data wherein the received data includes erasures and includes source symbols and repair symbols organized into one or more source blocks. The decoder uses a generator matrix, any square submatrix of which is invertible, such that the decoder performs decoding operations concurrently with the arrival of the source symbols and repair symbols that are a part of a source block. Novel methods for interleaving and specifying encoding structure for a large class of FEC codes, scheduling the sending of packets and the like, are also applied in conjunction with the method for decoding data.Type: GrantFiled: June 9, 2006Date of Patent: March 9, 2010Assignee: Digital Fountain Inc.Inventors: Michael G. Luby, Mark Watson, M. Amin Shokrollahi
-
Publication number: 20100050057Abstract: In a packet communications system stream data is transported over a channel over which packet loss or corruption is possible, with forward error correction (“FEC”) information. A transmitter receives source packets comprising source data, generates FEC source packets formatted to allow for identification of lost or corrupted source packets at a receiver, arranges source data from the source packets into a plurality of source symbols wherein at least one source packet is arranged into more than one source symbol, associates a plurality of source symbols with a source block, generates a plurality of repair symbols from the source block according to a predetermined FEC encoding process and groups the plurality of repair symbols into one or more FEC repair packets associated with the source block. A receiver can use the FEC repair symbols from the FEC repair packets to recover source symbols, as needed.Type: ApplicationFiled: October 27, 2009Publication date: February 25, 2010Applicant: QUALCOMM IncorporatedInventor: Michael G. Luby
-
Publication number: 20100011274Abstract: A communication system wherein a transmitter transmits a media stream to a receiver encoded using FEC, comprising at least one hypothetical FEC decoder at the transmitter for decoding the media stream encoded at the transmitter. The transmitter determines what optimization signals to provide the receiver given the outputs of the at least one hypothetical FEC decoder and signals to the receiver those optimization signals. The optimization signals might include slowdown of media consumption signals, indications of variable buffering parameters and/or indications of FEC and source data ordering.Type: ApplicationFiled: June 11, 2009Publication date: January 14, 2010Applicant: QUALCOMM IncorporatedInventors: Thomas Stockhammer, Michael G. Luby
-
Patent number: 7644335Abstract: In an encoder for encoding symbols of data using a computing device having memory constraints, a method of performing a transformation comprising loading a source block into memory of the computing device, performing an intermediate transformation of less than all of the source block, then replacing a part of the source block with intermediate results in the memory and then completing the transformation such that output symbols stored in the memory form a set of encoded symbols. A decoder can perform decoding steps in an order that allows for use of substantially the same memory for storing the received data and the decoded source block, performing as in-place transformations. Using an in-place transformation, a large portion of memory set aside for received data can be overwritten as that received data is transformed into decoded source data without requiring a similar sized large portion of memory for the decoded source data.Type: GrantFiled: June 9, 2006Date of Patent: January 5, 2010Assignee: Qualcomm IncorporatedInventors: Michael G. Luby, M. Amin Shokrollahi
-
Publication number: 20090210547Abstract: Multiple files a served using a server coupled to a data network. A plurality of files is determined, wherein a file includes an integer number of blocks, and wherein each block includes at least one input symbol. For each file, an indication of at least one channel on which to serve the file is determined, and, for each file, a rate at which to serve the file is determined. Also, a schedule for processing the blocks is determined, and output symbols for the blocks are generated according to the schedule. The output symbols are transmitted on the corresponding at least one channel, wherein the files are concurrently served at their corresponding rates.Type: ApplicationFiled: February 12, 2009Publication date: August 20, 2009Applicant: Digital Fountain, Inc.Inventors: Soren Lassen, Gavin Horn, Jeffrey J. Persch, Armin Haken, Michael G. Luby
-
Publication number: 20090189792Abstract: A method of encoding data into a chain reaction code includes generating a set of input symbols from input data. Subsequently, one or more non-systematic output symbols is generated from the set of input symbols, each of the one or more non-systematic output symbols being selected from an alphabet of non-systematic output symbols, and each non-systematic output symbol generated as a function of one or more of the input symbols. As a result of this encoding process, any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered, and (b) one or more of the non-systematic output symbols.Type: ApplicationFiled: April 3, 2009Publication date: July 30, 2009Inventors: M. Amin Shokrollahi, Michael G. Luby
-
Patent number: 7532132Abstract: A method of encoding data into a chain reaction code includes generating a set of input symbols from input data. Subsequently, one or more non-systematic output symbols is generated from the set of input symbols, each of the one or more non-systematic output symbols being selected from an alphabet of non-systematic output symbols, and each non-systematic output symbol generated as a function of one or more of the input symbols. As a result of this encoding process, any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered, and (b) one or more of the non-systematic output symbols.Type: GrantFiled: August 20, 2007Date of Patent: May 12, 2009Assignee: Digital Fountain, Inc.Inventors: M. Amin Shokrollahi, Michael G. Luby
-
Patent number: 7512697Abstract: Multiple files a served using a server coupled to a data network. A plurality of files is determined, wherein a file includes an integer number of blocks, and wherein each block includes at least one input symbol. For each file, an indication of at least one channel on which to serve the file is determined, and, for each file, a rate at which to serve the file is determined. Also, a schedule for processing the blocks is determined, and output symbols for the blocks are generated according to the schedule. The output symbols are transmitted on the corresponding at least one channel, wherein the files are concurrently served at their corresponding rates.Type: GrantFiled: September 26, 2005Date of Patent: March 31, 2009Assignee: Digital Fountain, Inc.Inventors: Soren Lassen, Gavin Horn, Jeffrey J. Persch, Armin Haken, Michael G. Luby
-
Publication number: 20090067551Abstract: A method of generating Source Identification information from a source packet stream and reliably transmitting the Source Identification information from a source to a destination over a communications channel is provided. The method operates on a set of source packets, wherein Source Identification information for each source packet to be transmitted is derived and delivered with the Source Identification information of all or most other source packets of an associated source block. The method includes techniques to minimize the network bandwidth required to deliver Source Identification information and techniques to overcome network impairments. When combined with FEC techniques, retransmission techniques, or combinations of FEC techniques and retransmission techniques, the methods described herein allow receivers to recover lost source packets, while simultaneously ensuring that the original source packets are not modified and thereby ensuring backwards compatibility for legacy receivers.Type: ApplicationFiled: September 12, 2008Publication date: March 12, 2009Applicant: Digital Fountain, Inc.Inventors: Steve Chen, Michael G. Luby, Manu Prasad, William Seed, Thomas Stockhammer