SAN Event Cache for Atomic Transaction Dissemination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage area networks (SANs), processing large data transactions can lead to bottlenecks and inconsistencies due to intermittent dissemination of events related to storage device updates, causing ambiguity and degrading system performance.

Innovation Solution

Events are stored in a cache until all subtransactions of a transaction are complete, then released as an atomic set, using a batch ID to tag and aggregate update sections, ensuring consistent and concurrent processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If large data transactions are processed in a storage area network, then comprehensive management information can be updated, but bottlenecks and locking contention occur during processing

Engineering Contradiction:
Improvemanagement information volumeVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides a large data transaction into multiple smaller partitions, each representing a subset of the total management information. This segmentation allows parallel processing of multiple partitions simultaneously, reducing bottlenecks and locking contention while maintaining comprehensive data updates. The management application processes partitions in parallel rather than sequentially, improving overall system performance.

Inventive Principle:
Principle #1Segmentation

2Productivity

If update sections are processed concurrently, then processing efficiency improves, but event dissemination inconsistencies occur

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidevent consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary actions by buffering events from all update sections before dissemination. A buffer stores events temporarily until all partitions are processed, ensuring that complete and consistent event sets are released together. This preliminary buffering action maintains event consistency while allowing concurrent processing to improve efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses feedback mechanisms to track processing status of all partitions and coordinate event release. The system monitors which partitions have been processed and uses this feedback information to determine when all events are ready for consistent dissemination, ensuring reliability while maintaining processing efficiency.

Inventive Principle:
Principle #23Feedback

3Speed

If events are disseminated immediately upon update section processing, then real-time information is provided, but ambiguities and inconsistencies arise

Engineering Contradiction:
Improveevent dissemination speedVSAvoidevent consistency
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent implements preliminary buffering of events before dissemination. Instead of immediate release, events are temporarily stored in a buffer that accumulates events from all partition processing operations. This preliminary action ensures complete information availability before release, preventing inconsistencies while maintaining efficient batch dissemination.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8285673B1Methods and apparatus for processing partitioned changes
Publication Date: 2012.10.09 EMC IP HLDG CO LLC
  • US8285673B1 patent drawing
  • US8285673B1 patent drawing
  • US8285673B1 patent drawing

AI summary

In a storage area network, agents provide transactions of data sets containing updates to manageable entities in a SAN. A SAN server avoids intermittent dissemination of events pertaining to a single transaction by storing events in a cache until completion of all subtransactions in the transaction, and then disseminating all events pertaining to the transaction. Transactions are broken down into update sections, each containing one or more subtransactions collectively defining the entire transaction. Update sections corresponding to the transaction are tagged with a section ID. Events indicating completion of processing of the update section are identified by the section ID, and suppressed temporarily by storing them in the event cache pending completion of the transaction. Other events not matching a tagged section ID are allowed to disseminate. Upon completion of the transaction, events for all section IDs corresponding to the transaction are disseminated from the cache.