HTTP Chunked Transfer Encoding for Instant Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network entities and service providers restrict the use of certain protocols, preventing devices from establishing connections for applications like instant messaging, even if they can access HTTP connections, leading to frustration for users who cannot use preferred applications on all devices.

Innovation Solution

A communication application uses HTTP's chunked transfer encoding to encapsulate instant messages and other communications, allowing them to be sent and received through a custom protocol stack, enabling continued communication sessions despite network restrictions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a custom application layer protocol is used for instant messaging, then communication functionality is improved, but connection establishment is blocked by service providers

Engineering Contradiction:
Improvecommunication functionalityVSAvoidconnection establishment
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent uses HTTP as an intermediary protocol to establish connections that would otherwise be blocked. By wrapping custom application layer communications within HTTP requests and responses, the system can bypass service provider restrictions while maintaining the functionality of the custom protocol. The HTTP protocol serves as a mediator that translates between the restricted network environment and the desired communication protocol.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the protocol parameters by encapsulating custom protocol data within HTTP message structures. Instead of using the custom protocol directly at the application layer, the system modifies the protocol stack by wrapping messages in HTTP requests and responses, changing how the communication appears to network intermediaries while preserving the underlying custom protocol functionality.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If HTTP protocol is used for instant messaging, then connection establishment is improved, but communication protocol compatibility deteriorates

Engineering Contradiction:
Improveconnection establishmentVSAvoidprotocol compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements nesting by placing custom application layer messages inside HTTP request and response bodies. The custom protocol messages are embedded within the standardized HTTP framework, allowing the system to leverage HTTP's widespread acceptance and reliability while maintaining the integrity and functionality of the custom communication protocol through proper message wrapping and unwrapping.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Object-affected harmful factors

If service providers perform deep packet inspection, then network security is improved, but application usage freedom deteriorates

Engineering Contradiction:
Improvenetwork securityVSAvoidapplication usage freedom
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

By using HTTP as an intermediary, the patent makes communications appear as legitimate web traffic to deep packet inspection systems. Since HTTP is a widely accepted and permitted protocol, service providers' security mechanisms are less likely to block or restrict it, even though the actual communication content uses a custom protocol wrapped within the HTTP framework.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9923844B1Conveying instant messages via HTTP
Publication Date: 2018.03.20 WHATSAPP LLC
  • US9923844B1 patent drawing
  • US9923844B1 patent drawing
  • US9923844B1 patent drawing

AI summary

A system and methods are provided for conveying connection-oriented communications (e.g., textual messages among multiple users) via a protocol such as HTTP (Hypertext Transfer Protocol). When a device operating a communication application that features a custom application layer protocol for formatting messages for transmission cannot connect to the system hosting the application using a default protocol stack that include the custom application layer protocol, it instead connects using HTTP's chunked mode of transfer encoding. Each outgoing communication is encapsulated in a separate HTTP chunk, and communications to multiple different users may be conveyed via the one connection. Incoming communications (e.g., from the multiple users) are received as separate chunks and are unwrapped or de-encapsulated to retrieve the communication for presentation to a user.