Dynamic Gateway Courier Routing for Mobile Notification Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of routing notification messages to mobile devices is exacerbated by their lack of inherent addressability and the scalability issues that arise as the number of connected devices increases, leading to cost-prohibitive and complex network server requirements, as well as potential failures in message delivery due to non-failsafe static routing.
Innovation Solution
A system utilizing dynamic gateways and couriers that maintain presence information for mobile devices, allowing for the forwarding of notification messages through any gateway and courier, with dynamic configuration and token-based routing to accommodate hundreds of millions of devices, ensuring message delivery even if network devices fail.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static routing using network server devices is used to route notification messages to mobile devices, then message delivery can be achieved, but the system lacks fault tolerance and becomes complex and costly when scaling to hundreds of millions of devices
Solution Approach 1:
The system segments the routing function by introducing courier devices that maintain presence information for mobile devices. Instead of using a single complex network server for all routing, the functionality is divided between gateways (for message reception) and couriers (for presence tracking and message forwarding), distributing the complexity across multiple specialized components
Solution Approach 2:
Courier devices act as intermediaries between gateways and mobile devices. The courier maintains presence information and facilitates message delivery, serving as a mediator that simplifies the overall routing architecture while maintaining reliability through its specialized role in tracking device availability
2Productivity
If hundreds of thousands of network server devices are deployed to manage connections for hundreds of millions of mobile devices, then scalability is achieved, but the cost becomes prohibitive
Solution Approach 1:
Courier devices are designed with multi-functionality, serving both as presence information maintainers and as message forwarding intermediaries. This universal design reduces the total number of devices needed compared to having separate specialized servers for each function, achieving scalability with fewer physical devices
Solution Approach 2:
The system implements dynamic configuration where couriers can serve multiple zones and gateways can route to multiple couriers. This dynamic flexibility allows the same set of devices to handle variable loads and scale efficiently without requiring a fixed one-to-one mapping between servers and devices
3Ease of operation
If mobile devices are routed through network address translation firewalls, then device connectivity is achieved, but inherent addressability is lost making large-scale routing difficult
Solution Approach 1:
The gateway acts as an intermediary that receives messages from providers and routes them through the appropriate courier to the mobile device. This intermediary approach bypasses the addressability issue by using application-layer routing based on device identifiers rather than relying on network-layer IP addresses that must traverse NAT firewalls
Data Source
AI summary
Gateway devices maintain presence information for various mobile devices. Each gateway is associated with a zone and manages presence information only for mobile devices associated with that zone. Courier devices back-propagate presence information for the mobile devices to respective gateways based at least on the respective zone associated with each mobile device. The gateways and couriers are dynamically configured such that messages can be pushed from a provider application to a mobile device via any gateway and any courier.


