FTP Load Balancing via RSS and Port Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core cluster systems, existing methods struggle to efficiently manage FTP data connections, particularly when the server initiates data connections from non-standard ports, as they often require special handling to ensure that data connections are processed by the same core that handled the control connection, which is not always feasible.
Innovation Solution
The implementation of receive side scaling (RSS) filter rules and changes in port allocation logic allow for flexible core assignment of both client-side and server-side data connections in multi-core systems, enabling data connections to be served on any core, including those that did not process the control connection, using core-to-core messages and node-to-node messages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data connections are restricted to be processed only by the same core that handled the control connection, then connection processing reliability is improved, but system resource utilization deteriorates
Solution Approach 1:
The patent segments the connection processing function by separating control connection handling from data connection handling. Different cores can be assigned to handle different types of connections, allowing the system to maintain reliability for control connections while improving resource utilization by distributing data connection processing across multiple cores including network I/O cores.
Solution Approach 2:
The patent enables network I/O cores to serve dual purposes: handling network packet I/O operations and processing FTP data connections. This multi-functionality allows the system to utilize all available cores for connection processing, improving overall resource utilization while maintaining connection reliability through proper state management.
2Stability of the object's composition
If special handling is implemented to ensure data connections are processed by the same core as control connection, then connection consistency is improved, but system complexity deteriorates
Solution Approach 1:
The patent extracts the connection state management functionality into a separate component that maintains a global state table. This separation allows data connections to be handled by any core without compromising consistency, as the state management component coordinates access to connection states across all cores, reducing system complexity by centralizing state tracking.
Solution Approach 2:
The patent introduces an intermediary mechanism (the state management component with global state table) that mediates between multiple cores processing data connections. This intermediary ensures connection consistency by coordinating state access across cores without requiring data connections to be processed by the same core that handled the control connection.
3Adaptability or versatility
If flexible core assignment is implemented for data connections, then system scalability is improved, but information tracking complexity deteriorates
Solution Approach 1:
The patent implements preliminary action by pre-establishing a global state table that tracks all connection states before data connections are distributed to different cores. This pre-established tracking mechanism ensures that connection information is maintained and accessible regardless of which core processes the data connection, enabling flexible core assignment without losing connection state information.
Solution Approach 2:
The patent implements feedback mechanisms where the state management component continuously updates and monitors connection states across all cores. This feedback system ensures that even when data connections are flexibly assigned to any core, the system maintains accurate tracking of connection information through centralized state management and inter-core communication.
Data Source
AI summary
The present disclosure is directed to providing FTP data connections between a client and a server via a multi-core system. Both client-side and server-side data connections are allowed to be served on a core that is the same as a core that has processed the corresponding control connection using at least one of receive side scaling (RSS) filter rules and changes in port allocation logic. In a cluster where control connection and data connection can reach different nodes based on an RSS distribution, the node which has processed the control connection is also allowed to process the corresponding data connection using at least one of RSS filter rules, service registration, changes in port allocation logic and node-to-node (N2N) messages. The systems and methods discussed herein apply to active FTP, passive FTP, and active FTP with a random port in which the server initiates data connection from a non-standard FTP port.


