Internet DRAFT - draft-ivancic-scf-problem-statement
draft-ivancic-scf-problem-statement
Network Working Group W. Ivancic
Internet-Draft NASA GRC
Intended status: Experimental W. Eddy
Expires: June 16, 2014 MTI Systems
A. Hylton
D. Iannicca
J. Ishac
NASA GRC
December 13, 2013
Store, Carry and Forward Problem Statement
draft-ivancic-scf-problem-statement-01
Abstract
This document provides a problem statement for non-realtime
communication between systems that are generally disconnected, which
require multiple network hops between source and destination, and
which may never be fully connected end-to-end at any given time.
This document describes a number of use cases that motivate having a
standard method to communicate between such systems, as multi-
organization and multi-vendor support and interoperability is highly
desirable. These use cases include dismounted soldiers, sensorwebs,
medical devices, animal tracking, low-Earth-orbiting satellites and
data mule scenarios. To avoid confusion in terminology when trying
to focus on the problem and requirements without bias towards
particular technical solutions, at this time, we refer to the
protocol instances that would support such communications as Store,
Carry, and Forwarding (SCF) agents, and refer to their activity as
SCF networking. The concepts involved in SCF networking are not
entirely new and several facets of the problem have been solved in
multiple incompatible ways in existing or historic systems. This
document describes the core SCF problem and gives an assessment of
the ability to use existing technologies as solutions.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
Ivancic, et al. Expires June 16, 2014 [Page 1]
Internet-Draft SCF Problem December 2013
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 16, 2014.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
This document may not be modified, and derivative works of it may not
be created, except to format it for publication as an RFC or to
translate it into languages other than English.
Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Introduction and Background . . . . . . . . . . . . . . . . . 4
3. Generic Architecture . . . . . . . . . . . . . . . . . . . . 7
4. Operational Considerations . . . . . . . . . . . . . . . . . 9
5. Use Cases and Deployment Scenarios . . . . . . . . . . . . . 11
5.1. Data Mule . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2. Data Gathering . . . . . . . . . . . . . . . . . . . . . 13
5.3. Traveling the Beaten Path . . . . . . . . . . . . . . . . 14
5.4. Rapid Disruption . . . . . . . . . . . . . . . . . . . . 15
5.5. Dismounted Soldier . . . . . . . . . . . . . . . . . . . 15
5.6. Low Earth Orbiting Sensor Satellite . . . . . . . . . . . 16
6. Consideration of Existing Technologies . . . . . . . . . . . 18
7. Characteristics of Information . . . . . . . . . . . . . . . 20
8. Network Management . . . . . . . . . . . . . . . . . . . . . 21
9. Lessons Learned Summary . . . . . . . . . . . . . . . . . . . 22
10. Security Considerations . . . . . . . . . . . . . . . . . . . 23
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 24
13.1. Normative References . . . . . . . . . . . . . . . . . . 24
13.2. Informative References . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25
Ivancic, et al. Expires June 16, 2014 [Page 2]
Internet-Draft SCF Problem December 2013
1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
"What's in a Word. Words make a difference. They affect how we
think about something. The terms chosen to describe a concept are a
crucial part of any model. The right concepts with terms that give
the wrong connotation can make a problem much more difficult. The
right terms can make it much easier. Adopting the mindset of the
terms may allow you to see things you might not otherwise see." -
John Day [Patterns]
In developing this document, we have intentionally avoided some
terminology used by other protocols - particularly other store-and-
forward protocols - to avoid biases and confusion that may otherwise
ensue.
o Container - the application/user data to be transported over the
network as well as a checksum of that information. Containers may
include sub-containers, or be sub-containers themselves.
o Container Aggregation - The process of organizing one or multiple
containers as sub-containers inside another larger container.
o Container Deaggregation - The process of removing one or more sub-
containers from a larger container. This differs from
fragmentation because rather than creating new containers,
deaggregation operates on existing sub-containers.
o Container Fragmentation - The process of dividing a single
container's contents into multiple new containers which will need
to be eventually reassembled back into the original container
before delivery to the application.
o Container Reassembly - The process of recombining the contents of
multiple containers into the single container that they were
originally part of, and which needs to be delivered to the
application intact.
o Delay - propagation delay between SCF agents. Delay does not
include disconnection time.
o Disruption - a relatively short period of disconnection within an
otherwise well-connected network, e.g. a loss of connectivity in
the range of seconds to perhaps minutes.
Ivancic, et al. Expires June 16, 2014 [Page 3]
Internet-Draft SCF Problem December 2013
o Disconnection - a relatively long period where communication
between a significant proportion of hosts is not possible for
various reasons, e.g. due to the inability to close a radio link.
o Metadata - synonymous with a Container's Shipping Label
o SCF - Store, Carry and Forward
o SF - Store-and-Forward, or "store and forward" as used generically
in other literature (where the presence of hyphenation varies)
o SCF Agent - a protocol instance providing SCF services to an
upper-layer user/application
o Shipping Label - metadata describing the characteristics of a
container and its forwarding requirements
o Sub-Container - A smaller container residing inside a larger
container.
o Transport Capacity - (as a first order approximation) the product
of link capacity and contact time.
2. Introduction and Background
Internet technology has become pervasive and is now present in many
types of devices that end up being deployed in the field for use in
scenarios where they do not have good (or any) actual Internet
connectivity. The networking stacks are used to support data
transfer during episodes of connectivity, and the applications and
protocol configurations avoid reliance on many typical infrastructure
services (e.g. DNS). For instance, these devices may be only
intermittently connected to other devices, and are used to support
data flows where the source and ultimate destination might never be
fully connected to one another at any time. These applications
operate highly asynchronously, with non-realtime constraints on their
communication. Often, there are intermediate relaying nodes (or
"agents") that must "carry" the data while waiting for connectivity
to develop. The means for relaying data has been highly specialized
in such systems (almost per-deployment), and varies widely, with
little code-reuse or commonality in the supporting network design.
This "problem statement" document describes several of these
scenarios generically, motivates the development of a common
solution, and describes shortcomings in existing technologies.
This problem statement is explicitly not trying to look at the
situation where a smart phone or mobile computer is temporarily off
or removed from the Internet, and then is reattached directly to the
Ivancic, et al. Expires June 16, 2014 [Page 4]
Internet-Draft SCF Problem December 2013
edge of a well-connected network. Such systems are well-suited to
utilize standard Internet protocols and are able to support realtime
communications when connected. The systems and applications that
this document is concerned with are primarily operating with a much
higher level of asynchrony between the data producers, individual
relays, and eventual data consumers. We call these "Store, Carry,
and Forward" (SCF) systems to distinguish them from typical Store-
and-Forward (SF) systems, which generally operate over a better-
connected infrastructure. This section clarifies the distinction
between SCF and the better-understood SF concept, which is already
implemented by a number of different networking technologies.
Because so many analogies exist between SF/SCF-based computer
communications and offline non-computer-based systems, it is useful
to understand (very) early communications. Relay systems have been
present even in ancient civilizations, where rulers utilized
intelligence gathering via courier services to convey and obtain
information. Relays consisted of runners, messengers, and even
pigeons conveying messages and documents. These types of relay
agents had only intermittent connectivity with one another and needed
to hold onto messages for possibly long amounts of time before
delivering them. Later relay systems included the ancient Greeks
using fires, mirrors, or colored flags for visually communicating
over large distances, and the the 18th century French using a system
of telescopes and semaphores. These involved relatively well-
connected systems of relay infrastructure, compared to the earlier
methods that involved physical carriage of the stored messages for
some time in order to reach the next forwarding point. Telegraph and
later systems had equally well-connected infrastructures.
In computer networking, numerous technologies that support SF message
communications between systems have evolved, and some have
incorporated pieces of what SCF systems require. We very roughly
group these developments into "generations" in order to highlight a
general progression of capabilities. This is not prescriptive, and
though some detailed aspects of the classification may be debatable,
the basic notions hold.
1st-generation Store and Forward systems consisted of Message
switching, with buffering of messages at intermediate nodes in order
to handle intermittent connectivity. There was little or no
automation, intelligence, or capabilities for forming routing tables,
security, network management, and handling anything but rather slow-
scale dynamics. Examples include UUCP [1], FidoNet [2]. "In FidoNet
As all modem phone numbers are published in the nodelist, point-to-
point transfers are always possible. But, as store-and-forward
capabilities are specified in the basic standards, email tends to be
routed through a world-wide hierarchic topology and enews via a
Ivancic, et al. Expires June 16, 2014 [Page 5]
Internet-Draft SCF Problem December 2013
world-wide ad hoc, but generally geographically hierarchic, acyclic
graph."
2nd-generation SF consist of Internet email via SMTP [3] + POP [4] /
IMAP [5] + S/MIME [6] and so on. Key features include separation of
message transfer agents, user agents, and message submission/delivery
agents. There are increased capabilities for security and
management. There is some (weak) separation between message format
and message transfer protocols. Email servers generally operate
within a well-connected environment. There are major performance
problems outside this well-connected environment, because there is
little diversity in message transport between nodes, and little or no
improvement in dealing with dynamics.
3rd-generation SF protocols are an advance over 2nd-generation
concepts. These are used to implement messaging middleware and are
applied as the basis of enterprise service bus systems. There is an
increased separation between message format and message transfer
protocols with increased message transform / mediation capability.
There has been a proliferation of proprietary formats, APIs and
systems, with great diversity in capabilities. Generally, there are
still problems operating outside a well-connected environment, and
the security mechanisms are not advanced beyond 2nd-generation ones.
Examples include: JMS/OpenWire [7], AMQP [8], STOMP [9], XMPP [10],
and MQTT [11].
4th-generation SF protocols are directed at systems with long delays
and intermittent connectivity and are known as Delay Tolerant
Networking (DTN) [RFC4838], [RFC5050]. There is very strong
separation between format and transfer protocol as well as strong
separation between format and addressing/routing. Architecturally,
there are many alternatives available for transfer, addressing, and
routing with heavy tailoring per each pocket of deployment. Security
is possible for implementation in a limited subset of intended use
cases. There are a number of experimental implementations including
Interplanetary Overlay Network (ION), DTN2 and others including
substantial profiles of features and capabilities. DTNRG [12].
5th-generation (conceptual) systems include significant amounts of
longer-term storage that can be "carried" between episodes of
connectivity as a main component (i.e. Store, Carry and Forward)
There is an increased separation of message metadata (i.e. shipping
labels) from message bodies (i.e. containers) beyond the 4th
generation, enabling new approaches to security, forwarding, and
possibilities for pull-based routing. Emphasis is on the "carry"
function and need for strong automation in management of stored data,
including support for implementing policy in QoS, security, and
routing. 5th-generation systems that embody the SCF concept have not
Ivancic, et al. Expires June 16, 2014 [Page 6]
Internet-Draft SCF Problem December 2013
yet been widely deployed. The fielded applications that could
benefit from such SCF capabilities are either using point solutions
adapted from prior generations of SF technology, or are lacking the
strength in automation, security, and other features that the SCF
technology should provide. Later sections of this document describe
a generic network architecture expected to be supported by SCF / 5th-
generation systems, the envisioned scenarios and use cases for these
systems, more detailed comparison/contrast with existing / prior-
generation systems, and a summary of lessons learned from experience
with earlier systems.
3. Generic Architecture
Figure 1 illustrates a generic SCF network architecture, with the SCF
agents (labelled "SCF") frequently partitioned into time-varying
disconnected subsets. Depending on specifics of an individual
scenario, it may be likely that some SCF agents are permanently
attached to a connected network in order to provide stable gateways
to/from the other SCF agents. However, in general, the system should
be considered to consist of a number of primarily disconnected SCF
agents at any point in time. The importance of this consideration as
it relates to design, implementation, and test of potential SCF
protocols is emphasized later in this document, as its effects have
plagued prior SF systems.
Ivancic, et al. Expires June 16, 2014 [Page 7]
Internet-Draft SCF Problem December 2013
_,.--SCF -.
SCF ' / `-SCF
.' / DISCONNECTED
/ / NETWORK
.' SCF_
SCF / `-..
`. .' SCF
`. |
,SCF.
/ \
/ \
/ \
; CONNECTED :
| NETWORK |
: ;
\ /
\ /
\ /
,SCF`.
SCF----'''' | `-.
| \ `.SCF
/ | .-'
/ SCF_.-'
SCF .'
`. .' DISCONNECTED
`-. .' NETWORKS
SCF
Store, Carry and Forward Network
Figure 1
When visualizing an SCF network, it may help to think more along the
lines of a topologically dynamically-changing (mobile) relay system
of agents that can periodically communicate with one another, and may
be able to make at least rough predictions about their future
contacts. The distribution of news and mail in the mid-1800s as
described in Herman Melville's book, "Moby Dick," is a good analogy.
"For the long absent ship, the outward-bounder, perhaps, has letters
on board; at any rate, she will be sure to let her have some papers
of a date a year or two later than the last one on her blurred and
thumb-worn files. And in return for that courtesy, the outward-bound
ship would receive the latest whaling intelligence from the cruising-
ground to which she may be destined, a thing of the utmost importance
to her. And in degree, all this will hold true concerning whaling
vessels crossing each other's track on the cruising-ground itself,
even though they are equally long absent from home. For one of them
Ivancic, et al. Expires June 16, 2014 [Page 8]
Internet-Draft SCF Problem December 2013
may have received a transfer of letters from some third, and now far
remote vessel; and some of those letters may be for the people of the
ship she now meets.....
...Every whale-ship takes out a goodly number of letters for various
ships, whose delivery to the persons to whom they may be addressed,
depends upon the mere chance of encountering them in the four oceans.
Thus, most letters never reach their mark; and many are only received
after attaining an age of two or three years or more."
Another analogy that illustrates aggregation and deaggregation are
the parcel post delivery companies. Here, individual packages
(containers) are delivered from a source to destinations via numerous
transport mechanisms, e.g. trucks, planes, trains and boats. Along
the way, these packages are aggregated into larger and larger
shipping containers as they move further from the source, and then
and deaggregated into smaller and smaller containers as they move
closer to the destination. Such aggregation and deaggregation enable
scaling of the system. There is a strong parallel between this flow
of packages and the data flows seen in some of the scenarios
described later in this document.
4. Operational Considerations
Some of the key operational considerations for SCF are:
o What types of applications might be suitable to utilize SCF
networking?
* Engineering Telemetry - Accumulated over time for offline
monitoring and analysis of some device or system's performance,
which may be related to long-term administration of the device,
but occurs in non-realtime and at a remote location. Fidelity
of the received data is important, though partial delivery of
data may be acceptable and more desirable than slower delivery
of complete and fully accurate data. It is expected that a
telemetry-sending application may operate in a fire-and-forget
mode, where it does not retain data after sending.
* Science Data Gathering - Similar to engineering telemetry, but
sensor data is collected at a potentially much larger volume or
over a much longer timescale. Accuracy of the delivered data
is critical, and timeliness in routing may be sacrificed to
provide a complete and error-free data set. Due to the size of
data sets collected, having multiple copies in-flight within
the network may be undesirable, and end-nodes may need to purge
old data after it has been sent in order to gather new data.
Ivancic, et al. Expires June 16, 2014 [Page 9]
Internet-Draft SCF Problem December 2013
* Software Update - Numerous deployed devices that may never be
able to contact an update server in realtime may need to have
patches or updates deployed and activated. This can require
high reliability and guarantee of eventual delivery of the
data, even if the latency involved in applying the update is
not extremely critical. The sender is likely to retain access
to the sent update/patch perpetually, even after copies have
been distributed into the network. While some acknowledgement
of reception end-to-end may be desirable, this might be
inferred through other means at the application level (e.g. via
telemetry) rather than requiring SCF-level acknowledgement.
o In general, any distributed application where senders and
receivers can operate asynchronously in non-realtime, without any
real-time requirement on the infrastructure (e.g. to do resolution
of DNS names) might be able to function over an SCF service.
o What are the potential deployment environments and platform
capabilities?
* Some relevant use cases are discussed in detail in the
following section. In general, the SCF agents may be either
co-located or independent of the hardware/software platforms
that host the end-applications. Aside from having a non-
trivial amount of persistent storage, very few assumptions can
be made about the SCF agent computing platforms. Typically,
they will have to be embedded systems, e.g. within a device
that's part of some other portable electronic system (e.g.
handheld device, medical implant, avionics hardware, etc.)
rather than typical workstations and servers. This means that
links are expected to be (much) less capable and more time-
varying than wired Ethernet, and frequent administrative access
is not likely to be possible.
o What are the upper-layer user/application data-set sizes?
* From existing systems in-use that could benefit from SCF, at
least several GB of data collected onto an SCF agent between
contacts with other SCF agents is possible. There are also
applications where only several kilobytes of container are
necessary.
o What are the traffic patterns?
* In envisioned SCF scenarios, movement is not fully random, even
for mobile ad-hoc networks, though at the very edges, it may
appear random.
Ivancic, et al. Expires June 16, 2014 [Page 10]
Internet-Draft SCF Problem December 2013
* In envisioned SCF scenarios, information flow is not fully
random, even for mobile ad-hoc networks.
o What type of interface between SCF agents and end applications is
feasible?
* Applications should be able to select their own globally-unique
identifiers and notify SCF agents of them, along with providing
proof of ownership. SCF agents may be able to notify
applications of pending received data, but applications are
always able to poll a SCF agent for such data as well.
o What interaction between SCF agents is expected?
* When in contact with one another, SCF agents minimally need to
be able to identify one another securely and prove that they
can be trusted as relays for a given destination application.
Agents should be able to indicate (or deny) forwarding of
individual containers, based on exchanging their labels only.
5. Use Cases and Deployment Scenarios
There are numerous deployment scenarios for SCF systems. The
following section highlights a few more common scenarios.
5.1. Data Mule
The Data Mule scenario is a common generic scenario and shows up in
many deployments. In the Data Mule scenario, SCF agents communicate
with each other mainly via some type of circulating entity carrying
data, called the "mule". This entity may be an unmanned (or manned)
aircraft, a ship, a bus, or any type of vehicle that periodically
moves over the same relative area. Connectivity is likely to consist
of high periods of disruption followed by short periods of
connectivity over relatively high-bandwidth, low-delay, and possibly
symmetric, links.
In the Data Mule scenario, connectivity is generally of the episodic
variety (opportunistic). There may be one or a larger number of
mules; each of which runs its own SCF agent.
Ivancic, et al. Expires June 16, 2014 [Page 11]
Internet-Draft SCF Problem December 2013
.-------.
| SCF | .-------.
|Agent 1| | SCF | .--o
`-------' /''\. |Agent 5| / `.
`. .' '._ .-----.,--. `-------' / |
\ | `.._|Data | ``. \ / `.
/ |Mule | `-. \ ' |_
| `-----' `. ,/ |
| Movement \.,.--- |
' <<======= |
/ |
/ |
| Path Well .-------. |
| Traveled | SCF | |
| |Agent 3| |
/ ...._ `-------' \
| | `. / `\
\ _.. | `./ .'
`' `---`... `.._ `-. ,'
.-------. _, ". ``. \ _,,'
| SCF |,' `. \ `--...,-'.
|Agent 2| `. `. |
`-------' `. _ \ .-------.
' `'-...._ | | SCF |
`"--------' |Agent 4|
`-------'
Data Mule Scenario
Figure 2
Within this type of Data Mule scenario, the generic use case for SCF
networking involves an application being able to push its data into
containers on a SCF agent, who then interacts with the Data Mule SCF
agents in order to deliver the containers to destination applications
attaching to other SCF agents. In order to realize this use case,
the SCF agents need to be identifiable to one another during periods
of episodic connectivity, and the mule needs to somehow be able to
express its expected future capability to relay containers towards
the destination application.
Ivancic, et al. Expires June 16, 2014 [Page 12]
Internet-Draft SCF Problem December 2013
The Data Mule is a common military scenario. It is often used to
join partitioned connected networks such as groups of mobile ad-hoc
networks (manets). In Figure 2, the SCF Agents could be concentrator
points in a manet cluster that enables communication between disjoint
manets on the battlefield, thus enabling communications between
clusters on the far ends of the communication infrastructure, the
edge networks.
5.2. Data Gathering
The generic Data Gathering scenario is also quite common and
applicable to SCF networks. Specific use cases involving sensorwebs,
medical monitoring and animal tracking would fit into this scenario.
Figure 3 illustrates a sensorweb where some sensors wake up and
forward data through other SCF agents until they reach an SCF
connected to a more powerful radio system. A gathering agent may
then come by from time to time (e.g. days, weeks, months) and collect
the data.
GATHERING AGENT
//
/____ /X// _
\ (\ //-'//
/ \)---'
/X//
))'(( ))'(( ))'((
| | |
SCF SCF SCF
_,-' | `.. / \ _,' | '-.
,' | `-. ,' ` ,' | `._
SCF SCF SCF SCF SCF SCF SCF SCF
/ \ / \
,' ` ,' `
SCF SCF DATA SOURCES SCF SCF
Data Gathering Scenario
Figure 3
Ivancic, et al. Expires June 16, 2014 [Page 13]
Internet-Draft SCF Problem December 2013
Major challenges of the use cases in a Data Gathering scenario, which
go beyond those of a Data Mule, are related to the increased level of
complexity in the topology between SCF agents. There is potentially
less predictability, potentially more heterogeneity (or hierarchy) in
SCF agent capabilities, and potentially a higher risk of routing
loops or wasted resources.
The use cases for Data Gathering do, however, involve data flows that
are generally either all directed from sensors up through the
Gathering Agents or down from the Gathering Agents, so these still
represent a sort of core network that all containers eventually go
through (similar to the Data Mules).
5.3. Traveling the Beaten Path
There are many instances where communications may occur between
entities traveling a well-worn path. In this scenario, communication
is more ad-hoc than the data-mule example. The probability of
encountering other SCF agents is quite high. Such scenarios include:
communication in mining operations, among hikers, among boats along
well traveled waterways, within the fisheries industry (the Moby Dick
example) and along trade routes.
Figure 4 illustrates Traveling the Beaten Path. Consider a nomadic
trade route in a third-world country. Here, SCF-1 may travel from
the one end of the path to the other in one direction, while SCF-5
moves in the other direction. SCF-1 and SCF-5 will encounter all
other SCFs along the way. SCFs 2, 3 and 4 only move along portions
of this trade route. Most likely, none of this information is known
in advance, and the movements may or may not be predictably
repeatable.
Ivancic, et al. Expires June 16, 2014 [Page 14]
Internet-Draft SCF Problem December 2013
PATH
==-._ _,,---.=-..__
'`-`''`;--=...__ _....,,...'-'' `''`.\ ___
`''':::.._,,,-'-'' `---.:,-'''
'`'''
--------- SCF-1 -------------------------------------------->
<---- SCF-2 --->
<----- SCF-3 ------>
<--------------------------- SCF-4 --->
<----------------------------------------------- SCF-5 -----
Traveling the Beaten Path
Figure 4
5.4. Rapid Disruption
Many wireless networks (particularly military ones), when connected,
may be relatively well-connected to a large number of other nodes in
near real-time. However, individual nodes or subsets of the network
may be only episodically connected because of variable link
conditions given terrain, foliage, weather, jamming, or desire to
evade detection. Furthermore, even when basically connected,
temporary radio signal power fades can cause rapid, short, periods of
disconnection. All of these lower-layer hindrances may result in
short periods of disruption witnessed by applications, as well as
rapid changes in network topology and the set of reachable relays.
SCF provides some potential solutions for such networks. SCF routing
may be capable of moving containers towards destinations via store-
and-forward if the proper naming structures, addressing and routing
algorithms can be developed.
5.5. Dismounted Soldier
On the battlefield, it often occurs that a group of soldiers is on a
mission and arrives via a vehicle or group of vehicles, one of which
may have very good connectivity to larger networks. Once dismounted,
much of the communications may be via use of that vehicle
communication system as a relay or anchor. Once the group moves a
significant distance from this anchor and from one other, they may
become disconnected for periods of time. At this point, SCF becomes
Ivancic, et al. Expires June 16, 2014 [Page 15]
Internet-Draft SCF Problem December 2013
necessary to improve communications and maintain situational
awareness. SCF provides this communication in two ways. Near-
synchronous communications might be maintained via multi-hops through
other SCF agents, or in the worst case, asynchronous communications
can be served sporadically when within radio contact of the anchor
relay on the vehicle.
This scenario is also applicable to first responders during disaster
situations where infrastructure may be severely damaged.
5.6. Low Earth Orbiting Sensor Satellite
The Low Earth Orbit (LEO) scenario described is for a sensor
satellite communicating directly with ground terminals. One such
network is described in reference [UK-DMC]. Note, in this scenario,
no geostationary relay satellite is involved. Here, the contact
times may be known in order to direct the satellite transmitter to
turn on. Some type of automated hailing could also be used.
Ivancic, et al. Expires June 16, 2014 [Page 16]
Internet-Draft SCF Problem December 2013
LEO
Sensor
Satellite
+-------+ _ +-------+
| |:_:| |
+-------+ +-------+
,' `.
Space/Ground ,' `-. Space/Ground
Link 1 ,-' `. Link 2
,' `._
,' `.
,' Connect Connect `._
_,' T1 T2 `.
. ' ` /
Ground `. ..,' Ground
Station /\'' ___...------'''''''------....__ /\ Station
1 /__\.,--' `'--./__\ 2
_,,-' ._ _, `--.._
' `. Ground/Ground Ground/Ground ,' '
`-. Link 1 Link 2 ,-'
`._ ,-'
`. _,'
' .-----------.
| Data |
|Collection |
| Center |
`-----------'
Low Earth Orbit Sensor Satellite
Figure 5
Low Earth Orbit (LEO) is a low-propagation-delay environment of less
than ten milliseconds delay to ground, with long periods of
disconnection between passes over ground stations. Contact times
consist of a few minutes per ground station for Earth satellites
orbiting at a couple hundred kilometers altitude (~100 minutes per
orbit). Thus, the more ground systems that are available, the
greater the potential for contact. The ground stations are connected
across the terrestrial Internet, or other backbones.
In this scenario, the SCF agent onboard the satellite does not need
to perform forwarding of received containers. The satellite is a
source for sensor data and may be a sink for command data.
Ivancic, et al. Expires June 16, 2014 [Page 17]
Internet-Draft SCF Problem December 2013
The main reason to use SCF in this scenario is to provide a
standardized relaying technique and to decouple the control loops
between the space/ground link and the ground/ground link.
There are numerous companies and systems today that transfer
extremely large sensor data sets from LEO to ground without a
standardized SCF method. Those data sets are in the multi-gigabyte
region and growing. However, they are using protocols and
implementations that are not compatible with one another, and which
require them to go through various levels of customization per-use.
6. Consideration of Existing Technologies
In this document, we characterized DTN-based systems as 4th-
generation SF rather than SCF systems. Several aspects of DTN are
highly desirable for SCF though, and DTN technology may represent a
basis for developing SCF standards. DTN utilizes "bundle agents"
that are similar to the "SCF agent". Several DTN routing protocols,
that exist at varying levels of maturity, can work well for
individual SCF scenarios that have been outlined. For instance,
Contact Graph Routing is particularly useful in scenarios where
future connectivity is predictable/known ahead of time.
The SCF container aggregation and deaggregation bears some surface
similarity to bundle fragmentation operations in DTN, but there are
major differences. SCF containers are intended to be aggregatable
within the network, even if they are not portions of the same
original container from the application. Additionally, some SCF
applications (e.g. science data collection) may find (optional)
partial reception of subsets of large containers that have been
deaggregated into smaller containers, to still be useful, whereas DTN
only delivers entire (reassembled) bundles. This does require the
data formats used by such SCF applications to be self-synchronizing,
so that they can be parsed, but this is an issue for the application.
SCF scenarios require some features that are not yet a part of the
DTN specifications:
The ability to avoid DoS by propagating an application's permit/
deny filters to SCF agents.
The ability to generate and prove ownership of globally-unique
application identifiers.
DTN goes beyond SCF in one way, which is the targeting of operation
over very high-latency data links. SCF does not explicitly attempt
to operate over such links, though it may end up being possible.
Since these links are mostly only applicable to deep-space scenarios
Ivancic, et al. Expires June 16, 2014 [Page 18]
Internet-Draft SCF Problem December 2013
with small numbers of nodes, SCF motivations do not include high-
delay.
This document also identified JMS and MQ Telemetry Transport message-
broker systems as 3rd-generation SF rather than SCF systems. JMS
"messages" transferred between "brokers" and applications are similar
to the containers transferred between SCF agents and applications.
JMS offers both point-to-point (unicast) and publish-subscribe
(multicast) models of communication. JMS uses named "queues" (in the
point-to-point model) or "topics" (in the publish-subscribe model) in
order to identify destinations. JMS brokers often implement a
"durable" messaging service that allows messages (and queues) to
persist even when the applications that created them (or need to
receive them) are disconnected from the broker.
SCF scenarios require some features that are not yet really reflected
within the JMS specifications:
Multi-hop relaying among brokers and secure propagation of
information about the queues/topics present or acceptable is not
standardized.
Communication of an application's desired permit/deny filters on
queues that it owns is not standardized.
JMS is an API and not a protocol standard. This is the primary
hurdle in using JMS to support SCF, as the wire-protocols and other
mechanisms used in a particular JMS implementation are not
necessarily compatible with others. SCF requires full vendor/
platform interoperability in order to be cost-effective to pursue in
preference to point-solutions. JMS is also significantly focused on
transfer of Java objects rather than generic containers of bytes as
SCF should be.
One of the biggest challenges to using existing systems (whether they
be DTN implementations, JMS products, or some others) is that most
have been designed to include a multitude of additional (optional)
features and this results in, at best, limited compatibility between
implementations. For instance, the DTN Bundle Protocol is an
excellent platform for experimentation due to its flexibility and
ease of defining new "blocks" to implement different functionalities.
DTN has been used or demonstrated in a wide range of scenarios with
differing needs, including simulated military exercises, connecting
people in remote regions, moving data from LEO spacecraft, deep-space
missions, mining operations, and others. However, individual
implementations have grown up to support distinct subsets of the
defined blocks, identifier schemes, and algorithms that suit the
unique properties of their pet environments. Developing, and then
Ivancic, et al. Expires June 16, 2014 [Page 19]
Internet-Draft SCF Problem December 2013
maintaining, a baseline for compatibility has not been a primary
concern. For an operational system, a baseline profile of the
required functionality would need to exist, which could be present
across the spectrum of vendors. For SCF, this type of profile is not
present in the existing systems to a level that would enable the
scenarios described in this document. Saving energy and running on
very small devices (e.g. sensors and embedded medical devices) also
motivates having such a profile that could aid in developing very
small, yet fully compatible, implementations.
MQ Telemetry Transport is a lightweight protocol used for publish/
subscribe messaging between devices. MQTT was designed for low-
bandwidth, high latency networks while attempting to ensure
reliability of delivery. A major design criteria was simplicity -
must be simple to implement and must not add too many "bells and
whistles" that would complicate implementation, while still providing
a solid building block which can easily be integrated into other
solutions. MQTT is designed to handle frequent short periods of
network disruption using a technique called "Last Will and
Testament". Although not part of the specification, MQTT has been
modified to operate in multi-hop environments.
7. Characteristics of Information
Since information has to be transported and stored in an ACF use
case, it is important to be aware of the key characteristics of the
information being acted upon. All information has a source and one
or more eventual destinations. All application information ready to
be sent, has a size that may be very small or quite large (several
bytes to multiple gigabytes). Size is important because storage is
not unlimited in either the source application's system nor in the
relays, and because transmission bandwidth and contact times limit
the amount of data that can be sent during any given contact time.
Information may have security restrictions placed on it - sensitive
or restricted (for your eyes only), and in some cases this may be
handled at the application layer, as is done by securing email.
All information has a useful lifetime. It may be very short
(seconds) or very long (days, weeks, years). Regardless, it is only
the users of the information that know what the real useful lifetime
is, and it is the application that would be required to set that
lifetime. With the exception of specific cases, it is not at all
clear that the application can generally make that decision.
When investigating the use of DTN bundle lifetimes in DTN deployments
and implementations, we have found that the lifetimes have generally
been set to match the duration of the experiment. There are
Ivancic, et al. Expires June 16, 2014 [Page 20]
Internet-Draft SCF Problem December 2013
instances where some finer granularity has been deployed such and in
the Defense Advanced Research Project Agency's (DARPA) Wireless
Network after Next (WNaN) where a small number of choices in
lifetimes of minutes or hours are used depending on the nature of the
data. The DTN bundle lifetime can be used for two purposes:
expedited forwarding for end-applications and purging stale
information from the relays. Thus, the real requirement we see for
SCF should be the ability to expedite forwarding of priority
containers and purge stale containers from the system, but not
necessarily to specify time-sensitivity on a per-second basis. There
may be other means to accommodate this requirement without having to
burden the SCF agents with the management and synchronization of
notions of "time" - particularly per container - which has been
burdensome in DTN use.
Often data has a "freshness" characteristic. For a given
application, data that is more recent (fresher) is often of greater
value that data that is older (stale). In such cases, it may be more
important to forward the most recent data, rather that the data that
is near the end of its useful lifetime. One might even purge the
system of stale data. One trival example that illustrates why data
freshness is important would be reception of stock quotes.
Obviously, one would not expect an SCF systems to be used for
commodities trading due to disruption and ordering issues (assured
timeliness). Rather, applications such as sensor data transmissions,
software updates or distributed security-key databases are more
amenable to SCF deployments.
8. Network Management
Network management is needed to keep the network running smoothly.
It is required for system configuration and maintenance, and monitors
the system to determine faults, performance, security issues and
accounting. From the scenarios presented, it appears that network
management is likely to be per-scenario, and may be effectively
accomplished out-of-band. For example: in the Data Mule scenario,
one may manage the data mule, but not the edge SCF systems. In the
Data Gathering scenario, one is likely to preconfigure the remote
sensor nodes and only manage the data-gathering SCF and perhaps the
data concentrator SCFs, the ones with high-power radios.
This does not imply the network management could not or should not be
performed in-band; only that it may not be required.
Since resources (e.g. bandwidth, transmit power, and storage) are a
precious commodity in SCF networks, policy that manages those
resources is expected to be a major component of system
configuration. For example: a particular SCF agent may restrict
Ivancic, et al. Expires June 16, 2014 [Page 21]
Internet-Draft SCF Problem December 2013
particular information sources to limited storage space and limited
storage time. Such policy may restrict all information to a limited
storage time in order to purge stale containers. Also, particular
sources may get preferential treatment per peering agreements.
9. Lessons Learned Summary
There are numerous lessons to be learned from previous deployments of
manets and 4th-generation store and forward networks such as DTNs.
Some of the more critical and important pieces of knowledge are
listed below:
o SCF systems are generally connected via radio networks. Some
radio systems may take far less power to listen than to transmit,
though this varies by individual link technology. Wasted
transmission is wasted power on a wireless system and can quickly
drain a battery. The problem is compounded for devices whose
entire lifetime is determined by their battery (e.g. non-
rechargeable sensor nodes). Thus, reducing wasted transmissions
is high desirable.
* The ability to reactively fragment large data sets en-route is
highly desirable. This has been demonstrated in DTN
experiments.
* Routing loops in the SCF will not be caught by layers below.
It is imperative that data dies naturally and quickly so as to
not waste bandwidth or transmission power. Such loops have
been encountered in early experiments with DTN overlays, and
are correctable.
* It is highly desirable for the sender to know early in a
transmission whether or not the receiver will accept the data.
This permits a savings in power and optimization of network
capacity usage. For instance, in DTN experiments with large
bundles, the entire large bundle may be sent, only to be
discarded due to security, resource scarcity, or other issues.
o Disconnected networks are difficult, if not impossible, to
globally synchronize state across.
o Managing fine-grained notions of time in a protocol is difficult
and adds considerable complexity.
o Having a relay protocol be time-dependent opens is up to security
vulnerabilities.
Ivancic, et al. Expires June 16, 2014 [Page 22]
Internet-Draft SCF Problem December 2013
o Having a relay protocol be time-dependent complicates use of that
protocol to synchronize the system - even for coarse
synchronization.
o It is highly desirable for a receiving agent to determine early
within a transfer whether or not to accept the data. Large data
sets utilize significant processing and storage resources for data
that may end up being discarded due to security, resource
constraints, or other policy issues.
o It is highly desirable to keep forwarding tables small, and make
forwarding decisions ahead of time for predicted contacts. Book-
keeping type of processing while forwarding a large number of
small containers can overload the processing system.
o Testing should be thorough and include exercising both the storage
and forwarding systems. Failure to do so will lead to erroneous
results [I-D.ivancic-scf-testing-requirements]. Thus, any testing
and validation should exercise both the storage and forwarding
mechanisms of the implementation. To do otherwise may lead to
misleading results.
10. Security Considerations
Applications need to authenticate to an SCF agent before they can
send or receive containers.
Authentication of SCF agents to one another needs to be tackled
before advertisements of forwarding capability can be acted upon.
Bandwidth, Storage, and Processing Power are precious resources in an
SCF. In order to reduce DoS vulnerabilities and properly allocate
resources, an SCF should be able to determine whether or not to act
on a container based solely on the Shipping Label.
Applications should be able to limit DoS by expressing explicit
desires to a serving SCF agent for/against certain traffic selectors.
It may be beneficial for this information to propagate between SCF
agents, though it should be recognized that any dynamics in these
preferences causes a risk of data loss due to lack of synchronization
of the filter rules.
While some aspects of Public-Key Infrastructure (PKI) may be
applicable to SCF, PKI itself is not because, in general, PKI
requires connectivity. Public-Keys with caching may be applicable;
however, this would require at least some coarse network
synchronization.
Ivancic, et al. Expires June 16, 2014 [Page 23]
Internet-Draft SCF Problem December 2013
11. IANA Considerations
This document neither creates nor updates any registries or
codepoints, so there are no IANA Considerations.
12. Acknowledgements
Much work builds on lessons learned from the work performed by the
IRTF DTN Research Group.
Work on this document at NASA's Glenn Research Center was funded by
the NASA Glenn Research Center Innovation Funds.
13. References
13.1. Normative References
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
13.2. Informative References
[AMQP] "Advanced Message Queuing Protocol",
<http://en.wikipedia.org/wiki/
Advanced_Message_Queuing_Protocol>.
[DTNRG] "DTN Research Group Wiki",
<http://www.dtnrg.org/wiki/Code>.
[FidoNet] "FidoNet Home Page", <http://www.fidonet.org/>.
[I-D.ivancic-scf-requirements-expectations]
Ivancic, W., Eddy, W., Iannicca, D., and J. Ishac, "Store,
Carry and Forward Requirements and Expectations", draft-
ivancic-scf-requirements-expectations-00 (work in
progress), July 2012.
[I-D.ivancic-scf-testing-requirements]
Ivancic, W., Eddy, W., Iannicca, D., and J. Ishac, "Store,
Carry and Forward Testing Requirements", draft-ivancic-
scf-testing-requirements-00 (work in progress), July 2012.
[IMAP] "Internet Message Access Protocol",
<http://en.wikipedia.org/wiki/
Internet_Message_Access_Protocol>.
Ivancic, et al. Expires June 16, 2014 [Page 24]
Internet-Draft SCF Problem December 2013
[JMS] "JSM/OpenWire",
<http://en.wikipedia.org/wiki/Java_Message_Service>.
[MQTT] "Message Queuing Telemetry Transport",
<http://mqtt.org/wiki/>.
[POP] "Post Office Protocol",
<http://en.wikipedia.org/wiki/Post_Office_Protocol>.
[Patterns]
Day, J., "Patterns In Network Architectures - A Return to
Fundamentals", Prentice Hall , 2008.
[RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst,
R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant
Networking Architecture", RFC 4838, April 2007.
[RFC5050] Scott, K. and S. Burleigh, "Bundle Protocol
Specification", RFC 5050, November 2007.
[SMIME] "Secure/Multipurpose Internet Mail Extensions",
<http://en.wikipedia.org/wiki/S/MIME>.
[SMTP] "Simple Mail Transfer Protocole", <http://en.wikipedia.org
/wiki/Simple_Mail_Transfer_Protocol>.
[STOMP] "Streaming Text Oriented Messaging Protocol",
<http://en.wikipedia.org/wiki/
Streaming_Text_Oriented_Messaging_Protocol>.
[UK-DMC] Wood, L., Ivancic, W., Eddy, W., Stewart, D., Jackson, C.,
and A. da Silva Curiel, "Use of the Delay-Tolerant
Networking Bundle Protocol from Space", 59th International
Astronautical Congress, Glasgow Paper IAC-08-B2.3.10 (also
NASA-TM-2009-215582), September 2008.
[UPPC] "Unix-to-Unix Copy", <http://www.3gpp.org/>.
[XMPP] "Extensible Messaging and Presence Protocol",
<http://xmpp.org>.
Authors' Addresses
Ivancic, et al. Expires June 16, 2014 [Page 25]
Internet-Draft SCF Problem December 2013
William Ivancic
NASA Glenn Research Center
21000 Brookpark Road
Cleveland, Ohio 44135
United States
Phone: +1-216-433-3494
Email: william.d.ivancic@nasa.gov
Wesley M. Eddy
MTI Systems
Email: wes@mti-systems.com
Alan G. Hylton
NASA Glenn Research Center
21000 Brookpark Road
Cleveland, Ohio 44135
United States
Phone: +1-216-433-6045
Email: alan.g.hylton@nasa.gov
Dennis C. Iannicca
NASA Glenn Research Center
21000 Brookpark Road
Cleveland, Ohio 44135
United States
Phone: +1-216-433-6493
Email: dennis.c.iannicca@nasa.gov
Joseph A. Ishac
NASA Glenn Research Center
21000 Brookpark Road
Cleveland, Ohio 44135
United States
Phone: +1-216-433-6587
Email: jishac@nasa.gov
Ivancic, et al. Expires June 16, 2014 [Page 26]