My partner at GridMasterTraining, Kevin Kaminski (t=@kkaminsk), today showed me a patent application that Microsoft recently submitted on Application Virtualization. Seem Strange? YEAH!
Notice: Although I do have a patent, I am not a patent attorney. Anything in this blog post should be considered at nothing more than “uneducated blather”.
Application Virtualization has been around for over 10 years, and there are a lot of companies with AppVirt products. Not just Microsoft, but Citrix, Semantec, and a whole bunch of others. To receive a patent, the invention must be “new” and “non obvious” to a person skilled in the art at the time of the application.
To the best I can tell, the application was published on August 4, 2011. So the application may have a date of the previous week. There is also the possibility of a date from a preliminary application, but I can’t detect that there was one, but if there was I think you only have one year on that so August of 2010 sounds like the earliest date possible.
At first read, the invention seems to be a complete application virtualization system, with capture (sequencing), delivery, and consumption (client). The delivery portion is more about client notification and registration of the virtual app than actual delivery of the bits. That makes sense because the original Softricity patents were about the delivery and file system used. It does make reference to a common core part shared by the App-V Sequencer and Client. Implementations by others may or may not use a common core (I don’t know), but to what extent that helps them I don’t have a clue.
Reading the patent, the major distinction I see from the existing art is the where it describes the virtualization system as extensible. So you could have a virtualization system today, then add a new subsystem that plugs into the core to add new capability. For example (my example, not theirs) perhaps you can suddenly virtualize device drivers. Rather than rev the whole product, you could (thanks to this extensibility) add some new dlls to the sequencer and client and you now have virtualized drivers. To my knowledge, App-V is not currently implemented to allow this kind of extensibility (but you don’t need an implementation to patent). This would be quite cool to have (assuming Microsoft publishes the API, which this product has always failed to do) as then Microsoft could leverage some very smart third parties that could enhance App-V in a significant way.
The other thing I notice in the application is the names on the application. Eric goes way back with the product (he predated me at SoftwareWow) and the other two joined shortly after I left. I think John might have left Microsoft a while ago, so perhaps this has been in the works for some time. The interest in Microsoft publishing this may have been as part of the rumored “Server App-V” like product. Eric is believed to be on that team now, and the application includes an IIS capture example – so this seems likely. But to be clear, if approved this patent applies to both.
It is not clear to me whether this application will stand up to the approval process or not. It seems to me that the majority of the claims restate the current “state of the art”. If what is ultimately patented is just the extensibility of the system, then I doubt it would significantly impact any other vendor. Stay tuned…
Maybe this is MinWin (Core) being used as filesystem to be sequencing against and new sub layers for different types of o/s Win8 and future build platforms when MinWin comes more into play between desktop and server?