Task Execution Caching via Signature Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face inefficiencies in processing and re-executing jobs that involve dependent tasks or datasets, leading to increased node utilization and slowdowns, especially in the context of 'Big Data' applications where timely information processing is critical.

Innovation Solution

The system divides jobs into tasks, assigns signatures to each task and dataset, searches for cached results, and sends tasks to task executors for processing, utilizing a directed acyclic graph (DAG) to manage dependencies and avoid redundant calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If jobs are processed in a straightforward manner without caching, then task execution is simple and direct, but processing efficiency deteriorates and node utilization increases when redundant tasks are encountered

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by caching task results and their signatures before they are needed. When a task is executed, its signature is stored along with the result. Upon subsequent job execution, the system checks the cache for matching signatures before performing computation, thereby avoiding redundant processing and improving productivity without proportionally increasing system complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses copying by creating signature representations of tasks and datasets. Instead of comparing entire datasets or task definitions, the system generates compact signature copies that uniquely represent each task's input parameters and dependencies. This allows efficient cache lookup and comparison while maintaining processing efficiency and managing system complexity.

Inventive Principle:
Principle #26Copying

2Speed

If tasks are divided and executed on separate nodes, then processing speed improves for independent tasks, but coordination overhead increases when tasks have dependencies

Engineering Contradiction:
Improveprocessing speedVSAvoidcoordination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system introduces an intermediary caching layer that mediates between task execution nodes. The cache stores task signatures and results, allowing nodes to independently execute tasks while the intermediary handles dependency resolution and result retrieval. This maintains high processing speed for independent tasks while reducing coordination complexity through centralized cache management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback by checking the cache for existing task results before executing new tasks. The cache provides feedback about previously computed results, allowing the system to avoid redundant execution and coordinate dependencies efficiently. This feedback mechanism maintains processing speed while managing coordination complexity through intelligent task scheduling.

Inventive Principle:
Principle #23Feedback

3Reliability

If all tasks are recalculated for each job execution, then result accuracy is ensured, but processing time increases significantly for repeated jobs

Engineering Contradiction:
Improveresult accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary computation and caches results with their signatures before they are needed again. When the same task parameters are encountered, the cached results are reused, ensuring accuracy matches the original computation while dramatically reducing processing time for repeated jobs with identical or overlapping datasets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates signature copies of task parameters and compares them to determine if cached results are valid. This copying approach ensures result accuracy by verifying parameter matches while avoiding redundant computation, thereby reducing processing time significantly for repeated jobs without sacrificing reliability.

Inventive Principle:
Principle #26Copying

4Quantity of substance

If the system stores and processes large amounts of data, then information availability increases, but processing efficiency decreases due to increased data volume

Engineering Contradiction:
Improvedata volumeVSAvoidprocessing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system extracts only the essential signature information from large datasets and tasks, storing these compact representations in the cache. When processing jobs, the system compares signatures rather than processing the entire data volume, thereby maintaining high information availability while dramatically improving processing efficiency by working with extracted key features rather than complete datasets.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11288094B2Systems and methods for caching task execution
Publication Date: 2022.03.29 CAPITAL ONE SERVICES LLC
  • US11288094B2 patent drawing
  • US11288094B2 patent drawing
  • US11288094B2 patent drawing

AI summary

Certain disclosed embodiments provide improved systems and methods for processing jobs. The method comprises steps including receiving, from a client device over a network, information representing a job and generating at least two tasks representative of the job. The method further comprises, for each task, assigning, by a processor, a signature to the task representative of whether the task has been processed, determining at least one dataset related to the task, and assigning a signature to the determined at least one dataset. The method further comprises searching, by the processor, a data structure for the task signature, and based on the searching, sending the task over a network to a task executor for processing or locating results associated with the task. The method further comprises sending, over a network, a job result to the client device. Systems and computer-readable media are also provided.