IP Library Granted Patent US 8,954,568
Granted Patent B2
US 8,954,568 · App. 13/187,547 · Granted Feb 10, 2015

Method and system for building an elastic cloud web server farm

Inventors: Subramaniam Venkatraman Krishnan (Bangalore, IN); Amit Jaiswal (Bangalore, IN); Ravikiran Meka (Bangalore, IN); Jean-Christophe Counio (Kamataka, IN); Alejandro Abdelnur (San Francisco, CA); Ruchir Rajendra Shah (Kamataka, IN)
Assignee: Yahoo! Inc.
G06F9/505G06F9/5072
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,954,568
App. No.
13/187,547
Granted
Feb 10, 2015
Kind
B2
Abstract

A method and system for building an elastic cloud web server farm. The method includes registering a web application on a serving cloud and copying the web application to a distributed store. A load of the web application is specified, and a plurality of nodes is added for the web application based on the load. A web server corresponding to a node of the plurality of nodes is then initialized. A web request is received from a user and a web server is selected from a list of available web servers to process the web request. The web request is further transmitted to the web server. A web response, based on the web request, is transmitted back to the user. The system includes a central registry, a distributed store, a process coordinator, one or more web servers, and a router.

Claims (69)

1. A method of building an elastic cloud web server farm to support cloud computing availability to users, the method comprising:

registering, by a processor, a web application having functionality on a serving cloud;

copying, by the processor, the web application to a distributed store that stores a plurality of web applications;

specifying, by the processor, a load of the web application in a central registry,

the central registry maintains information related to jobs that run the web applications, stores tasks utilized for deploying the web applications, and maintains a pipeline architecture for storing web requests;

adding, by the processor in the central registry, a plurality of nodes for the web application based on the load, the adding being done by a job manager unit which specifies a load of the web application and periodically checks the number of web servers;

mapping, by the central registry, the web application to a web server corresponding to a node of the plurality of nodes;

initializing, by the processor, the web server;

receiving, by the processor, a web request for access to functionality of the web application from a user;

selecting, by the processor, the web server from a list of available web servers to process the web request;

transmitting, by the processor, the web request for access to functionality of the web application to the web server; and

transmitting, by the processor, a web response, based on the web request for access to functionality of the web application, to the user.

2. The method as claimed in claim 1 and further comprising:

processing a plurality of web applications simultaneously.

3. The method as claimed in claim 1 , wherein specifying the load comprises one of:

dynamically handling an increase in the load by increasing number of web servers required for the web application; and

dynamically handling a decrease in the load by decreasing number of the web servers required for the web application.

4. The method as claimed in claim 1 , wherein initializing the web server comprises:

determining a port from a predetermined range of ports; and

registering an identifier with the central registry, the identifier being defined with a hostname and port.

5. The method as claimed in claim 1 and further comprising:

maintaining the list of available web servers by the central registry.

6. The method as claimed in claim 1 , wherein the web request is retransmitted to another web server from the list of available web servers to handle failure of the web server.

7. The method as claimed in claim 1 , wherein registering a web application comprises

packaging the web application using a file format for saving and reviewing complete web pages.

8. A non-transitory computer-readable storage medium that when executed by a processor, performs a method of building an elastic cloud web server farm to support cloud computing availability to users, comprising:

registering a web application having functionality on a serving cloud;

copying the web application to a distributed store that stores a plurality of web applications;

specifying a load of the web application in a central registry,

the central registry maintains information related to jobs that run the web applications, stores tasks utilized for deploying the web applications, and maintains a pipeline architecture for storing web requests;

adding, in the central registry, a plurality of nodes for the web application based on the load, the adding being done by a job manager unit which specifies a load of the web application and periodically checks the number of web servers;

mapping, by the central registry, the web application to a web server corresponding to a node of the plurality of nodes;

initializing the web server;

receiving a web request for access to functionality of the web application from a user;

selecting the web server from a list of available web servers to process the web request;

transmitting the web request for access to functionality of the web application to the web server; and

transmitting a cloud-computed web response, based on the web request for access to functionality of the web application, to the user.

9. The medium as claimed in claim 8 and further comprising:

processing a plurality of web applications simultaneously.

10. The medium as claimed in claim 8 , wherein specifying the load comprises one of:

dynamically handling an increase in the load by increasing number of web servers required for the web application; and

dynamically handling a decrease in the load by decreasing number of the web servers required for the web application.

11. The medium as claim in claim 8 , wherein initializing the web server comprises:

determining a port from a predetermined range of ports; and

registering an identifier with the central registry, the identifier being defined with a hostname and port.

12. The medium as claimed in claim 8 and further comprising:

maintaining a list of available web servers by the central registry.

13. The medium as claimed in claim 8 , wherein the web request is transmitted to another web server from the list of available web servers to handle failure of the web server.

14. The medium as claimed in claim 8 , wherein registering a web application comprises

packaging the web application using a file format for saving and reviewing complete Web pages.

15. A system for building an elastic cloud web server farm to support cloud computing availability to users, the system comprising:

a central registry that maintains a list of available web servers;

a distributed store that stores a plurality of web applications having functionality, the distributed store storing a plurality of web applications,

wherein the central registry maintains information related to jobs that run the web applications, stores tasks utilized for deploying the web applications, and maintains a pipeline architecture for storing web requests;

a process coordinator that

registers a web application having functionality on a serving cloud;

copies the web application to the distributed store;

specifies a load of the web application in the central registry;

adds, in the central registry, a plurality of nodes for the web application based on the load, the adding being done by a job manager unit which specifies a load of the web application and periodically checks the number of web servers;

one or more web servers, each web server comprising:

a map web engine that

maps, by the central registry, the web application to a web server corresponding to a node of the plurality of nodes;

initializes the web server;

a router that

receives a web request for access to functionality of the web application from a user;

selects the web server from the list of available web servers to process the web request for access to functionality of the web application;

transmits the web request to the web server; and

transmits a cloud-computed web response, based on the web request for access to functionality of the web application, to the user.

16. The system as claimed in claim 15 , wherein the system is built on a cloud computing platform.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2011
From: KRISHNAN, SUBRAMANIAM VENKATRAMAN; JAISWAL, AMIT; MEKA, RAVIKIRAN; COUNIO, JEAN CHRISTOPHE; ABDELNUR, ALEJANDRO; SHAH, RUCHIR RAJENDRA
To: YAHOO! INC.
Reel/Frame 026625/0788 →
Continuity (1)
Related Publication 20130024496A1 · Jan 24, 2013