Microsoft's Windows 10 operating system ships with a feature that Microsoft calls (update) Delivery Optimization.
The feature uses local network or Internet sources to deliver updates to machines running Windows 10. Basically, peer to peer assisted update delivery.
Delivery Optimization is turned on by default on all editions of Windows 10. There is however a difference between Enterprise and Education versions of windows 10, and the regular versions such as Pro or Home.
All Enterprise and Education versions are configured to only use PCs on a corporate network as peers. Consumer versions of Windows 10 on the other hand are configured to use local and Internet peers when it comes to updates.
Windows 10 Update Delivery Optimization
Clients used to provide content to peers need to meet certain requirements. Devices need to have at least 4 Gigabyte of RAM and 256 Gigabyte of hard disk space.
Delivery Optimization is currently only used for larger updates such as cumulative updates or feature updates such as the Anniversary Update that was released recently.
If enabled, and it is by default, your PC or device may be used to deliver updates to other Windows 10 users, and it may download updates from peers and not Windows Update.
The whole process looks like the following:
- The PC checks WSUS to find out if updates are available.
- For updates that match the update policy on the PC, the PC checks with the Delivery Optimization service to find out whether local network or Internet sources are available that have the update already (based on configuration of the Delivery Optimization service).
- If peers are discovered, the PC tries to download the updates from those systems.
- For updates that are not available and updates that cannot be retrieved for other reasons, WSUS is used instead.
Configuring Delivery Optimization
First thing you may want to do is check the Delivery Optimization configuration on the PC.
- Use the keyboard shortcut Windows-I to open the Settings application.
- Navigate to Update & Security > Windows Update > Advanced options > Choose how updates are delivered.
The page lists whether Delivery Optimization is enabled on the device, and how it is configured. You may toggle the feature on or off there on the page, and switch between "PCs on my local network" and "PCs on my local network, and PCs on the Internet". The latter defines update sources and destinations if Delivery Optimization is enabled.
While you get some options to control Delivery Optimization using the Settings application, several are missing.
You may define Delivery Optimization using the Local Group Policy Editor.
- Tap on the Windows-key, type gpedit.msc and hit enter.
- Navigate to Computer Configuration > Administrative Templates > Windows Components > Delivery Optimization using the tree hierarchy on the left.
Several policies are listed under Delivery Optimization. The main one is Download Mode which determines whether Delivery Optimization is enabled, and how it is being used.
You may set Download Mode to one of the following values:
- 0: WSUS only.
- 1: Delivery Optimization behind the same NAT only. (Default for Enterprise and Education editions of Windows 10)
- 2: Private Group only: either same Active Directory Site or same domain.
- 3: Delivery Optimization uses LAN and Internet peers. (Default for Pro and Home editions of Windows 10)
- 99: Simple download mode. Delivery Optimization uses HTTP only, won't contact to Delivery Optimization cloud services.
- 100: Bypass mode: Delivery Optimization is not used at all, BITS is used instead.
The following policies are provided as well. Please note that they modify various Delivery Optimization settings. If you turn the feature off, there is no need to configure those.
- Absolute Max Cache Size (in GB) - Specifies the maximum size in Gigabyte of the Delivery Optimization cache.
- Group ID: Must be set as a GUID. Used to create a single group for local network peering for branches that are on different domains, or are not on the same LAN.
- Max Cache Age (in seconds): Default value is 3 days. Specifies the maximum time in seconds that files are held in the Delivery Optimization cache.
- Max Cache Size (in Percentage): The default value is 20%. Defines the maximum cache size that Delivery Optimization uses as a percentage of available disk size.
- Max Upload Bandwidth (in KB/s): Default value is unlimited (0). This value specifies the maximum upload bandwidth of the Delivery Optimization service.
- Maximum Download Bandwidth (in KB/s): Default value is unlimited (0). The value specifies the maximum download bandwidth that the service uses.
- Maximum Download Bandwidth (in Percentage): The default value is unlimited (0): The value specifies the maximum download bandwidth in percentage.
- Minimum Background QoS (in KB/s): The default value is 500 KB/s. Specifies the maximum download Quality of Service speed in Kilobyte per second.
- Modify Cache Drive: Specify a custom drive that Delivery Optimization should use for its cache.
- Monthly Upload Data Cap (in GB): The default value is set to 200 Gigabyte. Specifies the maximum total bytes in Gigabyte that Delivery Optimization is allowed to upload to Internet peers.
Controlling Delivery Optimization via the Registry
You may control the feature using the Registry as well.
- Tap on the Windows-key, type regedit and hit enter.
- Confirm the UAC prompt.
The main key is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config.
Check if you have the preference DODownloadMode listed under it. If not, right-click on Config and select New > Dword (32-bit) Value, and name it DODownloadMode.
The key accepts the same values as Download Mode listed under Group Policy above (=off, 1=On but local network only, 2=On, local network private peering only, 3=On local network and Internet, 99=simply download mode, 100=bypass mode).
More information are provided on Technet.