Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US8972984B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-8972984-B2 |
| Application number | US-201213475055-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 18, 2012 |
| Priority date | May 20, 2011 |
| Publication date | Mar 3, 2015 |
| Grant date | Mar 3, 2015 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure is directed towards methods and systems for virtualizing audio hardware for one or more virtual machines. A control virtual machine (VM) may translate a first stream of audio functions calls from a first VM hosted by a hypervisor. The translated first stream of audio function calls may be destined for a sound card of the computing device executing the hypervisor. The control VM may detect a second stream of audio functions calls from a second VM hosted by the hypervisor. The control VM may translate the second stream of audio functions calls from the second VM. The control VM may further merge the translated first stream of audio function calls and the translated second stream of the audio function calls in response to the detected second stream. The control VM may transmit the merged stream of audio function calls to the sound card.
Opening claim text (preview).
What is claimed: 1. A method for virtualizing audio hardware for at least one virtual machine, the method comprising: receiving, by a control virtual machine hosted by a hypervisor executing on a computing device, a request from a first virtual machine for access to a sound card, the sound card processing audio function calls queued from a second virtual machine, wherein the first virtual machine and the second virtual machine each have respective queues for queuing associated audio function calls; determining, by the control virtual machine, that the first virtual machine requests access to the sound card and has a priority to the sound card higher than that of the second virtual machine; storing, by the control virtual machine, state information of the sound card of the computing device, the state information comprising one or more audio function calls from the second virtual machine queued for the sound card; configuring, by the control virtual machine, a sound card emulation program with at least a portion of the stored state information comprising the one or more audio function calls from the second virtual machine queued for the sound card; redirecting, by the control virtual machine, the second virtual machine from the sound card to the sound card emulation program; and receiving, by the sound card emulation program, additional audio function calls from the second virtual machine. 2. The method of claim 1 , comprising assigning, by the control virtual machine, the sound card to a first virtual machine. 3. The method of claim 1 , comprising configuring a virtual audio driver with the at least a portion of the state information. 4. The method of claim 1 , comprising redirecting the second virtual machine from the sound card to the sound card emulation program without triggering an interrupt or error from an operating system of the second virtual machine. 5. The method of claim 1 , comprising redirecting the second virtual machine from the sound card to the sound card emulation program without the second virtual machine detecting a removal of the sound card. 6. The method of claim 1 , further comprising intercepting, by the control virtual machine, the additional audio function calls from the second virtual machine. 7. The method of claim 1 , comprising replacing, by the control virtual machine, the sound card with the sound card emulation program in a device mapping of the second virtual machine. 8. The method of claim 1 , comprising redirecting, by the control virtual machine, the second virtual machine from the sound card emulation program to the sound card. 9. A method for virtualizing audio hardware for at least one virtual machine, the method comprising: translating, by a control virtual machine hosted by a hypervisor executing on a computing device, a first stream of audio function calls from a first virtual machine hosted by the hypervisor, the translated first stream of audio function calls destined for a sound card of the computing device; detecting, by the control virtual machine, a second stream of audio function calls from a second virtual machine hosted by the hypervisor; translating, by the control virtual machine, the second stream of audio function calls from the second virtual machine; determining, by the control virtual machine, that the first virtual machine requests access to the sound card and has a priority to the sound card and a priority for the second virtual machine to the sound card; merging, by the control virtual machine in response to the detected second stream of audio function calls, the translated first stream of audio function calls and the translated second stream of the audio function calls; advancing or delaying at least one audio function call from the first steam responsive to the determined priority for the first virtual machine and the priority for the second virtual machine; and transmitting, by the control virtual machine, the merged stream of audio function calls to the sound card. 10. The method of claim 9 , comprising merging the translated first stream of audio function calls and the translated second stream of the audio function calls in a first-in-first-out (FIFO) fashion. 11. The method of claim 9 , comprising merging the translated first stream of audio function calls and the translated second stream of the audio function calls. 12. The method of claim 9 , comprising combining two or more of the audio function calls from the first and second streams into one audio function call. 13. The method of claim 9 , comprising detecting a third stream of audio function calls from a third virtual machine hosted by the hypervisor, and translating the third stream of audio function calls from the third virtual machine. 14. The method of claim 13 , comprising determining that the first stream of audio function calls has a higher priority than one or both of the second and third streams of audio function calls. 15. The method of claim 13 , comprising merging the translated versions of the second and third streams of audio function calls into a fourth stream of audio function calls, and merging the translated first stream of audio function calls with the fourth stream of audio function calls into a fifth stream of audio function calls. 16. The method of claim 15 , further comprising providing the translated first stream with at least the same bandwidth or processing quality as the fourth stream of audio function calls. 17. The method of claim 13 , further comprising sending the translated third stream of audio function calls to one of: an emulation program and a second sound card, to generate a first audio output. 18. The method of claim 17 , further comprising mixing, by an audio driver, the first audio output and an audio output of the sound card, for audio rendering.
Management of the audio stream, e.g. setting of volume, audio stream path · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.