US2013268678A1PendingUtilityA1

Method and Apparatus for Facilitating Fulfillment of Requests on a Communication Network

Assignee: ROCKSTAR CONSORTIUM US LPPriority: Mar 5, 2004Filed: Jun 4, 2013Published: Oct 10, 2013
Est. expiryMar 5, 2024(expired)· nominal 20-yr term from priority
H04L 67/1029H04L 41/50H04L 67/02
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Fulfillment of web-service requests may be facilitated by intelligently load balancing the web-service requests between servers or server clusters configured to perform the requested web-service. Load balancing may be based on the type of request, target class of server, whether the request is likely to spawn any subsequent requests, relevant historical information, other requests, current and anticipated work load on the servers, the current ability of the servers to handle additional requests, the numbers type and schedule of requests in a queue waiting to be allocated to one or more of the servers, and numerous other factors that may affect the servers' ability to process the request. Requests may be classified to enable historical correlation between how servers have handled previous requests and the present request. Additionally, requests may be scheduled for future execution and monitored during execution.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 - 21 . (canceled) 
     
     
         22 . A method of serving web-service requests with a network of resources, the method comprising:
 receiving a web-service request;   predicting a respective load on the network of resources for the web-service request; and   sending the web-service request to at least one selected network resource for service based, at least in part, on the respective predicted load of the web-service request.   
     
     
         23 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web service request comprises determining a type of the request. 
     
     
         24 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web service request comprises determining a number and a type of resource required to service the web service request. 
     
     
         25 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web service request comprises predicting the respective load based, at least in part, on historical information characterizing resource usage for previous web-service requests. 
     
     
         26 . The method of  claim 25 , comprising:
 monitoring handling of current web-service requests; and   responsive to the monitoring, adding information to the historical information for use in predicting load on the network of resources for future web-service requests.   
     
     
         27 . The method of  claim 25 , wherein the historical information comprises statistical information characterizing handling of previous similar web-service requests by particular resources. 
     
     
         28 . The method of  claim 27 , wherein the statistical information is organized by category and web-service requests are classified to enable fast correlation between web-service requests and relevant statistical information. 
     
     
         29 . The method of  claim 26 , wherein the historical information comprises raw data from the monitoring. 
     
     
         30 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web-service request comprises considering at least one of number, type and schedule of web-service requests waiting for service in at least one queue. 
     
     
         31 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web-service request comprises determining an anticipated sequence of events associated with each web-service request. 
     
     
         32 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web-service request comprises determining current load on the network of resources and predicting anticipated resource requirements for other web-service requests being handled by the network of resources. 
     
     
         33 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web-service request comprises predicting load characteristics based on historical load statistics for at least one of a corresponding time of day, a corresponding day of week, a corresponding time of month, a corresponding month of year, and a corresponding holiday. 
     
     
         34 . The method of  claim 22 , wherein predicting a respective load on the network of resources for the web-service request comprises determining, based on information gathered for previous web-service requests, whether the web-service request is likely to spawn sub-requests. 
     
     
         35 . The method of  claim 34 , comprising predicting a respective load on the network of resources for each of the spawned sub-requests. 
     
     
         36 . The method of  claim 23 , comprising holding web-service requests for later sending to a selected network resource for service. 
     
     
         37 . The method of  claim 36 , wherein holding web-service requests comprises queuing web-service requests. 
     
     
         38 . The method of  claim 36 , wherein holding web-service requests comprises scheduling web-service requests for later service. 
     
     
         39 . The method of  claim 22 , wherein predicting a respective load on the network of resources for each of the web-service requests comprises predicting a processor time requirement at at least one network resource for each web-service request. 
     
     
         40 . The method of  claim 22 , wherein the network resources comprise web servers. 
     
     
         41 . The method of  claim 22 , performed at a content switch coupled to a plurality of web servers configured to service the web-service requests. 
     
     
         42 . The method of  claim 41 , wherein the plurality of web servers are configured as at least one server farm. 
     
     
         43 . The method of  claim 41 , wherein the plurality of web servers are configured as at least one server cluster. 
     
     
         44 . The method of  claim 43 , wherein the plurality of web servers are configured as multiple server clusters. 
     
     
         45 . The method of  claim 41 , performed by a plurality of content switches operating cooperatively. 
     
     
         46 . The method of  claim 45 , wherein the plurality of content switches operating cooperatively are configured in tiers. 
     
     
         47 . The method of  claim 22 , wherein predicting a respective load on the network of resources for each of the web-service requests comprises accounting for current status of network resources. 
     
     
         48 . The method of  claim 22 , wherein predicting a respective load on the network of resources for each of the web-service requests comprises accounting for anticipated out-of-service periods for network resources. 
     
     
         49 . The method of  claim 22 , comprising:
 splitting at least one web-service request into sub-requests; and   routing the sub-requests to different network resources for service.   
     
     
         50 . The method of  claim 22 , wherein sending the web-service request to at least one selected network resource for service comprises sending the web-service request to more than one server configured to cooperatively service the request. 
     
     
         51 . The method of  claim 22 , wherein sending the web-service request to at least one selected network resource for service comprises sending the web-service request to more than one server configured to sequentially service the request. 
     
     
         52 . The method of  claim 22 , wherein sending the web-service request to at least one selected network resource for service comprises sending the web-service request to more than one server configured to race to fulfill the request. 
     
     
         53 . The method of  claim 22 , wherein sending the web-service request to at least one selected network resource for service based, at least in part, on the respective predicted load of the web-service request, comprises:
 classifying the web-service request; and   sending the web-service request to at least one selected network resource selected based, at least in part, on the classification of the web-service request.   
     
     
         54 . The method of  claim 53 , wherein:
 classifying the web-service request comprises sub-classifying the web-service request; and   sending the web-service request to at least one selected network resource selected based, at least in part, on the classification of the web-service request comprises selecting the network resource based, at least in part, on the sub-classification.   
     
     
         55 . The method of  claim 22 , comprising, after receiving the web-service request and before sending the web-service request, providing a security service for the web-service request. 
     
     
         56 . The method of  claim 22 , wherein providing a security service comprises providing at least one of authentication, authorization and accounting. 
     
     
         57 . The method of  claim 22 , wherein sending the web-service request to at least one selected network resource for service comprises selecting the at least one selected network resource based, at least in part, on at least one predetermined value. 
     
     
         58 . The method of  57 , wherein the at least one predetermined value is at least one of a default value and a provisioned value. 
     
     
         59 . The method of  claim 57 , wherein the predetermined value is associated with a class of service. 
     
     
         60 . The method of  claim 57 , wherein the predetermined value is set by a management function. 
     
     
         61 . The method of  claim 22 , comprising scheduling the web-service request for service by the at least one selected network resource. 
     
     
         62 . The method of  claim 61 , comprising scheduling the web-service request for service at a future time when the web-service request does not require real-time service. 
     
     
         63 . The method of  claim 22 , comprising monitoring a status of the web-service request after it has been sent to the at least one selected network resource for service. 
     
     
         64 . The method of  claim 63 , wherein monitoring a status of the web-service request comprises monitoring status of sub-requests sent to plural network resources. 
     
     
         65 . The method of  claim 22 , comprising monitoring operational state of the at least one selected network resource. 
     
     
         66 . The method of  claim 65 , comprising re-submitting the web-service request when monitoring operational state of the at least one selected resource indicates a problem with service of the web-service request. 
     
     
         67 . The method of  claim 65 , comprising re-submitting a secondary web-service request when monitoring operational state of the at least one selected resource indicates a problem with service of the secondary web-service request. 
     
     
         68 . The method of  claim 22 , comprising providing update responses to clients requesting web-services regarding the servicing of their web-service requests. 
     
     
         69 . The method of  claim 68 , wherein the update requests are provided independently of network resources selected to service the web-requests. 
     
     
         70 . The method of  claim 22 , wherein the network of resources comprises a communication network. 
     
     
         71 . The method of  claim 70 , wherein the communication network comprises the Internet. 
     
     
         72 . The method of  claim 70 , wherein the communication network comprises a communication network other than the Internet.

Join the waitlist — get patent alerts

Track US2013268678A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.