What is BranchCache hosted cache client?

A. Many organizations have distributed environments, with users at remote locations connected via fairly slow, high latency links. It's often a challenge for users at these locations to access data at the hub locations, with end users experiencing slow access. BranchCache aims to improve this experience by allowing data downloaded by one client at a remote location to be accessible to all clients in that location in one of two ways.

  • Hosted Cache—With hosted cache, one server at each location has the BranchCache feature installed and enabled. This server will cache data on behalf of the entire remote site. All clients query this server to see if the server has a copy of the required data. When the data isn't available on the server, the client will download directly from the source server and then offer the data to the BranchCache local server to see if it wants to cache it.
  • Distributed Cache—With distributed cache, there's no dedicated server to store the data. Each machine in the location has its own local cache for data it downloads. When a client wants to download data from the source server, it sends out a broadcast on the local subnet to see if any machine has the data cached. If any local machine has the data, it will send it to the requesting machine.

In both modes, the source server is still contacted to obtain hash values for the data that's requested. It is through the hash values that clients can request data from its peers or the caching server. Because the hash identifies the data based on content, the use of the hash stops clients from obtaining outdated cached data from the BranchCache. If the data changes on the source, a new hash is generated.

Note that only data that has a hash value can be cached using BranchCache. Currently, only Windows 7 and Windows Server 2008 R2 support BranchCache.

Related Reading:


What is BranchCache hosted cache client?

Check out hundreds more useful Q&As like this in John Savill's FAQ for Windows. Also, watch instructional videos made by John at ITTV.net.

After the client receives metadata for cached content from the storage system, the method the client uses to retrieve cached content depends on whether Distributed Cache mode or Hosted Cache mode is configured at the branch office.

If content is not yet cached at the branch office, the storage system does the following:

  1. Authenticates and authorizes the client.
  2. Computes hashes for the requested content.
  3. Sends the content and metadata to the client.

    The client then caches the data locally and makes it available to other peers.

  4. If another client requests the same content from the storage system, the storage system does the following:
    1. Authenticates and authorizes the client.
    2. Determines whether the hashes for the requested content are still valid.
    3. If the hashes are still valid, sends metadata to the second client.

After the second client receives the metadata, it does the following:

  1. Using the information from the metadata, the second client sends out a multicast message on the local network requesting information about the location of the cached data.
  2. The client with the cached data responds, encrypts the requested content, and sends it to the second client.
  3. The second client decrypts the data using information sent in the metadata from the storage system, and verifies that the received data is valid and has not been modified.

If content is not yet cached at the branch office, the storage system does the following:

  1. Authenticates and authorizes the client.
  2. Computes hashes for the requested content.
  3. Sends the content and metadata to the client.

    The client does not cache this content locally. Participating branch office clients are configured with the fully qualified domain name of the hosted cache server. The client uses this information to contact the caching server and offers the content identifiers to the caching server. The caching server uses these identifiers to determine that this data is not yet cached and then retrieves the offered content blocks directly from the peer that offered them.

  4. If another client requests the same content from the storage system, the storage system does the following:
    1. Authenticates and authorizes the client.
    2. Determines whether the hashes for the requested content are still valid.
    3. If the hashes are still valid, sends metadata to the second client.

After the second client receives the metadata, it does the following:

  1. The second client is configured with the address of the hosted cache server and queries that server directly for the block ranges of the requested segments.
  2. The hosted cache server encrypts the data and returns it to the second client.
  3. The second client decrypts the data using information sent in the metadata from the storage system, and verifies that the received data is valid and has not been modified.

Updated: 04/26/2017 by Computer Hope

What is BranchCache hosted cache client?

Microsoft introduced BranchCache as a new feature in Windows 7 and Windows Server 2008 R2. BranchCache allows computers at a local branch office to cache data from a file or web server on a WAN (wide area network). The data can be cached either on the client computers, in distributed cache mode, or on a local server, in hosted cache mode. By caching data locally, there is a reduction in WAN traffic and applications often respond faster due to using local files instead of retrieving them over the WAN.

Microsoft provides several guides for setting up the BranchCache on their computers and servers, including a deployment guide, security guide, migration guide, and a design guide.

  • Network and network card help and support.

Cache, Network terms

What is BranchCache hosted cache client?
Cache on PCB

Organizations across the globe are growing in scale and branching out to serve more people in different geographical areas. Due to this, a need has come up to optimize the request-response cycles in the Wide Area Network (WAN). BranchCache can help with that!

