IP Library › Granted Patent US 11,736,559
Granted Patent B2
US 11,736,559 · App. 17/394,785 · Granted Aug 22, 2023

Providing a set of application slices within an application environment

Inventors: Raj Nair (Lexington, MA); Prabhudev Navali (Westford, MA); Sudhir Halbhavi (Bangalore, IN); Chin-Cheng Wu (Carlisle, MA)
Assignee: Avesha, Inc.
H04L67/1001G06N20/00H04L41/0816H04L47/20H04L67/02H04L67/60H04N21/2187H04N21/42203H04N21/4312H04N21/4334H04N21/466H04N21/47217
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,736,559
App. No.
17/394,785
Filed
Aug 5, 2021
Granted
Aug 22, 2023
Kind
B2
Art Unit
2455
USPC
709/223
Abstract

Techniques manage cluster resources within an application environment. The techniques involve identifying a group of cluster resources from a plurality of cluster resources of the application environment, the plurality of cluster resources being constructed and arranged to provide a plurality of services. The techniques further involve forming an application slice having the group of cluster resources. The techniques further involve deploying the application slice to provide services. Certain techniques provide a platform that allows operators to build application slices (or application overlays) that are a way of grouping application pods (or containers) based on one or more organizing principles such as velocity of deployment, security, governance, etc.

Claims (77)

1. A method of managing cluster resources within an application environment, the method comprising:

identifying a group of cluster resources from a plurality of cluster resources of the application environment, the plurality of cluster resources being constructed and arranged to provide a plurality of services;

forming an application slice having the group of cluster resources; and

deploying the application slice to provide services,

wherein deploying the application slice to provide the services includes, after forming the application slice, deploying application services on to the application slice,

wherein deploying the application slice to provide the services further includes providing a slice namespace for application services deployed on the slice,

and wherein the slice namespace provides slice-specific namespace associations for all services on the application slice to be associated with, and the services registered with the application slice namespace are looked up by any of the services on the application slice.

2. The method as in claim 1 wherein forming the application slice includes:

providing respective applications specific overlay network components at the cluster resources of the group to provide network connectivity between the cluster resources of the group.

3. The method as in claim 2 wherein the group of cluster resources includes first cluster resources that provide a first service and second cluster resources that provide a second service that is different from the first service; and

wherein forming the application slice further includes:

configuring the respective applications specific overlay network components at the cluster resources of the group to provide inter-cluster communications among the first cluster resources and the second cluster resources over a private address space to provide traffic isolation and control.

4. The method as in claim 2 wherein the group of cluster resources includes first cluster resources that provide a same service; and

wherein forming the application slice further includes:

configuring the respective applications specific overlay network components at the cluster resources of the group to provide inter-cluster communications among the first cluster resources that provide the same service.

5. The method as in claim 2 wherein the group of cluster resources includes a first cluster resource that provides a first service and a second cluster resource that provides a second service that is different from the first service; and

wherein forming the application slice further includes:

configuring the respective applications specific overlay network components at the cluster resources of the group to provide inter-cluster communications between the first cluster resource and the second cluster resource.

6. The method as in claim 1 wherein identifying the group of cluster resources from the plurality of cluster resources of the application environment includes:

receiving a set of organization parameters for the application, and

based on the set of organization parameters for the application, choosing the group of cluster resources from the plurality of cluster resources of the application environment.

7. The method as in claim 6 wherein choosing the group of cluster resources from the plurality of cluster resources of the application environment includes:

selecting the cluster resources among the plurality of cluster resources of the application environment based on a set of quality of service criteria.

8. The method as in claim 6 wherein choosing the group of cluster resources from the plurality of cluster resources of the application environment includes:

selecting the cluster resources among the plurality of cluster resources of the application environment based on a set of velocity of deployment criteria, a set of security criteria, and a set of governance criteria.

9. The method as in claim 1 , further comprising:

identifying another group of cluster resources from the plurality of cluster resources of the application environment;

forming another application slice having the other group of cluster resources; and

deploying the other application slice to provide other services.

10. The method as in claim 9 wherein the application slice and the other application slice belong to an application mesh which overlays a microservices mesh; and

wherein the method further comprises:

providing a web interface which supports user input/output to impose control over at least portions of both the application mesh and the microservices mesh.

11. The method as in claim 10 wherein the group of cluster resources and the other group of cluster resources have at least one cluster resource in common.

12. The method as in claim 10 wherein the group of cluster resources has at least one cluster resource that is not in common with the other group of cluster resources.

13. The method as in claim 10 wherein the group of cluster resources and the other group of cluster resources have at least one cluster resource in common; and

wherein the group of cluster resources has at least one cluster resource that is not in common with the other group of cluster resources.

