Multi-homed Device Interface Selection via Application Policies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-homed hosts face difficulties in selecting the appropriate communication interface due to the limitations of existing routing tables, which fail to account for factors like firewall states, network conditions, and application-specific preferences.
Innovation Solution
Implement a system that allows selection of communication interfaces based on application-defined policies and preferences, including previous communication attempts and connection requirements, to ensure optimal interface choice for each application program.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a routing table is used for interface selection, then the system structure is simple, but the interface selection accuracy deteriorates when multiple interfaces connect to private networks with identical gateway and destination addresses
Solution Approach 1:
The patent segments the interface selection process into multiple independent evaluation dimensions: routing table matching, firewall state assessment, network condition evaluation, and application preference consideration. Each dimension independently evaluates the suitability of communication interfaces, allowing the system to handle complex multi-homed scenarios without overwhelming structural complexity.
Solution Approach 2:
The patent introduces an intermediary interface selection mechanism that sits between the routing table and the actual communication interface. This intermediary evaluates multiple factors including firewall states, network conditions, and application preferences to make the final interface selection, thereby improving accuracy without requiring complete redesign of the networking stack.
2Device complexity
If the routing table assumes any host is reachable over any interface, then the routing table structure remains simple, but the reliability of communication deteriorates when firewalls or network states restrict accessibility
Solution Approach 1:
The patent performs preliminary assessments of firewall states and network conditions before establishing communication through selected interfaces. By evaluating whether hosts are actually reachable considering firewall rules and current network states, the system avoids attempting communications that would fail, thereby improving reliability without adding complex runtime decision-making structures.
Solution Approach 2:
The patent incorporates feedback mechanisms that monitor the actual reachability of hosts through different interfaces, considering firewall states and network conditions. This feedback informs the interface selection process, allowing the system to adapt to changing network environments and maintain reliable communication despite the simplicity of the underlying routing table structure.
3Reliability
If application-specific preferences and policies are incorporated into interface selection, then the connection success rate improves, but the complexity of the selection system increases
Solution Approach 1:
The patent applies local quality by allowing different application programs to have their own specific preferences and policies for interface selection. Each application can specify its own criteria for interface selection based on its particular requirements, while the overall selection mechanism remains a unified system that processes these diverse preferences without requiring complete customization for each application.
Data Source
AI summary
Configurable selection of communication interfaces on a multi-homed computing device. Application programs executing on the computing device define preferences, policies, and/or restrictions for use of the various communication interfaces. Responsive to a request from one of the application programs to communicate with a destination computing device, a list of the communication interfaces is created based on the preferences defined by the application program. The application program iteratively attempts to establish a connection to the destination computing device using each of the communication interfaces on the list.