Microsoft’s BranchCache is one of these enabling technologies meant to optimize organizational bandwidth utilization. In this article, you’ll learn more about BranchCache and its importance. I’ll also talk about its different modes of operation, and show you an installation and configuration guide later on in the article. Finally, I’ll discuss its association with the cloud.

For now, let’s start with what BranchCache actually is in the first place!

What Is BranchCache?

Microsoft’s BranchCache is a technology that enables remote or local branch offices to cache data or information from central data sources. This allows you to distribute the load and network traffic across your organization’s network

BranchCache also helps in optimizing the WAN as it reduces hotspots surrounding the central data stores. It also helps in avoiding the need of dealing with repeated or duplicated requests to the central servers or principal data centers. After all, these duplicate requests can quickly eat up valuable bandwidth. BranchCache caches portions of data from central data stores into the remote servers or endpoints of the branch offices. In turn, this enables faster data access for the users from these remote sites. 

Now that you understand what BranchCache is, let’s learn more about its importance and why you need it.

Why Do You Need BranchCache?

When remote employees try to access corporate data, their productivity gets affected due to network bandwidth limitations and delays in the application or server response times. BranchCache can help you in this regard.

BranchCache helps you improve your bandwidth utilization while reducing the latency and increasing the responsiveness of applications and servers. It facilitates quick access to the file systems stored in a central location by caching data in remote branch offices located at a distance. 

It also enables a WAN to behave and function like a LAN. This is because you can process requests locally without having to hit the central servers or data centers for every request.

What is BranchCache hosted cache client?
LAN and WAN.

​​

When someone requests a file from a branch office for the first time, the connection gets redirected to the central data store or server which then serves the request. However, with BranchCache enabled in the background, this request gets cached. In turn, the branch office receives a copy of the accessed file.

In subsequent requests, BranchCache checks the access rights and permissions of the user accessing the resource, ensures that the accessed file/data is still valid, and processes the requests. These requests are then processed locally, resulting in a much faster request-response cycle with lower latency and efficient bandwidth utilization.

Let’s now look at the different modes in which BranchCache operates.

BranchCache’s Modes of Operation

You can set up and operate BranchCache in two different modes to better suit your branch office requirements. Choosing a mode depends on various factors such as your infrastructure capabilities, use cases, the clientele, and the mode of operation. Below is a detailed explanation of each of these modes.

Distributed Cache Mode

The distributed cache mode allows you to distribute the content cache at a branch or a remote office among different client systems. In this mode, every client system hosts and maintains its own cache data. Whenever a new system joins the branch, it can request the data by sending a broadcast over the local branch network. 

Hosted Cache Mode

The hosted cache mode allows you to leverage the server systems in your branch office by hosting the content cache of the whole branch in them. If a new client joins the branch office, every request made gets redirected to the local server hosting the content cache. 

What is BranchCache hosted cache client?
BranchCache Modes.

It’s important to note that you can only choose one of the two BranchCache modes per location. This means that if you have multiple branch offices or sites, you can deploy either the distributed cache mode or the hosted cache mode in each of these sites. You can also choose to deploy two modes in two different locations, allowing you to choose the mode depending on the available resources and requirements at each of your branches. 

Next, let’s look at how you can install and enable BranchCache in your Windows environment.

How to Install BranchCache

The Server Manager in Windows Server allows you to install either the BranchCache feature or BranchCache for Network Files role services depending on the system functionality and the location. For instance, you can install the BranchCache feature in the content servers (web and application servers) located in your main office or cloud data center. On the other hand, you can install the BranchCache for Network Files role services for a file server located in the main office or cloud data center. Alternatively, you can choose to install the BranchCache feature using its hosted cache server mode for the cache servers in the branch office. 

You have many ways of implementing BranchCache, so choose the one that best suits your needs.

That said, here’s a step-by-step guide on installing BranchCache:

  1. Open Server Manager to install the role service or the feature
  2. Click on Manage in the Server Manager Window, and select Add Roles and Features to open the installation wizard.
What is BranchCache hosted cache client?
Server Manager in Microsoft BranchCache.
  1. Select the installation type and choose either a Role-based or Feature-based installation. 
  1. Proceed with the installation steps as prompted on the installation wizard.

After the installation procedure, you’re going to want to know how to configure BranchCache. The next section will tell you how to do just that.

How to Configure BranchCache

To configure BranchCache, you can use either a Configuration Manager or WSUS to configure clients as well as servers. I’ll first talk about how you can configure clients.

