Stream Processing Node Optimizes Data Flow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional content switches become inefficient and awkward as they need to frequently reconstitute and re-segment data streams for processing, leading to suboptimal placement and increased transmission of data, especially when handling sophisticated and processing-intensive applications.

Innovation Solution

A stream processing node that manages data streams by producing properly ordered substreams, storing them in a stream queue, and allowing a content processing element to analyze and direct further actions, such as redirection or modification, within a stream fabric, optimizing the placement and frequency of layer 4 proxy functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If content switches perform sophisticated content processing functions, then processing capability and content awareness are improved, but processing efficiency and operational simplicity deteriorate due to frequent reconstitution and re-segmentation requirements

Engineering Contradiction:
Improvecontent processing capabilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a stream fabric as an intermediary component between the packet fabric and processing elements. This stream fabric maintains byte-stream order and enables processing elements to access continuous data streams without requiring frequent reconstitution and re-segmentation operations. The stream fabric acts as a mediator that decouples the packet-oriented switching layer from the stream-oriented processing layer, allowing sophisticated content processing to occur efficiently on ordered streams rather than on fragmented packets.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If layer 4 proxy functions are placed next to each processing element, then processing speed is improved, but data transmission overhead increases due to multiple proxy function executions

Engineering Contradiction:
Improveprocessing speedVSAvoiddata transmission overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent merges the layer 4 proxy function with the stream fabric itself rather than duplicating it at each processing element. The stream fabric maintains a single instance of the proxy function that serves all processing elements, eliminating redundant data transmission and processing. Processing elements can access the ordered stream through the stream fabric without each element needing to independently perform reconstitution and re-segmentation, thereby reducing overall data transmission overhead while maintaining processing speed.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7882257B2Stream processing node
Publication Date: 2011.02.01 AVAYA INC
  • US7882257B2 patent drawing
  • US7882257B2 patent drawing
  • US7882257B2 patent drawing

AI summary

In a stream processing node, a producer of properly ordered portions of a data stream, hereinafter referred to as substreams, is coupled to a stream fabric that is further coupled to a series of potential consumers for the data stream, one of the potential consumers being a content processing element. The producer outputs the substreams to a stream queue that is associated with the data stream within the stream fabric. Subsequently, a portion of the data within the stream queue is copied and analyzed by the content processing element which determines what further actions are to be taken with respect to the data within the particular stream queue. These actions could include copying a further portion of the data within the stream queue to the content processing element for further analysis; redirecting the data within the stream queue to another consumer of the data stream, such as another processing element or an interface with a packet switched network; modifying a portion of the data within the stream queue; and/or transferring a portion of the data within the stream queue to another stream queue.