Windows Server 2008 R2 and Windows 7 : Overview of Branchcache & Planning to Deploy Branchcache

3/5/2012 11:31:17 AM
Windows Server 2008 R2 includes several features and services that allow the server operating system to work in tandem with Windows 7, the client operating system. Features such as BranchCache and DirectAccess require Windows Server 2008 R2-based servers, and Windows 7 clients. Due to this requirement, you may want to consider deploying Windows 7 along with, or shortly after, your Windows Server 2008 R2 deployment.

Overview of Branchcache

BranchCache is a new feature available in Windows Server 2008 R2 and Windows 7. BranchCache provides a better end-user experience for users opening files across a Wide Area Network (WAN) by caching a copy in the branch office after the document or intranet Web site is opened for the first time. The cached copy can be stored on a branch office server running Windows Server 2008 R2 (hosted mode) or a Windows 7 client (distributed mode). When a second client attempts to open the same file, it is opened from the cached copy as opposed to attempting to access the file over the WAN. Figure 1 depicts what a typical BranchCache deployment might look like.

Figure 1. Example Branchcache deployment.

By deploying BranchCache, you can not only improve the end-user experience, but also decrease traffic load on your WAN circuits. However it is important to remember that to take advantage of BranchCache, you need to deploy both Windows Server 2008 R2 servers (for hosted mode) and Windows 7 clients (for client access and distributed mode).

Notes From the Field

BranchCache used for read access only

BranchCache is used for reading a file or Web site only. Write operations require the client to perform the write process back to the original source across the WAN.

Planning to Deploy Branchcache

Prior to installing BranchCache on your network, you need to properly design and plan for your deployment. As with all features, you should properly test the deployment in a lab to verify your design and configurations. In this section, we will discuss things you need to consider when planning to deploy BranchCache within your organization.

Deployment options

BranchCache can be deployed in the following modes:

  • Hosted Mode —BranchCache Hosted mode uses a Windows Server 2008 R2 server located in the BranchOffice to store the cache. When Windows 7 clients access a cached copy of a file or Web site, they access it on the branch office server with BranchCache installed. Hosted mode is recommended for larger branch offices, and offices that have a considerable amount of mobile users.

  • Distributed Mode —BranchCache Distributed mode uses Windows 7 clients to host the branch office cache. When a Windows 7 client accesses a cached copy of a file, it pulls it from the cache of a peer Windows 7 computer. This does not require a Windows server in the branch office but if a computer with a cached copy of a file is offline, the other branch office computers must pull a new copy from the original source across the WAN. Distributed mode is recommended only for offices with less than 15 users and preferably with mostly desktop workstations. Figure 2 depicts how distributed mode works in Windows 7.

    Figure 2. Branchcache using distributed mode.

Notes From the Field

BranchCache Distributed Mode security

Even though BranchCache deployed in Distributed mode uses a peer-to-peer configuration, file security is still enforced. When using distributed mode, the local cache is encrypted and can be accessed only by users that have been given access to the specific files.

When deploying BranchCache, you will need to select the mode that best fits your branch office locations. You must choose a mode for each office; however, you can mix modes between branch offices. For example, a larger office with 100 users can have a hosted mode deployment, while a smaller office of 10 users can use distributed mode.


The use of BranchCache requires that client and servers meet certain minimum operating system requirements. The main operating system requirements are outlined here.

Hosted BranchCache mode —When using hosted BranchCache mode, the branch office cache server must be running Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Itanium, or Windows Server 2008 R2 Datacenter editions.

Distributed BranchCache mode —Distributed mode requires that all clients, which also host the cached copy of files, be running Windows 7 Enterprise or Windows 7 Ultimate.

Client computers —Client computers must be running Windows 7 Enterprise or Windows 7 Ultimate to take advantage of BranchCache.

Additionally, any Web server that you wish to be cached in branch offices requires that the BranchCache feature be installed. For source servers that you wish to allow files to be cached in branch offices, you will need to install the BranchCache for Network Files role.

BranchCache certificates

When deploying BranchCache using hosted mode, each branch server hosting the cache will need a certificate from an internal Public Key Infrastructure (PKI) or third-party certificate provider.

Notes From the Field

BranchCache and WAN accelerators

BranchCache cannot be used across WAN connections that are using WAN acceleration appliances. These devices are configured to compress and optimize data performance across a WAN. If your network uses any of these devices, you will more than likely not be able to set up and use BranchCache.

Designing a BranchCache deployment

