Methods and systems for virtualizing audio hardware for one or more virtual machines

US8972984B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8972984-B2
Application numberUS-201213475055-A
CountryUS
Kind codeB2
Filing dateMay 18, 2012
Priority dateMay 20, 2011
Publication dateMar 3, 2015
Grant dateMar 3, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8972984B2 cover?
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 cont…
Who is the assignee on this patent?
Meisner Steven, Guyader Jean, Pratt Ian, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 03 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).