Exciting times! ConfigMgr TP 1903 was just released, and so the very first public beta of Delivery Optimization In-Network Cache (DOINC), nicely integrated with ConfigMgr. Here is a link to the documentation for ConfigMgr TP 1903: https://docs.microsoft.com/en-us/sccm/core/get-started/2019/technical-preview-1903
Update: DOINC is also available in ConfigMgr Current Branch v1906 (or later)
Introduction to DOINC
DOINC is cache server for Delivery Optimization (DO) content, for example updates for the built-in Windows 10 applications, Microsoft Store applications, and Office 365 updates. DOINC has it’s own cache, and does not use the ConfigMgr Content Library. DOINC is supported on servers running Windows Server 2012 or later, but I highly recommend using at least Windows Server 2016. On the client side, you need to be on at least Windows 10 v1709, but I recommend at least Windows 10 v1803 because of updated settings for Delivery Optimization.
When a client needs to download say a Windows 10 application update, the DOINC server acts as a proxy, sort of, and stores the download in its cache, and also forwards the bits to the client. The download doesn’t need to complete on the cache server. As soon as a chunk is available, it is offered to the client. And then, obviously, when another client needs the same update, it will get the bits directly from the cache server, or from a local peer.
DOINC is built by the Delivery Optimization team at Microsoft, and the ConfigMgr team redistribute some key parts of it as part of the ConfigMgr TP 1903 release.
Setup DOINC on the Server (DP)
Installing DOINC on a DP is very straight forward, you simply go the DP properties, and select the magic check box: Enable this distribution point to be used as a Delivery Optimization In-Network Cache server. When you did this, ConfigMgr triggers the DOINC installer (a PowerShell Script). You can watch the progress in the distmgr.log file, and also the DOINC installer logfile ("E:\SMS_DP$\Ms.Dsp.Do.Inc.Setup\DoincSetup.log" in my environment).
DOINC also installs two maintenance tasks (PowerShell scripts).
Configuring the Windows 10 Clients
To enable your Windows 10 v1709 or later ConfigMgr clients to use DOINC, you must first upgrade the ConfigMgr agent to the TP 1903 version, and then enable and deploy the client setting that configures the client policy. This configures the DOCacheHost and DODownloadMode local policy on the client in the same location as the other Delivery Optimization policies are: HKLM\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization.
Note: Currently, after the new client settings has been applied, you need to reboot the machine for the DOCacheHost registry value to show up.
Verifying DOINC in action
To verify DOINC in action, simply login to a few newly deployed Windows 10 v1709 or later machines, and wait until the built-in apps starts to update. Or download a bunch of Microsoft Store apps. I recommend racing games since they are often quite big :).
Once downloaded you can start PowerShell and run the Get-DeliveryOptimizationStatus cmdlet. Look for the BytesFromCacheServer value. You can also check the DOINC monitor on the DOINC Server itself by opening up IIS manager, and drill down to Server Farms.
Written by Johan Arwidmark