1. Technical Field
Embodiments of the present disclosure relate to virtualization technology, and particularly to a computing device and a method for expanding hardware functions of the computing device.
2. Description of Related Art
Limited by a size and/or a cost of a computing device (e.g., a mobile phone), some physical components (e.g., three-dimensional accelerated graphics cards) might not be installed in the computing device. Therefore, the computing device cannot provide some functions to users.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of computer program instructions, written in a programming language, such as, JAVA, C, or assembly. One or more computer program instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either computer program and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard drive drives.
In this embodiment, the computing device 10 further includes a storage system 14, at least one processor 15, and a display device 16. The storage system 14 can be a dedicated memory, such as an EPROM, a hard disk drive (HDD), or flash memory. In some embodiments, the storage system 14 can be an external storage device, such as an external hard drive, a storage card, or a data storage medium.
In step S301, the creation module 200 creates a virtual component in the computing device 10. The virtual component corresponds to a physical component desired by the computing device 10. For example, the computing device 10 is desired to provide a function of accelerated rendering of three-dimensional (3D) images while the computing device 10 is not equipped with any physical 3D accelerated graphics card. In this case, the creation module 200 creates a virtual 3D accelerated graphics card in the computing device 10. In one embodiment, the virtual component is created in a VM 13.
In step S302, the detection module 210 detects an electronic device 12 equipped with the physical component desired by the computing device 10. For example, the detection 210 detects an electronic device 12 equipped with the 3D accelerated graphics card.
In step S303, the establishment module 220 establishes a communication channel between the virtual component and the electronic device 12. In this embodiment, the establishment module 220 creates a first remote procedure call (RPC) interface in the virtual component. The electronic device 12 creates a second RPC interface in the electronic device 12. Therefore, the communication channel between the virtual component and the electronic device 12 is established.
In step S304, the transfer module 230 transfers a data processing request and data requested to be processed by the computing device 10 to the electronic device 12 via the communication channel. In this embodiment, the request module 230 transfers the data processing request and the data to the electronic device 12 via the first RPC interface created in the virtual component and the second RPC interface created in the electronic device 12.
In step S305, the electronic device 12 receives the data processing request and the data from the computing device 10. In response to the data processing request, the electronic device 12 processes the data using the physical component of the electronic device 12. For example, the electronic device 12 uses the 3D accelerated graphics card installed in the electronic device 12 to process the data and obtains 3D images.
In step S306, the receipt module 240 receives a processing result of the data from the electronic device 12, stores the processing result in the storage system 14, and displays the processing result on the display device 16. For example, the receipt module 240 receives the 3D images from the electronic device 12, stores the 3D images in the storage system 14, and displays the 3D images on the display device 16.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
102109957 | Mar 2013 | TW | national |