Multi-stage Packet Processing Pipeline for Single Tunnel Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Contemporary mobile operating systems, such as iOS and Android, restrict client applications' ability to access and utilize operating system-level tunnel interfaces, limiting their capacity to process and route IP packets, which hampers functionalities like VPN operations due to the enforcement of a single tunnel interface per client application.

Innovation Solution

Implementing a multi-stage packet processing pipeline that operates on top of a single tunnel interface, allowing multiple client applications to share and process packets by configuring each stage with rules for packet routing and logic for consumption and forwarding, thereby enabling multiple applications to utilize a single tunnel interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single tunnel interface is provided for all client applications, then routing configuration complexity is reduced, but the ability of multiple client applications to utilize tunnel interfaces is limited

Engineering Contradiction:
Improverouting configuration complexityVSAvoidability of multiple client applications to utilize tunnel interfaces
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the packet processing function by introducing multiple packet processing stages (first stage, second stage, third stage, etc.) that operate in sequence on the single tunnel interface. Each stage can be assigned to different client applications, allowing multiple applications to utilize the tunnel interface simultaneously through staged processing rather than requiring multiple separate tunnel interfaces.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple packet processing stages are introduced to enable multiple client applications to use a single tunnel interface, then the ability of multiple client applications to utilize tunnel interfaces is improved, but the complexity of the packet processing system increases

Engineering Contradiction:
Improveability of multiple client applications to utilize tunnel interfacesVSAvoidpacket processing system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces intermediary components including a packet capture component that intercepts packets at each stage and a packet forwarding component that routes packets between stages and client applications. These intermediaries manage the complexity of multi-application processing by providing standardized interfaces and controlled pathways, preventing the system from becoming unmanageably complex while still enabling multiple applications to access the tunnel interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240275635A1Multi-stage packet processing pipeline for a single tunnel interface
Publication Date: 2024.08.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240275635A1 patent drawing
  • US20240275635A1 patent drawing
  • US20240275635A1 patent drawing

AI summary

Multi-stage packet processing pipeline for a single tunnel interface. A computer system identifies a single tunnel interface that is associated with an operating environment, and identifies a plurality of packet processing stages. Each stage comprises at least one rule specifying packets to which the stage applies, and logic configured to process each packet received by the stage. The computer system composes the stages into a packet processing pipeline by registering a union of the stages' rules with the tunnel interface, and by arranging the stages into a linear pipeline. The pipeline connects an upstream connector of an initial stage to the tunnel interface, and connects upstream and downstream connectors from each pair of adjacent stages.