Re: [dtn-interest] DTN architecture issues for handling Huge Content Objects

"Burleigh, Scott C (313B)" <scott.c.burleigh@jpl.nasa.gov> Wed, 05 December 2012 19:01 UTC

Return-Path: <scott.c.burleigh@jpl.nasa.gov>
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 10D1921F8BA9 for <dtn-interest@ietfa.amsl.com>; Wed, 5 Dec 2012 11:01:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, 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 OO34zjS7igMx for <dtn-interest@ietfa.amsl.com>; Wed, 5 Dec 2012 11:01:19 -0800 (PST)
Received: from mail.jpl.nasa.gov (sentrion3.jpl.nasa.gov [128.149.139.109]) by ietfa.amsl.com (Postfix) with ESMTP id 1086C21F8BC2 for <dtn-interest@irtf.org>; Wed, 5 Dec 2012 11:01:18 -0800 (PST)
Received: from mail.jpl.nasa.gov (ap-ehub-sp02.jpl.nasa.gov [128.149.137.149]) by smtp.jpl.nasa.gov (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id qB5Iroeh014533 (using TLSv1/SSLv3 with cipher AES128-SHA (128 bits) verified NO); Wed, 5 Dec 2012 10:54:04 -0800
Received: from AP-EMBX-SP40.RES.AD.JPL ([169.254.7.220]) by ap-ehub-sp02.RES.AD.JPL ([fe80::dd85:7b07:1e36:7e3c%15]) with mapi id 14.02.0318.001; Wed, 5 Dec 2012 10:53:56 -0800
From: "Burleigh, Scott C (313B)" <scott.c.burleigh@jpl.nasa.gov>
To: John Zinky <jzinky@bbn.com>, "dtn-interest@irtf.org" <dtn-interest@irtf.org>
Thread-Topic: [dtn-interest] DTN architecture issues for handling Huge Content Objects
Thread-Index: AQHN0nMuONKD0Vgi+U643s+1CJXHYJgKaknQ
Date: Wed, 05 Dec 2012 18:53:55 +0000
Message-ID: <A5BEAD028815CB40A32A5669CF737C3B0FA0F3D2@ap-embx-sp40.RES.AD.JPL>
References: <0F5B3127-09CD-4FEA-9937-01D12DF71953@bbn.com>
In-Reply-To: <0F5B3127-09CD-4FEA-9937-01D12DF71953@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [128.149.137.26]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Source-Sender: scott.c.burleigh@jpl.nasa.gov
X-AUTH: Authorized
Subject: Re: [dtn-interest] DTN architecture issues for handling Huge Content Objects
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: Wed, 05 Dec 2012 19:01:20 -0000

John, some comments in-line below.

Scott

-----Original Message-----
From: dtn-interest-bounces@irtf.org [mailto:dtn-interest-bounces@irtf.org] On Behalf Of John Zinky
Sent: Tuesday, December 04, 2012 3:00 PM
To: dtn-interest@irtf.org
Subject: [dtn-interest] DTN architecture issues for handling Huge Content Objects

Kevin Fall says:
[The Erasure Coding] document really defines a new, different architecture that seems to use DTN as a sort of transport mechanism underneath yet it also seems to liberally make changes in a variety of bits and pieces of the existing structure, protocols and even architecture

I think the DTN architecture you are referring to is a DTN envisioned as a push model of content (payload) to destination (URI). Given delays and disruption, the DTN push is open loop (one-way) reducing reliance on end-to-end feedback. 

Erasure Coding embraces that architecture, but unfortunately Huge Content (multiple GBs) can not go into one bundle. So this may be the first use case where DTN must deal with the end-to-end transfer of GROUPS of bundles.

	>>>	Is this really true?  Payload size is an SDNV, and bundle fragmentation in DTN is pretty well defined; there's nothing in the spec to prevent you from sending a Huge Content item in a single bundle, then proactively fragmenting that bundle into N fragmentary bundles.  The fragments would then be forwarded to the destination endpoint, where their fragmentary payloads would be reassembled into the original Huge Content item for delivery.  In this sense, dealing with the end-to-end transfer of a group of related bundles has been covered by DTN for many years, right?

Dealing with End-to-End issues and multiple bundles is traditionally done by the transport, session, and presentation layers. But if you look at the Erasure Coding suite, it seems to cross cut this layered protocol model. See Slide 20 in:
  https://dist-systems.bbn.com/papers/2011/Zinky/ErasureCodingExtBlockSpec-IRTF-2011-07-25-Rev1-2-2.pdf

	>>>	But in DTN the bundle protocol handles all these issues.  There are some end-to-end issues, such as end-to-end acknowledgment, that must be handled at a layer above BP, but fragmentation and reassembly isn't one of them.

I would claim that all Quality of Service (QoS) management issues cross-cut the OSI layering model. Getting QoS into the TCP/IP stack has been hard because of the information hiding restrictions of a layered architecture. DTN by its very name is suppose to handle extreme QoS issues and in my opinion would benefit from a non-layered architecture.

	>>>	Which it already has, to some extent, because additional features such as QoS are added in extension blocks (e.g., BSP and Extended Class of Service) rather than in additional layers.
 
What I mean is that the DTN extension blocks could be organized so that they do not form a nested layer of headers, but instead are open to multiple protocol aspects each of which can peak and poke into any extension block they choose.

	>>>	Sure, this is already the case.  The only DTN extension blocks that can be said to nest are the BSP extensions, and I there's a strong argument for removing that nesting as well.

This architecture was proposed in:

Robert Braden, Ted Faber, and Mark Handley. 2003. From protocol stack to protocol heap: role-based architecture. SIGCOMM Computer. Comm. Rev. 33, 1 (January 2003), 17-22. DOI=10.1145/774763.774765 
  http://doi.acm.org/10.1145/774763.774765

And I used it successfully in the Cougaar Agent System Message transport. See section 4 of
  https://dist-systems.bbn.com/papers/2007/DOA/

I think your criticism of the EC suite is that it has to touch so many layers. But I think that is an opportunity, not a flaw. DTN actually has the chance of creating a different kind of protocol suite, one not based on layers, but based on composeable building blocks.

	>>>	And in fact it is already doing so.  Layering doesn't go away altogether: there are still application protocols that shouldn't be made part of BP, so they're at a different layer, and there are still underlying transport protocols that shouldn't be made part of BP, so they're at a different layer.  But anything that has to do with operating the network itself does indeed go into extension blocks rather than into additional layers.
 
Note, Erasure Coding needs to deal with several issues that overlap with other building blocks.
 1) grouping bundles (session)
 2) End-to-End transfer requirement (transport)
 3) Forwarding order (Handling specification)
 4) Object format (presentation)

Some of these feature where added to the single Erasure Coding extension block. But that extension block could be divided into multiple pieces if more a comprehensive approach was taken for designing a holistic DTN protocol suite.

For example, the handling spec should be pulled out into an extension block that specifically deals with choosing the order of which bundles to send to neighbors. But that is a topic for a different thread.

	>>>	But grouping of bundles is already handled by core BP (fragmentation and reassembly), and forwarding order is already handled by BP's class of service and the various routing mechanisms.  And does payload format actually have anything to do with erasure coding, or indeed with network operation at all?
	>>>	Incorporating erasure coding into an end-to-end transfer service may indeed make a lot of sense, but that is the one piece of the picture that really *should* be at a layer above BP.  It ought to be operating only at the ends, not at every bundle forwarding agent along the path.
	>>>	Given all of which, I don't see a strong argument for redesigning the Bundle Protocol.  What am I missing?

So the question for the community is:
"How should a DTN protocol suite be designed that can handle the wide range of Application with a wide range of QoS requirements?"

_______________________________________________
dtn-interest mailing list
dtn-interest@irtf.org
https://www.irtf.org/mailman/listinfo/dtn-interest