Configuring Clients in BranchCache

You need to configure each client that has BranchCache installed. Typically, Microsoft allows you to make group policies to set up configurations for multiple clients together. Follow the steps below to enable BranchCache on client computers:

  1. Turn on BranchCache in the client system.
  2. Choose and enable either a distributed cache mode or hosted cache mode depending on the branch and client setup.
  3. Configure the client system’s firewalls to enable the BranchCache protocols. 
  4. Create  a Group Policy Object (GPO)  now that you’ve individually enabled the client machines for BranchCache. This lets you configure common rules for multiple clients.

Next up, I’ll briefly talk about how you can configure servers in BranchCache.

Configuring Servers in BranchCache

You have three different types of content servers on which you can deploy and install BranchCache. This includes a web-based content server, BITS (Background Intelligence Transfer Service) based application servers, and file server-based content servers. You can configure all three of these servers using WSUS and a configuration manager. If you want to find out the different requirements and configuration options for each of these servers, you can do so here. 

Overall, BranchCache is an enabling technology that helps your organization scale-out. On the other hand, cloud computing is also helping companies leverage virtual resources to help them scale. Let’s now look at how BranchCache affects the cloud.

How Does BranchCache Affect the Cloud?

Cloud computing is already revolutionizing the IT landscape with ease of setup along with reduced costs. It’s also moving large workloads away from businesses, causing strong network dependencies and latency issues

A majority of the isolated branches or remote offices use cloud technology to stay connected with the central office. They leverage cloud-based connectivity services, data access mechanisms, or even cloud-hosted virtual machines for their operations. 

Implementing BranchCache can help all these companies improve their productivity and speed due to the possibility of caching the instances from central data centers locally. 

What is BranchCache hosted cache client?
BranchCache can help if you work through the cloud!

Moreover, BranchCache neither requires any changes in the network topology of the enterprise nor needs any new set of installed hardware for its functioning. It enables the users of remote or branch offices to access resources in an efficient and performant manner through bandwidth optimization and reliable connectivity

BranchCache really is great, isn’t it? Let’s have a quick recap.

Final Words

With companies leveraging cloud technology for branching out and decentralizing the data centers and workloads, network bandwidth consumption, latency, and usability of users are taking a hit. Technologies such as BranchCache can not only reduce network consumption but can help you configure your branch offices in different modes to meet your different needs. In this article, I’ve explained what BranchCache is, its importance, and two different modes that you can choose for your branch or remote offices. I’ve also detailed installation and configuration guides along with BranchCache’s association with the cloud that can help it grow.

Do you have any more questions about BranchCache? Check out the FAQ and Resources sections below!

 

FAQ

What is a Group Policy Object?

A Group Policy Object is a virtual collection of multiple policies that you can use to configure one or more clients using different rules and access privileges. A Group Policy Object also serves as a centralized and easy-to-manage configuration system for devices, operating systems, applications, and users in an Active Directory Environment. 

What is a cache server?

A cache server is a dedicated network server capable of acting as a server and providing cached web pages or information to the users. Cache servers can also help speed up the request-response cycle and reduce the load on the central servers. Furthermore, they can assist in dissipating requests among themselves without needing to request information from the server. 

What are the benefits of deploying BranchCache?

BranchCache allows client computers to access content using LAN rather than relying on and using the slower WAN connections. Moreover, it helps reduce the WAN traffic and hotspots around the central systems and provides an easy and fast means of data access to the users. 

How can BranchCache reduce latency?

BranchCache helps your remote devices or branch offices serve as dedicated cache servers when a user makes a request. If these requests get processed without having to hit the primary or centralized servers located in some distant location, the overall request-response cycle gets shortened. This can result in reduced network latency.

What is a data center?

A data center is a facility that centralizes an organization’s shared IT operations and resources to act as a single source of truth. A data center typically consists of a group of computers along with other associated hardware systems grouped together to store, process, and transmit the data as needed.

Resources

TechGenix: Newsletters 

Subscribe to our newsletters for more quality content.

TechGenix: News 

Explore the latest news in the IT enterprise world.

TechGenix: Cloud Computing 

Learn more about cloud computing.

TechGenix: Article on Microsoft 365 

Explore more about Microsoft 365’s unique offerings, reviews, and more.

TechGenix: Demo on Installing and Configuring BranchCache in Hosted Mode 

Read more about how to install and configure BranchCache in Hosted Mode.