Dependency-Based Task Scheduling in Storage Area Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage area network management applications are inflexible and require application programmers and administrators to create composite tasks and execution strategies to manage task dependencies, making it cumbersome to represent and execute application-specific tasks in a natural manner.

Innovation Solution

A dependency-based model that allows programmers and administrators to define task dependencies without creating composite tasks, using a task manager to generate a scheduling data structure for optimal task execution and thread allocation, enabling simultaneous execution of tasks with no interdependencies and minimizing resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional execution strategy is used to manage task dependencies, then task execution ordering is ensured, but system flexibility and ease of task representation deteriorate

Engineering Contradiction:
Improvetask execution orderingVSAvoidtask representation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system enables programmers to assert dependencies among tasks directly without requiring composite tasks or execution strategies. The task manager automatically generates the execution hierarchy based on these asserted dependencies, making the system self-configuring and eliminating the need for manual execution strategy creation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of requiring programmers to create composite tasks and execution strategies to enforce task ordering (top-down approach), the invention inverts the approach by having programmers simply assert dependencies and allowing the system to automatically generate the execution hierarchy (bottom-up approach).

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If composite tasks and execution strategies are created to manage task dependencies, then task ordering is maintained, but system complexity and programming burden increase

Engineering Contradiction:
Improvetask execution orderingVSAvoidtask management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention extracts the complexity of execution strategy creation and composite task management from the programmer's responsibility. The task manager automatically generates the execution hierarchy based on simple dependency assertions, removing the burden of creating and managing composite tasks while maintaining reliable task ordering.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If sequential execution strategy is used for tasks, then task dependency ordering is ensured, but task execution efficiency and productivity decrease

Engineering Contradiction:
Improvetask dependency orderingVSAvoidtask execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically generates the execution hierarchy based on the asserted dependencies among tasks. This allows the system to automatically determine which tasks can execute in parallel and which must execute sequentially, optimizing task execution efficiency while maintaining dependency ordering without requiring predefined static execution strategies.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8387066B1Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network
Publication Date: 2013.02.26 EMC IP HLDG CO LLC
  • US8387066B1 patent drawing
  • US8387066B1 patent drawing
  • US8387066B1 patent drawing

AI summary

In a storage area network, a task manager identifies a set of preconditions for execution of storage management tasks. The set of preconditions establish dependencies between tasks in the storage area network. Execution of the tasks is contingent upon satisfaction of the set of preconditions. In addition, the task manager generates a scheduling data structure based on the set of preconditions in order to schedule execution of the tasks. As a result, the task manager can utilize the scheduling data structure to optimize task execution in the storage area network (e.g., by applying a task optimization algorithm). Such optimization minimizes resource consumption (e.g., thread allocation, processor time commitment, etc.) in the storage area network during execution of the tasks.