Mockets

Mockets is an application-level communications middleware designed for tactical networks. Mockets addresses the specific requirements of this environment by providing applications with a wider range of features and a richer programming model, which were purposely designed for tactical networks and evaluated in the context of several live experiments.

 

Communications in Tactical Networks

Tactical edge networking environments, as depicted in Fig. 1, present significant challenges that must be overcome in order to effectively support net-centric warfare. The wireless and ad-hoc nature of these networks implies unreliable connectivity, limited bandwidth, and variable latency. Past and current research has focused on physical and data link layers, routing protocols, transport protocols, and cross-layer aspects. However, significant work is required at the upper layers to better support application requirements. In our experience, achieving effective communications in tactical environments requires taking into account application requirements and communication patterns, designing a rich interface between the application and communication layers, and realizing a communications middleware specifically adapted to tactical networks.

tactical edge network

Fig. 1. The Tactical Edge Network Communication Environment

 

Project History

The Mockets research project began in 2003 with ARL's participation in QL-1. This experiment provided an opportunity to understand the types of applications used in tactical networks and their communication requirements. Moreover, observing the network and application behavior provided valuable insight into essential requirements and abstractions for the middleware. Participation in QL-2 in 2004 and C4ISR OTM from 2006 to 2008 facilitated an iterative design, testing, and evaluation process for the Mockets middleware. Lessons learned from each successive experiment led to enhancements to the design and implementation of Mockets in the context of ground-based tactical edge networks. Finally, in 2008, AFRL’s participation in a live flight demonstration of a Joint Surveillance Target Attack Radar System (J-STARS) aircraft communicating with a portable ground station provided valuable insight into the airborne networking environment, allowing for the extension of Mockets to support this environment. During these live experiments, we had the opportunity to deploy
Mockets on a wide variety of network platforms, ranging from 802.11-based ad hoc nodes to JTRS prototypes to currently deployed radios such as PSC-5.

 

Main features

Multimode communications - Mockets supports and fosters a closed-loop feedback based adaptive programming model. Applications provide the middleware with messages and metadata on how to deliver them. In turn, the middleware provides applications with information about current network conditions so that they can tailor their current service rate and message delivery semantics. More specifically, Mockets provides applications with connection-oriented message-based communication facilities. Mockets allows applications to create several data flows for each connection. Applications can assign specific message delivery semantics and QoS policies to each flow and change them at runtime. Specifically, Mockets allows applications to choose between orthogonal reliable/partially reliable2/unreliable and sequenced/unsequenced delivery semantics.

 

Message Replacement - Mockets provides advanced queue control functions that allow applications to prioritize the transmission of a specific message within one flow, to delete outdated messages in the transmission queue, or to replace them with newer messages. These functions were designed to reduce network traffic and message latency, and proved to be very effective when dealing with time-sensitive information such as position updates in BFT applications.

 

Session mobility - Mockets was designed to preserve end-to-end connectivity of service sessions in spite of node mobility, allowing users to traverse different networks without breaking their open service sessions. In addition, Mockets automatically takes advantage of best network connectivity in case mobile nodes enter locations where several networks overlap or multiple network attachment points are simultaneously available. Finally, Mockets enables the migration of session endpoints to different nodes, allowing users to preserve their subscribed service sessions when switching to a different device. The Mockets support for session mobility enables the realization of novel distributed applications which are better suited to the wireless Internet environment.

 

A Rich API - Mockets enables the development of adaptive applications by monitoring network status and providing the collected information. For convenience, Mockets offers a double interface: applications can either directly query the middleware or request to be notified via callbacks when a specific event occurs, such as the connection quality falling below a threshold. Finally, Mockets can send connection status information, including event notifications such as connection setup, teardown, and connectivity loss, to an external monitoring application. This feature enabled development of the Mirage visualization tool, which proved invaluable to monitor the runtime behavior of applications in live experiments and identify and correct anomalous behavior.

 

Architecture and Implementation

The Mockets middleware has a modular architecture and builds on top of the traditional TCP/IP protocol suite. This design guidelines permit to achieve portability, extendibility, ease of integration, and facilitates the Mockets deployment in all available platforms and scenarios, regardless of the underlying hardware and operating system.

In the Mockets architecture, as depicted in Fig. 2, the Session Manager (SM) is the component which implements mobility of service sessions. SM is composed of 3 modules: the Handoff Manager (HM), the Migration Manager (MM), and the Coordinator.

The Handoff Manager module provides mechanisms for session handoff. When requested to perform a session handoff to another network layer address and/or network interface, HM rebinds the local mocket endpoint and triggers the transmission of handoff notification to the peer endpoint by interacting with the Datagram Transmitter and Receiver (DTR) component.

