Policy-based session establishment and transfer in a virtualized/cloud environment
First Claim
Patent Images
1. A method comprising:
- determining, periodically and by a device, a current utilization of one or more cloud resources,the current utilization of the one or more cloud resources including at least one of;
CPU utilization, orcompute utilization, andthe current utilization of the one or more cloud resources being determined more frequently during a first period than a second period,the first period being associated with a higher demand for the one or more cloud resources than the second period;
receiving, by the device, a request for a service from a user device,the service to be provided, by the one or more cloud resources, during a particular period of time;
obtaining, by the device, subscriber profile information associated with the user device based on the request,the subscriber profile information identifying a subscription level associated with the user device;
determining, by the device, that the request is for a particular type of service;
determining, by the device, a priority class associated with the request based on the subscriber profile information and based on the particular type of the service;
determining, by the device and based on historical data associated with the particular period of time, an expected utilization of cloud resources during the particular period of time,the expected utilization of cloud resources including;
an expected quantity of sessions,an expected quantity of sessions per service class, andan expected duration of expected sessions, andthe particular period of time including at least one of;
a time of day,a day of a week, ora time period during a day;
determining, by the device and based on the priority class and the expected utilization of cloud resources, quality of service requirements associated with providing the service during the particular period of time;
determining, by the device, an allocation of the one or more cloud resources required for providing the service based on load balancing information and the expected utilization of cloud resources;
generating, by the device and based on determining the expected utilization of cloud resources, a service graph associated with an available set of cloud resources for providing the service during the particular period of time,the service graph representing an application flow within the available set of cloud resources for providing the service during the particular period of time;
determining, by the device, that the available set of cloud resources is insufficient for the quality of service requirements based on the service graph and based on the allocation of the one or more cloud resources required for providing the service;
determining, by the device and based on the quality of service requirements, a location from which to launch the service,the location being geographically closer to the user device than the one or more cloud resources;
starting, by the device, based on determining that the available set of cloud resources is insufficient, and based on the location, a new instance of cloud resources for providing the service, to the user device, during the particular period of time,the new instance of cloud resources being geographically closer to the user device than the one or more cloud resources; and
performing, by the device, a traffic steering function to allocate the new instance of cloud resources to provide the service, to the user device, during the particular period of time,the traffic steering function being implemented dynamically such that traffic is re-routed to one or more other cloud resources while a session of the service is ongoing based on a problem occurring at the new instance of cloud resources.
1 Assignment
0 Petitions
Accused Products
Abstract
A device may receive a request for a particular service from a user device. The device may determine a priority class associated with the service. The device may determine, based on the priority class, quality of service requirements associated with providing the service. The device may determine, based on the quality of service requirements, one or more cloud resources for providing the service to a user of the user device. The device may allocate the one or more cloud resources to provide the service to the user.
15 Citations
20 Claims
-
1. A method comprising:
-
determining, periodically and by a device, a current utilization of one or more cloud resources, the current utilization of the one or more cloud resources including at least one of; CPU utilization, or compute utilization, and the current utilization of the one or more cloud resources being determined more frequently during a first period than a second period, the first period being associated with a higher demand for the one or more cloud resources than the second period; receiving, by the device, a request for a service from a user device, the service to be provided, by the one or more cloud resources, during a particular period of time; obtaining, by the device, subscriber profile information associated with the user device based on the request, the subscriber profile information identifying a subscription level associated with the user device; determining, by the device, that the request is for a particular type of service; determining, by the device, a priority class associated with the request based on the subscriber profile information and based on the particular type of the service; determining, by the device and based on historical data associated with the particular period of time, an expected utilization of cloud resources during the particular period of time, the expected utilization of cloud resources including; an expected quantity of sessions, an expected quantity of sessions per service class, and an expected duration of expected sessions, and the particular period of time including at least one of; a time of day, a day of a week, or a time period during a day; determining, by the device and based on the priority class and the expected utilization of cloud resources, quality of service requirements associated with providing the service during the particular period of time; determining, by the device, an allocation of the one or more cloud resources required for providing the service based on load balancing information and the expected utilization of cloud resources; generating, by the device and based on determining the expected utilization of cloud resources, a service graph associated with an available set of cloud resources for providing the service during the particular period of time, the service graph representing an application flow within the available set of cloud resources for providing the service during the particular period of time; determining, by the device, that the available set of cloud resources is insufficient for the quality of service requirements based on the service graph and based on the allocation of the one or more cloud resources required for providing the service; determining, by the device and based on the quality of service requirements, a location from which to launch the service, the location being geographically closer to the user device than the one or more cloud resources; starting, by the device, based on determining that the available set of cloud resources is insufficient, and based on the location, a new instance of cloud resources for providing the service, to the user device, during the particular period of time, the new instance of cloud resources being geographically closer to the user device than the one or more cloud resources; and performing, by the device, a traffic steering function to allocate the new instance of cloud resources to provide the service, to the user device, during the particular period of time, the traffic steering function being implemented dynamically such that traffic is re-routed to one or more other cloud resources while a session of the service is ongoing based on a problem occurring at the new instance of cloud resources. - View Dependent Claims (2, 3, 4, 5, 15, 19)
-
-
6. A device comprising:
a processor to; determine, periodically, a current utilization of cloud resources, the current utilization of the cloud resources including at least one of; CPU utilization, or compute utilization, and the current utilization of the cloud resources being determined more frequently during a first period than a second period, the first period being associated with a higher demand for the cloud resources than the second period; receive a request for a service from a user device, the service to be provided, by the cloud resources, during a particular period of time; obtain subscriber profile information associated with the user device based on the request, the subscriber profile information identifying a subscription level associated with the user device; determine that the request is for a particular type of service; determine a priority class associated with the request based on the subscriber profile information and based on the particular type of the service; determine, based on historical data associated with the particular period of time, an expected utilization of cloud resources during the particular period of time, the expected utilization of cloud resources including; an expected quantity of sessions, an expected quantity of sessions per service class, and an expected duration of expected sessions, and the particular period of time including at least one of; a time of day, a day of a week, or a time period during a day; determine, based on the priority class and the expected utilization of cloud resources, quality of service requirements associated with providing the service during the particular period of time; determine, based on load balancing information and the expected utilization of cloud resources, an allocation of the one or more cloud resources required for providing the service; generate, based on determining the expected utilization of cloud resources, a service graph associated with a pool of available cloud resources for providing the service during the particular period of time, the service graph representing an application flow within the pool of available cloud resources for providing the service during the particular period of time; determine, based on the service graph and based on the allocation of the one or more cloud resources required for providing the service, that the pool of available cloud resources are insufficient for the quality of service requirements; determine, based on the quality of service requirements, a location from which to launch the service, the location being geographically closer to the user device than the one or more cloud resources; start, based on determining that the pool of available cloud resources are insufficient and based on the location, a new instance of cloud resources for providing the service, to the user device, during the particular period of time, the new instance of cloud resources being geographically closer to the user device than the cloud resources; and perform a traffic steering function to allocate the new instance of cloud resources to provide the service, to the user device, during the particular period of time, the traffic steering function being implemented dynamically such that traffic is re-routed to one or more other instances of cloud resources while a session of the service is ongoing based on a problem occurring at the new instance of cloud resources. - View Dependent Claims (7, 8, 9, 16, 17)
-
10. A non-transitory computer readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by a processor, cause the processor to; determine, periodically, a current utilization of a pool of cloud resources, the current utilization of the pool of cloud resources including at least one of; CPU utilization, or compute utilization, the current utilization of the pool of cloud resources being determined more frequently during a first period than a second period, the first period being associated with a higher demand for the pool of cloud resources than the second period; receive a request for a service from a user device, the service to be provided, by the pool of cloud resources, during a particular period of time; obtain subscriber profile information associated with the user device based on the request, the subscriber profile information identifying a subscription level associated with the user device; determine that the request is for a particular type of service; determine a priority class associated with the request based on the subscriber profile information and based on the particular type of service; determine, based on historical data associated with the particular period of time, an expected utilization of cloud resources during the particular period of time, the expected utilization of cloud resources including; an expected quantity of sessions, an expected quantity of sessions per service class, and an expected duration of expected sessions, and the particular period of time including at least one of; a time of day, a day of a week, or a time period during a day; determine, based on the priority class and the expected utilization of cloud resources, quality of service requirements associated with providing the service during the particular period of time; determine an allocation of cloud resources required for providing the service based on load balancing information and the expected utilization of cloud resources; generate, based on determining the expected utilization of cloud resources, a service graph associated with an available set of cloud resources for providing the service during the particular period of time, the service graph representing an application flow within the available set of cloud resources for providing the service during the particular period of time; determine that the available set of cloud resources is insufficient for the quality of service requirements based on the service graph and based on the allocation of cloud resources required for providing the service; determine, based on the quality of service requirements, a location from which to launch the service, the location being geographically closer to the user device than the one or more cloud resources; start, based on determining that the available set of cloud resources is insufficient, and based on the location, a new instance of cloud resources for providing the service, to the user device, during the particular period of time, the new instance of cloud resources being geographically closer to the user device than the pool of cloud resources; and perform a traffic steering function to allocate the new instance of cloud resources to provide the service, to the user device, during the particular period of time, the traffic steering function being implemented dynamically such that traffic is re-routed to one or more other cloud resources while a session of the service is ongoing based on a problem occurring at the new instance of cloud resources. - View Dependent Claims (11, 12, 13, 14, 18, 20)
Specification