Macrium company logo

15 Jan 2016

Microsoft VSS — Keeping it Simple

The Microsoft VSS framework was introduced as long ago as Windows XP and still provides the tools necessary to a create consistent and accurate snapshots of any supported file system on your PC.

We’ve already blogged about how VSS works so in this article we’re focusing on how and why, we at Macrium Software, decided on a simple, non-invasive and reliable implementation of the VSS API for disk imaging.

Why keep it simple?

The VSS framework is a complex beast. At the far right of the diagram below is the Requestor, this is the backup application that uses VSS, it’s Macrium Reflect.

Some competing backup products also implement their own home-grown VSS Software Providers (bottom right). Unfortunately, this can, and often does, lead to conflicts caused by interoperability issues with other installed VSS components.

Why do they do this?

To understand why some backup software vendors add this VSS component you need look no further than how Incremental and Differential backup chains are created. Proprietary VSS Software Providers have been developed to ensure that only the disk writes that have occurred since the last backup are included in the current Incremental or Differential.

Proprietary VSS Software Providers enable low level change block tracker drivers to perfectly synchronize with the ‘point in time’ nature of volume snapshots. While this may be technologically sound it is complex and complexities often lead to trouble:


But there’s a Microsoft Provider built into Windows

All versions of Windows ship with a ‘standard’ Microsoft VSS Software Provider. One that can create snapshots of local file systems and supported storage devices out-of-the-box. Why not use it?

The MS Software Shadow Copy Provider in Windows Services

Reliability is key

Our development team have managed to provide a solution to derive file system changes without needing any proprietary VSS components. We analyse the file system meta data of the file system being imaged and compare this with the same meta data in the previous Image. Because of our deep understanding of NTFS we can then produce a list of all blocks that have been created or modified since the last image. It’s fast, efficient, reliable and doesn’t interfere with the VSS framework in any way.

**And there’s more…**We are really excited to announce that we are also developing a genuine, real-time, super fast file system change block tracker that also requires no propriety VSS component, handles all the goodness of the VSS framework (including VSS Writers), and above all, is 100% reliable.

Our change block tracker driver will be released in the coming weeks and we hope this will further improve our position as the most reliable Imaging product available.

Macrium Reflect — Image is everything!