Understanding Management Pack Operations

The BranchCache Management Pack supports the following management scenarios:

  • Scenario 1: Management of branch offices that use BranchCache in hosted cache mode

  • Scenario 2: Management of branch offices that use BranchCache in distributed cache mode

  • Scenario 3: Management of BranchCache nodes for branch management rollup

  • Scenario 4: Management of BranchCache-enabled Web servers

  • Scenario 5: Management of the hash generation component for file servers

The BranchCache Management Pack scenarios focus mainly on the two management views intended for the system and network administrators: branch offices using hosted cache mode and branch offices using distributed cache mode. The management scenario for the BranchCache nodes (which includes hosted cache servers, hosted cache clients, and distributed cache clients) completes the roll up toward the branch management scenarios. The node management scenarios are not intended to be the top level management views. Management scenarios targeting BranchCache-enabled content servers are also included, but with limited management capabilities because of the architectural constraints of the BranchCache components in those server stacks, and their corresponding protocol implementations in the HTTP and SMB server stacks.

Objects that the management pack discovers

The BranchCache Management Pack discovers the object types described in the following table. All object discoveries are enabled by default. For information about discovering objects, see Object Discoveries in Operations Manager 2007 in Operations Manager 2007 Help.

Category Object Type Notes

BranchCache Node

Hosted Cache

BranchCache Nodes

Hosted Cache Client

BranchCache Nodes

Distributed Cache Client

BranchCache Nodes

BranchCache-Capable IIS Server

BranchCache Nodes

BranchCache-Capable File Server

BranchCache Hierarchy

Hosted Cache Server Hierarchy

Discover the branch for the hosted cache

BranchCache Hierarchy

Hosted Cache Client Hierarchy

Discover the branch for the hosted cache client

BranchCache Hierarchy

Distributed Client Hierarchy

Discover the branch for the distributed cache client

BranchCache Hierarchy

BranchCache IIS Server Hierarchy

Discover the group for the BranchCache-enabled Web servers

BranchCache Hierarchy

BranchCache File Server Hierarchy

Discover the group for the BranchCache-enabled file servers

Classes

The following diagram shows the classes defined in this management pack.

BranchCache Management Pack Classes

How health rolls up

The following diagram shows how the health states of components roll up in this management pack.

BranchCache Health State Components

Key monitoring scenarios

Scenario 1: Management of branch offices that use BranchCache in hosted cache mode

A branch office that uses BranchCache in hosted cache mode consists of one hosted cache server and one or more hosted cache clients that are configured to use the hosted cache server. This scenario is targeted at enterprises with branch offices that use hosted cache mode. Content servers do not roll up to this management scenario.

The management view is intended to monitor the overall health of BranchCache in the branch office as a single entity, with the capability to drill down into each node within the branch office, and also to offer an aggregated report on the overall branch bandwidth saving, for example, bytes retrieved from the hosted cache server and bytes retrieved from the content servers at the central office.

Hosted cache branch view

Enterprise system administrators or operators can monitor each branch office that uses hosted cache mode as a single entity in the System Center Operations Manager Console (a hosted cache branch). For an enterprise with multiple branch offices using hosted cache mode, separate instances of the hosted cache branch management pack should be instantiated to provide the administrators clear views of the status and reports for each branch office.

For each hosted cache branch, the administrators should be able see:

  • The health of the branch office and the health of the hosted cache server.

  • The bandwidth saving of the branch office.

  • The detailed view of each monitored node, including component health and performance reports.

    Note

    The number of hosted cache clients for a hosted cache branch cannot be reliably reported because the hosted cache server may not be able to track the total number of hosted cache clients in a branch office, and System Center Operations Manager must monitor all clients, which is often not the case in Operations Manager Agent deployment scenarios.

Hosted cache branch discovery

The hosted cache branch management pack should discover whether a branch office that uses hosted cache mode exists and is operational. There are two approaches to facilitate discovery:

  • Bottom-up discovery, where the hosted cache server and the associated hosted cache clients are discovered

  • Top-down discovery using Active Directory® and Group Policy lookup to find the site and all the hosts specified in a branch office

Because the hosted cache server unambiguously differentiates a branch office using hosted cache mode, the BranchCache Management Pack adopts bottom up discovery as described below.

The hosted cache branch management pack can be instantiated when either of the following conditions is satisfied in a bottom-up discovery scenario:

  1. When a hosted cache server is discovered

  2. When at least one hosted cache client is discovered with a non-NULL hosted cache server specified

Once a branch office using hosted cache mode is discovered and instantiated, subsequent discoveries of hosted cache clients with the same hosted cache server (or the hosted cache server itself, if it has not yet been discovered) are added (or reference counted) into the same instance of the hosted cache branch.

Hosted cache branch health monitoring

The health of a hosted cache branch rolls up the health of the hosted cache server and the health of a configurable threshold or percentage of all hosted cache clients within the hosted cache branch.

