throbber
(12) United States Patent
`Hunt
`
`USOO6192398B1
`(10) Patent No.:
`US 6, 192,398 B1
`(45) Date of Patent:
`Feb. 20, 2001
`
`5,878,218 * 3/1999 Maddalozzo, Jr. et al. ......... 709/213
`5,944,780
`8/1999 Chase et al. ......................... 709/201
`OTHER PUBLICATIONS
`C.R. Saravanan, “WWW in DSM' Master's thesis. Univ. of
`Manitoba, 1997. Univ. of Manitoba Tech. Report TR97–05.*
`* cited by examiner
`Primary Examiner Dung C. Dinh
`(74) Attorney, Agent, or Firm Jeffrey S. Labaw, Felsman,
`Bradley, Vaden, Gunter & Dillon, LLP
`(57)
`ABSTRACT
`BrowserS for different clients in an enterprise are configured
`to cache pages at least in part in a common file area in a
`remote, Shared file Server. Duplication or redundancy in
`caching pages is thus eliminate, and a larger body of distinct
`pages may be cached within a given allocation of memory
`Space. Each remote, shared cache includes a shared cache
`contents data Structure including information required to
`References Cited
`"time-out pages and to determine if a page is in the process
`U.S. PATENT DOCUMENTS
`of being loaded or updated by another client Sharing the
`cache. Where multiple caches are supported by the
`4/1984 Fletcher ............................... 364/200
`4,445,174
`S. to: E. et
`- - - - - - - - - - - - - - - - - - - - - - - - - SE browsers, the remote, Shared cache may form part of a
`2 - - -2
`OOWe e a
`- - -
`local/remote cache hierarchy. When accessing a page
`5,727,159 * 3/1998 Kikinis ..............
`395/200.76
`s
`5,784,590 * 7/1998 SN al. .
`... 711/122
`browsers. check each cache in a multiple cache
`5,787,466 * 7/1998 Berliner ........
`... 711/117
`configuration, updating all caches as necessary.
`5,796,973 * 8/1998 Witt et al. ............................ 395/384
`5,796,974 * 8/1998 Goddard et al. ..................... 395/387
`
`(54) REMOTE/SHARED BROWSER CACHE
`
`(75) Inventor: Gary T. Hunt, Austin, TX (US)
`(73) ASSignee: International Business Machines
`Corporation, Armonk, NY (US)
`Under 35 U.S.C. 154(b), the term of this
`patent shall be extended for 0 days.
`
`(*) Notice:
`
`7
`
`(21) Appl. No.: 08/953,348
`(22) Filed:
`Oct. 17, 1997
`(51) Int. Cl." ........................... C06F 15/173; CO6F 17/30
`(52) U.S. Cl. ............................. 709/213; 707/10; 709/218
`(58) Field of Search ......................... 395/200.43, 200.33,
`395/200.57, 200.47, 200.56; 709/213, 217,
`218, 219, 248, 249; 707/10
`
`(56)
`
`
`
`104
`
`User unit
`Browser
`
`30 Claims, 5 Drawing Sheets
`
`102
`
`110
`
`User unit
`Browser
`
`108
`
`114
`
`106
`
`User unit
`Browser
`
`112
`/
`
`Intranet
`
`116
`-
`-
`as
`E
`
`Y 20
`
`122
`
`124
`
`SD
`Cache
`
`128
`
`totai
`
`Internet
`
`130
`
`118
`
`s
`
`126
`
`SD
`Cache
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 1
`
`

`

`U.S. Patent
`
`Feb. 20, 2001
`
`Sheet 1 of 5
`
`US 6,192,398 B1
`
`104
`
`
`
`
`
`User unit
`BrOWSer
`
`102
`
`110
`
`User unit
`
`106
`
`
`
`User unit
`
`112
`/
`
`108
`
`114
`
`116
`
`
`
`N
`120
`
`122
`
`/
`Sal CD
`
`E.
`EaE
`
`SD
`
`118
`
`
`
`128
`
`Figure 1
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 2
`
`

`

