Web page rendering architecture
First Claim
1. A system comprising:
- a first server to receive a request from a requester for a web page having a plurality of clips in an arrangement, the first server determining the clips and the arrangement based on a key;
a first-level cache at the first server to store the clips from which the first server is to assemble the web page;
a second server to populate the first-level cache with any of the clips not yet stored at the first-level cache;
a second-level cache at the second server to store the clips from which the second server is to populate the first-level cache; and
, at least one provider object at the second server to populate the second-level cache with any of the clips not yet stored at the second-level cache.
2 Assignments
0 Petitions
Accused Products
Abstract
An architecture for rendering web pages. In one embodiment, a system including a first server, a first-level cache, a second server, a second-level cache and one or more provider objects. The first server receives a request from a requestor for a web page. The web page has a number of clips in an arrangement. The server determines the clips and the arrangement based on a key. The first-level cache stores the clips from which the first server is to assemble the web page. The second server populates the first-level cache with any of the clips not yet stored there. The second-level cache stores the clips from which the second server is to populate the first-level cache. The provider object or objects populate the second-level cache with any of the clips not yet stored there.
-
Citations
21 Claims
-
1. A system comprising:
-
a first server to receive a request from a requester for a web page having a plurality of clips in an arrangement, the first server determining the clips and the arrangement based on a key;
a first-level cache at the first server to store the clips from which the first server is to assemble the web page;
a second server to populate the first-level cache with any of the clips not yet stored at the first-level cache;
a second-level cache at the second server to store the clips from which the second server is to populate the first-level cache; and
,at least one provider object at the second server to populate the second-level cache with any of the clips not yet stored at the second-level cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
a content fetcher to provide the at least one provider object with data from which the any of the clips not yet stored at the second-level cache are generated; and
,a plurality of content providers, each to provide the content fetcher with a specific part of the data from which the any of the clips not yet stored at the second-level cache are generated.
-
-
3. The system of claim 2, wherein the content fetcher comprises:
-
a fetcher to fetch data from a data source; and
,at least one parser to parse the data fetched by the fetcher into a format expected by the parser object that translates the data into an HTML clip.
-
-
4. The system of claim 3, wherein the content fetcher further comprises at least one second parser, added to the system at a point in time later than the at least one parser, such that addition of the at least one second parser does not require redevelopment of code of any of the at least one parser.
-
5. The system of claim 1, wherein the key is derived from a local file stored at the requester, and the web page requested by the requester.
-
6. The system of claim 5, wherein the local file comprises a cookie file.
-
7. The system of claim 1, wherein the second-level cache at the second server is to periodically notify the first-level cache at the first server that one or more of the clips stored on the first-level cache are outdated, such that the one or more of the clips are deleted from the first-level cache.
-
8. The system of claim 1, wherein the at least one provider object comprises at least one generic object and at least one specific object particular to a given type of data from which a clip is generated.
-
9. The system of claim 1, wherein each of the at least one provider object comprises a mapping file for configuration of the object, such that changing the mapping file results in reconfiguration of the object without redevelopment of code of the object.
-
10. The system of claim 1, further comprising at least one second provider object, added to the system at a point in time later than the at least one provider object, such that addition of the at least one second provider object does not require redevelopment of code of any of the at least one provider object.
-
11. A system comprising:
-
a first level to receive a request from a requester for a web page having a plurality of clips in an arrangement, the first level determining the clips and the arrangement based on a key and to cache the clips from which the web page is assembled;
a second level to populate the first level with any of the clips not yet cached by the first level and to cache the clips from which the first level is populated; and
,a third level to populate the second level with any of the clips not yet cached by the second level. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
determining a plurality of clips and an arrangement thereof to generate a desired web page;
for each of the plurality of clips;
determining whether the clip is stored in a first-level cache;
upon determining that the clip is not stored in the first level cache, determining whether the clip is stored in a second-level cache;
upon determining that the clip is not stored in the second-level cache, obtain the clip;
store the clip in the second-level cache;
store the clip in the first-level cache; and
,return the clip, positioned as determined by the arrangement. - View Dependent Claims (19, 20)
receiving a request from a requestor for the desired web page;
deriving a key;
determining the plurality of clips and the arrangement thereof based on the key.
-
-
20. The method of claim 19, wherein deriving a key comprises deriving a key based on a local file stored at the requester, and the desired web page requested by the requester.
-
21. A computer-readable medium having a computer program stored thereon for execution on a computer, the program performing a method comprising:
-
receiving a request from a requester for a desired web page;
deriving a key based on a local file stored at the requester, and the desired web page requested by the requester;
determining the plurality of clips and the arrangement thereof based on the key;
for each of the plurality of clips;
determining whether the clip is stored in a first-level cache;
upon determining that the clip is not stored in the first level cache, determining whether the clip is stored in a second-level cache;
upon determining that the clip is not stored in the second-level cache, obtain the clip;
store the clip in the second-level cache;
store the clip in the first-level cache; and
,return the clip, positioned as determined by the arrangement.
-
Specification