One of the primary challenges of developing UVAPI has been and continues to be the creation of a unified object model that can sustain the needs of the various hypervisors. Some people have argued that UVAPI should follow the CIM model for virutalization, but I have worked with the CIM model quite a bit while developing JWbem and have found it to be confusing and not very straightforward. The goal of UVAPI's object model is to provide an extremely simple to use and easy to understand model for working with virtualization and the many, popular hypervisors.

The Object Model

The UVAPI Object Model

As you can see, the UVAPI object model is at the moment a very simplistic one.

Server A server is the root element in the model and is the management server linking multiple hosts together. This can be thought of as a VirtualCenter server in VMware terms. However, for systems like Xen or Hyper-V where each host is aware of others hosts, any host can be thought of as a Server in this mdoel as well.
Host This is the actual hypervisor server.
VM A virtual machine.
Task A server may return a task object when an asynchronous operation is executed.