Windows BranchCache
is a file-caching feature that works in conjunction with Background
Intelligent Transfer Service (BITS). Using Group Policy, administrators
can enable branch caching to allow computers to retrieve documents and
other types of files from a local cache rather than retrieving files
from servers over the network.
Branch caching works with files transferred using Hypertext Transfer
Protocol (HTTP) and server message block (SMB). This means that files
transferred from both intranet web servers and internal file servers are
cached. Caching can dramatically improve response times and reduce
transfer times for documents, webpages, and multimedia content.
BranchCache
uses a client-server architecture and is tightly integrated into
Windows File and Storage Services. Two versions of BranchCache are
available:
-
Branch caching
version 1 was released originally with Windows 7 and Windows Server 2008
Release 2 (and made available to Windows Vista with BITS 4.0
installed).
-
Branch caching version 2 is being released with Windows 8 and Windows Server 2012.
The two versions work in different ways and use incompatible caching
approaches. Version 1 uses a traditional caching approach. With Version
2, BranchCache takes advantage of data deduplication techniques to
optimize data transfers over the wide area network (WAN) to branch
offices. Because of this, BranchCache version 2 uses variable-size
chunking and compression to achieve greater efficiencies when
transferring files. Cached files aren’t stored as data streams and
instead are replaced with stubs that point to data blocks within a
common cache store. Chunking files ensures that compatible client
computers download only one instance of duplicate content and that
BranchCache stores only one instance of duplicate content. Chunking
files also makes it possible to transfer only the part of a file that
has changed rather than an entire file. It is also important to note
that if the shared folder is on a volume that has already been
deduplicated, BranchCache can use the already chunked files and there is
no need to reprocess the files for transfer.
Generally speaking, LAN boundaries determine how the feature works
after it is implemented. If a LAN is connected to the central office
over a network on which the round-trip network latency is more than 80
milliseconds, clients on that LAN will use the local cache when it is
available. Note also that multiple LANs connected together over a fast
network can also use a single local cache.
When you enable branch caching, the first time that a file is
accessed from an intranet website or file server over the network,
Windows transfers the file from the originating server and caches the
file locally within the remote office. When the same user or a different
user at the remote office accesses the file later, Windows looks for
the file in the local cache. If it finds the file, Windows queries the
originating server to see if the file has changed since it was cached.
If the file has not changed, Windows retrieves the file from the local
cache, eliminating the need to transfer the file over the WAN. If the
file has changed, Windows retrieves the file from the originating server
and updates the copy of the file in the cache.
With version 2, cached data is stored encrypted by default to enhance
security and hosted cache on Windows servers is maintained with
Extensible Storage Engine (ESE) database technology. Using an ESE
database allows a hosted cache server to store terabytes of data and
serve many clients efficiently. Additionally, administrators can preload
content onto hosted cache servers before the content is requested.
Preloading ensures the content is available for quick access from local
cache. If you preload content from media, such as an external drive or
DVD, you eliminate the need to transfer the content over the network.
You can configure branch caching in one of two modes:
-
Distributed cache
In this mode, the user’s desktop computer running a compatible version
of Windows hosts a distributed file cache. A server running at the
remote office is not needed because each local computer caches and sends
out files.
-
Hosted cache In
this mode, compatible file servers located in the remote office host the
local file cache. The servers cache files and send them to clients
located in the remote office.
Note
Although BranchCache
version 2 allows you to scale the caching solution across multiple
servers, BranchCache version 1 allows only one hosted cache server in a
remote office.
Obviously, there are advantages and disadvantages to both caching
modes. With the distributed cache mode, you do not need to install
servers before you can enable branch caching, but users’ desktops have
to maintain the cache and distribute files, which requires processing
power and could adversely affect performance. With the host cache mode,
you must install servers before you can enable branch caching, but once
the servers are up and running, all the processing and overhead for
maintaining the cache is handled by the servers, and this is a
significant advantage over the distributed cache mode.
Keep the following in mind:
-
Branch caching doesn’t prevent users from saving files locally—it
works with read requests, such as when a user requests a file from a
file server.
-
Branch caching works seamlessly with encryption and secure transfer technologies, such as SMB Signing and SMB Encryption.
-
By default, network files are cached in the remote office only when the round-trip network latency is more than 80 milliseconds.
You install and configure BranchCache by doing the following:
-
Install a BranchCache-enabled file server by adding the BranchCache For Network Files role service to the file server.
-
Install a BranchCache-enabled content server (such as a web server or
BITS-based applications server) by adding the BranchCache feature to
the server.
-
Install a hosted cache server by adding the BranchCache feature to the server in the branch office.
-
Install a BranchCache-enabled client by enabling BranchCache and a
BranchCache mode (either distributed or hosted) on the client.
You can enable and configure branch caching by completing the following steps:
-
Open a Group Policy Object for editing in the appropriate Group
Policy editor. The related Administrative Templates policies for
Computer Configuration are located in Network\BranchCache.
-
Double-tap or double-click Turn On BranchCache. In the Properties dialog box, select Enabled, and then tap or click OK.
-
Do one of the following:
-
To enable distributed branch caching, double-tap or double-click Set
BranchCache Distributed Cache Mode. In the Properties dialog box, select
Enabled, and then tap or click OK.
-
To enable hosted branch caching to support BranchCache version 1
clients, double-tap or double-click Set BranchCache Hosted Cache Mode.
In the Properties dialog box, select Enabled, type the host name of the
BranchCache version 1 caching server, and then tap or click OK.
-
To enable hosted branch caching to support BranchCache version 2
clients, double-tap or double-click Configure Hosted Cache Servers. In
the Properties dialog box, select Enabled and then select Show. Use the
Show Contents dialog box to enter the fully qualified host name or IP
address of each version 2 caching server for the office location to
which the GPO will be applied. Tap or click OK twice.
Note
If you enable the Configure Hosted Cache Server policy, Windows 8
clients will ignore the settings of the Set BranchCache Hosted Cache
Mode policy.
Note
REAL WORLD In a mixed
environment, the different caching approaches of version 1 and version 2
of BranchCache can result in caching inefficiencies and compatibility
problems. If you want Windows 8 clients to use version 1 rather than
version 2, you can do this by enabling the Configure Client BranchCache
Version Support policy and setting the related version option to:
Windows Vista With BITS 4.0 Installed, Windows 7, or Windows Server 2008
R2.
-
If you want to specify the network latency required to trigger
caching, double-tap or double-click Configure BranchCache For Network
Files. In the Properties dialog box, select Enabled. Enter the
round-trip network latency above which network files must be cached.
This value is specified in milliseconds. If you enter 0, files will
always be cached.
-
If you enabled hosted branch caching, double-tap or double-click Set
Percentage Of Disk Space Usage For Client Computer Cache. In the
Properties dialog box, select Enabled. Enter the percentage of total
disk space that client computers should dedicate to BranchCache, and
then tap or click OK. By default, the maximum cache size is 5 percent of
the total disk space.
With BranchCache version 2, it is also possible for compatible
clients to search Active Directory for hosted cache servers associated
with their current Active Directory site and automatically configure
themselves for hosted cache mode if applicable. To do this, use the
Enable Automatic Hosted Cache Discovery By Service Connection Point
policy.