Anycast Secondary Server Advertisement Filtering for Geographic Redundancy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing high availability services, such as DNS, face inefficiencies with secondary servers being underutilized and potential simultaneous failure due to shared geographic location, leading to redundancy issues.
Innovation Solution
Servers advertise both primary and secondary Anycast IP addresses and BGP communities, allowing routers to ignore servers within specific geographic or site communities when routing secondary requests, ensuring redundancy without dedicated secondary servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple servers advertise the same Anycast IP address, then service availability is improved through redundancy, but server utilization efficiency deteriorates when primary servers fail simultaneously
Solution Approach 1:
The patent segments servers into different geographic communities and uses community-based filtering to route requests to different server groups. By dividing the server population into geographically distributed communities, the system ensures that failures in one community do not affect all servers, thereby maintaining both reliability and utilization efficiency.
Solution Approach 2:
The patent applies local quality by making routing decisions based on geographic location and community characteristics. Different servers are treated differently based on their geographic community membership, with local routing policies that optimize for both availability and efficiency within each geographic region.
2Reliability
If secondary servers are dedicated to specific geographic areas, then redundancy is improved, but latency increases due to geographic distance
Solution Approach 1:
The patent implements multi-functionality by enabling servers to serve multiple roles - they can be primary servers for their local geographic community while also serving as backup secondary servers for other communities. This universal role allows a single server to contribute to redundancy across multiple geographic areas without being dedicated to a single location, thereby reducing latency penalties.
Solution Approach 2:
The patent adds a community dimension to traditional geographic routing. Instead of routing solely based on physical distance, the system incorporates community membership as an additional dimension, allowing requests to be routed to servers that are geographically distant but belong to different communities, thus achieving redundancy without excessive latency.
3Speed
If routers use least-cost routing based on topographical distance, then response time is optimized, but redundancy capability deteriorates when all nearest servers fail
Solution Approach 1:
The patent implements preliminary action by pre-configuring community-based routing policies and server advertisements before failures occur. Servers advertise their community memberships and roles in advance, allowing routers to have ready-made alternative routing paths prepared. When failures occur, the system can immediately switch to pre-planned redundancy paths without waiting for failure detection and analysis.
Data Source
AI summary
In examples, a first Anycast advertisement is received from a first server identifying the first server as a primary address for a service. In addition, a second Anycast advertisement is received from the first server identifying the first server as a secondary address for the service. Further, a third Anycast advertisement is received from a second server identifying the second server as the secondary address for the service. A first community advertisement is also from the first server identifying the first server as a member of a first community. Thereafter, a first request is received from a client including the primary address, and the request is routed to the first server. When a second request from the client is received including the secondary address, based at least on the community advertisement, the first server is ignored, and the second request is routed to the second server.


