CA2465536A1 - Methods and systems for preemptive and predictive page caching for improved site navigation - Google Patents

Methods and systems for preemptive and predictive page caching for improved site navigation Download PDF

Info

Publication number
CA2465536A1
CA2465536A1 CA002465536A CA2465536A CA2465536A1 CA 2465536 A1 CA2465536 A1 CA 2465536A1 CA 002465536 A CA002465536 A CA 002465536A CA 2465536 A CA2465536 A CA 2465536A CA 2465536 A1 CA2465536 A1 CA 2465536A1
Authority
CA
Canada
Prior art keywords
computer
request
document
remote computer
documents
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.)
Granted
Application number
CA002465536A
Other languages
French (fr)
Other versions
CA2465536C (en
Inventor
Sachin Desai
Kiran Gurudutt Bellare
Max Schireson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2465536A1 publication Critical patent/CA2465536A1/en
Application granted granted Critical
Publication of CA2465536C publication Critical patent/CA2465536C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Abstract

A method for a first computer to request documents from a second computer includes steps of sending a first request for a first document to the second computer responsive to a first user action, receiving the first document sent by the second computer responsive to the first request; identifying all references to second documents in the received first document; independently of any user action, automatically sending a second request for at least one of the second documents referred to by the identified references; receiving the second document(s) requested by the second request and storing the received second document(s) in a storage that is local to the first computer, and responsive to a user request for one or more of the second documents, attempting first to service the user request from the local storage and sending a third request to the second computer for second document(s) only when the second document(s) is not stored in the local storage. A method of servicing a request for access to a Web site by a remote computer may include a receiving step to receive the request for access to the Web site; a first sending step to send a first page of the accessed Web site to the remote computer responsive to the request, and independently of any subsequent request for a second page of the Web site originating from the remote computer, preemptively carrying out a second sending step to send the remote computer at least one selected second page based upon a prediction of a subsequent request by the remote computer and/or a history of second pages previously accessed by the remote computer.

Claims (28)

What is claimed is:
1. A method for a first computer to request documents from a second computer, comprising the steps of:
responsive to a first user action, sending a first request for a first document to the second computer;
receiving the first document sent by the second computer responsive to the first request;
identifying all references to second documents in the received first document;
independently of any user action, automatically sending a second request for at least one of the second documents referred to by the identified references in the first document;
receiving the at least one second document requested by the second request and storing the received at least one second document in a storage that is local to the first computer, and responsive to a user request for at least one of the second documents, attempting first to service the user request from the local storage and sending a third request to the second computer for the at least one of the second documents only when the at least one of the second documents is not stored in the local storage.
2. The method of Claim 1, wherein at least one of the first document and the at least one second documents includes an eXtensible Markup Language (XML) document.
The method of Claim 1, wherein at least one of the first document and the at least one second documents includes a Hyper Text Markup Language (HTML) document.
4. The method of Claim 1, wherein at least one of the first and second documents includes a Web page.
5. The method of Claim 1, wherein at least one of the first, second and third requests includes a Hyper Text Transfer Protocol (HTTP) request.
6. The method of Claim 1, further including creating and maintaining a history of the user requested second documents and sending the history to the second computer.
7. A computer configured to request documents from a second computer over a computer network, comprising:
at least one processor;
at least one data storage device;
a plurality of processes spawned by said at least one processor, the processes including processing logic for:
responsive to a first user action, sending a first request for a first document to the second computer;
receiving the first document sent by the second computer responsive to the first request;
identifying all references to second documents in the received first document;
independently of any user action, automatically sending a second request for at least one of the second documents referred to by the identified references in the first document;
receiving the at least one second document requested by the second request and storing the received at least one second document in a storage that is local to the first computer, and responsive to a user request for at least one of the second documents, attempting first to service the user request from the local storage and sending a third request to the second computer for the at least one of the second documents only when the at least one of the second documents is not stored in the local storage.
8. The computer of Claim 7, wherein at least one of the first document and the at least one second documents includes an eXtensible Markup Language (XML) document.
9. The computer of Claim 7, wherein at least one of the first document and the at least one second documents includes a Hyper Text Markup Language (HTML) document.
10. The computer of Claim 7, wherein at least one of the first and second documents includes a Web page.
11. The computer of Claim 7, wherein at least one of the first, second and third requests includes a Hyper Text Transfer Protocol (HTTP) request.
12. The computer of Claim 7, further including creating and maintaining a history of the user requested second documents and sending the history to the second computer.
13. A method of servicing a request for access to a Web site by a remote computer, comprising:
a receiving step to receive the request for access to the Web site;
a first sending step to send a first page of the accessed Web site to the remote computer responsive to the request, and independently of any subsequent request for a second page of the Web site originating from the remote computer, preemptively carrying out a second sending step to send the remote computer at least one selected second page of the Web site based upon at least one of:
a prediction of a subsequent request by the remote computer, and a history of second pages of the Web site previously accessed by the remote computer.
14. The method of Claim 13, wherein the history is maintained in a file that is retrieved from the remote computer.
15. The method of Claim 13, further comprising the step of servicing subsequent requests for second pages of the Web site originating from the remote computer.
16. The method of Claim 13, further comprising the step of updating the history of previously accessed second pages based upon subsequent requests for second pages of the Web site originating from the remote computer.
17. The method of Claim 16, wherein the updating step includes a step of assigning a weighting coefficient to each of the subsequently requested second pages based upon frequency of access, the weighting coefficients controlling which second pages are preemptively sent to the remote computer in the second sending step.
18. The method of Claim 13, wherein the prediction is based upon detected movements of a pointing device coupled to the remote computer.
19. The method of Claim 16, further comprising a step of retrieving a file from the remote computer, the file distinguishing the remote computer from among other remote computers.
20. The method of Claim 16, wherein the file includes a cookie.
21. A computer configured to service a request for access to a Web site by a remote computer over a computer network, comprising:
at least one processor;
at least one data storage device;
a plurality of processes spawned by said at least one processor, the processes including processing logic for carrying out:
a receiving step to receive the request for access to the Web site;
a first sending step to send a first page of the accessed Web site to the remote computer responsive to the request, and independently of any subsequent request for a second page of the Web site originating from the remote computer, preemptively carrying out a second sending step to send the remote computer at least one selected second page of the Web site based upon at least one of:
a prediction of a subsequent request by the remote computer, and a history of second pages of the Web site previously accessed by the remote computer.
22. The computer of Claim 21, wherein the history is maintained in a cookie that is retrieved from the remote computer.
23. The computer of Claim 21, further comprising the step of servicing subsequent requests for second pages of the Web site originating from the remote computer.
24. The computer of Claim 21, further comprising the step of updating the history of previously accessed second pages based upon subsequent requests for second pages of the Web site originating from the remote computer.
25. The computer of Claim 24, wherein the updating step includes a step of assigning a weighting coefficient to each of the subsequently requested second pages based upon frequency of access, the weighting coefficients controlling which second pages are preemptively sent to the remote computer in the second sending step.
26. The computer of Claim 21, wherein the prediction is based upon detected movements of a pointing device coupled to the remote computer.
27. The computer of Claim 24, further comprising a step of retrieving a file from the remote computer, the file distinguishing the remote computer from among other remote computers.
28. The method of Claim 24, wherein the file includes a cookie.
CA2465536A 2001-11-07 2002-11-06 Methods and systems for preemptive and predictive page caching for improved site navigation Expired - Lifetime CA2465536C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/011,073 2001-11-07
US10/011,073 US6871218B2 (en) 2001-11-07 2001-11-07 Methods and systems for preemptive and predictive page caching for improved site navigation
PCT/US2002/035574 WO2003040886A2 (en) 2001-11-07 2002-11-06 Methods and systems for preemptive and predictive page caching for improved site navigation

Publications (2)

Publication Number Publication Date
CA2465536A1 true CA2465536A1 (en) 2003-05-15
CA2465536C CA2465536C (en) 2010-02-16

Family

ID=21748762

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2465536A Expired - Lifetime CA2465536C (en) 2001-11-07 2002-11-06 Methods and systems for preemptive and predictive page caching for improved site navigation

Country Status (7)

Country Link
US (1) US6871218B2 (en)
EP (1) EP1442399A2 (en)
JP (1) JP2005535944A (en)
CN (1) CN100545833C (en)
AU (1) AU2002350141B2 (en)
CA (1) CA2465536C (en)
WO (1) WO2003040886A2 (en)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414036B1 (en) * 1999-09-01 2002-07-02 Van Beek Global/Ninkov Llc Composition for treatment of infections of humans and animals
FR2813416B1 (en) * 2000-08-31 2003-10-17 Canon Kk METHOD AND DEVICE FOR ADAPTING THE CONTENT OF DOCUMENTS ON AN INFORMATION SERVER
US7113935B2 (en) 2000-12-06 2006-09-26 Epicrealm Operating Inc. Method and system for adaptive prefetching
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US6947772B2 (en) * 2002-01-31 2005-09-20 Qualcomm Incorporated System and method for providing messages on a wireless device connecting to an application server
AU2003212140A1 (en) * 2002-03-11 2003-09-22 Research In Motion Limited System and method for pushing data to a mobile device
US8516114B2 (en) * 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
US6996394B2 (en) 2002-08-30 2006-02-07 Qualcomm Incorporated Server processing in providing messages for a wireless device connecting to a server
US7039398B2 (en) 2002-08-30 2006-05-02 Qualcomm Incorporated Server processing of interactive screens for a wireless device
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US7574707B2 (en) * 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7594015B2 (en) * 2003-07-28 2009-09-22 Sap Ag Grid organization
US7546553B2 (en) * 2003-07-28 2009-06-09 Sap Ag Grid landscape component
US7568199B2 (en) * 2003-07-28 2009-07-28 Sap Ag. System for matching resource request that freeing the reserved first resource and forwarding the request to second resource if predetermined time period expired
US7703029B2 (en) 2003-07-28 2010-04-20 Sap Ag Grid browser component
US7673054B2 (en) 2003-07-28 2010-03-02 Sap Ag. Grid manageable application process management scheme
US7631069B2 (en) * 2003-07-28 2009-12-08 Sap Ag Maintainable grid managers
GB0321674D0 (en) * 2003-09-16 2003-10-15 Cognima Ltd Catching content on phones
US7216203B1 (en) * 2003-09-23 2007-05-08 Sun Microsystems, Inc. Read ahead technique for network based file systems
US7810090B2 (en) * 2003-12-17 2010-10-05 Sap Ag Grid compute node software application deployment
US7793290B2 (en) * 2004-12-20 2010-09-07 Sap Ag Grip application acceleration by executing grid application based on application usage history prior to user request for application execution
US7565383B2 (en) * 2004-12-20 2009-07-21 Sap Ag. Application recovery
EP1844612B1 (en) * 2005-02-04 2017-05-10 Barco NV Method and device for image and video transmission over low-bandwidth and high-latency transmission channels
US20060224700A1 (en) * 2005-03-15 2006-10-05 Microsoft Corporation Multipart response generation
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513022A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513014A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
CA2513010A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513016A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
US20070073833A1 (en) * 2005-09-28 2007-03-29 International Business Machines Corporation Web page preview without browsing to web page
WO2008030510A2 (en) * 2006-09-06 2008-03-13 Nexplore Corporation System and method for weighted search and advertisement placement
US20080072069A1 (en) * 2006-09-15 2008-03-20 Emc Corporation Protecting client-side code
US8250178B2 (en) * 2006-09-15 2012-08-21 Emc Corporation Protecting client-side code
US8812945B2 (en) * 2006-10-11 2014-08-19 Laurent Frederick Sidon Method of dynamically creating real time presentations responsive to search expression
US8942182B2 (en) * 2006-11-21 2015-01-27 Blackberry Limited Adjustable download rate for a portable electronic device
US9070114B2 (en) * 2006-11-21 2015-06-30 Blackberry Limited Method for receiving email attachment on a portable electronic device
US20080301300A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Predictive asynchronous web pre-fetch
US8145766B2 (en) * 2007-08-08 2012-03-27 Research In Motion Limited Method for pre-fetching data chunks of an email attachment on a portable electronic device
JP2011108102A (en) * 2009-11-19 2011-06-02 Sony Corp Web server, web browser and web system
CN101777081A (en) * 2010-03-08 2010-07-14 中兴通讯股份有限公司 Method and device for improving webpage access speed
US8930443B1 (en) 2010-03-19 2015-01-06 Amazon Technologies, Inc. Distributed network page generation
US9148466B2 (en) * 2010-10-05 2015-09-29 Yahoo! Inc. Presenting modules in a browser
US8788927B2 (en) * 2011-02-24 2014-07-22 Cbs Interactive Inc. System and method for displaying web page content
US9065793B2 (en) 2011-02-24 2015-06-23 Cbs Interactive Inc. Rendering web content using pre-caching
US8732569B2 (en) 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8996987B2 (en) * 2011-06-30 2015-03-31 Apple Inc. List view optimization
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US8745212B2 (en) * 2011-07-01 2014-06-03 Google Inc. Access to network content
US8566696B1 (en) 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US8600921B2 (en) * 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
CN102647481B (en) * 2012-03-31 2016-04-06 北京奇虎科技有限公司 A kind of device and method of the access preset network address
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US9348936B2 (en) * 2012-07-25 2016-05-24 Oracle International Corporation Heuristic caching to personalize applications
US8887239B1 (en) 2012-08-08 2014-11-11 Google Inc. Access to network content
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
CN103853782B (en) * 2012-12-05 2018-08-28 腾讯科技(深圳)有限公司 Information browsing method and information browsing device
US9628344B2 (en) * 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with reducer services network
US9565233B1 (en) * 2013-08-09 2017-02-07 Google Inc. Preloading content for requesting applications
CN103647727B (en) * 2013-11-29 2017-01-18 福建星网锐捷网络有限公司 Audio and video transmission control method and audio and video transmission control device
US20160127497A1 (en) * 2014-11-03 2016-05-05 Evgeny Himmelreich Smart site preloading
CN104572981B (en) * 2014-12-31 2017-11-24 广东欧珀移动通信有限公司 A kind of Webpage method for caching and processing and mobile terminal device
CN108932240B (en) * 2017-05-23 2020-11-17 华为技术有限公司 Method, device, equipment and storage medium for accelerating cursor movement in network view
US10958760B2 (en) * 2017-11-27 2021-03-23 International Business Machines Corporation Data processing system using pre-emptive downloading

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
ATE313203T1 (en) 1997-06-25 2005-12-15 Inforonics Inc APPARATUS AND METHOD FOR IDENTIFYING CLIENTS ACCESSING NETWORK SITES
JPH1124982A (en) * 1997-06-30 1999-01-29 Nec Corp Web page lookahead system based on history
JPH11149405A (en) * 1997-11-14 1999-06-02 Hitachi Ltd Www cache system and www data lock-ahead method
JPH11219313A (en) * 1998-02-02 1999-08-10 Mitsubishi Electric Corp Content look-ahead method
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
JPH11265400A (en) * 1998-03-13 1999-09-28 Omron Corp Information processor, its method, network system, and recording medium
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
JP3634642B2 (en) * 1998-10-22 2005-03-30 シャープ株式会社 Information acquisition apparatus and method, and medium storing information acquisition control program
JP3912464B2 (en) * 1998-11-13 2007-05-09 セイコーエプソン株式会社 Screen display data reading device
US6332127B1 (en) * 1999-01-28 2001-12-18 International Business Machines Corporation Systems, methods and computer program products for providing time and location specific advertising via the internet
JP3764291B2 (en) * 1999-03-02 2006-04-05 株式会社東芝 Information distribution system, mobile computer, information server device, cache server device, and prefetch cache processing method
JP2000311108A (en) * 1999-04-27 2000-11-07 Nec Corp System and method for loading home page
US6647534B1 (en) * 1999-06-30 2003-11-11 Ricoh Company Limited Method and system for organizing document information in a non-directed arrangement of documents
US6622168B1 (en) * 2000-04-10 2003-09-16 Chutney Technologies, Inc. Dynamic page generation acceleration using component-level caching

Also Published As

Publication number Publication date
WO2003040886A3 (en) 2004-03-11
JP2005535944A (en) 2005-11-24
US6871218B2 (en) 2005-03-22
AU2002350141B2 (en) 2007-02-15
CN1605079A (en) 2005-04-06
EP1442399A2 (en) 2004-08-04
CA2465536C (en) 2010-02-16
CN100545833C (en) 2009-09-30
WO2003040886A2 (en) 2003-05-15
US20030088580A1 (en) 2003-05-08

Similar Documents

Publication Publication Date Title
CA2465536A1 (en) Methods and systems for preemptive and predictive page caching for improved site navigation
US7941609B2 (en) HTTP acceleration by prediction and pre-fetching
US8069406B2 (en) Method and system for improving user experience while browsing
CN1095264C (en) High-availability computer server system
US6442651B2 (en) Shared cache parsing and pre-fetch
US6317778B1 (en) System and method for replacement and duplication of objects in a cache
EP1002410B1 (en) A distributed system and method for prefetching objects
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
CN100531186C (en) Object transfer control in communications network
US6763248B1 (en) Radio network communication system
KR100881668B1 (en) Apparatus and method for prefetching web page
US5991760A (en) Method and apparatus for modifying copies of remotely stored documents using a web browser
US8473688B2 (en) Anticipatory response pre-caching
US8156429B2 (en) Method and system for accelerating downloading of web pages
US6553461B1 (en) Client controlled pre-fetching of resources
JP3764291B2 (en) Information distribution system, mobile computer, information server device, cache server device, and prefetch cache processing method
KR20090125108A (en) System and method for preloading content on the basis of user context
CZ289563B6 (en) Server computer connectable to a network and operation method thereof
JP2000500259A (en) Method and apparatus for server-independent caching of dynamically generated customized pages
US6532492B1 (en) Methods, systems and computer program products for cache management using admittance control
US20040255003A1 (en) System and method for reordering the download priority of markup language objects
US8539340B2 (en) Method to serve real-time data in embedded web server
WO2001072010A2 (en) Method and apparatus for demand based paging algorithm
US6934761B1 (en) User level web server cache control of in-kernel http cache
US7069297B2 (en) Data transfer scheme using re-direct response message for reducing network load

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20221107

MKEX Expiry

Effective date: 20221107