Address Table Index Segmentation for Distributed Service Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems face challenges in efficiently managing routing information across multiple service instances, leading to suboptimal load balancing and impact on existing routes and route tables when adding or removing service instances.

Innovation Solution

A method and network device controller that utilize an address table with provisioned index values to assign and reassign packet source address sets among service instances, allowing for minimal disruption by dividing and combining address subsets, and dynamically increasing index values as needed to accommodate new or removed instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If service instances are added or removed from the address table, then the distributed service can adapt to changing conditions, but existing routes and route tables are impacted requiring updates

Engineering Contradiction:
Improveservice instance dynamic adjustmentVSAvoidroute stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The address table is segmented into multiple index values, where each index value corresponds to a specific service instance. This segmentation allows individual instances to be added or removed by modifying only their specific index entries, rather than requiring updates to the entire routing structure. The packet source address set is further segmented into subsets that map to different index values, enabling granular control over traffic distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The address table serves as an intermediary layer between the load balancer and the service instances. It absorbs the complexity of instance management and provides a stable interface for route table lookups. When service instances change, only the address table needs to be updated, not the route tables themselves, thus isolating the impact of dynamic changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the address table uses one entry per service instance, then instance management is simplified, but the table size increases requiring more memory resources

Engineering Contradiction:
Improveinstance management simplicityVSAvoidaddress table size
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Multiple service instances are merged into a single address table entry by using different index values within the same entry. Instead of creating separate entries for each instance, the patent combines them under a unified table structure where the index value distinguishes between instances. This merging reduces the overall table size while maintaining the ability to manage individual instances through their index assignments.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If load balancing distributes packets across multiple instances, then service capacity is increased, but routing complexity increases requiring more sophisticated lookup mechanisms

Engineering Contradiction:
Improveservice capacityVSAvoidrouting mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The routing mechanism uses local quality by assigning specific characteristics (index values) to different parts of the address table corresponding to different service instances. Each index value has a specific function of routing to a particular instance, allowing the system to maintain simple lookup operations while supporting multiple instances. The complexity is localized to the index assignment rather than the lookup process itself.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3100436B1Maintaining routing information for a distributed service provided by service instances
Publication Date: 2018.02.21 GOOGLE LLC
  • EP3100436B1 patent drawingFigure 1A~1B
  • EP3100436B1 patent drawingFigure 2~3
  • EP3100436B1 patent drawingFigure 4A

AI summary

Aspects and implementations of the present disclosure are directed to a network device storing 130 an address table. Each of the address table entries is assigned to a respective provisioned index value and an instance of a distributed service. The device is configured to add a new service instance to the address table by obtaining an assignable index value for the new service instance, identifying an assigned index value that is a companion index value to the obtained index value, dividing a packet source address set associated with the companion index value into first and second address subsets, and assigning the first address subset to the service instance entry in the address table associated with the assigned companion index value and the second address subset to an entry in the address table associated with the obtained index value and the newly added service instance. Data packets are routed from a client to a particular host for an instance of the distributed service selected based on a characteristic, such as a source address, of incoming packets and based on load-balancing rules. A network controller treats each service instance as having a companion instance. When a new service instance is added, the network controller identifies the companion instance for the new service instance, and divides the set of addresses assigned to the companion instance into two sets, one for the preexisting companion instance and the other for the new service instance. When a service instance is removed, the network controller re-assigns the addresses for the removed service instance back to the companion instance. In some situations, the pairings between peer service instance companions is redistributed such that each service instance has a companion instance, as needed.