BranchCache Design Guide
Microsoft Corporation
Published: February, 2010
Author: James McIllece
Editor: Scott Somohano
Abstract
BranchCache is a wide area network (WAN) bandwidth optimization technology that is included in
some editions of the Windows Server® 2008 R2 and Windows® 7 operating systems. To
optimize WAN bandwidth, BranchCache copies content from your main office content servers and
caches the content at branch office locations, allowing client computers at branch offices to
access the content locally rather than over the WAN.
This design guide provides information about BranchCache in both distributed cache mode and
hosted cache mode that assists you in determining the best way to deploy BranchCache on your
network.
This guide is also available on the Web in HTML format. Please provide feedback about this
guide by using the HTML version in the Windows Server® 2008 and Windows Server 2008 R2
Technical Library at http://go.microsoft.com/fwlink/?LinkID=169618. To provide feedback, open
the Web page and then select Click to Rate and Give Feedback.
The information contained in this document represents the current view of Microsoft Corporation
on the issues discussed as of the date of publication. Because Microsoft must respond to
changing market conditions, it should not be interpreted to be a commitment on the part of
Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the
date of publication.
This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES,
EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.
Unless otherwise noted, the example companies, organizations, products, domain names, e-mail
addresses, logos, people, places, and events depicted herein are fictitious, and no association
with any real company, organization, product, domain name, e-mail address, logo, person, place,
or event is intended or should be inferred.
Your right to copy this documentation is limited by copyright law and the terms of the software
license agreement. As the software licensee, you may make a reasonable number of copies or
printouts for your own use. Making unauthorized copies, adaptations, compilations, or derivative
works for commercial distribution is prohibited and constitutes a punishable violation of the law.
© 2009 Microsoft Corporation. All rights reserved.
Microsoft, Active Directory, Windows, Windows NT, and Windows Server are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
All other trademarks are property of their respective owners.
Contents
BranchCache Design Guide ............................................................................................................ 4
About this guide............................................................................................................................ 4
BranchCache Overview ................................................................................................................... 5
Key BranchCache design points .................................................................................................. 5
BranchCache terminology ............................................................................................................ 7
BranchCache installation guide ................................................................................................ 8
Operating system versions for BranchCache .............................................................................. 8
Identify BranchCache Deployment Goals ....................................................................................... 9
Optimize wide area network performance for employees in branch offices with only client
computers ................................................................................................................................... 11
Optimize wide area network performance for employees in branch offices with server computers
.................................................................................................................................................... 12
Map Deployment Goals to a BranchCache Design ....................................................................... 14
Distributed cache mode design ..................................................................................................... 15
Hosted cache mode design ........................................................................................................... 16
Evaluate BranchCache Design Examples ..................................................................................... 18
Distributed cache mode example .................................................................................................. 18
Hosted cache mode example ........................................................................................................ 20
BranchCache dual mode example ................................................................................................ 22
Plan BranchCache Deployment .................................................................................................... 23
Plan content server deployment .................................................................................................... 24
Plan BranchCache distributed mode deployment ......................................................................... 25
Plan BranchCache hosted cache mode deployment .................................................................... 26
Deployment and migration tools and information .......................................................................... 27
BranchCache Design Guide
BranchCache is a wide area network (WAN) bandwidth optimization technology that is included in
the Windows Server® 2008 R2 and Windows® 7 operating systems.
To optimize WAN bandwidth, BranchCache copies content from your main office content servers
and caches the content at branch office locations, allowing client computers at branch offices to
access the content locally rather than over the WAN.
At branch offices, content is stored either on servers that are running the BranchCache feature of
Windows Server 2008 R2 or, when no server is available in the branch office, on computers
running Windows 7. After a client computer requests and receives content from the main office
and the content is cached at the branch office, other computers at the same branch office can
obtain the content locally rather than contacting the main office over the WAN link.
BranchCache increases end user productivity by improving content query response times for
clients and servers in branch offices, and can also help improve network performance by
reducing traffic over WAN links.
About this guide
This guide provides recommendations to help you plan a new deployment of BranchCache,
based on the requirements of your organization and the particular design that you want to create.
This guide is intended for use by systems and network architects and administrators, and
highlights your main decision points as you plan your BranchCache deployment.
This guide describes a set of deployment goals that are based on two primary BranchCache
designs, and the guide helps you decide the most appropriate design for your environment. You
can use these deployment goals to form one of the following BranchCache designs based on the
needs of your environment:

BranchCache distributed cache mode for small branch offices that contain only client
computers

BranchCache hosted cache mode for branch offices that contain servers in addition to client
computers
For each design, you will find guidelines for gathering required data about your environment. You
can then use these guidelines to plan and design your BranchCache deployment. After you read
this guide and finish gathering, documenting, and mapping your organization's requirements, you
will have the information necessary to begin deploying BranchCache using the BranchCache
Deployment Guide.
To learn how to deploy BranchCache, see the BranchCache Deployment Guide:

Available in Word format at the Microsoft Download Center:
http://go.microsoft.com/fwlink/?LinkId=166656

