Distributed api proxy system and apparatus and method for managing traffic in such system
US-2015350092-A1 · Dec 3, 2015 · US
US9712448B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9712448-B2 |
| Application number | US-201213430948-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 27, 2012 |
| Priority date | Mar 30, 2011 |
| Publication date | Jul 18, 2017 |
| Grant date | Jul 18, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A proxy server and a hierarchical network system and a distributed workload management method. According to one embodiment of this disclosure, the proxy server includes: a rate controller configured to, based on measured request-related information and service quality parameters relative to service levels of requests, periodically determine a dispatch rate for requests of each service level, wherein the sum of the dispatch rate for respective service levels is less than or equal to a predetermined rate; and a request dispatcher configured to dispatch the requests of the corresponding service level in accordance with the dispatch rate determined by the rate controller. One aspect of the disclosure realizes a low overhead, highly scalable, simple and efficient workload management system to achieve QoS assurance and overload protection.
Opening claim text (preview).
What is claimed is: 1. A method for distributed workload management in hierarchical network system, comprising: maintaining, by a proxy server, a plurality of queues each corresponding to a different service level; periodically determining, by the proxy server, a dispatch rate for requests for a current processing cycle of each of the service levels based on measured request-related information and service quality parameters relative to service levels of requests, wherein the measured request-related information is measured by the proxy server for a previous processing cycle, the periodically determining comprising: associating, by the proxy server, the measured request-related information with the service quality parameters for the respective service levels according to a utility function, wherein the utility function represents a loss due to unsatisfied target response times of the respective service levels and is specified in terms of target response time and an importance of the requests; calculating, by the proxy server, the dispatch rate for the corresponding service level by minimizing the utility function, wherein a sum of said dispatch rate for respective service levels is less than or equal to a predetermined rate specifying a maximum admitted rate to the proxy server; and dispatching, by the proxy server, the requests of said corresponding service level in accordance with said determined dispatch rate to the plurality of application servers. 2. The method according to claim 1 , wherein said measured request-related information is a current request response time, and said service quality parameters comprise a target response time and an importance of said requests of the corresponding service level. 3. The method according to claim 1 , wherein periodically determining a dispatch rate for requests of each service level comprises: correlating said measured request-related information and said service quality parameters relative to service levels of requests by using a utility function; correlating the measured request-related information and the dispatch rate through a queuing model. 4. The method according to claim 1 , wherein said predetermined rate is determined by an application server serving for a proxy server in said hierarchical network system, independent of said information about said proxy server. 5. The method according to claim 1 , further comprising: receiving requests from clients, and classifying said requests into one or more service levels; and maintaining one or more request queues, wherein different queues correspond to different service levels of requests. 6. The method according to claim 1 , wherein said predetermined rate is obtained through: periodically detecting a current usage of a resource of said application server in said hierarchical network system and a current request arrival rate; calculating a maximum allowable rate of requests for the next management cycle based on said detected current resource usage, said current request arrival rate and a target usage of the resource; and allocating said maximum allowable rate to each proxy server in said hierarchical network system as its predetermined rate based on a predetermined policy. 7. The method according to claim 6 , wherein said predetermined policy is to evenly allocate said maximum allowed rate to said proxy server. 8. The method according to claim 6 , wherein said resources comprises at least one of CPU usage, memory usage, I/O, and bandwidth. 9. The method according to claim 8 , wherein when said resource is CPU usage, said maximum rate calculator adopts a proportional-integral controller technology to calculate said maximum allowed rate. 10. The method according to claim 6 , wherein the calculation period of said proxy server is in synchronization with said management cycle of the application server.
Traffic shaping · CPC title
Electricity · mapped topic
for supporting services specification, e.g. SLA · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.