US 11,855,848 B2
Model-based service placement
Gregory A. Sidebottom, Ottawa (CA); Kireeti Kompella, Los Altos, CA (US); Sherine El-Medani, Ottawa (CA); and Wing Eng, Ithaca, NY (US)
Assigned to Juniper Networks, Inc., Sunnyvale, CA (US)
Filed by Juniper Networks, Inc., Sunnyvale, CA (US)
Filed on Aug. 27, 2021, as Appl. No. 17/459,231.
Prior Publication US 2023/0060852 A1, Mar. 2, 2023
Int. Cl. H04L 41/0896 (2022.01); H04L 41/14 (2022.01); H04L 41/5006 (2022.01); H04L 41/5054 (2022.01); H04L 41/5061 (2022.01)
CPC H04L 41/0896 (2013.01) [H04L 41/145 (2013.01); H04L 41/5006 (2013.01); H04L 41/5054 (2013.01); H04L 41/5064 (2013.01)] 20 Claims
OG exemplary drawing
 
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.