`U.S. Patent
`
`Feb. 20, 2001
`
`Sheet 2 of 5
`
`US 6,192,398 B1
`
`204
`
`P
`
`206
`
`202
`
`214
`
`L2 cache
`
`210 1
`
`Local
`memory
`
`216
`
`I/O bus
`bridge
`
`212
`
`218
`
`220
`
`Displa
`play
`
`222
`
`232
`
`224
`
`
`
`226
`
`NetWork
`adapter
`
`Hard drive
`
`Keyboard/
`mouse adapter
`
`228
`
`230
`
`device
`
`Figure 2
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 3
`
`

`

`U.S. Patent
`
`Feb. 20, 2001
`
`Sheet 3 of 5
`
`US 6,192,398 B1
`
`3O2
`A
`www.irs.com\default.html
`
`304 306 308
`A
`O4/15/97 Y
`
`300
`
`
`
`403a
`- A
`WWW.irs.com\default.html
`
`403b
`
`www.irs.com\default.html
`
`405a
`A
`WWW.irs.com\default.html
`
`405b
`.
`www.irs.com.index.html
`- - - -
`
`407a
`www.irs.com\default.html
`
`s
`
`407b
`— 4
`WWW.irs.com\info.html
`
`
`
`SVeN
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 4
`
`

`

`U.S. Patent
`
`Feb. 20, 2001
`
`Sheet 4 of 5
`
`US 6,192,398 B1
`
`Load cache Contents
`information
`
`504
`
`Receive load request
`
`506
`
`Check cache Contents
`information
`
`508
`
`
`
`
`
`
`
`Figure 5A
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 5
`
`

`

`U.S. Patent
`
`Feb. 20, 2001
`
`Sheet 5 of 5
`
`US 6,192,398 B1
`
`510
`Requested page
`cached?
`
`O
`
`
`
`
`
`
`
`
`
`Update required?
`
`In-progress flag
`Set?
`
`Wait until in-progress K-Wes
`flag is reset
`y
`
`
`
`
`
`Set in-progress flag
`
`512
`
`Load page from cache
`
`
`
`Load/update page from 514
`Source to client and
`Cache
`
`Update cache contents
`information
`(reset in-progress flag)
`
`516
`
`
`
`
`
`
`
`
`
`
`
`
`
`Figure 5B
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 6
`
`

`

