Dynamic page generator
DCFirst Claim
1. In a page server coupled to a network, a method of providing a customized page to a user, wherein the customized page is customized according to the user'"'"'s preferences, the method comprising:
- obtaining real-time information from information sources;
storing the real-time information in a shared local storage device;
storing a user-specific template program for the user in a data structure associated with a user identifier unique to the user;
receiving, from the user and at the page server, a user request for a customized page;
determining a user identifier associated with the request;
receiving a template program specific to the user using the determined user identifier associated with the user request,wherein the template program is received from one of at least two locations, the location determined from frequency of the user request 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,wherein the template program indicates items of interest to the user; and
providing the user with the customized page.
6 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 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.
-
Citations
23 Claims
-
1. In a page server coupled to a network, a method of providing a customized page to a user, wherein the customized page is customized according to the user'"'"'s preferences, the method comprising:
-
obtaining real-time information from information sources; storing the real-time information in a shared local storage device; storing a user-specific template program for the user in a data structure associated with a user identifier unique to the user; receiving, from the user and at the page server, a user request for a customized page; determining a user identifier associated with the request; receiving a template program specific to the user using the determined user identifier associated with the user request, wherein the template program is received from one of at least two locations, the location determined from frequency of the user request 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, wherein the template program indicates items of interest to the user; and providing the user with the customized page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 20, 21)
-
-
10. Using a page server, a method of providing real-time responses to user requests from a plurality of users for customized pages, the method comprising:
-
obtaining user preferences for the plurality of users, 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 shared local storage device; for each of the plurality of users, combining the user preferences for a specific user and a template to form a template program specific to the user; storing user-specific template programs for each of the plurality of users in a data structure associated with user identifiers; receiving, from a user at the page server, a user request for a customized page; determining a user identifier associated with the user request; receiving a template program specific to the user using the determined user identifier associated with the user request, wherein the template program is received from one of at least two locations, the location determined from frequency of the user request 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 at the page server according to the user preferences; 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, wherein the customized page includes at least one item of real-time information selected from the shared local storage device.
-
-
11. In a page server coupled to a network, a method of providing customized pages to a plurality of users, wherein a customized page for a user is customized according to the user'"'"'s preferences, the method comprising:
-
obtaining real-time information from information sources; storing the real-time information in a shared local storage device; storing user-specific template programs for each of the plurality of users in a data structure associated with user identifiers; receiving, at the page server, requests for a customized page from the plurality of users, wherein a first request is received from a first user in the plurality of users and a second request is received from a second user; determining a first user identifier associated with the first request; determining a second user identifier associated with the second request; receiving a first template program specific to the first user using the determined first user identifier for the first user, wherein the first template program is received from one of at least two locations, the location determined from frequency of the first user request for the first customized page; receiving a second template program specific to the second user using the determined second user identifier for the second user, wherein the second template program is received from one of at least two locations, the location determined from frequency of the second user request for the second customized page; executing the first template program specific to the first user and the second template program specific to the second user using the real-time information stored in the shared local storage device as input to the first and second template programs to generate the first customized page for the first user and the second customized page for the second user, wherein the first template program uses data associated with the first user and the second user template uses data associated with the second user; and providing the first user with the first customized page and the second user with the second customized page, wherein the first and second customized page include at least one item of real-time information selected from the shared local storage device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 22, 23)
-
Specification