# US 2012/0084793 A1 · Cross-environment event notification

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2012/0084793 A1
- Document ID: US20120084793A1
- Status: Published application
- Kind: A1
- Application number: 13/250,764
- Filed: 2011-09-30
- Published: 2012-04-05
- Earliest claimed: 2010-10-01
- Assignees: Imerj LLC
- Inventors: Paul Reeves; Wuke Liu
- Web page: https://patentgrep.com/patent/US20120084793A1

## CPC

- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F 3/1423: {controlling a plurality of local displays, e.g. CRT and flat panel display}
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/45537: {Provision of facilities of other operating environments, e.g. WINE (I/O emulation G06F13/105)}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/544: {Buffers; Shared memory; Pipes}
- G09G 5/14: Display of multiple viewports
- G09G 5/399: using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- G06F 2209/545: Gui
- H04L 69/329: in the application layer [OSI layer 7]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## 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 second user environment. Cross-environment notification and event handling allows the user to be notified of and respond to events occurring within the mobile operating system through the user environment associated with the desktop operating system. Events that may trigger cross-environment notification may be local events and/or remote events. 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

### Claim 1

A method comprising:
broadcasting an event notification in a mobile operating system in response to an event occurring within the mobile operating system, the mobile operating system running concurrently with a desktop operating system on a shared kernel
receiving the event notification in a notification receiver of the mobile operating system;
filtering the event notification in an event filter of the mobile operating system for predetermined events; and
sending a cross-environment notification associated with a predetermined event to a component of the desktop operating system through an inter-process communication channel based on a determination that the event notification matches the predetermined event.

### Claim 2 (depends on 1)

The method of claim 1, further comprising querying the mobile operating system for a parameter associated with the event notification.

### Claim 3 (depends on 1)

The method of claim 1, wherein the event notification is received in a broadcast receiver of the mobile operating system.

### Claim 4 (depends on 3)

The method of claim 3, wherein the broadcast receiver performs runtime binding of predetermined events to cross-environment notifications.

### Claim 5 (depends on 1)

The method of claim 1, further comprising displaying, by the desktop operating system, a message associated with the cross-environment notification.

### Claim 6 (depends on 1)

The method of claim 1, further comprising displaying, by the desktop operating system, an icon associated with the cross-environment notification.

### Claim 7 (depends on 1)

The method of claim 1, wherein the event notification is received in an intent filter of a broadcast receiver of the mobile operating system.

### Claim 8 (depends on 1)

The method of claim 1, wherein the cross-environment notification is received in the desktop operating system by an event handler of a shared library of the desktop operating system.

### Claim 9 (depends on 1)

The method of claim 1, wherein the mobile operating system comprises an Android mobile operating system and the desktop operating system comprises a Linux desktop operating system.

### Claim 10 (depends on 1)

The method of claim 1, further comprising receiving, in the mobile operating system, a reply from the component of the desktop operating system indicating an action to perform in response to a user selection of a notification callback of the cross-environment notification.

### Claim 11

A mobile computing device, comprising:
a notification manager that broadcasts intent objects in response to events occurring within a mobile operating system, the mobile operating system running concurrently with a desktop operating system on a shared kernel of the mobile computing device;
a broadcast receiver that receives the intent objects;
an intent filter that filters the intent objects for intent objects associated with predetermined events;
a cross-environment event notifier that sends cross-environment notifications associated with the predetermined events to components of the desktop operating system that instantiate event listeners of a shared library corresponding to the predetermined events.

### Claim 12 (depends on 11)

The mobile computing device of claim 11, wherein the cross-environment notifications are passed to the shared library through a socket.

### Claim 13 (depends on 11)

The mobile computing device of claim 11, wherein the cross-environment notifications include messages associated with the intent objects, the event listeners of the shared library displaying the messages within a user environment associated with the desktop operating system.

### Claim 14

A mobile computing device including a computer-readable medium storing instructions for a physical processor, the instructions, when executed, causing the processor to perform steps comprising:
running a mobile operating system and a desktop operating system concurrently on a shared kernel;
broadcasting an event notification in the mobile operating system in response to an event occurring within the mobile operating system;
receiving the event notification in a notification receiver of the mobile operating system;
filtering the event notification in an event filter of the mobile operating system for predetermined events; and
sending a cross-environment notification associated with a predetermined event to a component of the desktop operating system through an inter-process communication channel based on a determination that the event notification matches the predetermined event.

### Claim 15 (depends on 14)

The mobile computing device of claim 14, wherein the instructions further cause the processor to perform the step of querying the mobile operating system for a parameter associated with the event notification.

### Claim 16 (depends on 14)

The mobile computing device of claim 14, wherein the instructions further cause the processor to perform the step of receiving, in the mobile operating system, a reply from the component of the desktop operating system indicating an action to perform in response to a user selection of a notification callback of the cross-environment notification.

### Claim 17 (depends on 14)

The mobile computing device of claim 14, wherein the instructions further cause the processor to perform the step of displaying the notification on a display of a user environment associated with the desktop operating system.

### Claim 18 (depends on 14)

The mobile computing device of claim 14, wherein the instructions further cause the processor to perform the step of receiving the cross-environment notification in an event handler of a shared library of the desktop operating system.

### Claim 19 (depends on 14)

The mobile computing device of claim 14, wherein the instructions further cause the processor to perform the step of sending a notification reply message from the desktop operating system to the mobile operating system indicating that the notification was received by a user.

### Claim 20 (depends on 14)

The mobile computing device of claim 14, wherein the mobile operating system comprises an Android mobile operating system and the desktop operating system comprises a Linux desktop operating system.
