Location Sharing Objects for Low-Traffic Real-Time Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing messaging applications consume significant network resources and degrade performance by continuously polling or pushing frequent location updates, leading to inefficiencies and reduced accuracy in location sharing among users.
Innovation Solution
A distributed storage system using real-time graph instances and bi-directional streaming remote procedure calls minimizes network traffic by intelligently updating and propagating location information to device objects of friends, reducing the need for frequent polling and pushing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If continuous polling or pushing of frequent location updates is implemented, then location accuracy is improved, but network resource consumption increases and performance degrades
Solution Approach 1:
The system transitions from continuous periodic polling to event-triggered periodic updates. Location updates are sent periodically only when the user's location changes exceed a threshold or when the user is actively moving, rather than continuously at fixed intervals. This reduces network traffic while maintaining acceptable location accuracy for the application's needs.
Solution Approach 2:
The update frequency and trigger conditions are made dynamic rather than static. The system adjusts the polling interval and update triggers based on user activity state, movement detection, and application context. When users are stationary, updates are minimized; when moving, updates increase automatically, optimizing the balance between accuracy and resource consumption.
2Speed
If frequent location updates are pushed to all users, then real-time location sharing is improved, but network bandwidth is wasted and system resources are consumed
Solution Approach 1:
The system applies different update strategies to different user groups based on their activity and interest. Active users who are currently viewing location information receive real-time updates, while inactive users receive less frequent or no updates. This local differentiation optimizes network bandwidth allocation to where it is most needed.
Solution Approach 2:
The system extracts and separates the location update delivery mechanism from a universal broadcast approach. Instead of pushing updates to all users simultaneously, the system selectively delivers updates only to users who have active sessions or are currently viewing location information, removing unnecessary network traffic to inactive recipients.
3Loss of information
If location information is updated and propagated to all device objects, then location sharing completeness is improved, but network traffic increases
Solution Approach 1:
The system performs preliminary actions by pre-loading location information for users who are about to become active or are in the process of connecting. When a user establishes a connection, their location data is already available or quickly retrieved, eliminating the need for immediate post-connection data fetching and reducing overall network traffic.
Solution Approach 2:
The system merges multiple location update operations into single batched transmissions where possible. Instead of sending individual update messages for each location change to multiple recipients, the system consolidates updates and transmits them in efficient batches, reducing the total number of network transactions while ensuring all users receive complete location information.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Aspects of the present disclosure involve systems and methods for performing operations comprising: storing, on a distributed storage system, one or more front-end (FE) instances and a plurality of real-time graph (RTG) instances; receiving, by a first online device object associated with a given user, an update from a first client device; generating, by the first online device object, a message that includes the update for transmission to a plurality of friends of the given user; storing, on a given one of the plurality of RTG instances, an offline device object for a first friend of the plurality of friends and a second online device object for a second friend of the plurality of friends; and transmitting, by the first online device object the message that includes the update to the offline device object of the first friend and the second online device object of the second friend.