Deadlock Recovery for Distributed Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing systems with multiple VLANs and spanning trees, the collective lossless traffic can form loops, leading to deadlock states where network devices become congested and unable to transmit packets, causing a deadlock that existing priority flow control systems cannot resolve.

Innovation Solution

Implementing a deadlock recovery system where network devices enter a deadlock recovery state by dropping queued lossless packets older than a threshold age, reducing memory utilization and allowing resumed packet transmission, thereby alleviating the deadlock.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If priority flow control is implemented in multiple VLANs with lossless traffic, then traffic priority and lossless delivery are improved, but deadlock states occur when collective lossless traffic forms loops

Engineering Contradiction:
Improvelossless deliveryVSAvoiddeadlock
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent converts the harmful deadlock state into a beneficial recovery mechanism by introducing a timer that triggers when flow control messages are not received within a expected time window. This timer-based approach transforms the harmful deadlock condition into a controlled recovery process where packets are selectively dropped to break the deadlock and restore normal operation.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The patent implements feedback mechanisms through flow control messages (pause and resume messages) exchanged between network devices. When a device does not receive expected feedback within a time window, it initiates deadlock recovery by dropping packets. This feedback loop enables the system to detect and respond to deadlock conditions dynamically.

Inventive Principle:
Principle #23Feedback

2Reliability

If lossless traffic is buffered at network devices, then packet delivery reliability is improved, but memory utilization increases and deadlock recovery becomes difficult

Engineering Contradiction:
Improvepacket deliveryVSAvoidmemory utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies discarding and recovering by selectively dropping old packets during deadlock recovery while preserving newer packets. The timer-based mechanism allows the system to discard packets that have been queued too long (indicating potential deadlock) while maintaining the ability to recover and resume normal packet delivery once the deadlock is resolved.

Inventive Principle:
Principle #34Discarding and recovering

3Stability of the object's composition

If multiple spanning trees are used for multiple VLANs, then loop avoidance for individual VLANs is improved, but collective loops can still form causing deadlock

Engineering Contradiction:
Improveloop avoidanceVSAvoidmulti-VLAN deadlock resistance
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent applies universality by implementing a deadlock recovery mechanism that works across multiple VLANs and spanning trees. The timer-based deadlock detection and recovery process is not VLAN-specific but applies universally to any lossless traffic flow, enabling the system to handle deadlock conditions in complex multi-VLAN environments regardless of the underlying spanning tree configuration.

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

Data Source

PatentUS9042222B2Deadlock recovery for distributed devices
Publication Date: 2015.05.26 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9042222B2 patent drawing
  • US9042222B2 patent drawing
  • US9042222B2 patent drawing

AI summary

A system for deadlock recovery of distributed devices may include a processor and memory. The processor may transmit packets to a device, receive a pause message indicating that the packet transmission should be paused, and initiate a timer and pause the packet transmission in response to receiving the pause message. The processor may enter a deadlock recovery state if the timer reaches a timeout before a resume message is received that indicates that the packet transmission can resume. The processor may, while in the deadlock recovery state, drop packets that have a packet age that is greater than a threshold, and may exit the deadlock recovery state upon dropping a packet that has a packet age less than the threshold, or upon receiving the resume message. The processor may re-initiate the timer if the resume message has not been received, otherwise the processor may resume the packet transmission.