FIFO Token Buffering for Back-to-Back Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource allocation systems, particularly those using round robin algorithms, face challenges in supporting back-to-back allocations for a large number of clients and efficient resource reallocation due to limitations in multiplexer circuits and feedback delays.

Innovation Solution

A network device with a FIFO selection circuit that buffers and outputs tokens in a first-in-first-out manner, enabling back-to-back resource allocation by re-buffering output tokens when additional resource allocation is required, and using a multi-write FIFO buffer to manage tokens across multiple clients with minimal delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If round robin algorithm is used for resource allocation, then resource sharing among multiple users is achieved, but feedback delay increases and back-to-back allocation efficiency deteriorates

Engineering Contradiction:
Improveresource allocation reliabilityVSAvoidfeedback delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-buffering tokens in a FIFO queue before resource allocation decisions are made. This allows the system to prepare allocation tokens in advance, eliminating the need for repeated requests and reducing feedback delay when back-to-back allocations are needed.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiplexer circuit is used for resource allocation, then resource sharing is enabled, but device complexity increases and allocation efficiency decreases

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidmultiplexer circuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the token buffering and management function from the complex multiplexer circuit and implements it as a separate FIFO queue mechanism. This separation simplifies the overall system architecture by removing the need for complex multiplexer logic while maintaining resource sharing capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If traditional resource allocation is used, then resource assignment is achieved, but resource utilization efficiency deteriorates due to repeated requests

Engineering Contradiction:
Improveresource allocation speedVSAvoidenergy waste from repeated requests
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the system monitors whether a queue still needs resources after receiving an allocation token. If the queue remains non-empty, the token is re-queued for immediate re-allocation, creating a feedback loop that eliminates repeated requests and improves resource utilization efficiency.

Inventive Principle:
Principle #23Feedback

4Ease of operation

If round robin algorithm is used, then fair resource distribution is achieved, but back-to-back allocation capability deteriorates

Engineering Contradiction:
Improveresource distribution fairnessVSAvoidback-to-back allocation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces dynamic behavior to the allocation system by making the token re-queuing decision conditional on the queue's current state. When a queue remains non-empty after allocation, the token is dynamically re-queued, allowing back-to-back allocations while maintaining overall fairness through the FIFO structure.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11310164B1Method and apparatus for resource allocation
Publication Date: 2022.04.19 MARVELL ISRAEL (M L S L) LTD
  • US11310164B1 patent drawing
  • US11310164B1 patent drawing
  • US11310164B1 patent drawing

AI summary

A network device includes queues for queuing packets, and functional circuitry to provide a processing resource to be shared by the queues. Further, the network device includes a first-in-first-out (FIFO) selection circuit that receives tokens respectively associated with the queues. The FIFO selection circuit buffers and outputs the tokens in a first-in-first-out manner. When a token is output by the FIFO selection circuit, a queue associated with the token is selected to provide a packet for the functional circuitry to process. When a queue associated with an output token having at least a second packet in the queue after the queue outputs a first packet, the FIFO selection circuit re-buffers the output token associated with the queue to permit the queue to output the second packet once the output token associated with the queue is again output by the FIFO selection circuit.