Patents Related to Web Caching

Network object cache engine

#7,103,794, September 5, 2006

Assignee: Cacheflow, Inc.

Inventors: Malcolm, Michael; Zarnke, Robert

The invention provides a method and system for caching information
objects transmitted using a computer network. A cache engine
determines directly when and where to store those objects in a
memory (such as RAM) and mass storage (such as one or more disk
drives), so as to optimally write those objects to mass storage and
later read them from mass storage, without having to maintain them
persistently. The cache engine actively allocates those objects to
memory or to disk, determines where on disk to store those objects,
retrieves those objects in response to their network identifiers
(such as their URLs), and determines which objects to remove from
the cache so as to maintain sufficient operating space. The cache
engine collects information to be written to disk in write episodes,
so as to maximize efficiency when writing information to disk and
so as to maximize efficiency when later reading that information
from disk. The cache engine performs write episodes so as to
atomically commit changes to disk during each write episode, so the
cache engine does not fail in response to loss of power or storage,
or other intermediate failure of portions of the cache. The cache
engine also stores key system objects on each one of a plurality
of disks, so as to maintain the cache holographic in the sense that
loss of any subset of the disks merely decreases the amount of
available cache. The cache engine also collects information to be
deleted from disk in delete episodes, so as to maximize efficiency
when deleting information from disk and so as to maximize efficiency
when later writing to those areas having former deleted information.
The cache engine responds to the addition or deletion of disks as
the expansion or contraction of the amount of available cache.

Internet communication system

#6,581,090, June 17, 2003

Assignee: Mirror Image Internet, Inc.

Inventors: Lindbo, Sverker; Lothberg, Peter; Vixie, Paul

The present invention relates to the transferring of information
on the Internet, comprising: means (40) for storing information,
corresponding to information provided at an Internet content provider
(60), at respective alternative addresses of said storing means;
means (20) for intercepting an information request from an Internet
user directed to an Internet content provider; means for determining
whether or not the intercepted request is directed to an information
content provider having an associated alternative address on said
storing means (40); and means for directing the request to said
alternative address if such an alternative address exists.

Internet client-server multiplexer

#6,411,986, June 25, 2002

Assignee: Netscaler, Inc.

Inventors: Susai, Michel K.; Sinha, Rajiv; Setia, Deepinder S.; Soni, Ajay V.

An apparatus, method and computer program product for network
client-server multiplexing. The apparatus is implemented within an
interface unit connecting a plurality of servers to the Internet,
which is connected to a plurality of clients. According to a
“connection pooling” aspect of the invention, the interface unit
opens and maintains connections with the servers and handles the
opening and closing of connections with clients accessing the
servers, thereby freeing the servers of the processing load incurred
by opening and closing connections. According to a “connection
distribution” aspect oft he invention, the interface unit examines
the path names within requests received from clients and selects
the server hosting the requested information according to the path

Controlled communications over a global computer network

#6,226,677, May 1, 2001

Assignee: LodgeNet Entertainment Corporation

Inventors: Slemmer; Michael W.

In one embodiment, a method related to controlling communication
of a TCP packet from a user machine is disclosed. During a browser
request from the user machine, the TCP packet is sent via the
intranet to a forced proxy server. The TCP packet having a number
of fields including a first field related to a first destination
IP address. The TCP packet and its first destination IP address is
received by the forced proxy server and analyzed. If the first
destination IP address is not from a “sandboxed” domain, the first
destination IP address is changed to a predetermined second destination
IP address to effectively reroute the TCP packet to another IP
address on the Internet. The rerouted IP address provides content
to the user machine in which at least a majority of the content is
different from that expected to be obtained by the user machine.

Remote file services network-infrastructure cache

#6,085,234, July 4, 2000

Assignee: Inca Technology, Inc.

Inventors: Pitts, William M.; Rigler, Joel R.; Lister, Robert E.

A network-infrastructure cache (“NI Cache”) transparently provides
proxy file services to a plurality of client workstations concurrently
requesting access to file data stored on a server. The NI Cache
includes a network interface that connects to a digital computer
network. A file-request service-module of the NI Cache receives and
responds to network-file-services-protocol requests from workstations
through the network interface. A cache, also included in the NI
Cache, stores data that is transmitted back to the workstations. A
file-request generation-module, also included in the NI Cache,
transmits requests for data to the server, and receives responses
from the server that include data missing from the cache.

Apparatus and method for increased data access in a network file object oriented caching system

#6,012,085, January 4, 2000

Assignee: Stampede Technolgies, Inc.

Inventors: Yohe, Thomas Patrick; Dorworth, Gordon L.; Penner, Jon J.; Hertzog, Scott; Morris, Brian C.

