Patentable/Patents/US-9270745
US-9270745

Method and system for client-side scaling of web server farm architectures in a cloud data center

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A novel web server farm architecture is provided that combines various cloud components and innovatively maximizes their strengths to achieve a scalable, adaptable, load balanced computing architecture. In one embodiment, this architecture includes a storage host for static content hosting, a cluster of virtual machines (operating as web servers) for dynamic content hosting, and a dedicated application engine for monitoring the load of the virtual machines. A browser or end-application user of a web application is first routed to a static anchor page hosted on the storage host. The browser is subsequently presented with a list of virtual machines and data corresponding to their respective current loads. To access dynamic content, the browser is able to select from the virtual machines based in large part on the reported current loads of the virtual machines. Once a virtual machine is selected, the browser may communicate directly with the selected web server.

Patent Claims
21 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for provisioning data in a computing system, the computer-implemented method executed by one or more processors and comprising: receiving, at a static host, load information about a plurality of web servers from an application engine monitoring respective loads of the plurality of web servers such that the load information is updated at predetermined intervals; receiving, at the static host, a first request for content from a web application hosted by the plurality of web servers, the first request being received from a client device; sending the load information from the static host to the client device; and sending computer-readable instructions from the static host to the client device, the computer-readable instructions comprising one or more javascript files and being executed by the client device to perform operations that render the computing system scalable and load balanced, the operations comprising: selecting a target web server from the plurality of web servers based on the load information received from the static host, transmitting a second request for the content to the target web server, and receiving the content from the target web server, wherein the load information comprises: a representation of one or more of an available bandwidth and a bandwidth consumed with respect to a total estimated bandwidth available for one or more web servers of the plurality of web servers, and an estimation based on a latency for a data communication performed with the one or more web servers of the plurality of web servers.

2

2. The computer-implemented method of claim 1 , wherein the content comprises dynamic content, and the computer-implemented method further comprises providing static content to the client device.

3

3. The computer-implemented method of claim 1 , further comprising providing a web server load file to the client device, wherein the web server load file includes addresses of the plurality of web servers and includes the load information.

4

4. The computer-implemented method of claim 1 , wherein the available bandwidth and the bandwidth consumed are available to a network connection for the one or more web servers of the plurality of web servers, the load information further comprising total, available, and consumed memory and processing capabilities of the one or more web servers of the plurality of web servers.

5

5. The computer-implemented method of claim 1 , wherein the target web server is automatically selected by the client device based on least estimated loads or least proportional loads of the plurality of web servers.

6

6. The computer-implemented method of claim 1 , wherein the target web server comprises a proxy web server that receives the second request from the client device and provides the content to the client device.

7

7. The computer-implemented method of claim 6 , wherein the proxy web server filters the second request according to predetermined rules and repackages the content.

8

8. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for provisioning data in a computing system, the operations comprising: receiving, at a static host, load information about a plurality of web servers from an application engine monitoring respective loads of the plurality of web servers such that the load information is updated at predetermined intervals; receiving, at the static host, a first request for content from a web application hosted by the plurality of web servers, the first request being received from a client device; sending the load information from the static host to the client device; and sending computer-readable instructions from the static host to the client device, the computer-readable instructions comprising one or more javascript files and being executed by the client device to perform operations that render the computing system scalable and load balanced, the operations comprising: selecting a target web server from the plurality of web servers based on the load information received from the static host, transmitting a second request for the content to the target web server, and receiving the content from the target web server wherein the load information comprises: a representation of one or more of an available bandwidth and a bandwidth consumed with respect to a total estimated bandwidth available for one or more web servers of the plurality of web servers, and an estimation based on a latency for a data communication performed with the one or more web servers of the plurality of web servers.

9

9. The non-transitory computer-readable storage medium of claim 8 , wherein the content comprises dynamic content, and the operations further comprise providing static content to the client device.

10

10. The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise providing a web server load file to the client device, wherein the web server load file includes addresses of the plurality of web servers and includes the load information.

11

11. The non-transitory computer-readable storage medium of claim 8 , wherein the available bandwidth and the bandwidth consumed are available to a network connection for the one or more web servers of the plurality of web servers, the load information further comprising total, available, and consumed memory and processing capabilities of the one or more web servers of the plurality of web servers.

12

12. The non-transitory computer-readable storage medium of claim 8 , wherein the target web server is automatically selected by the client device based on least estimated loads or least proportional loads of the plurality of web servers.

13

13. The non-transitory computer-readable storage medium of claim 8 , wherein the target web server comprises a proxy web server that receives the second request from the client device and provides the content to the client device.

14

14. The non-transitory computer-readable storage medium of claim 13 , wherein the proxy web server filters the second request according to predetermined rules and repackages the content.

15

15. A system, comprising: one or more processors; and a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for provisioning data in a computing system, the operations comprising: receiving, by a web server load file and at a static host, load information about a plurality of web servers from an application engine monitoring respective loads of the plurality of web servers such that the load information is updated at predetermined intervals, receiving, by an anchor page and at the static host, a first request for content from a web application hosted by the plurality of web servers, the first request being received from a client device, sending, by the web server load file, the load information from the static host to the client device, and sending, by a load balancing logic, computer-readable instructions from the static host to the client device, the computer-readable instructions comprising one or more javascript files and being executed by the client device to perform operations that render the computing system scalable and load balanced, the operations comprising: selecting a target web server from the plurality of web servers based on the load information received from the static host, transmitting a second request for the content to the target web server, and receiving the content from the target web server wherein the load information comprises: a representation of one or more of an available bandwidth and a bandwidth consumed with respect to a total estimated bandwidth available for one or more web servers of the plurality of web servers, and an estimation based on a latency for a data communication performed with the one or more web servers of the plurality of web servers.

16

16. The system of claim 15 , wherein the content comprises dynamic content, and the operations further comprise providing static content to the client device.

17

17. The system of claim 15 , wherein the operations further comprise providing the web server load file to the client device, wherein the web server load file includes addresses of the plurality of web servers and includes the load information.

18

18. The system of claim 15 , wherein the available bandwidth and the bandwidth consumed are available to a network connection for the one or more web servers of the plurality of web servers, the load information further comprising total, available, and consumed memory and processing capabilities of the one or more web servers of the plurality of web servers.

19

19. The system of claim 15 , wherein the target web server is automatically selected by the client device based on least estimated loads or least proportional loads of the plurality of web servers.

20

20. The system of claim 19 , wherein the target web server comprises a proxy web server that receives the second request from the client device and provides the content to the client device.

21

21. The system of claim 15 , wherein the proxy web server filters the second request according to predetermined rules and repackages the content.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 2, 2014

Publication Date

February 23, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method and system for client-side scaling of web server farm architectures in a cloud data center” (US-9270745). https://patentable.app/patents/US-9270745

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.