Available in HTML format in the Windows Server® 2008 and Windows Server® 2008 R2
Technical Library: http://go.microsoft.com/fwlink/?LinkId=166639
BranchCache Overview
This topic provides key information about BranchCache, including operating system versions that
support BranchCache and BranchCache terminology. This topic contains the following sections:

Key BranchCache design points

BranchCache terminology

BranchCache installation guide

Operating system versions for BranchCache
Key BranchCache design points
While you design your BranchCache solution, it is useful to remember the following key points:

BranchCache can decrease wide area network traffic between computers that are running
Windows Server® 2008 R2 and computers that are running Windows® 7.

BranchCache has two modes of operation, distributed cache mode and hosted cache mode.
When the content cache at a branch office is distributed among client computers,
BranchCache is running in distributed cache mode. When the content cache at a branch
office is hosted on a server computer, BranchCache is running in hosted cache mode.

BranchCache is installed by default on client computers running Windows® 7 Enterprise and
Windows® 7 Ultimate, however you must enable BranchCache and create firewall exceptions
to allow BranchCache traffic between client computers.

BranchCache supports the optimization of downloads over end-to-end secure transports such
as Hypertext Transfer Protocol Secure (HTTPS) and Internet Protocol security (IPsec).

To cache application and Web server content that is sent to branch offices over Hypertext
Transfer Protocol (HTTP), you must install the BranchCache feature on the application server
or Web server whose content you wish to cache in branch offices.

To cache File Server content that is sent to branch offices using the Server Message Block
(SMB) protocol, the BranchCache for network files role service of the File Server role in
Windows Server 2008 R2 must be installed and enabled.

BranchCache might not function correctly when used in combination with a hardware-based
WAN accelerator, because WAN accelerators might alter the fields and messages that are
necessary for BranchCache operation. When you deploy a WAN accelerator with
BranchCache, BranchCache might work for some protocols, but not for other protocols. For
example, some WAN accelerators cannot process server message block (SMB) 2.1, but can
process HTTP and HTTPs. Review your WAN accelerator documentation for more
information.

BranchCache is designed to prevent unauthorized access to content. Before transfer
between peers or between clients and the hosted cache server, content is encrypted by
BranchCache. Content can only be decrypted using the identifiers provided by the content
server in the main office. The content server provides identifiers only to authenticated clients
that are members of the same domain as the content server.

Distributed cache mode is best suited for small branch offices that do not contain a local
server for use as a hosted cache server. Distributed cache mode allows you to deploy
BranchCache with minimal hardware deployments in branch offices. However, if the branch
office contains additional infrastructure, such as one or more servers that are running other
workloads, deploying BranchCache in hosted cache mode might be beneficial for the
following reasons:

Increased cache availability. Hosted Cache mode increases the cache efficiency
because content is available even if the client that originally requested and cached the
data is offline. Because the hosted cache server is always available, more content is
cached, providing greater WAN bandwidth savings, and BranchCache efficiency is
improved.

Centralized caching for multiple-subnet branch offices. Distributed cache mode
operates on a single subnet. At a multiple-subnet branch office that is configured for
distributed cache mode, a file downloaded to one subnet cannot be shared with client
computers on other subnets. Because of this, clients on other subnets, unable to discover
that the file has already been downloaded, get the file from the main office content
server, using WAN bandwidth in the process. When you deploy hosted cache mode,
however, this is not the case - all clients in a multiple-subnet branch office can access a
single cache, which is stored on the hosted cache server, even if the clients are on
different subnets. If you have a multiple-subnet branch office with less than 100 users,
therefore, using hosted cache mode is recommended.
You can use the following guidelines to determine the mode in which you want to deploy
BranchCache:

For a branch office that contains less than 100 users and does not have any local servers,
use distributed cache mode.

For a branch office (either single subnet or multiple-subnet) that contains less than 100 users
and also contains a local server that you can use as a hosted cache server, use hosted
cache mode.

