IP Library › Granted Patent US 7,386,611
Granted Patent B2
US 7,386,611 · App. 10/315,335 · Granted Jun 10, 2008

Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition

Assignee: International Business Machines Corporation
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 7,386,611
App. No.
10/315,335
Granted
Jun 10, 2008
Kind
B2
Abstract

Apparatus and methods for identifying traffic patterns to web sites based on templates that characterize the arrival of traffic to the web sites are provided. Based on these templates, determinations are made as to which web sites should be co-located so as to optimize resource allocation. Specifically, web sites whose templates are complimentary, i.e. a first web site having a peak in arrival traffic at time t 1 and a second web site that has a trough in arrival traffic at time t 1 , are designated as being candidates for co-location. In addition, the present invention uses the templates identified for the traffic patterns of web sites to determine thresholds for offloading traffic to other servers. These thresholds include a first threshold at which offloading should be performed, a second threshold that takes into consideration the lead time needed to begin offloading, and a third threshold that takes into consideration a lag time needed to stop all offloading of traffic to the other servers.

Claims (37)

1. A method of allocating resources to a plurality of web sites, wherein the method is executed by a computer, comprising:

identifying a traffic pattern for each of the plurality of web sites;

identifying at least one of a plurality of templates for each of the plurality of web sites based on the traffic pattern; and

allocating resources to at least one of the plurality of web sites based on the at least one of the plurality of templates identified for the at least one of in the plurality of web sites.

2. The method of claim 1 , wherein allocating resources to the at least one of the plurality of web sites includes:

identifying at least two of the plurality of web sites that are candidates for co-location based on the at least one of the plurality of templates identified for the at least two of the plurality of web sites; and

allocating resources to the at least two of the plurality of web sites based on identifying the at least two of the plurality of web sites that are candidates for co-location.

3. The method of claim 1 , wherein allocating resources to the at least one of the plurality of web sites includes:

calculating, for at least one particular web site in the plurality of web sites, a first threshold based on the at least one of the plurality of templates identified for the at least one particular the web site in the plurality of web sites;

calculating a second threshold based on the first threshold, wherein offloading of traffic is enabled when a traffic intensity for the at least one particular web site in the plurality of web sites meets or exceeds the second threshold; and

calculating a third threshold based on the first threshold, wherein offloading of traffic is disabled when the traffic intensity of the at least one particular web site in the plurality of web sites meets or falls below the third threshold.

4. The method of claim 2 , wherein allocating resources to the at least one of the plurality of web sites includes:

calculating, for at least one particular web site in the plurality of web sites, a first threshold based on the at least one of the plurality of templates identified for the at least one particular web site in the plurality of web sites;

calculating a second threshold based on the first threshold, wherein offloading of traffic is enabled when a traffic intensity for the at least one particular web site in the plurality of web sites meets or exceeds the second threshold; and

calculating a third threshold based on the first threshold, wherein offloading of traffic is disabled when the traffic intensity of the at least one particular web site in the plurality of web sites meets or falls below the third threshold.

5. The method of claim 3 , further comprising:

monitoring the traffic of the at least one particular web site in the plurality of web sites, on a web server to determine if the traffic intensity exceeds the second threshold; and

offloading at least a portion of the traffic to another web server if the traffic intensity of the at least one particular web site in the plurality of web sites exceeds the second threshold.

6. The method of claim 5 , further comprising:

monitoring the traffic of the at least one particular web site in the plurality of web sites, on the web server to determine if the traffic intensity falls below the third threshold; and

disabling the offloading of traffic to the another web server if the traffic intensity of the at least one particular web site in the plurality of web sites falls below the third threshold.

7. The method of claim 2 , wherein identifying at least two of the plurality of web sites that are candidates for co-location based on the at least one of the plurality of templates identified for the at least two of the plurality of web sites includes:

identifying a first web site of the plurality of web sites having peaks in traffic at a first set of time periods; and

identifying a second web site of the plurality of web sites having peaks in traffic at a second set of time periods different from the first set of time periods.

8. The method of claim 7 , wherein the second web site has a trough in traffic at approximately a same time as the first web site has a peak in traffic.

9. The method of claim 2 , wherein identifying at least two of the plurality of web sites that are candidates for co-location based on the at least one of the plurality of templates identified for the at least two of the plurality of web sites includes:

identifying the at least two of the plurality of web sites such that a capacity for traffic of a web server on which the at least two of the plurality of web sites are located remains constant.

10. The method of claim 2 , wherein identifying at least two of the plurality of web sites that are candidates for co-location based on the at least one of the plurality of templates identified for the at least two of the plurality of web sites includes:

identifying the at least two of the plurality of web sites such that a total cost of all web servers hosting the plurality of web sites is minimized.

11. The method of claim 2 , wherein identifying at least two of the plurality of web sites that are candidates for co-location based on the at least one of the plurality of templates identified for the at least two of the plurality of web sites includes:

formulating an integer programming problem having decision variables that are an assignment of the plurality of web sites to a plurality of web servers, a constraint that is a capacity limitation for any server at any time epoch, and an objective function that is an increasing function of minimum distances between server capacity and peak load at different ones of the plurality of web servers.

12. The method of claim 2 , wherein identifying at least two of the plurality of web sites that are candidates for co-location based on the at least one of the plurality of templates identified for the at least two of the plurality of web sites includes:

formulating an integer programming problem having decision variables that are an assignment of the plurality of web sites to a plurality of web servers, a constraint that is a capacity limitation for any server at any time epoch, and an objective function that is a sum of costs of all web servers to which at least one web site is assigned.

13. A method for deploying computing infrastructure, comprising integrating computer readable code into a computing system, wherein the computer readable code is executed by the computing system, and wherein the computer readable code in combination with the computing system is capable of performing the following:

identifying a traffic pattern for each of the plurality of web sites;

identifying at least one of a plurality of templates for each of the plurality of web sites based on the traffic pattern; and

allocating resources to at least one of the plurality of web sites based on the at least one of the plurality of templates identified for the at least one of the plurality of web sites.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 013792 FRAME 0467. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 9, 2018
From: DIAS, DANIEL MANUEL; KING, RICHARD PERVIN; LIU, ZHEN; SQUILLANTE, MARK STEVEN; XIA, HONGHUI; YU, SHUN-ZHENG; ZHANG, LI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045541/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2003
From: DIAS, DANIEL MANUEL; KING, RICHARD PERVIN; LIU, ZHEN; SQUILLANTE, MARK STEVEN; XIA, HONGHUI; YU, SHUN-ZHENG; ZHANG, LI
To: INTERNATIONAL BUSINESS MACHINES
Reel/Frame 013792/0467 →
Continuity (1)
Related Publication 20040111508A1 · Jun 10, 2004