Central Controller Load Balancing for Data Packet Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data packet receiving and storage systems face challenges in efficiently managing and balancing the load across multiple processors and queues, particularly in maintaining the order of data packets and handling varying queue fill levels, which can lead to inefficiencies and disruptions in data processing.

Innovation Solution

A system comprising a storing unit with multiple non-overlapping queues, a controlling unit that determines fill levels and selects addresses for data packets, and de-queuing processors that forward information to the controlling unit, ensuring that data packets are stored and processed in a manner that maintains order and balances load across processors by inhibiting further processing on a queue until it is empty.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors de-queue data from multiple queues in parallel, then processing speed and throughput are improved, but maintaining the correct order of data packets and balancing load across processors becomes more difficult

Engineering Contradiction:
Improveprocessing speedVSAvoidload balancing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the queues into multiple groups, where each group is assigned to a specific processor. This segmentation allows parallel processing while maintaining order within each group, as processors only de-queue from their assigned groups, simplifying load balancing and order maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controlling unit acts as an intermediary that receives information from processors about queue fill levels and de-queuing operations. It determines the fill levels and selects appropriate queues for data packets, coordinating between multiple processors and queues to maintain order and balance load without requiring complex direct communication between processors.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If data packets are stored in multiple queues across different processors, then storage capacity and parallel processing are improved, but maintaining the correct order of data packets across processors becomes more difficult

Engineering Contradiction:
Improvestorage capacityVSAvoiddata packet order
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Queues are segmented into groups assigned to specific processors. Data packets within each group maintain their relative order because only the designated processor de-queues from that group. This segmentation ensures reliability of data order while enabling parallel processing across multiple processors with increased storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processor has local knowledge and control over its assigned queue groups. The controlling unit provides local quality by determining fill levels and selecting queues based on processor-specific conditions, ensuring that each processor maintains correct order for its local queues while contributing to overall system capacity.

Inventive Principle:
Principle #3Local quality

3Duration of action of moving object

If a processor continues processing a queue that is becoming full, then processing continuity is maintained, but other processors may become underutilized leading to load imbalance

Engineering Contradiction:
Improveprocessing continuityVSAvoidload balance
Core Design Contradiction:
Duration of action of moving objectVSProductivity

Solution Approach 1:

The system implements feedback mechanisms where processors inform the controlling unit about queue fill levels and de-queuing status. The controlling unit uses this feedback to determine current fill levels and select appropriate queues, dynamically adjusting load distribution to maintain both processing continuity and load balance across processors.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The queue assignment and selection process is dynamic rather than static. The controlling unit continuously determines fill levels and selects queues based on current system state, allowing the system to adapt to changing conditions and maintain optimal load balance while ensuring processing continuity for each data packet.

Inventive Principle:
Principle #15Dynamics

4Reliability

If the system checks queue fill levels before storing each data packet, then load balancing and order maintenance are improved, but processing time and system complexity increase

Engineering Contradiction:
Improveload balancingVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controlling unit determines queue fill levels in advance before data packets need to be stored. By proactively selecting appropriate queues based on current fill levels, the system avoids last-minute decisions and reduces processing time while maintaining reliable load balancing and data packet order.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8934341B2Apparatus and a method of receiving and storing data packets controlled by a central controller
Publication Date: 2015.01.13 NAPATECH
  • US8934341B2 patent drawing
  • US8934341B2 patent drawing
  • US8934341B2 patent drawing

AI summary

An assembly and a method where a number of receiving units receive and store data in a number of queues de-queued by a plurality of processors/processes. If a selected queue for one processor has a fill level exceeding a limit, the packet is forwarded to a queue of another processor which is instructed to not de-queue that queue until the queue with the exceeded fill level has been emptied. Thus, load balancing between processes/processors may be obtained while maintaining an ordering between packets.