`1
`REMOTE/SHARED BROWSER CACHE
`
`RELATED APPLICATIONS
`The present invention is related to the subject matter of
`commonly assigned, copending U.S. Patent application Ser.
`No. 08/953,347 (pending) entitled “SHARED WEB PAGE
`CACHING AT BROWSERS FOR AN INTRANET. The
`content of the above-mentioned copending application is
`incorporated herein by reference.
`
`5
`
`BACKGROUND OF THE INVENTION
`
`1. Technical Field
`The present invention relates in general to accessing Web
`pages and in particular to accessing Web pages in environ
`ments including a Server Shared by multiple users. Still more
`particularly, the present invention relates to remote caching
`of Web pages on a file server utilized by multiple users.
`2. Description of the Related Art
`The Internet provides a valuable source of both entertain
`ment and information to all Segments of Society. In addition
`to commercial enterprises utilizing the Internet as an integral
`part of their marketing efforts in promoting their products or
`Services, many federal, State, and local government agencies
`are also employing Internet Sites for informational purposes,
`particularly agencies which must interact with Virtually all
`Segments of Society Such as the Internal Revenue Service
`and Secretaries of State. Operating costs for both commercial
`enterprises and governmental agencies may be reduced by
`providing informational guides and/or Searchable databases
`online.
`Currently, the most commonly employed method of
`accessing and distributing data over the Internet is to employ
`the World Wide Web (WWW) environment, also called
`simply “the Web.” Other Internet resources exist for trans
`ferring information, such as File Transfer Protocol (FTP)
`and Gopher, but have not achieved the popularity of the
`Web. In the Web environment, servers and clients effect data
`transaction using the Hypertext Transfer Protocol (HTTP), a
`known protocol for handling transfer of various data files
`(e.g., text, still graphic images, audio, motion Video, etc.).
`Information is formatted for transfer and presentation to a
`user by a Standard page description language, the Hypertext
`Markup Language (HTML).
`In addition to basic formatting, HTML allows developers
`to specify “links' to other Web resources, identified by a
`Uniform Resource Locator (URL). A URL is a special
`Syntax identifier defining a communications path to an
`Internet Server containing Specific logical blocks of
`information, colloquially called a "page,” accessible to an
`Internet client. Web pages may be of arbitrary size and
`include text, graphics, forms for Submitting queries to data
`bases on the remote Server, and other components. A "page”
`includes all files required to present the information
`requested utilizing the identifying URL, including text/
`HTML files, graphics files, Sound files, etc.
`Retrieval of information on the Web is generally accom
`plished with an HTML-compatible “browser'-an applica
`tion program capable of Submitting a request for information
`identified by a URL-at the client machine. The request is
`Submitted to a Server connected to the client and may be
`handled by a series of servers to effect retrieval of the
`requested information. The information is provided to the
`client formatted according to HTML.
`When Web pages are retrieved under direct user control,
`it is common practice for contemporary Web browsers to
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,192,398 B1
`
`2
`cache pages accessed by the user. Network bandwidth is
`finite, and the time required to retrieve a Web page depends
`in part on the number of servers at the site from which the
`Web page is being retrieved. Furthermore, Web pages often
`include sizable graphics files or other large files requiring a
`Substantial amount of time to transfer from the Source to the
`requesting client. Caching Web pages allows a user to
`repeatedly view the information within a short Span of time
`without retrieving the Web pages each time.
`Large traffic demands to specific Web Sites can make
`access to such sites difficult. To ease the difficulty of
`accessing sites with high traffic demands, Web browsers
`retrieve frequently accessed Web pages by off-line brows
`ing. Off-line browsing allows information at the site to be
`retrieved during off-peak periods without contemporaneous
`user interaction at the client. The pages are typically
`retrieved from the originating Internet Web site by off-peak
`retrieval, or retrieval during periods when traffic to the Site
`is at a minimum. The retrieved pages are cached in a local
`memory, Such as a hard drive, for Subsequent off-line
`viewing by the user without connection to the Web site from
`which those pages originate.
`Where Several users in an enterprise access and cache the
`Same Web page or pages, it is inefficient for each user to
`caches these pages locally. Caching is also currently per
`formed at proxies, but caching at proxies is not Scalable as
`Such and may not provide benefits for multiple users which
`browse the same or Similar pages due to a lack of ability to
`share the cache. It would be desirable, therefore, to improve
`the Storage of frequently accessed Web pages to improve the
`performance of an Intranet, the Internet, and Internet Service
`providers.
`
`SUMMARY OF THE INVENTION
`It is therefore one object of the present invention to
`provide an improved method of and apparatus for accessing
`Web pages.
`It is another object of the present invention to provide an
`improved method of and apparatus for accessing Web pages
`in environments including a Server shared by multiple users.
`It is yet another object of the present invention to provide
`a method and apparatus for remote caching of Web pages on
`a file server utilized by multiple users.
`The foregoing objects are achieved as is now described.
`BrowserS for different clients in an enterprise are configured
`to cache pages at least in part in a common file area in a
`remote, Shared file Server. Duplication or redundancy in
`caching pages is thus reduced or eliminated, and a larger
`body of distinct pages may be cached within the aggregate
`allocation of memory Space for the individual clients. Each
`remote, shared cache includes a shared cache contents data
`Structure including information required to "time-out' pages
`and to determine if a page is in the process of being loaded
`or updated by another client sharing the cache. Where
`multiple caches are Supported by the browsers, the remote,
`shared cache may form part of a local/remote cache hierar
`chy. When accessing a page, browsers check each cache in
`a multiple cache configuration, updating all caches as nec
`eSSary.
`The above as well as additional objects, features, and
`advantages of the present invention will become apparent in
`the following detailed written description.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The novel features believed characteristic of the invention
`are Set forth in the appended claims. The invention itself
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 7
`
`

