P
US9317309B2ActiveUtilityPatentIndex 40

Virtualized environment allocation system and method

Assignee: WALRATH CRAIG APriority: Dec 28, 2006Filed: Dec 28, 2006Granted: Apr 19, 2016
Est. expiryDec 28, 2026(~0.5 yrs left)· nominal 20-yr term from priority
Inventors:WALRATH CRAIG A
G06F 9/5077G06F 9/45533G06F 9/5011G06F 13/14G06F 9/46G06F 12/08
40
PatentIndex Score
0
Cited by
45
References
31
Claims

Abstract

A virtualized environment allocation system comprises a computer system having a plurality of virtualized stacks, the computer system configured to have a plurality of input/output (I/O) devices coupled thereto, and an allocation controller configured to allocate at least one of the plurality of I/O devices to a first of the plurality of virtualized stacks and at least another of the plurality of I/O devices to a second of the plurality of virtualized stacks.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A virtualized environment allocation system, comprising:
 a computer system having a plurality of virtualized stacks, the computer system configured to have a plurality of input/output (I/O) devices coupled thereto; and 
 an allocation controller configured to allocate, according to at least one rule, at least one of the plurality of I/O devices to a first of the plurality of virtualized stacks and at least another of the plurality of I/O devices to a second of the plurality of virtualized stacks, wherein the at least one rule specifies allocation of a particular one of the plurality of I/O device; and 
 wherein the allocation controller is further configured to reallocate, according to the at least one rule, the at least one I/O device to another virtualized stack in response to a give I/O device being connected to the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the given I/O device is connected to the computer system. 
 
     
     
       2. The system of  claim 1 , wherein the allocation controller is configured to dynamically allocate the plurality of I/O devices to the plurality of virtualized stacks. 
     
     
       3. The system of  claim 1 , further comprising a set of prioritization rules accessible by the allocation controller for determining which of the plurality of I/O devices should be allocated to which of the plurality of virtualized stacks, wherein the at least one rule is part of the set. 
     
     
       4. The system of  claim 1 , wherein the allocation controller is configured to reallocate the at least one I/O device to another virtualized stack in response to an event. 
     
     
       5. The system of  claim 1 , wherein the allocation controller is configured to allocate the at least one I/O device to the first virtualized stack based on a function of the first virtualized stack. 
     
     
       6. The system of  claim 1 , wherein the allocation controller is configured to allocate at leas tone of the plurality of I/O devices to at least one of the plurality of virtualized stacks based on prioritization among the plurality of virtualized stacks. 
     
     
       7. The system of  claim 1 , wherein allocation of the at least another I/O device is contingent upon the allocation of the at least one I/O device. 
     
     
       8. The system of  claim 1 , wherein the allocation controller is configured to reallocate, according to the at least one rule, the at least one I/O device to another virtualized stack in response to opening of an application on the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the application is opened. 
     
     
       9. The system of  claim 1 , wherein the allocation controller is configured to reallocate, according to the at least one rule, the at least one I/O device to another virtualized stack in response to closing of an application on the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the application is closed. 
     
     
       10. The system of  claim 1 , wherein the allocation controller is configured to reallocated the at least one I/O device to another virtualized stack in response to a given I/O device being disconnected from the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the given I/O device is disconnected from the computer system. 
     
     
       11. The system of  claim 1 , wherein the at least one rule specifies allocation of the particular I/O device to the first virtualized stack if the particular I/O device has a first function, and the at least one rule specifies allocation of the particular I/O device to the second virtualized stack if the particular I/O device has a second, different function. 
     
     
       12. The system of  claim 1 , wherein the allocation controller is part of the computer system. 
     
     
       13. The system of  claim 1 , wherein the at least one rule specifies allocation of the at least another of the plurality of I/O devices is to be allocated to the second virtualized stack if a particular component is present in the system, and to specify allocation of the at least another of the plurality of I/O devices to a different one of the plurality of virtualized stacks if the particular component is not present in the system. 
     
     
       14. The system of  claim 1 , wherein the at least one rule specifies allocation of the at least another of the plurality of I/O devices to the second virtualized stack in response to an application running in the system, and to specify allocation of the at least another of the plurality of I/O devices to a different one of the plurality of virtualized stacks if the application is not running in the system. 
     
     
       15. The system of  claim 1 , wherein the at least one rule specifies allocation of the at least one I/O device to the first virtualized stack if the first virtualized stack is running, and the at least one rule further specifies allocation of the at least one I/O device to a different one of the virtualized stacks if the first virtualized stack is not running. 
     
     
       16. A virtualized environment allocation method, comprising:
 identifying a plurality of input/output (I/O) devices coupled to a computer system, the computer system having a plurality of virtualized stacks; 
 allocating, according to at least one rule, at least one of the plurality of I/O devices to a first of the plurality of virtualized stacks and at least another of the plurality of I/O devices to a second of the plurality of virtualized stacks, wherein the at least one rule specifies allocation of a particular one of the plurality of I/O devices to a selected one of the plurality of virtualized stacks based on a function of the particular I/O device; and 
 reallocating, according to the at least one rule, the at least one I/O device to another virtualized stack in response to a given I/O device being connected to the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the given I/O device is connected to the computer system. 
 
     
     
       17. The method of  claim 16 , further comprising dynamically allocating the plurality of I/O devices to the plurality of virtualized stacks. 
     
     
       18. The method of  claim 16 , further comprising accessing a set of prioritization rules for determining which of the plurality of I/O devices should be allocated to which set of the plurality of virtualized stacks, wherein the at least one rule is part of the set. 
     
     
       19. The method of  claim 16 , further comprising reallocating, according to the at least one rule, the at least one I/O device to another virtualized stack in response to an event, wherein the at least one rule specifies allocation of the at least one I/O device to the first virtualized stack unless the event occurs. 
     
     
       20. The method of  claim 16 , further comprising allocating the at least one I/O device to the first virtualized stack based on a function of the first virtualized stack. 
     
     
       21. The method of  claim 16 , further comprising allocating the at least one of the plurality of I/O devices to at least one of the plurality of virtualized stacks based on prioritization among the plurality of virtualized stacks. 
     
     
       22. The method of  claim 16 , further comprising allocating the at least another I/O device based on the allocation of the at least one I/O device. 
     
     
       23. The method of  claim 16 , further comprising reallocating, according to the at least one rule, the at least one I/O device to another virtualized stack in response to opening of an application on the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the application is opened. 
     
     
       24. The method of  claim 16 , further comprising reallocating, according to the at least one rule, the at least one I/O device to another virtualized stack in response to closing of an application on the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the application is closed. 
     
     
       25. The method of  claim 16 , further comprising reallocating, according to the at least one rule, the at least one I/O device to another virtualized stack in response to a given I/O device being disconnected from the computer system, wherein the at least one rule specifies that the at least one I/O device is to be allocated to the first virtualized stack unless the given I/O device is disconnected from the computer system. 
     
     
       26. A virtualized environment allocation system, comprising:
 at least one central processing unit (CPU); and 
 an allocation controller executable on the at least one CPU to allocate at least a first one of a plurality of I/O devices to a first of a plurality of virtualized stacks of a computer and at least a second one of the plurality of I/O devices to a second of the plurality of virtualized stacks, wherein the allocation controller is executable to further determine a function of the first one of the plurality of I/O devices and allocate the first one of the plurality of I/O devices to the first of the plurality of virtualized stacks based on the determined function of the first one of the plurality of I/O devices; and 
 wherein the allocation controller is executable to further reallocate the first  11 O device from the first virtualized stack to another of the virtualized stacks in response to 10 detecting addition or removal of a component in the computer. 
 
     
     
       27. The system of  claim 26 , wherein the allocation controller is executable to dynamically allocate the plurality of I/O devices to the plurality of virtualized stacks. 
     
     
       28. The system of  claim 26 , wherein the allocation controller is executable to further identify a prioritization among the plurality of virtualized stacks for allocating at least one of the plurality of I/O devices thereto. 
     
     
       29. The system of  claim 26 , wherein the allocation controller is executable to control allocation of the plurality of I/O devices among the plurality of virtualized stacks according to at least one rule, wherein the at least one rule specifies allocation of a particular one of the I/O devices to a selected one of the plurality of virtualized stacks based on a function of the particular I/O device. 
     
     
       30. A non-transitory computer-readable medium having stored thereon an instruction set to be executed, the instruction set, when executed by a processor, causes the processor to:
 determine a function of at least a first one of a plurality of I/O devices; 
 allocate the first one of the plurality of I/O devices to a first of a plurality of virtualized stacks of a computer system based on the determined function of the first one of the plurality of I/O devices and at least a second one of the plurality of I/O devices to a second of the plurality of virtualized stacks; and 
 reallocate the first I/O device from the first virtualized stack to another of the virtualized stacks in response to detecting addition or removal of a component in the computer system. 
 
     
     
       31. The computer-readable medium of  claim 30 , wherein the instruction set, when executed by the processor, causes the processor to dynamically allocate the plurality of I/O devices to the plurality of virtualized stacks.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.