The Migration Manager module provides mechanisms for endpoint migration. More specifically, MM performs suspension and resumption of connections, interacting with DTR to carry out the suspend/resume protocol. MM also performs serialization and deserialization of the mocket state, providing applications with the opaque connection state object as a result.

The Coordinator module supervises and coordinates the session management functions provided by HM and MM in order to realize session mobility. More specifically, the Coordinator enables endpoint migration by processing application requests and suspension requests from the peer endpoint, and carrying them out leveraging the functions provided by MM.

The Coordinator also realizes preservation of end-to-end connectivity and automatic best network selection by leveraging information received from the Network Conditions Monitor (NCM) component. NCM monitors network status, processes the collected information and provides it both to Coordinator and to applications. In particular, NCM detects changes in the network layer address of a device and detects peer unreachability via a keep-alive mechanism.

the mockets architecture

Fig. 2. The Mockets Architecture

The middleware approach adopted for the Mockets implementation provides several advantages including phased integration and portability. Mockets uses UDP and hence operates on any platform supporting a TCP/IP stack, regardless of the underlying hardware and operating system. We have developed applications running on gateway nodes to use both Mockets and TCP concurrently — Mockets to communicate with tactical edge nodes and TCP to communicate with higher-echelon legacy systems. Mockets is implemented in C++, with bindings for Java and C#. Mockets also provides a TCP-compatible API that allows COTS applications to be gradually ported to the tactical environment, supporting and facilitating a phased transition process.

 

Publications

[1] N. Suri, M. Tortonesi, M. Arguedas, M. Breedy, M. Carvalho, R. Winkler, "Mockets: A Comprehensive Application-Level Communications Library", in Proceedings of IEEE MILCOM 2005 Military Communications Conference, pp. 970-976, ISBN 0-7803-9393-7, IEEE Press, Atlantic City, NJ, USA, 17-20 October 2005.

[2] M. Tortonesi, C. Stefanelli, N. Suri, M. Arguedas, M. Breedy, "Mockets: A Novel Message-Oriented Communications Middleware for the Wireless Internet”, in Proceedings of International Conference on Wireless Information Networks and Systems (WINSYS), pp. 258-267, ISBN 972-8865-65-1, INSTICC Press, Setúbal, Portugal, 7-10 August 2006.

[3] N. Suri, M. Carvalho, J. Lott, M. Tortonesi, J. Bradshaw, M. Arguedas, M. Breedy, "Policy-based Bandwidth Management for Tactical Networks with the Agile Computing Middleware”, in Proceedings of IEEE MILCOM 2006 Military Communications Conference, ISBN: 1-4244-0618-8, IEEE Press, Washington, DC, USA, 23-25 October 2006.

[4] C. Stefanelli, M. Tortonesi, M. Carvalho, N. Suri, "Network Conditions Monitoring in the Mockets Communications Framework", in Proceedings of IEEE MILCOM 2007 Military Communications Conference, ISBN 1-4244-1513-6, IEEE Press, Orlando, FL, USA, 29-31 October 2007.

[5] N. Suri, M. Marcon, R. Quitadamo, M. Rebeschini, M. Arguedas, S. Stabellini, M. Tortonesi, C. Stefanelli, "An Adaptive and Efficient Peer-to-Peer Service-oriented Architecture for MANET Environments with Agile Computing", in Proceedings of 2nd IEEE Workshop on Autonomic Communications and Network Management (ACNM’08), pp. 364-371, ISBN: 978-1-4244-2067-4, 7-11 April 2008, Salvador de Bahia, Brazil.

[6] M. Tortonesi, E. Benvegnù, C. Stefanelli, N. Suri, "Session Mobility in the Mockets Communication Middleware", in Proceedings of 13th IEEE Symposium on Computers and Communications (ISCC’08), pp. 596-603, ISBN: 978-1-4244-2702-4, 6-9 July 2008, Marrakech, Morocco.

[7] N. Suri, E. Benvegnù, M. Tortonesi, C.Stefanelli, J. Kovach, J. Hanna, "Communications Middleware for Tactical Environments: Observations, Experiences, and Lessons Learned", IEEE Communications Magazine, IEEE Communications Society Press, ISSN 0163-6804, Vol. 47, No. 10, pp. 56-63, October 2009.

[8] E. Benvegnù, N. Suri, M. Tortonesi, T. Esterrich, "Seamless Network Migration Using the Mockets Communications Middleware", accepted for publication in Proceedings of IEEE MILCOM 2010 Military Communications Conference, October 31-November 2010, San Jose, CA, USA.

 

 

In collaboration with:

 

IHMC_logoShort.png

Florida Institute for Human and Machine Cognition

Mockets Project Home Page at Florida IHMC

 

arl logo

United States Army Research Lab

 

Air_Force_Research_Laboratory.png

United States Air Force Research Lab