Segment Routing Service Hunting with TCP Session Stickiness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Accessing a particular service hosted on a list of servers using Segment Routing (SR) is time-consuming and inefficient due to the reliance on centralized delivery and single-point fetching in common content streaming systems.

Innovation Solution

A method is introduced that enables a client to access a service hosted on a list of servers by modifying Segment Routing packets to automatically select a server without requiring significant modifications to existing TCP stacks, allowing for transparent diversion of service access delivery and establishing communication between the service host and the client, thereby optimizing server selection and load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Segment Routing packets are used to access services hosted on a list of servers, then service availability and load balancing are improved, but access time and efficiency deteriorate due to time-consuming service hunting

Engineering Contradiction:
Improveservice availabilityVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-establishing TCP session stickiness mappings between clients and servers before service requests occur. The system maintains a mapping table that records which TCP sessions are associated with which servers, allowing direct routing of subsequent requests without time-consuming service hunting through the SR list.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating and maintaining a local mapping table that replicates service availability information. Instead of querying each server in the SR list to determine service availability, the system copies and stores this information in advance, enabling rapid lookup and direct connection establishment.

Inventive Principle:
Principle #26Copying

2Device complexity

If centralized delivery and single-point fetching are used in content streaming systems, then system simplicity is maintained, but efficiency and scalability worsen

Engineering Contradiction:
Improvesystem simplicityVSAvoidstreaming efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the centralized delivery model into distributed segments. Multiple servers in the SR list can independently handle different service requests, and TCP session stickiness allows each client connection to be routed to the most appropriate server segment, enabling parallel processing and improved streaming efficiency while maintaining manageable system complexity.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If DNS reliance is used for service discovery, then implementation simplicity is maintained, but automation and adaptability worsen

Engineering Contradiction:
Improveimplementation simplicityVSAvoidautomatic server selection
Core Design Contradiction:
Ease of manufactureVSExtent of automation

Solution Approach 1:

The patent applies self-service by enabling the system to automatically select and route to appropriate servers without external DNS intervention. The TCP session stickiness mechanism allows the network infrastructure itself to maintain and update service location information, with routers and servers working together to automatically direct traffic based on current server availability and session state.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11277341B2Resilient segment routing service hunting with TCP session stickiness
Publication Date: 2022.03.15 CISCO TECHNOLOGY INC
  • US11277341B2 patent drawing
  • US11277341B2 patent drawing
  • US11277341B2 patent drawing

AI summary

According to one aspect, a method includes obtaining a segment routing (SR) packet from an endpoint via a first router at a first server along a path, the SR packet including an SR list and a last address, the last address being an address of a requested service. The method also includes determining, at the first server, whether the requested service is available from the first server, wherein determining whether the requested service is available from the first server includes opening the SR packet, parsing an SR header of the SR packet, and performing a lookup in a service table. Finally, the method includes modifying the SR packet at the first server when it is determined that the requested service is not available from the first server; and forwarding the SR packet along the path.