Serverless Instance Pool Management via Historical Event Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing, event processing is challenging due to the inefficiencies in managing virtual machine instances, leading to increased latency and resource usage, particularly in serverless systems where instances may not have the necessary functions or be optimally allocated based on event frequency patterns.

Innovation Solution

A method for handling events in a distributed computing environment involves mapping events to instances within a pool, creating new instances when necessary, and terminating underutilized ones based on historical event data to optimize resource allocation and reduce latency, using a combination of event and instance managers to dynamically manage instance capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If instances are created dynamically to handle events, then system adaptability is improved, but latency increases due to instance creation time

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by analyzing historical event data to predict future event frequencies and pre-creating instance pools before events arrive. This allows instances to be ready in advance, eliminating the latency associated with dynamic instance creation while maintaining system adaptability to varying event loads.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the size and composition of instance pools based on predicted event frequencies. Instance pools are created, modified, or terminated dynamically in response to changing event patterns, allowing the system to adapt to varying loads while optimizing resource utilization and minimizing latency.

Inventive Principle:
Principle #15Dynamics

2Productivity

If more instances are maintained in the pool, then event processing speed is improved, but resource usage increases

Engineering Contradiction:
Improveevent processing speedVSAvoidresource usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system changes the parameter of instance pool size dynamically based on historical event frequency analysis. Instead of maintaining a fixed large pool of instances, the system adjusts pool sizes according to predicted event frequencies, ensuring sufficient instances are available for high-frequency events while reducing instances for low-frequency events, thus optimizing both processing speed and resource usage.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements dynamic instance pool management where the number and composition of instances change over time based on observed and predicted event patterns. This allows the system to maintain high productivity during peak loads while conserving resources during low-activity periods, resolving the contradiction between processing speed and resource consumption.

Inventive Principle:
Principle #15Dynamics

3Productivity

If historical data analysis is performed to optimize instance allocation, then resource allocation efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically analyzing its own historical event data and using these insights to optimize instance pool allocation. The event processing system itself generates the data needed for optimization and automatically adjusts its resource allocation based on this analysis, eliminating the need for external complex management systems while improving resource allocation efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback loops where historical event data is continuously analyzed, and the results feed back into instance pool management decisions. This feedback mechanism allows the system to automatically adjust instance allocation based on observed patterns, improving resource efficiency while keeping the control logic integrated within the existing event processing architecture, thus limiting the increase in system complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10505791B2System and method to handle events using historical data in serverless systems
Publication Date: 2019.12.10 FUTUREWEI TECHNOLOGIES INC
  • US10505791B2 patent drawing
  • US10505791B2 patent drawing
  • US10505791B2 patent drawing

AI summary

The disclosure relates to technology handling events in a distributed computing environment. Events comprising a function executable by an instance are received from an event queue. The received events are mapped to an instance in a pool that executes a corresponding function. When it is determined that the instances in the pool are at least one of unavailable and do not include the function corresponding to the event, a new instance is created in the pool, where the new instance includes the function corresponding to the event. Instances in the pool may be terminated when frequency of occurrence patterns of the event with a corresponding function indicate the event is occurring less frequently such that fewer instances are required to execute the corresponding function. Otherwise, the events are dispatched to the appropriate instance in the pool for execution.