EP1356394A2 - Distributed dynamic web page caching system - Google Patents
Distributed dynamic web page caching systemInfo
- Publication number
- EP1356394A2 EP1356394A2 EP01935510A EP01935510A EP1356394A2 EP 1356394 A2 EP1356394 A2 EP 1356394A2 EP 01935510 A EP01935510 A EP 01935510A EP 01935510 A EP01935510 A EP 01935510A EP 1356394 A2 EP1356394 A2 EP 1356394A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- page
- server
- web page
- cache memory
- local cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- This invention relates to distributed dynamic web page caching.
- Computer networks such as the internet and private corporate networks, enable users to retrieve information from a wide variety of sources. They also enable publishers, information providers, advertisers and other information sources to supply information to these users.
- "Servers” are computer systems that are connected to a network and that store and supply information.
- One type of server on the internet is known as a “web server,” which provides access to a web site. Each web site can make available one or more "web pages,” which are formatted, tree-structured repositories of information, such as text, images, sounds, animations, and three- dimensional simulations.
- Many publishers, such as newspapers and journals, as well as corporations, individuals and organizations have established web pages.
- “Clients” are computer systems, each typically controlled by a user that may be connected to a network and request information from the servers on the network.
- clients at various locations can view web pages by "downloading" replicas of the web pages from the servers on which these web pages are stored.
- the invention features a method of dynamic web page caching includes receiving a request for a web page from a client and determining whether a page template and page component tags of the web page reside in a local cache memory. If the page template and page component tags do not reside in the local cache memory, the page template and page component tags are downloaded from a server to the local cache memory. The web page is assembled from the page template and page component tags residing in the local cache memory and the web page rendered to the client.
- Embodiments may include one or more of the following. Passing a cookie representing a client session identification (ID) from the server to the local cache memory to may be used to manage a session.
- ID client session identification
- Page component tags may include page location information, parameters to be passed from the server to the page template, and expiration information. They may also include a binary large object (blob) component.
- blob binary large object
- the invention features a network including a server having a collection of data containing web pages and a server link connecting the server to an internet.
- a cache system link connects a dynamic web page caching system to the internet.
- the dynamic web page caching system includes an assembly engine that is used to assemble web pages from components found in its local cache and a delivery engine for delivering the web pages to a client.
- Embodiments of the invention may have one or more of the following advantages.
- Assembly of web pages containing dynamic components is done closer to the requesting client, minimizing or eUrninating the requirement of assembling the requested page at the server and sending the web page over the internet to the client.
- dynamic page components are cached at the edge of the network, pushing the assembly and delivery of dynamic components away from the server. Caching assembly and delivery of the dynamic page components at the edge of the network results in a greater number of dynamic page views per day because a greater number of dynamic page components can be generated without having to travel through the internet.
- a satellite server and/or server goes down, i.e., off-line, there can be another satellite server to perform the work required to assemble and deliver the page.
- FIG. 1 is a block diagram of a web page.
- FIG. 2 is a block diagram of a network containing a satellite server.
- FIG. 3 is a block diagram of the satellite server of FIG. 2.
- FIG. 4 is a flow diagram of a distributed dynamic web page caching process residing on the computer network of FIG. 2.
- a web page 10 defines one or more regions, such as regions 14, 16, 18 and 20.
- Each of the regions 14, 16, 18 and 20, also referred to as components, are part of a web page template 12.
- Each of the components 14-20 may contain different types of information, such as text, images, graphics, animation, timers, links and so forth.
- Each of the components 14 through 20 of the web page template 12 may be further classified as being static or dynamic.
- a static component remains unchanged over a period of time.
- a dynamic component is a component that is a result of a computational process executed at the time that the web page 10 is requested.
- Dynamic components by their very nature, exist for a discrete period of time, and thus are typically assembled at the time a client requests them from a server. The server, using specific characteristics of the dynamic components, builds the web page and delivers the web page to the requesting client.
- An example of a dynamic component is one that contains current weather.
- the current weather may change between requests and therefore is assembled in response to a user request.
- Another example of a dynamic component is one that contains a personalized message, such as 'Hi Joe.”
- the web page 10 typically resides on a server (not shown).
- a client requests viewing of the web page 10 from the server.
- the server having details of each component 14-20 within the web page 10, assembles the web page 10 with its associated components 14-20 and sends the web page 10 to the requesting client.
- the web page 10 may be preassembled and stored on a database associated with the server.
- the server loads the web page previously stored and delivers it to a browser on the client's system
- the server assembles the dynamic components in accordance with component details know only to the server prior to delivering the web page 10 to the client.
- the server responsible for the web page 10 has detail knowledge of each component 14-20 of the web page template 12.
- Each component 14-20 is defined by a series of parameters or tags known only to the server system. For example, each component will have an associated web page template 12, tags requesting where to get the information included in the component, what parameters, if any, need to be passed into the component, and duration information. These tags may include page information and blob information.
- the blob is a Binary Large Object; it may be used to represent, for example, images. Only the server knows each of the parameters.
- the components are wrapped around each of the components 14-20, enabling the server to assemble and render the web page 10 to the requesting client.
- a network 40 having a distributed dynamic web page caching process is shown to include a number of internet service providers (ISPs) 42, 44, 46 and 48, connected to an internet 50.
- the ISPs 42-48 provide client and server computer systems access to the internet 50.
- the network 40 includes a server 52 connected to the ISP 44.
- the network 40 also shows a client 54 having a browser 56 connected to the ISP 48.
- the network 40 includes the placement of a satellite server 58 connected to the ISP 48 and a satellite server 60 connected to the internet 50.
- the network 40 would contain either the satellite server 58 connected to the ISP 48 or the satellite server 60 connected to the internet 50.
- satellite servers may be placed at other locations at "edges" of the network 40.
- a network would have one satellite server per domain per port.
- satellite server 58 for example, in conjunction with server 52, assembles the static and dynamic components of the web page and renders the web page to the browser 56.
- a satellite server 80 is shown to include a content server 82 and a content server 84.
- the content servers 82 and 84 are linked to a web server 86 and a web server 88 through respective plug-ins 90 and 92.
- the web servers 86 and 88 are linked to cache memories labeled as 94, 96, 98 and 100, respectively. Each of the cache memories 94-100 are linked to a local director 102.
- the local director 102 includes a link 104 that provides communication to an ISP or internet.
- the local director 102 searches the cache memories 94 through 100 to determine whether the requested web page template and component tags are present. If the component tags of the requested web page are contained within one of the cache memories 94-100, the content server 82 or content server 84 assembles the web page from the cached template and component tags and sends the assembled web page though the link 104 to the requesting client.
- a distributed dynamic web page caching process 120 includes receiving 122 a page request from a client.
- the process 120 determines 124 whether the page component tags and web page template of the requested web page reside in one of the satellite server caches. If the web page and its associated web page template and page component tags reside within the satellite system server cache, the satellite system assembles 126 the web page according to its web page template and page component tags and delivers 128 the assembled page to the requesting client. If the web page template and component tags of the requested web page do not reside in the satellite server cache, the process 120 obtains 130 the web page template and associated page component tags from the server. When the information needed to assemble the page components are obtained from the server, the server stores 132 the information in one of its cache memories.
- the process 120 sends 134 the assembled web page along with its web page template and associated page component tags to the satellite server wherein the process 120 stores 136 the web page template and component tags in the satellite server's cache memories and delivers 128 the assembled page to the requesting client.
- a second page access finds the required information needed to assemble the requested web page in the satellite server cache memories. This is because the satellite server, from knowledge gained from the server, has knowledge of where to build that web page from the presence of the web page template and associated page component tags in the satellite server cache memory.
- the satellite server may not have the logic to build the dynamic page components, but the satellite server can obtain the requisite logic from the server.
- the process 120 maintains a replicated cache, i.e., all the cache components are residing in every content server within the network. Thus, if a single satellite server were to fail, another satellite server may perform the necessary work to render the requested web page. No synchronization between satellite servers is required because each is independent and unique, not being dependent on any other satellite server peer.
- the process 120 also maintains session information.
- session information is contained in cookies that are passed between the client and the satellite server. In this manner, a new session is not generated by a second request for a web page by the same user that had requested a web page from the satellite server.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57268100A | 2000-05-16 | 2000-05-16 | |
US572681 | 2000-05-16 | ||
PCT/US2001/015621 WO2001088762A2 (en) | 2000-05-16 | 2001-05-15 | Distributed dynamic web page caching system |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1356394A2 true EP1356394A2 (en) | 2003-10-29 |
Family
ID=24288888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01935510A Ceased EP1356394A2 (en) | 2000-05-16 | 2001-05-15 | Distributed dynamic web page caching system |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1356394A2 (en) |
JP (1) | JP5465821B2 (en) |
WO (1) | WO2001088762A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334562A (en) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | A kind of page display method and device |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1182589A3 (en) * | 2000-08-17 | 2002-07-24 | International Business Machines Corporation | Provision of electronic documents from cached portions |
GB2412769B (en) * | 2002-05-29 | 2006-09-13 | Flyingspark Ltd | Methods and systems for using caches |
GB2412771B (en) * | 2002-05-29 | 2006-01-04 | Flyingspark Ltd | Methods and system for using caches |
US7200645B2 (en) | 2002-06-26 | 2007-04-03 | International Business Machines Corporation | Running dynamic web pages off-line with a wizard |
US7249313B2 (en) | 2002-06-26 | 2007-07-24 | International Business Machines Corporation | Creating and utilizing a wizard to capture an application's interdependencies between web pages and data accesses for running the application's downloadable dynamic web pages off-line |
FR2842624B1 (en) * | 2002-07-22 | 2006-05-19 | France Telecom | METHOD FOR UPDATING INTERNET DATA FOR ALLEGED OPERATION OF MEANS FOR STORING SUCH PAGES |
US7177900B2 (en) | 2003-02-19 | 2007-02-13 | International Business Machines Corporation | Non-invasive technique for enabling distributed computing applications to exploit distributed fragment caching and assembly |
JP2005032230A (en) * | 2003-06-18 | 2005-02-03 | Ricoh Co Ltd | Electronic apparatus and web page generation method |
CN101470591B (en) * | 2007-12-29 | 2011-11-02 | 华为技术有限公司 | Method and apparatus for producting hyper text markup language code through Java service page label |
JP2008269618A (en) * | 2008-05-07 | 2008-11-06 | Fujitsu Ltd | Web server, and web server having function of java servlet |
US11100554B1 (en) | 2014-03-13 | 2021-08-24 | BloomReach Inc. | System, method and computer program product for providing thematic landing pages |
US10534851B1 (en) | 2014-12-19 | 2020-01-14 | BloomReach Inc. | Dynamic landing pages |
JP6297206B2 (en) * | 2015-08-11 | 2018-03-20 | 三菱電機株式会社 | Web browsing apparatus and web browsing program |
CN110020270A (en) * | 2017-08-01 | 2019-07-16 | 上海福网信息科技有限公司 | A kind of method that webpage quickly accesses |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5928323A (en) * | 1996-05-30 | 1999-07-27 | Sun Microsystems, Inc. | Apparatus and method for dynamically generating information with server-side software objects |
JPH1165905A (en) * | 1997-08-22 | 1999-03-09 | Nec Corp | Www service system using homepage update history information |
US6061715A (en) * | 1998-04-30 | 2000-05-09 | Xerox Corporation | Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions |
-
2001
- 2001-05-15 EP EP01935510A patent/EP1356394A2/en not_active Ceased
- 2001-05-15 JP JP2001585086A patent/JP5465821B2/en not_active Expired - Lifetime
- 2001-05-15 WO PCT/US2001/015621 patent/WO2001088762A2/en active Application Filing
Non-Patent Citations (1)
Title |
---|
See references of WO0188762A2 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334562A (en) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | A kind of page display method and device |
Also Published As
Publication number | Publication date |
---|---|
WO2001088762A9 (en) | 2002-10-10 |
WO2001088762A2 (en) | 2001-11-22 |
JP2004501437A (en) | 2004-01-15 |
WO2001088762A3 (en) | 2003-08-07 |
JP5465821B2 (en) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU747269B2 (en) | Method and apparatus to determine user identity and limit access to a communications network | |
US7447731B2 (en) | Method and apparatus for distributed application execution | |
CA2467933C (en) | Method and system for network caching | |
US7509393B2 (en) | Method and system for caching role-specific fragments | |
US7412535B2 (en) | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments | |
US8032586B2 (en) | Method and system for caching message fragments using an expansion attribute in a fragment link tag | |
US6085229A (en) | System and method for providing client side personalization of content of web pages and the like | |
US8239494B2 (en) | Method and system for processing published content on the internet | |
US8065383B2 (en) | Customizable and measurable information feeds for personalized communication | |
US6327609B1 (en) | System and method for using cookies in java | |
WO2001088762A2 (en) | Distributed dynamic web page caching system | |
US7587515B2 (en) | Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user | |
US20030005134A1 (en) | System, method and computer program product for presenting information to a user utilizing historical information about the user | |
US20030188021A1 (en) | Method and system for processing multiple fragment requests in a single message | |
US20020194382A1 (en) | Method and system for efficient and automated version management of embedded objects in web documents | |
US20030018778A1 (en) | System, method and computer program product for collecting information about a network user | |
JP2010539601A (en) | An approach to identify and provide targeted content to network clients with less impact on service providers | |
WO2002069196A2 (en) | System for logging on to servers through a portal computer | |
US20030014274A1 (en) | Method of maintaining a user profile | |
WO1999016003A1 (en) | System and method for providing client side personalization of content of web pages and the like | |
Bartlett et al. | Using a Content Delivery Network | |
WO2001063444A2 (en) | Commercial activity performed in conjunction with document retrieval | |
AU2011244962A1 (en) | System And Method For Enabling Publishers To Select Preferred Types Of Electronic Documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20021125 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
17Q | First examination report despatched |
Effective date: 20040811 |
|
APBN | Date of receipt of notice of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA2E |
|
APBR | Date of receipt of statement of grounds of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA3E |
|
APAF | Appeal reference modified |
Free format text: ORIGINAL CODE: EPIDOSCREFNE |
|
APBT | Appeal procedure closed |
Free format text: ORIGINAL CODE: EPIDOSNNOA9E |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20130410 |