A. BranchCache is a technology available in Windows Server 2008 R2 and Windows 7 that lets data downloaded from a remote location be stored at a branch office for distribution to other computers at the branch, saving you from having multiple machines at one location downloading the same data multiple times over slow, high latency links.

BranchCache has two modes:

  • Distributed - Each Windows 7 client maintains its own cache of data. Other clients request the data by sending broadcasts over the local subnet.
  • Hosted - A server in the branch is used as a central store for all data cached with BranchCache technology. When clients download data from a remote site, they check if it's already in the hosted cache. If not, the client offers the content to the hosted cache server. When a client wants to check the cache, it makes a direct request to the hosted cache server instead of a broadcast.

If you have a server at a location, use hosted mode. The BranchCache role can exist with other loads on a server. It has minimal CPU and memory overhead and tends to be disk bound (i.e., high disk I/O), so consider your disk layout when implementing it. If you don't have a server at a location and can't add one, use distributed mode. Microsoft has done tests with up to 100 clients using distributed modeā€”if you have more than this number of clients at a location, you should definitely consider adding a server so hosted mode can be used.