Byte and Switch: Virtualization would appear to require that some intermediate layer deal with operating system-specific issues, such as file system format differences and the like, in order to extend across platforms. If that is accurate, what is Compaq's approach to virtualization, and how do you deal with those issues?
Mark Lewis: That view is what I would call somewhat accurate, and I'll explain why. It is a part of the issue we want to address with virtualization, and very key to the reason we designed our VersaStor virtualization the way we did. As we looked at virtualization, we saw that there were many ways to approach it. One of those was a file-system-based approach, where you have an installed file system that has all these capabilities, is all virtual, and you could do a lot with that, but it would require the [replacement] of file systems across any server you wanted to have in this virtual environment. A move like that would require us -- as I joke -- Bill Gates, Scott McNealy, and Larry Ellison in a room and agree that they are all going to scrap their file systems and go with ours. We didn't think that was realistic.
We decided to make the virtualization layer so simple, in terms of its interface, that it will interface with any legacy system, any existing system, any file system -- and, over time, would interface with any application, if the application decides it doesn't want a file system in the way and wants to talk directly to the virtual storage layer.
So we built our virtual storage layer as a block-to-block virtualization layer, meaning that the host thinks it is seeing a disk drive. Even though we have complex arrays, if you look at operating systems, they still look at volumes as if they were a physical disk drive. So, we felt that in terms of compatibility, the best approach was to leave that model in place.
So for all the people who have existing systems that they will be running for years to come, they are going to be able to use our virtualization right out of the chute. There is nothing special to install. Over time what we expect is that applications will see what they can do by interacting directly with the virtual layer, and will start to say, "I don't need a file system if I have my database here; I'm going to write an API and write directly to the virtual layer, giving me more functionality." But, while that's happening, you can still get most of the functionality out of the base virtual layer.