US 12,248,477 B2
Method for dynamic resource scheduling of programmable dataplanes for network telemetry
Reza Rejaie, Eugene, OR (US); Ramakrishnan Durairajan, Eugene, OR (US); Christopher H. Misa, Eugene, OR (US); and Walter Willinger, Madison, NJ (US)
Assigned to University of Oregon, Eugene, OR (US); and Niksun Inc, Princeton, NJ (US)
Filed by University of Oregon, Eugene, OR (US); and Niksun Inc, Princeton, NJ (US)
Filed on Jan. 13, 2023, as Appl. No. 18/097,147.
Application 18/097,147 is a continuation in part of application No. 17/955,340, filed on Sep. 28, 2022, abandoned.
Claims priority of provisional application 63/249,798, filed on Sep. 29, 2021.
Prior Publication US 2023/0161769 A1, May 25, 2023
Int. Cl. G06F 16/2455 (2019.01); G06F 9/48 (2006.01); G06F 16/2457 (2019.01); G06F 16/2458 (2019.01); H04L 43/08 (2022.01)
CPC G06F 16/24556 (2019.01) [G06F 9/4881 (2013.01); G06F 16/24578 (2019.01); G06F 16/2462 (2019.01); H04L 43/08 (2013.01)] 4 Claims
OG exemplary drawing
 
1. A computer-implemented method for network dataplane telemetry performed by a scheduler and a runtime component connected to a programmable dataplane device that generates aggregate traffic features from raw network packets in a data network;
the method comprising:
(a) receiving by the scheduler telemetry queries, where each query of the telemetry queries includes
i) a requested network telemetry task expressed as a sequence of filter and reduce operators, and
ii) associated query result accuracy and query result latency weights;
(b) scheduling by the scheduler the telemetry queries to produce a schedule,
wherein the scheduling is performed at a start of each processing time window (called an epoch) of a sequence of schedule processing time windows,
wherein the epoch is temporally divided into a sequence of equal duration sub-epochs,
wherein the schedule assigns a subset of the telemetry queries to each sub-epoch of the sequence of equal duration sub-epochs;
(c) reprogramming by the runtime component the programmable dataplane device to execute scheduled telemetry queries assigned to each sub-epoch of the sequence of equal duration sub-epochs in accordance with the schedule,
wherein the reprogramming is performed for each sub-epoch of the sequence of equal duration sub-epochs;
(d) collecting and aggregating by the runtime component intermediate query results from the programmable dataplane device,
wherein the collecting and aggregating is performed for each sub-epoch of the sequence of equal duration sub-epochs,
wherein the intermediate query results comprise aggregate traffic features generated from raw network packets by the programmable dataplane device in response to the scheduled telemetry queries;
(e) returning by the runtime component aggregated results of completed queries,
wherein the returning is performed for each epoch of the sequence of schedule processing time windows;
wherein scheduling the telemetry queries comprises solving a multi-objective optimization problem that uses multiple objective functions weighted by the query result accuracy and query result latency weights associated with the telemetry queries.