Patents Assigned to Digital Fountain, Inc.
  • Patent number: 9270414
    Abstract: A method of encoding data for transmission from a source to a destination over a communications channel is provided. The method operates on an ordered set of input symbols and includes generating a plurality of redundant symbols from the input symbols based on linear constraints. The method also includes generating a plurality of output symbols from a combined set of symbols including the input symbols and the redundant symbols based on linear combinations, wherein at least one of the linear constraints or combinations is over a first finite field and at least one other of the linear constraints or combinations is over a different second finite field, and such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any predetermined number of the output symbols.
    Type: Grant
    Filed: February 13, 2007
    Date of Patent: February 23, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: M. Amin Shokrollahi, Michael G. Luby, Mark Watson, Lorenz Minder
  • Patent number: 9264069
    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: June 27, 2011
    Date of Patent: February 16, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: Mark Watson, Michael G. Luby
  • Patent number: 9246633
    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: April 23, 2007
    Date of Patent: January 26, 2016
    Assignee: Digital Fountain, Inc.
    Inventor: Michael G. Luby
  • Patent number: 9240810
    Abstract: A method for processing a chain reaction code includes first selecting a source symbol which is associated with an output symbol of degree two or higher (i.e., an output symbol which is itself associated with two or more input symbols), and subsequently deactivating the selected source symbol in an attempt to produce an output symbol of degree one. The inactivation process can be repeated either successively until an output symbol of degree one is identified, and/or whenever the decoding process is unable to locate an output symbol of degree one.
    Type: Grant
    Filed: August 28, 2009
    Date of Patent: January 19, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: Amin Shokrollahi, Soren Lassen, Richard Karp
  • Patent number: 9236976
    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: Grant
    Filed: May 17, 2010
    Date of Patent: January 12, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: M. Amin Shokrollahi, Soren Lassen, Michael G. Luby
  • Patent number: 9236885
    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: April 3, 2009
    Date of Patent: January 12, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: Mohammad Amin Shokrollahi, Michael G. Luby
  • Patent number: 9236887
    Abstract: A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols 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 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. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol.
    Type: Grant
    Filed: February 29, 2012
    Date of Patent: January 12, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: Michael G. Luby, M. Amin Shokrollahi, Mark Watson
  • Patent number: 9237101
    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: Grant
    Filed: September 12, 2008
    Date of Patent: January 12, 2016
    Assignee: Digital Fountain, Inc.
    Inventors: Steve Chen, Michael G. Luby, Manu Prasad, William Seed, Thomas Stockhammer
  • Patent number: 9178535
    Abstract: A communications system can provide methods of dynamically interleaving streams, including methods for dynamically introducing greater amounts of interleaving as a stream is transmitted independently of any source block structure to spread out losses or errors in the channel over a much larger period of time within the original stream than if interleaving were not introduced, provide superior protection against packet loss or packet corruption when used with FEC coding, provide superior protection against network jitter, and allow content zapping time and the content transition time to be reduced to a minimum and minimal content transition times. Streams may be partitioned into sub-streams, delivering the sub-streams to receivers along different paths through a network and receiving concurrently different sub-streams at a receiver sent from potentially different servers.
    Type: Grant
    Filed: April 15, 2008
    Date of Patent: November 3, 2015
    Assignee: Digital Fountain, Inc.
    Inventors: Michael G. Luby, Payam Pakzad, Mark Watson, Lorenzo Vicisano, Jourdan J. Clish
  • Patent number: 9136878
    Abstract: A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols 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 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. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol.
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: September 15, 2015
    Assignee: Digital Fountain, Inc.
    Inventors: Michael G. Luby, M. Amin Shokrollahi, Mark Watson
  • Patent number: 9136983
    Abstract: Data is streamed from a transmitter to a receiver, wherein streaming is transferring data with an assumption that the receiver will begin using the data before it is all transmitted and received and the streamed data includes forward error correction (“FEC”) and the rates of data consumption can vary. The transmitter has an input rate and a transmit rate and the two rates can be different and can change. At the receiver, there is a reception rate (at which the receiver receives data) and a consumption rate (at which the receiver uses up data for its output). The transmitter transmits using a transmit rate higher than the consumption rate and the extra bandwidth is usable for FEC protection and buffering. In some embodiments, the excess rate varies over a transmission period.
    Type: Grant
    Filed: February 13, 2007
    Date of Patent: September 15, 2015
    Assignee: Digital Fountain, Inc.
    Inventors: Mark Watson, Michael G. Luby
  • Patent number: 8887020
    Abstract: A communications system includes an encoder that produces a plurality of redundant symbols. For a given key, an output symbol is generated from a combined set of symbols including the input symbols and the redundant symbols. The output symbols are generally independent of each other, and an effectively unbounded number of output symbols (subject to the resolution of the key used) can be generated, if needed. The output symbols are information additive such that a received output symbol is likely to provide additional information for decoding even when many symbols are already received. The output symbols are such that a collection of received output symbols can provide probabilistic information to support error correction.
    Type: Grant
    Filed: October 15, 2008
    Date of Patent: November 11, 2014
    Assignee: Digital Fountain, Inc.
    Inventor: M. Amin Shokrollahi
  • Patent number: 8850318
    Abstract: A computer readable storage medium includes executable instructions to display video content. A cursor associated with the relative position of the video content is provided. A new cursor position associated with a request for a new relative position of the video content is received. A thumbnail image of the video content corresponding to the new relative position is displayed. The thumbnail image is then transitioned to a full display image.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: September 30, 2014
    Assignee: Digital Fountain, Inc.
    Inventor: Charles Oppenheimer
  • Patent number: 8671163
    Abstract: A method of serving content to multiple clients via a network is provided. Independent sessions with each of a plurality of clients are maintained, wherein the number of clients in the plurality of clients can vary over time, and wherein the start of each session and the end of each session can be independent of the start and end of other sessions. A stream of packet payloads is received, each packet payload of the stream of packet payloads including data generated from the content, wherein each packet payload in at least a subset of the stream of packet payloads includes a different set of data. Each packet payload in the stream of packet payloads is transmitted to each client of the plurality of clients in corresponding packets, wherein the packet payload transmitted to a client at any particular time is independent of the state of the corresponding session.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: March 11, 2014
    Assignee: Digital Fountain, Inc.
    Inventors: Michael Luby, Ronen Vainish, Lars Rasmussen, David Kushi, Serban Simu, Adrian Perrig, Roberto Attias, Michael Walfish, Diane Hernek, John Byers
  • Patent number: 8560921
    Abstract: A transmitter sends a series of transport bursts, each containing a data burst and possibly also repair data, indicated as distinct from data of the data bursts. Source blocks comprise data from more than one data burst and from those, repair symbols are generated.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: October 15, 2013
    Assignee: Digital Fountain, Inc.
    Inventor: Thomas Stockhammer
  • Patent number: 8555146
    Abstract: Transmitters and receivers deal with streams of data, wherein the receiver is expected to begin using received data before receiving all of the data. Concurrent streams are sent and FEC coding is used with the streams and done as an aggregate. The transmitter performs FEC operations over the plurality of streams, wherein source blocks from at least two streams logically associated into a jumbo source block and FEC processing is performed to generate one or more jumbo repair block from the jumbo source block. Each of the source blocks comprises one or more source symbols from their respective stream. The jumbo source symbols can be of constant size and are suitably aligned along size boundaries that make processing efficient. Each source symbol need not be the same size, and the number of source symbols from each stream in a jumbo source block need not be the same value across streams.
    Type: Grant
    Filed: October 19, 2011
    Date of Patent: October 8, 2013
    Assignee: Digital Fountain, Inc.
    Inventors: Mark Watson, Michael G. Luby
  • Patent number: 8533555
    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: August 9, 2011
    Date of Patent: September 10, 2013
    Assignee: Digital Fountain, Inc.
    Inventors: Steve Chen, Mark Watson, Michael G. Luby, Bill Seed, Thomas Kunz
  • Patent number: 8495233
    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: February 7, 2012
    Date of Patent: July 23, 2013
    Assignee: Digital Fountain, Inc.
    Inventors: Soren Lassen, Gavin Horn, Jeffrey J. Persch, Michael G. Luby, Armin Haken
  • Patent number: 8458567
    Abstract: In a transport system, data is reliably transported from a sender to a receiver by organizing the data to be transported into data blocks, wherein each data block comprises a plurality of encoding units, transmitting encoding units of a first data block from the sender to the receiver, and detecting, at the sender, acknowledgments of receipt of encoding units by the receiver. At the sender, a probability that the receiver received sufficient encoding units of the first data block to recover the first data block at the receiver is detected and the probability is tested against a threshold probability to determine whether a predetermined test is met. Following the step of testing and prior to the sender receiving confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block from the sender.
    Type: Grant
    Filed: October 31, 2008
    Date of Patent: June 4, 2013
    Assignee: Digital Fountain, Inc.
    Inventors: Michael Luby, Matt Doucleff, Avi Wigderson, Soren Lassen
  • Publication number: 20130067295
    Abstract: A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols 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 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. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol.
    Type: Application
    Filed: February 29, 2012
    Publication date: March 14, 2013
    Applicant: DIGITAL FOUNTAIN, INC.
    Inventors: Michael G. LUBY, M. Amin SHOKROLLAHI, Mark WATSON