| 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 |

|
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.
|