Middlebox Endpoint Migration via TCP Reset and NAT
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer networking, existing technologies face challenges in seamlessly migrating an application session endpoint from one host to another without disrupting the ongoing connection, particularly in scenarios like load balancing, maintenance, or failover, where the connection needs to be switched with minimal disruption.
Innovation Solution
A middlebox coordinates network address translation with a transport protocol reset mechanism to switch the connection to a new host, using a spoofed ACK and RST to close the connection on the original host and establish a new one on the target host, allowing the application layer session to persist through the endpoint change.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If network address translation is used to migrate an application session endpoint from one host to another, then the application session can be moved to a different host, but the existing connection is disrupted and requires re-establishment
Solution Approach 1:
The patent applies preliminary action by establishing a new TCP connection between the client and target host before terminating the old connection. The middlebox proactively creates the new connection path using network address translation rules, ensuring that when the old connection is closed, the application session can immediately utilize the pre-established new connection without interruption or data loss.
2Adaptability or versatility
If a middlebox implements network address translation for endpoint migration, then host switching is enabled, but connection state synchronization between hosts becomes complex
Solution Approach 1:
The middlebox serves as an intermediary that manages connection state translation between the source host and target host. It maintains translation rules that map connection identifiers and state information, allowing the middlebox to seamlessly redirect traffic and synchronize connection state without requiring complex direct communication between the hosts themselves.
3Adaptability or versatility
If the connection is abruptly closed during endpoint migration, then the endpoint can be switched to a new host, but data in transit may be lost
Solution Approach 1:
The patent applies preliminary action by establishing a new TCP connection between the client and target host before terminating the old connection. The middlebox proactively creates the new connection path using network address translation rules, ensuring that when the old connection is closed, the application session can immediately utilize the pre-established new connection without interruption or data loss.
Solution Approach 2:
The patent implements beforehand cushioning by buffering and forwarding any in-transit data through the middlebox during the migration process. The middlebox captures data packets that would otherwise be lost during the connection transition, stores them temporarily, and forwards them through the new connection path, ensuring no data is lost during the endpoint migration.
Data Source
AI summary
In storage networks (e.g., SAN and NAS), various reasons can arise for migrating an application layer communication session endpoint to a different host. To achieve scalability and robustness, the migration can be enacted externally and carried out at a middlebox at the transport layer. When a migration is triggered to migrate an application layer communication session endpoint from a host A to a host B, the middlebox coordinates network address translation with a transport protocol reset mechanism to switch the connection to host B and close the connection on host A with minimal disruption to the non-migrating application layer communication session endpoint using the connection. At the application layer, the non-migrating application layer communication session endpoint will initiate a new connection in response to detecting the reset, and retry any operation that was aborted as a result of the connection switch.