There are several aspects to designing a BranchCache deployment. You need to consider things such as

  • Number of workstations in branch offices. In larger branch offices, you may need to use multiple servers to cache content for performance reasons. The number of workstations may impact on your decision to deploy a hosted deployment or a distributed deployment.

  • Are branch office users mobile or stationary? If you have a highly mobile workforce, it may not be efficient to deploy BranchCache in a distributed fashion.

  • Are workstations running Windows 7? If you still have workstations on your network running Windows XP, they will not take advantage of BranchCache features.

  • Does the branch office have servers deployed? If there are no servers in the branch office you will need to deploy them if you plan to use a hosted mode configuration.

  • If using a distributed deployment, how much disk space is available on workstations? If your workstations in the branch office do not have adequate disk space available, they will not be able to cache files properly.

  • If using hosted deployment, you will need to deploy a certificate authority to obtain a third-party certificate.

You will need to properly document and test your design before rolling into production. As with all deployments, proper testing needs to be performed before making modifications to your production environment. The figures given earlier in this section depict what a typical BranchCache design might look like. You will want to create similar drawings of your deployment as part of your design process.

  •  Windows Server 2008 R2 monitoring and troubleshooting : Data Collector Sets
  •  Linking PCs with a Network : Creating a Wired and Wireless Computer Network
  •  Linking PCs with a Network : Choosing Between a Wired or Wireless Network
  •  Upgrading to Windows Server 2003 : Planning a Windows NT Domain Upgrade (part 3) - Making a Recovery Plan
  •  Upgrading to Windows Server 2003 : Planning a Windows NT Domain Upgrade (part 2) - Planning the Active Directory Forest
  •  Upgrading to Windows Server 2003 : Planning a Windows NT Domain Upgrade (part 1)
  •  Upgrading to Windows Server 2003 : Architectural Changes Since Windows NT 4.0
  •  Windows Server 2008 R2 monitoring and troubleshooting : Event Viewer - Configuring event-based tasks & Setting up event log forwarding
  •  Windows Server 2008 R2 monitoring and troubleshooting : Performance Monitoring
  •  Working with the windows 7 common file dialogs (part 3) - Defining a File Save Dialog
  •  Working with the windows 7 common file dialogs (part 2) - Defining a File Open Dialog
  •  Working with the windows 7 common file dialogs (part 1)
  •  Programming Excel with VBA and .NET : Variables (part 4) - User-Defined Types & Objects
  •  Programming Excel with VBA and .NET : Variables (part 3) - Constants, Enumerations & Arrays
  •  Programming Excel with VBA and .NET : Variables (part 2) - Conversions, Scope and Lifetime
  •  Programming Excel with VBA and .NET : Variables (part 1) - Names & Declarations
  •  Windows Vista : Performing Local PC Administration (part 2) - Performing common workstation administration tasks
  •  Windows Vista : Performing Local PC Administration (part 1) - Working with workstation administration tools
  •  Filtering Out Evil with Firewalls (part 3) - Manually Configuring a Firewall's Ports
  •  Filtering Out Evil with Firewalls (part 2)
    Top 10
    Deploying a Public Key Infrastructure with Windows Server 2008 R2
    Windows 7 : Managing Other People’s User Accounts (part 1)
    SharePoint 2010 : Understanding Advanced PowerShell Topics
    Dynamically Loading XAML on Silverlight 4
    Google, privacy & you (Part 2)
    Windows 7: Managing Software Once It’s Installed (part 2) - Viewing and Managing Currently Running Programs
    How did Webs put the world on maps? (Part 1)
    Maxell Audio Wild
    Windows Home Server : Admin Console Drive-By
    Linux - The Operating System With A Pure Heart (Part 1)
    Most View
    Sharepoint 2007: Approve or Reject a File or List Item
    Windows Server 2008: Domain Name System and IPv6 - Understanding the Need for DNS
    IIS 7.0 : Implementing Access Control - Authentication (part 1)
    Angry Bird Space - They are back (Part 1)
    Binding Application Data to the UI objects in Silverlight
    Wireless Networking in Vista
    App attack: TV Remotes - Panasonic Viera, LG TV Remote, Media Remote (Sony) & Samsung Remote
    Deploying the Client for Microsoft Exchange Server 2010 : Deploying with Microsoft System Center Configuration Manager 2007
    IIS 7.0 : Runtime Web Server Extensibility (part 1)
    SQL Azure: Building a Shard (part 3) - Reading Using the Shard & Caching
    Windows Azure and ASP.NET : Creating a Windows Azure Service
    Programming Symmetrical Encryption (part 3) - Encrypting and Decrypting Data
    Managing Exchange Server 2010 : Archiving and compliancy (part 2) - Messaging Records Management
    Panasonic KX-MB1530CX Multi-Function Printer : A small workhorse for document printing
    Resolve a Hostname to an IP Address
    Creating Connections for Remote Access in Vista
    Showdown: lOS vs Android vs WP7 (Part 2)
    HTPC Networking Consideration (Part 3) - Wireless Networking, Powerline To The Rescue
    Silverlight Recipes : Networking and Web Service Integration - Accessing Resources over HTTP