# US 2018/0324122 A1 · Systems and methods for intelligent application notification management

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

- Number: US 2018/0324122 A1
- Document ID: US20180324122A1
- Status: Published application
- Kind: A1
- Application number: 15/584,592
- Filed: 2017-05-02
- Published: 2018-11-08
- Earliest claimed: 2017-05-02
- Assignees: Life360, Inc.
- Applicants: Life360, Inc.
- Inventors: Jacob Schwartz
- Web page: https://patentgrep.com/patent/US20180324122A1

## CPC

- H04L 51/224: providing notification on incoming messages, e.g. pushed notifications of received messages
- G06F 9/54: Interprogram communication
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06Q 10/10: Office automation; Time management
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- 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)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Intelligent application notification management is provided. A state machine on a communication device is used to retain, sequence, and handle notifications included in a notification queue. It is determined whether a new notification has been received and whether the new notification can be added to a notification queue based on a maximum number of notifications. It may be determined whether the new notification is a duplicate of an existing notification in the notification queue. Notifications in the queue may be combined, reordered, and altered. The notification queue may be modified based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active. The notification management system may therefore decide which of the notifications to display and when to display them, such that notifications are presented logically and a user is not overwhelmed.

## Claims

### Claim 1

A method for notification management, the method comprising:
determining whether a new notification has been received;
if it is determined that the new notification has been received, determining whether the new notification can be added to a notification queue based on a maximum number of notifications, wherein the notification queue stores one or more existing notifications;
if it is determined that the new notification can be added, adding the new notification to the notification queue;
modifying the notification queue;
displaying on a user interface one of the notifications stored in the notification queue based on the modification of the notification queue.

### Claim 2 (depends on 1)

The method of claim 1 wherein the maximum number of notifications comprises a maximum number of notifications authorized to be added to the notification queue in a period of time.

### Claim 3 (depends on 1)

The method of claim 1 wherein the maximum number of notifications comprises a maximum number of notifications authorized to be displayed on the user interface in a period of time.

### Claim 4 (depends on 1)

The method of claim 1 wherein modifying the notification queue is based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active.

### Claim 5 (depends on 1)

The method of claim 1 wherein modifying the notification queue comprises determining whether the new notification is a duplicate of an existing notification in the notification queue, and if it is determined that the new notification is a duplicate, removing the new notification from the notification queue.

### Claim 6 (depends on 1)

The method of claim 1 wherein modifying the notification queue comprises determining whether the new notification can be combined with an existing notification in the notification queue based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active, and
wherein if it is determined that the new notification can be combined, combining the new notification with the existing notification.

### Claim 7 (depends on 1)

The method of claim 1 wherein modifying the notification queue comprises reordering an order of the notifications in the notification queue based on a priority of the new notification.

### Claim 8 (depends on 1)

The method of claim 1 wherein modifying the notification queue comprises altering one or more of the notifications in the notification queue based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active.

### Claim 9 (depends on 1)

The method of claim 1 further comprising using a state machine to transition between one or more of the following states: idle, waiting to display, displaying, notification active and dismissing.

### Claim 10

A communication device including a notification management system, the communication device comprising:
a processor;
a communication interface to receive one or more notifications, wherein the notifications are stored in a notification queue;
a memory storage storing instructions that, when executed by the processor, causes the processor to:
determine whether a new notification has been received;
if it is determined that the new notification has been received, determine whether the new notification can be added to the notification queue based on a maximum number of notifications;
if it is determined that the new notification can be added, add the new notification to the notification queue;
modify the notification queue;
display on a user interface one of the notifications stored in the notification queue based on the modification of the notification queue.

### Claim 11 (depends on 10)

The communication device of claim 10 wherein the maximum number of notifications comprises a maximum number of notifications authorized to be added to the notification queue in a period of time.

### Claim 12 (depends on 10)

The communication device of claim 10 wherein the maximum number of notifications comprises a maximum number of notifications authorized to be displayed on the user interface in a period of time.

### Claim 13 (depends on 10)

The communication device of claim 10 wherein modifying the notification queue is based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active.

### Claim 14 (depends on 10)

The communication device of claim 10 wherein modifying the notification queue comprises determining whether the new notification is a duplicate of an existing notification in the notification queue, and
wherein if it is determined that the new notification is a duplicate, the instructions further cause the processor to remove the new notification from the notification queue.

### Claim 15 (depends on 10)

The communication device of claim 10 wherein modifying the notification queue comprises determining whether the new notification can be combined with an existing notification in the notification queue based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active, and
wherein if it is determined that the new notification can be combined, the instructions further cause the processor to combine the new notification with the existing notification.

### Claim 16 (depends on 10)

The communication device of claim 10 wherein modifying the notification queue comprises reordering an order of the notifications in the notification queue based on a priority of the new notification.

### Claim 17 (depends on 10)

The communication device of claim 10 wherein modifying the notification queue comprises altering one or more of the notifications in the notification queue based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active.

### Claim 18 (depends on 10)

The communication device of claim 10 further comprising a state machine that transitions between one or more of the following states: idle, waiting to display, displaying, notification active and dismissing.

### Claim 19

A non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, causes the processor to perform a method for notification management, the method comprising:
determining whether a new notification has been received;
if it is determined that the new notification has been received, determining whether the new notification can be added to a notification queue based on a maximum number of notifications, wherein the notification queue stores one or more existing notifications;
if it is determined that the new notification can be added, adding the new notification to the notification queue;
modifying the notification queue;
displaying on a user interface one of the notifications stored in the notification queue based on the modification of the notification queue.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein the maximum number of notifications comprises a maximum number of notifications authorized to be added to the notification queue in a period of time.

### Claim 21 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein the maximum number of notifications comprises a maximum number of notifications authorized to be displayed on the user interface in a period of time.

### Claim 22 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein modifying the notification queue is based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active.

### Claim 23 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein modifying the notification queue comprises determining whether the new notification is a duplicate of an existing notification in the notification queue, and if it is determined that the new notification is a duplicate, removing the new notification from the notification queue.

### Claim 24 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein modifying the notification queue comprises determining whether the new notification can be combined with an existing notification in the notification queue based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active, and
wherein if it is determined that the new notification can be combined, combining the new notification with the existing notification.

### Claim 25 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein modifying the notification queue comprises reordering an order of the notifications in the notification queue based on a priority of the new notification.

### Claim 26 (depends on 19)

The non-transitory computer-readable medium of claim 19 wherein modifying the notification queue comprises altering one or more of the notifications in the notification queue based on one or more of the following: an attribute, user input, user preference, a system state, or whether an application to which the notification is related is currently active.

### Claim 27 (depends on 19)

The non-transitory computer-readable medium of claim 19, the method further comprising using a state machine to transition between one or more of the following states: idle, waiting to display, displaying, notification active and dismissing.