If the hosted cache server is in critical condition or is otherwise not healthy, it affects the operations and efficiency of the entire branch office because every hosted cache client will need to request data from or offer data to the hosted cache server during normal BranchCache transactions. Therefore, the health of the hosted cache server is crucial to the health of the entire branch office. The hosted cache server load is one important factor of branch office health. An overloaded hosted cache server can cause a decrease in bandwidth saving and may delay an application’s retrieving content. This can be measured by monitoring the load on the hosted cache server through existing instrumentation or tracking the number of active hosted cache clients in a branch office.

The group of hosted cache clients presents a different perspective in terms of the overall health of the branch office. An individual client has little impact on the operations of the hosted cache server and other hosted cache clients, but if a majority of the clients are not healthy or operational, bandwidth saving suffers because there are not enough clients to offer content to the hosted cache server for subsequent retrieval. One possible health monitoring rule is to roll up the client health based on a configurable threshold. For example, if more than 60% of the clients are healthy, the roll up to the hosted cache branch health should also be healthy. Only when the number of unhealthy clients exceeds 40% of the total clients should the hosted cache branch health status be changed to warning. This threshold can either be a percentage or a number of clients.

Reporting hosted cache branch bandwidth saving

The key success metric of a BranchCache deployment is the bandwidth saving achieved by retrieving content locally from within the branch office rather than from content servers in the central office over WAN links. The main focus of branch office performance reporting is to collect the total byte counts on content portions retrieved from the hosted cache server (“bytes from cache”) and content retrieved from central office content servers (“bytes from server”). This can be achieved in two ways in a hosted cache branch scenario:

  • Collect the “bytes from cache” and “bytes from server” from the hosted cache server, which is instrumented with Performance Monitor counters for these statistics

  • Collect the “bytes from cache” and “bytes from server” from each hosted cache client and aggregate these counters at the System Center Operations Manager back-end report data warehouse

“Bytes from cache” is most accurate when collected from the hosted cache server because of the possibility that not all hosted cache clients in a branch are discovered and monitored. “Bytes from server” is more accurate when aggregated from all hosted cache clients. This is because of the scenario where multiple clients retrieve the same data blocks from the content server and make an offer to the hosted cache server. Only the first offer for each block is accepted and counted on the hosted cache server. Another possible scenario is when the blocks offered from clients are rejected due to insufficient disk space or other reasons.

In addition to the total byte counts, BranchCache node instrumentation also provides counters of each supported protocol using BranchCache: BITS, HTTP, SMB, and Other. These can provide insight into BranchCache usage and bandwidth saving for every application protocol in a branch office. The protocol-specific byte counts can be collected in the same way as described above.

Scenario 2: Management of branch offices that use BranchCache in distributed cache mode

A branch office that uses BranchCache in distributed cache mode consists of a set of distributed cache clients within the same branch. This scenario is targeted at enterprises with branch offices that use distributed cache mode. The management scenario does not include any hosted cache server or content server.

The management view is intended to monitor the overall health of BranchCache in the branch office as a single entity, with the capability to drill down into each node within the branch, and also to offer an aggregated report on the overall branch bandwidth saving, similar to the hosted cache branch scenario.

From the management perspective, there are two main differences between a branch office using distributed cache mode and one using hosted cache mode. In a distributed cache scenario there is no hosted cache server and the subnet-scope between distributed cache clients in a branch office is shared—that is, a client can only discover and retrieve content from clients on the same subnet.

Although the management goals are essentially the same as they are for a branch office using hosted cache mode, the differences described in this section make those goals more difficult to achieve for a branch office that uses distributed cache mode.

Distributed cache branch view

Enterprise system administrators or operators can monitor each branch office that uses distributed cache mode as a single entity in the System Center Operations Manager Console (a distributed cache branch). For an enterprise with multiple branch offices using hosted cache mode, separate instances of the distributed cache branch management pack should be instantiated to provide the administrators clear views of the status and reports for each branch office.

Distributed cache branch discovery

The distributed cache branch management pack should discover whether a branch office that uses distributed cache mode exists and is operational. However, unlike the hosted cache branch scenario, bottom-up discovery may not work for branch offices that use distributed cache mode. For each distributed cache client discovered, the logical definition of a branch can be the subnet prefix for all the clients in that subnet. This method may yield unpredictable results because each client can have multiple IP addresses configured or can have common prefixes, such as IPv6 Link Local prefixes or IPv4 RFC 1989 private address prefixes.

This leaves the top-down branch discovery using Active Directory and Group Policy lookup as the only viable solution. The current approach is to aggregate the distributed cache clients based on their Active Directory site attribute. Clients of the same Active Directory site are grouped under the same distributed cache branch in the System Center Operations Manager Console. The potential issue with this approach is that the Active Directory site attribute can contain more than one IP subnet. As a result, the branch population and saving may not accurately reflect the results from each subnet. Also. if there is more than one branch office under the same Active Directory site, the distributed cache branch will not map to the physical branch locations. Once a distributed cache branch is discovered and instantiated, subsequent discoveries of clients of the same branch are added into the same instance.

Distributed cache branch health monitoring

