Subscriber Update Rate Allocation via Linear Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network management systems, subscribers lack control over the rate of updates received from publishers, leading to resource constraints such as limited storage or processing power, and can be overwhelmed by high update rates, especially in IoT devices with limited resources, resulting in inefficient resource usage and potential data loss.
Innovation Solution
Implementing update rate management instructions that allow subscribers to allocate and control the rate of updates from publishers by forecasting and prioritizing updates, using linear programming optimization to set 'not-to-exceed' rates and adjust based on available resources and utility, ensuring efficient resource utilization and preventing data loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If push-based approaches are used to send updates when changes occur, then timeliness and resource efficiency are improved, but subscribers can be overwhelmed by high update rates leading to resource constraints and data loss
Solution Approach 1:
The system dynamically changes the parameter of update rate by adjusting publisher limit rates based on subscriber resource availability. The linear programming optimization continuously adjusts these rates to maximize information flow while staying within resource constraints, transforming the static push-based approach into a dynamically controlled system that adapts to changing conditions.
Solution Approach 2:
The system implements feedback mechanisms where subscribers report their resource status (CPU usage, memory availability, storage capacity) to publishers. This feedback loop enables the linear programming optimization to adjust publisher limit rates in real-time, ensuring that update rates match the subscriber's actual processing capacity and preventing resource overload.
2Loss of information
If subscribers receive all updates from multiple publishers, then complete information is obtained, but resource overload occurs leading to inefficient resource usage
Solution Approach 1:
The system applies local quality by allocating different publisher limit rates to different publishers based on their individual update rates and the subscriber's resource capacity. Instead of uniform treatment, each publisher receives a customized rate allocation optimized for their specific characteristics and the current resource state, maximizing information completeness while maintaining resource efficiency.
Solution Approach 2:
The system implements partial action by selectively receiving updates from multiple publishers at controlled rates rather than accepting all updates indiscriminately. The linear programming optimization determines the optimal subset and rate of updates to process, ensuring sufficient information is obtained without overwhelming resources, effectively applying partial action to achieve the desired information level.
3Measurement precision
If polling frequency is increased to ensure data freshness, then synchronization is improved, but redundant requests increase causing resource waste
Solution Approach 1:
The system applies preliminary action by having publishers proactively push updates when changes occur, eliminating the need for frequent polling. This reverses the traditional approach where subscribers must repeatedly query for updates, and instead publishers automatically notify subscribers of changes, achieving data freshness without redundant requests and eliminating synchronization timing issues.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some embodiments, a network resource allocation method comprises determining a subscriber limit rate at which a subscriber computer can process updates received from a plurality of publisher computers, wherein each of the updates comprises an electronic digital message received over a computer network; determining, for each publisher computer of the plurality of publisher computers, a not-to-exceed rate of updates sent to the subscriber computer and storing a plurality of the offered rates; determining by the subscriber computer, for each publisher computer of the plurality of publisher computer, a utility of updates sent by the publisher computer and storing a plurality of the utilities; assigning to each publisher computer of the plurality of publisher computers a publisher limit rate at which the respective publisher computer sends updates to the subscriber computer using the offered rate and the utility of updates of the respective publisher computer.