Introducing 2Pint Software OSD Toolkit

BranchCache

BranchCache is a mature WAN bandwidth optimization technology that has been included in Microsoft Operating systems since Server 2008/Windows 7. To optimize WAN bandwidth, BranchCache downloads content from the main office content servers and caches that content locally on any suitable Windows PC. The cached content can then be shared with other client computers at branch offices via Peer to Peer rather than over the WAN.

BranchCache helps improve content query response times for clients and servers in branch offices, and also helps improve network performance by reducing traffic over WAN links.

Why BranchCache for OS Deployment?

This nifty bit of technology is perfect for optimizing very large file transfers such as those that are required for machine builds! Unfortunately, while machines are being built, they are not running under a full operating system and are not, by default, able to utilize the awesome power of BranchCache. Here at 2Pint Software we believe that BranchCache (in fact ALL P2P technologies) are the most under-utilized and powerful tools available to today’s Administrators. Our mission therefore was to enable BranchCache functionality in the Operating System Deployment (OSD) environment.

The end result of these efforts is the OSD Toolkit which allows administrators to enable clients to make use of the P2P sharing capabilities of BranchCache during the build process. This in turn drastically reduces deployment times and can save you Gigabytes of expensive WAN network traffic.

Overview

The OSD Toolkit fully integrates with your existing Configuration Manager task sequences (not just OS Deployment). All regular options in Configuration Manager are available for you but with the benefit that all content can be downloaded using BITS together with BranchCache. This kit has been developed to streamline deployments from Microsoft System Center Configuration Manager Current Branch

Through the magic of BranchCache, the OSD Toolkit allows you to deploy computers using standard Configuration Manager Task Sequences not only at your well connected Main Office sites but also at remote Branch Offices across slow WAN links. This allows you to use the same process for building every computer within the organization, regardless of placement, without any need to start moving hardware around. This greatly lowers the cost for break/fix rebuild and other Administrative heavy build and distribution scenarios.

By enabling BranchCache in a resource intensive process like OSD, more systems on the network can share the load, ensuring a fast and efficient deployment without hogging system resources from other computers or the network.

The OSD Toolkit enables native HTTP(s) & BITS BranchCache download support into WinPE, thus adding BranchCache support for Task Sequences. It also provides a command line 'Alternate Content Provider' (ACP) tool for downloading content using BranchCache where this would otherwise not be available.

There is no agent to install. All that is required is to enable the built-in Microsoft BranchCache function that has been a standard part of the Windows Operating Systems for nearly a decade. In the event that there is no BranchCache enabled computer already present with cached content available, the content can be downloaded from the server, retained through the process and then made available for other Peers when next required. The BranchCache for OSD kit works with both dynamic and hosted cache mode and is easy to integrate into your existing deployment method. In theory, the toolkit can work with any deployment solution out there that uses HTTP & BITS as the main delivery engine.

The OSD Toolkit package includes:

  • WinPE Generator (Services & Binaries etc) for building a WinPE boot image that includes BITS and BranchCache functionality

  • Task Sequence Command Line Tool (Enable BranchCache and then Move/Retain BranchCache Content for later use)

  • Task Sequence Download Tool (ACP) For Windows Pro and WinPE.

Getting Started

There are a few simple steps and considerations that are required before you can start using BranchCache for OSD regardless of what deployment method you are using:

  1. Generate a BranchCache enabled WinPE boot image

  2. Modify your task sequence to enable the BranchCache components in WinPE

  3. Optionally edit the task sequence to move the cache content from the WinPE environment to the new Operating System being deployed making it available for Peer to Peer sharing moving forward

  4. Optionally edit the task sequence to work with Image Downloads from a task Sequence in Windows Professional

  5. Optionally edit the task sequence to detect an existing BranchCache Cache location from within WinPE

  6. Optionally enable reporting of BranchCache data

Note: This document focuses mainly on MDT (with Configuration Manager) and Configuration Manager for deployment, but these should apply to any old deployment solution that uses WinPE for deployment and HTTP for downloads.

Note: This document does not cover the Bandwidth limitation/setting/configuration needed in order to make BranchCache and BITS work nicely together. For this see out bandwidth management solution StifleR which also works in WinPE

Last updated