Begun in the fall of 2010, MobilityFirst is one of five Future Internet Architecture proposals funded by NSF’s Future Internet Architecture project. Led by WINLAB at Rutgers University, the MobilityFirst project is a multi-university collaborative research effort that proposes mobility and trustworthiness as central design goals for the future Internet. It addresses mobility by cleanly separating names or identifiers of network objects (includes all prominent principals – hosts, services, content, context, etc.) from their addresses, and proposes a globally scalable naming service to resolve from names to addresses in real time to support seamless mobility. Shortcomings of today’s end-to-end transports in handling wireless challenges (e.g., variable link quality and disconnections) are addressed by the use of a hop-by-hop segmented data transport and the use of routing protocols that leverage both in-network storage and information of traffic conditions at the network edge. Scalable support for delivery services such as anycast, multicast, and multihoming are emphasized to enable efficient future realizations of content- and context-centric applications that use multi-endpoint communication patterns extensively.
The current emphasis within the project is towards at-scale validation of protocols and architecture through both realistic testbed evaluation and real-world field trials. Prototypes of the key components of the architecture including a Click-based software router, a distributed global name resolution service (GNRS), storage- and edge-aware routing protocols (GSTAR and EIR, respectively), and a
name-based service API and host stack have been implemented on Linux and Android platforms. These prototypes are readily deployable on the wide-area GENI testbed utilizing layer-2 network connectivity and deep programmability of host and network elements, to enable realistic evaluations of the MobilityFirst features. To date, several experiments and demonstrations have been conducted on the GENI testbed, including the demo at the recently concluded GENI Engineering Conference (GEC-18), where a novel context-based messaging application was built and demonstrated over a long-running deployment of the MobilityFirst prototype network on GENI.
Contextual Messaging Using Name-Based Networking Concepts in MobilityFirst
A contextual messaging application — Drop It — was developed using name-based networking abstractions provided by MobilityFirst, which allows users to drop messages at a location, and to pick up messages left by others at a location. MobilityFirst allows locations (contexts, in general) to be assigned unique names (a GUID – globally unique ID) which help identify them for network operations such as send, recv or get (retrieves content by name). Locations in physical space may be defined (or fenced) by a set of GPS coordinates, for example, and a persistent GUID can be assigned to them by a well-known service. Next, by maintaining meaningful address mappings for a location GUID in the GNRS, endpoints can send and receive messages to/from this context. For instance, a mapping of location GUID to the set of all phones that dropped messages at that particular location can enable a pure peer-to-peer realization of the contextual messaging service, where the ‘pick-up’ can implemented as an efficient multicast request to each of the phones by using MobilityFirst’s get API. It is also possible to realize alternate approaches to pure p2p, where in-network message caches could enable a more robust operation when phones go offline. Further information about the MobilityFirst services and the API can be obtained from the project website and the MobiArch’2013 paper: Network Service Abstractions for a Mobility-Centric Future Internet Architecture.
The GEC-18 demonstrations utilized both GENI wide-area deployments over Internet2’s Advanced Layer 2 Service (AL2S), as well as mobile phones handled by volunteers on the demo floor. A total of ten Click-based prototype MF routers (each with a GNRS server instance), five of which functioned as MF edge routers providing WiFi access were used to construct the core-edge topology shown in Figure 1. Five MobilityFirst software routers ran within virtual machines at the five GENI rack sites (U. Utah, U. Wisconsin, BBN, Rutgers, and NYU) and formed the core network. The WiFi/WiMAX wireless edge access was provided by a combination of custom deployed MF edge routers (as WiFi APs) and the GENI campus WiMAX deployments at Rutgers University and NYU Polytechnic. Ten Android phones (some with dual WiFi/WiMAX interfaces), each running the MobilityFirst protocol stack and the “Drop It” application (shown in Figure 2) were carried around by volunteers (except two which were static at Rutgers) who performed message drop and pick-up operations at the several preset locations on the demo floor. Each location was marked with a QR-code tag that encoded the location’s GUID, like the one shown in Figure 2. Note that QR codes were used to identify locations primarily due to the difficulties of using GPS indoors. However, QR codes and RFID tags are also the most effective way when defining fine-grain contexts such as a demo booth, which can be quite cumbersome to define using GPS-coordinates.