Stateless Port Management in Horizontally Scaled Proxy Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In horizontally scaled proxy services, managing unique destination data ports for multiple passive FTP connections across multiple proxy instances is cumbersome and requires complex synchronization, often necessitating the use of shared databases.
Innovation Solution
The method involves a client initiating a front-end control connection with a horizontally scaled proxy service, with a first proxy instance creating a back-end control connection to the server and returning a unique client parameter as the destination port for the front-end data connection, ensuring each session has a unique tuple for data connections without the need for a shared database.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a shared database is used to manage destination data ports across multiple proxy instances, then unique port assignment is ensured, but system complexity and synchronization overhead increase
Solution Approach 1:
The patent divides the port management functionality into independent segments assigned to each proxy instance. Each instance manages its own port allocation independently using local data structures, eliminating the need for a centralized shared database and complex synchronization mechanisms while ensuring unique port assignment through coordinated port selection algorithms.
2Reliability
If a shared database is implemented for port management, then port uniqueness is maintained, but performance and scalability deteriorate
Solution Approach 1:
The patent performs preliminary port allocation actions locally at each proxy instance before actual connection establishment. Each instance pre-allocates ports from its local pool and caches port mappings, enabling fast connection establishment without real-time database queries while maintaining port uniqueness through coordinated allocation strategies.
3Stability of the object's composition
If port management is centralized in a shared database, then consistency is achieved, but ease of operation and deployment are reduced
Solution Approach 1:
The patent enables each proxy instance to autonomously manage its own port allocation using local data structures and algorithms. Each instance independently tracks allocated ports, generates unique port assignments, and maintains local state without requiring centralized database operations, thereby simplifying deployment and improving operational ease while maintaining consistency.
Data Source
AI summary
An example method of file transfer between a client and a server includes: initiating, by the client, a front-end control connection between the client and a horizontally scaled proxy service; creating, by a first proxy instance of a plurality of proxy instances of the horizontally scaled proxy service, a back-end control connection between the first proxy instance and the server; returning, to the client from the first proxy instance, a unique client parameter associated with the front-end connection as a destination port for a front-end data connection; initiating, by the client, the front-end data connection between the client and the horizontally scaled proxy service, the front-end data connection using the destination port as returned by the first proxy instance; and creating, by the first proxy instance, a back-end data connection between the first proxy instance and the server.


