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: 20110238789
    Abstract: 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: Application
    Filed: September 21, 2010
    Publication date: September 29, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Michael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang, Ying Chen, Thomas Stockhammer
  • Publication number: 20110239078
    Abstract: 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: Application
    Filed: September 21, 2010
    Publication date: September 29, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Michael G. Luby, Bin Wang, Payam Pakzad, Mark Watson, Lorenzo Vicisano
  • Publication number: 20110231519
    Abstract: 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: Application
    Filed: September 21, 2010
    Publication date: September 22, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Michael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang, Thomas Stockhammer
  • Publication number: 20110231569
    Abstract: 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: Application
    Filed: September 21, 2010
    Publication date: September 22, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Michael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang
  • Publication number: 20110216841
    Abstract: 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: Application
    Filed: March 3, 2010
    Publication date: September 8, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Michael G. Luby, Mark Watson
  • Patent number: 8006160
    Abstract: 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: Grant
    Filed: June 29, 2007
    Date of Patent: August 23, 2011
    Assignee: Digital Fountain, Inc.
    Inventors: Steve Chen, Mark Watson, Michael G. Luby, Bill Seed, Thomas Kunz
  • Patent number: 7971129
    Abstract: 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: Grant
    Filed: May 10, 2007
    Date of Patent: June 28, 2011
    Assignee: Digital Fountain, Inc.
    Inventors: Mark Watson, Michael G. Luby
  • Publication number: 20110096828
    Abstract: 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: Application
    Filed: September 21, 2010
    Publication date: April 28, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Ying Chen, Thomas Stockhammer, Michael G. Luby
  • Publication number: 20110019769
    Abstract: 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: Application
    Filed: May 17, 2010
    Publication date: January 27, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Mohammad Amin Shokrollahi, Soren Lassen, Michael G. Luby
  • Patent number: 7812743
    Abstract: 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: Grant
    Filed: August 20, 2007
    Date of Patent: October 12, 2010
    Assignee: Digital Fountain Inc.
    Inventor: Michael G. Luby
  • Publication number: 20100211690
    Abstract: 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: Application
    Filed: February 12, 2010
    Publication date: August 19, 2010
    Applicant: Digital Fountain, Inc.
    Inventors: Payam Pakzad, Michael G. Luby
  • Patent number: 7676735
    Abstract: 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: Grant
    Filed: June 9, 2006
    Date of Patent: March 9, 2010
    Assignee: Digital Fountain Inc.
    Inventors: Michael G. Luby, Mark Watson, M. Amin Shokrollahi
  • Publication number: 20100050057
    Abstract: 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: Application
    Filed: October 27, 2009
    Publication date: February 25, 2010
    Applicant: QUALCOMM Incorporated
    Inventor: Michael G. Luby
  • Publication number: 20100011274
    Abstract: 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: Application
    Filed: June 11, 2009
    Publication date: January 14, 2010
    Applicant: QUALCOMM Incorporated
    Inventors: Thomas Stockhammer, Michael G. Luby
  • Patent number: 7644335
    Abstract: 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: Grant
    Filed: June 9, 2006
    Date of Patent: January 5, 2010
    Assignee: Qualcomm Incorporated
    Inventors: Michael G. Luby, M. Amin Shokrollahi
  • Publication number: 20090210547
    Abstract: 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: Application
    Filed: February 12, 2009
    Publication date: August 20, 2009
    Applicant: Digital Fountain, Inc.
    Inventors: Soren Lassen, Gavin Horn, Jeffrey J. Persch, Armin Haken, Michael G. Luby
  • Publication number: 20090189792
    Abstract: 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: Application
    Filed: April 3, 2009
    Publication date: July 30, 2009
    Inventors: M. Amin Shokrollahi, Michael G. Luby
  • Patent number: 7532132
    Abstract: 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: Grant
    Filed: August 20, 2007
    Date of Patent: May 12, 2009
    Assignee: Digital Fountain, Inc.
    Inventors: M. Amin Shokrollahi, Michael G. Luby
  • Patent number: 7512697
    Abstract: 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: Grant
    Filed: September 26, 2005
    Date of Patent: March 31, 2009
    Assignee: Digital Fountain, Inc.
    Inventors: Soren Lassen, Gavin Horn, Jeffrey J. Persch, Armin Haken, Michael G. Luby
  • Publication number: 20090067551
    Abstract: 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: Application
    Filed: September 12, 2008
    Publication date: March 12, 2009
    Applicant: Digital Fountain, Inc.
    Inventors: Steve Chen, Michael G. Luby, Manu Prasad, William Seed, Thomas Stockhammer