OS Connection Identifier Mapping for Network SLA Enforcement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer networks treat all packets the same, regardless of the application or service associated with them, making it difficult to differentiate and manage connections effectively, as connection identifiers are often rendered unreadable by intermediary devices.
Innovation Solution
A method and system for dynamic assignment and enforcement of application-driven per-connection service level agreements (SLAs) that involve mapping connection identifiers to SLAs and processing packets according to these agreements, allowing applications to set different SLAs for different connections and ensuring these agreements are enforced by lower levels of the network protocol stack and network devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If connection identifiers are transmitted through intermediary network devices, then packets can be routed, but the connection identifiers become unreadable and invisible to intermediary devices
Solution Approach 1:
The connection identifier is segmented and embedded across multiple packet headers (L2, L3, L4 headers) rather than relying on a single identifier. This segmentation allows different network layers to preserve and forward connection-specific information without requiring intermediary devices to read or interpret the full connection identifier, thus preventing information loss while maintaining device simplicity.
Solution Approach 2:
The connection identifier is nested within multiple packet headers at different network layers. Each header contains a portion of the connection identifier, creating a nested structure where L2 header contains connection info, L3 header contains connection info, and L4 header contains connection info. This nested approach allows intermediary devices to process packets at their respective layers without needing to access or read the complete connection identifier.
2Adaptability or versatility
If all packets are treated the same by network devices, then routing is simplified, but applications cannot enforce different service level agreements for different connections
Solution Approach 1:
Different parts of the packet processing system are given different qualities and responsibilities. The OS and network protocol stack are enhanced to read connection identifiers from multiple headers and enforce specific SLAs for different connections, while intermediary network devices continue to process packets uniformly without needing to understand connection-specific information. This local differentiation allows SLA enforcement at the endpoints without complicating intermediary device operations.
Solution Approach 2:
Service level agreements are established and configured in advance before packet transmission. The OS creates connections with specific SLAs mapped to connection identifiers beforehand, and the network protocol stack is pre-configured to read these identifiers from packet headers and apply the appropriate SLA processing. This preliminary setup allows differentiated packet handling without requiring complex real-time decision-making at intermediary devices.
3Measurement precision
If connection identifiers are embedded in multiple packet headers, then connection differentiation is enabled, but packet processing complexity increases
Solution Approach 1:
The network protocol stack at the OS level performs the complex task of reading connection identifiers from multiple packet headers and applying the appropriate SLA processing. This self-service approach at the endpoint eliminates the need for intermediary network devices to perform complex processing, as they can continue to handle packets uniformly. The complexity is localized to the OS where the connection context is available, thereby achieving precise connection identification without universally increasing device complexity.
Data Source
AI summary
In general, in one aspect, the invention relates to a method for handling connections. The method includes receiving, by an OS, a request from an application to create a connection, wherein the request comprises a connection identifier and a SLA, creating, by the OS, the connection targeting the application in response to the request, and mapping the connection identifier to the SLA. The method further includes receiving data from the application for the connection, generating, by a network protocol stack on the OS, a packet from the data by storing the connection identifier into a plurality of headers of the packet, processing, by the network protocol stack, the packet according to the SLA to obtain a processed packet, and transmitting, by the network protocol stack, the processed packet to the network.


