Method and apparatus for constructing host processor soft devices independent of the host processor operating system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/455
G06F-013/10
G06F-009/54
G06F-009/46
출원번호
US-0823482
(2001-03-30)
등록번호
US-7272831
(2007-09-18)
발명자
/ 주소
Cota Robles,Erik
Chou,Stephen
Jeyasingh,Stalinselvaraj
Kagi,Alain
Kozuch,Michael
Neiger,Gilbert
Uhlig,Richard
출원인 / 주소
Intel Corporation
대리인 / 주소
Blakely, Sokoloff, Taylor & Zafman LLP
인용정보
피인용 횟수 :
35인용 특허 :
152
초록▼
A method and apparatus for constructing host processor soft devices independent of the host processor operating system are provided. In one embodiment, a driver of a soft device is implemented in a virtual machine monitor (VMM), and the soft device is made available for use by one or more virtual m
A method and apparatus for constructing host processor soft devices independent of the host processor operating system are provided. In one embodiment, a driver of a soft device is implemented in a virtual machine monitor (VMM), and the soft device is made available for use by one or more virtual machines coupled to the VMM. In an alternative embodiment, a software component of a soft device is implemented in a first virtual machine that is coupled to a VMM, and the soft device is made available for use by a second virtual machine coupled to the VMM.
대표청구항▼
What is claimed is: 1. A system comprising: a hardware platform including a residual fixed function hardware device represented by a hardware component of a soft device; a first virtual machine, coupled to the hardware platform, the first virtual machine including a driver of the soft device, the s
What is claimed is: 1. A system comprising: a hardware platform including a residual fixed function hardware device represented by a hardware component of a soft device; a first virtual machine, coupled to the hardware platform, the first virtual machine including a driver of the soft device, the soft device driver controlling the residual fixed function hardware device; a second virtual machine, coupled to the hardware platform, the second virtual machines utilizing the soft device when needed, the soft device being independent of an operating system run by the second virtual machine; and a virtual machine monitor (VMM), coupled to the hardware platform and the first and second virtual machines, to present the first virtual machine to the second virtual machine as an external or internal device, and to emulate communication between the first and second virtual machines using a virtualized connectivity means linked to the driver of the soft device, wherein the VMM emulates communication between the first and second virtual machines by trapping accesses of one of the virtual machines to the virtualized connectivity means, and redirecting the accesses to another of the virtual machines via the virtualized connectivity means. 2. A method for constructing a soft device, the method comprising: implementing a software component of the soft device in a first virtual machine, the software component controlling a residual fixed function hardware device represented by a hardware component of the soft device; and making the soft device available for use by a second virtual machine, the soft device being independent of an operating system run by the second virtual machines; wherein making the soft device available comprises: presenting the first virtual machine to the second virtual machine as an external or internal device; and emulating communication between the first and second virtual machines using a virtualized connectivity means linked to the software component of the soft device, wherein accesses to the virtualized connectivity means by one of the virtual machines are trapped and redirected to another of the virtual machines via the virtualized connectivity means. 3. The method of claim 2 wherein emulating communication comprises: providing a virtualized serial communications link; providing a virtualized serial communications port to each of the first virtual machine and the second virtual machine; linking the virtualized serial communications port provided to the first virtual machine to the software component of the soft device using reflection software; trapping each access by one of the first virtual machine and the second virtual machine to the virtualized serial communication port; and reflecting said each access to the other of the first virtual machine and the second virtual machine via the virtualized serial communications link. 4. The method of claim 2 wherein emulating communication comprises: providing a virtualized universal serial bus (USB) to USB bridge device; providing a virtualized USB host controller to each of the first virtual machine and the second virtual machine; linking the virtualized USB host controller provided to the first virtual machine to the software component of the soft device using reflection software; trapping each access by one of the first virtual machine and the second virtual machine to the virtualized USB host controller; and reflecting said each access to the other of the first virtual machine and the second virtual machine via the virtualized USB to USB bridge device. 5. The method of claim 2 wherein emulating communication further companies: providing a virtualized peripheral component interconnect (PCI) bus; linking the virtualized PCI bus to the software component of the soft device using reflection software; trapping each access by one of the first virtual machine and the second virtual machine to the virtualized PCI bus; and reflecting said each access to the other of the first virtual machine and the second virtual machine. 6. The method of claim 2 further comprising: providing a virtual network interface card (NIC) to each of the first virtual machine and the second virtual machine. 7. The method of claim 2 wherein the external or internal device is a hardware device. 8. The method of claim 7 wherein emulating communication comprises: providing a virtualized peripheral component interconnect (PCI) bus; trapping each access by one of the first virtual machine and the second virtual machine to the virtualized PCI bus; and reflecting said each access to the other of the first virtual machine and the second virtual machine via the virtualized PCI bus. 9. The method of claim 7 wherein emulating communication comprises: providing a virtualized universal serial bus (USB) connection; providing a virtualized USB bus interface to the first virtual machine; providing a virtualized USB host controller to the second virtual machine; trapping each access by one of the first virtual machine and the second virtual machine to the virtualized USB bus; and reflecting said each access to the other of the first virtual machine and the second virtual machine via the virtualized USB connection. 10. The method of claim 7 wherein the hardware device is any one of a PCI card, an external USB device, an internal USB device, and any other standard personal computer peripheral device. 11. The method of claim 7 wherein presenting the first virtual machine to the second virtual machine as a hardware device further comprises: configuring the first virtual machine to match the hardware device. 12. The method of claim 11 wherein the software component of the soft device comprises at least a portion of software of a fixed function device. 13. The method of claim 12 further comprising: varying the portion of software that is used as the software component depending on how closely the first virtual machine matches the hardware device. 14. A method for constructing a soft device, the method comprising: implementing software components of the soft device in a plurality of dedicated virtual machines, each of the software components controlling a residual fixed function hardware device represented by a hardware component of the soft device; and making the soft device available for use by a main virtual machine, the soft device being independent of an operating system run by the main virtual machine; wherein making the soft device available comprises: presenting the plurality of dedicated virtual machines to the main virtual machine as a hardware device; and emulating communication between the plurality of dedicated virtual machines and the main virtual machine using a virtualized communication means linked to the software components of the soft device, wherein accesses to the virtualized communication means by one virtual machine are trapped and redirected to another virtual machine via the virtualized communication means. 15. The method of claim 14 wherein the virtualized communication means is any one of a virtualized serial communications link, a virtualized universal serial bus (USB) to USB bridge device, a virtualized peripheral component interconnect (PCI) bus, a virtual network interface card, and a virtualized USB connection. 16. A system comprising: a hardware platform including a residual fixed function hardware device represented by a hardware component of a soft device; a virtual machine monitor (VMM), coupled to the hardware platform; and a plurality of virtual machines, coupled to the virtual machine monitor, the plurality of virtual machines including one or more dedicated virtual machines with one or more software components of the soft device implemented therein, and remaining one or more virtual machines utilizing the soft device when needed, the soft device being independent of any operating system run by the virtual machines; wherein the VMM is to present the dedicated of virtual machines to others of the plurality of virtual machines as a hardware device, and to emulate communication between the dedicated of virtual machines and the other virtual machines using a virtualized communication means linked to the software component of the soft device, the VMiM emulating the communication by trapping accesses of one virtual machine to the virtualized communication means and redirecting the accesses to another virtual machine via the virtualized communication means. 17. The system of claim 16 wherein the VMM is emulating a network communication between the plurality of virtual machines by providing a virtual network interface card (NIC) to each of the plurality of virtual machines. 18. The system of claim 16 wherein the hardware device is any one of a PCI card, an external USB device, an internal USB device, and any other standard personal computer peripheral device. 19. The system of claim 16 wherein the virtualized communication means is any one of a virtualized serial communications link, a virtualized universal serial bus (USB) to USB bridge device, a virtualized peripheral component interconnect (PCI) bus, a virtual network interface card, and a virtualized USB connection. 20. A computer readable storage medium comprising instructions, executed on a processor, causing said processor to perform operations comprising: implementing a software component of the soft device in a first virtual machine, the software component controlling a residual fixed function hardware device represented by a hardware component of the soft device; and making the soft device available for use by a second virtual machine, the soft device being independent of an operating system run by the second virtual machine; wherein making the soft device available comprises: presenting the first virtual machine to the second virtual machine as an external or internal device; and emulating communication between the first and second virtual machines using a virtualized connectivity means linked to the software component of the soft device, wherein accesses to the virtualized connectivity means by one of the virtual machines are trapped and redirected to another of the virtual machines via the virtualized connectivity means. 21. A computer readable storage medium comprising instructions, executed on a processor, causing said processor to perform operations comprising: implementing software components of the soft device in a plurality of dedicated virtual machines, each of the software components controlling a residual fixed function hardware device represented by a hardware component of the soft device; and making the soft device available for use by a main virtual machine, the soft device being independent of an operating system run by the main virtual machine; wherein making the soft device available comprises: presenting the plurality of dedicated virtual machines to the main virtual machine as a hardware device; and emulating communication between the plurality of dedicated virtual machines and the main virtual machine using a virtualized communication means linked to the software components of the soft device, wherein accesses to the virtualized communication means by one virtual machine are trapped and redirected to another virtual machine via the virtualized communication means.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (152)
Ryba Edward G. (Milpitas CA) Lipman Peter H. (Cupertino CA) Connell Jefferson J. (Cupertino CA) Weiss David (Palo Alto CA), Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB).
Bealkowski Richard (Delray Beach FL) Blackledge ; Jr. John W. (Boca Raton FL) Cronk Doyle S. (Boca Raton FL) Dayan Richard A. (Boca Raton FL) Dixon Jerry D. (Boca Raton FL) Kinnear Scott G. (Boca Rat, Apparatus and method for preventing unauthorized access to BIOS in a personal computer system.
Brelsford David P. (Hyde Park NY) Cutler Melvin M. (Los Angeles CA) Lafitte Jean-Louis (Moens NY FRX) Gdaniec Joseph M. (Hyde Park NY) Osisek Damian L. (Vestal NY) Plambeck Kenneth E. (Poughkeepsie N, Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virt.
Heller Andrew R. (Morgan Hill CA) Worley ; Jr. William S. (Endicott NY), Authorization mechanism for transfer of program control or data between different address spaces having different storag.
Ermolovich Thomas R. (Lexington MA) Stewart Robert E. (Stow MA) Leonard Judson S. (Acton MA) Cutler David N. (Nashua NH), Communications device for data processing system.
Ellison, Carl M.; Golliver, Roger A.; Herbert, Howard C.; Lin, Derrick C.; McKeen, Francis X.; Neiger, Gilbert; Reneris, Ken; Sutton, James A.; Thakkar, Shreekant S.; Mittal, Millind, Controlling access to multiple isolated memories in an isolated execution environment.
Ellison, Carl M.; Golliver, Roger A.; Herbert, Howard C.; Lin, Derrick C.; McKeen, Francis X.; Neiger, Gilbert; Reneris, Ken; Sutton, James A.; Thakkar, Shreekant S.; Mittal, Millind, Controlling access to multiple memory zones in an isolated execution environment.
Curtis, Bryce Allen, Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment.
Morley Richard E. (Greenville NH), Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and met.
Ellison, Carl M.; Golliver, Roger A.; Herbert, Howard C.; Lin, Derrick C.; McKeen, Francis X.; Neiger, Gilbert; Reneris, Ken; Sutton, James A.; Thakkar, Shreekant S.; Mittal, Millind, Executing isolated mode instructions in a secure system running in privilege rings.
Nakamura Kouji,JPX, Exposure apparatus, output control method for energy source, laser device using the control method, and method of producing microdevice.
Adams Phillip M. (Parowan UT) Holmstron Larry W. (Salt Lake City UT) Jacob Steve A. (South Weber UT) Powell Steven H. (Ogden UT) Condie Robert F. (Tuscon AZ) Culley Martin L. (Tuscon AZ), Kernels, description tables, and device drivers.
Lim, Beng-Hong; Bugnion, Edouard; Devine, Scott W., Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction.
Johnson James Scott (Fort Worth TX) Short Tim (Duncanville TX) Intrater Gideon (Sunnyvale CA), Memory management circuit which provides simulated privilege levels.
Chemin Francois (Plaisir FRX) Ugon Michel (Maurepas FRX), Method and apparatus for certifying services obtained using a portable carrier such as a memory card.
Cotichini Christian,CAX ; Cain Fraser,CAX ; Ashworth David G.,CAX ; Livingston Peter Michael Bruce,CAX ; Solymar Gabor,CAX ; Gardner Philip B.,CAX ; Woinoski Timothy S.,CAX, Method and apparatus to monitor and locate an electronic device using a secured intelligent agent.
Luiz Fernando A. (Monte Sereno CA) Snyder Harlan C. (Saratoga CA) Sorg ; Jr. John H. (Los Gatos CA), Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system.
Kahle James Allan ; Loper Albert J. ; Mallick Soummya ; Ogden Aubrey Deene ; Sell John Victor, Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions w.
Hazard Michel (Mareil/Mauldre FRX) Ugon Michel (Maurepas FRX), Method for authenticating an external authorizing datum by a portable object, such as a memory card.
Melo Michael D. (Billerica MA), Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 8048.
Hazard Michel (Mareil/Mauldre FRX), Method for certifying the authenticity of a datum exchanged between two devices connected locally or remotely by a trans.
Ugon Michel (Maurepas FRX) Oisel Andr (Elancourt FRX), Method for checking the integrity of a program or data, and apparatus for implementing this method.
Greenstein Paul Gregory ; Guyette Richard Roland ; Rodell John Ted, Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for.
Panwar Ramesh ; Chamdani Joseph I., Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency.
Scalzi Casper A. (Poughkeepsie NY) Starke William J. (Austin TX), Method of using a target processor to execute programs of a source architecture that uses multiple address spaces.
Blomgren James S. (San Jose CA) Bracking Jimmy (San Jose CA) Richter David (San Jose CA) Spahn Francis (El Cerrito CA), Microprocessor with operation capture facility.
Hough Roger E. (Austin TX) Murray Robert E. (Kingston NY), Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals.
McDonald, Michael F.; Arora, Sumeet; Chu, Mark, Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore.
Reardon David C., Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place.
Neufeld E. David (Tomball TX), Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data trans.
Provanzano Salvatore R. (Melrose MA) Aldrich Wilbert H. (Winchester MA) D\Angelo Robert A. (Windham NH) Drottar Emil P. (Ipswich MA) Finnegan ; Jr. John J. (Hudson NH) Heom James (Bedford MA) Hill La, Programmable controller.
John K. Gee ; David A. Greve ; David S. Hardin ; Allen P. Mass ; Michael H. Masters ; Nick M. Mykris ; Matthew M. Wilding, Real time processor capable of concurrently running multiple independent JAVA machines.
Goire Christian (Les Clayes Sous Bois FRX) Sigaud Alain (Elancourt FRX) Moyal Eric (Paris FRX), Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal.
Mark J. Foster ; Saifuddin T. Fakhruddin ; James L. Walker ; Matthew B. Mendelow ; Jiming Sun ; Rodman S. Brahman ; Michael P. Krau ; Brian D. Willoughby ; Michael D. Maddix ; Steven L. Belt, Suspend/resume capability for a protected mode microprocesser.
Angelo Michael F. ; Olarig Sompong P. ; Wooten David R. ; Driscoll Dan J., System and method for performing secure device communications in a peer-to-peer bus architecture.
Hasha, Richard L.; Christian, Bradford A.; Elsbree, John E.; Osborne, Timothy R., System for networked component address and logical network formation and maintenance.
Nardone Joseph M. ; Mangold Richard P. ; Pfotenhauer Jody L. ; Shippy Keith L. ; Aucsmith David W. ; Maliszewski Richard L. ; Graunke Gary L., Tamper resistant methods and apparatus.
Nardone Joseph M. ; Mangold Richard T. ; Pfotenhauer Jody L. ; Shippy Keith L. ; Aucsmith David W. ; Maliszewski Richard L. ; Graunke Gary L., Tamper resistant methods and apparatus.
Nardone Joseph M. ; Mangold Richard P. ; Pfotenhauer Jody L. ; Shippy Keith L. ; Aucsmith David W. ; Maliszewski Richard L. ; Graunke Gary L., Tamper resistant player for scrambled contents.
Harrison, Keith; Brown, Richard; Dalton, Chris I., Dynamic virtualization and policy-based access control of removable storage devices in a virtualized environment.
Cook, Randall R.; Berryman, Kenneth, Filtering I/O communication of guest OS by inserting filter layer between hypervisor and VM and between hypervisor and devices.
Dobrovolskiy, Nikolay N.; Omelyanchuk, Andrey A.; Tormasov, Alexander G.; Protassov, Stanislav S.; Beloussov, Serguei M., Methods and systems for determining potentially unsafe instructions in a virtual machine context and activating a software debugger to process the potentially unsafe instructions.
Dobrovolskiy, Nikolay N.; Omelyanchuk, Andrey A.; Tormasov, Alexander G.; Protassov, Stanislav S.; Beloussov, Serguei M., Methods and systems for safe execution of guest code in virtual machine context.
Dobrovolskiy, Nikolay N.; Omelyanchuk, Andrey A.; Tormasov, Alexander G.; Protassov, Stanislav S.; Beloussov, Serguei M., Methods and systems for safe execution of guest code in virtual machine context.
Gopalakrishnan, Praveen; Liu, Hsin-Yuo; Kumar, Sanjay; Yang, Xue; Schoenberg, Sebastian, Methods and systems to implement a physical device to differentiate amongst multiple virtual machines of a host computer system.
Yang, Xue; Liu, Hsin-Yuo; Gopalakrishnan, Praveen; Schoenberg, Sebastian; Kumar, Sanjay, Methods and systems to permit multiple virtual machines to separately configure and access a physical device.
Mo, Sang-Dok; Jeong, Bok-Deuk; Suh, Sang-Bum; Lee, Sung-Min, Setting server operating system as main domain to provide integrated user interface for a plurality of client operating system set as sub-domains.
Alpern, Bowen L.; Auerbach, Joshua S.; Bala, Vasanth; Frauenhofer, Thomas V.; George, Jobi; Mummert, Todd W.; Pigott, Michael A., Simplifying the deployment and serviceability of commercial software environments.
Cherkasova, Ludmila; Gardner, Robert D., System and method for attributing to a corresponding virtual machine CPU usage of a domain in which a shared resource's device driver resides.
Cherkasova, Ludmila; Gardner, Robert D., System and method for attributing to a corresponding virtual machine CPU usage of an isolated driver domain in which a shared resource's device driver resides.
Narayanaswami, Chandrasekhar; Raghunath, Mandayam Thondanur; Ravi, Nishkam; Rosu, Marcel-Catalin, System and method for validating a computer platform when booting from an external device.
Cherkasova, Ludmila; Gupta, Diwaker; Gardner, Robert D., Systems and methods for flexibly controlling resource usage by a driver domain on behalf of a virtual machine.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.