`

`3
`however, as well as a preferred mode of use, further objects
`and advantages thereof, will best be understood by reference
`to the following detailed description of an illustrative
`embodiment when read in conjunction with the accompa
`nying drawings, wherein:
`FIG. 1 depicts a network of data processing Systems in
`which a preferred embodiment of the present invention may
`be implemented;
`FIG. 2 is a data processing System in which a preferred
`embodiment of the present invention may be implemented;
`FIG. 3 depicts a data structure employed in remotely
`caching Web pages at a shared Server in accordance with a
`preferred embodiment of the present invention; and
`FIG. 4 is a block diagram for an arrangement of multiple
`remote/local caches in accordance with a preferred embodi
`ment of the present invention; and
`FIGS. 5A-5B depict a high level flowchart for a process
`of employing a remote, Shared cache in accordance with a
`preferred embodiment of the present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`With reference now to the figures, and in particular with
`reference to FIG. 1, a network of data processing Systems in
`which a preferred embodiment of the present invention may
`be implemented is depicted. The network depicted in the
`exemplary embodiment includes a plurality of user units
`102-106 connected via respective communications links
`108-112 as part of an intranet 114. An “intranet' is a high
`bandwidth network of workstations connected to (and pro
`tected from) external data processing Systems or networks
`by a firewall and/or proxy. Servers 116-118 are also con
`nected to intranet 114, via communications links 120-122.
`Intranet 114 Supports communications and data transfers
`among various data processing Systems, including user units
`102-106 and servers 116-118, by a network technology
`Such as Ethernet, token ring, fiber distributed data interface
`(FDDI), or asynchronous transfer mode (ATM). Data trans
`mission within intranet 114 may be governed by various
`protocols, Such as frame relay (FR), X.25, integrated Ser
`vices digital network (ISDN), media access control address
`protocol, or transmission convergence protocol/Internet pro
`tocol (TCP/IP).
`Servers 116-118 include storage devices 124-126,
`respectively, providing remote Storage for user units
`102-106. At least one server, server 118 in the depicted
`example, is connected via communications link 130 to the
`Internet 128. Communications link 130 may, for example, be
`provided in the form of access service by an Internet Service
`Provider (ISP), or may be a direct connection to the Internet
`via a firewall and a proxy. Server 118 in the exemplary
`embodiment functions as an Internet or Web server, and thus
`server 118 includes a firewall and a proxy in accordance with
`the known art to provide client Systems. Such as user units
`102-106 access to the Internet. Server 118 supports browser
`applications running on Internet client Systems. Such as user
`units 102-106 in retrieval of Web pages formatted in HTML.
`Such Web pages may be passed via a Series of Servers within
`both Internet 128 and intranet 114 to a particular client
`system within user units 102-106. Thus, intranet 114 may
`include additional servers (not shown) through which data
`transfers from server 118 to user units 102-106 pass, or such
`data transferS may also pass through server 116.
`Additionally, although server 118 in the depicted embodi
`ment provides access to the Internet, a common cache in
`accordance with a preferred embodiment of the present
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,192,398 B1
`
`4
`invention may be maintained within the shared file area of
`a different server, Such as server 116, to which each user unit
`102-106 is connected.
`In accordance with a preferred embodiment of the present
`invention, each user unit 102-106 which includes a browser
`should, because of formatting differences among browser
`caches, utilize the Same browser, or at least browsers
`employing a common or Standardized cache Structure and/or
`format.
`Referring to FIG. 2, a data processing System in which a
`preferred embodiment of the present invention may be
`implemented is illustrated. Data processing System 202 may
`be employed as one of user units 102-106 within the
`network depicted in FIG. 1, or as one of servers 116-118.
`Modifications to the embodiment depicted may be appro
`priate depending on how data processing System 202 is
`utilized.
`Data processing System 202 includes a processor 204
`having internal level one instruction and data caches 206 and
`208. Processor 202 is connected to a level two (L2) cache
`210, which is connected via system bus 212 to system
`memory 214 and to bridge 216. Memory mapped devices,
`Such as graphics adapter 218 connected to display unit 222,
`may also be connected to System buS 212.
`Bridge 216 connects system bus 212 to input/output (I/O)
`bus 222. Various peripherals may be connected to I/O bus
`222, such as hard disk drive 224. Keyboard/mouse adapter
`226 connected to I/O bus 222 allows a keyboard 228 and
`pointing device 230 such as a mouse or trackball to be
`connected to data processing System 202. Network adapter
`232 connected to I/O buS 222 allows data processing System
`202 to be connected to a local area network (LAN) such as
`intranet 114 depicted in FIG. 1, or to the Internet 128.
`The operation of data processing System 202 is well
`known to those skilled in the art. Furthermore, those in the
`art will recognize that the components depicted in the
`exemplary embodiment may be varied for purposes of
`Specific applications. For example, additional peripheral
`devices such as a CD-ROM drive may be incorporated into
`data processing System 202. In accordance with a preferred
`embodiment of the present invention, data processing Sys
`tem 202 includes a browser application with the function
`ality described below Supporting remote caching on a shared
`SCWC.
`With reference now to FIG. 3, one possible example of a
`data Structure employed in remotely caching Web pages at a
`shared Server in accordance with a preferred embodiment of
`the present invention is depicted. It is common practice in
`Virtually all data processing System architectures and oper
`ating Systems that remote file input/output (I/O) Subsystems
`provide access to remote files in a local/remote transparent
`manner, Such that applications requiring access to remote
`files do not distinguish between remote and local files. Given
`this behavior, a client System running a browser application
`may configure the browser cache to reside on a remote file
`SCWC.
`One change required to permit sharing of a browser cache
`residing on a remote file Server arises in the area of main
`taining information on cache contents. While currently
`access to information regarding cache contents is limited to
`each client System/browser, information regarding the con
`tents of a shared browser cache must be shared along with
`the actual Web pages Stored within the cache. A data
`structure 300 such as that depicted in FIG. 3 may be
`maintained in the same remote file area as the Shared cache,
`with each client System sharing the cache having acceSS
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 8
`
`

`

