Cross-Environment Communication Framework
First Claim
1. A method for communicating between a service of a mobile operating system and an application of a desktop operating system over an inter-process communication channel, the method comprising:
- requesting, by the application of the desktop operating system, to bind to a remotable interface of the service of the mobile operating system;
receiving, by the application of the desktop operating system, a remotable object from the service of the mobile operating system, the remotable object instantiated by the service of the mobile operating system in response to the request by the desktop operating system;
sending, by the application of the desktop operating system, a call to the remotable object; and
receiving, by the application of the desktop operating system, a return from the call to the remotable object from the service of the mobile operating system.
3 Assignments
0 Petitions
Accused Products
Abstract
A mobile computing device with a mobile operating system and desktop operating system running concurrently and independently on a shared kernel without virtualization. The mobile operating system provides a user experience for the mobile computing device that suits the mobile environment. The desktop operating system provides a full desktop user experience when the mobile computing device is docked to a secondary terminal environment. Applications of the desktop operating system communicate with applications and services of the mobile operating system through a cross-environment communication framework. The cross-environment communication framework may include interfaces to remotable objects allowing processes in the mobile operating system and processes in the desktop operating system to share memory in a thread-safe manner. 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.
124 Citations
19 Claims
-
1. A method for communicating between a service of a mobile operating system and an application of a desktop operating system over an inter-process communication channel, the method comprising:
-
requesting, by the application of the desktop operating system, to bind to a remotable interface of the service of the mobile operating system; receiving, by the application of the desktop operating system, a remotable object from the service of the mobile operating system, the remotable object instantiated by the service of the mobile operating system in response to the request by the desktop operating system; sending, by the application of the desktop operating system, a call to the remotable object; and receiving, by the application of the desktop operating system, a return from the call to the remotable object from the service of the mobile operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for communicating between a first application of a mobile operating system and a second application of a desktop operating system, the method comprising:
-
receiving, by a remote communication service of the mobile operating system, a request by the first application to bind to the remote communication service; instantiating, in response to the request by the first application, a remotable object; passing the remotable object from the remote communication service to the first application; receiving, by the remote communication service of the mobile operating system, a request by the second application to bind to the remote communication service through an inter-process communication channel; and passing the remotable object from the remote communication service to the second application. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. The mobile computing device of claim 17, wherein the instructions, when executed, further cause the processor to perform steps comprising:
-
running the mobile operating system in a first execution environment on a shared kernel; and concurrently running the desktop operating system in a second execution environment on the shared kernel; - View Dependent Claims (18, 19)
-
Specification