=== Mobility First Wiki === Welcome to the Mobility First wiki. This wiki covers the software release of key pieces of the !MobilityFirst Future Internet Architecture proposal. To learn about the architecture proposal itself, visit the [http://mobilityfirst.winlab.rutgers.edu MobilityFirst project website]. However, we start with a small overview and few highlights of the architecture that will help form an idea of the different pieces of the software release. == Architecture Highlights == Introduction === Name-based Networking === The MobilityFirst architecture which emerged over the past 2-3 years is centered around a new name-based service layer which services as the “narrow-waist” of the protocol – this name-based services layer makes it possible to build advanced mobility-centric services in a flexible manner while also improving security and privacy properties. The name-based service layer uses the concept of “flat” globally unique identifiers (GUIDs) for network attached objects, a single abstraction which covers a broad range of communicating objects from a simple device such as a smartphone, a person, a group of devices/people, content or even context. ==== GUID is the new ''narrow waist'' ==== [[Image(narrow.png, 10%, align=right)]] A name-based service layer serves as the "narrow waist" of MobilityFirst protocol stack. All the traffic in MobilityFirst internet architecture runs over GUID namespace addressing. GUIDs are public key assigned by a name certification service (NCS) and are long lasting network-level names for objects. The GUID-based communication is assisted by GNRS (Global Name Resolution Service) and is sufficiently flexible to accommodate a variety of endpoint principals including interfaces, devices, users, services, content, context-aware descriptors and location-independent communication primitives such as device-to-device, device-to-service, content retrieval, context-aware delivery, multicast, anycast, and more. ==== Named Service API ==== [[Image(namedAPI.png, 800, align=center)]] === Hybrid GUID/NA Routing and Forwarding === [[Image(hybrid-guid-na.png, 800, align=rightcenterS)]] MobilityFirst naming involves three layers: user level descriptor, such as Joe's car or John's mobile is translated into a network level identifier. This is a globally unique identifier (GUID) that is a long lasting identifier at the network level. In order to deliver packet to these end points, the GUIDs need to be mapped to the current location of the GUID in the network. The mapping of the identifier to its routable network address is maintained by the global name resolution service (GNRS). {{{#!comment * [wiki:GeneralProjectMaterials General Project Materials] * [wiki:Architecture Architecture WG] * [wiki:NamingRouting Naming/Routing WG] * [wiki:SecurityPrivacy Security & Privacy WG] * [wiki:NetworkManagement Network Management WG] * [wiki:PervasiveMobile Pervasive/Mobile WG] * [wiki:Economics Economics WG] * [wiki:SystemPrototyping System Prototyping WG] * [wiki:EvaluationValidation Evaluation/Validation WG] * [wiki:ContentServices Content Services WG] * [wiki:ContextServices Context Services WG] * [wiki:SummerInternship Summer Internship] * [wiki:SummerInternship/2012 Summer Internship 2012] * [wiki:SummerInternship/2013 Summer Internship 2013] * [wiki:WINLABMeetings/Fall2013 WINLAB MF Meetings - Fall 2013] * [wiki:StudentPages Student Pages] }}} == Prototype Development and Documentation == For further details on the details of the MobilityFirst prototype, please visit the [wiki:Proto Prototype Documentation Page]