For a multiple-subnet branch office that contains more than 100 users, but less than 100
users per subnet, use distributed cache mode.
BranchCache terminology
The following list provides key terminology for BranchCache. In some cases, common terms,
such as content or client computer, are provided with specific meaning in relation to
BranchCache.
Branch office. A satellite office to the main office. Branch offices contain client computers and
may also contain either client cache servers or hosted cache servers.
BranchCache-compatible protocols. Background Intelligent Transfer service (BITS), Server
Message Block 2 (SMB) protocol, Secure Hypertext Transfer Protocol (HTTPS), and Hypertext
Transfer Protocol 1.1 (HTTP) are compatible with BranchCache.
Client cache server. When BranchCache is deployed in distributed cache mode, client
computers retrieve content from main office content servers and then cache the content. When
other client computers on the same subnet request the content, the client computer that already
has the content acts as a client cache server and sends the content to the computers that request
it. All clients that download, cache, and serve content to other clients automatically act as client
cache servers.
Client computer. A computer at a branch office that is running either Windows 7 Enterprise or
Windows 7 Ultimate and that has BranchCache enabled.
Content. The files that are served to computers in branch offices by the content server.
Content information. Automatically generated metadata that is used to describe content. Also
called hashes.
Content server. Source repository, located at the main office, for the content that is accessed by
client computers in branch offices. Content may reside on either a file server with the
BranchCache for Network Files role service of the File Services server role installed, or on a
Web server or BITS-based application server with the BranchCache feature installed. Content
servers transmit content to branch offices using the BranchCache-compatible protocols.
Distributed cache mode. In distributed cache mode, branch office client computers download
content from main office content servers. The client computers then cache the content, and act as
client cache servers, providing the cached content to other client computers on request.
Distributed cache mode is especially beneficial for branch offices that do not have a local server
that can act as a hosted cache server.
Hashes. See content information.
Hosted cache mode. When BranchCache is deployed in hosted cache mode, hosted cache
servers retrieve content from client computers, cache the content, and provide the content upon
request to other client computers in the same branch office.
Hash publication. The process of generating hashes, also called content information, so that
BranchCache clients can download the content information that is stored on content servers.
Hosted cache server. When BranchCache is deployed in hosted cache mode, hosted cache
servers in branch offices cache content and provide the content on request to client computers in
the same branch office. In this mode, client computers perform the initial download of content
from content servers at the main office, and hosted cache servers later download the content
from the clients.
Main office. The office where the content servers are located.
BranchCache installation guide
You can use Server Manager in Windows Server 2008 R2 to install either the BranchCache
feature or the BranchCache for network files role service of the File Services server role,
however each use a different wizard for installation.

To install the BranchCache feature, open Server Manager, click Features, and then click
Add Features; the Add Features wizard opens, and you can install BranchCache from the
list that is provided.

To install the BranchCache for network files role service of the File Services server role,
open Server Manager, click Roles, and then click Add Roles; the Add Roles wizard opens,
and you can install the File Services role with the BranchCache for network files role
service selected.
Use the following table to determine the aspect of BranchCache that you need to install for the
functionality you require.
Functionality
Computer location
Install this BranchCache element
Content server (BITS
application server)
Main office
BranchCache feature
Content server (Web server)
Main office
BranchCache feature
Content server (file server
using the SMB protocol)
Main office
BranchCache for network
files role service of the File
Services server role
Hosted cache server
Branch office
BranchCache feature with
hosted cache mode enabled
Client cache server
Branch office
No installation needed; just
enable BranchCache on the
client
Operating system versions for BranchCache
Following is a list of operating systems that support different types of BranchCache functionality.
Operating systems for BranchCache client computer functionality:

Windows® 7 Enterprise

Windows® 7 Ultimate
Operating systems for BranchCache content server functionality:
The Windows Server® 2008 R2 family of operating systems can be used as BranchCache
content servers, with the following exceptions:

In Windows Server® 2008 R2 Enterprise Core Install with Hyper-V, BranchCache is not
supported.

In Windows Server® 2008 R2 Datacenter Core Install with Hyper-V, BranchCache is not
supported.
Operating systems for BranchCache hosted cache server functionality:

Windows Server® 2008 R2 Enterprise

Windows Server 2008 R2 Enterprise with Hyper-V

Windows Server 2008 R2 Enterprise Core Install

Windows Server 2008 R2 Enterprise Core Install with Hyper-V

Windows Server 2008 R2 for Itanium-Based Systems

Windows Server® 2008 R2 Datacenter

Windows Server® 2008 R2 Datacenter with Hyper-V

Windows Server 2008 R2 Datacenter Core Install with Hyper-V
Identify BranchCache Deployment Goals
Correctly identifying your BranchCache deployment goals is essential for the success of your
BranchCache design project. Depending on the size of your organization and the level of
involvement that you want to provide for the information technology (IT) staff in any partner
organizations, form a project team that can clearly articulate real-world deployment issues in a
vision statement. Make sure that the members of this team understand the direction in which your
deployment project must move in order to reach your BranchCache deployment goals.
When you deploy BranchCache, you have a choice between the following:

Deploy BranchCache in distributed cache mode to optimize wide area network performance
for employees in branch offices with only client computers. Distributed cache mode does not
require a server computer in each branch office; it also does not require that you purchase or
deploy server certificates.

Deploy BranchCache in hosted cache mode to optimize wide area network performance for
employees in branch offices that contain server computers. When you deploy BranchCache
in hosted cache mode, you must enroll a server certificate to hosted cache servers either by
purchasing a certificate from a third party company, such as Verisign, or by deploying your
own certification authority (CA) and enrolling server certificates to hosted cache servers.

