System and method for providing throttling, prioritization and traffic shaping during request processing via a budget service
First Claim
1. A method for providing traffic throttling via a budget service, said method comprising:
- receiving, at a gateway, one or more incoming requests from an application associated with a service provider, the request to be processed by a network node of said gateway;
determining, by said gateway, a budget for the application, wherein the budget for the application reflects current request rate being sent by the application based on traffic history;
determining, by said gateway, a budget for the service provider, wherein the budget for the service provider reflects current request rate being sent by the service provider based on traffic history;
determining a budget for a network node in the gateway, wherein the budget for the network node reflects current request rate being processed by the network node based on traffic history; and
throttling the incoming requests at the gateway according to each of;
the budget for the application, the budget for the service provider and the budget for the network node;
wherein throttling the incoming requests according to the budget for the application and the budget for the service provider further includes;
determining whether the budget for the application and the budget for the service provider are available; and
if available, allowing the request to be processed and decreasing the budget for the application and the budget for the service provider accordingly, otherwise denying the request from being processed;
wherein throttling the incoming requests according to the budget for the network node further includes;
determining a priority for each of said incoming requests, the priority being based on a service level agreement;
processing said incoming requests if the budget for the network node in the gateway is over a guarantee threshold;
rejecting the incoming request of low priority if the budget for the network node in the gateway is under said guarantee threshold; and
processing the incoming requests of high priority unless the budget for the network node in the gateway is below an available limit.
1 Assignment
0 Petitions
Accused Products
Abstract
A network gateway application is described that provides throttling, prioritization and traffic shaping for incoming requests from client applications. A request is received by a plug-in manager component of the gateway application. The plug-in manager can then invoke the budget service in order to determine a current available budget for the request. The budget can be computed according to a service level agreement for the service provider, application or network node. The requests can be of high or low priority. If the budget is greater than a specified priority threshold value, the low priority requests can be denied, while the high priority requests can be processed as long as there is some available budget left. If the budget for the request has reached the restricted level, the request can be denied and optionally enqueued to a traffic shaping queue to be processed at a later time.
44 Citations
19 Claims
-
1. A method for providing traffic throttling via a budget service, said method comprising:
-
receiving, at a gateway, one or more incoming requests from an application associated with a service provider, the request to be processed by a network node of said gateway; determining, by said gateway, a budget for the application, wherein the budget for the application reflects current request rate being sent by the application based on traffic history; determining, by said gateway, a budget for the service provider, wherein the budget for the service provider reflects current request rate being sent by the service provider based on traffic history; determining a budget for a network node in the gateway, wherein the budget for the network node reflects current request rate being processed by the network node based on traffic history; and throttling the incoming requests at the gateway according to each of;
the budget for the application, the budget for the service provider and the budget for the network node;wherein throttling the incoming requests according to the budget for the application and the budget for the service provider further includes; determining whether the budget for the application and the budget for the service provider are available; and if available, allowing the request to be processed and decreasing the budget for the application and the budget for the service provider accordingly, otherwise denying the request from being processed; wherein throttling the incoming requests according to the budget for the network node further includes; determining a priority for each of said incoming requests, the priority being based on a service level agreement; processing said incoming requests if the budget for the network node in the gateway is over a guarantee threshold; rejecting the incoming request of low priority if the budget for the network node in the gateway is under said guarantee threshold; and processing the incoming requests of high priority unless the budget for the network node in the gateway is below an available limit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system that provides a network gateway for throttling request traffic, said system comprising:
-
a client application that initiates a request and transmits the request to the network gateway, said request to be processed by a network node in said gateway, wherein the client application is associated with a service provider; a plug-in manager executing on a computing device that receives the request and selects an appropriate plug-in for said request; and a budget service executing on said computing device that is invoked by the plug-in manager wherein the budget service returns a budget for the client application, a budget for the service provider, and a budget for the network node to the plug-in manager in response to the invocation, wherein the plug-in manager throttles the request based on each of;
the budget for the client application, the budget for the service provider and the budget for the network node returned by the budget service;wherein throttling the incoming requests according to the budget for the client application and the budget for the service provider further includes; determining whether the budget for the application and the budget for the service provider are available; and if available, allowing the request to be processed and decreasing the budget for the application and the budget for the service provider accordingly, otherwise denying the request from being processed; and wherein throttling the incoming requests according to the budget for the network node further includes; determining a priority for each of said incoming requests, the priority being based on a service level agreement; processing said incoming requests if the budget for the network node in the gateway is over a guarantee threshold; rejecting the incoming request of low priority if the budget for the network node in the gateway is under said guarantee threshold; and processing the incoming requests of high priority unless the budget for the network node in the gateway is below an available limit. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium storing one or more sequences of instructions for throttling request traffic, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
receiving, at a gateway, one or more incoming requests from an application associated with a service provider, the request to be processed by a network node of said gateway; determining, by said gateway, a budget for the application, wherein the budget for the application reflects current request rate being sent by the application based on traffic history; determining, by said gateway, a budget for the service provider, wherein the budget for the service provider reflects current request rate being sent by the service provider based on traffic history; determining a budget for a network node in the gateway, wherein the budget for the network node reflects current request rate being processed by the network node based on traffic history; and throttling the incoming requests at the gateway according to each of;
the budget for the application, the budget for the service provider and the budget for the network node;wherein throttling the incoming requests according to the budget for the application and the budget for the service provider further includes; determining whether the budget for the application and the budget for the service provider are available; and if available, allowing the request to be processed and decreasing the budget for the application and the budget for the service provider accordingly, otherwise denying the request from being processed; wherein throttling the incoming requests according to the budget for the network node further includes; determining a priority for each of said incoming requests, the priority being based on a service level agreement; processing said incoming requests if the budget for the network node in the gateway is over a guarantee threshold; rejecting the incoming request of low priority if the budget for the network node in the gateway is under said guarantee threshold; and processing the incoming requests of high priority unless the budget for the network node in the gateway is below an available limit.
-
Specification