IP Library Granted Patent US 8,150,943
Granted Patent B2
US 8,150,943 · App. 11/373,498 · Granted Apr 3, 2012

Methods and apparatus for dynamically generating web pages

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,150,943
App. No.
11/373,498
Granted
Apr 3, 2012
Kind
B2
Abstract

One embodiment of the invention is directed to automatically populating the cache of a web server. A webcrawler may send a request for a web page to the web server and receive the web page in response. The webcrawler may locate a link to a second web page in the received web page and determine if the link includes a predetermined pattern of characters. If the link includes the predetermined pattern of characters, the webcrawler may send a request to the webserver for the second web page. In another embodiment, the webcrawler may be made aware of changes to the content of a web site and revisit the web site after changes are made to repopulate the cache with the updated content.

Claims (40)

1. A method of accessing a plurality of web pages served by a web server, the method comprising:

sending a first request to the web server for a first web page of the plurality of web pages;

receiving, from the web server, the requested first web page in response to the first request;

locating, in the first web page, a link to a second web page of the plurality of web pages;

determining whether the link includes a pattern of characters that matches a predetermined pattern of characters;

when it is determined that the link includes the pattern of characters, sending a plurality of second request to the web server for the second web page, wherein each of the plurality of second requests includes first information that emulates at least one user characteristic, wherein each of the plurality of second requests provides a different value for the first information that emulates the at least one user characteristic, and wherein each of the plurality of second requests, when processed by the web server, causes the web server to dynamically generate a different version of the second web page that includes content based, at least in part, on the value of the first information that emulates the at least one user characteristic, the web server dynamically generating each different version of the second web page using second information retrieved from a database;

after sending the plurality of second requests to the web server for the second web page, monitoring the database to determine whether the second information stored in the database has changed;

when it is determined that the second information stored in the database has changed, determining whether a change to the second information would result in a change to content included in the second web page; and

when it is determined that the change to the second information would result in a change to content included in the second web page, sending a third request to the web server for the second web page.

2. The method of claim 1 , wherein sending the request to the web server for the first web page causes the web server to cache the first web page and sending the plurality of second requests to the web server causes the web server to cache each different generated version of the second web page.

3. The method of claim 1 , wherein the at least one user characteristic includes a zipcode.

4. The method of claim 1 , wherein the act of sending the third request causes the web server to dynamically generate a version of the second web page that includes the changed second information.

5. At least one non-transitory computer readable medium, encoded with instructions that, when executed on a computer system including a web server, perform a method of accessing a plurality of web pages served by the web server, the method comprising:

sending a first request to the web server for a first web page of the plurality of web pages;

receiving, from the web server, the requested first web page in response to the first request;

locating, in the first web page, a link to a second web page of the plurality of web pages;

determining whether the link includes a pattern of characters that matches a predetermined pattern of characters; and

when it is determined that the link includes the pattern of characters, sending a plurality of second requests to the web server for the second web page, wherein each of the plurality of second requests includes first information that emulates at least one user characteristic, wherein each of the plurality of second requests provides a different value for the first information that emulates the at least one user characteristic, and wherein each of the plurality of second requests, when processed by the web server, causes the web server to dynamically generate a different version of the second web page that includes content based, at least in part, on the value of the first information that emulates the at least one user characteristic, the web server dynamically generating each different version of the second web page using second information retrieved from a database;

after sending the plurality of second requests to the web server for the second web page, monitoring the database to determine whether the second information stored in the database has changed;

when it is determined that the second information stored in the database has changed, determined whether a change to the second information would result in a change to content included in the second web page; and

when it is determined that a change to the second information would result in a change to content included in the second web page, sending a third request to the web server for the second web page.

6. The at least one non-transitory computer readable medium of claim 5 , wherein sending the request to the web server for the first web page causes the web server to cache the first web page and sending the plurality of second requests to the web server causes the web server to cache each different generated version of the second web page.

7. The at least one non-transitory computer readable medium of claim 5 , wherein the at least one user characteristic includes a zipcode.

8. The at least one non-transitory computer readable medium of claim 5 , wherein the act of sending the third request causes the web server to dynamically generate a version of the second web page including the change of content that includes the changed second information.

9. A computer system comprising:

a web server operable to provide access to a plurality of web pages; and

at least one controller operable to:

send a first request to the web server for a first web page of the plurality of web pages;

receive, from the web server, the requested first web page in response to the first request;

locate, in the first web page, a link to a second web page of the plurality of web pages;

determine whether the link includes a pattern of characters that matches a predetermined pattern of characters; and

