Multi-Core RTSP Session Management via Hash-Based Port Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core intermediary systems, the confusion caused by control messages for real-time streaming protocol sessions across different cores leads to unpredictable behavior, as each core may receive messages intended for another core, disrupting session management.

Innovation Solution

The system allocates a predetermined range of port numbers to each core and uses a hash of the session identification to determine the owner core, which then selects consecutive ports for listening services and notifies other cores to establish the same ports, ensuring proper handling of RTSP control messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a multi-core intermediary receives control messages for RTSP sessions without core assignment, then any core can potentially handle any session, but this leads to confusion and unpredictable behavior when cores receive messages for sessions they do not own

Engineering Contradiction:
Improvesession handling capabilityVSAvoidsession management predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments session management responsibilities by assigning each session to a specific owner core based on a hash of the session ID. This segmentation ensures that each core knows which sessions it is responsible for, eliminating the confusion that occurs when cores receive messages for sessions they do not own. The hash-based assignment creates clear boundaries between core responsibilities while maintaining load distribution across multiple cores.

Inventive Principle:
Principle #1Segmentation

2Productivity

If port allocation is not standardized across cores, then each core can independently manage ports, but this causes inconsistency in how RTSP control messages are handled across different cores

Engineering Contradiction:
Improveparallel session processingVSAvoidport allocation consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent applies local quality by allowing each core to have its own port allocation strategy within its assigned sessions. Each owner core selects two consecutive available ports for its sessions and establishes listening services locally. This approach maintains consistency within each core's responsibility while allowing flexibility across the multi-core system, resolving the contradiction between parallel processing capability and allocation consistency.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If the owner core selects ports independently without notifying other cores, then port selection is simple and fast, but other cores cannot properly handle control messages for sessions on ports they are not listening on

Engineering Contradiction:
Improveport selection simplicityVSAvoidcontrol message handling
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The patent implements preliminary action by having the owner core notify all other cores about the selected ports before actual RTSP control message handling begins. This notification allows other cores to establish listening services on the same ports in advance, ensuring they are prepared to handle control messages for sessions they may receive. This resolves the contradiction by maintaining simple port selection while ensuring all cores are operationally ready.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2517438B1Systems and methods for managing ports for RTSP across cores in a multi-core system
Publication Date: 2016.11.30 CITRIX SYSTEMS INC
  • EP2517438B1 patent drawingFigure 1A
  • EP2517438B1 patent drawingFigure 1B
  • EP2517438B1 patent drawingFigure 1C

AI summary

The present application is directed towards systems and methods for systems and methods for handling real-time streaming protocol sessions by an intermediary multi-core system. When a multi-core intermediary receives a setup request for a real-time streaming protocol session, the intermediary processes and forwards the request to a server providing the streaming media. The server sets up an RTSP session and transmits a session identification to the multi-core intermediary. A core of the intermediary receives the transmitted session identification and determines an owner core of the session, based on a hash of the session identification. The core transmits the session information to the determined owner core, which selects two consecutive ports on which to establish listening services. The owner core then notifies all other cores to establish listening services on the same consecutive ports, such that any core that receives an RTSP control message from a client can handle it properly.