- Windows 10
Looking for consumer information? See Windows Update: FAQ
Delivery Optimization is a self-organizing distributed cache solution for businesses looking to reduce bandwidth consumption for operating system updates, operating system upgrades, and applications by allowing clients to download those elements from alternate sources (such as other peers on the network) in addition to the traditional Internet-based Windows Update servers. You can use Delivery Optimization in conjunction with stand-alone Windows Update, Windows Server Update Services (WSUS), and Windows Update for Business. This functionality is similar to BranchCache in other systems, such as System Center Configuration Manager.
Delivery Optimization is a cloud managed solution. Having access to the Delivery Optimization cloud services, is a requirement for it to be enabled. This mean that in order to utilize the peer-to-peer functionality of Delivery Optimization, machines need to have access to the internet.
For more details, see Download mode.
WSUS can also use BranchCache for content sharing and caching. If Delivery Optimization is enabled on devices that use BranchCache, Delivery Optimization will be used instead.
By default in Windows 10 Enterprise and Education, Delivery Optimization allows peer-to-peer sharing on the organization's own network only, but you can configure it differently in Group Policy and mobile device management (MDM) solutions such as Microsoft Intune.
Delivery Optimization options
You can use Group Policy or an MDM solution like Intune to configure Delivery Optimization.
You will find the Delivery Optimization settings in Group Policy under Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization. In MDM, the same settings are under .Vendor/MSFT/Policy/Config/DeliveryOptimization/.
Several Delivery Optimization features are configurable:
|Group Policy setting||MDM setting||Supported from version|
|Minimum RAM (inclusive) allowed to use Peer Caching||DOMinRAMAllowedToPeer||1703|
|Minimum disk size allowed to use Peer Caching||DOMinDiskSizeAllowedToPeer||1703|
|Max Cache Age||DOMaxCacheAge||1511|
|Max Cache Size||DOMaxCacheSize||1511|
|Absolute Max Cache Size||DOAbsoluteMaxCacheSize||1607|
|Modify Cache Drive||DOModifyCacheDrive||1607|
|Minimum Peer Caching Content File Size||DOMinFileSizeToCache||1703|
|Maximum Download Bandwidth||DOMaxDownloadBandwidth||1607|
|Percentage of Maximum Download Bandwidth||DOPercentageMaxDownloadBandwidth||1607|
|Max Upload Bandwidth||DOMaxUploadBandwidth||1607|
|Monthly Upload Data Cap||DOMonthlyUploadDataCap||1607|
|Minimum Background QoS||DOMinBackgroundQoS||1607|
|Enable Peer Caching while the device connects via VPN||DOAllowVPNPeerCaching||1703|
|Allow uploads while the device is on battery while under set Battery level||DOMinBatteryPercentageAllowedToUpload||1703|
When configuring Delivery Optimization on Windows 10 devices, the first and most important thing to configure, would be Download mode. Download mode dictates how Delivery Optimization downloads Windows updates.
While every other feature setting is optional, they offer enhanced control of the Delivery Optimization behavior.
Delivery Optimization uses locally cached updates. In cases where devices have ample local storage and you would like to cache more content, or if you have limited storage and would like to cache less, use the settings below to adjust the Delivery Optimization cache to suit your scenario:
- Max Cache Size and Absolute Max Cache Size control the amount of space the Delivery Optimization cache can use.
- Max Cache Age controls the retention period for each update in the cache.
- The system drive is the default location for the Delivery Optimization cache. Modify Cache Drive allows administrators to change that location.
It is possible to configure preferred cache devices. For more information, see Set “preferred” cache devices for Delivery Optimization.
All cached files have to be above a set minimum size. This size is automatically set by the Delivery Optimization cloud services. Administrators may choose to change it, which will result in increased performance, when local storage is sufficient and the network isn't strained or congested. Minimum Peer Caching Content File Size determines the minimum size of files to be cached.
There are additional options available to robustly control the impact Delivery Optimization has on your network:
- Maximum Download Bandwidth and Percentage of Maximum Download Bandwidth controls the download bandwidth used by Delivery Optimization.
- Max Upload Bandwidth controls the Delivery Optimization upload bandwidth usage.
- Monthly Upload Data Cap controls the amount of data a client can upload to peers per month.
- Minimum Background QoS lets administrators guarantee a minimum download speed for Windows updates. This is achieved by adjusting the amount of data downloaded directly from Windows Update or WSUS servers, rather than other peers in the network.
Various controls allow administrators to further customize scenarios where Delivery Optimization will be used:
- Minimum RAM (inclusive) allowed to use Peer Caching sets the minimum RAM required for peer caching to be enabled.
- Minimum disk size allowed to use Peer Caching sets the minimum disk size required for peer caching to be enabled.
- Enable Peer Caching while the device connects via VPN allows clients connected through VPN to use peer caching.
- Allow uploads while the device is on battery while under set Battery level controls the minimum battery level required for uploads to occur. Enabling this policy is required to allow upload while on battery.
How Microsoft uses Delivery Optimization
In Microsoft, to help ensure that ongoing deployments weren’t affecting our network and taking away bandwidth for other services, Microsoft IT used a couple of different bandwidth management strategies. Delivery Optimization, peer-to-peer caching enabled through Group Policy, was piloted and then deployed to all managed devices using Group Policy. Based on recommendations from the Delivery Optimization team, we used the "group" configuration to limit sharing of content to only the devices that are members of the same Active Directory domain. The content is cached for 24 hours. More than 76 percent of content came from peer devices versus the Internet.
For more details, check out the Adopting Windows as a Service at Microsoft technical case study.
Provided below is a detailed description of every configurable feature setting. Use these details when configuring any of the above settings.
Download mode dictates which download sources clients are allowed to use when downloading Windows updates in addition to Windows Update servers. The following table shows the available download mode options and what they do.
|Download mode option||Functionality when set|
|HTTP Only (0)||This setting disables peer-to-peer caching but still allows Delivery Optimization to download content from Windows Update servers or WSUS servers. This mode uses additional metadata provided by the Delivery Optimization cloud services for a peerless reliable and efficient download experience.|
|LAN (1 – Default)||This default operating mode for Delivery Optimization enables peer sharing on the same network.|
|Group (2)||When group mode is set, the group is automatically selected based on the device’s Active Directory Domain Services (AD DS) site (Windows 10, version 1607) or the domain the device is authenticated to (Windows 10, version 1511). In group mode, peering occurs across internal subnets, between devices that belong to the same group, including devices in remote offices. You can use the GroupID option to create your own custom group independently of domains and AD DS sites. Group download mode is the recommended option for most organizations looking to achieve the best bandwidth optimization with Delivery Optimization.|
|Internet (3)||Enable Internet peer sources for Delivery Optimization.|
|Simple (99)||Simple mode disables the use of Delivery Optimization cloud services completely (for offline environments). Delivery Optimization switches to this mode automatically when the Delivery Optimization cloud services are unavailable, unreachable or when the content file size is less than 10 MB. In this mode, Delivery Optimization provides a reliable download experience, with no peer-to-peer caching.|
|Bypass (100)||Bypass Delivery Optimization and use BITS, instead. For example, select this mode so that clients can use BranchCache.|
Group mode is a best effort optimization and should not be relied on for an authentication of identity of devices participating in the group.
By default, peer sharing on clients using the group download mode is limited to the same domain in Windows 10, version 1511, and the same domain and AD DS site in Windows 10, version 1607. By using the Group ID setting, you can optionally create a custom group that contains devices that should participate in Delivery Optimization but do not fall within those domain or AD DS site boundaries, including devices in another domain. Using Group ID, you can further restrict the default group (for example create a sub-group representing an office building), or extend the group beyond the domain, allowing devices in multiple domains in your organization to peer. This setting requires the custom group to be specified as a GUID on each device that participates in the custom group.
To generate a GUID using Powershell, use
This configuration is optional and not required for most implementations of Delivery Optimization.
Minimum RAM (inclusive) allowed to use Peer Caching
This setting specifies the minimum RAM size in GB required to use Peer Caching. For example if the minimum set is 1 GB, then devices with 1 GB or higher available RAM will be allowed to use Peer caching. The recommended values are 1 to 4 GB, and the default value is 4 GB.
Minimum disk size allowed to use Peer Caching
This setting specifies the required minimum disk size (capacity in GB) for the device to use Peer Caching. The recommended values are 64 to 256 GB, and the default value is 32 GB.
If the Modify Cache Drive policy is set, the disk size check will apply to the new working directory specified by this policy.
Max Cache Age
In environments configured for Delivery Optimization, you may want to set an expiration on cached updates and Windows application installation files. If so, this setting defines the maximum number of seconds each file can be held in the Delivery Optimization cache on each Windows 10 client computer. The default Max Cache Age value is 259,200 seconds (3 days). Alternatively, organizations may choose to set this value to “0” which means “unlimited” to avoid peers re-downloading content. When “Unlimited” value is set, Delivery Optimization will hold the files in the cache longer and will clean up the cache as needed (for example when the cache size exceeded the maximum space allowed).
Max Cache Size
This setting limits the maximum amount of space the Delivery Optimization cache can use as a percentage of the available drive space, from 1 to 100. For example, if you set this value to 10 on a Windows 10 client computer that has 100 GB of available drive space, then Delivery Optimization will use up to 10 GB of that space. Delivery Optimization will constantly assess the available drive space and automatically clear the cache to keep the maximum cache size under the set percentage. The default value for this setting is 20.
Absolute Max Cache Size
This setting specifies the maximum number of gigabytes the Delivery Optimization cache can use. This is different from the Max Cache Size setting, which is a percentage of available disk space. Also, if you configure this policy, it will override the Max Cache Size setting. The default value for this setting is 10 GB.
Minimum Peer Caching Content File Size
This setting specifies the minimum content file size in MB enabled to use Peer Caching. The recommended values are from 1 to 100000 MB.
Maximum Download Bandwidth
This setting specifies the maximum download bandwidth that can be used across all concurrent Delivery Optimization downloads in kilobytes per second (KB/s). A default value of 0 means that Delivery Optimization will dynamically adjust and optimize the maximum bandwidth used.
Percentage of Maximum Download Bandwidth
This setting specifies the maximum download bandwidth that Delivery Optimization can use across all concurrent download activities as a percentage of available download bandwidth. The default value 0 means that Delivery Optimization dynamically adjusts to use the available bandwidth for downloads.
Max Upload Bandwidth
This setting allows you to limit the amount of upload bandwidth individual clients can use for Delivery Optimization. Consider this setting when clients are providing content to requesting peers on the network. This option is set in kilobytes per second (KB/s). The default setting is 0, or “unlimited” which means Delivery Optimization dynamically optimizes for minimal usage of upload bandwidth; however it does not cap the upload bandwidth rate at a set rate.
Minimum Background QoS
This value specifies the minimum download speed guarantee that a client attempts to achieve and will fulfill by downloading more kilobytes from Windows Update servers or WSUS. Simply put, the lower this value is, the more content will be sourced using peers on the network rather than Windows Update. The higher this value, the more content is received from Windows Update servers or WSUS, versus peers on the local network.
Modify Cache Drive
This setting allows for an alternate Delivery Optimization cache location on the clients. By default, the cache is stored on the operating system drive through the %SYSTEMDRIVE% environment variable. You can set the value to an environment variable (e.g., %SYSTEMDRIVE%), a drive letter (e.g., D:), or a folder path (e.g., D:\DOCache).
Monthly Upload Data Cap
This setting specifies the total amount of data in gigabytes that a Delivery Optimization client can upload to Internet peers per month. A value of 0 means that an unlimited amount of data can be uploaded. The default value for this setting is 20 GB.
Enable Peer Caching while the device connects via VPN
This setting determines whether a device will be allowed to participate in Peer Caching while connected to VPN. Specify "true" to allow the device to participate in Peer Caching while connected via VPN to the domain network. This means the device can download from or upload to other domain network devices, either on VPN or on the corporate domain network.
Allow uploads while the device is on battery while under set Battery level
This setting specifies battery levels at which a device will be allowed to upload data. Specify any value between 1 and 100 (in percentage) to allow the device to upload data to LAN and Group peers while on DC power (Battery). Uploads will automatically pause when the battery level drops below the set minimum battery level. The recommended value to set if you allow uploads on battery is 40 (for 40%). The device can download from peers while on battery regardless of this policy.
By default, devices will not upload while on battery. To enable uploads while on battery, you need to enable this policy and set the battery value under which uploads pause.
Set “preferred” cache devices for Delivery Optimization
In some cases, IT pros may have an interest in identifying specific devices that will be “preferred” as sources to other devices—for example, devices that have hard-wired connections, large drives that you can use as caches, or a high-end hardware profile. These preferred devices will act as a “master” for the update content related to that devices’s configuration (Delivery Optimization only caches content relative to the client downloading the content).
To specify which devices are preferred, you can set the Max Cache Age configuration with a value of Unlimited (0). As a result, these devices will be used more often as sources for other devices downloading the same files.
On devices that are not preferred, you can choose to set the following policy to prioritize data coming from local peers instead of the Internet:
- Set DOMinBackgroundQoS with a low value, for example
64which is the equivalent of 64 KB/s.
- Update Windows 10 in the enterprise
- Overview of Windows as a service
- Prepare servicing strategy for Windows 10 updates
- Build deployment rings for Windows 10 updates
- Assign devices to servicing branches for Windows 10 updates
- Optimize update delivery for Windows 10 updates
- Configure BranchCache for Windows 10 updates
- Deploy updates for Windows 10 Mobile Enterprise and Windows 10 IoT Mobile
- Deploy updates using Windows Update for Business
- Configure Windows Update for Business
- Integrate Windows Update for Business with management solutions
- Walkthrough: use Group Policy to configure Windows Update for Business
- Walkthrough: use Intune to configure Windows Update for Business
- Deploy Windows 10 updates using Windows Server Update Services
- Deploy Windows 10 updates using System Center Configuration Manager
- Manage device restarts after updates