|
|
|
| United States Patent | 5878218 |
| Link to this page | http://www.wikipatents.com/5878218.html |
| Inventor(s) | Maddalozzo, Jr.; John (Austin, TX);
McBrearty; Gerald Francis (Austin, TX);
Shieh; Johnny Meng-Han (Austin, TX) |
| Abstract | An improved method and system for accessing the most recent version of a
requested data file that has been downloaded into a private network from a
source external to the private network. The objects of the method and
system are achieved as is now described. A network of computers is defined
as private relative to one or more other networks of computers. More than
one computer within said defined private network is specified as composing
a "common cache." A copy of any data file entering the defined private
network from a source external to the defined private network is cached at
one or more computers which compose the defined "common cache." In
response to a request from a computer within the defined private network
for a specific data file which originates from a source external to the
defined private network, a determination is made as to whether a copy of
the requested specific data file is resident within the defined "common
cache." The most recent version of the requested specific data file which
is resident within said defined "common cache" is obtained if it was
determined that a copy of the requested specific data file is resident
within the defined "common cache." The requested specific data file is
obtained from a source external to the defined private network if it was
determined that a copy of the requested specific data file is not resident
within the defined "common cache." |
|
|
|
Title Information  |
|
|
|
|
|
|
| Publication Date |
March 2, 1999 |
|
|
|
|
|
| Filing Date |
March 17, 1997 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5740370 Battersby 709/219 Apr,1998 |      Your vote accepted [0 after 0 votes] | | 5721914 DeVries 707/10 Feb,1998 |      Your vote accepted [0 after 0 votes] | | 5671391 Knotts
Sep,1997 |      Your vote accepted [0 after 0 votes] | | 5583994 Rangan 709/219 Dec,1996 |      Your vote accepted [0 after 0 votes] | | 5572643 Judson 709/218 Nov,1996 |      Your vote accepted [0 after 0 votes] | | 5568181 Greenwood 725/92 Oct,1996 |      Your vote accepted [0 after 0 votes] | | 5511160 Robson 345/501 Apr,1996 |      Your vote accepted [0 after 0 votes] | | 5491820 Belove 707/3 Feb,1996 |      Your vote accepted [0 after 0 votes] | | 5442771 Filepp 709/219 Aug,1995 |      Your vote accepted [0 after 0 votes] | | 5438508 Wyman 705/8 Aug,1995 |      Your vote accepted [0 after 0 votes] | | 5297249 Bernstein
Mar,1994 |      Your vote accepted [0 after 0 votes] | | 5204947 Bernstein 715/854 Apr,1993 |      Your vote accepted [0 after 0 votes] | | 4714992 Gladney 707/206 Dec,1987 |      Your vote accepted [0 after 0 votes] | | | | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
1. An improved method for accessing a most recent version of a requested
data file that has been downloaded into a private network from a source
external to said private network, said method comprising the steps of:
establishing a network of computers as private relative to one or more
other networks of computers;
specifying one or more computers within said defined private network as
defining a common cache;
caching within said defined common cache a copy of a first data file
entering said defined private network from a source external to said
defined private network;
caching within said defined common cache a copy of a second data file
entering said defined Private network from a source external to said
defined private network, wherein said second data file is a most recent
version of said first data file and has some content different from said
first data file;
in response to a request from a computer within said defined private
network for a specific data file which originates from a source external
to said defined private network, determining that said requested specific
data file corresponds to said first and second data files resident within
said defined common cache; and
in response to said determining step, obtaining a most recent version of
said requested specific data file by transmitting the second data file
which is resident within said defined common cache.
2. The method of claim 1, further comprising the step of:
in response to said determining step, obtaining said requested specific
data file from a source external to said defined private network if said
determining step indicates that a copy of said requested specific data
file is not resident within said common cache.
3. The method of claim 1 wherein said step of establishing a network of
computers as private relative to one or more other networks of computers
further comprises the step of defining a network being served by a public
Internet Host as private relative to the public Internet.
4. The method of claim 1 wherein said step of specifying one or more
computers within said defined private network as defining a common cache
further comprises the step of:
defining at least one network gateway server within said private network as
said defined common cache.
5. The method of claim 1 wherein said step of caching a copy of a data file
entering said defined private network from a source external to said
defined private network within said defined common cache further comprises
the steps of:
saving a copy of said data file at one or more computers making up said
defined common cache.
6. The method of claim 1 wherein said step of caching within said defined
common cache a copy of a data file entering said defined private network
from a source external to said defined private network further comprises
the steps of:
saving a copy of said data file at one or more computers making up said
defined common cache;
directing that one or more computers making up said defined common cache
query, on a scheduled or opportunistic basis, one or more other computers
within said defined common cache as to a most recent version of said data
file cached in said defined common cache; and
in response to said querying, copying a most recent version of said data
file cached in said defined common cache to said one or more computers
making said queries.
7. The method of claim 1 wherein said step of caching a copy of a data file
entering said defined private network from a source external to said
defined private network within said defined common cache further comprises
the steps of:
saving a copy of said data file at one or more computers making up said
defined common cache;
directing that one or more computers making up said defined common cache
query, on a scheduled or opportunistic basis, one or more other computers
within said defined common cache as to a most recent version of said data
file cached in said defined common cache; and
in response to said querying, saving the location of a most recent version
of said data file cached in said defined common cache.
8. The method of claim 1 wherein said step of determining if a copy of said
requested specific data file is resident within said defined common cache
further comprises the step of:
querying one or more computers within said defined common cache as to
whether a copy of said requested specific data file is resident at said
one or more computers.
9. The method of claim 1 wherein said step of obtaining a most recent
version of said requested specific data file which is resident within said
defined common cache further comprises the step of:
in response to said determining step, copying a most recent version of said
requested data file to local memory.
10. The method of claim 1 wherein said step of obtaining a most recent
version of said requested specific data file which is resident within said
defined common cache further comprises the step of:
copying a most recent version of said requested data file to local memory;
and
delivering a most recent version of said requested data file to a computer
requesting said most recent version.
11. The method of claim 1, further comprising the steps of
copying received version of a most recent version of said requested data
file to the local memory of a computer requesting said requested data
file; and
associating within the local memory of a computer requesting said specific
data file a network address within said defined common cache where said
copied most recent version was obtained with the name of said requested
data file.
12. An improved system for accessing a most recent version of a requested
data file that has been downloaded into a private network from a source
external to said private network, said system comprising:
means for establishing a network of computers as private relative to one or
more other networks of computers;
means for specifying one or more computers within said defined private
network as defining a common cache;
means for caching within said defined common cache a copy of a first data
file entering said defined private network from a source external to said
defined private network, and a copy of a second data file entering said
defined private network from a source external to said defined private
network wherein said second data file is a most recent version of said
first data file and has some content different from said first data file;
means, responsive to a request from a computer within said defined private
network for a specific data file which originates from a source external
to said defined private network, for determining that said requested
specific data file corresponds to said first and second data files
resident within said defined common cache; and
means, responsive to said determining step, for obtaining a most recent
version of said requested specific data file by transmitting the second
data file which is resident within said defined common cache.
13. The system of claim 12, further comprising:
means, responsive to said determining step, for obtaining said requested
specific data file from a source external to said defined private network
if said means for determining indicates that a copy of said requested
specific data file is not resident within said common cache.
14. The system of claim 12 wherein said means for establishing a network of
computers as private relative to one or more other networks of computers
further comprises means for defining a network being served by a public
Internet Host as private relative to the public Internet.
15. The system of claim 12 wherein said means for specifying one or more
computers within said defined private network as defining a common cache
further comprises:
means for defining at least one network gateway server within said private
network as said defined common cache.
16. The system of claim 12 wherein means for coaching a copy of a data file
entering said defined private network from a source external to said
defined private network within s aid defined common cache further
comprises:
means for saving a copy of said data file at one or more computers making
up said defined common cache.
17. The system of claim 12 wherein said means for caching within said
defined common cache a copy of a data file entering said defined private
network from a source external to said defined private network further
comprises:
means for saving a copy of said data file at one or more computers making
up said defined cache;
means for directing that one or more computers making up said defined
common cache query, on a scheduled or opportunistic basis, one or more
other computers within said defined common cache as to a most recent
version of said data file cached in said defined common cache; and
means, responsive to said querying, for copying a most recent version of
said data file cached in said defined common cache to said one or more
computers making said queries.
18. The system of claim 12 wherein said means for caching a copy of a data
file entering said defined private network from a source external to said
defined private network within said defined common cache further
comprises:
means for saving a copy of said data file at one or more computers making
up said defined common cache;
means for directing that one or more computers making up said defined
common cache query, on a scheduled or opportunistic basis, one or more
other computers within said defined common cache as to a most recent
version of said data file cached in said defined common cache; and
means, responsive to said querying, for saving the location of a most
recent version of said data file cached in said defined common cache.
19. The system of claim 12 wherein said means for determining if a copy of
said requested specific data file is resident within said defined common
cache further comprises:
means for querying one or more computers within said defined common cache
as to whether a copy of said requested specific data file is resident at
said one or more computers.
20. The system of claim 12 wherein said means for obtaining a most recent
version of said requested specific data file which is resident within said
defined common cache further comprises:
means, responsive to said determining step, for copying a most recent
version of said requested data file to local memory.
21. The system of claim 12 wherein said means for obtaining a most recent
version of said requested specific data file which is resident within said
defined common cache further comprises:
means for copying a most recent version of said requested data file to
local memory; and
means for delivering a most recent version of said requested data file to a
computer requesting said most recent version.
22. The system of claim 12, further comprising:
means for copying received version of a most recent version of said
requested data file to the local memory of a computer requesting said
requested data file; and
means for associating within the local memory of a computer requesting said
specific data file a network address within said defined common cache
where said copied most recent version was obtained with the name of said
requested data file.
23. A program product for accessing a most recent version of a requested
data file that has been downloaded into a private network from a source
external to said private network, said program product comprising:
means for establishing a network of computers as private relative to one or
more other networks of computers;
means for specifying one or more computers within said defined private
network as defining a common cache;
means for caching within said defined common cache a copy of a first data
file entering said defined private network from a source external to said
defined private network, and a copy of a second data file entering said
defined private network from a source external to said defined private
network wherein said second data file is a most recent version of said
first data file and has some content different from said first data file;
means, responsive to a request from a computer within said defined private
network for a specific data file which originates from a source external
to said defined private network, for determining that said requested
specific data file corresponds to said first and second data files
resident within said defined common cache;
means, responsive to said determining step, for obtaining a most recent
version of said requested specific data file by transmitting the second
data file which is resident within said defined common cache; and
signal bearing media bearing said means for establishing, specifying,
caching, determining, and obtaining.
24. The program product of claim 23 wherein said signal bearing media
comprises recordable media.
25. The program product of claim 23 wherein said signal bearing media
comprises transmission media.
26. The program product of claim 23, further comprising:
means, responsive to said determining step, for obtaining said requested
specific data file from a source external to said defined private network
if said means for determining indicates that a copy of said requested
specific data file is not resident within said common cache.
27. The program product of claim 23 wherein said means for establishing a
network of computers as private relative to one or more other networks of
computers further comprises means for defining a network being served by a
public Internet Host as private relative to the public Internet.
28. The program product of claim 23 wherein said means for specifying one
or more computers within said defined private network as defining a common
cache further comprises:
means for defining at least one network gateway server within said private
network as said defined common cache.
29. The program product of claim 23 wherein means for caching a copy of a
data file entering said defined private network from a source external to
said defined private network within said defined common cache further
comprises:
means for saving a copy of said data file at one or more computers making
up said defined common cache.
30. The program product of claim 23 wherein said means for caching within
said defined common cache a copy of a data file entering said defined
private network from a source external to said defined private network
further comprises:
means for saving a copy of said data file at one or more computers making
up said defined common cache;
means for directing that one or more computers making up said defined
common cache query, on a scheduled or opportunistic basis, one or more
other computers within said defined common cache as to a most recent
version of said data file cached in said defined common cache; and
means, responsive to said querying, for copying a most recent version of
said data file cached in said defined common cache to said one or more
computers making said queries.
31. The program product of claim 23 wherein said means for caching a copy
of a data file entering said defined private network from a source
external to said defined private network within said defined common cache
further comprises:
means for saving a copy of said data file at one or more computers making
up said defined common cache;
means for directing that one or more computers making up said defined
common cache query, on a scheduled or opportunistic basis, one or more
other computers within said defined common cache as to a most recent
version of said data file cached in said defined common cache; and
means, responsive to said querying, for saving the location of a most
recent version of said data file cached in said defined common cache.
32. The program product of claim 23 wherein said means for determining if a
copy of said requested specific data file is resident within said defined
common cache further comprises:
means for querying one or more computers within said defined common cache
as to whether a copy of said requested specific data file is resident at
said one or more computers.
33. The program product of claim 23, wherein said means for obtaining a
most recent version of said requested specific data file which is resident
within said defined common cache further comprises:
means, responsive to said determining step, for copying a most recent
version of said requested data file to local memory.
34. The program product of claim 23 wherein said means for obtaining a most
recent version of said requested specific data file which is resident
within said defined common cache further comprises:
means for copying a most recent version of said requested data file to
local memory; and
means for delivering a most recent version of said requested data file to a
computer requesting said most recent version.
35. The program product of claim 23, further comprising:
means for copying received version of a most recent version of said
requested data file to the local memory of the computer requesting said
requested data file; and
means for associating within the local memory of a computer requesting said
specific data file a network address within said defined common cache
where said copied most recent version was obtained with the name of said
requested data file. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND
1. Technical Field
The present invention relates, in general, to an improved method and system
for accessing the most recent version of a requested data file that has
been downloaded into a private network from a source external to the
private network. In particular, the present invention relates to an
improved method and system for accessing the most recent version of a
requested data file that has been downloaded into a private network from a
source external to the private network by utilizing a "common cache" which
is implemented within a collection of hierarchically distributed computers
within the private network.
2. Description of Related Art
The present invention is directed toward the improvement of the efficiency
of prior art methods and systems used with internetworks. An internetwork
is an informal collection of packet-switching networks that is (a)
interconnected by gateways, (b) uses protocols allowing it to function as
a single, large, virtual network, (c) consists of an interconnection of
individual personal computers and computer networks each of which belongs
to a public or private entity, such as a person, corporation, university,
government agency, or laboratory, and (d) uses existing telecommunications
facilities to establish interconnections. M. Weik, Communications Standard
Dictionary 475 (3rd ed. 1996).
The most well known internetwork is the public network merely referred to
as "the Internet." The Internet is the formal collection of networks and
gateways that (1) includes among others, the military network (MILNET),
and the National Science Foundation network (NSFNET); (2) uses the
Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite;
(3) functions as a single, virtual network; and (4) provides global
connectivity. Id at 474. Since its inception, the Internet has continued
to grow rapidly. In early 1995, access was available in 180 countries and
there were more than 30 million users. It is expected that 100 million
computers will be connected via the public Internet by 2000, and even more
via enterprise internets. The technology and the Internet have supported
global collaboration among people and organizations, information sharing,
network innovations, and rapid business transactions. "Internet,"
Microsoft.RTM. Encarta.RTM. 96 Encyclopedia. .COPYRGT. 1993-1995 Microsoft
Corporation. All rights reserved.
The Internet essentially provides a mechanism whereby a packet-switched
data communications channel is established through a packet-switching
network between two machines. The Internet is centrally managed, and only
computers which appear within the Domain Name System (DNS) can actually
establish a true, non-virtual, connection to the Internet. The DNS is
actually an online distributed data base which is run on Internet servers
throughout the Internet which map human readable addresses into Internet
Protocol addresses. Computers that connect directly into the Internet are
known as "hosts" and carry "domain names" which uniquely identify them as
true nodes within the Internet. M. Weik, Communications Standard
Dictionary 262 (3rd ed. 1996).
Each Internet "host" generally has a number of "client" computers attached
to it, and functions as a "server" for those computers with the service
provided being Internet access. In communications networks the terms
"client" and "server" refer to client-server architecture which is a
network-based system that uses client software running on one computer to
request a specific service and uses corresponding server software running
on a second computer to provide access to a shared resource managed by the
second computer. M. Weik, Communications Standard Dictionary 137 (3rd ed.
1996). The server then connects to a resource, such as the Internet, which
provides the specific service requested. The server thus allows efficient
sharing of a resource. Thus, the terms "client" and "server" are context
dependent, and a computer that functions as a "client" in one context
(such as a computer requesting Internet access) may function as a "server"
in another context (such as where that same computer has a number of
computers attached to it and functions as a network resource manager for
those attached computers). This same relationship can extend indefinitely,
with each attached computer capable of functioning both as a "client" or a
"server", dependent upon the computers connected to them and the software
architecture on the computers.
This hierarchical relationship has been recognized in the DNS, and
consequently a human readable DNS name generally has the structure of a
sequence of labels separated by periods, with each label generally
specifying a computer (although not always, in that sometimes the labels
map to drives or files), and with a file extender being appended to the
last label, which corresponds to a specific file on the computer being
accessed. For example, a human readable DNS might be nic.ddn.mil/somefile,
in which nic (Network Information Center) is the name of the host computer
connected to the Internet, ddn (Defense Data Network) is the subdomain
corresponding to computer connected to the primary domain computer, and
mil (MILNET) is the primary domain corresponding to a computer connected
to the host computer, and somefile is a file residing on ddn. M. Weik,
Communications Standard Dictionary 262 (3rd ed. 1996). Furthermore, each
of these domains and subdomains could merely be drives or files as
discussed.
Use of the DNS allows computer to computer connection, but once so
connected how are the machines to understand each other? In order to
understand each other, the machines on either side of the connection must
"speak the same language." Toward this end application programs were
developed which ran upon the computers communicating over the Internet
which allowed the computers on either end of the channel to understand
each other. For example, an application called "Gopher" allows users to
create and use computer file directories. This service is linked across
the Internet to allow other users to browse files. Another application
program called File Transfer Protocol (FTP) allows users to transfer
computer files easily between host computers. This is still the primary
use of the Internet, especially for software distribution, and many public
distribution sites exist. The Telnet application allows users to log in to
another computer from a remote location. However, all of these preceding
referenced protocols generally are meant to connect two computers and
allow them to communicate. "Internet," Microsoft.RTM. Encarta.RTM. 96
Encyclopedia. .COPYRGT. 1993-1995 Microsoft Corporation. All rights
reserved. In 1989 applications to connect computers took a quantum leap
forward.
In 1989 the World Wide Web (WWW) was developed by English computer
scientist Timothy Berners-Lee to enable information to be shared among
internationally dispersed teams of researchers at the European
Organization for Nuclear Research (CERN) facility near Geneva,
Switzerland. Although the name World Wide Web would seem to indicate that
the WWW is a network, it is not. The WWW is actually an application
program which runs on individual computers and that creates connections to
multiple different source computers over one or more networks. All WWW
computer files are formatted using Hypertext Markup Language (HTML), and
WWW communication among computers occurs using the Hypertext Transfer
Protocol (HTTP). A computer file formatted in HTML is called a "web page"
in WWW parlance.
In WWW parlance, connections established between different computers are
termed "links." Users interact with computers running WWW software by
utilizing application programs known as a WWW browser (e.g. Netscape
Navigator). A WWW browser program allows a file formatted in HTML/HTTP
format (i.e. "web pages") to be displayed on a computer screen as an
agglomeration of text, images, sound, or other visual objects, which can
appear as highlighted texts or graphics, and which are in actuality
subprograms to establish communications links with other machines
internetworked and running WWW software. The user can navigate through
information by using a mouse and pointing and clicking on such visual
objects on the screen, which will establish a link with another computer
over the network and retrieve and display a file formatted in HTML by
using the HTTP protocol. Thus, the innovation of the WWW was that the
creation of HTML/HTTP formatted files allowed the display of information
on a computer screen "as if" it were resident on one computer, while in
actuality the information may be distributed in many different files on
many different computers. It is important to remember that the HTTP/HTML
scheme only refers to making internetworked computers speak the same
language, and that actual network communication normally occurs over the
Internet or other networks using standard network protocols, such as
TCP/IP, or OSI protocols.
Thus, in order to effectively utilize the Internet one needs to both
establish a connection over the Internet, and to specify a protocol
whereby the computers know how to communicate. In accessing Internet
services this is accomplished by use of what is known as the universal
resource locator (URL). The URL has two basic components, the protocol to
be used, and the object pathname. For example, the URL
"http://www.uspto.gov" (home page for the U.S. Patent & Trademark Office)
specifies a hypertext transfer protocol (HTTP) and a pathname of the
server ("www.uspto.gov"). The server name is associated with a unique
numeric value (TCP/IP address).
The foregoing concepts can be made more clear by reference to FIG. 1 which
depicts a high-level schematic view of a private network interfacing with
an external network. FIG. 1 is also a schematic diagram of how networked
computers can connect through hosts to the Internet and then communicate
to other computers through the Internet. The Internet 10 is shown as a
network cloud. Internet host 12 is depicted as a mainframe computer.
Internet host 12 functions as a network server for the network composed of
client computers 20-22. Computer 20 functions as network server for the
network composed of client computers 30-32. Computer 22 functions as
network server for the network composed of client computers 33-35.
Computer 31 functions as network server for the network composed of client
computers 40-43. Computer 34 functions as network server for the network
composed of computers 44-47. Computer 50 functions as a network server for
the network composed of client computers 61-64. Computer 46 functions as a
gateway between network servers 34 and 50. Furthermore, each network
server just referenced functions as a gateway from its lower attached
network into the network above it.
Internet host 12A is depicted as a mainframe computer. Internet host 12A
functions as a network server for the network composed of client computers
20A-22A. Computer 20A functions as network server for the network composed
of client computers 30A-32A. Computer 22A functions as network server for
the network composed of client computers 33A-35A. Computer 32A functions
as network server for the network composed of client computers 40A-43A.
Computer 34A functions as network server for the network composed of
computers 44A-47A. Furthermore, each network server just referenced
functions as a gateway from its lower attached network into the network
above it.
FIG. 1 can be used to illustrate the concepts discussed above. Assume
personal computer 40A is running a web browser application program.
Suppose that a personal computer 40A's user wants to access a "web page"
(computer file formatted in Hypertext Markup Language (HTML)) via a "link"
that appears in highlighted fashion on the personal computer 40A's screen.
When personal computer 40A's user activates the "link" assume personal
computer 40A specifies via a URL that the "web page" corresponding to the
displayed "link" actually corresponds to a data file resident on computer
62 Thus, in order to access the desired "web page," personal computer 40A
must use its private network protocol to negotiate with its server 32A and
indicate that it desires delivery of information to Internet host computer
12A. Server 32A must then serve as a gateway and communicate to its
network server 20A and negotiate with server 20A to pass personal computer
40A's information to Internet host 12A. Server 20A must then establish
communication with Internet host 12A and then pass personal computer 20A's
information to Internet host 12A.
Once Internet host 12A receives the URL from personal computer 20A, it must
translate the human readable URL into Internet Protocol format, and then
establish a connection with a second Internet host 12 and send the
information. Internet host 12 then negotiates with network server 22 and
subsequently passes the information. Network server 22 negotiates with
network server 34 and subsequently passes the information. Network server
34 negotiates with network gateway 46 and subsequently passes the
information. Network gateway 46 negotiates with network server 50 and
subsequently passes the information. And network server 50 negotiates with
a personal computer 62, and delivers the information to same. Once
personal computer 62 has received the information, it recognizes it as a
request for a specific HTML file resident within it, retrieves that file,
and returns the requested HTML file ("web page") to requesting computer
40A throughout the network in a fashion similar to the one in which the
request for the file was sent.
Each time that the networked computers communicated in the above scenario,
the computers first had to establish communications links between
themselves and pass the information. Each time the information was passed,
the information had appended to it headers and trailers to ensure that it
arrived at the correct location. Stallings W., Data and Comiuter
Communications 245-278 (1985). Each communication requires both
communications channel bandwidth consumption and computer processing
overhead.
Although the above scenario only addresses one computer-computer
communication, with WWW software many such connections are envisioned to
be occurring simultaneously. Such simultaneous activity consumes
considerable communications channel bandwidth and processing capacity.
The problems arising from such redundant data links have been recognized
previously. In order to reduce the redundant links and unnecessary
Internet work traffic, the previous solution has been to create local data
caches on end client user machines, data caches on internetwork gateways,
and data caches on the Internet hosts.
FIG. 2 illustrates the major components used to enact the previous
solution. Shown is Internet host 12A to which are attached a first network
with network server 20A and network members 30A-32A. Also shown attached
to Internet host 12A is a second network with network server 22A and
network members 33A-35A. In the previous solution, Internet host 12A
creates an Internet host cache 12AC of Internet files which are frequently
downloaded through it from the Internet. In addition, network server 22A
also creates a cache 22AC of Internet files which are frequently
downloaded through it. Furthermore, the application program, such as a web
browser 33AB, which for sake of illustration is shown running on client
computer 33A also creates a local cache 33AC of Internet files which the
web browser has recently accessed.
In operation, a user (not shown) of the web browser application 33AB
running on client computer 33A requests access to a specific data file
10F. The web browser first checks its local cache 33AC for the requested
specific data file. If we | | |