`(12) Patent Application Publication (10) Pub. No.: US 2005/0120160 A1
`(43) Pub. Date:
`Jun. 2, 2005
`Plouffe et al.
`
`US 20050120160A1
`
`(54) SYSTEM AND METHOD FOR MANAGING
`VIRTUAL SERVERS
`
`(76) Inventors: Jerry Plouffe, Hollis, NH (US); Scott
`H. Davis, Needham, MA (US);
`Alexander D. Vasilevsky, Westford,
`MA (US); Benjamin J. Thomas III,
`Bedford, MA (US); Steven S. Noyes,
`Sterling, MA (US); Tom Hazel,
`Andover, MA (US)
`Correspondence Address:
`LOWRIE, LANDO & ANASTASI
`RIVERFRONT OFFICE
`ONE MAIN STREET, ELEVENTH FLOOR
`CAMBRIDGE, MA 02142 (US)
`(21) Appl. No.:
`10/972,762
`(22) Filed:
`Oct. 25, 2004
`Related U.S. Application Data
`(63) Continuation-in-part of application No. 10/831,973,
`filed on Apr. 26, 2004.
`(60) Provisional application No. 60/565,433, filed on Apr.
`26, 2004. Provisional application No. 60/496,567,
`filed on Aug. 20, 2003.
`
`Publication Classification
`
`(51) Int. Cl." ..................................................... H04L 12/28
`(52) U.S. Cl. .................................................................. 711/1
`
`ABSTRACT
`(57)
`A management capability is provided for a virtual comput
`ing platform. In one example, this platform allows intercon
`nected physical resources Such as processors, memory, net
`work interfaces and Storage interfaces to be abstracted and
`mapped to virtual resources (e.g., virtual mainframes, virtual
`partitions). Virtual resources contained in a virtual partition
`can be assembled into virtual Servers that execute a guest
`operating System (e.g., Linux). In one example, the abstrac
`
`
`
`tion is unique in that any resource is available to any virtual
`Server regardless of the physical boundaries that Separate the
`resources. For example, any number of physical processors
`or any amount of physical memory can be used by a virtual
`Server even if these resources span different nodes. A virtual
`computing platform is provided that allows for the creation,
`deletion, modification, control (e.g., Start, stop, Suspend,
`resume) and Status (i.e., events) of the virtual Servers which
`execute on the Virtual computing platform and the manage
`ment capability provides controls for these functions. In a
`particular example, Such a platform allows the number and
`type of Virtual resources consumed by a virtual Server to be
`Scaled up or down when the virtual Server is running. For
`instance, an administrator may Scale a virtual Server manu
`ally or may define one or more policies that automatically
`Scale a virtual Server. Further, using the management API, a
`Virtual Server can monitor itself and can Scale itself up or
`down depending on its need for processing, memory and I/O
`resources. For example, a virtual Server may monitor its
`CPU utilization and invoke controls through the manage
`ment API to allocate a new processor for itself when its
`utilization exceeds a specific threshold. Conversely, a virtual
`Server may scale down its processor count when its utiliza
`tion falls. Policies can be used to execute one or more
`management controls. More Specifically, a management
`capability is provided that allows policies to be defined
`using management object's properties, events and/or method
`results. A management policy may also incorporate external
`data (e.g., an external event) in its definition. A policy may
`be triggered, causing the management Server or other com
`puting entity to execute an action. An action may utilize one
`or more management controls. In addition, an action may
`access external capabilities Such as Sending notification
`e-mail or Sending a text message to a telephone paging
`System. Further, management capability controls may be
`executed using a discrete transaction referred to as a "job.”
`A Series of management controls may be assembled into a
`job using one or management interfaces. Errors that occur
`when a job is executed may cause the job to be rolled back,
`allowing affected virtual Servers to return to their original
`State.
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 1 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 1 of 22
`
`US 2005/012016.0 A1
`
`System
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 2 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 2 of 22
`
`US 2005/012016.0 A1
`
`
`
`
`
`uafi DuoW
`
`?uDMpuDH
`
`
`
`
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 3 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`s
`
`vs.
`
`Sf S SS tes
`--
`
`e
`
`A
`---
`
`
`
`~~~~}}?}|----=)? ? ? ? ? ?!----+--? ?i
`?n?A|- . . .ø
`
`Patent Application Publication Jun. 2, 2005 Sheet 3 of 22
`
`US 2005/012016.0 A1
`
`|-+--------------------?/o?
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 4 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 4 of 22
`
`US 2005/012016.0 A1
`
`
`
`Frome
`4O2
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 5 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication
`
`US 2005/012016.0 A1
`
`ease-77.l. eareef
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 6 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2
`, 2005 Sheet 6 of 22
`
`US 2005/0120160 A1
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 7 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005
`
`Sheet 7 of 22
`
`US 2005/012016.0 A1
`
`!«,
`
`
`
`º^4szorzysztºrywe**warzy
`
`•æ#w, # ºraz,
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 8 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 8 of 22
`
`US 2005/012016.0 A1
`
`
`
`&
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 9 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 9 of 22
`
`US 2005/012016.0 A1
`
`(3) ***
`*&&
`
`
`
`() () () )
`(
`) (O
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 10 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 11 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 11 of 22
`
`US 2005/012016.0 A1
`
`?????????????????4e/LE?3] \ /3°//~{-??
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 12 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication
`
`Jun. 2, 2005 Sheet 12 of 22
`
`US 2005/0120160 A1
`
`
`
`
`
`
`
`wer N N N ent
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 13 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 13 of 22
`
`US 2005/0120160 A1
`
`
`
`So
`S. a 5 Sg
`5
`
`d
`spher
`th
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 14 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication
`
`Jun. 2, 2005 Sheet 14 of 22
`
`US 2005/0120160 A1
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 15 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 15 of 22
`
`US 2005/0120160 A1
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 16 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication
`
`Jun. 2, 2005 Sheet 16 of 22
`
`US 2005/0120160 A1
`
`
`
`
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 17 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 17 of 22
`
`US 2005/0120160 A1
`
`299818
`
`
`
`
`
`
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 18 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication
`
`Jun. 2, 2005 Sheet 18 of 22
`
`US 2005/0120160 A1
`
`
`
`
`
`
`
`
`
`
`Auòuje w pute 6498899044
`
`Co. e- N - O
`
`a sea en rue
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 19 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication
`
`Jun. 2, 2005 Sheet 19 of 22
`
`US 2005/012016.0 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 20 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 20 of 22
`
`US 2005/012016.0 A1
`
`
`
`
`
`
`
`/as/
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 21 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 21 of 22
`
`
`
`
`
`· /? 22:27494-?
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 22 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`Patent Application Publication Jun. 2, 2005 Sheet 22 of 22
`
`US 2005/012016.0 A1
`
`-2 ey
`
`
`
`FIGURE 22
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 23 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`US 2005/012016.0 A1
`
`Jun. 2, 2005
`
`SYSTEMAND METHOD FOR MANAGING
`VIRTUAL SERVERS
`
`RELATED APPLICATIONS
`0001. This application claims priority under 35 U.S.C. S
`119(e) to U.S. application Ser. Number 10/831,973, entitled
`“VIRTUAL SYSTEMARCHITECTURE AND METHOD
`by A. Vasilevsky, et al., filed Apr. 26, 2004, which claims
`priority to U.S. Provisional Application Ser. No. 60/496,567,
`entitled “VIRTUAL SYSTEM ARCHITECTURE AND
`METHOD,” by A. Vasilevsky, et al., filed on Aug. 20, 2003,
`and Provisional Application Ser. No. 60,565,433 entitled
`“METHOD AND APPARATUS FOR MANAGING VIR
`TUAL SERVERS,” filed Apr. 26, 2004, each of which
`applications are herein incorporated by reference in their
`entirety.
`
`FIELD OF THE INVENTION
`0002 The field of the invention relates generally to
`management of computer Systems, and more particularly, to
`management of Virtual resources.
`
`BACKGROUND OF THE INVENTION
`Conventional datacenters include a complex mesh
`0.003
`of N-tier applications. Each tier typically includes multiple
`Servers (nodes) that are dedicated to each application or
`application portion. These nodes generally include one or
`more computer Systems that execute an application or por
`tion thereof, and provide computing resources to clients.
`Some Systems are general purpose computers (e.g., a Pen
`tium-based server System) having general purpose operating
`systems (e.g., Microsoft Server 2003) while others are
`Special-purpose Systems (e.g., a network attached Storage
`System, database server, etc.) that is specially developed for
`this purpose using custom operating System(s) and hard
`ware. Typically, these servers provide a single function (e.g.,
`file server, application server, backup Server, etc.) to one or
`more client computers coupled through a communication
`network (e.g., enterprise network, Internet, combination of
`both).
`0004 Configurations of datacenter resources may be
`adjusted from time to time depending on the changing
`requirements of the applications used, performance issues,
`reallocation of resources, and other reasons. Configuration
`changes are performed, for example, by manually reconfig
`uring Servers, adding memory/storage, etc., and these
`changes generally involve a reboot of affected computer
`Systems and/or an interruption in the execution of the
`affected application. There exist other techniqueS Such as
`Server farms with front-end load balancers and grid-aware
`applications that allow the addition and deletion of
`resources, however, the operating Systems or applications on
`which they are Supported must be specifically developed to
`operate in Such an environment.
`SUMMARY OF THE INVENTION
`0005 According to one aspect of the invention, a system
`is provided that enables a virtualized environment suitable
`for dynamic configuration of components in response to
`varying hardware and policy needs. One aspect of the
`present invention relates to a virtual computing System and
`methods and Systems for managing the virtual computing
`System.
`
`0006 According to one aspect of the present invention, a
`management capability is provided for a virtual computing
`platform. This platform allows Scale-up and Scale-down of
`Virtual computing Systems, and Such a management capa
`bility provides for control of Such Scale-up and Scale-down
`functions. For instance, a capability is provided to allocate
`and/or deallocate resources (e.g., processing, memory, net
`working, Storage, etc.) to a virtual computing System. Such
`control may provide, for example, to an administrator
`through an interface (e.g., via a CLI, or GUI) or to other
`programs (e.g., via a programmatic interface).
`0007 According to one aspect of the present invention,
`an interface is provided that allows for the addition or
`removal of resources during the execution of a virtual
`computing System. Because resource allocation may be
`changed without restarting the Virtual computing System, a
`flexible tool is provided for administrators and programs for
`administering computing resources. For example, in the case
`where Such a virtual computing System is provided in a
`datacenter, an administrator (through a user interface or a
`program through a programmatic interface) may be capable
`of provisioning resources in real-time to Support executing
`Virtual Servers without interrupting applications or Servers.
`Conventionally, datacenter Server resources are hard-provi
`Sioned, and require interruption of Server operation for
`resources to be changed (e.g., change in memory, network,
`or storage devices).
`0008 According to one embodiment of the present inven
`tion, a virtual computing System is provided that allows a
`System administrator or a program to provision computing
`resources in real-time (“on-the-fly”) without a restart of a
`Virtual computing System, as hot-pluggable processor, I/O or
`Storage devices. For instance, the administrator may be
`presented an interface through which resources may be
`allocated to a virtual server (e.g., one that emulates a virtual
`multiprocessor computer). The interface may display a rep
`resentation of an allocation of physical resources and map
`ping to Virtual resources used by a virtual Server. For
`example, the interface may provide an ability to map Virtual
`Servers to Sets of physical resources, Such as a virtual
`processor that is mapped to a physical processor. Such an
`interface may be, for example, a programmatic, command
`line, graphical user interface, or any other type of interface
`Suitable for managing a virtual computing System.
`0009. According to another aspect of the present inven
`tion, the interface is a graphical user interface (GUI) that
`allows a drag-and-drop and/or pull-down provisioning of
`resources. This ability permits an administrator to grow or
`Shrink the capabilities of a virtual Server System graphically.
`More particularly, the user interface may display to a user,
`a display of virtual to physical mappings for one or more
`Virtual Server Systems. In one embodiment, a virtual Server
`can span a collection of a physical nodes coupled by an
`interconnect. This capability allows, for example, an arbi
`trarily-sized virtual multiprocessor System (e.g., SMP,
`Numa, ASMP, etc.) to be created.
`0010. In another example, an interface may be provided
`that displays an entire Virtual data center with associated
`Virtual Servers and their resources. Such an interface may
`also be used by an administrator to add, move, and change
`resources in the virtual datacenter through a visual interface.
`An administrator may also be permitted to define policies on
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 24 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`US 2005/012016.0 A1
`
`Jun. 2, 2005
`
`how virtual resources may be accessed and policies that
`govern automatic Sizing, reconfiguration, and/or provision
`ing of Virtual Servers. Such policies may be triggered based
`on one or more predefined rules, and an administrator may
`define one or more actions that may be taken as a result of
`a rule being triggered.
`0.011) A resource that may be managed using various
`aspects of the present invention includes any element or
`group of elements that perform functions used by a com
`puter System. Examples of Such resources include physical
`resources (e.g., processors, memory, Storage, network inter
`faces, etc.) and virtual resources that are backed by one or
`more underlying physical resources. An example of a virtual
`resource is a Virtual Host Bus Adapter (VHBA) which may
`be Supported by one or more underlying physical Host BuS
`Adapters (HBAS) and associated Software. Virtual resources
`(e.g., virtual processors, virtual network interfaces, virtual
`Storage adapters, etc.) may be mapped to one or more
`underlying physical resources by a virtualization layer as
`described more fully below. According to one aspect of the
`present invention, capability is provided to manage the
`allocation of resources (e.g., physical resources, Virtual
`resources) in a virtual computing System.
`0012. According to another embodiment of the present
`invention, the interface may be a programmatic interface
`that may be used by other applications that manage the
`allocation of resources. For instance, functions may be
`exposed to application programs for increasing (or decreas
`ing) resources for use in executing the same application
`programs. Similarly, a management application may deter
`mine the performance (e.g., processor utilization) of a virtual
`Server, and in response, may adjust resources automatically
`to maximize the use of resources, increase performance, etc.
`0013. According to various aspects of the present inven
`tion, a management infrastructure is provided comprising a
`management Server having a management console and one
`or more management agents used to manage one or more
`Servers. In one embodiment, the management Server may
`provide a user interface through which a user (e.g., an
`administrator) may configure and control one or more virtual
`Servers and underlying physical resources. According to
`another embodiment, management agents may be, for
`example, components of a distributed virtual machine moni
`tor program that are executed by one or more nodes and
`control virtual Servers through commands issued to the
`distributed virtual machine monitor.
`0.014. The system may also include a data store that holds
`configuration information. In one example, this data Store is
`controlled and managed by the management Server. The
`System may also include a management agent. Through this
`management agent, the distributed virtual machine monitor
`program may communicate with the management Server
`using a management protocol. This communication includes
`configuration information, operations, logging, parameter
`Setting, events, alarms, heartbeats and other methods of
`cooperation and communication. Configuration changes
`may be coordinated and/or tracked to allow for orderly
`changes to the Virtual computing System to occur. This may
`be performed using discrete transactions, for example.
`0.015. In one embodiment, discrete transactions may be
`Stored to provide a transaction history for the virtual com
`puting System. In particular, a record may be maintained of
`
`discrete transactions as they are performed on the Virtual
`computing System and its components. Because a history of
`the discrete transactions is Stored, a capability for rolling
`back changes on the virtual computing System may be
`provided. Such a transaction history is also useful for
`assisting an administrator in tracking changes and Support of
`the Virtual computing System.
`0016. According to one aspect of the present invention, a
`System is provided which comprises a plurality of physical
`resources, a virtualization layer that maps the plurality of
`physical resources to one or more virtual resources, wherein
`the one or more virtual resources span at least two of the
`plurality of physical resources, and an interface that repre
`Sents the mapping of the plurality of physical resources to
`the one or more virtual resources. According to one embodi
`ment, the plurality of physical resources includes at least one
`of an input/output (I/O) device, an interconnect, a processor,
`and a Storage entity. According to another embodiment, one
`or more Virtual resources include at least one of a virtual
`multiprocessor computer and an I/O device. According to
`another embodiment, the one or more Virtual resources
`include at least one virtual computer that is mapped to at
`least one of the plurality of physical resources. According to
`another embodiment, the interface is adapted to provide
`ability to map physical resources to at least one virtual
`resource and to remove physical resources from being
`mapped to the at least one virtual resource. According to
`another embodiment, the interface includes at least one of a
`group comprising a graphical user interface, a command line
`interface, and a programmatic interface.
`0017 According to one aspect of the invention, in a
`computer System comprising a plurality of resources and
`user interface having a display, a method is provided for
`permitting configuration of the plurality of resources, com
`prising displaying a representation of a virtual Server on the
`display; and providing for a user to Select a resource and
`asSociate the resource with the Virtual Server. According to
`one embodiment, the method further comprises providing
`for the user to Select the resource and disasSociate the
`resource from the virtual Server. According to one aspect of
`the invention, in a computer System including an interface
`and a plurality of resources, a method is provided for
`allocating the plurality of resources comprising acts of
`providing a Selection of at least one virtual resource on the
`interface, and allowing mapping of at least one resource of
`the plurality of resources to the Virtual resource through a
`Virtualization layer.
`0018. According to one aspect, a computer-based System
`for managing a virtual Server System comprising a plurality
`of physical resources, at least one of which is associated
`with at least one of a plurality of Virtual resources, the virtual
`Server System comprising a virtualization layer that maps the
`at least one of the plurality of physical resources, the
`computer-based System comprising an interface that pro
`vides a representation on the mapping, and at least one
`control adapted to create and delete the mapping.
`0019 According to one aspect, a management infrastruc
`ture is provided which is adapted to operate in a computer
`based network environment to control allocation of a plu
`rality of resources in the network environment. The
`management infrastructure comprises a control interface, a
`distributed virtual machine monitor program adapted to
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 25 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`US 2005/012016.0 A1
`
`Jun. 2, 2005
`
`execute on at least one of the plurality of resources, and at
`least one management agent adapted to communicate with
`the control interface to receive instructions and to forward
`results, and wherein the management agent is capable of
`communicating the instructions to the distributed Virtual
`machine monitor program which is capable of implementing
`the instructions So as to allocate the plurality of resources
`and wherein the management agent forwards a result of the
`implementing of the instructions. According to another
`embodiment, the control interface includes at least one of a
`group comprising a graphical user interface, a command line
`interface, and a programmatic interface.
`0020. According to one aspect, a system is provided
`comprising a virtual Server System capable of executing at
`least one of a plurality of operating Systems, and a manager
`capable of mapping the at least one of the plurality of
`operating Systems to the virtual Server. According to one
`aspect, a virtual computing System is provided comprising a
`plurality of physical resources, a virtualization layer that
`maps the plurality of physical resources to one or more
`Virtual resources, and a manager that performs at least one
`of adding, moving, and removing at least one of the plurality
`of physical resources from the virtual computing System.
`0021 According to one embodiment, the manager Stores
`a history of changes in configuration of the Virtual comput
`ing System. According to another embodiment, the System
`further comprises a manager that is adapted to processes at
`least one transaction, the at least one transaction relating to
`the at least one of adding, moving, and removing the at least
`one of the plurality of resources from the virtual computing
`System. According to another embodiment, the manager is
`adapted to Store change information of the at least one
`transaction as a discrete entry in the history of changes.
`According to another embodiment, the manager is adapted
`to undo the at least one transaction based on the discrete
`entry Stored in the history of changes. According to another
`embodiment, the manager is adapted to implement at least
`one management policy relating to Virtual and physical
`resources. According to another embodiment, the at least
`one management policy includes at least one rule triggered
`by one or more events. According to another embodiment,
`the manager is adapted to perform one or more actions in
`response to a triggering of the at least one rule. According
`to another embodiment, the at least one management policy
`is in effect for a particular period of time.
`0022. According to one embodiment, the at least one rule
`is triggered based on one or more parameters. According to
`another embodiment, the one or more parameters include at
`least one of a performance parameter indicating the perfor
`mance of the Virtual computing System. According to
`another embodiment, the manager is adapted to perform at
`least one of the group of actions comprising add a resource
`to the Virtual computing System, repair a resource of the
`Virtual computing System, remove a resource from the
`Virtual computing System, start a processing resource of the
`Virtual computing System, and Stop a processing resource of
`the Virtual computing System. According to another embodi
`ment, the plurality of virtual resources includes a virtual I/O
`interface. According to another embodiment, the virtual I/O
`interface includes an associated identifier. According to
`another embodiment, the virtual I/O interface is a virtual
`network interface, and wherein the associated identifier
`includes a network address. According to another embodi
`
`ment, the network address includes a MAC address. Accord
`ing to another embodiment, the Virtual I/O interface is a
`Virtual Storage adapter, and wherein the associated identifier
`includes a Storage adapter identifier. According to another
`embodiment, the Storage adapter identifier includes a World
`Wide Node Name (WWNN) identifier. According to another
`embodiment, the System further comprises a manager that is
`adapted to define the one or more virtual resources in the
`Virtual computing System, the one or more Virtual resources
`including the Virtual I/O resource, and wherein the manager
`is adapted to assign the associated identifier to the Virtual I/O
`CSOUCC.
`0023. According to one embodiment, the manager is
`adapted to Select the associated identifier from a group of
`available identifiers. According to another embodiment, the
`manager further comprises an interface, through which the
`asSociated identifier is assigned to the virtual I/O resource.
`According to another embodiment, the one or more virtual
`resources include at least one virtual computer that is
`mapped to at least one of the plurality of physical resources,
`and wherein the manager further comprises an interface,
`through which the at least one virtual computer may be
`created. According to another embodiment, the manager is
`adapted to perform at least one of adding, moving, and
`removing at least one of the plurality of physical resources
`from the Virtual computing System. According to another
`embodiment, the interface includes a control for making a
`copy of the at least one virtual computer, and wherein the
`control includes means for assigning, to a virtual I/O
`resource associated with the copy, a new associated identi
`fier. According to another embodiment, the manager is
`adapted to Select the associated identifier from a group of
`available identifiers. According to another embodiment, the
`interface includes at least one of a group comprising a
`graphical user interface, a command line interface, and a
`programmatic interface.
`0024. According to another embodiment, the at least two
`of the plurality of physical resources are associated with
`respective Separate nodes, and wherein the one or more
`Virtual resources Span the Separate nodes.
`0025. Also, it is realized that conventional single-func
`tion servers (e.g., fileservers, application server, Storage
`Server, etc.) are typically over-provisioned due to the inflex
`ibility of the environment. More particularly, each applica
`tion component executes on a Server geared to more than the
`maximum workload the Server will ever experience from the
`application, resulting in rampant under-utilization of the
`computing resources. For the majority of the time, the Server
`experiences much less than its maximum design workload.
`Also, it is realized that because resources in this environ
`ment are hard-provisioned, the environment does not allow
`adequate flexibility in response to changing busineSS and
`customer needs. More particularly, as customer and business
`needs change, expanding (or contracting) the server
`resources or applying exceSS resources where they are
`needed is difficult, and generally requires time and effort on
`the part of an administrator to reconfigure/upgrade the
`affected Server System(s).
`0026 Conventional single-function server architecture
`leads to a multiplicity of Servers in the datacenter, each of
`which requires independent management and configuration.
`Further, the Single function Server is a Single point of failure
`
`Hewlett Packard Enterprise Co. Ex. 1004, Page 26 of 50
`Hewlett Packard Enterprise Co. v. Intellectual Ventures II, LLC
`IPR2022-00211
`
`
`
`US 2005/012016.0 A1
`
`Jun. 2, 2005
`
`in the System, and backup capabilities are not easily placed
`into Service without additional Specialized hardware or
`Software, or downtime and effort on the part of an admin
`istrator.
`Conventional application server farms usually pro
`0.027
`Vided with a Server load balancer generally require that each
`Server not maintain State, and State must be persisted in
`networked or shared Storage (e.g., a database) Such that
`independent Server processes may share data. Such appli
`cations require that the application be modified to Store data
`to Suit the persisted architecture. There are other types of
`applications and operating Systems that operate in a cluster
`environment that are used to provide resources, but these
`conventional grid or cluster-aware applications need to be
`modified or Specially-developed to operate with multiple
`processors in a coherent manner. This Special development
`often requires the application or operating System to be more
`complex as a result. Another common feature of Server
`farms and grid-aware applications and operating Systems is
`that each of these environments involves Systems that
`execute (and therefore, require management of) Separate
`instances of an operating System on each Server or grid or
`cluster member.
`0028. According to one aspect of the invention, an archi
`tecture is provided that allows an administrator to more
`easily manage computing resources (e.g., in a data center).
`In one embodiment, a virtualization layer is provided that
`allows operating Systems (OSS) and their applications to be
`executed on