Network Stream Classification for OS Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for sharing network resources among multiple applications on a computing device are inefficient, often failing to prioritize user preferences and leading to conflicts, with complex programming required and inconsistent implementation across applications.
Innovation Solution
An operating system implements classes of network streams, allowing applications to assign their streams to these classes, which the operating system regulates to manage network resource allocation, prioritizing higher priority streams by restricting lower priority ones, thus optimizing network resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If applications implement their own network-sharing logic, then each application can control its network behavior, but the system becomes complex and conflicting behaviors arise between applications
Solution Approach 1:
The patent introduces an operating system-level intermediary that mediates between multiple applications and the network stack. This intermediary provides a standardized API that applications use to declare their network requirements, and it centrally manages resource allocation based on these declarations, eliminating the need for complex peer-to-peer negotiation between applications.
Solution Approach 2:
The patent creates a universal network classification framework that works across all applications regardless of their specific type or implementation. The operating system provides a common interface and set of rules that all applications can use to express their network needs, ensuring consistent behavior across the entire system.
2Productivity
If QoS facilities are used below the application level, then network resource prioritization can be achieved, but applications cannot reliably manipulate or control these facilities
Solution Approach 1:
The operating system acts as an intermediary layer between applications and the low-level QoS facilities. Applications interact with the operating system through a simplified API, and the operating system translates these high-level requests into appropriate low-level QoS control mechanisms, shielding applications from complexity while maintaining control capability.
Solution Approach 2:
The patent segments the network control functionality into distinct layers: application-level declarations, operating system-level management and translation, and low-level QoS enforcement. This segmentation allows each layer to operate independently with appropriate complexity, with the operating system bridging the gap between simple application needs and complex QoS mechanisms.
3Productivity
If background bulk network transfers consume network resources freely, then background tasks can make progress, but foreground application performance suffers
Solution Approach 1:
The patent implements dynamic network resource allocation where the operating system continuously monitors network conditions and application needs, adjusting resource allocation in real-time. Background transfers can dynamically acquire resources when foreground applications are not actively using the network, and vice versa, creating a flexible system that adapts to changing conditions.
Solution Approach 2:
The operating system periodically evaluates network resource allocation and adjusts it based on current foreground/background application activity. This periodic reassessment ensures that background transfers yield resources to foreground applications when needed while making progress when network resources are available, creating a rhythmic balance between competing demands.
Data Source
AI summary
An operating system implements classes of network streams. Applications assign their network streams to the classes. The operating system, in turn, regulates the streams according to which classes the streams are in. As conditions change, network resources may be made available or more fully utilized by regulating streams according to which classes they have been assigned to. Network resources may be made available, perhaps rapidly or preemptively, for streams in higher priority classes by restricting streams in lower priority classes.