An apparatus for increased data access in a network includes a
file/object server computer having a permanent storage memory, a
cache verifying computer operably connected to the file/object
server computer in a manner to form a network for rapidly transferring
data, the cache verifying computer having an operating system, a
first memory and a processor capable of performing an operation on
data stored in the permanent storage memory of the file/object
server computer to produce a signature of the data characteristic
of one of a file, an object and a directory, a remote client computer
having an operating system, a first memory, a cache memory and a
processor capable of performing an operation on data stored in the
cache memory to produce a signature of the data, a communication
server operably connected to the remote client computer to the cache
verifying computer and the file/object server computer and comparators
operably associated with the cache verifying computer and remote
client computer for comparing the signatures of data with one another
to determine whether the signature of data of the remote client is

Pull based, intelligent caching system and method for delivering data over a network

#5,991,306, November 23, 1999

Assignee: Microsoft Corporation

Inventors: Burns; Gregory; Leach; Paul J.

A network system includes a content provider connected to local
service providers via an interactive distribution network, such as
the Internet. The local service providers facilitate delivery of
the content from the content provider to multiple subscribers. The
local service providers schedule delivery of frequently requested
content from the content provider prior to a peak time when the
subscribers are likely to request the content. The content is
downloaded from the content provider during the off-peak hours and
cached at the local service providers for serving to the subscribers
during the ensuing peak time. In this manner, the frequently requested
content is already present at the local service providers and ready
to be served to the subscribers before they actually request it.
When the content is finally requested, the data is streamed
continuously in real-time for just-in-time rendering at the subscriber
computer. Another aspect of is invention involves supplementing
content delivery over the Internet with delivery of content over a
secondary network, such as a broadcast satellite network. The
supplemental broadcast link offers additional bandwidth at a fraction
of the cost that would be incurred if the local service provider
installed additional Internet connections, such as T1 or T3

Internet browser that includes an enhanced cache for user-controlled document retention

#5,873,100, February 16, 1999

Assignee: Intel Corporation

Inventors: Adams, Robert Theodore; Vaughn, Iverson S.; Jeffrey, Nelson Kidder

A browser for requesting and receiving documents from a network
includes a cache which stores a plurality of documents and has a
user-defined storage limit. At least one of the plurality of documents
stored in the cache is designated as a keep document. When a document
is requested and received from the network, it is stored in the
cache. The cache then determines whether the amount of storage used
by the cache exceeds the storage limit. If the storage limit is
exceeded, the cache deletes the oldest documents not designated as
keep documents until the amount of storage used by the cache is
within the storage limit

Inter-cache protocol for improved WEB performance

#5,787,470, July 28, 1998

Assignee: AT&T Corp

Inventors: DeSimone, Antonio; Shur, David Hilton; Sibal, Sandeep

On the Internet, different caches may contain copies of objects
that have been copied from originating servers when they were
accessed by users. Interconnected caches may have different objects
stored thereon that might at some time be requested by a client
terminal that is connected to a cache other than the one on which
the object is stored. Rather than awaiting a request for a particular
object and then querying each neighbor cache to determine whether
a copy of the requested object is stored thereon, and then downloading
the requested object if it is found, information about the contents
of the neighbor caches is exchanged between these caches so that
when a request for an object is received, the object can be retrieved
from the cache in which it is stored. In the alternative, the object
may be retrieved from the originating server if, for example, the
object stored in a cache is stale based on the date and time it was
last modified in the cache.

System for accessing distributed data cache channel at each network node to pass requests and data

#5,611,049, March 11, 1997


Inventors: Pitts, William M.

Network Distributed Caches (“NDCs”) (50) permit accessing a named
dataset stored at an NDC server terminator site (22) in response
to a request submitted to an NDC client terminator site (24) by a
client workstation (42). In accessing the dataset, the NDCs (50)
form a NDC data conduit (62) that provides an active virtual circuit
(“AVC”) from the NDC client site (24) through intermediate NDC sites
(26B, 26A) to the NDC server site (22). Through the AVC provided
by the conduit (62), the NDC sites (22, 26A and 26B) project an
image of the requested portion of the named dataset into the NDC
client site (24) where it may be either read or written by the
workstation 42. The NDCs (50) maintain absolute consistency between
the source dataset and its projections at all NDC client terminator
sites (24, 204B and 206) at which client workstations access the
dataset. Channels (116) in each NDC (50) accumulate profiling data
from the requests to access the dataset for which they have been
claimed. The NDCs (50) use the accumulated profile data stored in
channels (116) to anticipate future requests to access datasets,
and, whenever possible, prevent any delay to client workstations
in accessing data by asynchronously pre-fetching the data in advance
of receiving a request from a client workstation.

$Date: 2003/01/28 17:26:58 $