Because a branch office that uses distributed cache mode lacks a central component such as the hosted cache server, the health of a distributed cache branch may not offer insight as useful as a hosted cache branch’s health. Often, in this type of distributed and collaborative setting, each client individually does not have a significant impact toward the overall branch health in terms of operations of other clients. The only likely indication is when the number of healthy clients drops below a configurable threshold, such as 15% of all clients or a count of five clients. In this case, the administrator may consider changing the health of the distributed cache branch from healthy to warning. But this can be misleading, especially for branch offices with a small number of clients.

Reporting distributed cache branch bandwidth saving

The reporting scenario is the same as for the hosted cache branch scenario, except that the counters must be collected from each client and aggregated at the System Center Operations Manager back-end reporting data warehouse because there is no central component (such as the hosted cache server) in the branch office.

Scenario 3: Management of BranchCache nodes for branch management rollup

For sites or branch offices that have System Center Operations Manager infrastructure set up, the Branch Cache Management Pack enables system administrators to monitor and report the status of BranchCache client components, including the general component health, individual and aggregated bandwidth saving within the branch office deployment, client bandwidth utilization for serving other peers in the branch office, and detection of whether the hosted cache server can be reached. Node management covers distributed cache client nodes, hosted cache client nodes, and hosted cache server nodes.

Node discovery

Nodes are discovered by verifying registry keys on each system. The list of registry keys and values is specified in the requirement section.

Node health monitoring

This is the generic component health for the BranchCache components in the client role, including both distributed cache clients and hosted cache clients. The health states are further categorized into availability, configuration, performance, and security aspects. Due to the integral nature of the implementation, subdividing BranchCache services into smaller components (for example, cache manager, discovery manager, and so on) does not provide any further clarity for diagnosing and resolving potential problems. Instead, the BranchCache service is treated as a monolithic component from the monitoring perspective.

With health state monitoring, system administrators can detect problems related to availability, configuration, performance, and security aspects, and then use the knowledge encoded in the monitors to further diagnose or resolve the issues by restarting services, configuring firewalls, or re-allocating hard drive spaces, for example.

Reporting on node bandwidth saving

After BranchCache is deployed in a branch office, system administrators can use System Center Operations Manager to poll and monitor the bandwidth saving for each node. This information is aggregated into branch office or enterprise statistics. The bandwidth consumption information provides several useful insights into the effectiveness of BranchCache. It also provides insight into bandwidth usage patterns and interaction between the clients, content servers, and hosted cache servers. The report also provides bandwidth saving and consumption information for each supported protocol (BITS, SMB, HTTP) as well as the node total for a given period of time.

Scenario 4: Management of BranchCache-enabled Web servers

The server management scenario targets BranchCache-enabled content servers, as opposed to the hosted cache servers in the hosted cache branch scenario. For Windows Server 2008 R2, there are two supported BranchCache-enabled content server types: Web servers and file servers. This section describes the scenario for managing a BranchCache-enabled Web server.

BranchCache-enabled Web server view

The management view presents a top level group of BranchCache-enabled Web servers. Each server is monitored individually within the group. The management console provides views of the following:

  1. Each server and its health status

  2. Performance counters of each server

  3. Report on bandwidth saving for each server and also for the entire enterprise (aggregated from all servers)

BranchCache-enabled Web server discovery

A BranchCache-enabled Web server is discovered by checking that the Web Server (IIS) role and the BranchCache feature are installed on the server. Once a Web server is discovered, the BranchCache-enabled Web Server (IIS) group is instantiated on the System Center Operations Manager Remote Management Server. All subsequently discovered BranchCache-enabled Web servers are added as instances of the group.

BranchCache-enabled Web server health monitoring

Each BranchCache-enabled Web server is monitored individually. There is no health roll up as there is usually no logical relationship among servers.

BranchCache-enabled Web server performance report

The BranchCache Management Pack offers a performance counter view to monitor the performance counters of each BranchCache-enabled Web server. The management pack also provides a report to calculate bandwidth saving from the performance counters collection. The report shows the total bandwidth saving of the entire enterprise, aggregated from all BranchCache-enabled Web servers, as well as the saving for each server.

Scenario 5: Management of the BranchCache hash generation component for file servers

This section describes the scenario for managing BranchCache hash generation components for file servers.

Management view for BranchCache hash generation

The management view presents a top level group of the hash generation components for BranchCache-enabled file servers. Each component is monitored individually within the group. The management console provides views of each component and its health status

BranchCache hash generation component discovery

A BranchCache hash generation component is discovered by checking the registry keys and values for the hash generation component. Once a hash generation component is discovered, the BranchCache hash generation component group is instantiated on the System Center Operations Manager Remote Management Server. All subsequently discovered components are added as instances of the group.

BranchCache hash generation component health monitoring

Each BranchCache hash generation component is monitored individually. There is no health rollup as there is usually no logical relationship among file servers.

BranchCache hash generation component performance reporting

Because of the architectural and protocol constraints of the file server and the hash generation component, the management pack cannot collect and compute the bandwidth saving information for each server.