Network Fabric Transaction Tracking via Universal Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to effectively track and manage transactions across asynchronous switch systems in a network fabric, as they lack a unified and transparent method to identify and sequence control plane packets, making it difficult to diagnose issues and provide detailed debugging logs.

Innovation Solution

The solution involves assigning unique identifiers (UTID and UFID) to each node and message in the network fabric, tagging these identifiers in message headers, and using a data aggregator system to store and track messages, enabling the generation of a transparent and augmented view of the fabric, and allowing for the identification of root causes of failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If cookies are used to store and track transient states of transactions within an application, then transaction state tracking is achieved, but the system cannot effectively track transactions across asynchronous applications in a network fabric

Engineering Contradiction:
Improvetransaction tracking capabilityVSAvoidcross-application tracking capability
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal transaction identifier (UTID) system that functions across all applications in the network fabric, not just within single applications. The UTID is injected by source applications and carried through the asynchronous network fabric, enabling a single tracking mechanism to serve multiple applications and nodes universally.

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

Solution Approach 2:

The patent introduces an intermediary data aggregator system that collects, stores, and correlates messages from multiple asynchronous applications. This intermediary component enables cross-application tracking by maintaining a centralized view of transactions that span multiple applications, acting as a mediator between disparate application states.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If existing cookie-based tracking is used within applications, then application-level transaction states are tracked, but detailed debugging logs and root cause identification across the network fabric are not available

Engineering Contradiction:
Improvedebugging capabilityVSAvoidtransaction visibility
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies preliminary action by injecting the UTID at the source application when the transaction is initiated. This identifier is embedded in advance into the message stream before the transaction traverses the network fabric, ensuring that tracking information is available from the outset for debugging and root cause analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data aggregator provides feedback by collecting and correlating messages with their UTIDs, creating a comprehensive view of transaction flow across the network. This feedback mechanism enables detailed debugging logs and root cause identification by showing the complete transaction journey through multiple asynchronous applications.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11106656B2Method and apparatus for a software-seamed and augmented view of an asynchronous network fabric
Publication Date: 2021.08.31 CISCO TECHNOLOGY INC
  • US11106656B2 patent drawing
  • US11106656B2 patent drawing
  • US11106656B2 patent drawing

AI summary

Methods and systems for tracking transactions in a network fabric, include: receiving a message generated by a node in the network fabric; assigning a uniform fabric identifier (“UFID”) to the node; assigning a uniform transaction identifier (“UTID”) to the message”; appending the UFID and the UTID to the message; and storing the message in a database.