14. The method as in claim 1 wherein deploying the application slice to provide the services further includes:

performing a service discovery operation in the slice namespace to enable service-to-service communications among the deployed application services.

15. The method as in claim 1 wherein deploying the application slice to provide the services includes:

performing a single sign-on authentication operation with a slice controller to authenticate a service request source constructed and arranged to provide the service requests to the application slice.

16. The method as in claim 15 wherein deploying the application slice to provide the services further includes:

after performing a successful single sign-on authentication operation with the slice controller, applying a global set of security policies that imposes federated security over the application slice during application runtime.

17. The method as in claim 1 wherein forming the application slice includes:

configuring respective slice control components for the cluster resources of the group, the respective slice control components being constructed and arranged to manage a life-cycle of the application slice.

18. Electronic circuitry, comprising:

memory; and

control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to perform a method of:

identifying a group of cluster resources from a plurality of cluster resources of an application environment, the plurality of cluster resources being constructed and arranged to provide a plurality of services,

forming an application slice having the group of cluster resources, and

deploying the application slice to provide services,

wherein deploying the application slice to provide the services includes, after forming the application slice, deploying application services on to the application slice,

wherein deploying the application slice to provide the services further includes providing a slice namespace for application services deployed on the slice,

and wherein the slice namespace provides slice-specific namespace associations for all services on the application slice to be associated with, and the services registered with the application slice namespace are looked up by any of the services on the application slice.

19. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage cluster resources within an application environment; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

identifying a group of cluster resources from a plurality of cluster resources of the application environment, the plurality of cluster resources being constructed and arranged to provide a plurality of services;

forming an application slice having the group of cluster resources; and

deploying the application slice to provide services,

wherein deploying the application slice to provide the services includes, after forming the application slice, deploying application services on to the application slice,

wherein deploying the application slice to provide the services further includes providing a slice namespace for application services deployed on the slice,

and wherein the slice namespace provides slice-specific namespace associations for all services on the application slice to be associated with, and the services registered with the application slice namespace are looked up by any of the services on the application slice.

20. The method as in claim 1 wherein the cluster resources include application pods, and wherein the application slices are application overlays that group application pods based on one or more organizing principles.

21. The method as in claim 20 wherein the organizing principles are selected from at least velocity of deployment, security, and governance.

22. The method as in claim 1 , wherein slice operators in slice-associated clusters coordinate to normalize the slice namespace across multiple clusters, and also monitor and enforce the slice namespace associations within the application slice, such that any application or service deployed on the slice is in one of the associated slice namespaces of the slice, and the application or service is not visible or accessible outside of the slice unless one or more exception rules is applied.

23. Electronic circuitry as in claim 18 wherein forming the application slice includes:

providing respective applications specific overlay network components at the cluster resources of the group to provide network connectivity between the cluster resources of the group.

24. Electronic circuitry as in claim 23 wherein the group of cluster resources includes first cluster resources that provide a first service and second cluster resources that provide a second service that is different from the first service; and

wherein forming the application slice further includes:

configuring the respective applications specific overlay network components at the cluster resources of the group to provide inter-cluster communications among the first cluster resources and the second cluster resources over a private address space to provide traffic isolation and control.

25. Electronic circuitry as in claim 23 wherein the group of cluster resources includes first cluster resources that provide a same service; and

wherein forming the application slice further includes:

configuring the respective applications specific overlay network components at the cluster resources of the group to provide inter-cluster communications among the first cluster resources that provide the same service.

26. Electronic circuitry as in claim 23 wherein the group of cluster resources includes a first cluster resource that provides a first service and a second cluster resource that provides a second service that is different from the first service; and

wherein forming the application slice further includes:

configuring the respective applications specific overlay network components at the cluster resources of the group to provide inter-cluster communications between the first cluster resource and the second cluster resource.

27. Electronic circuitry as in claim 18 wherein identifying the group of cluster resources from the plurality of cluster resources of the application environment includes:

receiving a set of organization parameters for the application, and

based on the set of organization parameters for the application, choosing the group of cluster resources from the plurality of cluster resources of the application environment.

Assignments (2)
SECURITY INTEREST Recorded Jan 9, 2025
From: AVESHA, INC.
To: EASTWARD FUND MANAGEMENT, LLC
Reel/Frame 069807/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: NAIR, RAJ; NAVALI, PRABHUDEV; HALBHAVI, SUDHIR; WU, CHIN-CHENG
To: AVESHA, INC.
Reel/Frame 057427/0219 →
Continuity (3)
Provisional Application 63183244 · May 3, 2021
Provisional Application 63061364 · Aug 5, 2020
Related Publication 20220046084A1 · Feb 10, 2022
Cited By (3)
US 12,518,161 US 12,634,232 US 12,652,269