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.