Fast Session Resumption via Datagram Injection in Dormant Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Battery-powered resource-constrained devices, such as smartphones and IoT devices, face challenges in quickly resuming dormant sessions due to increased communication latency and additional operations required when using push notifications, especially in NAT environments, which is problematic for time-sensitive applications.

Innovation Solution

A method involving a client device receiving a push notification, extracting a datagram packet, injecting it into the communication stack, and reading it, allowing the application to respond without reestablishing a session, using protocols like TCP or TLS, and potentially UDP, to reduce latency and conserve resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the application transitions to sleep state to optimize power consumption, then energy efficiency is improved, but communication latency increases when resuming sessions

Engineering Contradiction:
Improvepower consumptionVSAvoidcommunication latency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The notification process maintains a persistent connection with the push notification server while the application sleeps, performing preliminary setup work so that when a notification arrives, the application can resume quickly without establishing a new connection. This preliminary connection maintenance resolves the contradiction by preparing the communication path in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The notification process acts as an intermediary between the sleeping application and the network. It receives push notifications containing datagram packets, extracts them, and injects them into the application's communication stack, allowing the application to receive data without being actively connected. This intermediary mechanism enables low-latency communication while maintaining application sleep state.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If push notification is used to wake dormant applications, then power consumption is reduced, but additional operations and complexity are introduced

Engineering Contradiction:
Improvepower consumptionVSAvoidpush notification handling complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The notification process on the client device automatically handles receiving push notifications, extracting datagram packets, and injecting them into the communication stack without requiring application-level intervention. The system serves itself by managing the wake-up and data delivery process autonomously, reducing the complexity burden on the application developer.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The notification process serves multiple functions: it maintains the persistent connection, receives push notifications, extracts embedded datagram packets, and injects them into the appropriate application communication stacks. This multi-functional component consolidates complexity into a single system-level process rather than requiring each application to implement its own wake-up logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If connection resume procedure is implemented in NAT environments, then communication reliability is improved, but latency and processing overhead increase

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidsession resumption latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The persistent connection between the notification process and push notification server is established in advance before the application needs to resume. This preliminary connection setup eliminates the need for connection establishment during session resumption, maintaining reliability while reducing latency in NAT environments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The notification process acts as an intermediary that receives data through the persistent connection and forwards it to the application. This intermediary approach allows the application to remain dormant while maintaining communication reliability through the persistent connection, avoiding the latency of connection resumption procedures.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If application maintains persistent connection to receive data quickly, then communication speed is improved, but power consumption increases

Engineering Contradiction:
Improvecommunication speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system segments the connection responsibility between the notification process (which maintains the persistent connection) and the application (which remains dormant). This segmentation allows the connection to be maintained at the system level without requiring the application to stay active, achieving fast communication while conserving application power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The notification process serves as an intermediary that maintains the persistent connection with the server while the application sleeps. When data arrives, the intermediary extracts and delivers it to the application, enabling fast communication through the persistent connection without the power consumption penalty of keeping the application awake.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11750714B2Fast resumption of dormant sessions on a client device
Publication Date: 2023.09.05 LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
  • US11750714B2 patent drawing
  • US11750714B2 patent drawing
  • US11750714B2 patent drawing

AI summary

Methods, apparatuses, and computer program products for fast resumption of dormant sessions on a client device are disclosed. A client device receives a push notification from a push notification server, the push notification having a payload that includes a datagram packet from an application server that initiated the push notification. A push notification process on the client device extracts the datagram packet from the push notification and injects the datagram packet into a communications protocol stack for at least one application on the client device. The application is awakened from a dormant state and reads the datagram packet. The application may then send a response to the datagram packet to the application server.