Deploy BranchCache in both distributed cache mode and hosted cache mode. When you
deploy BranchCache in both modes, a hosted cache server is required at each branch office
where you deploy hosted cache mode. A hosted cache server is not required, however, for
branch offices where hosted cache mode is not deployed but distributed cache mode is
deployed.
Note
For client computers, you must choose one BranchCache mode. Client computers cannot
operate in two modes at one time.
Hosted cache mode advantages
For various reasons, deploying BranchCache in hosted cache mode provides more wide area
network (WAN) bandwidth savings than distributed cache mode, even when the branch office
contains only a single subnet. In hosted cache mode, the hosted cache server is always on and
the cached content is always available to clients that request the content.
In distributed cache mode, each client computer that downloads content from the main office
content servers then acts as a client cache server, sharing the content with other client computers
so that the other computers do not have to download the same content. But client computers
power down, and portable computers might be removed from the branch office for undetermined
periods of time, and when the computers are turned off or are absent from the office, the content
that they cached is no longer available to other client computers. In this circumstance, the
requesting client computer must obtain the content from the main office content servers, which
means that the same content is downloaded more than once.
In addition, if you have subnets that contain many computers that use a wireless connection to
the local area network (LAN), distributed cache mode performance suffers because transferring
data over a wireless connection is typically slower than transferring data over a wired connection
to the LAN. In this case, if you deploy hosted cache mode with a hosted cache server that has a
wired connection to the LAN, BranchCache performance is improved.
Considerations for large branch offices
Because you can deploy only one hosted cache server per branch office, there are circumstances
where it is a good idea to choose distributed cache mode rather than hosted cache mode. If the
branch office contains more than 100 workstations and is a multiple subnet environment, a single
hosted cache server might not be able to handle the workload for the entire branch. In this case,
use distributed cache mode to distribute the caching services among many computers rather than
just one.
Deployment goals
The following table lists the main tasks for articulating, refining, and subsequently documenting
your BranchCache deployment goals.
Deployment goal tasks
Reference links
Evaluate predefined BranchCache deployment

Optimize wide area network performance
Deployment goal tasks
Reference links
goals and combine one or more goals to reach
your organizational objectives.
Map one goal or combine predefined
BranchCache deployment goals to an existing
BranchCache design.
for employees in branch offices with only
client computers

Optimize wide area network performance
for employees in branch offices with server
computers

Accomplish both goals above by deploying
BranchCache in both distributed cache
mode and hosted cache mode.
BranchCache dual mode example.
Map Deployment Goals to a BranchCache
Design
Optimize wide area network performance for
employees in branch offices with only client
computers
Important
A connection between the main office and each branch office must exist before you
deploy BranchCache.
This deployment goal is recommended for branch offices that do not contain server computers.
When you deploy BranchCache for employees in branch offices that contain only client
computers:

Employees with the correct security permissions that are using computers running
Windows 7 and that have BranchCache enabled can access content on your content servers
at the main office; they can also access content that is cached locally by their computer and
other computers at their branch office.

Server computers are not required at the branch office to cache content, because the content
is cached on client computers that are running Windows 7.

Depending on the types of content servers that you have deployed, employees can access
many types of content at the local branch office rather than over the wide area network
(WAN) link to the main office. This includes Web server content, files on a SharePoint server,
training videos, software installation files (such as software patches and antivirus program
signature updates), and file shares.

Due to reduced usage of the WAN, employees might see reduced application response times
and improved application performance.
The following components are required for this deployment goal.

Content server. One or more content servers that are running Windows Server 2008 R2 and
are located in the main office. Content servers can be file servers, application servers, or
Web servers.

Client computers. One or more client computers that are running Windows 7 and are
located in one or more branch offices.

Client cache servers. Each client computer automatically becomes a client cache server
when it obtains content from a content server and then caches the content for distribution to
other client computers on request.

Group Policy BranchCache object. To enable BranchCache on Windows 7 client
computers using Group Policy, you must first create a Group Policy object (GPO) that will
carry the BranchCache configuration.

Group Policy client computer firewall configuration. The client firewall must be configured
to allow incoming HTTP and WS-Discovery traffic on computers that use distributed cache
mode.

Free hard disk space on client computers. Free hard disk space on client computers at
branch offices must be greater than the sum of the content plus the content information that
is generated by the content servers. Content information is small in comparison to the actual
content; you must reserve one byte of disk space for every 2,000 bytes of content that might
be cached by client computers.
Optimize wide area network performance for
employees in branch offices with server
computers
Important
A connection between the main office and each branch office must exist before you
deploy BranchCache.
This deployment goal is recommended for branch offices that contain one or more server
computers. When you deploy BranchCache for employees in branch offices that contain client
computers and one or more server computers:

Employees using computers that are running Windows 7 and that have BranchCache
enabled can access content on your content servers at the main office; they can also access
content that is cached locally by the hosted cache server at their branch office.

Free hard disk space is required on the hosted cache server, but no additional hard disk
space is required on client computers, because BranchCache content is located on the
hosted cache server rather than on client computers.

Depending on the types of content servers that you have deployed, employees can access
many types of content at the local branch office rather than over the wide area network
(WAN) link to the main office. This includes Web server content, files on a SharePoint server,
training videos, software installation files (such as software patches and antivirus program
signature updates), and file shares.

Due to reduced usage of the WAN, employees might see reduced application response times
and improved application performance.
The following components are required for this deployment goal.

Content server. One or more content servers that are running Windows Server 2008 R2 and
are located in the main office. Content servers can be file servers, application servers, or
Web servers.

