WO1998020426A1 - External cache for on-line resources - Google Patents

External cache for on-line resources Download PDF

Info

Publication number
WO1998020426A1
WO1998020426A1 PCT/US1997/019956 US9719956W WO9820426A1 WO 1998020426 A1 WO1998020426 A1 WO 1998020426A1 US 9719956 W US9719956 W US 9719956W WO 9820426 A1 WO9820426 A1 WO 9820426A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
file
date
cached
client node
Prior art date
Application number
PCT/US1997/019956
Other languages
French (fr)
Other versions
WO1998020426A9 (en
Inventor
Harman D. Cadis
Bruce Grant
Patrick C. Williamson
Kevin Webster
Original Assignee
Microage Computer Centers, Inc.
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 Microage Computer Centers, Inc. filed Critical Microage Computer Centers, Inc.
Priority to AU51022/98A priority Critical patent/AU5102298A/en
Publication of WO1998020426A1 publication Critical patent/WO1998020426A1/en
Publication of WO1998020426A9 publication Critical patent/WO1998020426A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates generally to on-line computer network systems More particularly, the present invention relates to an external cache that provides client node access to on-line resources traditionally accessible only from the network server node.
  • Web pages and other on-line computer resources are often "dynamic" because they provide new or updated information to multiple end-users on a periodic basis
  • "static" information sources such as CD-ROMs
  • CD-ROMs are configured to provide a specific amount of information to a relatively limited number of end-users
  • the download time associated with Web pages and other on-line resources can be undesirably long
  • the download time noticeably increases when the desired content includes relatively large data files, e.g , video, graphic, or audio files
  • some Internet information providers have chosen to develop "fast-downloading" Web pages having a relatively small amount of complex graphic, video, and/or audio data While this
  • Web pages are designed for marketing and advertising purposes; marketing representatives of a company may direct a potential customer or client to the company's Web page for background or preliminary information.
  • this marketing strategy assumes that the potential customer or client has ready access to the Internet or the WWW. Accordingly, the technological resources available to the customer may limit the practical application of such a marketing strategy.
  • External caches may be employed at client nodes in an attempt to address the above shortcomings related to the downloading and presentation of on-line information and resources.
  • Unfortunately, such external caches have typically been incompatible with the functionality of "network browser” or similar programs, which provide an interface between the computer network and end-users located at client nodes.
  • Another advantage is that the present invention enables quick access to on-line resources, such as Web pages, via an external cache located at a client node of a computer network.
  • a further advantage is that relatively "dynamic" Web page content, which is susceptible to periodic updating at a server node of the computer network, can be combined with relatively "static" Web page content stored in an external cache located at a client node of the computer network.
  • an external cache having Web page content may be embodied in a portable storage medium such that the Web page content may be presented to an end-user without establishing a connection to the Internet or the WWW.
  • Web page content can be stored in an external cache that is fully compatible with conventional "network browser" programs.
  • Such a computer system may include a client node configured to communicate with a server node of a computer network, a network browser program residing at the client node, an external cache in data communication with the client node, and a computer readable program segment residing at the client node.
  • the external cache contains a cached file associated with a network resource, such as a Web page, and the program segment is configured to indicate a location of the external cache to the network browser program.
  • FIG. 1 is a schematic representation of an exemplary computer network configured in accordance with the present invention
  • FIG. 2 is a schematic representation of the contents of an exemplary external cache employed by the computer network
  • FIG. 3 is a flow diagram of a network resource caching process
  • FIG . 4 is a flow diagram of a network resource management process
  • FIG . 5 is a flow diagram of a network resource selection process. DFTAII .ED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 an exemplary computer network 1 0 configured in accordance with the present invention is illustrated.
  • computer network 1 0 provides end-users with access to on-line network resources via, e.g., the Internet. Such network resources may be accessed, processed, and manipulated by computer network 1 0 in response to end-user interaction with computer network 1 0.
  • network resources generally refers to data, information, electronic documents, Web pages, and the like, all of which may be remotely accessible to end-users of computer network 1 0. It should be appreciated that the specific configuration depicted in FIG . 1 is merely exemplary, and that the present invention may be implemented with any number of different network architectures.
  • Computer network 1 0 generally includes any number of server nodes configured to communicate with any number of local computer systems. For the sake of clarity, only one server node 1 2 and one local computer system 1 4 are illustrated in FIG. 1 . However, those skilled in the art will appreciate that server node 1 2 may communicate with and support any number of additional server nodes and/or local computer systems as necessary for the specific application.
  • the various elements of computer network 1 0 may be interconnected via an associated number of data communication channels or links 1 6.
  • data communication link 1 6 facilitates substantially real time interaction between local computer system 1 4 and server node 1 2.
  • Data communication link 1 6 may employ conventional wired or wireless modem technology, high speed data transmission protocols, fiber optic technology, or any number of suitable data transmission methodologies.
  • Computer system 1 4 may be configured as an individual personal computer, a LAN, a WAN, or any suitable computing architecture having a sufficient amount of processing power and memory capacity to manage and allocate network resources in accordance with the present invention.
  • Computer system 1 4 preferably includes a client node 1 8, configured to communicate with server node 1 2, and an external cache 20 in data communication with client node 1 8.
  • External cache 20 may either be integral to client node 1 8 or, preferably, embodied in a computer program product 21 (described below) that is compatible with client node 1 8. It should be appreciated that client node 1 8 may function as a local server in the context of a LAN or a WAN arrangement.
  • Computer system 1 4 may additionally include any number of conventional peripheral devices known to those skilled in the art, e.g., a display unit 22, a user interface 24, or the like.
  • Client node 1 8 preferably includes conventional memory elements (not shown) having sufficient memory capacity to store data and program code utilized by the present invention.
  • client node 1 8 preferably includes conventional processing components (not shown) having sufficient processing power to manipulate data and otherwise carry out the various processes described below.
  • a suitably configured network browser program 26 resides and operates at client node 1 8.
  • network browser program 26 enables an end-user located at client node 1 8 to access, view, and interact with any number of Web pages or other network resources that may be available on the Internet.
  • network browser program 26 utilizes the commercially available Netscape ® Navigator ® program (version 3.0) .
  • the present invention may employ any suitable network browser program 26.
  • Server node 1 2 is suitably configured to provide access to a plurality of network files 28.
  • Network files 28 may be associated with a network version of a network resource 30, e.g., a particular Web page available on the World Wide Web (WWW).
  • WWW World Wide Web
  • a Web page is typically identified as a single hypertext document, the document may actually include or access any number of distinctly-named network files 28.
  • a given Web page may be associated with any number of audio-visual files (.avi files), graphics files (.gif files), and/or hypertext files (.htm files) .
  • a first network resource 30a may be defined by any number of associated network files 28a.
  • a second network resource 30b may also include any number of associated network files 28b.
  • each network resource 30 typically includes more than one associated network file 28, such is not a restriction on the present invention.
  • Server node 1 2 is configured to provide a specific network resource 30 to client node 1 8 in response to a request originating from client node 1 8.
  • the particular network resource 30 may be maintained at server node 1 2 or it may be maintained at a remote server and made available to server node 1 2 via computer network 1 0.
  • each network file 28 processed by server node 1 2 includes an associated date/time stamp 32.
  • Date/time stamps 32 may be desirable to facilitate monitoring and updating of network files 28. For example, content providers update information on their Web pages frequently to provide current and accurate data to interested end-users.
  • date/time stamps 32 are preferably processed by computer system 1 4 to automatically select the newest files associated with a requested network resource 30.
  • client node 1 8 communicates with an external cache 20, which may be integral to client node 1 8 (e.g., embodied in a hard disk memory element) or remote from client node 1 8 (e.g., embodied in a physically distinct server that communicates with client node 1 8) .
  • external cache 20 is embodied in a portable data storage device, such as computer program product 21 .
  • Computer program product 21 may be realized as a digital recording disc (e.g., a CD-ROM), a magnetic recording disc (e.g., a floppy disc), or the like.
  • Computer program product 21 includes a storage medium that stores computer readable program code and computer readable data in a conventional manner.
  • program code refers to processing instructions written in a specific syntax as necessary for the particular application.
  • external cache 20 enables client node 1 8 to access a cached version of a selected network resource 30 in lieu of a downloaded network version of the selected network resource 30.
  • the ability to access a cached version of network resource 30 greatly reduces the downloading time typically associated with interactive use of computer network 1 0.
  • the network version of a network resource 30 may contain recent revisions or updated content not included in the current cached version of the same network resource 30.
  • the different versions of the network resource may contain a varied amount of informative content.
  • the network version may be associated with a restricted or limited Web page having a relatively low content while the cached version may be associated with a fully operational Web page having enhanced sound, graphics, or video. Referring to FIG.
  • External cache 20 preferably contains a plurality of cached files 34, a file directory 36, and a computer readable program segment 38.
  • External cache 20 and program segment 38 are preferably embodied in a single storage medium such as computer program product 21 .
  • program segment 38 may reside independently at client node 1 8 and functionally cooperate with external cache 20 and/or network browser program 26.
  • External cache 20 is configured to provide cached files 34 to network browser program 26 for processing at client node 1 8.
  • external cache 20 may contain any number of associated cached files 34.
  • cached files 34 may include audio-visual files, graphics files, and/or hypertext files associated with Web page content.
  • a specific cached file 34 and a corresponding network file 28 may be designated within computer network 1 0 with the same file name and extension.
  • each cached file 34 includes a date/time stamp 40 that indicates when the associated cached file 34 was transferred to or created in external cache 20.
  • date/time stamps 40 may be employed by computer system 1 4 during file maintenance, content updating, or file selection processes. The processing of date/time stamps 32 and 40 is described below in connection with the selection of network files 28 and cached files 34 (see FIG. 5).
  • External cache 20 preferably includes file directory 36, which may be configured to direct network browser program 26 to select a number of cached files 34 in response to a request for a particular network resource 30.
  • file directory 36 preferably functions as an interface between network browser program 26 and cached files 34 stored in external cache 20.
  • File directory 36 may be configured as a file allocation table, a file manager program, or any suitable data base management architecture.
  • external cache 20 also includes program segment 38.
  • program segment 38 is compatible with Hypertext Markup Language (HTML) .
  • HTML Hypertext Markup Language
  • HTML Hypertext Markup Language
  • Program segment 38 is preferably configured to indicate a location of external cache 20 to network browser program 26 during operation of computer system 1 4. Program segment 38 may also be configured to cause network browser program 26 to access cached files 34 in response to requests for network resources 30.
  • program segment 38 is maintained at client node 1 8 under a suitable file name having an "htm" extension.
  • program segment 38 instructs network browser program 26 to search external cache 20 for files related to the requested network resource 30. If corresponding network files 28 also exist for the requested network resource 30, then computer system 1 4 compares the date/time stamp 32 associated with each network file 28 with the date/time stamp 40 associated with each corresponding cached file 34. Consequently, network files 28 associated with the requested network resource 30 are downloaded from server node 1 2 only when the corresponding cached files 34 are outdated or when no corresponding cached files 34 exist.
  • Process 42 can be performed by computer system 1 4 to capture and store network resources 30 for subsequent retrieval at client node 1 8.
  • Network resource caching process 42 begins with a task 44, which establishes a high speed data communication link to computer network 1 0. It should be noted that the data communication link established in task 44 may, but need not be, data communication link 1 6 described above in connection with FIG. 1 .
  • Task 44 may, for example, activate a modem at client node 1 8 to create an on-line connection between client node 1 8 and server node 1 2. Due to the high volume of data associated with many network resources 30, a high data rate communications channel (e.g., a T1 channel) is preferably utilized during process 42.
  • a high data rate communications channel e.g., a T1 channel
  • Task 46 is performed to activate network browser program 26.
  • Task 46 may be performed automatically upon a start-up procedure at client node 1 8, or the end-user may be prompted to activate network browser program 26 via user interface 24 (see FIG. 1 ) .
  • a task 48 may be performed to condition the session and disk caches (not shown in FIG. 1 ) associated with network browser program 26 and/or client node 1 8.
  • a session cache may be utilized by network browser program 26 as a "temporary" memory element.
  • network browser program 26 may obtain downloaded network files 28 and store such files in the session cache for subsequent processing and/or presentation at client node 1 8.
  • Task 48 may be performed to ensure that sufficient memory space is available at client node 1 8 to receive the desired amount of data associated with network resources 30. For example, task 48 may adjust the storage capacity of the session and disk caches or clear the contents of the session and disk caches.
  • client node 1 8 may begin to receive network resources 30 from server node 1 2. Accordingly, a task 50 is performed to identify the next network resource 30 for which downloading is desired. Task 50 may require end-user interaction in response to a prompt provided by network browser program 26.
  • each network resource 30 is identified by a unique address. For example, a Uniform Resource Locator (URL) is commonly used to identify Web pages and other on-line resources. A URL typically identifies the resource provider, the server, the directory, and/or the specific file name associated with the particular on-line resource.
  • URL Uniform Resource Locator
  • a task 52 is performed to download network files 28 associated with the identified network resource 30 (see FIG. 1 ) .
  • Task 52 may cause network browser program 26 to communicate with server node 1 2 in a suitable manner to initiate an appropriate data transmission procedure.
  • the downloaded network files 28 may be temporarily stored within a session cache (not shown) associated with network browser program 26.
  • a task 54 adds appropriate date/time stamps 40 (see FIG. 2) to the downloaded network files 28 using any number of conventional data processing methodologies.
  • Task 54 may be performed at either server node 1 2 or client node 1 8. Although network files 28 may already have associated date/time stamps 32 (see FIG.
  • task 54 updates date/time stamps 32 or adds new date/time stamps 40 to indicate when network files 28 were downloaded.
  • a query task 56 is performed to determine whether more network resources 30 are to be downloaded to client node 1 8.
  • Query task 56 may involve end-user interaction at client node 1 8, e.g., the manual entry or selection of additional URLs.
  • the present invention is capable of downloading any number of Web pages, electronic documents, or other on-line information during network resource caching process 42 (assuming the session and disk caches have sufficient capacity) . If additional network resources 30 are selected for downloading and external caching, then process 42 is reentered at task 50.
  • tasks 50, 52, 54, and 56 form a processing loop that identifies and downloads the desired number of network resources 30.
  • Task 58 is performed to transfer the downloaded network files 28 from the session cache to a subdirectory (not shown in FIG . 1 ) residing at client node 1 8.
  • Task 58 may utilize conventional data processing techniques to copy or move the relevant network files 28 to the subdirectory.
  • This subdirectory may be a portion of conventional hard disk memory resident at client node 1 8.
  • cached files 34 are those network files 28 that have been transferred to the subdirectory located at client node 1 8.
  • An optional task may be performed prior to task 58 if necessary for compatibility with network browser program 26 or specific processing protocols employed by computer network 1 0.
  • the optional task may deactivate network browser program 26 or terminate data communication link 1 6 between client node 1 8 and server node 1 2 to facilitate the transferring of network files 28.
  • a task 60 is performed to create program segment 38 within the subdirectory.
  • Program segment 38 is described above in connection with FIG. 1 .
  • a task 62 is preferably initiated to create file directory 36 within the subdirectory.
  • File directory 36 is described above in connection with FIG 2.
  • Tasks 60 and 62 may require end-user participation at client node 1 8, e.g., programming, data input, or file management.
  • a task 64 causes the contents of the subdirectory to be transferred to external cache 20.
  • the subdirectory contains cached files 34 associated with at least one network resource 30, file directory 36, and program segment 38.
  • Task 64 may utilize any suitable methodology to write the contents of the subdirectory onto a suitable storage medium, such as a CD-ROM, a magnetic recording disk, or an external hard drive. Following task 64, network resource caching process 42 ends. Although the contents of the subdirectory are preferably transferred according to task 64, such is not a requirement of the present invention. For example, cached files 34 residing in the subdirectory may be indefinitely maintained for subsequent retrieval at client node 1 8 in a relatively short time (compared to the time required to download corresponding network files 28 from server node 1 2).
  • FIG. 4 is a flow diagram of a network resource management process 66 performed by computer system 1 4.
  • Process 66 is performed after external cache 20 has been created and configured for compatibility with client node 1 8.
  • Process 66 may be implemented in software programs resident at client node 1 8 and process 66 may be performed in response to various end-user instructions received at client node 1 8.
  • Network resource management process 66 begins with a task 68, which establishes a network connection between client node 1 8 and server node 1 2.
  • Task 68 may, for example, establish data communication link 1 6 (see FIG. 1 ) via a modem or other suitable data transmission device located at client node 1 8.
  • a task 70 activates network browser program 26.
  • Task 70 is similar to task 46 described above in connection with network resource caching process 42.
  • a task 72 activates external cache 20 such that cached files 34 associated with network resources 30 are accessible to client node 1 8.
  • Task 72 may, for example, prompt or activate program segment 38.
  • task 72 may be performed automatically as an integral part of either task 70 or task 72.
  • task 72 may require end-user interaction at client node 1 8.
  • client node 1 8 activates external cache 20 when the end-user inputs the file name associated with program segment 38 in response to a LOCATION prompt produced by Netscape ® Navigator ® .
  • a task 74 receives a request for a specific network resource
  • a request for an Internet or WWW resource includes a unique address or URL.
  • task 74 is responsive to an end-user input at client node 1 8.
  • a task 76 is performed.
  • Task 76 instructs network browser program 26 to search external cache 20 for cached files 34 associated with the selected URL.
  • Task 76 may be carried out by program segments within network browser program 26 or under the direction of program segment 38.
  • FIG. 5 is a flow diagram of a network resource selection process 78 performed by computer system 1 4.
  • process 78 is performed at client node 1 8 in response to network resource management process 66.
  • process 78 is performed to select whether files associated with the requested network resource 30 are downloaded from server node 1 2 or retrieved locally from external cache 20.
  • process 78 may be carried out, in full or in part, by network browser program 26. For simplicity, the following description assumes that only one file is associated with the requested network resource 30. However, as described above, any number of network files 28 or cached files 34 may actually define a given network resource 30. As such, process 78 may be repeated for each relevant file or modified to process a plurality of files simultaneously.
  • Network resource selection process 78 begins with a query task 80, which determines whether the network file 28 associated with the requested network resource 30 is available at server node 1 2 (see task 74 of network resource management process 66).
  • Query task 80 may, for example, prompt an interrogation of a file directory maintained at server node 1 2. If query task 80 determines that the network file 28 is available at server node 1 2, then a query task 82 is initiated.
  • Query task 82 determines whether a corresponding cached file 34 associated with the requested network resource 30 is present in external cache 20. Query task 82 may cause network browser program 26 to access, survey, or search file directory 36 (see FIG. 2) for the cached file 34. If query task 82 determines that no corresponding cached file 34 exists, then a task 84 is performed to download the network file 28 from server node 1 2. Task 84 may utilize any number of conventional methodologies to download the network file 28. After task 84 downloads the network file 28 from server node 1 2, network resource management process 78 ends.
  • query task 86 determines whether the network file 28 (located during query task 80) is newer than the corresponding cached file 34. In the preferred embodiment, query task 86 compares the date/time stamp 32 (see FIG. 1 ) associated with the network file 28 to the date/time stamp 40 (see FIG. 2) associated with the corresponding cached file 34. Query task 86 may employ conventional data processing techniques known to those skilled in the art. Query task 86 ensures that the end-user is provided with the most current files associated with the requested network resource 30, whether such files are present at server node 1 2 or external cache 20.
  • query task 86 determines that the network file 28 is newer than the corresponding cached file 34. If query task 86 determines that the network file 28 is newer than the corresponding cached file 34, then task 84 is initiated. As described above, task 84 causes the network file 28 to be downloaded from server node 1 2 to client node 1 8. If, however, query task 86 determines that the particular network file 28 is not newer than the corresponding cached file 34, then a task 88 is prompted. During task 88, the corresponding cached file 34 is retrieved from external cache 20 for processing by client node 1 8. In the preferred embodiment, if the network file 28 and the corresponding cached file 34 have equivalent date/time stamps, then task 88 is initiated. Thus, external cache 20 is accessed to quickly provide client node 1 8 with the file associated with the desired network resource 30. When network files 28 are updated at server node 1 2, computer network 1 0 processes the corresponding date/time stamps and accesses the updated network files 28 to thereby override external cache 20.
  • query task 80 determines whether the network file 28 associated with the selected network resource 30 is available at server node 1 2. If query task 80 determines that the network file 28 is not available at server node 1 2, then a query task 90 is initiated. Query task 90 determines whether a cached file 34 associated with network resource 30 is available at external cache 20. Query task 90 is substantially similar to query task 82 described above. Under certain circumstances, a corresponding network file 28 may not be available at server node 1 2. For example, a network file 28 may be unavailable if it is currently being updated, if server node 1 2 or any other component of computer network 1 0 malfunctions, or if the requested network resource 30 no longer exists or is no longer accessible through server node 1 2.
  • Task 92 retrieves the cached file 34 from external cache 20.
  • Task 92 may be similar to task 88 described above.
  • network resource management process 78 ends.
  • Task 94 may be performed.
  • Task 94 provides an error message or other suitable indication to the end-user at client node 1 8. This message may indicate that the requested network resource 30 is currently unavailable, is being updated, or is not accessible via server node 1 2 or external cache 20.
  • Task 94 may prompt the end-user to verify and reenter the requested URL, input a new URL, or contact a service technician.
  • network resource selection process 78 may prompt other processes or procedures related to computer network 1 0 in response to task 94. Following task 94, process 78 ends.
  • network resource selection process 78 may be repeated for any number of requests for any number of network resources 30.
  • computer system 1 4 may be configured to prompt the end-user to provide a particular computer program product 21 containing external cache 20, e.g., a specific CD-ROM, in response to a request for a specific network resource 30.
  • the present invention provides an improved external cache for use with an on-line computer network.
  • the external cache is configured for compatibility with conventional network browser programs.
  • the external cache enables quick access to on-line resources, such as Web pages, directly from a client node rather than via a remote network server node.
  • the present invention facilitates the combination of relatively "dynamic" Web page content, which may be susceptible to periodic updating at the server node, with relatively "static" Web page content contained in the external cache.
  • the external cache may be embodied in a portable storage medium such that Web pages or other network resources may be presented to an end-user without establishing a connection to the Internet or the World Wide Web.

Abstract

An external cache (20) for use with a computer network (10) communicates with a client node (18) of the network (10). The external cache (20) contains a number of cached files associated with a network resource (30) such as a Web page. Network files (28) corresponding to the cached files are maintained at a server node (12) of the network (10) and may be downloaded to the client node (18) according to conventional techniques. In response to an end-user request for the Network Resource (30), the computer network (10) searches the server node (12) and the external cache (20) for the associated network files (28) and cached files. Date/time stamps attached to the network files (28) and cached files are processed to determine the most current files associated with the requested network resource (30). The client node (18) retrieves cached files, when such files are current and available, to reduce the access/download time associated with the network resource (30).

Description

9956
EXTERNAL CA CH E FOR O N- L I NE R E S OUR C E S FIELD OF THE INVENTION
The present invention relates generally to on-line computer network systems More particularly, the present invention relates to an external cache that provides client node access to on-line resources traditionally accessible only from the network server node.
BACKGROUND OF THE INVENTION
Interest in on-line computer services, the Internet, and the World Wide Web (WWW) has increased dramatically in recent years Individual end-users, small businesses, and large corporations develop Web pages for entertainment, marketing and sales, advertising, and other purposes Web pages and other on-line computer resources are often "dynamic" because they provide new or updated information to multiple end-users on a periodic basis In contrast, "static" information sources, such as CD-ROMs, are configured to provide a specific amount of information to a relatively limited number of end-users Due to the practical limitations of modems and other data transmission devices, the download time associated with Web pages and other on-line resources can be undesirably long The download time noticeably increases when the desired content includes relatively large data files, e.g , video, graphic, or audio files Excessive downloading time detracts from the convenience and enjoyment otherwise associated with use of the Internet and other interactive on-line services Accordingly, some Internet information providers have chosen to develop "fast-downloading" Web pages having a relatively small amount of complex graphic, video, and/or audio data While this design methodology may improve the access speed associated with a Web page, it fails to take full advantage of the processing capability of client nodes For example, a CD ROM resident at a client node can provide enhanced Web page features if properly configured to cooperate with an appropriate Web browsing program.
Many Web pages are designed for marketing and advertising purposes; marketing representatives of a company may direct a potential customer or client to the company's Web page for background or preliminary information. Unfortunately, this marketing strategy assumes that the potential customer or client has ready access to the Internet or the WWW. Accordingly, the technological resources available to the customer may limit the practical application of such a marketing strategy. Furthermore, it may be desirable to have a limited Web page available to all on-line subscribers and a more extensive presentation available for use by individual consumers at their particular client nodes.
External caches may be employed at client nodes in an attempt to address the above shortcomings related to the downloading and presentation of on-line information and resources. Unfortunately, such external caches have typically been incompatible with the functionality of "network browser" or similar programs, which provide an interface between the computer network and end-users located at client nodes.
SUMMARY OF THE INVENTION
Accordingly, it is an advantage of the present invention that an improved external cache for use with an on-line computer network is provided.
Another advantage is that the present invention enables quick access to on-line resources, such as Web pages, via an external cache located at a client node of a computer network.
A further advantage is that relatively "dynamic" Web page content, which is susceptible to periodic updating at a server node of the computer network, can be combined with relatively "static" Web page content stored in an external cache located at a client node of the computer network. Another advantage of the present invention is that an external cache having Web page content may be embodied in a portable storage medium such that the Web page content may be presented to an end-user without establishing a connection to the Internet or the WWW. A further advantage is that Web page content can be stored in an external cache that is fully compatible with conventional "network browser" programs.
These and other advantages of the present invention may be carried out in one form by a computer system for managing and allocating network resources. Such a computer system may include a client node configured to communicate with a server node of a computer network, a network browser program residing at the client node, an external cache in data communication with the client node, and a computer readable program segment residing at the client node. The external cache contains a cached file associated with a network resource, such as a Web page, and the program segment is configured to indicate a location of the external cache to the network browser program.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention may be derived by referring to the detailed description and claims when considered in connection with the Figures, wherein like reference numbers refer to similar items throughout the Figures, and:
FIG. 1 is a schematic representation of an exemplary computer network configured in accordance with the present invention;
FIG. 2 is a schematic representation of the contents of an exemplary external cache employed by the computer network; FIG . 3 is a flow diagram of a network resource caching process;
FIG . 4 is a flow diagram of a network resource management process; and
FIG . 5 is a flow diagram of a network resource selection process. DFTAII .ED DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to FIG. 1 , an exemplary computer network 1 0 configured in accordance with the present invention is illustrated. In accordance with the preferred embodiment, computer network 1 0 provides end-users with access to on-line network resources via, e.g., the Internet. Such network resources may be accessed, processed, and manipulated by computer network 1 0 in response to end-user interaction with computer network 1 0. For purposes of this specification, "network resources" generally refers to data, information, electronic documents, Web pages, and the like, all of which may be remotely accessible to end-users of computer network 1 0. It should be appreciated that the specific configuration depicted in FIG . 1 is merely exemplary, and that the present invention may be implemented with any number of different network architectures.
Computer network 1 0 generally includes any number of server nodes configured to communicate with any number of local computer systems. For the sake of clarity, only one server node 1 2 and one local computer system 1 4 are illustrated in FIG. 1 . However, those skilled in the art will appreciate that server node 1 2 may communicate with and support any number of additional server nodes and/or local computer systems as necessary for the specific application.
The various elements of computer network 1 0 may be interconnected via an associated number of data communication channels or links 1 6. Preferably, data communication link 1 6 facilitates substantially real time interaction between local computer system 1 4 and server node 1 2. Data communication link 1 6 may employ conventional wired or wireless modem technology, high speed data transmission protocols, fiber optic technology, or any number of suitable data transmission methodologies.
For purposes of this description, computer system 1 4 may be configured as an individual personal computer, a LAN, a WAN, or any suitable computing architecture having a sufficient amount of processing power and memory capacity to manage and allocate network resources in accordance with the present invention. Computer system 1 4 preferably includes a client node 1 8, configured to communicate with server node 1 2, and an external cache 20 in data communication with client node 1 8. External cache 20 may either be integral to client node 1 8 or, preferably, embodied in a computer program product 21 (described below) that is compatible with client node 1 8. It should be appreciated that client node 1 8 may function as a local server in the context of a LAN or a WAN arrangement. Computer system 1 4 may additionally include any number of conventional peripheral devices known to those skilled in the art, e.g., a display unit 22, a user interface 24, or the like. Client node 1 8 preferably includes conventional memory elements (not shown) having sufficient memory capacity to store data and program code utilized by the present invention. In addition, client node 1 8 preferably includes conventional processing components (not shown) having sufficient processing power to manipulate data and otherwise carry out the various processes described below. To facilitate compatible interaction with a number of on-line network resource providers, a suitably configured network browser program 26 resides and operates at client node 1 8. Those skilled in the art will recognize that network browser program 26 enables an end-user located at client node 1 8 to access, view, and interact with any number of Web pages or other network resources that may be available on the Internet. In the preferred embodiment, network browser program 26 utilizes the commercially available Netscape® Navigator® program (version 3.0) . Of course, the present invention may employ any suitable network browser program 26.
Server node 1 2 is suitably configured to provide access to a plurality of network files 28. Network files 28 may be associated with a network version of a network resource 30, e.g., a particular Web page available on the World Wide Web (WWW). Although a Web page is typically identified as a single hypertext document, the document may actually include or access any number of distinctly-named network files 28. For example, a given Web page may be associated with any number of audio-visual files (.avi files), graphics files (.gif files), and/or hypertext files (.htm files) .
As depicted in FIG. 1 , a first network resource 30a may be defined by any number of associated network files 28a. Similarly, a second network resource 30b may also include any number of associated network files 28b. Although, for practical reasons, each network resource 30 typically includes more than one associated network file 28, such is not a restriction on the present invention. Furthermore, those skilled in the art will recognize that any number of network resources 30 may be accessed and processed by server node 1 2. Server node 1 2 is configured to provide a specific network resource 30 to client node 1 8 in response to a request originating from client node 1 8. The particular network resource 30 may be maintained at server node 1 2 or it may be maintained at a remote server and made available to server node 1 2 via computer network 1 0.
According to a preferred aspect of the present invention, each network file 28 processed by server node 1 2 includes an associated date/time stamp 32. Date/time stamps 32 may be desirable to facilitate monitoring and updating of network files 28. For example, content providers update information on their Web pages frequently to provide current and accurate data to interested end-users. In addition, date/time stamps 32 are preferably processed by computer system 1 4 to automatically select the newest files associated with a requested network resource 30.
As described above, client node 1 8 communicates with an external cache 20, which may be integral to client node 1 8 (e.g., embodied in a hard disk memory element) or remote from client node 1 8 (e.g., embodied in a physically distinct server that communicates with client node 1 8) . Preferably, external cache 20 is embodied in a portable data storage device, such as computer program product 21 . Computer program product 21 may be realized as a digital recording disc (e.g., a CD-ROM), a magnetic recording disc (e.g., a floppy disc), or the like. Computer program product 21 includes a storage medium that stores computer readable program code and computer readable data in a conventional manner. For purposes of this description, "program code" refers to processing instructions written in a specific syntax as necessary for the particular application.
Generally, and as described in more detail below, external cache 20 enables client node 1 8 to access a cached version of a selected network resource 30 in lieu of a downloaded network version of the selected network resource 30. The ability to access a cached version of network resource 30 greatly reduces the downloading time typically associated with interactive use of computer network 1 0. In practice, the network version of a network resource 30 may contain recent revisions or updated content not included in the current cached version of the same network resource 30. Alternatively, the different versions of the network resource may contain a varied amount of informative content. For example, the network version may be associated with a restricted or limited Web page having a relatively low content while the cached version may be associated with a fully operational Web page having enhanced sound, graphics, or video. Referring to FIG. 2, the contents of an exemplary external cache 20 are schematically illustrated. External cache 20 preferably contains a plurality of cached files 34, a file directory 36, and a computer readable program segment 38. External cache 20 and program segment 38 are preferably embodied in a single storage medium such as computer program product 21 . Alternatively, program segment 38 may reside independently at client node 1 8 and functionally cooperate with external cache 20 and/or network browser program 26.
External cache 20 is configured to provide cached files 34 to network browser program 26 for processing at client node 1 8. For a given cached version of a network resource 30, external cache 20 may contain any number of associated cached files 34. As described above in connection with network files 28, cached files 34 may include audio-visual files, graphics files, and/or hypertext files associated with Web page content. To facilitate updating and file selection by computer system 1 4, a specific cached file 34 and a corresponding network file 28 may be designated within computer network 1 0 with the same file name and extension. According to the preferred embodiment, each cached file 34 includes a date/time stamp 40 that indicates when the associated cached file 34 was transferred to or created in external cache 20. As described above in connection with date/time stamps 32, date/time stamps 40 may be employed by computer system 1 4 during file maintenance, content updating, or file selection processes. The processing of date/time stamps 32 and 40 is described below in connection with the selection of network files 28 and cached files 34 (see FIG. 5).
External cache 20 preferably includes file directory 36, which may be configured to direct network browser program 26 to select a number of cached files 34 in response to a request for a particular network resource 30. In other words, file directory 36 preferably functions as an interface between network browser program 26 and cached files 34 stored in external cache 20. File directory 36 may be configured as a file allocation table, a file manager program, or any suitable data base management architecture. As described above, external cache 20 also includes program segment 38. In the preferred embodiment, program segment 38 is compatible with Hypertext Markup Language (HTML) . Those skilled in the art will recognize that HTML refers to a standardized hypertext language used to create Web pages and other hypertext documents. The present invention may utilize alternative programming languages as necessary for compatibility with the specific network browser program 26, and/or the particular operating protocols utilized by computer network 1 0.
Program segment 38 is preferably configured to indicate a location of external cache 20 to network browser program 26 during operation of computer system 1 4. Program segment 38 may also be configured to cause network browser program 26 to access cached files 34 in response to requests for network resources 30. In the preferred embodiment, which utilizes Netscape® Navigator® for network browser program 26, program segment 38 includes at least the following HTML code: META HTTP-EQUIV = "Ext-cache" . For compatibility with Netscape® Navigator®, program segment 38 is maintained at client node 1 8 under a suitable file name having an "htm" extension.
Briefly, in response to an end-user request for a specific network resource 30, program segment 38 instructs network browser program 26 to search external cache 20 for files related to the requested network resource 30. If corresponding network files 28 also exist for the requested network resource 30, then computer system 1 4 compares the date/time stamp 32 associated with each network file 28 with the date/time stamp 40 associated with each corresponding cached file 34. Consequently, network files 28 associated with the requested network resource 30 are downloaded from server node 1 2 only when the corresponding cached files 34 are outdated or when no corresponding cached files 34 exist.
Referring now to FIG. 3, a flow diagram of a network resource caching process 42 is illustrated. Process 42 can be performed by computer system 1 4 to capture and store network resources 30 for subsequent retrieval at client node 1 8. Network resource caching process 42 begins with a task 44, which establishes a high speed data communication link to computer network 1 0. It should be noted that the data communication link established in task 44 may, but need not be, data communication link 1 6 described above in connection with FIG. 1 . Task 44 may, for example, activate a modem at client node 1 8 to create an on-line connection between client node 1 8 and server node 1 2. Due to the high volume of data associated with many network resources 30, a high data rate communications channel (e.g., a T1 channel) is preferably utilized during process 42. Following task 44, a task 46 is performed to activate network browser program 26. Task 46 may be performed automatically upon a start-up procedure at client node 1 8, or the end-user may be prompted to activate network browser program 26 via user interface 24 (see FIG. 1 ) .
After activation of network browser program 26, a task 48 may be performed to condition the session and disk caches (not shown in FIG. 1 ) associated with network browser program 26 and/or client node 1 8. Those skilled in the art will recognize that a session cache may be utilized by network browser program 26 as a "temporary" memory element. In the context of this description, network browser program 26 may obtain downloaded network files 28 and store such files in the session cache for subsequent processing and/or presentation at client node 1 8. Task 48 may be performed to ensure that sufficient memory space is available at client node 1 8 to receive the desired amount of data associated with network resources 30. For example, task 48 may adjust the storage capacity of the session and disk caches or clear the contents of the session and disk caches.
After the session and disk caches are conditioned, client node 1 8 may begin to receive network resources 30 from server node 1 2. Accordingly, a task 50 is performed to identify the next network resource 30 for which downloading is desired. Task 50 may require end-user interaction in response to a prompt provided by network browser program 26. In the preferred embodiment, each network resource 30 is identified by a unique address. For example, a Uniform Resource Locator (URL) is commonly used to identify Web pages and other on-line resources. A URL typically identifies the resource provider, the server, the directory, and/or the specific file name associated with the particular on-line resource.
Assuming that the identified network resource 30 exists within computer network 1 0, a task 52 is performed to download network files 28 associated with the identified network resource 30 (see FIG. 1 ) . Task 52 may cause network browser program 26 to communicate with server node 1 2 in a suitable manner to initiate an appropriate data transmission procedure. As described above, the downloaded network files 28 may be temporarily stored within a session cache (not shown) associated with network browser program 26. In addition to task 52, a task 54 adds appropriate date/time stamps 40 (see FIG. 2) to the downloaded network files 28 using any number of conventional data processing methodologies. Task 54 may be performed at either server node 1 2 or client node 1 8. Although network files 28 may already have associated date/time stamps 32 (see FIG. 1 ), task 54 updates date/time stamps 32 or adds new date/time stamps 40 to indicate when network files 28 were downloaded. Following task 54, a query task 56 is performed to determine whether more network resources 30 are to be downloaded to client node 1 8. Query task 56 may involve end-user interaction at client node 1 8, e.g., the manual entry or selection of additional URLs. The present invention is capable of downloading any number of Web pages, electronic documents, or other on-line information during network resource caching process 42 (assuming the session and disk caches have sufficient capacity) . If additional network resources 30 are selected for downloading and external caching, then process 42 is reentered at task 50. Thus, tasks 50, 52, 54, and 56 form a processing loop that identifies and downloads the desired number of network resources 30.
If no additional network resources 30 need be downloaded, then query task 56 initiates a task 58. Task 58 is performed to transfer the downloaded network files 28 from the session cache to a subdirectory (not shown in FIG . 1 ) residing at client node 1 8. Task 58 may utilize conventional data processing techniques to copy or move the relevant network files 28 to the subdirectory. This subdirectory may be a portion of conventional hard disk memory resident at client node 1 8. For purposes of this description, cached files 34 are those network files 28 that have been transferred to the subdirectory located at client node 1 8.
An optional task (not shown) may be performed prior to task 58 if necessary for compatibility with network browser program 26 or specific processing protocols employed by computer network 1 0. The optional task may deactivate network browser program 26 or terminate data communication link 1 6 between client node 1 8 and server node 1 2 to facilitate the transferring of network files 28.
Following task 58, a task 60 is performed to create program segment 38 within the subdirectory. Program segment 38 is described above in connection with FIG. 1 . In addition to task 60, a task 62 is preferably initiated to create file directory 36 within the subdirectory. File directory 36 is described above in connection with FIG 2. Tasks 60 and 62 may require end-user participation at client node 1 8, e.g., programming, data input, or file management. Following task 62, a task 64 causes the contents of the subdirectory to be transferred to external cache 20. After completion of task 62, the subdirectory contains cached files 34 associated with at least one network resource 30, file directory 36, and program segment 38. Task 64 may utilize any suitable methodology to write the contents of the subdirectory onto a suitable storage medium, such as a CD-ROM, a magnetic recording disk, or an external hard drive. Following task 64, network resource caching process 42 ends. Although the contents of the subdirectory are preferably transferred according to task 64, such is not a requirement of the present invention. For example, cached files 34 residing in the subdirectory may be indefinitely maintained for subsequent retrieval at client node 1 8 in a relatively short time (compared to the time required to download corresponding network files 28 from server node 1 2).
As described above, the preferred embodiment employs computer program product 21 (see FIG. 1 ) containing external cache 20. Accordingly, network resources 30 may be read and processed by any compatible computer system, with or without active connection to computer network 1 0. This feature may be desirable to enable a provider of a particular network resource 30 to distribute cached files 34 to selected end-users while allowing widespread access to corresponding network files 28 via computer network 1 0. FIG . 4 is a flow diagram of a network resource management process 66 performed by computer system 1 4. Process 66 is performed after external cache 20 has been created and configured for compatibility with client node 1 8. Process 66 may be implemented in software programs resident at client node 1 8 and process 66 may be performed in response to various end-user instructions received at client node 1 8.
Network resource management process 66 begins with a task 68, which establishes a network connection between client node 1 8 and server node 1 2. Task 68 may, for example, establish data communication link 1 6 (see FIG. 1 ) via a modem or other suitable data transmission device located at client node 1 8. Following task 68, a task 70 activates network browser program 26. Task 70 is similar to task 46 described above in connection with network resource caching process 42.
After network browser program 26 is activated, a task 72 activates external cache 20 such that cached files 34 associated with network resources 30 are accessible to client node 1 8. Task 72 may, for example, prompt or activate program segment 38. Those skilled in the art will appreciate that task 72 may be performed automatically as an integral part of either task 70 or task 72. Alternatively, task 72 may require end-user interaction at client node 1 8. For example, in the preferred embodiment, client node 1 8 activates external cache 20 when the end-user inputs the file name associated with program segment 38 in response to a LOCATION prompt produced by Netscape® Navigator®. Preferably, the manual activation of external cache 20 need only be performed during a setup procedure associated with network browser program 26 (rather than once per on-line session with computer network 1 0). Following task 72, a task 74 receives a request for a specific network resource
30. As described above, a request for an Internet or WWW resource includes a unique address or URL. Typically, task 74 is responsive to an end-user input at client node 1 8. After task 74 receives a specific URL, a task 76 is performed. Task 76 instructs network browser program 26 to search external cache 20 for cached files 34 associated with the selected URL. Task 76 may be carried out by program segments within network browser program 26 or under the direction of program segment 38.
Following task 76, network resource management process 66 ends. It should be appreciated that process 66 may be carried out simultaneously with, or may be integral to, any conventional process utilized to access, download, and manipulate online network resources. For example, nothing limits the present invention to accessing only cached files 34 in response to a request for network resources 30. Indeed, the present invention is flexibly configured to access a combination of network files 28 and cached files 34 related to a specific network resource 30. FIG. 5 is a flow diagram of a network resource selection process 78 performed by computer system 1 4. Preferably, process 78 is performed at client node 1 8 in response to network resource management process 66. Generally, process 78 is performed to select whether files associated with the requested network resource 30 are downloaded from server node 1 2 or retrieved locally from external cache 20. Those skilled in the art should appreciate that several tasks described in connection with process 78 may be carried out, in full or in part, by network browser program 26. For simplicity, the following description assumes that only one file is associated with the requested network resource 30. However, as described above, any number of network files 28 or cached files 34 may actually define a given network resource 30. As such, process 78 may be repeated for each relevant file or modified to process a plurality of files simultaneously.
Network resource selection process 78 begins with a query task 80, which determines whether the network file 28 associated with the requested network resource 30 is available at server node 1 2 (see task 74 of network resource management process 66). Query task 80 may, for example, prompt an interrogation of a file directory maintained at server node 1 2. If query task 80 determines that the network file 28 is available at server node 1 2, then a query task 82 is initiated.
Query task 82 determines whether a corresponding cached file 34 associated with the requested network resource 30 is present in external cache 20. Query task 82 may cause network browser program 26 to access, survey, or search file directory 36 (see FIG. 2) for the cached file 34. If query task 82 determines that no corresponding cached file 34 exists, then a task 84 is performed to download the network file 28 from server node 1 2. Task 84 may utilize any number of conventional methodologies to download the network file 28. After task 84 downloads the network file 28 from server node 1 2, network resource management process 78 ends.
If, however, query task 82 determines that a corresponding cached file 34 is contained in external cache 20, then a query task 86 is initiated. Query task 86 determines whether the network file 28 (located during query task 80) is newer than the corresponding cached file 34. In the preferred embodiment, query task 86 compares the date/time stamp 32 (see FIG. 1 ) associated with the network file 28 to the date/time stamp 40 (see FIG. 2) associated with the corresponding cached file 34. Query task 86 may employ conventional data processing techniques known to those skilled in the art. Query task 86 ensures that the end-user is provided with the most current files associated with the requested network resource 30, whether such files are present at server node 1 2 or external cache 20.
If query task 86 determines that the network file 28 is newer than the corresponding cached file 34, then task 84 is initiated. As described above, task 84 causes the network file 28 to be downloaded from server node 1 2 to client node 1 8. If, however, query task 86 determines that the particular network file 28 is not newer than the corresponding cached file 34, then a task 88 is prompted. During task 88, the corresponding cached file 34 is retrieved from external cache 20 for processing by client node 1 8. In the preferred embodiment, if the network file 28 and the corresponding cached file 34 have equivalent date/time stamps, then task 88 is initiated. Thus, external cache 20 is accessed to quickly provide client node 1 8 with the file associated with the desired network resource 30. When network files 28 are updated at server node 1 2, computer network 1 0 processes the corresponding date/time stamps and accesses the updated network files 28 to thereby override external cache 20.
As described above, query task 80 determines whether the network file 28 associated with the selected network resource 30 is available at server node 1 2. If query task 80 determines that the network file 28 is not available at server node 1 2, then a query task 90 is initiated. Query task 90 determines whether a cached file 34 associated with network resource 30 is available at external cache 20. Query task 90 is substantially similar to query task 82 described above. Under certain circumstances, a corresponding network file 28 may not be available at server node 1 2. For example, a network file 28 may be unavailable if it is currently being updated, if server node 1 2 or any other component of computer network 1 0 malfunctions, or if the requested network resource 30 no longer exists or is no longer accessible through server node 1 2. If query task 90 determines that a relevant cached file 34 is available at external cache 20, then a task 92 is performed. Task 92 retrieves the cached file 34 from external cache 20. Task 92 may be similar to task 88 described above. Following task 92, network resource management process 78 ends.
If, however, query task 90 determines that a cached file 34 corresponding to the requested network resource 30 is not present in external cache 20, then a task 94 may be performed. Task 94 provides an error message or other suitable indication to the end-user at client node 1 8. This message may indicate that the requested network resource 30 is currently unavailable, is being updated, or is not accessible via server node 1 2 or external cache 20. Task 94 may prompt the end-user to verify and reenter the requested URL, input a new URL, or contact a service technician. Of course, network resource selection process 78 may prompt other processes or procedures related to computer network 1 0 in response to task 94. Following task 94, process 78 ends.
Those skilled in the art should appreciate that network resource selection process 78 may be repeated for any number of requests for any number of network resources 30. Furthermore, computer system 1 4 may be configured to prompt the end-user to provide a particular computer program product 21 containing external cache 20, e.g., a specific CD-ROM, in response to a request for a specific network resource 30.
In summary, the present invention provides an improved external cache for use with an on-line computer network. The external cache is configured for compatibility with conventional network browser programs. The external cache enables quick access to on-line resources, such as Web pages, directly from a client node rather than via a remote network server node. The present invention facilitates the combination of relatively "dynamic" Web page content, which may be susceptible to periodic updating at the server node, with relatively "static" Web page content contained in the external cache. The external cache may be embodied in a portable storage medium such that Web pages or other network resources may be presented to an end-user without establishing a connection to the Internet or the World Wide Web.
The present invention has been described with reference to a preferred embodiment. However, those skilled in the art will recognize that changes and modifications may be made to the preferred embodiment without departing from the scope of the present invention. For example, the processes described herein may be included within a larger processing scheme and several individual process tasks may either be omitted or performed in a different order than that described herein. Furthermore, the specific hardware implementation described herein may be modified according to the requirements of each individual application. These and other changes and modifications are intended to be included within the scope of the present invention, as expressed in the following claims.

Claims

CLAIMSWhat is claimed is:
1 . A method for transferring on-line resources from a server node to a client node within a computer network, said method comprising the steps of: establishing a data communication link between said client node and said server node; downloading, from said server node to said client node, a network file associated with a network resource; transferring said network file to a subdirectory residing at said client node to thereby produce a corresponding cached file; and creating, within said subdirectory, a computer readable program segment configured to cause a network browser program to access said cached file in response to a request for said network resource, said request originating from said client node.
2. A method according to claim 1 , wherein said program segment is compatible with hypertext markup language (HTML) .
3. A method according to claim 1 , further comprising the step of associating a first date/time stamp with said cached file, wherein: said network file has a second date/time stamp associated therewith; said network browser program is configured to access said cached file when said first date/time stamp is newer than said second date/time stamp; and said network browser program is configured to access said network file when said second date/time stamp is newer than said first date/time stamp.
4. A method according to claim 1 , wherein said downloading step comprises downloading said network file to a session cache residing at said client node, said session cache being formatted for compatibility with said network browser program.
5. A method according to claim 1 , further comprising the step of identifying said network resource with a unique address, said identifying step being performed prior to said downloading step.
6. A method according to claim 1 , further comprising the step of transferring said cached file and said program segment from said subdirectory to a storage medium compatible with said client node.
7. A method according to claim 1 , further comprising the step of creating, within said subdirectory, means for directing said network browser program to select said cached file from a plurality of cached files associated with said network resource, wherein said means for directing is responsive to said request.
8. A method according to claim 1 , wherein said cached file and said network file are designated with the same file name.
9. A network resource management and allocation method for use in a computer network comprising a client node having an external cache containing a cached file associated with a first version of a network resource, a server node configured to provide access to a network file associated with a second version of said network resource, and a data communication link between said server node and said client node, said method comprising the steps of: receiving, at said client node, a request for said network resource; comparing a first date/time stamp associated with said cached file to a second date/time stamp associated with said network file; retrieving said cached file from said external cache when said first date/time stamp is newer than said second date/time stamp; and downloading, via said data communication link, said network file from said server node to said client node when said second date/time stamp is newer than said first date/time stamp.
1 0. A method according to claim 9, wherein a network browser program resides at said client node and said method further comprises the step of instructing said network browser program to search said external cache for said cached file in response to said request.
1 1 . A method according to claim 1 0, further comprising the step of prompting a computer readable program segment, said program segment residing at said client node and being configured to initiate said instructing step.
1 2. A method according to claim 1 0, further comprising the step of prompting a computer readable program segment, said program segment residing at said client node and being configured to indicate a location of said external cache to said network browser program.
1 3. A method according to claim 9, wherein said request includes a uniform resource locator (URL).
1 4. A method according to claim 9, wherein said cached file and said network file are designated with the same file name.
1 5. A method according to claim 9, further comprising the step of retrieving said cached file from said external cache when said first date/time stamp is equivalent to said second date/time stamp.
1 6. A computer program product compatible with a client node operating within a computer network, said computer program product comprising: a storage medium having computer readable program code and computer readable data embodied therein; said computer readable data comprising a cached file associated with a first version of a network resource, wherein a network file associated with a second version of said network resource resides at a server node within said computer network; and said computer readable program code comprising a program segment configured to cause a network browser program to access said cached file in response to a request for said network resource, said request originating from said client node.
1 7. A computer program product according to claim 1 6, wherein said segment is compatible with hypertext markup language (HTML) .
1 8. A computer program product according to claim 1 6, wherein: said cached and network files have first and second date/time stamps, respectively, associated therewith; said network browser program is configured to access said cached file when said first date/time stamp is newer than said second date/time stamp; and said network browser program is configured to access said network file when said second date/time stamp is newer than said first date/time stamp.
1 9. A computer program product according to claim 1 6, wherein said storage medium comprises a digital recording disc.
20. A computer program product according to claim 1 6, wherein said storage medium comprises a magnetic recording disc.
21 . A computer program product according to claim 1 6, wherein: said computer readable data comprises a plurality of cached files associated with said first version of said network resource; and said computer program product further comprises means for directing said network browser program to select said cached file from said plurality of cached files in response to said request, said means for directing being embodied within said storage medium.
22. A computer system for managing and allocating network resources, said computer system comprising: a client node configured to communicate with a server node of a computer network; a network browser program residing at said client node; an external cache in data communication with said client node, said external cache containing a cached file associated with a first version of a network resource; and a computer readable program segment residing at said client node, said program segment being configured to indicate a location of said external cache to said network browser program.
23. A computer system in accordance with claim 22, wherein said program segment is further configured to cause said network browser program to access said cached file in response to a request for said network resource.
24. A computer system in accordance with claim 23, wherein: said server node is configured to provide access to a network file associated with a second version of said network resource; and said network browser program is configured to access said cached file when said network file is inaccessible from said server node.
25. A computer system in accordance with claim 23, wherein: said server node is configured to provide access to a network file associated with a second version of said network resource; said cached and network files have first and second date/time stamps, respectively, associated therewith; said network browser program is configured to access said cached file when said first date/time stamp is newer than said second date/time stamp; and said network browser program is configured to access said network file when said second date/time stamp is newer than said first date/time stamp.
26. A computer system in accordance with claim 22, wherein said external cache and said program segment are embodied in a single storage medium.
PCT/US1997/019956 1996-11-05 1997-10-30 External cache for on-line resources WO1998020426A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU51022/98A AU5102298A (en) 1996-11-05 1997-10-30 External cache for on-line resources

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74323096A 1996-11-05 1996-11-05
US08/743,230 1996-11-05

Publications (2)

Publication Number Publication Date
WO1998020426A1 true WO1998020426A1 (en) 1998-05-14
WO1998020426A9 WO1998020426A9 (en) 1998-11-19

Family

ID=24988005

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/019956 WO1998020426A1 (en) 1996-11-05 1997-10-30 External cache for on-line resources

Country Status (2)

Country Link
AU (1) AU5102298A (en)
WO (1) WO1998020426A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2347528A (en) * 1999-03-04 2000-09-06 Naxt Limited Object database with caching support
WO2001072010A2 (en) * 2000-03-17 2001-09-27 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
US6510458B1 (en) 1999-07-15 2003-01-21 International Business Machines Corporation Blocking saves to web browser cache based on content rating

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5644751A (en) * 1994-10-03 1997-07-01 International Business Machines Corporation Distributed file system (DFS) cache management based on file access characteristics
US5706435A (en) * 1993-12-06 1998-01-06 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting a single invalidation report from server to clients

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5706435A (en) * 1993-12-06 1998-01-06 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting a single invalidation report from server to clients
US5644751A (en) * 1994-10-03 1997-07-01 International Business Machines Corporation Distributed file system (DFS) cache management based on file access characteristics
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2347528A (en) * 1999-03-04 2000-09-06 Naxt Limited Object database with caching support
US6510458B1 (en) 1999-07-15 2003-01-21 International Business Machines Corporation Blocking saves to web browser cache based on content rating
WO2001072010A2 (en) * 2000-03-17 2001-09-27 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
WO2001072010A3 (en) * 2000-03-17 2002-05-23 Sun Microsystems Inc Method and apparatus for demand based paging algorithm

Also Published As

Publication number Publication date
AU5102298A (en) 1998-05-29

Similar Documents

Publication Publication Date Title
US6167407A (en) Backtracked incremental updating
EP1546924B1 (en) Method, system, and program for maintaining data in distributed caches
US6074434A (en) Selection of code updates, data updates or new data for client
US5752042A (en) Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US6609159B1 (en) Methods, systems, and machine readable programming for interposing front end servers between servers and clients
US7058720B1 (en) Geographical client distribution methods, systems and computer program products
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
US5991760A (en) Method and apparatus for modifying copies of remotely stored documents using a web browser
US6415335B1 (en) System and method for managing dynamic web page generation requests
US6330566B1 (en) Apparatus and method for optimizing client-state data storage
US6393424B1 (en) Method and apparatus for using a static metadata object to reduce database accesses
US6523032B1 (en) Servicing database requests using read-only database servers coupled to a master database server
US6564218B1 (en) Method of checking the validity of a set of digital information, and a method and an apparatus for retrieving digital information from an information source
US8370828B2 (en) Techniques to perform gradual upgrades
US5991809A (en) Web serving system that coordinates multiple servers to optimize file transfers
US20010052052A1 (en) Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US20040034853A1 (en) Mobile download system
US20010051927A1 (en) Increasing web page browsing efficiency by periodically physically distributing memory media on which web page data are cached
WO2001057673A1 (en) Coordinated and personalized application and data management
JP2006505047A (en) System and method for using a portal in a mobile device in blocked mode
WO1998004985A9 (en) Web serving system with primary and secondary servers
CZ289563B6 (en) Server computer connectable to a network and operation method thereof
US6883020B1 (en) Apparatus and method for filtering downloaded network sites
US20030187957A1 (en) Automatic data download system and method
US20030140100A1 (en) System and method for URL response caching and filtering in servlets and application servers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
CFP Corrected version of a pamphlet front page

Free format text: REVISED ABSTRACT RECEIVED BY THE INTERNATIONAL BUREAU AFTER COMPLETION OF THE TECHNICAL PREPARATIONS FOR INTERNATIONAL PUBLICATION

121 Ep: the epo has been informed by wipo that ep was designated in this application
COP Corrected version of pamphlet

Free format text: PAGES 1/5-5/5, DRAWINGS, REPLACED BY NEW PAGES 1/5-5/5; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA