Unified Serverless Task Scheduler for Heterogeneous Cloud Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrating heterogeneous serverless computing environments into a unified system is challenging, especially when extending serverless computing to hybrid cloud environments, as different environments have varying characteristics, scalability, and resource limitations, making it difficult to optimize task scheduling and execution.

Innovation Solution

A serverless computing system with a unified interface and task scheduler that abstracts APIs from different environments, allowing task definitions to specify task chains and select optimal serverless environments based on conditions, such as output data, to execute tasks efficiently across various cloud environments, including public, private, and hybrid clouds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If heterogeneous serverless computing environments are integrated into a unified system, then task execution flexibility and optimization are improved, but system complexity and difficulty of managing different environments increase

Engineering Contradiction:
Improvetask execution flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a unified task scheduling system as an intermediary layer between heterogeneous serverless computing environments. This scheduler abstracts the complexities of different environments (AWS Lambda, Google Cloud Functions, Azure Functions, etc.) and provides a standardized interface for task submission and management. The scheduler translates high-level task definitions into environment-specific execution commands, thereby improving task execution flexibility without exposing system complexity to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The task scheduling system is designed with universal functionality to support multiple serverless computing environments simultaneously. It implements a unified task definition format and standardized API that can work across different cloud providers and environments. The scheduler automatically adapts task execution to the appropriate environment based on task requirements, resource availability, and cost considerations, thereby achieving versatility without requiring separate management systems for each environment.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If task scheduling optimizes for cost and conditions across multiple environments, then resource utilization efficiency is improved, but scheduling complexity and computation overhead increase

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling system optimizes resource utilization by dynamically changing execution parameters based on task characteristics and environment conditions. It considers multiple parameters including cost metrics, resource availability, task dependencies, and performance requirements when making scheduling decisions. The system adjusts task allocation parameters in real-time to achieve optimal resource utilization across heterogeneous environments while managing scheduling complexity through parameterized decision-making.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies local quality optimization by tailoring task execution strategies to specific environment characteristics and task requirements. Different scheduling algorithms and optimization criteria are applied locally to different task types and environment combinations. For example, cost-optimized scheduling is applied to non-time-critical tasks, while performance-optimized scheduling is applied to time-sensitive operations, thereby improving overall resource utilization without requiring a single complex global scheduling algorithm.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If a unified interface abstracts APIs from different serverless environments, then ease of use and developer productivity are improved, but loss of environment-specific capabilities and control increases

Engineering Contradiction:
Improveease of useVSAvoidloss of environment-specific capabilities
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The unified interface is segmented into multiple abstraction layers that preserve environment-specific capabilities while providing ease of use. The task definition interface is simplified for developers, while the scheduling system maintains detailed knowledge of environment-specific features through separate configuration layers. This segmentation allows the system to present a unified, easy-to-use API to developers while retaining the ability to leverage specific capabilities of each serverless environment when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The unified interface dynamically adapts its level of abstraction based on task requirements and user needs. For standard tasks, the system provides a simplified unified API that abstracts away environment-specific details. For tasks requiring specialized capabilities, the system dynamically reveals environment-specific options and controls. This dynamic adjustment of interface complexity allows the system to maintain ease of use for common operations while preserving access to environment-specific capabilities when necessary.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10884807B2Serverless computing and task scheduling
Publication Date: 2021.01.05 CISCO TECHNOLOGY INC
  • US10884807B2 patent drawing
  • US10884807B2 patent drawing
  • US10884807B2 patent drawing

AI summary

In one embodiment, a method for serverless computing comprises: receiving a task definition, wherein the task definition comprises a first task and a second task chained to the first task; adding the first task and the second task to a task queue; executing the first task from the task queue using hardware computing resources in a first serverless environment associated with a first serverless environment provider; and executing the second task from the task queue using hardware computing resources in a second serverless environment selected based on a condition on an output of the first task.