Hosted cache server. A hosted cache server must be installed at each branch office, and
must be running Windows Server 2008 R2 with the BranchCache feature installed and
enabled.

Free hard disk space on the hosted cache server. Free hard disk space on hosted cache
servers at branch offices must be greater than the sum of the content plus the content
information that is generated by the content servers. Content information is small in
comparison to the actual content; you must reserve one byte of disk space for every 2,000
bytes of content that might be cached by the hosted cache server.

Certification authority. A certification authority (CA) must be used to enroll or autoenroll
server certificates to hosted cache servers.

CA certificate. The certificate of the CA must be present in the Trusted Root Certification
Authorities certificate store on client computers. This certificate allows client computers to
trust the hosted cache server when retrieving content from the server.

Copy of the Web server certificate template. Using the Certificate Templates Microsoft
Management Console (MMC) snap-in, you can configure a copy of the Web server certificate
template for autoenrollment, allowing you to automatically issue, or enroll, a certificate to
hosted cache servers that is based on the copy of the Web server certificate template.

Hosted cache server certificate. This certificate is issued by the CA to the hosted cache
server, and is based on the Web server certificate template. The hosted cache server uses
the certificate to prove its identity to client computers.

Client computers. One or more client computers that are running Windows 7 and are
located in branch offices.

Group Policy BranchCache object. To enable BranchCache on Windows 7 client
computers using Group Policy, you must first create a Group Policy object (GPO) that will
carry the BranchCache configuration.

Group Policy client computer firewall configuration. The client firewall must be configured
to allow incoming HTTP and WS-Discovery traffic on computers that use distributed cache
mode.
Map Deployment Goals to a BranchCache
Design
After you finish reviewing the existing BranchCache deployment goals and you determine which
goals are related to your specific deployment, you can map those goals to a specific
BranchCache design. For more information about BranchCache predefined deployment goals,
see Identify BranchCache Deployment Goals.
Use the following table to determine which BranchCache design maps to the appropriate
combination of BranchCache deployment goals for your organization. This table refers only to the
two primary BranchCache designs as described in this guide. However, you can create a hybrid
or custom BranchCache design by using a combination of the BranchCache deployment goals to
meet the needs of your organization.
BranchCache deployment goal
Distributed cache mode
design
Hosted cache mode design
Optimize wide area network
performance for employees in
branch offices with only client
computers
Yes
No
Optimize wide area network
performance for employees in
branch offices with server
computers
No
Yes
Accomplish both goals above by Yes
deploying BranchCache in both
distributed cache mode and
hosted cache mode.
Yes
Note
For information on deploying both distributed cache mode and hosted cache mode, see
BranchCache dual mode example.
Distributed cache mode design
With the distributed cache mode design of BranchCache, users in branch offices can quickly
access locally cached content despite not having a server installed in the branch office. Client
computers obtain content from main office content servers over wide area network (WAN) links
and then cache the content to share with other client computers upon request. Typically, you
deploy this design when you do not have servers in branch office locations and do not want to
incur the expense of deploying new servers.
The Main office in the illustration above contains three types of content servers to demonstrate
that you can deploy all three types of content servers on the same network if you want to;
however to deploy BranchCache, only one content server is required.
Branch office 1 in the illustration above contains domain member client computers. These
computers are automatically configured for BranchCache by domain Group Policy, which is
configured on the AD DS domain controller, and which is applied to the computers when domain
Group Policy is refreshed, such as when a user logs on to the computer or when the gpupdate
command is run.
Branch office 2 in the illustration above contains non-domain member client computers. Because
these computers are not joined to the domain, domain Group Policy cannot be applied to the
computers and they cannot be automatically configured.
Hosted cache mode design
With the hosted cache mode design of BranchCache, employees in branch offices can quickly
access content that is cached on a local hosted cache server. Client computers obtain content
from main office content servers over wide area network (WAN) links, and then the content is
cached on the hosted cache server. The hosted cache server then provides the content to other
client computers upon request.
The Main office in the illustration above contains three types of content servers to demonstrate
that you can deploy all three types of content servers on the same network; however to deploy
BranchCache, only one content server is required. In addition, the main office contains a
certification authority (CA) that enrolls certificates to the hosted cache servers that are located in
branch offices. Also in the main office is an Active Directory Domain Services domain controller;
BranchCache domain member client configuration is created in domain Group Policy.
Branch office 1 in the illustration above contains domain member client computers. These
computers are automatically configured for BranchCache by domain Group Policy, which is
configured on the AD DS domain controller, and which is applied to the computers when domain
Group Policy is refreshed, such as when a user logs on to the computer or when the gpupdate
command is run. This branch office also contains a hosted cache server that has enrolled a
server certificate from the main office CA.
Branch office 2 in the illustration above contains non-domain member client computers. Because
these computers are not joined to the domain, domain Group Policy cannot be applied to the
computers and they cannot be automatically configured. In addition, this branch office contains a
non-domain member hosted cache server that has been manually configured and to which a
server certificate has been manually enrolled using the Certificates Microsoft Management
Console (MMC).
Evaluate BranchCache Design Examples
The following BranchCache design examples illustrate how you can use BranchCache to
optimize wide area network (WAN) bandwidth for branch offices using distributed cache mode,
hosted cache mode, or both modes.