`S
`rights to the data structure. Alternatively, data structure 300
`may be maintained within each client System including a
`browser caching at the shared cache, with a mechanism for
`updating data structure 300 when other client systems shar
`ing the common cache add or update Web pages to the
`shared cache.
`In the example depicted, data structure 300 includes
`identifiers 302 of the Web pages maintained in the shared
`cache, such as the URL of the Web page's Internet location,
`together with an associated indicator 304 of the last time the
`cache was updated. Indicator 304 Supports the ability to
`"time-out a cached page in the shared cache, requiring a
`client System Seeking to access that page to load the page
`from the Internet Source and update the cache.
`Each entry in cache contents data structure 300 may also
`include an associated flag 306 for indicating “in progress'
`caching. If one client System is in the process of caching or
`updating a Web page in the shared cache, other client
`Systems Seeking to access the same page should wait for the
`caching or update to be completed instead of accessing the
`page at the Internet source. The “in progress' flag 306 would
`be set by any client System loading or reloading a Web page
`in the shared cache, and checked by any client System before
`accessing a cached page. Once caching or updating of the
`page is complete, in-progreSS flag 306 may be reset.
`Cache contents data structure 300 may also include other
`entry components 308 utilized for other purposes, such as
`indicating an access privilege for cached pages. In addition,
`the present invention may be extended to include multiple
`remote and/or local caches, in either a hierarchical or
`complementary arrangement. Therefore, entry components
`308 may also include an indication (Such as a path and
`filename) of other caches containing the same page, so that
`a client System updating a page as a result of the page being
`“timed out” within the top-level shared cache may update all
`caches in a hierarchy containing that page.
`Referring to FIG. 4, a block diagram for an arrangement
`of multiple remote/local caches in accordance with a pre
`ferred embodiment of the present invention is illustrated.
`The arrangement depicted includes a local cache 402 and
`two remote caches 404 and 406. There are a variety of
`reasons for employing multiple local and remote caches for
`a browser application. For example, a particular client
`System may have access to Web pages which are not
`generally accessible on the Internet. For Security reasons,
`caching of Such Web pages would preferably be maintained
`locally, rather than at a shared, remote cache. Moreover, the
`Size of a shared cache may be So large as to preferably
`require distribution over multiple remote caches on different
`SCWCS.
`Support for multiple browser caches is required for an
`arrangement to include both local and remote caches as
`depicted in FIG. 4. Each cache 402,404, and 406 within the
`arrangement may include a cache contents data Structure as
`described above in connection with FIG.3. The arrangement
`may be hierarchical, with the same page being cached in
`more than one local and/or shared remote cache. The cache
`contents data Structure for each cache would thus reflect the
`Same Web page as being contained within multiple caches,
`as depicted in data structure portions 403a, 405a, and 407a.
`BrowserS Seeking to access a Web page would first Seek the
`page in a local cache before checking any of the remote
`caches. Under a hierarchical arrangement, a browser may
`check a local cache before checking a remote, shared cache
`and/or update a local cache from a remote, Shared cache.
`Alternatively, the arrangement may be complementary,
`with different pages being cached in different local or remote
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,192,398 B1
`
`6
`caches. The respective cache contents data Structures for the
`different caches would thus reflect different pages being
`Stored in different local and/or remote shared caches, as
`depicted by data structure portions 403b, 405b, and 407b.
`BrowserS Seeking to access a Web page would check the
`cache contents of each cache to ascertain the location of a
`cached page within the cache System accessible to the
`browser.
`With reference now to FIGS. 5A-5B, a high level flow
`chart for a process of employing a remote, shared cache in
`accordance with a preferred embodiment of the present
`invention is depicted. The process begins at step 502, which
`depicts a browser application being Started on a client
`system, such as user unit 102 depicted in FIG. 1, having
`access to a shared file area in a Server, Such as Server 116
`depicted in FIG. 1. The process then passes to step 504,
`which illustrates loading the cache contents information. In
`configurations employing multiple local/remote or multiple
`remote caches, the cache contents information for each
`cache is loaded.
`The process next passes to step 506, which depicts a
`request being received to load a specific Web page, identified
`by the URL of the page's location on the Internet. The
`process passes next to Step 508, which illustrates checking
`the cache contents information. Where a multiple cache
`configuration is Supported, the cache contents information
`for each cache in the configuration is checked.
`The process then passes to step 510, which depicts a
`determination of whether an acceptably recent copy of the
`requested page is cached in one or more caches accessible to
`the browser. If a sufficiently recent version of the requested
`page is not cached in a local or remote shared cache
`accessible to the browser, the process proceeds to Step 512,
`which illustrates Setting the in-progreSS flag associated with
`the requested page in the cache contents information for
`each cache which should contain the requested page. The
`process then passes to Step 514, which depicts loading or
`updating the requested page from the Internet Source, and
`caching the requested page. This step may include a lookup
`to a policy for caching at various local and/or remote shared
`caches.
`In a multiple cache configuration, the page may be cached
`in a local cache or a remote shared cache, or both, depending
`on the management algorithm implemented in the browser.
`For example, pages loading under a limited acceSS restric
`tion may be cached only in the local cache, while other pages
`may be cached in both the local and remote shared caches
`and deleted from the local cache Sooner than from the
`remote cache. The process then passes to Step 516, which
`illustrates updating the cache contents information for each
`cache in which the requested page was Stored or updated,
`including resetting the in-progreSS flag.
`Referring again to Step 510, if the requested page is
`cached in a cache accessible to the browser, the process
`proceeds to step 518, which depicts a determination of
`whether an update of the requested page in the cache is
`required. If the requested page has not “timed out' and does
`not require an update (i.e. is not “stale' or “invalid'), the
`process proceeds to Step 520, which illustrates loading the
`requested page from the cache. It should be noted that a
`time-out policy is only one refresh mechanism which may
`be employed in connection with the present invention. An
`alternative is to have the server at the Web site from which
`the Web page was retrieved notify the caching server when
`the page is changed. The particular mechanism employed to
`flush Stale or unusable data from caches may be determined
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1011, p. 9
`
`

