IP Library › Granted Patent US 11,855,848
Granted Patent B2
US 11,855,848 · App. 17/459,231 · Granted Dec 26, 2023

Model-based service placement

Inventors: Gregory A. Sidebottom (Ottawa, CA); Kireeti Kompella (Los Altos, CA); Sherine El-Medani (Ottawa, CA); Wing Eng (Ithaca, NY)
Assignee: Juniper Networks, Inc.
H04L41/0896H04L41/145H04L41/5006H04L41/5054H04L41/5064
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,855,848
App. No.
17/459,231
Granted
Dec 26, 2023
Kind
B2
Abstract

An example computing device is configured to receive an instance of a customer service model representative of a plurality of customer services. Each of the plurality of customer services associated with a corresponding at least one requirement and a corresponding at least one constraint. The computing device is configured to receive an instance of a resource model representative of a plurality of resources and map the instance of the customer service model and the instance of the resource model to an internal placement model. The computing device is configured to allocate the plurality of resources to the plurality of customer services such that the at least one requirement and the at least one constraint for each of the plurality of customer services are satisfied and inverse map data indicating how the plurality of resources are allocated to a format consumable by the customer device and output the inverse mapped data.

Claims (67)

1. A method comprising:

receiving, by a computing device having one or more processors and from a first customer device, an instance of a first customer service model representative of a first plurality of customer services, each of the first plurality of customer services associated with a corresponding at least one first requirement and a corresponding at least one first constraint;

receiving, by the computing device and from the first customer device, an instance of a first resource model representative of a first plurality of resources;

mapping, by the computing device, the instance of the first customer service model and the instance of the first resource model to an internal placement model maintained by the computing device;

automatically allocating, by the computing device and using the internal placement model, the first plurality of resources to the first plurality of customer services such that the allocation of the first plurality of resources satisfies the at least one first requirement and the at least one first constraint for each of the first plurality of customer services;

generating, by the computing device and responsive to the allocating, data indicating how the first plurality of resources are allocated to the first plurality of customer services;

inverse mapping, by the computing device, the data indicating how the first plurality of resources are allocated to the first plurality of customer services to a format consumable by the first customer device;

outputting, by the computing device to the first customer device, the inverse mapped data indicating how the first plurality of resources are allocated to the first plurality of customer services;

receiving, by the computing device and from a second customer device, an instance of a second customer service model representative of a second plurality of customer services, each of the second plurality of customer services associated with a corresponding at least one second requirement and a corresponding at least one second constraint, the second customer service model being different than the first customer service model;

receiving, by the computing device and from the second customer device, an instance of a second resource model representative of a second plurality of resources, the second resource model being different than the first resource model;

mapping, by the computing device, the instance of the second customer service model and the second resource model to the internal placement model;

automatically allocating, by the computing device and using the internal placement model, the second plurality of resources to the second plurality of customer services such that the allocation of the second plurality of resources satisfies the at least one second requirement and the at least one second constraint for each of the second plurality of customer services;

generating, by the computing device and responsive to the allocating the second plurality of customer services to the second plurality of resources, data indicating how the second plurality of resources are allocated to the second plurality of customer services;

inverse mapping, by the computing device, the data indicating how the second plurality of resources are allocated to the second plurality of customer services to a format consumable by the second customer device; and

outputting, by the computing device to the second customer device, the inverse mapped data indicating how the second plurality of resources are allocated to the second plurality of customer services.

2. The method of claim 1 , wherein the first resource model comprises at least one of a network service model representative of existing placed customer services on the first plurality of resources or a network resource model representative of the first plurality of resources, wherein the first plurality of resources comprise a plurality of network resources.

3. The method of claim 2 , wherein the at least one first requirement comprises a requirement selected from a group consisting of an interface type, a bandwidth, a number of routes, and a maximum cost.

4. The method of claim 2 , wherein the at least one first constraint comprises a constraint selected from a group consisting of a same point of presence, different points of presence, a same network device, and different network devices.

5. The method of claim 2 , wherein the first plurality of resources comprises at least one of a resource selected from a group consisting of an interface having an interface type, a link, a bandwidth associated with the link, a route, a region, a point of presence, a route distinguisher, a route target, an address, a prefix, and a network device.

6. The method of claim 1 , further comprising:

receiving a service order instance, the service order instance comprising the instance of the first customer service model and the instance of the first resource model.

7. The method of claim 6 , wherein the service order instance comprises a network service order instance.

8. A computing device comprising:

one or more processors; and

a computer-readable medium having instructions stored thereon to cause the one or more processors to:

receive, from a first customer device, an instance of a first customer service model representative of a first plurality of customer services, each of the first plurality of customer services associated with a corresponding at least one first requirement and a corresponding at least one first constraint;

receive, from the first customer device, an instance of a first resource model representative of a first plurality of resources;

map the instance of the first customer service model and the instance of the first resource model to an internal placement model maintained by the computing device;

automatically allocate, using the internal placement model, the first plurality of resources to the first plurality of customer services such that the allocation of the first plurality of resources satisfies the at least one first requirement and the at least one first constraint for each of the first plurality of customer services;

generate, responsive to the allocating, data indicating how the first plurality of resources are allocated to the first plurality of customer services;

inverse map the data indicating how the first plurality of resources are allocated to the first plurality of customer services to a format consumable by the first customer device;

output, to the first customer device, the inverse mapped data indicating how the first plurality of resources are allocated to the first plurality of customer services;

receive, from a second customer device, an instance of a second customer service model representative of a second plurality of customer services, each of the second plurality of customer services associated with a corresponding at least one second requirement and a corresponding at least one second constraint, the second customer service model being different than the first customer service model;

receive, from the second customer device, an instance of a second resource model representative of a second plurality of resources, the second resource model being different than the first resource model;

map the instance of the second customer service model and the second resource model to the internal placement model;

automatically allocate, using the internal placement model, the second plurality of resources to the second plurality of customer services such that the allocation of the second plurality of resources satisfies the at least one second requirement and the at least one second constraint for each of the second plurality of customer services;

generate, responsive to the allocating the second plurality of customer services to the second plurality of resources, data indicating how the second plurality of resources are allocated to the second plurality of customer services;

inverse map the data indicating how the second plurality of resources are allocated to the second plurality of customer services to a format consumable by the second customer device; and

output, to the second customer device, the inverse mapped data indicating how the second plurality of resources are allocated to the second plurality of customer services.

9. The computing device of claim 8 , wherein the first resource model comprises at least one of a network service model representative of existing placed customer services on the first plurality of resources or a network resource model representative of the first plurality of resources, wherein the first plurality of resources comprise a plurality of network resources.

10. The computing device of claim 9 , wherein the at least one first requirement comprises a requirement selected from a group consisting of an interface type, a bandwidth, a number of routes, and a maximum cost.

11. The computing device of claim 9 , wherein the at least one first constraint comprises a constraint selected from a group consisting of a same point of presence, different points of presence, a same network device, and different network devices.

12. The computing device of claim 9 , wherein the first plurality of resources comprises at least one of a resource selected from a group consisting of an interface having an interface type, a link, a bandwidth associated with the link, a route, a region, a point of presence, a route distinguisher, a route target, an address, a prefix, and a network device.

13. The computing device of claim 8 , wherein the instructions further cause the one or more processors to:

receive a service order instance, the service order instance comprising the instance of the first customer service model and the instance of the first resource model.

14. The computing device of claim 13 , wherein the service order instance comprises a network service order instance.

15. Non-transitory computer-readable media comprising instructions for causing at least one programmable processor to:

receive, from a first customer device, an instance of a first customer service model representative of a first plurality of customer services, each of the first plurality of customer services associated with a corresponding at least one first requirement and a corresponding at least one first constraint;

receive, from the first customer device, an instance of a first resource model representative of a first plurality of resources;

map the instance of the first customer service model and the instance of the first resource model to an internal placement model;

automatically allocate, using the internal placement model, the first plurality of resources to the first plurality of customer services such that the allocation of the first plurality of resources satisfies the at least one first requirement and the at least one first constraint for each of the first plurality of customer services;

generate, responsive to the allocating, data indicating how the first plurality of resources are allocated to the first plurality of customer services;

inverse map the data indicating how the first plurality of resources are allocated to the first plurality of customer services to a format consumable by the first customer device;

output, to the first customer device, the inverse mapped data indicating how the first plurality of resources are allocated to the first plurality of customer services;

receive, from a second customer device, an instance of a second customer service model representative of a second plurality of customer services, each of the second plurality of customer services associated with a corresponding at least one second requirement and a corresponding at least one second constraint, the second customer service model being different than the first customer service model;

receive, from the second customer device, an instance of a second resource model representative of a second plurality of resources, the second resource model being different than the first resource model;

map the instance of the second customer service model and the second resource model to the internal placement model;

automatically allocate, using the internal placement model, the second plurality of resources to the second plurality of customer services such that the allocation of the second plurality of resources satisfies the at least one second requirement and the at least one second constraint for each of the second plurality of customer services;

generate, responsive to the allocating the second plurality of customer services to the second plurality of resources, data indicating how the second plurality of resources are allocated to the second plurality of customer services;

inverse map the data indicating how the second plurality of resources are allocated to the second plurality of customer services to a format consumable by the second customer device; and

output, to the second customer device, the inverse mapped data indicating how the second plurality of resources are allocated to the second plurality of customer services.

16. The non-transitory computer-readable media of claim 15 , wherein the first resource model comprises at least one of a network service model representative of existing placed customer services on the first plurality of resources or a network resource model representative of the first plurality of resources, wherein the first plurality of resources comprise a plurality of network resources.

17. The non-transitory computer-readable media of claim 16 , wherein the at least one first requirement comprises a requirement selected from a group consisting of an interface type, a bandwidth, a number of routes, and a maximum cost.

18. The non-transitory computer-readable media of claim 16 , wherein the at least one first constraint comprises a constraint selected from a group consisting of a same point of presence, different points of presence, a same network device, and different network devices.

19. The non-transitory computer-readable media of claim 16 , wherein the first plurality of resources comprises at least one of a resource selected from a group consisting of an interface having an interface type, a link, a bandwidth associated with the link, a route, a region, a point of presence, a route distinguisher, a route target, an address, a prefix, and a network device.

20. The non-transitory computer-readable media of claim 15 , wherein the instructions further cause the at least one programmable processor to:

receive a service order instance, the service order instance comprising the instance of the first customer service model and the instance of the first resource model.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Sep 17, 2024
From: SIDEBOTTOM, GREGORY A.; KOMPELLA, KIREETI; EL-MEDANI, SHERINE; ENG, WING
To: JUNIPER NETWORKS, INC.
Reel/Frame 068970/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: SIDEBOTTOM, GREGORY A.; KOMPELLA, KIREETI; EL-MEDANI, SHERINE; ENG, WING
To: JUNIPER NETWORKS, INC.
Reel/Frame 057310/0775 →
Continuity (1)
Related Publication 20230060852A1 · Mar 2, 2023