IP Library Granted Patent US 9,378,038
Granted Patent B2
US 9,378,038 · App. 14/290,605 · Granted Jun 28, 2016

Methods, devices and computer readable storage devices for emulating a gyroscope in a guest operating system from a host operating system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,378,038
App. No.
14/290,605
Granted
Jun 28, 2016
Kind
B2
Abstract

A guest operating system, launched by executing an application associated with a host operating system, is provided with access to a gyroscope associated with a computing device including a processor executing the host operating system. A first application associated with the guest operating system generates a request for gyroscope data. The request is received at a hardware abstraction layer associated with the guest operating system, and the request is sent from the hardware abstraction layer to a second application associated with the host operating system. The request is sent from the second application to a driver executing within a kernel of the host operating system. The driver retrieves the requested gyroscope data from the gyroscope. The retrieved gyroscope data is provided to the first application via the second application and the hardware abstraction layer.

Claims (44)

1. A method for providing a guest operating system with access to a gyroscope associated with a computing device including a processor executing a host operating system, comprising:

generating a request for gyroscope data by a first application associated with the guest operating system, wherein the guest operating system is launched as a virtual operating system executed as a guest of the host operating system;

receiving the request at a hardware abstraction layer associated with the guest operating system;

sending the request from the hardware abstraction layer associated with the guest operating system to a second application executed by the processor in a user mode layer associated with the host operating system;

sending the request from the second application to a driver executing within a kernel of the host operating system, wherein the driver retrieves the requested gyroscope data from the gyroscope;

sending the retrieved gyroscope data from the driver to the second application;

sending the retrieved gyroscope data from the second application to the hardware abstraction layer associated with the guest operating system; and

sending the retrieved gyroscope data from the hardware abstraction layer to the first application.

2. The method of claim 1 , wherein the request is sent from the hardware abstraction layer to the second application via a data channel.

3. The method of claim 1 , wherein the retrieved gyroscope data is sent to the hardware abstraction layer from the second application via a data channel.

4. The method of claim 1 , wherein the first application is a rotation detection application.

5. The method of claim 1 , wherein the guest operating system is an Android operating system.

6. The method of claim 1 , wherein the host operating system is a Windows operating system.

7. A computing device, comprising:

a processor; and

a memory having stored thereon instructions which, when executed by the processor, cause the processor to perform operations comprising:

executing a host operating system;

executing an application for launching a guest operating system, wherein the guest operating system is a virtual operating system executed as a guest of the host operating system;

generating a request for gyroscope data by a first application associated with the guest operating system;

receiving the request at a hardware abstraction layer associated with the guest operating system;

sending the request from the hardware abstraction layer associated with the guest operating system to a second application executed by the processor in a user mode layer associated with the host operating system;

sending the request from the second application to a driver executing within a kernel of the host operating system, wherein the driver retrieves the requested gyroscope data from the gyroscope;

providing the retrieved gyroscope data to the second application via the driver;

sending the retrieved gyroscope data from the second application to the hardware abstraction layer associated with the quest operating system; and

sending the retrieved gyroscope data from the hardware abstraction layer to the first application.

8. The computing device of claim 7 , wherein the request is sent from the hardware abstraction layer to the second application via a data channel.

9. The computing device of claim 7 , wherein the retrieved gyroscope data is sent from the second application to the hardware abstraction layer via a data channel.

10. The computing device of claim 7 , wherein the first application is a rotation detection application.

11. The computing device of claim 7 , wherein the guest operating system is an Android operating system.

12. The computing device of claim 7 , wherein the host operating system is a Windows operating system.

13. A computer readable storage device having instructions encoded thereon which, when executed by a processor, cause the processor to perform operations comprising:

executing a host operating system;

executing an application for launching a guest operating system, wherein the guest operating system is a virtual operating system executed as a guest of the host operating system;

generating a request for gyroscope data by a first application associated with a guest operating system;

receiving the request at a hardware abstraction layer associated with the guest operating system;

sending the request from the hardware abstraction layer associated with the guest operating system to a second application executed by the processor in a user mode layer associated with the host operating system;

sending the request from the second application to a driver executing within a kernel of the host operating system, wherein the driver retrieves the requested gyroscope data from the gyroscope;

providing the retrieved gyroscope data to the second application via the driver;

sending the retrieved gyroscope data from the second application to the hardware abstraction layer associated with the guest operating system; and

sending the retrieved gyroscope data from the hardware abstraction layer to the first application.

14. The computer readable storage device of claim 13 , wherein the request is sent from the hardware abstraction layer to the second application via a data channel.

15. The computer readable storage device of claim 13 , wherein the retrieved gyroscope data is sent to the hardware abstraction layer from the second application via a data channel.

16. The computer readable storage device of claim 13 , wherein the first application is a rotation detection application.

17. The computer readable storage device of claim 13 , wherein the guest operating system is an Android operating system, and the host operating system is a Windows operating system.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: AMZETTA TECHNOLOGIES, LLC
Reel/Frame 052394/0925 →
ENTITY CONVERSION Recorded Apr 14, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 052397/0812 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 033503 FRAME: 0196. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 13, 2014
From: CHINNAMANI, SRIPRIYAN; SUNDARAMOORTHY, VINOTHKUMAR; KOTHANDAPANI, GOVIND; SETHUPANDIAN, ANBARASU; JONNA, RAJASEKHAR
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 033531/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2014
From: CHINNAMANI, SRIPRIYAN; SUNDARAMOORTHY, VINOTHKUMAR; KOTHANDAPANI, GOVIND; SETHUPANDIAN, ANBARASU; JONNA, RAJASEKHAR
To: AMERICAN MEDATRENDS, INC.
Reel/Frame 033503/0196 →