Re: [dtn-interest] Question

Daniel Ellard <dellard@bbn.com> Tue, 29 January 2013 03:12 UTC

Return-Path: <dellard@bbn.com>
X-Original-To: dtn-interest@ietfa.amsl.com
Delivered-To: dtn-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E064321E8087 for <dtn-interest@ietfa.amsl.com>; Mon, 28 Jan 2013 19:12:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.599
X-Spam-Level:
X-Spam-Status: No, score=-1.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, GB_SUMOF=5, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iRxKMPzzv4DM for <dtn-interest@ietfa.amsl.com>; Mon, 28 Jan 2013 19:12:17 -0800 (PST)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by ietfa.amsl.com (Postfix) with ESMTP id 4926E21E8083 for <dtn-interest@irtf.org>; Mon, 28 Jan 2013 19:12:17 -0800 (PST)
Received: from smp.bbn.com ([192.1.122.26]:17669) by smtp.bbn.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.77 (FreeBSD)) (envelope-from <dellard@bbn.com>) id 1U01cO-000Jh8-DU for dtn-interest@irtf.org; Mon, 28 Jan 2013 22:12:16 -0500
Received: from [173.48.210.127] (port=50173 helo=senshu-wifi.snoodnet.net) by smp.bbn.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.76 (FreeBSD)) (envelope-from <dellard@bbn.com>) id 1U01cN-000KfC-Hu for dtn-interest@irtf.org; Mon, 28 Jan 2013 22:12:15 -0500
Message-ID: <51073E0E.5040807@bbn.com>
Date: Mon, 28 Jan 2013 22:12:14 -0500
From: Daniel Ellard <dellard@bbn.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: dtn-interest@irtf.org
References: <60540.115.242.217.223.1359305486.squirrel@www.nmsworks.co.in> <A5BEAD028815CB40A32A5669CF737C3B23574324@ap-embx-sp40.RES.AD.JPL> <64406.115.242.217.223.1359331248.squirrel@www.nmsworks.co.in> <CAHxHggdt4MgK4Uwro6gXrrr+aqgkzGRpmwo8_1zFDYn0Z9DQhQ@mail.gmail.com> <65367.115.242.158.9.1359332992.squirrel@www.nmsworks.co.in> <CAHxHgge5RFC+bAG6MTWjAGFo6JAegiB+R6eiOM+75p8fuv0wcA@mail.gmail.com> <49280.192.168.9.56.1359345670.squirrel@www.nmsworks.co.in> <A5BEAD028815CB40A32A5669CF737C3B235749F7@ap-embx-sp40.RES.AD.JPL> <A6D06B64-E354-47CC-8F32-DF2F8CB51C4C@keltik.co.uk> <A5BEAD028815CB40A32A5669CF737C3B23574C8E@ap-embx-sp40.RES.AD.JPL> <49368.101.63.158.156.1359422205.squirrel@www.nmsworks.co.in> <CAHxHgge1t93dyR9amWM3ZOsJYjvU_nogsakN-LMyTrCvPEYuCg@mail.gmail.com> <49483.101.63.158.156.1359423895.squirrel@www.nmsworks.co.in>
In-Reply-To: <49483.101.63.158.156.1359423895.squirrel@www.nmsworks.co.in>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Authenticated-User: dellard
Subject: Re: [dtn-interest] Question
X-BeenThere: dtn-interest@irtf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "The Delay-Tolerant Networking Research Group \(DTNRG\) - Announce." <dtn-interest.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/dtn-interest>, <mailto:dtn-interest-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/dtn-interest>
List-Post: <mailto:dtn-interest@irtf.org>
List-Help: <mailto:dtn-interest-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Jan 2013 03:12:18 -0000

On 1/28/13 8:44 PM, sitaraman@nmsworks.co.in wrote:
> I did, and my understanding is it is an erasure code  with a larger margin
> of error allowed for the signal can be recovered from a subset of the
> encoded signals...so it still cant handle losses?

It is correct that a "digital fountain" is an instance of a forward
error-correcting code.

As such, it has the property that it encodes a string of data D of
length N as a set of much smaller strings e0, e1, ..., eX such that
the original string D can be reconstructed from any subset of e0,
e1, ... eX if the sum of the lengths of each e in the subset is
greater or equal to N.  (an "efficient" FEC is one such that any
subset of length N will suffice; my recollection is that fountain
codes are not guaranteed to be efficient, but are generally within a
small margin of it.)  It is possible to choose an encoding method to
make each e computable independently of the rest, and the set of all
possible e's for a given D practically unlimited.

The sender can continuously compute and transmit e's, and as soon as
the receiver receives enough e's, the receiver is successful.  It
doesn't matter how many e's are lost en route (or which are lost) as
long as enough arrive eventually.

Fountain codes are one example of a FEC with this property, but the
last time I checked (which was a while ago, admittedly) they had two
drawbacks: first, the efficient implementations were protected by
patents, and second, they weren't well-described or available as
open-source.  Perhaps that has changed.

In any case, if you want to understand the basic theory of efficient
FECs, Rabin's "Information Dispersal Algorithm", based on polynomial
interpolation, is a good place to start.  For implementations of
related codes that can be implemented efficiently, James Plank's
work on erasure codes for storage is the most practical work of
which I am aware.

-Dan

-- 
Daniel Ellard, Ph.D.
Senior Scientist, Network Research
Raytheon BBN Technologies
dellard@bbn.com