EP1356394A2 - Systeme de mise en antememoire repartie de page web dynamique - Google Patents
Systeme de mise en antememoire repartie de page web dynamiqueInfo
- 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 OR CALCULATING; 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
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 (fr) | 2000-05-16 | 2001-05-15 | Systeme de mise en antememoire repartie de page web dynamique |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1356394A2 true EP1356394A2 (fr) | 2003-10-29 |
Family
ID=24288888
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP01935510A Ceased EP1356394A2 (fr) | 2000-05-16 | 2001-05-15 | Systeme de mise en antememoire repartie de page web dynamique |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP1356394A2 (fr) |
| JP (1) | JP5465821B2 (fr) |
| WO (1) | WO2001088762A2 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1182589A3 (fr) * | 2000-08-17 | 2002-07-24 | International Business Machines Corporation | Mise à disposition de documents électroniques depuis des parties présentes en antémémoire |
| GB2412771B (en) * | 2002-05-29 | 2006-01-04 | Flyingspark Ltd | Methods and system for using caches |
| GB2412769B (en) * | 2002-05-29 | 2006-09-13 | Flyingspark Ltd | Methods and systems for using caches |
| 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 |
| US7200645B2 (en) | 2002-06-26 | 2007-04-03 | International Business Machines Corporation | Running dynamic web pages off-line with a wizard |
| FR2842624B1 (fr) * | 2002-07-22 | 2006-05-19 | France Telecom | Procede de mise a jour de donnees internet permettant un fonctionnement allege de moyens de stockage de telles 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 (ja) * | 2003-06-18 | 2005-02-03 | Ricoh Co Ltd | 電子装置及びWebページ生成方法 |
| CN101470591B (zh) * | 2007-12-29 | 2011-11-02 | 华为技术有限公司 | 通过Java服务页面标签生成超文本置标语言代码的方法与装置 |
| JP2008269618A (ja) * | 2008-05-07 | 2008-11-06 | Fujitsu Ltd | Webサーバ、Javaサーブレットの機能を有するWebサーバ |
| 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 (ja) * | 2015-08-11 | 2018-03-20 | 三菱電機株式会社 | ウェブ閲覧装置およびウェブ閲覧プログラム |
| CN110020270A (zh) * | 2017-08-01 | 2019-07-16 | 上海福网信息科技有限公司 | 一种网页快速访问的方法 |
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 (ja) * | 1997-08-22 | 1999-03-09 | Nec Corp | HomePage更新履歴情報の利用によるwwwサービス方式 |
| 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 WO PCT/US2001/015621 patent/WO2001088762A2/fr not_active Ceased
- 2001-05-15 EP EP01935510A patent/EP1356394A2/fr not_active Ceased
- 2001-05-15 JP JP2001585086A patent/JP5465821B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| See references of WO0188762A2 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5465821B2 (ja) | 2014-04-09 |
| JP2004501437A (ja) | 2004-01-15 |
| WO2001088762A9 (fr) | 2002-10-10 |
| WO2001088762A2 (fr) | 2001-11-22 |
| WO2001088762A3 (fr) | 2003-08-07 |
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 (fr) | Procede et systeme de mise en antememoire de reseau | |
| 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 | |
| US7181488B2 (en) | System, method and computer program product for presenting information to a user utilizing historical information about the user | |
| US7149704B2 (en) | System, method and computer program product for collecting information about a network user | |
| US6327609B1 (en) | System and method for using cookies in java | |
| US7054917B1 (en) | Method for accelerating delivery of content in a computer network | |
| WO2001088762A2 (fr) | Systeme de mise en antememoire repartie de page web dynamique | |
| US7587515B2 (en) | Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user | |
| US20030188021A1 (en) | Method and system for processing multiple fragment requests in a single message | |
| US20020078191A1 (en) | User tracking in a Web session spanning multiple Web resources without need to modify user-side hardware or software or to store cookies at user-side hardware | |
| US20020194382A1 (en) | Method and system for efficient and automated version management of embedded objects in web documents | |
| US20050267973A1 (en) | Customizable and measurable information feeds for personalized communication | |
| JP2010539601A (ja) | サービスプロバイダへの影響を抑制した状態で、ネットワーククライアントに対して的を絞ったコンテンツを特定して提供するためのアプローチ | |
| WO2002069196A2 (fr) | Systeme d'ouverture de session sur des serveurs au moyen d'un ordinateur portail | |
| WO2005111897A2 (fr) | Systeme et procede permettant a des editeurs de selectionner des types preferes de documents electroniques | |
| US20030014274A1 (en) | Method of maintaining a user profile | |
| WO1999016003A1 (fr) | Systeme et procede permettant de fournir une personnalisation client du contenu de pages web et analogues | |
| Bartlett | Using a Content Delivery Network | |
| JP2005242961A (ja) | 情報共有システム及び、これに用いるためのウェブブラウザからのウェブページ編集プログラム並びに、ウェブページ編集方法 |
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 |