when it is determined that the link includes the pattern of characters, send a plurality of second requests to the web server for the second web page, wherein each of the plurality of second requests includes first information that emulates at least one user characteristic, wherein each of the plurality of second requests provides a different value for the first information that emulates the at least one user characteristic, and wherein each of the plurality of second requests, when processed by the web server, causes the web server to dynamically generate a different version of the second web page that includes content based, at least in part, on the value of the first information that emulates the at least one user characteristic, the web server dynamically generating each different version of the second web page using second information retrieved from a database;

after sending the plurality of second requests to the web server for the second web page, monitor the database to determine whether the second information stored in the database had changed;

when it is determined that the second information stored in the database has changed, determine whether a change to the second information would result in a change to content included in the second web page; and

when it is determined that a change to the second information would result in a change to content included in the second web page, send a third request to the web server for the second web page.

10. The computer system of claim 9 , wherein sending the request to the web server for the first web page causes the web server to cache the first web page and sending the plurality of second requests to the web server causes the web server to cache each different generated version of the second web page.

11. The computer system of claim 9 , wherein the at least one user characteristic includes a zipcode.

12. The method of claim 1 , wherein the act of sending the first request to the web server further comprises automatically initiating sending the first request to the web server, without the first request being initiated by a human user.

13. The method of claim 1 , wherein the act of determining whether the link includes a pattern of characters that matches a predetermined pattern of characters further comprises determining, based on a set of configurable rules, whether the link includes the pattern of characters that matches the predetermined characters.

14. The method of claim 1 , wherein the information from the database comprises product pricing information.

Assignments (15)
RELEASE OF SECURITY INTEREST Recorded Jun 20, 2024
From: COMPUTERSHARE TRUST COMPANY, NATIONAL ASSOCIATION (AS SUCCESSOR-IN-INTEREST TO WELLS FARGO BANK, NATIONAL ASSOCIATION)
To: STAPLES, INC.; STAPLES BRANDS INC.
Reel/Frame 067783/0844 →
SECURITY INTEREST Recorded Jun 12, 2024
From: STAPLES, INC.
To: COMPUTERSHARE TRUST COMPANY, NATIONAL ASSOCIATION, AS NOTES AGENT
Reel/Frame 067711/0239 →
SECURITY INTEREST Recorded Jun 11, 2024
From: STAPLES, INC.
To: UBS AG, STAMFORD BRANCH, AS TERM LOAN AGENT
Reel/Frame 067687/0558 →
SECURITY INTEREST Recorded Jun 11, 2024
From: STAPLES, INC.
To: COMPUTERSHARE TRUST COMPANY, NATIONAL ASSOCIATION, AS NOTES AGENT
Reel/Frame 067697/0639 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT RF 044152/0130 Recorded Jun 10, 2024
From: UBS AG, STAMFORD BRANCH, AS TERM LOAN AGENT
To: STAPLES, INC.; STAPLES BRANDS INC.
Reel/Frame 067682/0025 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2021
From: WORKLIFE BRANDS LLC
To: STAPLES, INC.
Reel/Frame 055689/0809 →
CHANGE OF NAME Recorded Jun 9, 2020
From: STAPLES BRANDS LLC
To: WORKLIFE BRANDS LLC
Reel/Frame 052882/0286 →
CERTIFICATE OF CONVERSION Recorded Jun 9, 2020
From: STAPLES BRANDS INC.
To: STAPLES BRANDS LLC
Reel/Frame 052879/0129 →
SECURITY INTEREST Recorded Apr 29, 2019
From: STAPLES, INC.; STAPLES BRANDS INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES AGENT
Reel/Frame 049025/0369 →
SECURITY INTEREST Recorded Sep 15, 2017
From: STAPLES, INC.; STAPLES BRANDS INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043971/0462 →
SECURITY INTEREST Recorded Sep 13, 2017
From: STAPLES, INC.; STAPLES BRANDS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 044152/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: STAPLES THE OFFICE SUPERSTORE, LLC
To: SUPERSTORE WEST LLC
Reel/Frame 043843/0801 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: SUPERSTORE WEST LLC
To: OFFICE SUPERSTORE EAST LLC
Reel/Frame 043844/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: OFFICE SUPERSTORE EAST LLC
To: STAPLES BRANDS INC.
Reel/Frame 043845/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2006
From: CHACE, ADAM; SQUATRITO, JASON
To: STAPLES THE OFFICE SUPERSTORE, LLC
Reel/Frame 017508/0163 →