IP Library › Granted Patent US 11,838,221
Granted Patent B2
US 11,838,221 · App. 17/574,730 · Granted Dec 5, 2023

Systems and methods for multi-cloud virtualized instance deployment and execution

Inventors: Prasad Deviprasad (Cary, NC); Hans Raj Nahata (New Providence, NJ); Fernando Oliveira (Bristol, NH); Kristen Sydney Young (Mine Hill, NJ)
Assignee: Verizon Patent and Licensing Inc.
H04L47/781G06F9/45558H04L47/788H04L47/828G06F2009/45595
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,838,221
App. No.
17/574,730
Granted
Dec 5, 2023
Kind
B2
Abstract

A system may receive a first definition for a virtualized instance of a network function. The first definition may include a first set of declarations in a first format that is different than respective formats supported by different virtualized environments. The system may select a first virtualized environment to run the virtualized instance based on requirements specified within the first definition, and may generate a second definition with a second set of declarations that map the first set of declarations from the first format to a second format supported by the first virtualized environment. The system may deploy the virtualized instance to the first virtualized environment using the second set of declarations from the second definition. Deploying the virtualized instance may include configuring its operation based on some of the second set of declarations matching a configuration format supported by the first virtualized environment.

Claims (99)

1. A device, comprising:

one or more processors configured to:

receive a first definition for a virtualized instance of a network function, wherein the first definition comprises a first set of declarations that define the virtualized instance in a first format;

determine that the first format is different from respective formats supported by a plurality of virtualized environments;

automatically select a particular virtualized environment, from the plurality of virtualized environments, to run the virtualized instance based on a comparison of resource requirements specified within the first definition with one or more available resources associated with each of the plurality of virtualized environments;

identify a second format that is supported by the particular virtualized environment, wherein the second format is different from the first format, wherein the second format includes a set of required declarations;

generate a second definition for the virtualized instance with a second set of declarations that map the first set of declarations from the first format to the second format that is supported by the particular virtualized environment, wherein generating the second definition includes:

identifying particular networking information, that is not included in the first set of declarations, and that is indicated as a required declaration of the set of required declarations of the second format, and

including the particular networking information as one or more of the second set of declarations in the second definition; and

deploy the virtualized instance to execute on a set of resources of the particular virtualized environment using the second set of declarations from the second definition, wherein deploying the virtualized instance comprises:

configuring operation of the virtualized instance based on one or more of the second set of declarations matching a configuration format supported by the particular virtualized environment.

2. The device of claim 1 , wherein selecting the particular virtualized environment comprises:

determining a set of resource requirements that are specified in the first definition for running the virtualized instance;

determining an amount of available resources associated with each virtualized environment, of the plurality of virtualized environments;

determining that the particular virtualized environment is associated with a particular amount of available resources that satisfy the set of resource requirements specified in the first definition; and

allocating the set of resources from the particular virtualized environment based on the determining that the available resources associated with the particular virtualized environment satisfies the set of resource requirements specified in the first definition.

3. The device of claim 1 , wherein the particular virtualized environment is a first virtualized environment, wherein the one or more processors are further configured to:

select a second virtualized environment from the plurality of virtualized environments to run the virtualized instance;

determine that the second virtualized environment supports a third format that is incompatible with the first format and the second format, wherein the second format is a cloud-specific format of the first virtualized environment and the third format is a cloud-specific format of the second virtualized environment;

generate a third definition for the virtualized instance with a third set of declarations that map the first set of declarations from the first format to the third format; and

deploy the virtualized instance to execute on a set of resources of the second virtualized environment using the third set of declarations from the third definition.

4. The device of claim 1 , wherein deploying the virtualized instance further comprises:

determining an application programming interface (“API”) that is defined by the particular virtualized environment;

mapping the second set of declarations to a set of calls within the API; and

issuing the set of calls to install one or more artifacts of the virtualized instance on the set of resources and to configure the one or more artifacts.

5. The device of claim 1 , wherein the particular virtualized environment is a first virtualized environment, wherein the one or more processors are further configured to:

