IP Library Granted Patent US 7,565,359
Granted Patent B2
US 7,565,359 · App. 11/656,636 · Granted Jul 21, 2009

Dynamic page generator

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,565,359
App. No.
11/656,636
Granted
Jul 21, 2009
Kind
B2
Abstract

An custom page server is provided with user preferences organized into templates stored in compact data structures and the live data used to fill the templates stored local to the page server which is handing user requests for custom pages. One process is executed on the page server for every request. The process is provided a user template for the user making the request, where the user template is either generated from user preferences or retrieved from a cache of recently used user templates. Each user process is provided access to a large region of shared memory which contains all of the live data needed to fill any user template. Typically, the pages served are news pages, giving the user a custom selection of stock quotes, news headlines, sports scores, weather, and the like. With the live data stored in a local, shared memory, any custom page can be built within the page server, eliminating the need to make requests from other servers for portions of the live data. While the shared memory might include RAM (random access memory) and disk storage, in many computer systems, it is faster to store all the live data in RAM.

Claims (35)

1. An apparatus for generating a customized pages, wherein the customized pages are customized according to user preferences, the apparatus comprising:

a shared local storage device for storing real-time information received from information sources; storage means for storing user-specific template programs for a plurality of users, wherein each template program indicates items of interest to a user and is associated with a user identifier, wherein the user identifier is associated with a user request for a customized page;

means for receiving a template program specific to the user based upon the user identifier, wherein the template program is received from one of at least two locations, the location based upon a frequency of user requests for the customized page;

means for executing the template program specific to the user using the real-time information stored in the shared local storage device to generate the customized page; and

means for receiving user preferences for the user, and for combining the user preferences with a generic template to form the template program specific to the user, wherein the user preferences indicate the items of interest to the user.

2. The system of claim 1 , further comprising means for caching the template program in a local storage location.

3. The apparatus of claim 1 , further comprising means for combining the user preferences with the generic template.

4. The apparatus of claim 1 , wherein the real-time information comprises stock quotes, sports scores and news headlines.

5. The apparatus of claim 1 , further comprising means for generating a default user configuration for the user based on demographic information of the user.

6. The apparatus of claim 5 , wherein the means for generating a default user configuration is operable to: determine a default list of cities for a weather report based on user demographic information; and determine one or more sports teams for sports reporting based on user demographic information.

7. The apparatus of claim 5 , wherein the user identifier associated with the user request is determined by means operable to:

obtain user postal code information;

translate the postal code information to user geographic position;

compare the user geographic position to geographic positions assigned to each city and sports team; and

determine a threshold distance from the user geographic position which is greater than or equal to a distance to a predetermined nonzero number of cities and a predetermined nonzero number of sports team geographic positions.

8. The apparatus of claim 1 , wherein the means for receiving the template program comprises means for receiving the template program from a local storage of cached user templates in response to the user requests for the customized page exceeding a frequency threshold.

9. The apparatus of claim 1 , wherein the means for receiving the template program comprises means for receiving the template program from a local storage of cached user templates in response to the user requests for the customized page falling below a frequency threshold.

10. A computer-readable medium comprising instructions for generating customized pages, wherein the customized pages are customized according to user preferences, the instructions for causing performance of a method comprising:

storing the real-time information in a shared local storage device; storing a user-specific template program for a plurality of users, wherein each template program indicates items of interest to a user, and is associated with a user identifier, wherein the user identifier is associated with a user request for a customized page;

receiving a template program specific to the user using the user identifier, wherein the template program is received from one of at least two locations, the location based upon a frequency of user requests for the customized page;

executing the template program specific to the user using the real-time information stored in the shared local storage device to generate the customized page; and

receiving user preferences for the user, and for combining the user preferences with a generic template to form the template program specific to the user, wherein the user preferences indicate the item of interest to the user.

11. The computer-readable medium of claim 10 , further comprising instructions for caching the template program in a storage location local to the page server prior to the user request for the customized page.

12. The computer-readable medium of claim 10 , further comprising instructions for receiving the template program specific to the user.

13. The computer-readable medium of claim 10 , wherein the page server combines the user preferences with the generic template.

14. The computer-readable medium of claim 10 , wherein the real-time information comprises stock quotes, sports scores and news headlines.

15. The computer-readable medium of claim 10 , further comprising instructions for generating a default user configuration for the user based on demographic information of the user.

16. The computer-readable medium of claim 15 , wherein generating a default user configuration comprises: determining a default list of cities for a weather report based on user demographic information; and determining one or more sports teams for sports reporting based on user demographic information.

17. The computer-readable medium of claim 15 , wherein the user identifier associated with the user request is determined by instructions comprising:

obtaining user postal code information;

translating the postal code information to user geographic position;

comparing the user geographic position to geographic positions assigned to each city and sports team; and

determining a threshold distance from the user geographic position which is greater than or equal to a distance to a predetermined nonzero number of cities and a predetermined nonzero number of sports team geographic positions.

18. The computer-readable medium of claim 10 , wherein receiving the template program comprises receiving the template program from a local storage of cached user templates in response to the user requests for the customized page exceeding a frequency threshold.

19. The computer-readable medium of claim 10 , wherein receiving the template program comprises receiving the template program from a local storage of cached user templates in response to the user requests for the customized page falling below a frequency threshold.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2018
From: EXCALIBUR IP, LLC
To: DIGI PORTAL LLC
Reel/Frame 045981/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: YAHOO HOLDINGS, INC.
To: EXCALIBUR IP, LLC
Reel/Frame 045954/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
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 Jun 1, 2007
From: NAZEM, FARZAD; PATEL, ASHVINKUMAR P.
To: YAHOO! INC.
Reel/Frame 019371/0563 →