About
249
Publications
58,013
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
27,851
Citations
Introduction
I am CEO and cofounder of BitRipple, Inc. Our mission is to enable immersive experiences over wireless networks. Our software solutions provide consistent end-to-end ultra-low latency data delivery. Our approach is based on a high performance implementation of the RaptorQ code specified in IETF RFC 6330. See www.bitripple.com for general information about BitRipple and www.bitripple.com/rq for more information about our implementation of Raptorq.
Additional affiliations
April 2020 - July 2020
BitRipple Inc.
Position
- CEO and cofounder
Description
- The BitRipple mission is large scale data distribution over challenged networks.
September 2018 - present
International Computer Science Institute
Position
- Researcher
Description
- Non-profit research institute in Berkeley, associated with UC Berkeley
Education
September 1979 - June 1983
September 1971 - June 1975
Publications
Publications (249)
To address the rural broadband challenge and to leverage the unique opportunities that rural regions provide for piloting advanced wireless applications, we design and implement the ARA wireless living lab for research and innovation in rural wireless systems and their applications in precision agriculture, community services, and so on. ARA focuse...
Immersive experiences, such as remote collaboration and augmented and virtual reality, require delivery of large volumes of data with consistent ultra-low latency across wireless networks in fluctuating network conditions. We describe the high-level design behind a data delivery solution that meets these requirements and provide synthetic simulatio...
One of the primary objectives of a distributed storage system is to reliably store a large amount dsize of source data for long durations using a large number N of unreliable storage nodes, each with capacity nsize. The storage overhead β is the fraction of system capacity available beyond dsize, i.e., β = 1 - dsize/N·nsize, (1) Storage nodes fail...
One of the primary objectives of a distributed storage system is to reliably store large amounts of source data for long durations using a large number $N$ of unreliable storage nodes, each with $c$ bits of storage capacity. Storage nodes fail randomly over time and are replaced with nodes of equal capacity initialized to zeroes, and thus bits are...
Liquid Data Networking (LDN) is an ICN architecture that is designed to enable the benefits of erasure-code enabled object delivery. A primary contribution of LDN is the introduction of SOPIs, which enables client s to concurrently download encoded data for the same object from multiple edge nodes, optimizes caching efficiency, and enables seamless...
One of the primary objectives of a distributed storage system is to reliably store a large amount $dsize$ of source data for a long duration using a large number $N$ of unreliable storage nodes, each with capacity $nsize$. The storage overhead $\beta$ is the fraction of system capacity available beyond $dsize$, i.e., $\beta = 1- \frac{dsize}{N \cdo...
We introduced the concept of a digital fountain as a scalable approach to reliable multicast, realized with fast and practical erasure codes, in a paper published in ACM SIGCOMM '98. This invited editorial, on the occasion of the 50th anniversary of the SIG, reflects on the trajectory of work leading up to our approach, and the numerous development...
Performance results for encoding and decoding of the first release of our CodornicesRq software package implementing the RaptorQ code specified in IETF RFC 6330. Test platform was a AMD Ryzen 5 3600 processor running at 3.4 GHz, single thread using one code, symbol size = 1280 bytes.
This whitepaper outlines the performance metrics of CodornicesRq software package (release 1) , which is a fully-compliant high-speed implementation of the RaptorQ erasure code specified in IETF RFC 6330.
This is an update of "How to use the Rq software package". The only change is minor -- software package is now called CodornicesRq instead of Rq, and thus the title is "How to use the CodornicesRq software package". (All function and variable names are unchanged).
This document outlines the usage of Rq, a software library that implements the RaptorQ erasure code specified in IETF RFC 6330. It defines the API and also provides examples of how to use it.
This paper presents a proof of the existence of computationally fast probabilistic erasure codes at distance ∈ from being MDS, namely the decoding algorithm is able with high probability to reconstruct the n letter message from any set of (1+∈)n letters. It can either be fixed rate or a rateless LT code [10] in that any number of code letters can b...
We introduce a new model of interactive learning in which an expert examines the predictions of a learner and partially fixes them if they are wrong. Although this kind of feedback is not i.i.d., we show statistical generalization bounds on the quality of the learned model.
A liquid system provides durable object storage based on spreading redundantly generated data across a network of hundreds to thousands of potentially unreliable storage nodes. A liquid system uses a combination of a large code, lazy repair, and a flow storage organization. We show that a liquid system can be operated to enable flexible and essenti...
A liquid system provides durable object storage based on spreading redundantly generated data across a network of hundreds to thousands of potentially unreliable storage nodes. A liquid system uses a combination of a large code, lazy repair, and a flow storage organization. We show that a liquid system can be operated to enable flexible and essenti...
The information capacity of a distributed storage system is the amount of source data that can be reliably stored for long durations. Storage nodes fail over time and are replaced, and thus data is erased at an erasure rate. To maintain recoverability of source data, a repairer generates redundant data from data read from nodes, and writes redundan...
Ever since video compression and streaming techniques have been introduced, measurement of perceived video quality has been a non-trivial task. Dynamic adaptive streaming (DASH) over hypertext transfer protocol, is a new worldwide standard for adaptive streaming of video. DASH has introduced an additional level of complexity for measuring perceived...
In one example, a device includes one or more processing units configured to send, via a network, a request to retrieve at least a portion of media content, wherein the media content conforms to dynamic adaptive streaming over HTTP (DASH), and wherein the request comprises a request that the at least portion be delivered according to a file deliver...
Data objects are delivered over a packet-switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Re...
Aspects of this disclosure generally relate to a method of retrieving video data of multimedia content. In an example, the method includes determining a first interval between switch points for a first representation of the multimedia content and a second interval between switch points for a second representation of the multimedia content, wherein...
In one example, a device for receiving information for multimedia data includes one or more processors configured to determine a byte range of a file of a representation of multimedia content to request from a source device, form a uniform resource locator (URL) that specifies, in a file path portion of the URL, according to a template, the file an...
A review of a collaborative body of work focused on coding
theory with applications to scalable media delivery.
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....
Ever since video compression techniques have been introduced, measurement of perceived video quality has been a non-trivial task. Recently, a new class of video transport techniques has been introduced for transmission of video over varying channels such as wireless network. These transport techniques, called adaptive streaming, vary the bit rate a...
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...
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 th...
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 se...
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 enc...
This paper provides an overview on the challenges of mobile video streaming focusing on overload situations, variable bandwidth and power consumption issues. Dynamic Adaptive Streaming over HTTP (DASH) is introduced as an enabler to address a significant portion of these challenges. The applicability of the formats to 3G and 4G unicast distribution...
This document describes Fully-Specified Forward Error Correction (FEC) Schemes for the Raptor and RaptorQ codes and their application to reliable delivery of media streams in the context of the FEC Framework.
This document specifies an RTP payload format for the Forward Error Correction (FEC) repair data produced by the Raptor FEC Schemes. Raptor FEC Schemes are specified for use with the IETF FEC Framework that supports the transport of repair data over both UDP and RTP. This document specifies the payload format that is required for the use of RTP to...
Although wide area wireless network capacity is growing significantly, the consumer demand for popular multimedia content delivered to mobile devices over these networks is growing even faster. An attractive alternative is to deliver multimedia content via broadcast, thereby economizing on the usage of network capacity. We describe best practice te...
This document describes a Fully-Specified Forward Error Correction
(FEC) scheme, corresponding to FEC Encoding ID 6, for the RaptorQ FEC
code and its application to reliable delivery of data objects.
RaptorQ codes are a new family of codes that provide superior
flexibility, support for larger source block sizes, and better coding
efficiency than R...
Suppose that we have two users each of which has a k-dimensional vector over a field FQ. Their goal is to communicate their vectors to a common receiver. At the time of reception, the receiver is given side information consisting of some of the entries of the first vector, some entries of the second vector, and the knowledge that some other entries...
This monograph describes the theory behind Raptor codes, and elucidates elements of the processes behind the design of two of the most prominent members of this class of codes: R10 and RaptorQ (RQ). R10 has already been adopted by a number of standards’ bodies, and RQ is in the process of entering various standards at the time of writing of this mo...
This monograph describes the theory behind Raptor codes, and elucidates elements of the processes behind the design of two of the most prominent members of this class of codes: R10 and RaptorQ (RQ). R10 has already been adopted by a number of standards’ bodies, and RQ
is in the process of entering various standards at the time of writing of
this mo...
We investigate the use of application layer FEC protection in DVB-T (Digital Video Broadcasting-Terrestrial) networks for the provision of mobile services. Mobile reception is characterized by variations of the received signal caused by fast fading and shadowing. DVB-T was originally designed for fixed and portable reception, and generally does not...
Advanced standardized solutions for digital media delivery, specifically concentrating on streaming applications with reliable high-quality delivery of streaming video is discussed. The Internet Protocol Television (IPTV) based services provides a successful service and content delivery protocol (CDP) solutions incorporating application layer forwa...
Insufficient quality due to packet loss is one of the main obstacles to the broad adoption of IPTV services. However, with the use of end-to- end application layer reliability solutions IPTV services can be enabled over existing IP networks. In particular, application layer forward error correction (AL-FEC) solutions provide a straightforward and p...
Application Layer Forward Error Correction (AL-FEC) is an innovative way to provide reliability in mobile broadcast systems. Conventional data such as multimedia files or multimedia streams are extended with repair information which can be used to recover lost data at the receiver. AL-FEC is integrated into content delivery protocols (CDPs) to supp...
In this paper, we study two questions related to the problem of testing whether a function is close to a homomorphism. For two finite groups À (not necessarily Abelian), an arbitrary map À, and a parameter ¼ ¯ ½, say that is ¯-close to a homomorphism if there is some homomorphism such that and differ on at most ¯ elements of , and say that is ¯-far...
This document describes a Fully-Specified Forward Error Correction
(FEC) scheme, corresponding to FEC Encoding ID 1, for the Raptor
forward error correction code and its application to reliable
delivery of data objects.
Raptor is a fountain code, i.e., as many encoding symbols as needed
can be generated by the encoder on-the-fly from the source sy...
Power line communications (PLC) has proven its merits an in-house broadband communication network for IP services. However, designing challenging applications on such networks is still difficult task because of the "horrible channel". Long bursts of errors often occur as a result of e.g. cross-talk, radio-frequency interference and impulse noise ma...
Raptor codes have been standardized as application layer forward error correction (FEC) codes for Multimedia Broadcast and Multicast Services (MBMS) and Digital Video Broadcast (DVB) due to their extraordinary advanced FEC protection and performance. Raptor codes are known to have characteristics very close to ideal and provide a wide range of oper...
Third Generation Partnership Project (3GPP) and Digital Video Broadcasting (DVB) have just recently specified the use Raptor codes in their mobile broadcast file delivery engine. Until today, investigations of the applicability of these codes to the mentioned systems have been carried out by assuming almost exclusively quite simple loss models such...
This month we talked with Charlie Oppenheimer from Digital Fountain about how to maintain or improve the quality of IPTV programs without significant additions to transmission overhead and small changes to the transmission and reception equipment. Oppenheimer explained that the effective use of packet loss correction can increase the number of DSL...
Blind digital signatures were introduced by Chaum. In this paper, we show how security and blindness properties for blind digital signatures, can be simultaneously defined and satisfied, assuming an arbitrary one-way trapdoor
permutation family. Thus, this paper presents the first complexity-based proof of security for blind signatures.
Traditional approaches to receiver-driven layered multicast have advocated the benefits of cumulative layering, which can enable coarse-grained congestion control that complies with TCP-friendliness equations over large time scales. In this paper, we quantify the costs and benefits of using noncumulative layering and present a new, scalable multica...
In this work we address reliable file delivery over mobile broadcast networks, concentrating on the Raptor codes as specified for Multimedia Broadcast/Multicast Services (MBMS) within 3GPP. We start by describing Luby-Transform (LT) codes, which are the first practical fountain codes. Then, using a natural and easy to understand linear algebra nota...
In this paper we extend the double verification algorithm of Luby and Mitzenmacher to the class of Raptor codes, analyze it, and design Raptor codes that perform very well with respect to this algorithm
We show, using a probabilistic argument, that for any y with 0 < y < 1 there exist repeat-accumulate codes that approach the asymptotic Gilbert-Varshamov bound, and that are encodable in time O(n <sup>1+y</sup>)
We introduce and analyze verification-based decoding for low-density parity-check (LDPC) codes, an approach specifically designed to manipulate data in packet-sized units. Verification based decoding requires only linear time for both encoding and decoding and succeeds with high probability under random errors. We describe how to utilize code scram...
Pairwise Independence and Derandomization gives several applications of the following paradigm, which has proven extremely powerful in algorithm design and computational complexity. First, design a probabilistic algorithm for a given problem. Then, show that the correctness analysis of the algorithm remains valid even when the random strings used b...
This document introduces some Forward Error Correction (FEC) schemes that supplement the FEC schemes described in RFC 3452. The primary benefits of these additional FEC schemes are that they are designed for reliable bulk delivery of large objects using a more compact FEC Payload ID, and they can be used to sequentially deliver blocks of an object...
This paper provides an efficient method for analyzing the error probability of the belief propagation (BP) decoder applied to LT Codes. Each output symbol is generated independently by sampling from a distribution and adding the input symbols corresponding to the support of the sampled vector.
Wave and Equation Based Rate Control (WEBRC) is a new equation-based, multiple rate congestion control protocol that is naturally suited to multicast but also applicable to unicast. No previous multiple rate congestion control algorithm is equation based. A main impediment to extending equation-based rate control to multiple rate multicast was unti...
We introduce LT codes, the first rateless erasure codes that are very efficient as the data length grows.
This memo describes the use of Forward Error Correction (FEC) codes to efficiently provide and/or augment reliability for one-to-many reliable data transport using IP multicast. One of the key properties of FEC codes in this context is the ability to use the same packets containing FEC data to simultaneously repair different packet loss patterns at...
This document describes how to use Forward Error Correction (FEC)
codes to efficiently provide and/or augment reliability for bulk data
transfer over IP multicast. This document defines a framework for
the definition of the information that needs to be communicated in
order to use an FEC code for bulk data transfer, in addition to the
encoded data...
We describe fair layered increase/decrease with dynamic layering (FLID-DL): a new multirate congestion control algorithm for layered multicast sessions. FLID-DL generalizes the receiver-driven layered congestion control protocol (RLC) introduced by Vicisano et al. (Proc. IEEE INFOCOM, San Francisco, CA, , p.996-1003, Mar. 1998)ameliorating the prob...
The proliferation of applications that must reliably distribute large, rich content to a vast number of autonomous receivers motivates the design of new multicast and broadcast protocols. We describe an ideal, fully scalable protocol for these applications that we call a digital fountain. A digital fountain allows any number of heterogeneous receiv...
Most work in low-density parity-check codes focuses on bit-level errors. In this paper, we introduce and analyze verification codes, which are simple low-density parity-check codes specifically designed to manipulate data in packet-sized units. Verification codes require only linear time for both encoding and decoding and succeed with high probabil...
Wave and Equation Based Rate Control (WEBRC) is a new equation-based, multiple rate congestion control protocol that is naturally suited to multicast but also applicable to unicast. No previous multiple rate congestion control algorithm is equation based. A main impediment to extending equation-based rate control to multiple rate multicast was unti...
This paper introduces Wave and Equation Based Rate Control (WEBRC), the first multiple rate multicast congestion control protocol to be equation based. The equation-based approach enforces fairness to TCP with the benefit that fluctuations in the flow rate are small in comparison to TCP. This paper also introduces the multicast round trip time (MRT...
Most work in l w-density parity-check codes focuses on bit-l7 el errors. In this paper, we introduce and anal yze verification codes, which are simpl l ow-density parity-check codes specificali designed to manipul te data in packet-sized units. AlH0 ugh verification codes requirel argeal phabets, so that codes over n packets require#(lr n) bits per...
We describe Fair Layered Increase/Decrease with Dynamic Layering (FLID-DL), a new multi-rate congestion control algorithm for layered multicast sessions. FLIDDL generalizes the receiver-driven layered congestion control protocol (RLC) introduced by Vicisano, Rizzo, and Crowcroft, ameliorating the problems associated with large IGMP leave latencies...
This document describes a framework for the standardization of bulkdata reliable multicast transport. It builds upon the experience gained during the deployment of several classes of contemporary reliable multicast transport, and attempts to pull out the commonalities between these classes of protocols into a number of building blocks. To that end,...
Pragmatic General Multicast (PGM) is a reliable multicast transport protocol for applications that require ordered or unordered, duplicate-free, multicast data delivery from multiple sources to multiple receivers. PGM guarantees that a receiver in the group either receives all data packets from transmissions and repairs, or is able to detect unreco...
The design space for reliable multicast is rich, with many possible solutions having been devised. However, application requirements serve to constrain this design space to a relatively small solution space. This document provides an overview of the design space and the ways in which application constraints affect possible solutions. 1.
LT codes are the first realization of a class of erasure codes called universal erasure codes. LT codes are universal in the sense that they are simultaneously near optimal for every erasure channel and they are very efficient as the data length grows. The key to the design and analysis of the LT codes is the introduction and analysis of the LT pro...
This document describes the Asynchronous Layered Coding (ALC) protocol, a massively scalable reliable content delivery protocol. Asynchronous Layered Coding combines the Layered Coding Transport (LCT) building block, a multiple rate congestion control building block and the Forward Error Correction (FEC) building block to provide congestion control...
A media-on-demand (MoD) system using forward error correction (FEC) to recover lost data is described. FEC uses the same redundant data and allows multiple clients to recover from different packet loss. A class of FEC codes called Luby transform (LT) codes are developed that improve both scalability and reliability of file downloads and data transf...
Mirror sites enable client requests to be serviced by any of a number of servers, reducing load at individual servers and dispersing network load. Typically, a client requests service from a single mirror site. We consider enabling a client to access a file from multiple mirror sites in parallel to speed up the download. To eliminate complex client...
The proliferation of applications that must reliably distribute bulk data to a large number of autonomous clients motivates the design of new multicast and broadcast protocols. We describe an ideal, fully scalable protocol for these applications that we call a digital fountain. A digital fountain allows any number of heterogeneous clients to acquir...