During its official announcement in June, Microsoft promised that Windows Updates will be 40 percent smaller and more efficient than in Windows 10, as these updates will now majorly take place in the background to provide a seamless experience to front-end users.
Staying true to its promise, Microsoft has reduced the size of quality updates in Windows 11 by 40%. Now, in a blog post, the company has explained how it achieved its goal using the new compression technology.
“With the fast pace of Windows security and quality fixes, distributing this large amount of updated content takes up substantial bandwidth. Reducing this network transfer is critical for a great experience. Moreover, users on slower networks can struggle to keep their machines up to date with the latest security fixes if they cannot download the package,” wrote Microsoft software engineer Jonathon Ready in a blog post.
“In addition to rural communities with limited access to high-speed broadband, hybrid and remote work have increased the complexity of update distribution for many corporations. Without high-speed internal networks to distribute updates to devices, corporations must rely on their virtual private networks and their remote workers’ home internet connections to provide update distribution. Minimizing network traffic increases the velocity of security patches, keeping a remote workforce protected wherever they are.”
Since Windows 10, version 1809, Windows servicing has used paired forward and reverse differential compression. By utilizing the forward and reverse differentials, the OS can revert to its base version as an intermediate state in servicing.
While the forward and reverse differentials are symmetric in their function, their content is largely disjoint, which means that a bidirectional delta containing the shared and disjoint content is not significantly smaller than a pair of forward and reverse differentials.
As the data in forward and reverse deltas are largely disjoint, little efficiency is gained from a bidirectional delta over paired forward and reverse deltas.
Microsoft discovered that these transforms and patches can be “observed” by the delta apply step, and efficiently re-encoded into a reverse delta (n->0), obviating the need to distribute reverse deltas in a paired delta approach.
Consequently, the Redmond giant used the “reverse update data generation” approach for the assembly of virtual addresses.
“The mapping works by running a byte-by-byte disassembly of the program’s assembly code and identifying the virtual addresses. Virtual addresses correspond logically to entry points for assembly code functions and shift when the assembly code is updated with a fix. These shifts are observed by the delta engine and are captured by a mapping table. The mapping process on delta apply normalizes the addresses of these changes and is a large part of the reason of why modern architecturally enlightened delta algorithms are so efficient,” Ready added.
“Much like the basic patching instructions, these transforms can be “observed” and reversed. There is a slight overhead as not all mappings are 1:1, and where forward mapping conflicts with its observed reverse mapping, additional patch instruction must be used to align the mapping. This can be done in-place, and the reverse mapping will provide nearly the same performance as a reverse delta with a direct mapping from a delta generation done on the server.”
According to Microsoft, the “reverse update data generation” approach in Windows 11 has resulted in a 40% reduction in update size. This will benefit its customers who will need to download less to remain up-to-date and secure.