All projects

2024 · Software / Networking Engineer

OTT Streaming over an Application-Layer Overlay (CORE)

Built a prototype CDN-style OTT service: overlay nodes + PoPs distribute RTP video streams to multiple clients with dynamic route costs and basic failure recovery.

Results

  • Bootstrapper-driven overlay formation from JSON topology; nodes join/leave without breaking the system.
  • Route cost combines measured latency and packet loss; routing tables update dynamically from HELLO exchanges.
  • Client selects the best PoP using RTT+path cost\mathrm{RTT} + \text{path cost}; playback control via RTSP, media via RTP over UDP.
  • Demonstrated multi-client streaming and resilience to node/PoP failures with teardown + re-request behavior.

Overview

Implemented an application-layer overlay in Python on the CORE emulator.

A bootstrapper provisions neighbor sets from a JSON topology; nodes exchange periodic HELLOs and routing info, compute path costs from latency and packet loss, and forward streams along best routes.

Clients select the best PoP using RTT+path cost\mathrm{RTT} + \text{path cost}, then control playback via RTSP and receive video via RTP over UDP.

Added teardown propagation and recovery behaviors on node/PoP failure.

My work

  • Implemented bootstrapper config distribution and node neighbor initialization.
  • Implemented message framing/types and the periodic HELLO + routing-table exchange.
  • Implemented client PoP selection (RTT measurement + weighted cost) and RTSP control flow.
  • Implemented RTP receive/reassembly logic (chunking/marker bit) and forwarding on overlay nodes.
  • Implemented failure detection (HELLO timeout) and recovery behaviors for ongoing streams.

Technologies

  • Python
  • Sockets (UDP/TCP)
  • Threads
  • CORE emulator
  • RTP/RTSP