1. A method of optimizing information provided on a network including virtual machine host devices, comprising:
intercepting a message from a network-based management server to at least one of the virtual machine host devices on the network;
accessing the information for at least one virtual machine running on the virtual machine host device; and
utilizing the information to respond to the message on behalf of the at least one virtual machine
2. The method according to claim 1 wherein accessing the information further comprises accessing the information from a database.
3. The method according to claim 1 wherein accessing the information further comprises issuing a request to the at least one virtual machine and utilizing a response from the at least one virtual machine to respond to the messages from the network-based management server.
4. The method according to claim 3 wherein utilizing the response from the at least one virtual machine further comprises at least one of filtering, modifying, deleting and reordering the response from the at least one virtual machine prior to responding to the messages from the network-based management server.
5. The method according to claim 3 wherein utilizing the response from the at least one virtual machine further comprises aggregating the response from the at least one virtual machine prior to responding to the message from the network-based management server.
6. The method according to claim 1 wherein accessing the information further comprises interfacing with a virtual machine manager to acquire the information.
7. The method according to claim 1 wherein the information is network-based management information including resource information pertaining to the virtual machine host devices.
8. The method according to claim 1 wherein the method further comprises grouping a plurality of virtual machines on the virtual machine host devices into at least one class of virtual machine, accessing the information for the at least one class of virtual machine running on the virtual machine host device and utilizing the information to respond to the message on behalf of the at least one class of virtual machine.
9. A system for optimizing information provided on a network including virtual machine host devices, comprising:
a virtual machine running on at least one of the virtual machine host devices; and
a management virtual machine capable of intercepting messages from a network-based management server to the virtual machine, the management virtual machine capable of accessing information pertaining to the virtual machine and utilizing the information to respond on behalf of the virtual machine.
10. The system according to claim 9 further comprising a virtual machine manager capable of obtaining the information pertaining to the virtual machine.
11. The system according to claim 9 wherein the virtual machine manager includes the management virtual machine.
12. The system according to claim 11 wherein the management virtual machine responds to the network management messages with one of information retrieved from a database and information obtained in response to queries to the virtual machine.
13. The system according to claim 12 wherein the management virtual machine at least one of filters, modifies, deletes and reorders the information obtained in response to the queries prior to responding to the network management messages.
14. The system according to claim 12 wherein the management virtual machine aggregates the information prior to responding to the messages from the network-based management servers.
15. The system according to claim 11 wherein the information is network-based management information including resource information pertaining to the virtual machine host devices.
16. The system according to claim 11 wherein the management virtual machine is further capable of grouping a plurality of virtual machines on the virtual machine host devices into at least one class of virtual machine, accessing the information for the at least one class of virtual machine running on the virtual machine host device and utilizing the information to respond to the message on behalf of the at least one class of virtual machine.
17. A method of optimizing information provided by a virtual machine host device, comprising:
grouping virtual machines on the virtual machine host device into at least one class;
intercepting a message from a network-based management server to the at least one class of virtual machines;
accessing the information for the at least one class of virtual machines; and
utilizing the information to respond to the message on behalf of the at least one class of virtual machine
18. The method according to claim 17 wherein the class includes one of a class based on operating system type and a class based on application type.
19. A system for optimizing information provided on a network including virtual machine host devices, comprising:
a class of virtual machines running on at least one of the virtual machine host devices, the class of virtual machines comprising a plurality of virtual machines; and
a management virtual machine capable of intercepting messages from a network-based management server to the class of virtual machines, the management virtual machine capable of accessing information pertaining to the class of virtual machines and utilizing the information to respond on behalf of the class of virtual machines.
20. The system according to claim 19 wherein the class of virtual machines includes at least one of a class of virtual machines based on operating system type and a class of virtual machines based on application type.
21. An management virtual machine residing on a virtual machine host device, comprising:
a module capable of intercepting messages to virtual machines residing on the virtual machine host device;
an interface capable of retrieving information pertaining to the virtual machines;
and
a module capable of utilizing the information to respond to the messages on behalf of the virtual machines.
22. The management virtual machine according to claim 21 wherein the information is network-based management information and includes resource information pertaining to the virtual machine host device.
23. The management virtual machine according to claim 21 wherein the interface is capable of retrieving the information from a virtual machine manager.
24. An article comprising a machine-accessible medium having stored thereon instructions that, when executed by a machine, cause the machine to:
intercept a message from a network-based management server to at least one virtual machine host devices on the network;
access the information for at least one virtual machine running on the virtual machine host device; and
utilize the information to respond to the message on behalf of the at least one virtual machine.
25. The article according to claim 24 wherein the instruction, when executed by the machine, are further capable of accessing the information from a database.
26. The article according to claim 24 wherein the instructions, when executed by the machine, further cause the machine to issue a request to the at least one virtual machine and utilize a response from the at least one virtual machine to respond to the messages from the network-based management server.
27. The article according to claim 26 wherein the instructions, when executed by the machine, further cause the machine to at least one of filter, modify, delete and reorder the response from the at least one virtual machine prior to responding to the messages from the network-based management server.
28. The article according to claim 26 wherein the instructions, when executed by the machine, further cause the machine to aggregate the response from the at least one virtual machine prior to responding to the message from the network-based management server.
29. The article according to claim 24 wherein the instructions, when executed by the machine, further cause the machine to interface with a virtual machine manager to acquire the information.
30. The article according to claim 24 wherein the instructions, when executed by the machine, further cause the machine to group a plurality of virtual machines on the virtual machine host devices into at least one class of virtual machine, access the information for the at least one class of virtual machine running on the virtual machine host device and utilize the information to respond to the message on behalf of the at least one class of virtual machine.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A storage compute device comprising:
a data storage section that facilitates persistently storing host data as data objects;
two or more compute sections that perform computations on the data objects; and
a controller that monitors resource collisions affecting a first of the compute sections, the controller creating a copy of at least one of the data objects to be processed in parallel at a second of the compute sections in response to the resource collisions.
2. The storage compute device of claim 1, wherein creating the copy of the at least one data object comprises storing the copy in a first memory block that can be accessed in parallel with a second memory block that stores the at least one data object.
3. The storage compute device of claim 1, wherein creating the copy of the at least one data object comprises storing the copy in a second storage compute device via a host interface.
4. The storage compute device of claim 1, wherein monitoring the resource collisions comprises counting the resource collisions for each of the data objects, and copying the data objects for which a count of the resource collisions exceeds a threshold.
5. The storage compute device of claim 1, wherein the controller causes the at least one data object and the copy to be marked as read-only after creating the copy.
6. The storage compute device of claim 5, wherein the controller further marks a selected one of the copy and the at least one data object for deletion after an operation affecting the selected data object completes.
7. The storage compute device of claim 6, wherein the controller further performs:
marking the selected data object as reusable; and
reusing the selected data object in response to another resource collision affecting another of the copy and the at least one data object.
8. The storage compute device of claim 6, wherein the controller further performs:
marking the selected data object as reusable;
detecting a modification of another of the copy and the at least one data object; and
marking the selected data object as not reusable.
9. A method comprising:
persistently storing data objects at a storage compute device on behalf of a host, the data objects being internally managed by the storage compute device;
performing computations on the data objects at a compute section of the storage compute device;
monitoring resource collisions affecting at least one of the computations; and
creating a copy of at least one of the data objects to be processed in parallel via a second compute section in response to the resource collisions.
10. The method of claim 9, wherein creating the copy of the at least one data object comprises storing the copy in a first memory block that can be accessed in parallel with a second memory block that stores the at least one data object.
11. The method of claim 9, wherein creating the copy of the at least one data object comprises storing the copy in a second storage compute device via a host interface.
12. The method of claim 9, wherein monitoring the resource collisions comprises counting the resource collisions for each of the data objects, and copying the data objects for which a count of the resource collisions exceeds a threshold.
13. The method of claim 9, further comprising marking the at least one data object and the copy as read-only after creating the copy.
14. The method of claim 13, further comprising marking a selected one of the copy and the at least one data object for deletion after an operation affecting the selected data object completes.
15. The method of claim 14, further comprising:
marking the selected data object as reusable; and
reusing the selected data object in response to another resource collision affecting another of the copy and the at least one data object.
16. The method of claim 14, further comprising:
marking the selected data object as reusable;
detecting a modification of another of the copy and the at least one data object; and
marking the selected data object as not reusable.
17. A system comprising:
a host processor;
a data bus coupled to the host processor; and
a storage compute device coupled to the data bus and comprising:
a data storage section that facilitates persistently storing data objects on behalf of the host processor, the data objects being internally managed by the storage compute device;
two or more compute sections that perform computations on the data objects; and
a controller that monitors resource collisions affecting a first of the compute sections, the controller creating a copy of at least one of the data objects to be processed in parallel at a second of the compute sections in response to the resource collisions.
18. The system of claim 17, wherein creating the copy of the at least one data object comprises storing the copy in a first memory block that can be accessed in parallel with a second memory block that stores the at least one data object.
19. The system of claim 17, further comprising a second storage compute device, and wherein creating the copy of the at least one data object comprises storing the copy in the second storage compute device via the data bus.
20. The system of claim 17, wherein the controller causes the at least one data object and the copy to be marked as read-only after creating the copy.