Dynamic page generator
DCFirst Claim
1. A server system for serving a customized information page to a user at a browser on request, comprising:
- a database of user configurations;
means for obtaining information from the user referencing a record in the database of user configurations, the record being a record for the user;
means for generating a template based on the record for the user;
a plurality of user processes, one process per user accessing the server system;
a shared memory;
a data structure within the shared memory for storing the dynamic information needed to generate the customized information page;
response means for responding to a request with an information page containing dynamic information from the data structure formatted according to the template generated for the user making the request;
configuration generating means for generating default user configurations based on user demographic information, including means for determining a default list of cities for a weather report and sports teams for sports reporting based on the user demographic information, wherein the means for determining the default list of cities and default lists of sports teams uses user postal code information;
means for translating postal code information to user geographic position;
means for comparing the user geographic position to geographic positions assigned to each city and sports team; and
means for determining a threshold distance from the user geographic position that 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.
7 Assignments
Litigations
0 Petitions
Accused Products
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.
1425 Citations
9 Claims
-
1. A server system for serving a customized information page to a user at a browser on request, comprising:
-
a database of user configurations; means for obtaining information from the user referencing a record in the database of user configurations, the record being a record for the user; means for generating a template based on the record for the user; a plurality of user processes, one process per user accessing the server system; a shared memory; a data structure within the shared memory for storing the dynamic information needed to generate the customized information page; response means for responding to a request with an information page containing dynamic information from the data structure formatted according to the template generated for the user making the request; configuration generating means for generating default user configurations based on user demographic information, including means for determining a default list of cities for a weather report and sports teams for sports reporting based on the user demographic information, wherein the means for determining the default list of cities and default lists of sports teams uses user postal code information; means for translating postal code information to user geographic position; means for comparing the user geographic position to geographic positions assigned to each city and sports team; and means for determining a threshold distance from the user geographic position that 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.
-
-
2. Using a page server, a method of providing real-time responses to user requests for customized pages, the method comprising the steps of:
-
obtaining user preferences, wherein a user'"'"'s user preferences indicate items of interest to that user; obtaining real-time information from information sources; storing the real-time information in a storage device; combining the user preferences for the user and a template to form a template program specific to the user; receiving, from a user and at the server, a user request for a customized page customized according to the user preferences; executing the template program specific to the user using the real-time information stored in the storage device as input to the template program to generate the customized page; and providing the user with the customized page, wherein the steps of executing and providing are performed in real-time response to receipt of the user request in the step of receiving and wherein the customized page includes at least one item of real-time information selected from the storage device. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
Specification