Agile & Distributed Computing

 

IHMC’s has pioneered the notion of Agile Computing – an approach to creating distributed networked systems that are adaptive, resilient, and opportunistic. Research in this area has ranged from intelligent network transport protocols to novel distributed coordination algorithms. Much of this research has been in support of austere networking environments such as disaster recovery and tactical military networks. Exploiting research in intelligent systems and software agents contribute significantly to enhance performance of the overall system. At IHMC, this research is led by Niranjan Suri.

Research in software agents and mobile agents were the foundation for much of the follow on work in distributed systems.  Research in the area of mobile agents led to the development of Aroma – a custom Java VM that was designed from scratch to support migration of threads of execution as well as secure monitoring and control over resource utilization of untrusted agents. Continued research in the area of mobile code for dynamic resource exploitation eventually led to the notion of Agile Computing.

The Agile Computing Middleware is a set of integrated and interoperating components that satisfy many of the communications requirements that arise in challenged networks. The underlying principle of the middleware is to be opportunistic and dynamically exploit resources as they become available. This approach allows the system to be more resilient to failure of nodes and links, and improves performance by continuous adaptation to the current environment and available resources. Components of the middleware handle resource and service discovery in ad-hoc environments, point-to-point transport, multipoint dissemination, service-oriented computing, information management, and finally transparent proxying for legacy protocols such as TCP. Many of the components of this middleware framework have been released as open source under the GPLv3 license and are available at http://www.github.com/ihmc/nomads. Many of these components have also been successfully transitioned to the US Army Research Laboratory, US Army CERDEC, Office of Naval Research, Marine Corps Systems Command, and the US Air Force Research Laboratory.

Of particular importance is recent research on the notion of Value of Information (VoI), and its applicability to address the challenges of the tactical networking environment. The ability to determine information value is critical to addressing the data and information overload challenges. A rapid decrease in the cost of sensors, combined with the desire to cover larger areas with persistent sensing capabilities, have resulted in a wide-scale deployment of sensors in increasing numbers. Sensor capabilities have improved, causing them to generate very large data sets that further widen the gap between the amount of information that can be generated and the subset that can be successfully delivered to the recipients, especially in challenged networking environments. VoI is a promising approach to prioritizing, filtering, shaping, and delivering information that is of value to each recipient, on an individual, customized basis. As realized by our middleware implementation, VoI also has the added benefit of reducing information overload by filtering out unimportant, unnecessary, or redundant information.

Research on VoI is also being extended to the domain of Internet of Things (IoT) and the Internet of Battlefield Things. Both these cases present similar problems of information overload and the need to be selective in identifying and disseminating information to consumers based on value and relevance.

Recent work has also focused on the notion of continuous sensing and adaptation to tactical networking environments. The objective is to create middleware that realizes the OODA (Observe-Orient-Decide-Act) loop for the network. Sensing components observe the traffic flows in the network, which is then interpreted to better understand the behavior of the network and the applications utilizing the network. Once the behavior is understood, higher level policies inform the middleware regarding the desired priorities and behavior that should be enforced. Various middleware components are then used to realize this desired behavior by prioritizing, filtering, and shaping network traffic.

Lastly, an important component of our work has been on coordinating the behavior of networked, distributed nodes, such as ground robots and Unmanned Aerial Systems (UASs). Our research on Process Integrated Mechanisms (PIMs) has resulted in a unique framework that provides distributed control over multiple networked nodes. PIM exploits strong mobility and enables a single Coordinating Process (CP) to control the behavior of multiple distributed nodes by quickly and transparently migrating the CP across the nodes. A significant advantage of this model is the programming simplicity – the CP is developed as a centralized control process. However, the PIM approach is far from centralized as the rapidly moving CP provides resilience to node and link failure. PIM greatly simplifies the challenging task of developing, verifying, and maintaining algorithms for distributed control that are also predictable in their behavior. PIM avoids the single point of failure in centralized approaches, the complexities of negotiation in Multi-agent Systems, and the unpredictability of biologically inspired swarms.

YourKit is kindly supporting open source projects with its full- featured Java Profiler. YourKit, LLC is creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit’s leading software products: YourKit Java Profiler and YourKit .NET Profiler.