Methods of using a peripheral component interconnect express (pcie) device in a virtual environment are disclosed. Two operating systems operate on a primary device. One operating system acts as a guest in a virtual environment within the primary device. A peripheral device is coupled to the primary device through a wireless connection. In an exemplary embodiment, the wireless connection is a pcie bridge. The host operating system interfaces directly with the memory elements and hardware of the primary device. The guest operating system interoperates with the memory elements and hardware of the peripheral device. The use of the pcie wireless link allows the guest operating system to interface with the elements of the peripheral device with relatively little latency.
|
17. A method of using a peripheral device with a mobile terminal, comprising:
providing a wireless peripheral component interconnect express (pcie) bridge in the mobile terminal;
wirelessly connecting the wireless pcie bridge to a wireless pcie transceiver in the peripheral device;
operating a first operating system on the mobile terminal such that the first operating system uses memory resources only within the mobile terminal; and
operating a second operating system within a virtual environment on the mobile terminal such that the second operating system uses memory resources of the peripheral device through the wireless pcie bridge, wherein the virtual environment maps direct memory access requests of the second operating system to the memory resources of the peripheral device.
7. A computing system comprising:
a primary device comprising:
a user interface;
a primary memory element;
a primary wireless transceiver configured to communicate with a peripheral wireless transceiver in a peripheral device so that the primary device and the peripheral device are communicatively coupled; and
a control system configured to:
support two operating systems such that a first operating system of the two operating systems is configured to interact with the primary memory element and not a peripheral memory element and a second operating system of the two operating systems is configured to be a virtual operating system and interact with the peripheral memory element through a virtual environment and the wireless transceivers, wherein the virtual environment maps direct memory access requests of the second operating system to the peripheral memory element.
14. A computing system comprising:
a primary device comprising:
a user interface;
a primary memory element;
a primary wire based peripheral component interconnect express (pcie) bridge configured to communicate with a peripheral switch in a peripheral device so that the primary device and the peripheral device are communicatively coupled; and
a control system configured to:
support two operating systems such that a first operating system of the two operating systems is configured to interact with the primary memory element and not a peripheral memory element and a second operating system of the two operating systems is configured to be a virtual operating system and interact with the peripheral memory element through a virtual environment and the primary wire based pcie bridge, wherein the virtual environment maps direct memory access requests of the second operating system to the peripheral memory element.
1. A computing system comprising:
a peripheral device comprising a peripheral memory element and a peripheral wireless transceiver; and
a primary device comprising:
a user interface;
a primary memory element;
a primary wireless transceiver configured to communicate with the peripheral wireless transceiver so that the primary device and the peripheral device are communicatively coupled; and
a control system configured to:
support two operating systems such that a first operating system of the two operating systems is configured to interact with the primary memory element and not the peripheral memory element and a second operating system of the two operating systems is configured to be a virtual operating system and interact with the peripheral memory element through a virtual environment and the wireless transceivers, wherein the virtual environment maps direct memory access requests of the second operating system to the peripheral memory element.
4. The computing system of
5. The computing system of
6. The computing system of
9. The computing system of
10. The computing system of
11. The computing system of
12. The computing system of
13. The computing system of
15. The computing system of
16. The computing system of
19. The method of
20. The method of
22. The method of
|
I. Field of the Disclosure
The technology of the disclosure relates generally to virtual environments within computing devices.
II. Background
Computing devices have become common throughout society. While a handful of operating systems are used for these devices, the fact remains that there are a plurality of essentially mutually exclusive operating systems available for use on computing devices. There may be situations where a user of a computing device may want to operate multiple operating systems concurrently.
One solution for allowing a user to operate multiple operating systems concurrently is the use of a virtualized environment. One successful commercial implementation of this concept is APPLE's ability to run a WINDOWS environment concurrently with the APPLE operating system. While APPLE has shown that virtual environments for WINDOWS are commercially viable, this option is currently limited to desk top machines and lap tops designed to accommodate the virtual environment.
Other computing devices, and particularly mobile computing devices, do not have the benefit of the APPLE architecture. Even APPLE's iPHONE® with its myriad capabilities does not provide effective virtual environments. If there were more virtual environment options, end users would have more flexibility in how they used such mobile devices.
Embodiments disclosed in the detailed description include methods of using a peripheral component interconnect express (PCIe) device in a virtual environment. Exemplary embodiments of the present disclosure relate to techniques that allow two operating systems to operate on a primary device. One operating system acts as a guest in a virtual environment within the primary device. A peripheral device is coupled to the primary device through a wireless connection. In an exemplary embodiment, the wireless connection is a PCIe bridge. The host operating system interfaces directly with the memory elements and hardware of the primary device. The guest operating system interoperates with the memory elements and hardware of the peripheral device. The use of the PCIe wireless link allows the guest operating system to interface with the elements of the peripheral device with relatively little latency.
A second embodiment of the present disclosure relates to the mechanism through which the virtual environment is created. In particular, a virtualization table will translate the actual physical address in host memory into another physical memory in the peripheral device. This way, once the address is delegated, the virtual environment client will connect to the remote hardware directly.
In this regard in one embodiment, a computing system is disclosed. The computing device comprises a peripheral device comprising a peripheral memory component and a peripheral wireless transceiver. The computing system further comprises a primary device. The primary device comprises a user interface and a primary memory element. The primary device also comprises a primary wireless transceiver configured to communicate with the peripheral wireless transceiver so that the primary device and the peripheral device are communicatively coupled. The primary device also comprises a control system. The control system is configured to support two operating systems such that a first of the two operating systems is configured to interact with the primary memory element and not the peripheral memory element and a second of the two operating systems is configured to be a virtual operating system and interact with the peripheral memory element through the wireless transceivers.
In another embodiment, a computing system is disclosed. The computing system comprises a primary device. The primary device comprises a user interface. The primary device also comprises a primary memory element. The primary device also comprises a primary wireless transceiver configured to communicate with a peripheral wireless transceiver in a peripheral device so that the primary device and the peripheral device are communicatively coupled. The primary device also comprises a control system. The control system is configured to support two operating systems such that a first of the two operating systems is configured to interact with the primary memory element and not a peripheral memory element and a second of the two operating systems is configured to be a virtual operating system and interact with the peripheral memory element through the wireless transceivers.
In another embodiment, a computing system is disclosed. The computing system comprises a primary device. The primary device comprises a user interface. The primary device also comprises a primary memory element. The primary device also comprises a primary wire based PCIe bridge configured to communicate with a peripheral switch in a peripheral device so that the primary device and the peripheral device are communicatively coupled. The primary device also comprises a control system. The control system is configured to support two operating systems such that a first of the two operating systems is configured to interact with the primary memory element and not a peripheral memory element and a second of the two operating systems is configured to be a virtual operating system and interact with the peripheral memory element through the PCIe bridge.
In another embodiment, a method of using a peripheral device with mobile terminal is disclosed. The method comprises providing a wireless PCIe bridge in the mobile terminal. The method also comprises wirelessly connecting the PCIe bridge to a wireless PCIe transceiver in the peripheral device. The method also comprises operating a first operating system on the mobile terminal such the first operating system uses memory resources only within the mobile terminal. The method also comprises operating a second operating system within a virtual environment on the mobile terminal such that the second operating system uses memory resources of the peripheral device through the wireless PCIe bridge.
With reference now to the drawing figures, several exemplary embodiments of the present disclosure are described. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
Embodiments disclosed in the detailed description include methods of using a peripheral component interconnect express (PCIe) device in a virtual environment. Exemplary embodiments of the present disclosure relate to techniques that allow two operating systems to operate on a primary device. One operating system acts as a guest in a virtual environment within the primary device. A peripheral device is coupled to the primary device through a wireless connection. In an exemplary embodiment, the wireless connection is a PCIe bridge. The host operating system interfaces directly with the memory elements and hardware of the primary device. The guest operating system interoperates with the memory elements and hardware of the peripheral device. The use of the PCIe wireless link allows the guest operating system to interface with the elements of the peripheral device with relatively little latency.
A second embodiment of the present disclosure relates to the mechanism through which the virtual environment is created. In particular, a virtualization table will translate the actual physical address in host memory into another physical memory in the peripheral device. This way, once the address is delegated, the virtual environment client will connect to the remote hardware directly.
Before addressing exemplary embodiments of the present disclosure, it is worth noting that the increasing prevalence of mobile terminals such as smart phones and tablets has created new opportunities as people continue to think of new ways to use these devices. For example, the relatively small screen size of a smart phone such as the iPHONE® means that some people strain to read the contents of the display. Even the larger screen of tablet style devices like the KINDLE™ or iPAD™ are still substantially smaller than traditional television screens or desktop computer monitors. Accordingly, efforts have been made to make such mobile terminals interoperate with various peripheral devices such as large screen monitors. However, to date, the interoperation of such peripheral monitors treats the monitor as a slave device that merely duplicates the desktop of the mobile terminal (e.g., the wallpaper and icons of the smart phone are displayed without change on the monitor). In many instances, the operating system of the smart phone is not optimized to use the improved resolution and size of such peripheral monitors.
Even with the availability of peripheral devices such as keyboards and monitors, the functionality of the peripheral device is still limited by the functionality of the underlying operating system of the mobile terminal. That is, some operating systems such as UBUNTU may be optimized to display video content, while others may be optimized to facilitate other forms of processing. One solution is to run a second operating system in a virtual environment on the mobile terminal. However, current limitations that treat the monitor as a slave device of the mobile terminal mean that the second operating system cannot fully utilize the resources of the peripheral device.
Exemplary embodiments of the present disclosure propose to connect a peripheral device to a primary or host computing device with two operating systems. The first operating system is the native or default operating system, and the second operating system is a guest operating system that operates in a virtual environment within the host computing device. A virtualization table redirects instructions from the second operating system to memory elements within the peripheral device over a PCIe connection. In an exemplary embodiment, the PCIe connection is a WiGig connection operating at approximately 60 GHz. The speed of such a connection means that there is little latency. In this manner, an operating system optimized for operating the computing device may be the native operating system and the virtual operating system may be optimized to use the peripheral device. For example, an android operating system may be native to a smart phone and UBUNTU be the virtual operating system to show video on a peripheral monitor.
While the embodiments of the present disclosure are applicable to a variety of computing devices, an exemplary embodiment is a mobile terminal such as a smart phone, tablet, or the like. Thus, a mobile terminal 10 is illustrated in
With reference to
The receiver path 22 receives information bearing RF signals from one or more remote transmitters provided by a base station (not shown). A low noise amplifier (not shown) amplifies the signal. A filter (not shown) minimizes broadband interference in the received signal, while down conversion and digitization circuitry (not shown) down converts the filtered, received signal to an intermediate or baseband frequency signal, which is then digitized into one or more digital streams. The receiver path 22 typically uses one or more mixing frequencies generated by the frequency synthesizer 34. The BBP 30 processes the digitized received signal to extract the information or data bits conveyed in the signal. As such, the BBP 30 is typically implemented in one or more digital signal processors (DSPs).
With continued reference to
With continued reference to
With continued reference to
In this regard,
While the wireless interfaces of the WiGig protocol provide minimal latency and seamless extension of the virtual experience for the second operating system 50, the present disclosure is not so limited. In another exemplary embodiment, the wireless link is replaced by a wirebased link such as between the docking station 20 and the keyboard 16 (
As a further summary,
It is also noted that the operational steps described in any of the exemplary embodiments herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary embodiments may be combined. It is to be understood that the operational steps illustrated in the flow chart diagrams may be subject to numerous different modifications as will be readily apparent to one of skill in the art. Those of skill in the art will also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Gantman, Alexander, Tsfaty, Yossef, Kondratiev, Vladimir
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
7962675, | Feb 21 2008 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Method and system for communicating with a host bus adapter |
8249089, | Sep 29 2006 | Intel Corporation | Methods for pushing address translations mappings to PCI express endpoints |
8478907, | Oct 19 2004 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Network interface device serving multiple host operating systems |
8898443, | Oct 01 2010 | Z124 | Multi-operating system |
20120005691, | |||
20120159144, | |||
WO2012023150, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 20 2013 | Qualcomm Incorporated | (assignment on the face of the patent) | / | |||
Jan 26 2014 | GANTMAN, ALEXANDER | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032102 | /0533 | |
Jan 26 2014 | TSFATY, YOSSEF | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032102 | /0533 | |
Jan 26 2014 | KONDRATIEV, VLADIMIR | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032102 | /0533 |
Date | Maintenance Fee Events |
Sep 21 2016 | ASPN: Payor Number Assigned. |
Jan 16 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 11 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 09 2019 | 4 years fee payment window open |
Feb 09 2020 | 6 months grace period start (w surcharge) |
Aug 09 2020 | patent expiry (for year 4) |
Aug 09 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 09 2023 | 8 years fee payment window open |
Feb 09 2024 | 6 months grace period start (w surcharge) |
Aug 09 2024 | patent expiry (for year 8) |
Aug 09 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 09 2027 | 12 years fee payment window open |
Feb 09 2028 | 6 months grace period start (w surcharge) |
Aug 09 2028 | patent expiry (for year 12) |
Aug 09 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |