Stream Manager for Network Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for managing network resources among multiple applications on a computing device are inefficient, often failing to prioritize user preferences and requiring complex programming, leading to conflicts and suboptimal performance.

Innovation Solution

The solution involves classifying network streams based on application features and using beacon nodes to inform a stream manager about network conditions, allowing for implicit classification and regulation of streams through profile-class mappings and event publication services, which adapt transmission control logic to optimize network resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Quality of Service (QoS) facilities are used to manage network resources, then network resource allocation can be improved, but they are often not available or not implemented in a uniform manner, reducing reliability

Engineering Contradiction:
Improvenetwork resource allocation efficiencyVSAvoidavailability and uniformity of QoS facilities
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a stream manager as an intermediary component that sits between applications and the network stack. This stream manager provides a uniform interface for network stream classification and management, abstracting away the underlying variability of QoS facilities. The stream manager classifies network streams from different applications and applies appropriate management policies, ensuring consistent behavior across different network conditions and application types without requiring direct access to or uniform implementation of QoS facilities throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If QoS technology is implemented below the application level, then network resource management can be automated, but applications cannot reliably manipulate or control their network behavior

Engineering Contradiction:
Improveautomatic network resource managementVSAvoidapplication control over network behavior
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent segments the network management function into distinct layers: the stream manager handles automated classification and high-level policy enforcement, while applications retain control through explicit stream classification APIs. This segmentation allows automated management at the system level while preserving application-level controllability. Applications can declare their network stream characteristics and priorities through the provided interface, and the stream manager automatically enforces these preferences without requiring applications to implement complex network management logic directly.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If applications implement their own network-sharing logic, then each application can optimize its own behavior, but this requires complex network programming and may cause conflicts between applications

Engineering Contradiction:
Improveapplication-specific network optimizationVSAvoidnetwork programming complexity and inter-application conflicts
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the network management functions of multiple applications into a centralized stream manager. Instead of each application implementing its own network-sharing logic, the stream manager consolidates these functions and provides a uniform interface for all applications. This eliminates the complexity of duplicate network programming across applications and prevents conflicts by providing a single point of coordination. Applications simply declare their network preferences through the standardized interface, and the stream manager handles the complex interactions and resource allocation among competing applications.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If LEDBAT protocol is used to manage background network transfers, then background applications can yield network resources, but it only restricts TCP send windows and has no effect on the receive stream, limiting its effectiveness

Engineering Contradiction:
Improvebackground transfer efficiencyVSAvoidprotocol coverage and effectiveness
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The stream manager provides a universal network stream management mechanism that handles both TCP and UDP protocols, as well as both send and receive streams. Unlike LEDBAT which only affects TCP send windows, the stream manager can classify and manage any network stream based on its characteristics and application preferences. It applies appropriate rate limiting and priority management to both outgoing and incoming traffic, making the solution protocol-agnostic and effectively addressing the limitations of protocol-specific approaches like LEDBAT.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10038616B2Managing classified network streams
Publication Date: 2018.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10038616B2 patent drawing
  • US10038616B2 patent drawing
  • US10038616B2 patent drawing

AI summary

Embodiments relate to classifying network streams and regulating behavior of the streams based on their respective classes. One technique for managing streams involves analyzing applications, obtaining indicia of features of the applications, and using those features to infer classes to which streams of the applications may be assigned. Another technique involves deploying beacon nodes at the edge of a network. The beacon nodes inform a stream manager about network conditions such as latencies with regard to network boundaries or regions. Another embodiment for facilitating management of streams involves a subscription service for UDP applications. A UDP application may subscribe to the service, which may be provided by an operating system hosting the application. Events are published to any subscribed UDP applications to inform the UDP applications of changes in networking conditions. The UDP applications, in turn, may adapt their internal transmission control logic.