Block-Based QOS Precedence Assignment in Mobile OS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Quality of Service (QOS) mechanism in mobile communication devices is prone to changes when applications are launched or modified, leading to unpredictable QOS allocation and increased communication overhead due to varying filter precedence values and potential overlapping filters.

Innovation Solution

Implementing a block-based precedence value assignment system where filters are assigned from contiguous blocks of values, maintaining the specified order and allowing for additions, deletions, and modifications without affecting other applications, and performing repacking operations to fill unused blocks and reduce over-the-air signaling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional QOS mechanism is used with individual filter precedence values, then applications can request specific QOS parameters, but QOS allocation becomes unpredictable and communication overhead increases when applications are launched or modified

Engineering Contradiction:
ImproveQOS allocation flexibilityVSAvoidQOS allocation stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the precedence value space into discrete blocks, where each block contains a range of precedence values. Instead of assigning individual precedence values to filters, the system assigns entire blocks to applications. This segmentation stabilizes QOS allocation because applications receive a guaranteed range of precedence values that cannot be arbitrarily changed by other applications, while still allowing flexibility within the assigned block for multiple filters.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary assignment of precedence value blocks to applications when they are first launched or register their filter requirements. This preliminary allocation ensures that each application has a reserved range of precedence values before actual filter operations begin, preventing later conflicts and reducing communication overhead by avoiding repeated QOS negotiation when applications are modified.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If individual filter precedence values are assigned dynamically, then applications can be adapted to changing network conditions, but communication overhead increases due to frequent updates and over-the-air signaling

Engineering Contradiction:
ImproveApplication QOS adaptabilityVSAvoidCommunication overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent merges multiple individual precedence value assignments into a single block assignment. Instead of updating individual filter precedence values separately, the system updates entire blocks as unified units. This reduces communication overhead because a single block assignment can cover multiple filters, reducing the number of separate signaling operations required when applications are launched or modified.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the parameter granularity from individual precedence values to block-level precedence ranges. By operating at the block level rather than individual value level, the system reduces the frequency and volume of signaling required. Applications can still adapt to changing conditions by receiving different blocks with appropriate precedence ranges, but the coarser granularity significantly reduces communication overhead.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If filters are assigned precedence values in launch order, then implementation is simple, but QOS allocation is unfair to applications launched later

Engineering Contradiction:
ImprovePrecedence assignment simplicityVSAvoidQOS allocation fairness
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent segments the precedence value space into multiple blocks that can be distributed systematically. Instead of a single sequential assignment, the system creates multiple blocks that can be allocated based on various criteria including application priority, network conditions, and fairness considerations. This maintains implementation simplicity while enabling fairer allocation compared to pure launch-order assignment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a static launch-order assignment to a dynamic block allocation mechanism. Blocks can be assigned, reassigned, or adjusted based on current network conditions, application requirements, and fairness criteria. This dynamic approach allows the system to maintain simplicity in the basic mechanism while adding flexibility for fairer QOS allocation across different scenarios.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7826418B2Block-based assignment of quality of service precedence values
Publication Date: 2010.11.02 QUALCOMM INC
  • US7826418B2 patent drawing
  • US7826418B2 patent drawing
  • US7826418B2 patent drawing

AI summary

An ordered list of precedence values includes a number of blocks of precedence values. An operating system receives filters from an application. The operating system assigns a precedence value to each filter from the available block of precedence values that has the highest priority. Precedence values are assigned to maintain a precedence order specified by the application. Filters and their assigned precedence values are communicated to an entity that filters packets by applying the filters in the order of their precedence values. Filters for an application can be added, deleted, or modified without affecting the precedence values of other filters for other applications. If an assignment is to be made when the lowest priority block is not available, then a repacking operation is performed to fill unused blocks in the list. The repacking is performed to reduce signaling associated with communicating reassigned precedences values to the filtering entity.