UDP-over-HTTP Load Balancing for Session-Aware Microservices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cellular networks with microservices-based core network nodes, load balancing of User Datagram Protocol (UDP) packets is challenging due to all packets having the same five-tuple, leading to overutilization of certain microservice instances and underutilization of others, defeating the purpose of horizontal scaling.
Innovation Solution
A method and system that utilize a load balancer microservice to convert UDP packets into Hypertext Transfer Protocol (HTTP) packets, adding session information as a cookie in the HTTP header, enabling intelligent routing based on session associations and load balancing across multiple microservice instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If UDP packets are routed using standard five-tuple load balancing, then routing simplicity is maintained, but load distribution becomes uneven causing overutilization of certain microservice instances
Solution Approach 1:
The patent introduces an intermediary mechanism by encapsulating UDP packets within HTTP packets. This encapsulation adds a cookie containing session information to the HTTP header, which acts as a mediator to carry session identification through the microservice architecture. The intermediary HTTP protocol enables intelligent routing decisions while maintaining the underlying UDP communication semantics.
Solution Approach 2:
The patent changes the routing parameters from standard five-tuple (source IP, destination IP, source port, destination port, protocol) to include session information extracted from UDP payload. By extracting session identifiers from the UDP packet content and embedding them in HTTP cookies, the system transforms routing from purely header-based to content-aware routing, enabling better load distribution across microservice instances.
2Productivity
If session information is extracted and added to HTTP headers, then intelligent routing and load balancing are enabled, but packet processing complexity increases
Solution Approach 1:
The patent applies preliminary action by extracting session information from UDP packets at the point of reception, before routing decisions are made. The load balancer microservice proactively encapsulates UDP packets into HTTP packets with embedded session cookies, preparing them for intelligent routing in advance. This preliminary processing enables downstream microservices to make informed routing decisions without adding significant complexity during critical path operations.
Solution Approach 2:
The HTTP protocol serves as an intermediary layer that simplifies the complexity of intelligent routing. Instead of modifying UDP routing logic directly, the patent introduces HTTP encapsulation as a mediator that handles session information extraction, cookie generation, and routing decision-making. This intermediary approach isolates the complexity within a dedicated load balancer component while maintaining simplicity in the core microservice routing logic.
3Measurement precision
If UDP packets are converted to HTTP packets with session cookies, then session-based routing accuracy is improved, but conversion overhead increases
Solution Approach 1:
The patent applies partial action by selectively extracting only the necessary session information from UDP packets rather than processing the entire packet content. The load balancer extracts minimal session identifiers from the UDP payload and embeds them in compact HTTP cookie formats. This partial processing approach achieves accurate session-based routing while minimizing the time and computational resources required for packet conversion.
Solution Approach 2:
The patent changes the temporal parameters of packet processing by performing session extraction and HTTP encapsulation in parallel where possible, and by optimizing the conversion path to minimize serialization overhead. The system transforms the packet conversion process from a sequential bottleneck to a more concurrent operation, reducing the time loss associated with UDP-to-HTTP conversion while maintaining session routing accuracy.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
A first plurality of UDP packets corresponding to a first session and a second plurality of UDP packets corresponding to a second session can be received at a core network node. The first plurality of UDP packets and the second plurality of UDP packets have the same source five tuple. A first plurality of HTTP packets comprising first session information identifying the first session can be created based on the first plurality of UDP packets. A second plurality of HTTP packets comprising second session information identifying the second session can be created based on the second plurality of UDP packets. The first plurality of HTTP packets can be routed to a first microservice instance based at least in part on the first session information. The second plurality of HTTP packets can be routed to a second microservice instance based at least in part on the second session information.