ENCODERS is SRI’s content-based networking solution that provides network services and transport architectures required for efficient, transparent distribution of content in mobile ad hoc networks. These services are application-independent and network-agnostic with the goal of reducing latency and increasing the effective throughput of content for warfighters at the tactical edge. ENCODERS is a search-based data-dissemination framework designed for mobile, opportunistic communication environments. ENCODERS software was developed for DARPA’s Content-Based Mobile Edge Networking (CBMEN) Program.

SRI started with the Haggle open-source code base, which provides underlying functionality for neighbor discovery and basic protocols, among other things. We made major improvements in it, including improving performance in mobile networks and extensions for utility-based dissemination and cache management, semantic annotations, and security.

Applications communicate with ENCODERS via data objects that contain both metadata and content. Metadata includes both content description and description of application interest. This separation of metadata from content allows the selective distribution of content based on interest matching and is a key feature supporting the efficient use of bandwidth and low latency in ENCODERS (because content is much larger in size than the metadata that describes it).

Below the Haggle framework is the network stack. This includes a traditional UDP/TCP/IP network layer as well as MAC and physical layers. ENCODERS uses UDP to connect to local applications and UDP/TCP to connect to peers.

Like Haggle, ENCODERS is a search-based data-dissemination framework designed for mobile, opportunistic communication environments. This search-based approach is used for resolution (mapping data to interested receivers) and prioritization of sending and receiving data during encounters between nodes. Haggle provides underlying functionality for neighbor discovery, basic protocols, data object representation and storage, and basic interest resolution, thus removing the need to implement such features in applications.

The ENCODERS architecture is event-driven, modular, and layer-less, which provides flexibility and scalability. Central in the architecture is the kernel. It implements an event queue, over which managers that implement the functional logic communicate. Managers are responsible for specific tasks such as managing communication interfaces, encapsulating a set of protocols, and forwarding content. The managers interact only by producing and consuming events. This makes it easy to add, replace, or remove managers, as they do not directly interact with each other.

For technical details, please refer DOCUMENTS page.