IP Library Granted Patent US 11,895,002
Granted Patent B2
US 11,895,002 · App. 17/455,213 · Granted Feb 6, 2024

Active assurance for virtualized services

Inventors: William Wennerström (Hägersten, SE); Jorma Ikäheimo (Oulu, FI)
Assignee: Juniper Networks, Inc.
H04L43/50H04L41/0816H04L41/0853H04L41/0883H04L41/5019H04L43/55H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,895,002
App. No.
17/455,213
Granted
Feb 6, 2024
Kind
B2
Abstract

An example method includes receiving, by a computing system, a declarative testing descriptor for active testing of a virtualized service; obtaining, from an orchestration layer, metadata associated with the virtualized service, wherein the metadata specifies a unique name for a virtualized service within the namespace of a cluster managed by the orchestration layer; determining, by the computing system using the declarative testing descriptor and the metadata, an active testing configuration for an instance of the virtualized service; and starting an active test according to the active testing configuration and determining service level violations for the instance of the virtualized service based on a result of the active test.

Claims (41)

1. A method comprising:

receiving, by a computing system, data indicative of a declarative testing descriptor for active testing of a virtualized service, wherein the declarative testing descriptor comprises one or more intent-based inputs that express a desired device or control flow configuration without imperative instructions;

obtaining, from an orchestration layer, metadata associated with the virtualized service, wherein the metadata specifies a unique name for the virtualized service within a namespace of a cluster managed by the orchestration layer;

providing labels in a custom resource that defines inputs of a test agent, wherein the labels are defined as objects within the metadata;

determining, by the computing system using the declarative testing descriptor and the metadata, an active testing configuration for an instance of the virtualized service, wherein the active testing configuration includes placement of the test agent, and wherein determining the active testing configuration includes matching the test agent to the virtualized service by matching the labels against labels of objects within the cluster;

starting an active test by sending active test packets with the test agent according to the active testing configuration; and

determining service level violations for the instance of the virtualized service based on a result of the active test.

2. The method of claim 1 , wherein the active testing configuration comprises one or more of test agent IP addresses, test agent tags, service endpoints, template names and parameters.

3. The method of claim 1 , wherein starting the active test comprises providing the active testing configuration to a control center that orchestrates the active test for monitoring performance, wherein the control center instantiates the test agent and monitoring services based on the active testing configuration.

4. The method of claim 3 , wherein the control center comprises a customer controller process that listens for events defined by the custom resource from the orchestration layer, and receives the metadata in response to identifying an event by the listening.

5. The method of claim 1 , wherein the test agent comprises a virtual test agent, the method further comprising deploying the virtual test agent within the cluster to perform the active test.

6. The method of claim 1 , wherein the test agent comprises a virtual test agent, the method further comprising deploying the virtual test agent inside a sidecar container to perform the active test.

7. The method of claim 6 , wherein deploying the virtual test agent inside the sidecar container comprises using an admission webhook for deploying the virtual test agent, wherein a target pod on which the sidecar container is deployed is defined by an annotation to a pod definition.

8. The method of claim 1 , further comprising measuring, based on the active test, service performance between nodes.

9. The method of claim 1 , wherein the virtualized service comprises a first virtualized service, the method further comprising creating a second virtualized service to enable performance testing of the first virtualized service.

10. The method of claim 1 , further comprising deploying the test agent outside the cluster and using the test agent for testing outbound virtualized services.

11. The method of claim 1 , further comprising:

triggering, in response to determining the service level violations, healing operations in a network.

12. The method of claim 1 , wherein the computing system is part of an edge cloud system.

13. The method of claim 1 , wherein the virtualized service comprises a containerized service.

14. The method of claim 1 , further comprising:

receiving, from the orchestration layer, updated metadata indicating a change to a cluster associated with the virtualized service;

determining, by the computing system and in response to receiving the updated metadata, updated active testing configuration using the declarative testing descriptor and the updated metadata; and

automatically updating, by the computing system, placement of the test agent according to the updated active testing configuration.

15. The method of claim 14 ,

wherein determining updated active testing configuration comprises further matching the test agent to the virtualized service by matching the labels against labels of objects within the changed cluster.

16. A computing system comprising:

one or more processors;

a memory device coupled to the one or more processors, wherein the memory device stores instructions that, when executed by one or more processors cause the one or more processors to:

receive data indicative of a declarative testing descriptor for active testing of a virtualized service, wherein the declarative testing descriptor comprises one or more intent-based inputs that express a desired device or control flow configuration without imperative instructions;

receive, from an orchestration layer, metadata associated with the virtualized service, wherein the metadata specifies a unique name for the virtualized service within a namespace of a cluster;

provide labels in a custom resource that defines inputs of a test agent, wherein the labels are defined as objects within the metadata;

determine, using the declarative testing descriptor and the metadata, an active testing configuration for an instance of the virtualized service, wherein the active testing configuration includes placement of the test agent, and wherein to determine the active testing configuration includes matching the test agent to the virtualized service by matching the labels against labels of object within the cluster; and

start an active test by sending active test packets with the test agent according to the active testing configuration and determining service level violations for the instance of the virtualized service based on a result of the active test.

17. The computing system of claim 16 , wherein the virtualized service comprises a containerized service.

18. The computing system of claim 16 , wherein the virtualized service comprises a first virtualized service, the memory device further comprising instructions that, when executed, cause the one or more processors to create a second virtualized service to enable the active test of the first virtualized service.

19. The computing system of claim 16 , wherein the memory device further comprises instructions that cause the one or more processors to:

receive, from the orchestration layer, updated metadata indicating a change to a cluster associated with the virtualized service;

determine, in response to receiving the indication, updated active testing configuration using the declarative testing descriptor and the updated metadata; and

automatically update placement of the test agent according to the updated active testing configuration.

20. The computing system of claim 16 , wherein the memory device further comprises instructions that cause the one or more processors to measure, based on the active test, service performance between nodes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2024
From: WENNERSTRÖM, WILLIAM; IKÄHEIMO, JORMA
To: JUNIPER NETWORKS, INC.
Reel/Frame 067526/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2022
From: WENNERSTRÖM, WILLIAM; IKÄHEIMO, JORMA
To: JUNIPER NETWORKS, INC.
Reel/Frame 058891/0071 →
Continuity (3)
Provisional Application 63261943 · Sep 30, 2021
Provisional Application 63114444 · Nov 16, 2020
Related Publication 20220158926A1 · May 19, 2022