Distributed cache mode example

Hosted cache mode example

BranchCache dual mode example
Distributed cache mode example
In this example, BranchCache is deployed in distributed cache mode at a main office and a single
branch office. This example depicts the following two stage process:

The branch office client computer Client 1 seeks and obtains content from the main office
content server.

Another client computer in the same branch office, Client 2, seeks the same content that was
originally obtained by Client 1. In this case, Client 2 obtains the content from Client 1 instead
of over the wide area network link from the main office content server.
At the outset of the process, the employee using the computer Client 1 attempts to access
content that is stored on a BranchCache-enabled content server.
Note
The content that the employee wants to access can be on any of the three types of
content servers – a Web server, a BITS-based application server, or a file server.
In the following illustration, Client 1 seeks and obtains content from the main office content
server.
The numbers in the illustration above correspond to the following actions:
1. Client 1 sends a request for content to the main office content server. In this request, Client 1
indicates that it is BranchCache-capable.
2. The content server obtains previously generated content information from a local cache and
sends it to Client 1.
3. Client 1 uses the content information and sends a multicast message to all computers on the
subnet requesting the content; no computers have the content, however, because none of
them has previously downloaded the content from the main office.
4. Client 1 requests the content from the main office content server.
5. Client 1 receives content from the content server and stores the content in its cache.
In the following illustration, Client 2 seeks and obtains content from Client 1.
The numbers in the illustration above correspond to the following actions:
1. Client 2 sends a request for content to the main office content server. In this case, Client 2
seeks the same content that Client 1 has already obtained.
2. The content server obtains previously generated content information from a local cache and
sends it to Client 2.
3. Client 2 uses the content information and sends a multicast message to determine if any
clients in the branch office have already cached the content. Client 1 sends a response
stating that it has the content.
4. Client 2 requests the content from Client 1, connects to Client 1, and downloads the content.
Hosted cache mode example
In this example, BranchCache is deployed in hosted cache mode at a main office and a single
branch office. This example depicts the following two stage process:

The branch office client computer Client 1 seeks and obtains content from the main office
content server, and then advertises the content to the hosted cache server in the branch
office. The hosted cache server downloads the content from Client 1 and adds the content to
its cache.

Another client computer in the same branch office, Client 2, seeks the same content that was
originally obtained by Client 1. In this case, Client 2 obtains the content from the local hosted
cache server instead of over the wide area network link from the main office content server.
At the outset of the process, the employee using the computer Client 1 attempts to access
content that is stored on a BranchCache-enabled content server.
Note
The content that the employee wants to access can be on any of the three types of
content servers – a Web server, a BITS-based application server, or a file server.
In the following illustration, Client 1 seeks and obtains content from the main office content
server, and then the hosted cache server obtains the content from Client 1 and caches the
content.
The numbers in the illustration above correspond to the following actions:
1. Client 1 sends a request for content to the main office content server. In this request, Client 1
indicates that it is BranchCache-capable.
2. The content server obtains previously generated content information from a local cache and
sends it to Client 1.
3. Client 1 requests the content from the hosted cache server in the branch office, and the
hosted cache server informs Client 1 that it does not have the content in its cache.
4. Client 1 requests the content from the main office content server.
5. Client 1 receives content from the main office content server.
6. Client 1 advertises the content to the hosted cache server in the branch office; the hosted
cache server connects to the client and downloads the content to store in its cache.
In the following illustration, Client 2 seeks and obtains content from the hosted cache server.
The numbers in the illustration above correspond to the following actions:
1. Client 2 sends a request for content to the main office content server. In this case, Client 2
seeks the same content that Client 1 has already obtained.
2. The content server obtains previously generated content information from a local cache and
sends it to Client 2.
3. Client 2 uses the content information and sends a request to the hosted cache server for the
content. The hosted cache server sends a response stating that it has the content.
4. Client 2 connects to the hosted cache server and downloads the content, using the content
information that it received from the main office content server to verify the data.
BranchCache dual mode example
In this example, BranchCache is deployed at one main office and two branch offices. The branch
office deployments are:

In branch office 1, BranchCache is deployed in distributed cache mode and client computers
cache content they have downloaded from the main office content server.

In branch office 2, BranchCache is deployed in hosted cache mode and a hosted cache
server caches content that client computers have downloaded from the main office content
server.
In the following illustration, BranchCache is deployed in both modes.
Note
For more detail on how distributed cache mode and hosted cache mode work, see
Distributed cache mode example and Hosted cache mode example.
Plan BranchCache Deployment
You can use the following topics to plan BranchCache deployment.

Plan content server deployment

Plan BranchCache distributed mode deployment

Plan BranchCache hosted cache mode deployment
Plan content server deployment
When you deploy BranchCache, you must deploy at least one type of content server in your main
office. The content servers you deploy can be new servers upon which Windows
Server® 2008 R2 is installed, or they can be content servers that already exist that are running
other operating systems.
If the content servers are running other operating systems, you must upgrade the servers to
Windows Server 2008 R2 or install a new server running Windows Server 2008 R2 and then
migrate the content from the old server to the new server.
To plan for content server deployment, take the following actions:


Evaluate each content server and document the following state and required actions as
required to create your deployment plan:

If the content server is running Windows Server 2008 R2 and BranchCache is already
installed and configured in accordance with the instructions in the BranchCache
Deployment Guide, no action is needed.

If the content server is running Windows Server 2008 R2 and BranchCache is not already
installed and configured, then BranchCache must be installed and configured using the
instructions in the BranchCache Deployment Guide.

If the content server is not running Windows Server 2008 R2 and the hardware meets the
minimum hardware requirements for Windows Server 2008 R2, determine whether to
upgrade the server to Windows Server 2008 R2 or migrate the server to another
computer that is running Windows Server 2008 R2. After you upgrade or migrate the
server, BranchCache must be installed and configured using the instructions in the
BranchCache Deployment Guide.

If the content server is not running Windows Server 2008 R2 and the hardware does not
meet the minimum hardware requirements for Windows Server 2008 R2, migrate the
server to another computer that is running Windows Server 2008 R2. After you migrate
the server, BranchCache must be installed and configured using the instructions in the
BranchCache Deployment Guide.
If you are removing or adding content servers, or if you do not already have a content backup
plan in place, create or revise your content backup plan.
For assistance with server migration and upgrades, see Deployment and migration tools and
information
Plan BranchCache distributed mode
deployment
When you deploy BranchCache in distributed cache mode, you must deploy client computers in
branch offices. These client computers must be running either the Windows® 7 Enterprise or the
Windows® 7 Ultimate operating system.
To plan for client computer deployment, take the following actions as required to create your
deployment plan:
1. Evaluate each client computer in each branch office and document the following actions:
a. If the client computer is running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system, and if BranchCache is already configured in accordance with
the instructions in the BranchCache Deployment Guide, no action is needed.
b. If the client computer is running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system but BranchCache is not configured, you must configure
BranchCache in accordance with the instructions in the BranchCache Deployment Guide.
c.
If the client computer is not running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system and the client computer hardware meets the minimum
hardware requirements for one of these operating systems, determine whether you want
to upgrade the computer or migrate the client to another computer. After you upgrade or
migrate the computer, you must configure BranchCache in accordance with the
instructions in the BranchCache Deployment Guide.
d. If the client computer is not running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system and the client computer hardware does not meet the minimum
hardware requirements for one of these operating systems, you must migrate the client to
another computer that does meet the minimum hardware requirements for the respective
operating system. After you migrate the computer, you must configure BranchCache in
accordance with the instructions in the BranchCache Deployment Guide.
2. Identify non-domain member client computers and plan to manually configure them in
accordance with the instructions in the BranchCache Deployment Guide.
3. Examine your domain Group Policy configuration and plan on enabling BranchCache client
configuration in Group Policy for domain member client configuration in accordance with the
instructions in the BranchCache Deployment Guide.
4. If you are using DirectAccess, plan on creating Internet Protocol security (IPsec) rules that
allow inbound and outbound BranchCache traffic on client computers in accordance with the
instructions in the BranchCache Deployment Guide.
5. Compare free disk space on client computers to the total amount of disk space it takes to
store your source content on content servers in the main office. Ensure that the free hard disk
space on clients at each branch office is sufficient to cache all of the main office content
server data. Note cases in which you must increase the number or size of hard disks per
client computer so that you can upgrade the hardware.
For assistance with client migration and upgrades, see Deployment and migration tools and
information
Plan BranchCache hosted cache mode
deployment
When you deploy BranchCache in hosted cache mode, you must deploy client computers and
one server computer, the hosted cache server, in each branch office.
The hosted cache server must be running one of the following operating systems:

Windows Server® 2008 R2 Enterprise

Windows Server 2008 R2 Enterprise with Hyper-V

Windows Server 2008 R2 Enterprise Core Install

Windows Server 2008 R2 Enterprise Core Install with Hyper-V

Windows Server 2008 R2 for Itanium-Based Systems

Windows Server® 2008 R2 Datacenter

Windows Server® 2008 R2 Datacenter with Hyper-V

