Software Projects

The Deduplicator is a middlebox built on top of Ngnix, which aims to achieve the objectives of load balancing and computation reuse at the network edge. These two objectives are contradictory in nature, however, the Deduplicator achieves up to 20% higher percentages of computation reuse compared to several other load balancing approaches with minor deviations (less than 5%) in terms of load balancing among the available edge servers. The Deduplicator was published at IFIP/IEEE Networking in 2024.

IoT Anomaly Detector (IoT-AD) is a framework that can not only detect the anomalous behavior of IoT devices, but can also limit and recover from anomalous behavior that might have affected other IoT devices. The realization of IoT-AD is based on the argument that mitigating the propagation of the anomalous behavior exhibited by an IoT device to other IoT devices is equally important to detecting this behavior in the first place. To evaluate IoT-AD, we retrofitted our research space to a one-bedroom apartment and collected IoT traffic and IoT device interaction data in this space. Out dataset is publicly available. IoT-AD was published at the IEEE Internet of Things Journal in 2023.

Camouflage features practical mechanisms to conceal characteristics related to the execution of computations, which can be used by malicious actors to identify computations and orchestrate further attacks based on identified computations. Camouflage was published at the IEEE International Conference on Cloud Computing (CLOUD) in 2023.

Reservoir is a framework that enables pervasive computation reuse at the edge of the network, while imposing marginal overheads on user devices and the operation of the edge network infrastructure. Reservoir features unified mechanisms for task naming, the light-weight identification of similar tasks directly in the network, and the forwarding of such tasks towards the same edge servers, so that applications can capitalize on the benefits of computation reuse. Reservoir was the best paper award runner up at the IEEE International Conference on Pervasive Computing and Communications (PerCom) in 2022.


Store Edge Networked Data (SEND) is a framework for in-network storage management realized through data repositories deployed at the network edge. SEND considers different criteria (e.g., data popularity, data proximity from processing functions at the edge) to intelligently place different categories of raw and processed data at the edge based on system-wide identifiers of the data context. SEND was accepted and published at the IEEE Conference on Computer Communications (INFOCOM) in 2021.

Information-Centric edge (ICedge) is a general-purpose networking framework that streamlines service invocation and improves reuse of redundant computation at the edge. ICedge handles the “low-level” network communication on behalf of edge applications. ICedge was published by the IEEE Internet of Things Journal in 2020. A framework for service discovery and invocation at the edge, which was a precursor of ICedge and led to its design, was published by the IEEE International Conference on Network Protocols (ICNP) in 2019.

Distributed Dataset Synchronization over disruptive Networks (DDSN) is a protocol that provides resilient multi-party communication in adverse communication environments. A unique design feature of DDSN is letting individual entities exchange their dataset states directly, instead of using some compressed form of the states. DDSN was published by the IEEE International Conference on Mobile Ad-Hoc and Smart Systems (MASS) in 2019.

I have co-led the design and development of ndnSIM, the de-facto network simulator used by the Named Data Networking (NDN) community, for over 5 years. The recent versions of ndnSIM use the NDN prototype implementations to power simulations. ndnSIM has been used by thousands of students and researchers from institutions all around the world. The recent versions of ndnSIM have been cited more than 500 times in published research work over the last years. The most notable paper on the ndnSIM design was published by the ACM SIGCOMM Computer Communication Review (CCR) in 2017.

I led the design and development of nTorrent, a peer-to-peer file sharing system in Named Data Networking (NDN). nTorrent features a totally decentralized design that takes advantage of the NDN abstractions for named and secured data directly at the network layer of the Internet architecture. nTorrent was accepted and published by the International Conference on Computer Communication and Networks (ICCCN) in 2017. nTorrent was the basis for the development of the DAta-centric Peer-to-peer filE Sharing (DAPES) prototype, a data sharing framework for scenarios with intermittent connectivity and user mobility. DAPES was published by the IEEE International Conference on Distributed Computing Systems (ICDCS) in 2020.

I have been a contributor of the design and development of the Named Data Networking (NDN) forwarding daemon, the de-facto software router of the NDN community.

I have been a contributor of the design and development of ndn-cxx, a C++ library that implements the fundamental Named Data Networking (NDN) primitives.

I have been a contributor of the Named-data Link State Routing protocol (NLSR), the de-facto routing protocol of the Named Data Networking (NDN) community.