IP Library Granted Patent US 8,819,705
Granted Patent B2
US 8,819,705 · App. 13/246,669 · Granted Aug 26, 2014

User interaction support across cross-environment applications

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 8,819,705
App. No.
13/246,669
Granted
Aug 26, 2014
Kind
B2
Abstract

Cross-environment rendering and user interaction support provide a seamless computing experience in a multi-operating system computing environment. The multi-operating system computing environment may include a mobile operating system associated with a first user environment and a desktop operating system associated with a second user environment running concurrently and independently on a mobile computing device. User interaction support includes handling input events initially received in the shared kernel by accepting the input events in the desktop operating system and translating, mapping, and/or passing the input events through a virtual input device to the mobile operating system such that applications of the mobile operating system receive the input events as if coming from a user interaction space of the mobile operating system. The mobile computing device may be a smartphone running the Android mobile operating system and a full desktop Linux distribution on a modified Android kernel.

Claims (42)

1. A method comprising:

receiving, by a device driver of a shared kernel of a mobile computing device, a first input event from an input device connected to the mobile computing device, wherein a first operating system on the mobile computing device and a second operating system on a desktop device run concurrently on the shared kernel, and wherein the mobile computing device and the desktop device are distinct;

accepting the first input event by the second operating system;

determining, in the second operating system, that the first input event is directed to a console application of the second operating system;

passing the first input event to the console application;

generating, in the console application, a second input event based on the first input event;

generating a virtual input device for input events to the console application;

associating the virtual input device with a virtual display of the first operating system;

passing the second input event from the console application to the virtual input device;

accessing, by the first operating system, the second input event from the virtual input device; and

passing the second input event from the virtual input device to an application running in the first operating system associated with the virtual display.

2. The method of claim 1 , wherein the generating of the second input event by the console application includes translating the first input event from a first input event protocol of the window system of the second operating system to a second input event protocol of the first operating system.

3. The method of claim 1 , wherein an input mode state for the second operating system is different than an input mode state for the first operating system.

4. The method of claim 1 , wherein the first operating system is in a touch-based input mode state and the second operating system is in a pointing device based input mode state.

5. The method of claim 1 , wherein the passing of the input event from the console application to the virtual input device includes mapping the input event from a graphics context of the second operating system to a graphics context of the first operating system.

6. The method of claim 1 , wherein the passing of the input event from the console application to the virtual input device includes translating the input event from a pointing device based event to a gesture based event.

7. The method of claim 1 , further including ignoring, by the first operating system, the first input event received in the shared kernel from the input device.

8. The method of claim 1 , further including determining, by the first operating system, that the first input event is associated with a user environment that is associated with the second operating system.

9. The method of claim 1 , wherein the virtual input device is generated in the shared kernel.

10. The method of claim 1 , wherein the first operating system comprises a mobile operating system and the second operating system comprises a desktop operating system.

11. A method comprising:

displaying a first application running on a first operating system within a first user environment, the first user environment associated with the first operating system on a mobile computing device;

displaying a second application running on the first operating system within a second user environment, the second user environment associated with a second operating system on a desktop device, the second operating system running concurrently with the first operating system on a shared kernel of the mobile computing device, wherein the mobile computing device and the desktop device are distinct;

receiving, by the first operating system, a first input event from a first input device associated with the first user environment;

passing, by the first operating system, the first input event to a first application;

receiving, by the second operating system, a second input event from a second input device associated with the second user environment;

sending, by a console application of the second operating system, the second input event as a third input event to a virtual input device;

receiving, by the first operating system, the third input event from the virtual input device; and

passing, by the first operating system, the third input event to a second application.

12. The method of claim 11 , wherein the third input event is mapped by the console application to a graphics context of the first operating system.

13. The method of claim 11 , wherein the second input device is a different device type than the virtual input device.

14. The method of claim 11 , wherein the second input device comprises a pointing device type input device, and wherein the virtual input device comprises a touch-enabled type input device.

15. The method of claim 11 , wherein the second application is incompatible with a window system of the second operating system.

16. A mobile computing device comprising:

a first application and a second application in active concurrent execution within a first operating system of a mobile computing device;

a first input device that receives a first input event from an input element of a first user environment, the first user environment associated with the first operating system on the mobile computing device;

a second input device that receives a second input event from an input element of a second user environment, the second user environment associated with a second operating system on a desktop device, the second operating system running concurrently with the first operating system on a shared kernel, wherein the mobile computing device and the desktop device are distinct; and

a console application running in the second operating system that receives the second input event and passes a third input event based on the second input event to a virtual input device accessible by the first operating system,

wherein the first operating system receives the first input event and passes the first input event to the first application, and wherein the first operating system receives the third input event and passes the third input event to the second application.

17. The mobile computing device of claim 16 , wherein the first operating system ignores the second input event from the input element of the second user environment.

18. The mobile computing device of claim 16 , wherein the second operating system further comprises a graphics server that is incompatible with the second application.

19. The mobile computing device of claim 16 , wherein the first operating system associates the second application with the virtual input device through a virtual display identifier.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2024
From: Z124
To: MULTIFOLD INTERNATIONAL INCORPORATED PTE. LTD.
Reel/Frame 069049/0339 →
QUITCLAIM EXCLUSIVE LICENSE/RIGHTS Recorded Sep 18, 2024
From: Z124
To: MULTIFOLD INTERNATIONAL INCORPORATED PTE. LTD.
Reel/Frame 068979/0612 →
CHANGE OF NAME Recorded Jun 22, 2012
From: IMERJ LLC
To: Z124 LLC
Reel/Frame 028431/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: Z124 LLC
To: Z124
Reel/Frame 028322/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2011
From: REEVES, BRIAN; REEVES, PAUL E.; TELTZ, RICHARD; REEVES, DAVID; SIRPAL, SANJIV; TYGHE, CHRIS; LIU, WUKE
To: IMERJ LLC
Reel/Frame 027111/0700 →