select a second virtualized environment from the plurality of virtualized environments to run the virtualized instance;

determine that the second format is supported by the first virtualized environment and the second virtualized environment; and

deploy the virtualized instance to execute on a set of resources of the second virtualized environment using the second set of declarations from the second definition.

6. The device of claim 1 , wherein deploying the virtualized instance further comprises:

establishing network connectivity for the virtualized instance based on one or more of the second set of declarations matching a network declaration format supported by the particular virtualized environment.

7. The device of claim 1 , wherein deploying the virtualized instance further comprises:

determining that a first set of artifacts referenced in the first definition are incompatible with the particular virtualized environment;

mapping the first set of artifacts to a different second set of artifacts that are compatible with the particular virtualized environment and that provide common functionality as the first set of artifacts; and

installing the second set of artifacts to run using the set of resources.

8. A non-transitory computer-readable medium, storing a plurality of processor-executable instructions to:

receive a first definition for a virtualized instance of a network function, wherein the first definition comprises a first set of declarations that define the virtualized instance in a first format;

determine that the first format is different from respective formats supported by a plurality of virtualized environments;

select a particular virtualized environment, from the plurality of virtualized environments, to run the virtualized instance based on a comparison of resource requirements specified within the first definition with one or more available resources associated with each of the plurality of virtualized environments;

identify a second format that is supported by the particular virtualized environment, wherein the second format is different from the first format, wherein the second format includes a set of required declarations;

generate a second definition for the virtualized instance with a second set of declarations that map the first set of declarations from the first format to the second format that is supported by the particular virtualized environment, wherein generating the second definition includes:

identifying particular networking information, that is not included in the first set of declarations, and that is indicated as a required declaration of the set of required declarations of the second format, and

including the particular networking information as one or more of the second set of declarations in the second definition; and

deploy the virtualized instance to execute on a set of resources of the particular virtualized environment using the second set of declarations from the second definition, wherein deploying the virtualized instance comprises:

configuring operation of the virtualized instance based on one or more of the second set of declarations matching a configuration format supported by the particular virtualized environment.

9. The non-transitory computer-readable medium of claim 8 , wherein selecting the first virtualized environment comprises:

determining a set of resource requirements that are specified in the first definition for running the virtualized instance;

determining an amount of available resources associated with each virtualized environment, of the plurality of virtualized environments;

determining that the particular virtualized environment is associated with a particular amount of available resources that satisfy the set of resource requirements specified in the first definition; and

allocating the set of resources from the particular virtualized environment based on the determining that the available resources associated with the particular virtualized environment satisfies the set of resource requirements specified in the first definition.

10. The non-transitory computer-readable medium of claim 8 , wherein the particular virtualized environment is a first virtualized environment, wherein the plurality of processor-executable instructions further include processor-executable instructions to:

select a second virtualized environment from the plurality of virtualized environments to run the virtualized instance;

determine that the second virtualized environment supports a third format that is incompatible with the first format and the second format, wherein the second format is a cloud-specific format of the first virtualized environment and the third format is a cloud-specific format of the second virtualized environment;

generate a third definition for the virtualized instance with a third set of declarations that map the first set of declarations from the first format to the third format; and

deploy the virtualized instance to execute on a set of resources of the second virtualized environment using the third set of declarations from the third definition.

11. The non-transitory computer-readable medium of claim 8 , wherein deploying the virtualized instance further comprises:

determining an application programming interface (“API”) that is defined by the particular virtualized environment;

mapping the second set of declarations to a set of calls within the API; and

issuing the set of calls to install one or more artifacts of the virtualized instance on the set of resources and to configure the one or more artifacts.

12. The non-transitory computer-readable medium of claim 8 , wherein the particular virtualized environment is a first virtualized environment, wherein the plurality of processor-executable instructions further include processor-executable instructions to:

select a second virtualized environment from the plurality of virtualized environments to run the virtualized instance;

determine that the second format is supported by the first virtualized environment and the second virtualized environment; and

deploy the virtualized instance to execute on a set of resources of the second virtualized environment using the second set of declarations from the second definition.

13. The non-transitory computer-readable medium of claim 8 , wherein deploying the virtualized instance further comprises:

establishing network connectivity for the virtualized instance based on one or more of the second set of declarations matching a network declaration format supported by the particular virtualized environment.

14. The non-transitory computer-readable medium of claim 8 , deploying the virtualized instance further comprises:

determining that a first set of artifacts referenced in the first definition are incompatible with the particular virtualized environment;

mapping the first set of artifacts to a different second set of artifacts that are compatible with the particular virtualized environment and that provide common functionality as the first set of artifacts; and

installing the second set of artifacts to run using the set of resources.

15. A method, comprising:

receiving a first definition for a virtualized instance of a network function, wherein the first definition comprises a first set of declarations that define the virtualized instance in a first format;

determining that the first format is different from respective formats supported by a plurality of virtualized environments;

selecting a particular virtualized environment, from the plurality of virtualized environments, to run the virtualized instance based on a comparison of resource requirements specified within the first definition with one or more available resources associated with each of the plurality of virtualized environments;

identifying a second format that is supported by the particular virtualized environment, wherein the second format is different from the first format, wherein the second format includes a set of required declarations;

generating a second definition for the virtualized instance with a second set of declarations that map the first set of declarations from the first format to the second format that is supported by the particular virtualized environment, wherein generating the second definition includes:

identifying particular networking information, that is not included in the first set of declarations, and that is indicated as a required declaration of the set of required declarations of the second format, and

including the particular networking information as one or more of the second set of declarations in the second definition; and

deploying the virtualized instance to execute on a set of resources of the particular virtualized environment using the second set of declarations from the second definition, wherein deploying the virtualized instance comprises:

configuring operation of the virtualized instance based on one or more of the second set of declarations matching a configuration format supported by the particular virtualized environment.

16. The method of claim 15 , wherein selecting the first virtualized environment comprises:

determining a set of resource requirements that are specified in the first definition for running the virtualized instance;

determining an amount of available resources associated with each virtualized environment, of the plurality of virtualized environments;

determining that the particular virtualized environment is associated with a particular amount of available resources that satisfy the set of resource requirements specified in the first definition; and

allocating the set of resources from the particular virtualized environment based on the determining that the available resources associated with the particular virtualized environment satisfies the set of resource requirements specified in the first definition.

17. The method of claim 15 , wherein the particular virtualized environment is a first virtualized environment, the method further comprising:

selecting a second virtualized environment from the plurality of virtualized environments to run the virtualized instance;

determining that the second virtualized environment supports a third format that is incompatible with the first format and the second format, wherein the second format is a cloud-specific format of the first virtualized environment and the third format is a cloud-specific format of the second virtualized environment;

generating a third definition for the virtualized instance with a third set of declarations that map the first set of declarations from the first format to the third format; and

deploying the virtualized instance to execute on a set of resources of the second virtualized environment using the third set of declarations from the third definition.

18. The method of claim 15 , wherein deploying the virtualized instance further comprises:

determining an application programming interface (“API”) that is defined by the particular virtualized environment;

mapping the second set of declarations to a set of calls within the API; and

issuing the set of calls to install one or more artifacts of the virtualized instance on the set of resources and to configure the one or more artifacts.

19. The method of claim 15 , wherein the particular virtualized environment is a first virtualized environment, the method further comprising:

selecting a second virtualized environment from the plurality of virtualized environments to run the virtualized instance;

determining that the second format is supported by the first virtualized environment and the second virtualized environment; and

deploying the virtualized instance to execute on a set of resources of the second virtualized environment using the second set of declarations from the second definition.

20. The method of claim 15 , wherein deploying the virtualized instance further comprises:

establishing network connectivity for the virtualized instance based on one or more of the second set of declarations matching a network declaration format supported by the particular virtualized environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2022
From: DEVIPRASAD, PRASAD; NAHATA, HANS RAJ; OLIVEIRA, FERNANDO; YOUNG, KRISTEN SYDNEY
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 058641/0032 →
Continuity (1)
Related Publication 20230224257A1 · Jul 13, 2023