Code

The following software repositories contain research code that is produced by in the NCS group or has been produced in collaboration with Prof. Amr Rizk.

RABBIT: Live Transcoding of V-PCC Point Cloud Streams

RABBIT achieves live transcoding of video-based compressed point clouds (V-PCC) to serve heterogeneous user quality requirements in real time. It is a technique that only re-encodes the underlying video sub-streams and eliminates the overhead of the baseline decoding-encoding approach and decreases the latency further by applying optimized video codecs. 

The accompaning repository to the paper RABBIT: Live Transcoding of V-PCC Point Cloud Streams, presented at MMSys'23, 14th Conference on ACM Multimedia Systems can be found on github.

RABBIT received the Best paper award@MMSys'23.

MACI: Seamless Execution and Analysis of Extensive Network Experiments

MACI is a framework for the management, scalable execution, and interactive analysis of extensive network evaluations consisting of a large number of experiments.

A detailed paper about MACI was published @ CoNEXT'18 and is available here.

MACI can be found here

P4STA: High Performance Packet Timestamping with Programmable Packet Processors

P4STA an open source framework for packet timestamping and load aggregation that combines the flexibility of software-based traffic load generation with the accuracy of hardware packet timestamping. Our evaluation results, obtained using an off-the-shelf P4- programmable switch, show that a time resolution up to 1ns can be achieved on these programmable data plane platforms.

P4STA was published at IEEE/IFIP Network Operations and Management Symposium (NOMS) 2020

P4STA can be found on github.

NoVA-PCC - Normal-separated Video-based Point Cloud Compression

NoVA-PCC is a method to combine video-based Point Cloud encoding with an object decomposition based on surface normals. NoVA-PCC obtains non-overlapping, separately encoded view-specific segments that can be streamed independently. This encoding flexibility can then be leveraged to guide the streaming client to select the bit rates of the view-specific segments, e.g. to assign higher qualities to better visible PC object parts.

NoVA-PCC  was published at APCCPA '22. The paper "View-Adaptive Streaming of Point Cloud Scenes through combined Decomposition and Video-based Coding" can be found here

NoVA-PCC can be found on github.

ProgMP: Programmable MultiPath TCP Scheduling

ProgMP is a programming model for Multipath TCP scheduling. It provides powerful abstractions to develop own application- and preference-aware schedulers. The linked repository page provides a getting started tutorial, scheduler examples, an overview of the extended socket API and the language primitives.

Check out our paper on ProgMP published at ACM/IFIP/USENIX Middleware 2017 for more details. 

ProgMP received the Best paper award@ACM/IFIP/USENIX Middleware 2017 

ProgMP can be found here

LETHE: Combined Time-to-Live Caching and Load Balancing on the Network Data Plane

Lethe is a popularity-based load balancer using a combination of LRU and TTL for key-value stores implemented in P4. It provides transparent caching for object requests, meaning that it is indistinguishable and irrelevant to the client, whether an object is fetched from the database or a cache server.

The paperLETHE: Combined Time-to-Live Caching and Load Balancing on the Network Data Plane was published at the IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN) 2023.

The code for Lethe can be found here: Lethe