← Back to work

Nokia Bell Labs
Nokia Bell N.V. · Network Infrastructure Division
Software Engineering Intern
Jul 2024 – Aug 2024  ·  Antwerp, Belgium
Nokia Bell Labs
Industry Software
broadband network topologyOLTONTONTONTtopology inferencedebug monitor[OK] fiber link stable[OK] ONT-3 auth[WARN] pkt loss 2.1%[OK] ONT-1 sync[ERR] timeout ch-7[OK] retransmit ok[OK] signal -18dBm[WARN] jitter 4ms[OK] handshake done3 ONTs online2 warnings

Context

Within Nokia's Network Infrastructure division, teams manage large fleets of Optical Network Units — the hardware endpoints of fibre broadband networks. Two problems sat behind the work. Fleets are large enough that responding to faults by hand does not scale, so the question is how a system can decide for itself what corrective action a unit needs. And the physical topology connecting those units is often not documented reliably, which makes diagnosis harder: you cannot tell whether ten units failed independently or whether one upstream component took them all down.

What I did

  • Built an intent-driven microservices system in Python: rather than scripting responses to individual faults, the system evaluated live telemetry against declarative statements of how a unit ought to behave, and dispatched corrective actions where observed state diverged.
  • Polled unit telemetry through REST APIs and decoupled ingestion from action execution using pub/sub messaging, so that analysis and remediation could scale and fail independently.
  • Inferred undocumented network topology from connectivity data alone — modelling each unit's behaviour over time as a vector and applying hierarchical clustering, on the premise that units sharing an upstream component fail and recover together. Validated on synthetic fleets of over a hundred units.
  • Explored predictive approaches for identifying fault relationships between upstream multiplexer components in complex topologies.

What I took from it

The topology work rested on a small assumption that turned out to carry a lot: units connected to the same upstream hardware share a failure signature over time. Nothing about that requires knowing the network — the correlation structure in the telemetry is already a description of the topology, if you read it as one. Much the same idea as tracking, where identity is recovered not from any single frame but from how observations move together.

Tech stack

Python Flask REST APIs Pub/Sub Messaging Hierarchical Clustering scikit-learn NumPy Bash