Causal In-Place Network Updates via Marker Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network update methods face challenges in ensuring per-packet consistency and avoiding temporary failures, such as misdirected traffic and routing loops, due to the need for nodes to support both old and new configurations concurrently, which is impractical for high-speed routers with limited memory capacity.

Innovation Solution

A causal network update method that operates on-the-fly and in-place, tracking causal dependencies through packet transmissions, ensuring that each node supports either the old or new configuration at a time, and uses marker packets to manage the transition, guaranteeing per-packet consistency and appearing to occur instantaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nodes support both old and new configurations concurrently to ensure per-packet consistency, then routing correctness is improved, but memory capacity requirements increase and device complexity worsens

Engineering Contradiction:
Improverouting correctnessVSAvoidmemory capacity requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by sending marker packets before actual configuration changes. Nodes receive and process markers in advance, preparing their configuration transitions before data packets arrive. This ensures that when configuration changes occur, nodes are already synchronized to the correct configuration version, maintaining per-packet consistency without requiring simultaneous support for multiple configurations in memory

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses marker packets as intermediary signals to coordinate configuration updates across the network. These markers act as mediators that carry configuration version information and trigger synchronized updates at each node. The markers enable nodes to transition configurations atomically and consistently without needing to maintain both old and new configurations concurrently, reducing memory requirements while preserving routing correctness

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If network updates are performed in a haphazard manner to simplify the update process, then ease of operation is improved, but network stability deteriorates due to misdirected traffic and routing loops

Engineering Contradiction:
Improveupdate process simplicityVSAvoidnetwork stability
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

The patent implements feedback mechanisms where nodes monitor the reception and processing of marker packets. Each node provides feedback about its configuration state and marker reception status to neighboring nodes and the controlling entity. This feedback loop ensures that configuration updates propagate correctly through the network topology, preventing misdirected traffic and routing loops while maintaining a relatively simple update initiation process

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controlling entity performs preliminary analysis of the network topology and determines the correct update sequence before initiating changes. Marker packets are prepared and sent in advance with configuration version information that encodes the update order. This preliminary planning enables haphazard-looking updates to actually follow a stable, correct sequence, maintaining network stability while keeping the operational interface simple

Inventive Principle:
Principle #10Preliminary action

3Reliability

If nodes update configuration instantly to maintain per-packet consistency, then routing correctness is improved, but the impossibility of instantaneous updates across distributed nodes creates a contradiction

Engineering Contradiction:
Improveper-packet consistencyVSAvoidupdate propagation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the configuration update process into discrete marker packets that can be independently transmitted and processed. Each marker carries a configuration version identifier that allows nodes to atomically switch to the correct configuration version. This segmentation enables the illusion of instantaneous updates at each node while actually propagating changes sequentially through the distributed network, maintaining per-packet consistency without requiring physically impossible simultaneous updates

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Marker packets serve as intermediary carriers of configuration version information. Instead of requiring direct instantaneous synchronization between all nodes, the markers mediate the update process by being sequentially transmitted through the network topology. Each node uses the marker it receives to determine its configuration version, creating a wave-like propagation that appears instantaneous at each individual node while respecting the physical constraints of distributed communication

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12184491B1Causal, in-place network updates
Publication Date: 2024.12.31 NOKIA SOLUTIONS & NETWORKS OY
  • US12184491B1 patent drawing
  • US12184491B1 patent drawing

AI summary

According to an update procedure for a network of interconnected nodes, a node keeps track of markers received on the node's incoming channels, transmits a marker on each outgoing channel (if any exist), and updates its node configuration from an old configuration to a new configuration. In one version of the update procedure, the node updates its configuration and transmits markers after receiving its initial incoming marker. In another version for acyclic networks, the node updates its configuration and transmits markers after receiving its final incoming marker. The node determines how to handle (i.e., process, queue, or drop) each incoming data packet based on (i) whether or not it has updated its node configuration yet and (ii) whether or not it has received a marker on the corresponding incoming channel yet. A controller initiates the update process at a subset of nodes that ensures eventual completion of the update process.