SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
"Rabinovich and Spatscheck report a wealth of detailed information about how to implement Web caching and replication mechanisms, but more importantly, they teach me how to think about the general problem of content distribution. I'm pleased that there is finally a comprehensive book on this important subject."
--Larry Peterson, Professor of Computer Science, Princeton University
"This book is a remarkable piece of work, well-organized and clearly articulated. The authors have masterfully presented advanced topics in Internet Web infrastructure and content delivery networks in a way that is suitable for both novices and experts."
--Steve McCanne, Chief Technology Officer, Inktomi
As the Internet grows, evolving from a research tool into a staple of daily life, it is essential that the Web's scalability and performance keep up with increased demand and expectations. Every day, more and more users turn to the Internet to use resource-hungry applications like video and audio on-demand and distributed games. At the same time, more and more computer applications are built to rely on the Web, but with much higher sensitivity to delays of even a few milliseconds. The key to satisfying these growing demands and expectations lies in the practices of caching and replication and in the increased scalability solutions they represent.
Web Caching and Replication provides essential material based on the extensive real-world experience of two experts from AT&T Labs. This comprehensive examination of caching, replication, and load-balancing practices for the Web brings together information from and for the commercial world, including real-life products; technical standards communities, such as IETF and W3C; and academic research.
By focusing on the underlying, fundamental ideas that are behind the varied technologies currently used in caching and replication, this book will remain a relevant, much-needed resource as the multi-billion dollar industries that rely on the Web continue to grow and evolve.
The book approaches its two central topics in two distinct parts. The part on caching includes coverage of:
The part on replication includes coverage of:
Examples and illustrations are included throughout the book. Extensive cross-referencing also enables readers to identify the corresponding parts of each section. Web Caching and Replication concludes with a thorough look into the future. It not only considers how new services can be implemented on caching and replication platforms, but also outlines emerging technologies that will allow for cooperation between different caching and replication enterprises in order to improve the overall performance of the Web.
Deploying Forward Proxy Caching in Enterprise and ISP Networks
Click below for Sample Chapter related to this title:
rabinovichch08.pdf
(NOTE: All chapters conclude with a Summary.)
Preface.
Intended Audience.
Organization of the Book.
The Basics of Web Caching.
The Basics of Web Replication.
Beyond Performance.
I. BACKGROUND.
1. Network Layers and Protocols.The ISO/OSI Reference Model.
Network Components at Different Layers.
Overview of Internet Protocols.
2. The Internet Protocol and Routing.Addressing.
IP Datagram Header.
Routing.
Routing within ASs.
Routing between ASs.
Multicast.
3. Transmission Control Protocol.Segment Header.
Opening a Connection.
Closing a Connection.
Flow Control.
Congestion Control.
Retransmission.
4. Application Protocols for the Web.Uniform Resource Locators.
The Domain Name System.
Name Hierarchy.
The DNS Protocol.
The HyperText Transfer Protocol.
The HTTP Request.
The HTTP Response.
The HTTP Message Exchange.
Hyperlinks and Embedded Objects.
5. HTTP Support for Caching and Replication.Conditional Requests.
Conditional Headers Used for Caching.
Conditional Headers Used for Replication.
Age and Expiration of Cached Objects.
Request Redirection.
Range Requests.
The Cache-Control Header.
Cache-Control Header Directives in Requests.
Cache-Control Header Directives in Responses.
Example of the Cache-Control Header.
Storing State for a Stateless Server: Cookies.
Support for Server Sharing.
Expanded Object Identifiers.
Learning the Proxy Chain.
Cacheability of Web Content.
6. Web Behavior Rules of Thumb.Evaluation Methods.
Live Measurements.
Trace-Based Methods.
Benchmarking.
Object Size.
Object Types and Cacheability.
Object Popularity.
Locality of Reference.
Temporal Locality.
Spatial Locality.
Rate of Object Modifications.
Other Observations.
II. WEB CACHING.
7. Proxy Caching: Realistic Expectations.Do Proxy Caches Deserve a Hearing?
Latency Reduction.
An Optimistic Bound on Latency Reduction.
A Pessimistic View of Latency Reduction.
TCP Connection Caching.
Connection Caching versus Data Caching.
TCP Connection Splitting.
Environment-Specific TCP Optimizations.
Bandwidth Savings.
Proxies and Streaming Media.
8. Proxy Deployment.Overview of Internet Connectivity Architectures.
Nontransparent Proxy Deployment.
Explicit Client Configuration.
Browser Autoconfiguration.
Proxy Auto-Discovery.
Transparent Proxy Deployment.
Multipath Problem.
Interception Mechanisms.
Layer 4 Switch as an Intercepter.
Router as an Intercepter.
Layer 7 Switch as an Intercepter.
Intercepting Link.
Performance Pitfalls.
Security and Access Control Issues.
Proxies and Web Server Access Control.
Proxies and Security.
9. Cooperative Proxy Caching.Shared Cache: How Big Is Big Enough?
Issues in Cooperative Proxy Caching.
Location Management.
Broadcast Queries.
Hierarchical Caching.
URL Hashing.
Directory-Based Cooperation.
Directory Structures.
Caching on a Global Scale: Proxy Pruning.
System Model.
Cache Routing.
Vicinity Caching.
An Overview of Existing Platforms.
Cache Hierarchies.
Caching as a Service of a Network Access Point.
Satellite Broadcast Cache Service.
10. Cache Consistency.Cache Validation.
The Basic Validation Scenario.
Implicit Time to Live.
Fine-Tuning Validation.
Asynchronous and Piggyback Cache Validation.
Cache Invalidation.
Leases.
Subscriptions.
Delayed versus Immediate Updates.
Volumes.
Volume Lease Protocols.
Piggyback and Delayed Invalidation.
Invalidation in Cache Routing.
Issues in Cooperative Cache Consistency.
Validation with Cooperative Proxies.
Non-Monotonic Delivery Problem.
11. Replacement Policy.Replacement Policy Metrics.
Replacement Policy Algorithms.
The Value of Replacement Policy.
12. Prefetching.Performance Metrics.
Performance Bounds of Prefetching.
Taxonomy.
Nondata Prefetching.
Nontransparent Prefetching.
User Nontransparency.
Server Nontransparency.
Server Push versus Client Pull.
Information Used in Prefetching Algorithms.
User-Specific Information.
Group Information.
Multiuser Information.
Prediction Algorithms.
Popularity-Based Predictions.
Markov Modeling.
Examples of Algorithms using First-order Markov Modeling.
Exploiting Longer Request Sequences.
Structure Algorithms.
13. Caching the Uncacheable.A Note on Implementation.
Modified Content and Stale Delivery Avoidance.
Cache-Friendly Approaches to Stale Delivery Avoidance.
Utilizing Cached Stale Content.
Cookied Content.
Cache-Friendly Usage of Cookies.
Caching Cookied Content.
The Semantic Transparency Issue.
Expressly Uncacheable Content and Hit Metering.
Cache-Friendly Approaches to Hit Metering.
Caching Expressly Uncacheable Content.
Dynamic Content.
Cache-Friendly Design of Dynamic Content.
Base Instance Caching.
Template Caching.
Base-Instance Caching versus Template Caching.
Active Proxies.
III. WEB REPLICATION.
14. Basic Mechanisms for Request Distribution.Content-Blind Request Distribution with Full Replication.
Client Redirection.
Redirection by a Balancing Switch.
Redirection by a Web Site's DNS.
Anycast.
Content-Blind Request Distribution with Partial Replication.
Using Surrogates as Server Replicas.
Back-End Distributed File Systems.
Content-Aware Request Distribution.
Client Redirection by a Java Applet.
HTTP Redirection.
Redirection by an L7 Switch.
Fine-Granularity Domain Names.
15. Content Delivery Networks.Types of CDNs.
Delivering Requests to a CDN.
Finding Origin Servers.
Request Distribution in CDNs.
DNS/Balancing Switch Redirection.
Two-Level DNS Redirection.
Anycast/DNS Redirection.
Pitfalls of DNS-Based Request Distribution.
Fine-Tuning DNS Request Distribution.
Post-DSN Request Distribution by Triangular Communication.
Post-DNS Request Distribution with HTTP Redirection and HTML Rewriting.
Data Consistency in CDNs.
Streaming Content Delivery.
Using Multicast for Streaming Content Delivery.
Using Application-Level Multicast for Streaming Content Delivery.
Constructing a Distribution Tree.
Supporting Secure Content Access.
SSL Overview.
Performance Impact of Supporting SSL in a CDN.
Key Management.
Content Retrieval from the Origin Server.
16. Server Selection.Metrics.
Proximity Metrics.
Server Load Metrics.
Aggregate Metrics.
Internet Mapping Services.
Aging of Metrics.
Algorithms.
Obtaining Passive Measurements.
Avoiding Oscillations.
Supporting Client Stickiness.
Respecting the Affinity of Server Caches.
Server Selection with Multiple Metrics.
DNS-Based Server Selection.
A Typical DNS Server Selection Scheme.
Estimating Hidden Load Factors.
Why Choose a Server When You Can Have Them All?
IV. FURTHER DIRECTIONS.
17. Adding Value at the Edge.Content Filtering.
Content Transcoding.
Watermarking.
Custom Usage Reporting.
Implementing New Services with an Edge Server API.
The ICAP Protocol.
Distributed Web Applications.
How to Replicate Applications.
Where to Replicate Applications.
18. Content Distribution Internetworking.Pros and Cons of CDI.
Request Distribution.
Content Distribution.
Accounting.
Glossary.In the past few years, the Web has transformed the Internet from a research tool of the few to an essential part of everyday life for many. As the proliferation of the Web in all aspects of human activities continues, it becomes more important for users to get acceptable performance when using the Web. At the same time, the demand for Web capacity, and the Internet in general, increases, not only because of the growing number of users spending more time online, but also because of the emergence of new resource-hungry applications, such as video and audio on-demand and distributed games. In addition to human users, computer applications also increasingly rely on the Web. Their demand for performance is even greater: While a human may not notice or care about a delay of a few hundred milliseconds, the same delay may be intolerable for a computer application, especially if it is incurred repeatedly during the execution of a task.
Web caching and replication that address the issues of capacity and performance have become essential components of the Web infrastructure. Broadly speaking, both Web caching and replication refer to satisfying requests by servers other than origin Web servers where the requested resources reside. Caching and replication can improve Web performance and effective capacity by shifting the work from overloaded origin servers and satisfying client requests from nearby servers, even if origin servers are far away. Moreover, these auxiliary servers are increasingly viewed, not only as means to improve Web performance and effective capacity, but also as platforms to implement a variety of extra functionalities that add value to the services offered by the origin servers. These promises of Web caching and replication have given rise to new industries, including equipment vendors that supply cache servers and compatible network gear, as well as service vendors that offer caching and replication services to consumers and providers of Web resources. Web caching and replication have also become areas of active research.
This book describes existing technologies and concepts in Web caching and replication. It discusses implications of and tradeoffs between alternative approaches, allowing a reader to understand the reasoning behind various solutions and to develop an intuition about what may or may not work and why. The book attempts to provide a unified view of approaches by commercial products and concepts from academic research. By considering both deployed solutions and far-reaching proposals, the book is intended to help readers identify current and emerging issues, as well as future trends, in this area.
Web Caching and Replication concentrates on the fundamental ideas behind different technologies as opposed to particular products that implement them. Products come and go and change in the process, especially in such an immature field as the Web. By focusing on underlying concepts, we believe the book will remain relevant as the market evolves. At the same time, there are a number of references to companies and products that implement various approaches that we consider. We fully expect these references to become obsolete rather quickly, as companies merge, disappear, or change their market focus. Our reason for providing these references is to indicate the stage in the evolution of a given approach or idea; thus we believe the references will be useful, even if they are no longer entirely valid. (These references should not be interpreted as our endorsements of the products or companies mentioned; they just indicate that a particular idea has been implemented commercially.)
Caching and replication are ubiquitous in computers and computer networks, and it is not always easy to draw a line between caching and replication in general and Web caching and replication in particular. We chose to provide comprehensive coverage of Web caching and replication as defined earlier, that is, satisfying Web requests from servers other than Web servers where requested resources originally resided. This definition emphasizes distributed aspects of Web caching and replication rather than the internal architectures of individual component--browsers, Web proxies, routers, switches, and Web servers--comprising the Web and the Internet.
This book should be of interest to IT professionals, engineers at companies providing Internet services or equipment, and researchers and graduate students in such fields as computer and information systems and networking. Our goal is to equip IT professionals with enough knowledge of the technology to understand market offerings in this area (and to keep vendor representatives honest!). For engineers developing new technologies in this area, this book might suggest concepts that can improve their products and point out areas where more research is needed. Finally, for researchers and graduate students, the book aims to provide a thorough understanding of major issues, current practices, and the main ideas in the field of Web caching and replication, to the point of their being able to start their own work in the area. This book could also be used as a text for courses in Internet-based information systems.
Organizing the book presented an interesting challenge. On one hand, caching and replication are two broad directions to improving Web performance that have completely different business models. Caching represents client-side solutions, and replication represents server-side solutions; they are usually thought of as separate and orthogonal approaches. Service providers that offer caching services often have only a peripheral interest in replication and vice versa. This suggested organizing the book into distinct parts that address these two broad directions separately. On the other hand, both directions often use similar technologies and mechanisms. For instance, the same equipment can be used as cache servers in Web caching and as surrogate Web servers in replication; the same balancing switches are used to distribute load among servers, and so on. Thus this book could have been organized around the technologies that both directions use. We chose the former way to organize the book in order to reflect the different focus of the two directions.
The book contains an introduction and four parts.
Our intent was to write a self-contained book. Although general familiarity with the Web, the client-server model, and distributed computing would be helpful, reading Part 1 provides sufficient information for understanding the remainder of the book. Extensive use of examples and illustrations helps clarify the presentation. In most cases, the examples use fictitious URLs and companies; however, when we felt that a real name was useful, we used AT&T--a logical choice given that we both work there.
: (colon) delimiter (URLs), 34
@ (at sign) delimiter (URLs), 34
? (question mark) delimiter, URLs, 34
200 OK status code, 40
206 Partial Content status code, 51
300 Multiple Choices status code, 50-51
301 Moved Permanently status code, 51
302 Found status code, 51
304 Not Modified status code, 47
303 See Other status code, 51
307 Temporary Redirect status code, 51
305 Use Proxy status code, 51
412 Precondition Failed status code, 47, 49
A
A response record (DNS), 36
aborted object transfers, bandwidth considerations, 90
accept-encoding header, 211
access architectures, 95-98
access control
URLs and, 34
Web servers, proxies and, 117-118
access routers, 95
ACK bit, 24
acknowledgments
TCP congestion control and, 29
TCP flow control and, 27
acknowledgment numbers, TCP segment headers, 23
active measurements, server selection metrics, 278
active proxies, 225-226
addresses
CIDR, 11
global, 5
IP, 9-11
MAC, 3-4
multicast groups, 18
port numbers and, 4
routers and, 5
routing tables, 10
URLs, 33-35
advertising, routers and, 16
age header, 50
aggregate metrics, 281-283
aging function, Markov algorithms, 196-197
agreement model (proxy pruning), 139-140
algorithms
client stickiness, 291-292
cryptographic, SSL, 271
delta-computing, 211
first-order and high-order Markov modeling, 197-200
hidden load factors, 295-297
Markov modeling, 195-197
object replacement policy metrics, 177-178
oscillations, avoiding, 288-291
Partial Matching, 200-202
passive measurements, 287-288
path profiles, 202-203
replacement policies, 178-180
server selection, 286-287
structure, 204-205
American Registry for Internet Numbers. See ARIN
anycast, 237-238, 321
anycast/DNS redirection,
CDNs, 257-258
APIs (application programming interfaces), edge server, implementing services with, 307-308
applet wrapping, 208
base-instance caching and, 220-221
appliance edge servers, 209, 327
application layer, 5
Internet, 7-8
application-level multicast, streaming content delivery, 266-267
applications
connection state, TCP and, 22
end-to-end principle of the Internet, 102
replicating, 310-313
ARIN (American Registry for Internet Numbers), 10
AS (autonomous system), 321
datagram routing, 13-17
asymmetric route, 15
asynchronous measurements, server selection metrics, 278
at sign (@) delimiter (URLs), 34
authentication, users, URLs and, 34
authoritative DNS server, 321
autoconfiguration (browsers), 98-99
B
backbone, 321
backbone core proxies, 97
backbone node, L4 switches and, 107-108
backbone routers, 95
backbone topology, 95
bandwidth
object replacement policy metric, 178
proxies, benefits, 79-80
proxy caching and, 90-91
Webcasts, 92
base-instance pages, 219-221
cache applets, 226
caching compared to template caching, 223-225
benchmarking, performance measurements and, 65-66
beneficial population (clients)
cache hit rates for, 122
size of, factors influencing, 123
BGP (Border Gateway Protocol), 321
autonomous systems connections, 16-17
network access points, 15, 148
bit stream, 3
Bloom filters (compressed directories), 136-137
border routers, 14
broadband points of presence (broadband POPs), 95
broadcast medium networks, 5
broadcast queries, cooperative proxy sharing, 125-128
browsers, 321
modifying, 207-209
proxies, autoconfiguration, 98-99 WPAD, 99
bucket interval, 133
bucket points, 132
byte hit rate, 80, 321
object replacement policy metric, 178
C
CacheApplet header, 225
cache applets, proxies, modifying, 225-226
cache busting, 207
cache consistency, 153-154
invalidation, 153-154, 159-170
message overhead, validation compared to invalidation, 154
non-monotonic delivery, 172-174
validation, 153-159
cache-control header, 52
directives in requests, 52-53
directives in responses, 53-54
example, 54-56
cache hierarchies, organizations maintaining, 146
cache routing (proxy pruning), 141
advantages and disadvantages, 143
cache invalidation, 159-170
cache routing tables, 141-143
cacheability, determining, 60-61
cached distillation, 305
CacheMesh, 138
CARP (Cache Array Routing Protocol), 130
CDI (content distribution internetworking), 315
accounting, 319
advantages/disadvantages, 315-316
content distribution, 318-319
request distribution, 316-318
CDNs (content delivery networks), 322
anycast/DNS redirection, 257-258
application-level multicast and, 266-267
benefits, 247-248
client DNS masking problem, 258-259
compared to forward proxies, 248
data consistency, 262-264
DNS/balancing switch request
redirection, 255-256
DNS-based redirection, disadvantages of, 258-259
hidden load factor, 258
HTTP redirection (post-DNS distribution), 261-262
key management (SSL), 273
multicast and, 265-266
origin servers, locating, 254-255
originator problem, 258
requests, delivering to, 252-254
secure content retrieval, 274
SSL support, performance considerations, 272-273
triangular communication (post-DNS distribution), 260-261
two-level DNS redirection, 256-257 types of, 249-251
URL rewriting (post-DNS distribution), 261-262
usage reporting, 306-307
Webcast distribution trees, 268-270
CGI (Common Gateway Interface) dynamic objects, 34-35
scripts, 322
CIDR (Class Interdomain Routing), 11
Cisco routers, intercepting routers, 111
Class A networks, 10
Class B networks, 10
Class C networks, 10
Class D addresses, 10
multicast groups, 18
Class E addresses, 10
classes (IP addresses), 10-11
client DNS masking problem, 258-259
client DNS servers, 37, 322
client list problem, cache invalidation, 160
client pull, prefetching, 190
client redirection, 232-233
Java applets, 241-242
client stickiness, 291-292
clients, 322
base-instance caching, 220
beneficial population, cache hit rates and, 122
configuring, transparent proxies and, 102
connection caching, 86
cookies, storage timeouts, 57
explicit proxies, awareness of, 98-99
interception proxies, multipath problem and, 102-104
number of, proxy sharing considerations, 122-124
tracing proxy chain, 58-60
CNAME response record (DNS), 36, 322
coarse-grained directories, cooperative proxy caching, 138
code bits field, TCP segment headers, 23-24
colocation model, CDNs, 249
colon (:) delimiter (URLs), 34
.com (top-level domain), 35
Common Gateway Interface, See CGI
compressed directories, Bloom filters, 136-137
compulsory misses, 156
conditional headers (HTTP), 47-48
interrupted downloads and, 52
replicating objects and, 48-49
conditional requests (HTTP), 47-49
configuration, clients, transparent proxies and, 102
congestion control, 28-30
TCP and, 22
congestion window, 28
connection caching compared to data caching, 86-87
connection hijacking, 100
connection merging, 113
connection state (TCP), 22
connection timeout, 22
connections
access architectures, 95-98
applications, OSI transport layer and, 4
autonomous systems, 15
closing, TCP, 26-27
dial-up, dynamic IP addresses, 57
focal points, 96
opening, TCP, 24-26
proxies, TCP connection caching and, 84-86
consistency misses, 156
container objects, 44, 322
content-aware request distribution
domain names and, 244-245
HTTP redirection, 242-243
java applets, client redirection and, 241-242
L7 switches, 243-244
content-aware switches, 111
content-blind mechanisms (request distribution), 231
anycast, 237-238
back-end distributed file systems, 240
client redirection, 232-233
load-balancing switches, 232-233 surrogates, 239
Web site’s DNS, 235-237
content delivery networks. See CDNs
content distribution, CDI, 318-319
content distribution internetworking. See CDI
content filtering, 303-304
content integrity, proxies, 118-119
content transcoding, 304-305
cookie request header, 56-57
cookies, 56-57, 323
cache-friendly use of, 213-214
cacheability issues, 213
caching content, 214-215
object cacheability and, 68-69
cooperative proxy caching, 121
broadcast queries, 125-126
cache hierarchies, 145-147
coarse-grained directories, 138
comparison summary of, 151
directory-based cooperation model, 133-135
fully replicated directories, 135-136
global cache replacement policy, 124-125
hierarchical caching, 128
location management, 125-128
location management problem, 124
network exchange points, 148-149
non-monotonic delivery, 172-174
partially replicated directories, 136
proxy pruning problem, 124
pruning, 138-145
satellite broadcast service, 149-151
size considerations, 122-124
summary caches, 136-137
URL hashing, 129
validation issues, 170-171
country-specific top-level domains, 35
CPU performance, object replacement policy metric, 178
cryptographic algorithms, SSL, 271
customer DNS server, 252
customizingWeb pages to users with cookies, 57
D
data caching, compared to connection caching, 86-87
data link layer, 3-4
data packets. See packets
datagrams, 4, 9
avoiding duplicates, 21
delivery, reliability and TCP, 21
fragmentation, 12
full duplex transfer, 22
IP datagram header, 11-13
IP multicast, 17-19
order of, ensuring proper, 22
routing, 10, 13-14
stream-based transfer, 22
delayed updates, 160
compared to immediate, 163-164
DELETE method, 40, 48-49
delta encoding, 210-211
cache applets, 226
denial-of-service (DoS) attacks, proxies, 118
dense-mode protocols, 18
deployment, proxies, ISPs, 97-98
design issues, caching decisions, 55
destination port numbers
TCP segment headers, 23
three-way handshake and, 24
DFS, content-blind request distribution and, 239
DHCP (Dynamic Host Configuration Protocol), 11, 323
resolving domain names, 37
dial-in points of presence (dial-in POPs), 95
digital subscriber line. See DSL
directives
cache-control header, 52-56
max-age, 50
directory-based cooperation model, 133-135
directory services
cooperative proxy caching, 133-135
fully replicated directories, 135-136
partially replicated directories, 136
disruption coefficient (hash functions), 131
distance vector protocols, cache routing tables,
creating, 142-143
distillation, 304-305
distributed file systems (DFS), 239
distribution trees, constructing, CDN servers and, 268-270
DNS/balancing switch request redirection, CDNs, 255-256
DNS-based redirection, 236
disadvantages of, 258-259
DNS-based server selection, 294-297
DNS (Domain Name System), 7, 323
name hierarchy, 35-36
request redistribution, 235-237
DNS outsourcing, CDNs, 252
DNS protocol, 36-38
DNS servers, 36
root name servers, 37
selection, 236
documents, 44, 323
domain names
content-aware request distribution and, 244-245
iterative resolution, 38
resolving, 36
recursive resolution, 38
server sharing support, 58
domains, 35, 323
downloading
browser autoconfiguration, 98-99
objects, mean sizes, 67
objects, resuming after interruption, 51-52
reducing time for, HTTP pipelining, 43
types of objects, 68
download latency, 282-283
DSL (digital subscriber line), 7
dummy objects, tracking page hits, 216
dynamic asynchronous replication (Web applications), 312
dynamic content
base-instance pages, 219-221
cache-friendly design, 218-219
Dynamic Host Configuration Protocol. See DHCP
dynamic IP, 57
dynamic objects, 34-35, 323
caching, issues, 215-216
dynamic replication, 323
E
edge servers, 303
API, 307-308
appliance, 308
software-based, 308
.edu (top-level domain), 35
effective transfer bandwidth, 283
embeded objects, 43-44
Web behavior and, 74
end-to-end principle of the Internet, 102
entity body (HTTP), 38
entity tags, 47
environment, TCP, optimization, 89
error category response codes, 41
ETag header, 47
interrupted downloads and, 51-52
Ethernet, 6
Ethernet maximum transfer unit (MTU), 13
expired objects, 49-50
expires header, 50
explicit client configuration, 98
explicit mirroring, 323
explicit proxies, 98, 323
exponential aging (metrics), 285
external latency, 82
F
false positives (Bloom filters), 137
fast hits, 156
fault tolerance, directory-based cooperative caching, 134
file protocol (URLs), 34
File Transfer Protocol. See FTP
FIN bit, 24
fingerprinting objects, 47
first-order Markov modeling, 197-199
flags field (IP datagram header), 13
flash event protection, 247
flow control, 27-28
proxies, bandwidth considerations, 91
TCP and, 22
focal points (Internet traffic), 96
forward proxy platforms, 145-151, 323
compared to CDNs, 248
forwarding tables (switched networks), 5
fragment offset field (IP datagram header), 13
frames, 4
switched networks compared to broadcast medium networks, 5
FTP (File Transfer Protocol), 8, 324
URLs and, 34
full duplex transfer (datagrams), 22
fully qualified domain names, 34, 35
fully replicated directories, cooperative proxy
caching, 135-136
functions, hash, 107-108
G
gateway routers, 95
geographical scalability
CARP, 130
hierarchical query broadcast model and, 127
proxies, 121
proxy pruning, 139-145
GET method, 39
global addressing, advantages, 5
global cache replacement policy, 124-125
global misses, 121
global request distribution, 256
Gopher, 8
.gov (top-level domain), 35
GreedyDual algorithm, 179
GreedyDual-Size algorithm, 179
H
handshake (TCP), 24-26, 324
hash functions, 107-108
disruption coefficient, 131
MD5, 47
URL hashing partitioning rules, 129
hashing, 324
HEAD method, 39
validation and, 159
head of line blocking, 86
HTTP pipelining, 43
headers
HTTP, 38-39
HTTP conditional requests, 47
IP datagram, 11-13
TCP segment headers, 22-24
healthcheck messages, 256
hidden load factor, 258
hierarchical caching, cooperative proxy caching, 128
hierarchical query broadcast model, 125-128
high-order algorithms
Markov modeling, 199-200
Partial Matching, 200-202
history structures (prefetching), 200-201
hit metering, 216-217
hit rate, 80, 324
impact of interception proxies, 115-116
object replacement policy metric, 178
proxy caches, uncacheable content and, 207
hits, 156
cache, 322
host field (URLs), 34
host header, interception proxies and, 101
host ID (IP addresses), 10
hosting CDN, 249-250
hosting service providers, 324
hosts, 5, 324
addressing, 3-4
domains, 35
frame addresses and network types, 5
multicast groups, 17
number of, IP address classes, 10
virtual hosting, 58
hot potato routing, 16-17
HTML (Hypertext Markup Language), 324
hyperlinks and embedded objects, 43-44
HTTP (HyperText Transfer Protocol), 8, 38-39, 324
cache consistency validation and, 155-156
cacheability of content, determining, 60-61
conditional requests, 47-49
hyperlinks and embedded objects, 43-44
message exchange, 41-43
requests, 39-40
responses, 40-41
URLs, 34
HTTP redirection, 50-51, 242-243
post-DNS distribution, 261-262
hyperlinks, 43-44, 324
Web behavior, 74-75
HyperText Transfer Protocol. See HTTP
I
ICAP (Internet Content Adaptation Protocol), 308-310, 324
ICMP (Internet Control Message Protocol), 7, 324
ICMP ping latency, 281
ICP (Internet Cache Protocol)
broadcast queries, 125
hierarchical caching, 128
overhead, 126
idempotent methods (HTTP), 40
identifier field (IP datagram header), 13
IDMaps system, 284
IETF (Internet Engineering Task Force), 324
if-match header, 49
if-modified-since header, 48
if-none-match header, 48
if-range conditional header, 52
if-unmodified-since header, 49
implicit time to live, 156-157
intercepting elements (intercepting proxies), 100
intercepting links, 113-115
intercepting routers, 109-111
interception proxies, 99-117, 324
issues, 105-107
interfaces, ISO/OSI Reference Model, 3-5
internal latency, 82
International Standards Organization. See ISO
Internet, 325
access architectures, 95-98
end-to-end principle of, 102
layers of operation, 6-8
Internet Cache Protocol (ICP). See ICP
Internet Content Adaptation Protocol. See ICAP
Internet Control Message Protocol. See ICMP
Internet mapping services, 284
Internet name hierarchy, 35-36
Internet Protocol. See IP
invalidation (cache consistency), 153-154, 159-160
cache routing, 169-170
client list problem, 160
delayed updates, 160
delayed updates, compared to
immediate, 163-164
leases, 160-161
piggyback, 168-169
subscriptions, 160-161
volume lease protocol, 166-167
volumes, 164-166
IP addresses, 9-11, 325
anycast, 237-238
datagram routing, 13-17
dynamic, dial-up connections, 57
interception proxies and, 101
L4 switches and, 107
packet interception mechanisms, 104-107
resolving domain names, 36-38
traceroute program and, 12
IP balancing, 234
IP-based authentication, proxies and, 117-118
IP destination address (IP datagram header), 12
IP-in-IP encapsulation, 104-105, 325
IP balancing, 234-235
IP (Internet Protocol), 7, 325
datagram fragmentation, 12
datagram header, 11-13
IP multicast, 17-19
IP source address (IP datagram header), 12
IP spoofing, 260
ISO (International Standards Organization), OSI (Open System Interconnection) Reference Model, 3-5, 325
ISPs (Internet Service Providers), 325
access architectures, 95-98
packet delay and loss, 123
proxies, benefits, 79-80
proxy deployment, 97-98
single-ISP CDN, 249
iterative resolution, domain names, 38
J
Java applets
browsers, modifying with, 208
client redirection, 241-242
JavaScript, browsers, modifying with, 208
K
key-based algorithms, 179
L
LANs (local area networks), 7
access routers and, 95
network exchange points, 148
last-modified header, 47
latency, 325
latency reduction (proxy caches), 81-82
best case, 82-83
components of latency, 82
connection caching compared to data caching, 86-87
interception proxies, 116-117
object replacement policy metric, 178
TCP connection caching, 84-86
TCP connection splitting, 87-89
TCP optimization, 89
worst case, 83-84
Layer 1 (L1) OSI model, 3
Layer 2 (L2) OSI model, 3
components of proxies, 5
interception proxies and, 104
switches, 5, 325
Layer 3 (L3) OSI model, 4
components, 5
interception proxies and, 104-105
Layer 4 (L4) OSI model, 4
components, 5-6
HTTP message exchange, 41
switches, 6, 325
switches as intercepter, 107-109
Layer 5 (L5) OSI model, 4-5
Layer 6 (L6) OSI model, 5
Layer 7 (L7) OSI model, 5
request distribution, 243-244
switches, 6, 325
switches as intercepter, 111-113
layers, ISO/OSI Reference Model, 3-5
layers of operation (Internet), 6-8
leaf proxies, 126
leased subscriptions, 162
leases (cache invalidation), 160-161
Least Frequently Used (LFU) algorithm, 178-180
Least Recently Used (LRU) algorithm, 178-180
links, intercepting, 113-115
live measurements (performance measurements), 64
live streaming media, proxy caching, 92
load-balancing switches, 232-233
load scalability, proxies, 121
local area networks. See LANs
local hits, 121
local misses, 121
locality hits (proxy caches), 81
locality of reference, 70
temporal locality, 70-72
location management
broadcast queries, 125-128
coarse-grained directories, 138
consistent hashing, 131-133
directory-based cooperation, 133-135
fully replicated directories, 135-136
hash disruption, 130-131
hierarchical caching, 128
replicated partial directory, 136
summary caches, 136-137
types of, 125
URL hashing, 128-133
location management problem
cache routing and, 141
cooperative proxy caching, 124
lookahead window size, 199
LRU. See Least Recently Used algorithm
M
MAC (Medium Access Control) addresses, 3-4, 326
mailto protocol (URLs), 34
Markov algorithm, 195-197
first-order Markov modeling, 197-199
high-order, 199-200
master cache (satellite broadcast service), 149-150
max-age directive, 50, 52-53, 54, 56
max-forwards header, 59
max-stale directive, 53, 56
maximum transfer unit. See MTU
MBone, 19
MD5, 326
MD5 hash function, 47
Medium Access Control addresses. See MAC
message exchange (HTTP), 41-43
methods, HTTP requests, 39
metrics
active measurements, 278
aggregate, 281-283
aging, 284-286
asynchronous measurements, 278
Internet mapping services, 284
multiple, server selection and, 293-294
passive measurements, 278
prefetching performance, 183-184
proxies, object replacement policies, 177-178
proximity, 278-280
server load, 280-281
server selection, 277-278
microbenchmarking, 65
middleware, CDNs, 248
min-fresh directive, 52-53
mirrors, 326
misses, 156
cache, 322
MTU (maximum transfer unit), 13
multi-ISP CDN, 249
multicast, 17-19, 326
limitations, 92
streaming content delivery, 265-266
multicast distribution trees, 18
multicast groups, 17
multihomed AS, 15
multimedia objects, downloading, 68
multipath problem (interception proxies), 102-104
must-revalidate directive, 54, 217
N
name servers, 36
NAP (network access point), 15, 148-149, 326
NAT (network address translation), 11, 326
IP balancing, 234-235
packet interception and, 105
NECP protocol (interception routers), 111
neighbors (proxy agreement model), 140
.net (top-level domain), 35
NetGeo system, 284
network access point. See NAP
network access points, cooperative proxy caching, 148-149
network address translation. See NAT
network file system. See NFS
network ID (IP addresses), 10
network layer, 4
Internet, 7
network link intercepting, 113-115
networks
ISO/OSI Reference Model, 3-5
number of, IP address classes and, 10
packet routing, 10
TCP congestion control, 28-30
types (physical layer and), 5
NFS (network file system), 7
NLANR
cache hierarchies, 146-147
network access points, 148-149
no-cache directive, 52
no-store directive, 52-53, 55
no-transform directive, 53, 55
non-monotonic delivery, 172-174
nondata prefetching, 186-188
nonlive streaming media, proxy caching, 92
nontransparent proxy deployment, 98-99
nontransparent transcoding, 305
normalized stack distance, 72
NS response record (DNS), 36, 326
O
objects, 326
aborted transfer rates, bandwidth
considerations, 90
CacheApplet header, 225
cached, age and expiration of, 49-50
conflicting versions, detecting, 48-49
container, 44
downloading, resuming interrupted, 51-52
dummy, tracking page hits, 216
expander identifiers, 58
fingerprinting, 47
hit rate, impact of interception proxies, 115-116
popularity, 69-70
prefetching, 70
replacement policy algorithms, 178-180
size, effect on Web behavior, 66-67
stale, using, 210-213
stale delivery, avoiding, 210
volumes of cached, 164-166
Web objects, 44
only-if-cached directive, 53
Open Shortest Path First. See OSPF
Open System Interconnection Reference Model, 3-5, 325
optimistic deltas, 211
active proxies, 226
OPTIONS method, 40
.org (top-level domain), 35
origin-first CDN, 250
request-delivery mechanism, 253
origin servers, 326
originator problem, CDNs, 258
OSPF (Open Shortest Path First), 14-15
P
packet interception
Layer 4, 107-109
Layer 7, 111-113
Layer 2 solution, 104
Layer 3 solution, 104-105
network links, 113-115
routers, 109-111
packets, 4. See also datagrams; routing
anycast request redirection, 237
delays and losses, point of greatest, 123
intercepting elements, 100
loss of, congestion control and, 28-30
multicast, routing, 18
multipath problem (interception
proxies), 102-104
routing, 5-6
parent proxies, 126
Partial Matching algorithms (prefetching), 200-202
partitioning rules
directory-based cooperative caching, 134
URL hashing, 129
passive measurements
server selection algorithms, 287-288
server selection metrics, 278
password field (URLs), 34
path field (URLs), 34
path profiles (prefetching algorithm), 202-203
PCV (Piggyback Cache Validation), 159
peer proxies, 126
performance. See also latency reduction
base-instance caching compared to template caching, 223-225
domain name resolution, 38
HTTP pipelining, 43
interception proxies, 115-117
modern proxies, 122
multicast and, 17-18
object replacement policies, 180
object replacement policy metric, 178
prefetching metrics, 183-184
TCP connection merging, 113
performance evaluation
benchmarking, 65-66
live measurements, 64
trace-based, 64-65
performance metrics, hit rates, 80
persistent connections, 327
L7 switches, disadvantages with, 112
TCP and HTTP message exchange, 42
persistent HTTP connections, TCP
congestion control and, 29
physical layer, 3
Internet, 6-7
types of networks, 5
Piggyback Cache Validation. See PCV
Piggyback Server Invalidation. See PSI
pipelining, 327
HTTP message exchange, 42-43
plug-ins, browsers, modifying with, 208
Point-to-Point Protocol. See PPP
POP (point-of-presence), 327
popularity-based prefetching, Top 10 approach, 194-195
port 80, 23
port field (URLs), 34
port numbers, 4, 7, 327
TCP segment headers, 23
three-way handshake and, 24
positive validation, 158
POST method, 40, 48
PPP (Point-to-Point Protocol), 7
precision (prefetching), 184
preconnecting, 187
prediction algorithms, 194
high-order prefetching, 203-204
Top 10 approach, 194-195
preexecution (scripts), 187-188
prefetching, 327
first-order Markov modeling, 197-199
group-specific information and, 192-193
high-order Markov modeling, 199-200
history structures, 200-201
information used for, 191-194
Markov algorithms, 195-197
multiuser information and, 193-194
nondata, 186-188
objects, 70
overview, 183
Partial Matching algorithm, 200-202
path profile algorithm, 202-203
performance considerations, 185-186
performance metrics, 183-184
popularity-based predictions, Top 10 approach, 194-195
precision, 184
prediction algorithms, 194-205
recall, 184
server nontransparency, 189-190
server push compared to client pull, 190
structure algorithms, 204-205
taxonomy, 186
user nontransparency, 188
user transparency, 184
presentation layer, 5
prevalidation, 187
private directive, 53-54, 55
private peering links (AS connections), 15
protocol field (IP datagram header), 12
protocols
BGP, 16-17
CARP, 130
dense-mode, 18
distance vector, 142
DNS, 36-38
hit metering, 216-217
HTTP, 38-41
ICAP, 308-310
ICP, 125
Internet layers, 7-8
IP address handling, 11
NECP (interception routers), 111
OSPF, 14-15
routing, 13
sliding window, 27-28
sparse-mode, 19
URLs, 34
volume lease, 166-167
WCCP (interception routers), 111
WPAD, 99
provider-customer relationships (AS connections), 15
proxies, 322, 327. See also cooperative proxy caching
benefits of, 79-80
cache applets, 225-226
cacheability of content, determining, 60-61
co-locating with browser, 207-208
content-aware switches, 111
content integrity, 118-119
cookied content, caching, 214-215
cooperative caches, size
considerations, 122-124
cooperative caching, 121
denial-of-service attacks, 118
geographical scalability, 121
health monitoring, L4 switches, 109
hits and misses, types of, 121
intercepting elements, 100
ISPs, deploying, 97-98
leaf, 126
load scalability, 121
modifying, 209
nontransparent deployment, 98-99
objects, replacement policy metrics, 177-178
parent, 126
peers, 126
performance of modern, 122
primary purpose of, 121
secure systems management, 118
siblings, 126
SSL, 118
stale delivery, avoiding, 210
stale objects, using, 210-213
TRACE method, 58-60
transparent deployment, 99-117
Web server access control, 117-118
proximity metrics, 278-280
proxy APIs, services, implementing, 307-308
proxy appliance, 327
proxy caches
bandwidth considerations, 90-91
hit types, 81
latency reduction, 81-89
streaming media, 92-93
usefulness of, 80-81
proxy pruning problem, cooperative proxy caching, 124
proxy-revalidation directive, 54
pruning (cooperative proxy caching), 138-139
agreement model, 139-140
cache routing, 141-143
vicinity caching, 143-145
PSI (Piggyback Server Invalidation), 169
public key cryptographic algorithm, SSL, 271
PUT method, 40, 48
Q
question mark (?) delimiter, URLs, 34-35
R
range requests, 51-52
real-time distillation, 305
recall (prefetching), 184
redirection status codes, 50-51
referencing, objects in HTML documents, 44
Relais cache, 135
relaying CDN, 250
request-delivery mechanism, 252-253
remote hits, 121
rendezvous points (sparse-mode multicast protocols), 19
replacement policies, performance considerations, 180
replacement policy algorithms, 178-180
replacement policy metrics, 177-178
replicated partial directory. See RPD
replication, 327
request-delivery mechanisms, 252-254
request distribution
anycast, 237-238
CDI, 316-318
client redirection, 232-233
client redirection, Java applets, 241-242
content-aware, 241
content-blind, 231
DNS/balancing switch, 255-256
domain name approaches, 244-245
healthcheck messages, 256
HTTP redirection, 242-243
IP balancing, 234
L7 switches, 243-244
load-balancing switches, 232-233
partial replication, 238-240
triangular communication, 260-261
two-level DNS redirection, 256-257
Web site’s DNS redirection, 235-237
request headers, 39
requests
CDNs, delivering to, 252-254
requests (HTTP), 39-40
cacheability of, determining, 60-61
cache-control header and, 52-53
redirecting, 50-51
resources, 44
response codes (HTTP), 40-41
response records, resolving domain names, 36
responses (HTTP), 40-41
cacheability of, determining, 60-61
recursive resolution, domain names, 38
retransmission of data (TCP), 30
root name servers, 37
round trip time. See RTT
routers, 327
access routers, 95
advertising, 16
backbone routers, 95
border (ASs), 14
datagram fragmentation, 12
gateway routers, 95
hosts joining multicast groups, role of, 18
intercepting, 109-111
network access points, 148
packets and, 5
routing, 13-14
datagrams, 10
packets, 5-6
policies, 16
protocols, 13
routing tables, 10
multicast requirements, 18
RPD (replicated partial directory), 136
RST bit, 24
RTT (round trip time), 25, 327
retransmission of data and, 30
TCP connection splitting and, 87
S
s-maxage directive, 54
safe methods (HTTP), 40
satellite broadcast service, 149-151
satellites links, TCP optimization, 89
scalability
proxies and, 121
proxy pruning, 139-145
script preexecution, 187-188
search results pages, uncacheable
content and, 218-219
searchpart field (URLs), 34
secure systems management, and proxies, 118
security
proxies and Web server access control, 117-118
secure content access, CDN
environments, 270-274
secure systems management, 118
user authentication, URLs and, 34
watermarking, 306
segments
data transport and, 4
TCP headers, 22-24
sequence numbers, TCP segment headers, 23
server clusters, healthcheck messages, 256
server farms, 233
server load metrics, 280-281
server nontransparency, 189-190
server push, prefetching, 190
server sharing, 58
servers, 327
aggregate metrics, 281-283
cache affinity, 292-293
CDNs, 247
cookies and, 57
DNS, 36
DNS-based selection, 294-297
oscillations, avoiding, 288-291
passive measurements, 287-288
proximity metrics, 278-280
selection algorithms, 286-287
selection metrics, 277-278
selection, multiple metrics, 293-294
server load metrics, 280-281
session layer, 4-5
sessions database, load-balancing switches, 234
set-cookie response header, 56-57
cache-friendly cookies and, 213-214
settled peering (AS connections), 15
shared caches. See cooperative proxy caching
shared hits (proxy caches), 81
siblings, 126
single-ISP CDN, 249
sinks (multicast groups), 18
sliding window protocol, 27-28
slow hits, 156
slow start (TCP), 29
source port numbers
TCP segment headers, 23
three-way handshake and, 24
sparse-mode protocols, 19
spatial locality, 72
speculative prefetchers, 184
Squid, caching hierarchies and, 146-147
SSL (Secure Socket Layer), 327
key management, CDNs, 273
overview, 270-272
proxies and, 118
support in CDNs, performance
considerations, 272-273
stack distance (temporal locality), 70-71
stale objects, 153
stale delivery, avoiding, 210
using, 210-213
state
connection, TCP and, 22
multicast requirements, 18
preserving, cookies, 56-57
routers and, 10
TCP, L7 switches and, 113
static objects, 34, 327
static replication (Web applications), 312
stream based transfer (datagrams), 22
streaming content, 327
streaming content delivery, 264-265
application-level multicast, 266-267
multicast, 265-266
streaming media, proxy caches, 92-93
structure algorithms, 204-205
stub AS, 15
submaps (RPDs), 136
subscriptions (cache invalidation), 160-161
success category response codes (HTTP), 40-41
summaries (compressed directories), 137
summary caches, cooperative proxy caching, 136-137
surrogates, 327
content-blind request distribution and, 239
switched networks, 5
switches, 327
intercepting links, 113-115
Layer 4 as interceptor, 107-109
Layer 7 as interceptor, 111-113
SYN bit, 24
syntax, URLs, 33-34
T
TCP connection caching, 84-86
interception proxies, 116
TCP connection merging, 113
TCP connection splitting, 87-89
TCP ping latency, 282
TCP slow start, 29, 328
TCP (Transport Control Protocol), 7, 328
basic functionality, 21-22
congestion control, 28-30
connections, closing, 26-27
connections, opening, 24-26
environment optimization, 89
flow control, 27-28
HTTP message exchange, 41
retransmission of data, 30
segment headers, 22-24
state, L7 switches and, 113
three-way handshake, 24-25
throughput, maximum, 24
Telnet, 7-8
template caching, 221-223
cache applets, 226
compared to base-instance caching, 223-225
temporal locality, 70-72
three-way handshake (TCP), 24-25
timeouts, cookies, storing, 57
Top 10 (prefetching algorithm), 194-195
top-level domains, 35
total length field (IP datagram header), 13
trace analysis, 65
trace-based performance measurements, 64-65
trace-driven execution, 65
trace-driven simulation, 65
TRACE method, 40
proxies, 58-60
traceroute program, 12
traffic interception, 328
transit AS, 15
transparent mirroring, 328
transparent proxy deployment, 99-102
advantages/disadvantages, 102
end-to-end principle of the Internet, 102
Layer 4 switch interception, 107-109
Layer 7 switch interception, 111-113
network link interception, 113-115
packet interception, 104-107
packet multipath problems, 102-104
performance considerations, 115-117
router interception, 109-111
transparent replication, 231
transparent transcoding, 305
Transport Control Protocol. See TCP
transport layer, 4
Internet, 7
triangular communication (post-DNS distribution), and CDNs, 260-261
TTL (time to live), 328
cache consistency validation and, 155-156
cached objects, 49-50
DNS responses and, 38
field (IP datagram header), 12
implicit, 156-157
non-monotonic delivery, avoiding, 173
two-level DNS redirection, CDNs, 256-257
U
UDP (User Datagram Protocol), 7, 328
uncacheable content
cache busting, 207
caching, 217
desirability of circumventing, 215-216
dynamic, cache-friendly design, 218-219
Uniform Resource Locators. See URLs
updating, objects, detecting conflicting, 48-49
URL hashing, 129-130
bucket interval, 133
bucket points, 132
consistent hashing, 131-133
disruption coefficient, 131
hash disruption, 130-131
url-path field (URLs), 34
URL rewriting
CDNs, 253
post-DNS distribution, 261-262
URLs (Uniform Resource Locators), 33, 328
browser autoconfiguration, 98-99
caching hierarchies and, 147
expanded object identifiers, 58
server sharing and, 58
syntax, 33-34
usage profiles, 204
usage reports, 204
CDNs, 306-307
user-transparency, 184
user authentication, URLs and, 34
User Datagram Protocol. See UDP
user nontransparency, 188
username field (URLs), 34
users, identifying, cookies and, 57
V
validation, pages, proxy-revalidation directive, 55
validation (cache consistency), 153-155
asynchronous, 158-159
cooperative proxy caching, 170-171
optimal frequency, 154-155
overriding dafault, 157-158
overview, 155-156
piggyback, 159
synchronous compared to asynchronous, 155
via header, 59-60
vicinity caching (proxy pruning), 143-145
virtual hosting, 58
virtual IP address, 234
volume lease protocol, 166-167
volumes of objects (cache consistency), 164-166
W
WANs (wide area networks), and backbone routers, 95
watermarking, 306
WCCP protocol (interception routers), 111
Web applications, replicating, 310-313
Web behavior, 63-64
embedded objects, 74
evaluation methods, 64-66
locality of reference, 70-72
object modifications, 73
object popularity, 69-70
object size, 66-67
object types and cacheability, 68-69
traffic, 73-74
Web objects, 44
Web pages, customizing to users with cookies, 57
Web Proxy Auto-Discovery (WPAD), 99
Web servers
access control, proxies and, 117-118
modifying, 209
port numbers, 23
Web site DNS redirection, 235-237
Web sites, 329
Webcast distribution trees, CDNs, 268-270
Webcasts, proxy caching, 92
window field, TCP segment headers, 24
window sizes (TCP), effect on performance, 27-28
workloads, benchmarking, 65-66
Z
Zipf’s Law, 69-70