`

`7
`by the cache management facilities for the browsers
`employed within the intranet.
`For Some applications, a user may wish to have caches
`pages updated more frequently than the default time-out
`employed for the shared remote cache. In fact, Some time
`critical applications (Such as financial applications) may not
`wish to utilize cached Web pages at all since the data within
`the page is dynamic. From Step 520, the process then passes
`to Step 522, which depicts the process becoming idle until a
`load request for another page is received.
`If an update of the requested page is required, the proceSS
`proceeds to step 524, which illustrates a determination of
`whether the in-progreSS flag associated with the requested
`page in the cache contents information is Set. If So, the
`proceSS proceeds to Step 526, which depicts the proceSS
`waiting until the in-progreSS flag is reset. The process then
`passes to Step 520, described above. If the in-progreSS flag
`is not Set, however, the process proceeds to through Steps
`512-516, described above, to step 522.
`The present invention allows browsers for user units
`connected to a remote, shared file Server to leverage the
`ability to Store cached Web pages in a common area on the
`file Server. By caching Web pages in a common file area, the
`present invention allows all users of the shared cache to
`benefit from the first user's access or updating of a Web
`page. Additionally, the maximum size of the cache may be
`larger on a file Server than on a local client System.
`Because the cached Web pages are shared, redundant
`caching is reduced or eliminated Since the same page need
`not be cached twice or more in Separate caches, but need
`only be cached once in a Single, shared cache. Additionally,
`a larger amount of distinctive information may be cached.
`Caching at a Server thus Scale the performance benefits
`obtained in the page browsing of other users. Browser
`applications must be configured to Support remote caches
`shared among multiple browsers, as described above, Scal
`ing beyond caching at a proxy.
`It is noteworthy that existing browserS cache, and that
`existing browsers could, without Source-code level
`modification, cache at a file Server. However, existing
`browsers are not capable of Sharing caches, and thus Sepa
`rate sections of the file server would be employed for each
`browser cache. In the present invention, browsers for dif
`ferent client Systems within an enterprise cache to the same
`Section of a file Server. Additionally, the cache management
`function employed in the present invention requires aware
`neSS of all caches. In the preferred embodiment, the cache
`management function runs on the proxy within an intranet.
`However, it is not necessary that the cache management
`function run on the proxy, but may instead be distributed to
`all browserS. Coordination of cache management activities
`by different browsers may be based on the “in progress' flag
`of the present invention, or Similar flags.
`Although the preferred embodiment employs a Single
`cache in a shared file area of a commonly accessible Server
`for the shared cache, the shared cache may alternatively be
`distributed among user units within the intranet. In Such an
`embodiment, the cache portions in various user units should
`be accessible to other user units within the intranet (i.e.
`Stored within a shared file area of the user units), and the
`shared cache contents information should contain pointers to
`the cache portion(s) containing cached pages.
`The present invention may also be extended for imple
`mentation by an Internet Service provider rather than merely
`within an Intranet for an enterprise. A trust protocol must be
`established between the Subscribers and the service provider
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,192,398 B1
`
`8
`to assure validity of the Web pages cached within a sub
`scriber's user unit. Additionally, availability of the cache
`maintained within a subscriber's user unit (i.e. whether the
`Subscriber's user unit is connected) must be checked within
`implementations of the present invention for an Internet
`Service provider.
`It is noteworthy that the present invention is not limited to
`HTTP requests or Web pages, but may be applied to other
`protocols such as file transfer protocol (FTP) or gopher.
`These Internet facilities are less popular than the Web, but
`are available and may benefit from shared caching in a
`remote location as described above in connection with
`browsers and retrieval of Web pages. In fact, Web pages may
`invoke ftp and/or gopher utilities, as in the case of down
`loading Software demos or graphics from the Internet, and
`thus the embodiments described above may benefit from
`extension to include Support for these protocols.
`It is important to note that while the present invention has
`been described in the context of a fully functional data
`processing System, those skilled in the art will appreciate
`that the mechanism of the present invention is capable of
`being distributed in the form of a computer readable medium
`of instructions in a variety of forms, and that the present
`invention applies equally regardless of the particular type of
`Signal bearing media used to actually carry out the distri
`bution. Examples of computer readable media include:
`recordable type media such as floppy disks and CD-ROMs
`and transmission type media Such as digital and analog
`communication linkS.
`While the invention has been particularly shown and
`described with reference to a preferred embodiment, it will
`be understood by those skilled in the art that various changes
`in form and detail may be made therein without departing
`from the Spirit and Scope of the invention.
`What is claimed is:
`1. A method of Sharing a remote cache within an intranet,
`comprising:
`caching pages requested to be cached by browserS for data
`processing Systems within the intranet in a shared cache
`acc

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket