Multi-Channel File System Session Binding for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network protocols for sharing resources, such as SMB, typically rely on a one-to-one connection and session relationship, limiting their ability to leverage multiple connections for failover and load balancing, and fail to provide intelligent selection and use of connections above the transport layer.
Innovation Solution
A multi-connection information system that allows multiple connections to be bound to a single file system session, enabling intelligent selection and use of connections for failover and load balancing, by introducing the concept of channels to represent the binding of sessions to connections, and providing a protocol for discovering and managing multiple channels within a session.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a one-to-one connection and session relationship is used, then the protocol implementation is simple, but the ability to leverage multiple connections for failover and load balancing is limited
Solution Approach 1:
The patent segments the traditional one-to-one connection-session relationship by introducing the concept of channels as intermediate binding units. Multiple channels can be bound to a single session, allowing the session to leverage multiple connections simultaneously. This segmentation enables failover and load balancing capabilities while maintaining protocol simplicity at higher layers.
Solution Approach 2:
The channel acts as an intermediary binding mechanism between connections and sessions. This intermediary layer decouples the direct one-to-one relationship, allowing flexible many-to-many bindings while maintaining manageable complexity. The channel abstraction provides a controlled interface for managing multiple connections without exposing full complexity to upper protocol layers.
2Productivity
If multiple connections are established for a session, then throughput and reliability improve, but the complexity of managing multiple connections increases
Solution Approach 1:
The channel binding mechanism provides universal functionality for managing multiple connections across different sessions. The same channel binding interface can be used regardless of the number of connections or sessions, providing a unified approach that simplifies management while enabling throughput optimization through parallel connections.
Solution Approach 2:
The system automatically manages channel bindings and connection selection without requiring manual intervention. The protocol handles connection binding, selection, and failover automatically, allowing throughput optimization while keeping management complexity low through automation rather than manual control.
3Ease of operation
If the network layer automatically selects connections, then ease of operation improves, but control over connection selection is lost to higher layers
Solution Approach 1:
The channel binding mechanism is dynamic and flexible, allowing the system to adapt connection selection based on different conditions and requirements. Higher layers can dynamically bind channels to sessions based on application-specific needs, while the underlying mechanism remains automated. This dynamic approach maintains ease of operation while preserving protocol control flexibility.
Solution Approach 2:
Channels are pre-established and registered with the system before being bound to sessions. This preliminary action allows higher layers to have control over which connections are available for binding, while the actual connection management and selection remains automated. The pre-registration process provides control flexibility without requiring manual connection management during operation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A multi-connection information system is described herein that uses multiple connections to connect to a resource in a single file system session in a way that is controllable from protocols above a transport layer. The system also allows a single connection to be shared by multiple sessions. Sessions can be bound to multiple connections to enable communication over multiple transports. During the initial negotiation of a session, a client and a server determine whether multiple connections are supported between the client and the server within a session. After establishing an initial connection, additional connections can be established and bound to the existing session. The multiple connections can be used for failover and/or load balancing. The multi-connection information system provides a protocol for discovering a capability to establish multiple channels within a session and information about the available connections between two particular resources.