The virtualization team is pleased to announce the public beta release of the Hyper-V WMI interfaces.

Hyper-V WMI APIs. Hyper-V uses WMI APIs (similar to the Virtual Server COM API) to create, manage, monitor, configure virtual resources. We expect the Hyper-V WMI APIs to be used widely in a variety of ways such as:

· By third party management vendors who want to write tools to manage WSV (examples, HP Openview & IBM Director)

· By enterprises who want to integrate with an existing management solution

· Developers who want to automate virtualization in a test/dev environments through scripts

The Hyper-V WMI APIs are publicly available here:

http://msdn2.microsoft.com/en-us/library/cc136992(VS.85).aspx

Important: This documentation is preliminary and is subject to change. This same warning is provided online (see the screenshot below). While we’re trying to avoid any changes, modifications are still possible up to the final release. We encourage user feedback by clicking on the link below to “Send comments about this topic to Microsoft.”

clip_image002[3]

Here’s a complete list with links to our virtualization managements APIs and virtual hard disk format.

Microsoft Virtual Server 2005 COM APIs. Since DAY ONE August 3rd 2004, Virtual Server shipped with the complete documentation for the Virtual Server COM interfaces in the Virtual Server Programmer’s Guide. To access the Virtual Server Programmer’s Guide, install Virtual Server, go to the Virtual Server Program Group in the Start Menu and click on the Programmer’s Guide. The Virtual Server Web Administration uses these same COM interfaces to manage Virtual Server. These COM interfaces were also used by third parties to manage Virtual Server. Specifically,

· IBM developed tools to manage Virtual Server through Director

· HP developed tools to manage Virtual Server through OpenView

Additionally, System Center Virtual Machine Manager is using these same COM APIs to manage Virtual Server.

The Virtual Server COM API is publicly available here:

http://msdn2.microsoft.com/en-us/library/aa368876(VS.85).aspx

Virtual hard disk format. The virtual hard disk (VHD) format is a block based format used to store the contents of a virtual machine. After receiving a few requests from customers, we decided to make the virtual hard disk specification available via a certified license agreement in late April 2005, a FULL YEAR before VMware made their VMDK spec available. Licensing the VHD specification was quite successful, but we knew we could do more. So, October 17th 2006, we made the VHD specification available under the Microsoft Open Specification Promise (OSP). The timeline looks like this:

· Microsoft VHD Spec available via certified license agreement:                    ≈ 05/2005

· VMware VMDK Spec available:                                                                                  ≈ 04/2006

· Microsoft VHD Spec available via OSP:                                                                    10/17/06

The virtual hard disk format is available here: http://www.microsoft.com/windowsserversystem/virtualserver/techinfo/vhdspec.mspx

Hyper-V WMI APIs. Hyper-V uses WMI APIs (similar to the Virtual Server COM API) to create, manage, monitor, configure virtual resources. We expect the Hyper-V WMI APIs to be used widely in a variety of ways such as:

· By third party management vendors who want to write tools to manage WSV (examples, HP Openview & IBM Director)

· By enterprises who want to integrate with an existing management solution

· Developers who want to automate virtualization in a test/dev environments through scripts

Important: The WMI APIs are the preferred method to programmatically managing Hyper-V as opposed to the Hypercall APIs…

More about WMI: Windows Management Instrumentation (WMI) is the Microsoft implementation of Web-Based Enterprise Management (WBEM), which is an industry initiative to develop a standard technology for accessing management information in an enterprise environment. WMI uses the Common Information Model (CIM) industry standard to represent systems, applications, networks, devices, and other managed components. CIM is developed and maintained by the Distributed Management Task Force (DMTF) of which Microsoft is an active participant.

The Hyper-V WMI APIs are publicly available here:

http://msdn2.microsoft.com/en-us/library/cc136992(VS.85).aspx

Hypercall APIs. Hypercall APIs are a programmatic interface to the hypervisor. A few of the higher level functions include:

· Partition management (created, delete, manage partition state)

· Physical hardware management (system physical address space, logical processors, local APICs)

· Guest physical address spaces

· Intercepts. Parent partition may need to handle certain situations on behalf of a child partition

· Virtual interrupt control.

· Inter-partition communication.

· Partition save and restore.

· Scheduler. (set scheduler policy management for CPU reserves, caps and weights)

· …and more…

To reiterate: the WMI APIs are the preferred interface to managing Hyper-V while the Hypercall APIs are for very special purpose low-level work like IDE/debugger development.

Microsoft Hypercall Interface:

http://www.microsoft.com/downloads/details.aspx?FamilyID=91E2E518-C62C-4FF2-8E50-3A37EA4100F5&displaylang=en

I hope I’ve made my point clearly. Microsoft has led the industry with regard to publishing virtualization management interfaces and formats and we’re doing so again with Hyper-V.