Windows Server® 2008 R2 Datacenter Core Install with Hyper-V
If the server computer in each branch office is not running one of these operating systems, you
must plan to upgrade the computer or to migrate the server to another computer, depending on
hardware requirements and your resources.
In addition, compare the free hard disk space to the amount of hard disk space that will be
required to cache all of the content on all of your content servers, and ensure that the hosted
cache server has sufficient free disk space to store all of the content.
Note
The hosted cache server can serve purposes in addition to hosting the BranchCache
content. For example, if the server you want to use as a hosted cache server is also a
domain controller, a DHCP server, or is performing other services for your branch office
network, you can still use it as a hosted cache server. Just ensure that the computer
hardware is sufficient to serve all purposes for which the server is intended.
The client computers must be running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system.
To plan for client computer deployment, take the following actions as required to create your
deployment plan:
1. Evaluate each client computer in each branch office and document the following actions:
a. If the client computer is running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system, and if BranchCache is already configured in accordance with
the instructions in the BranchCache Deployment Guide, no action is needed.
b. If the client computer is running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system but BranchCache is not configured, you must configure
BranchCache in accordance with the instructions in the BranchCache Deployment Guide.
c.
If the client computer is not running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system and the client computer hardware meets the minimum
hardware requirements for one of these operating systems, determine whether you want
to upgrade the computer or migrate the client to another computer. After you upgrade or
migrate the computer, you must configure BranchCache in accordance with the
instructions in the BranchCache Deployment Guide.
d. If the client computer is not running either the Windows® 7 Enterprise or the Windows® 7
Ultimate operating system and the client computer hardware does not meet the minimum
hardware requirements for one of these operating systems, you must migrate the client to
another computer that does meet the minimum hardware requirements for the respective
operating system. After you migrate the computer, you must configure BranchCache in
accordance with the instructions in the BranchCache Deployment Guide.
2. Identify non-domain member client computers and plan to manually configure them in
accordance with the instructions in the BranchCache Deployment Guide.
3. Examine your domain Group Policy configuration and plan on enabling BranchCache client
configuration in Group Policy for domain member client configuration in accordance with the
instructions in the BranchCache Deployment Guide.
4. If you are using DirectAccess, plan on creating Internet Protocol security (IPsec) rules that
allow inbound and outbound BranchCache traffic on client computers in accordance with the
instructions in the BranchCache Deployment Guide.
Deployment and migration tools and
information
The following links and information are provided to assist you in preparing to deploy
BranchCache.
BranchCache Deployment Guide
To learn how to deploy BranchCache, see the BranchCache Deployment Guide:

Available in Word format at the Microsoft Download Center:
http://go.microsoft.com/fwlink/?LinkId=166656

Available in HTML format in the Windows Server® 2008 and Windows Server® 2008 R2
Technical Library: http://go.microsoft.com/fwlink/?LinkId=166639
Microsoft Assessment and Planning Toolkit: http://go.microsoft.com/fwlink/?LinkID=117991
The Microsoft® Assessment and Planning (MAP) Toolkit makes it easy to assess your current IT
infrastructure and determine the right Microsoft technologies for your IT needs.
MAP is a powerful inventory, assessment, and reporting tool that can securely run in small or
large IT environments without requiring the installation of agent software on any computers or
devices. The inventory and assessment capabilities provided by this Solution Accelerator can
significantly simplify the planning process for migrating your laptops, desktops, and server
computers to Windows® 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista®
and Microsoft Office 2007. The server virtualization scenarios help you identify underutilized
resources and the hardware specifications needed to successfully consolidate your servers using
Microsoft Hyper-V technology. Additionally, the toolkit can help you identify unmanaged assets,
Microsoft SQL Server® components and virtual machines in your environment
Microsoft Application Compatibility Toolkit 5.5: http://go.microsoft.com/fwlink/?LinkID=23302
The Microsoft Application Compatibility Toolkit (ACT) version 5.5 contains the necessary tools
and documentation to evaluate and mitigate application compatibility issues before deploying
Windows 7, Windows Vista, a Windows Update, or a new version of Windows® Internet
Explorer® in your environment.
Windows User State Migration Tool (USMT) Version 3.0.1:
http://go.microsoft.com/fwlink/?LinkId=167867
Microsoft® Windows® User State Migration Tool (USMT) version 3.0.1 migrates user files and
settings during deployments of Windows XP and Windows Vista. USMT captures files and
settings from the source computer and then migrates them to a new Windows installation.
The Windows Automated Installation Kit (AIK) for Windows 7:
http://go.microsoft.com/fwlink/?LinkId=167870
The Windows Automated Installation Kit (Windows AIK) is a set of tools and documentation that
support the configuration and deployment of Windows operating systems. By using Windows AIK,
you can automate Windows installations, capture Windows images with ImageX, configure and
modify images using Deployment Imaging Servicing and Management (DISM), create Windows
PE images, and migrate user profiles and data with the User State Migration Tool (USMT).
Windows AIK also includes the Volume Activation Management Tool (VAMT), which enables IT
professionals to automate and centrally manage the volume activation process using a Multiple
Activation Key (MAK).
Microsoft Deployment Toolkit (MDT) 2010: http://go.microsoft.com/fwlink/?LinkID=110477
Microsoft Deployment Toolkit 2010 is the newest version of Microsoft Deployment Toolkit, a
Solution Accelerator for operating system and application deployment. MDT 2010 supports
deployment of Windows 7 and Windows Server 2008 R2 in addition to deployment of Windows
Vista, Windows Server 2008, Windows Server 2003, and Windows XP.
Migrate Server Roles to Windows Server 2008 R2:
http://go.microsoft.com/fwlink/?LinkId=167873
Migration documentation and tools ease the process of migrating server roles, operating system
settings, and data from an existing server that is running Windows Server 2003, Windows Server
2008, or Windows Server 2008 R2 to a computer that is running Windows Server 2008 R2.