API Gateway State Management via Connection Pooling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In on-demand computing environments, maintaining state information for customer applications is challenging due to the dynamic provisioning of computing resources, leading to loss of application state between invocations and increased overhead in reconnecting to databases.
Innovation Solution
An API gateway service manages state information by maintaining connection pools, caching results, and translating credentials, allowing for efficient reuse of connections and reducing the need for frequent database reconnections, thereby improving performance and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computing resources are dynamically provisioned and released, then resource utilization efficiency is improved, but application state is lost between invocations
Solution Approach 1:
The patent introduces an intermediary layer (the computing environment management system) that maintains state information separately from the ephemeral computing resources. This intermediary maintains a state repository that persists application state across resource lifecycle changes, allowing state to be preserved while resources are dynamically allocated and released.
Solution Approach 2:
The patent separates state management from the computational dimension by introducing a persistent storage dimension. Application state is migrated from volatile memory tied to specific computing instances to a persistent storage layer that exists independently of resource provisioning cycles, enabling state preservation across dimensional boundaries.
2Reliability
If database connections are recreated for each function invocation, then connection security is maintained, but connection overhead increases
Solution Approach 1:
The patent establishes database connections in advance during environment initialization rather than at each invocation. Connection pooling is pre-configured and maintained throughout the environment's lifecycle, allowing multiple function invocations to reuse existing connections without repeated authentication and connection establishment overhead.
Solution Approach 2:
The patent creates a universal connection pool that serves multiple function invocations across different customers and applications. A single connection pool infrastructure provides shared access to database resources for multiple workloads, eliminating the need for separate connection management for each function while maintaining security through credential translation and isolation mechanisms.
3Productivity
If connection pools are maintained within applications, then connection reuse is improved, but ability to use dynamically provisioned computing resources is interfered with
Solution Approach 1:
The patent extracts connection pool management from the application code and places it in the infrastructure layer. Connection pools are owned and managed by the computing environment rather than individual applications, separating the connection management responsibility from the application deployment unit. This allows applications to be stateless and fully portable while connections persist at the infrastructure level.
Solution Approach 2:
The patent merges connection management across multiple applications and customers into a shared connection pool infrastructure. Instead of each application maintaining its own separate connection pool, connections are consolidated into a unified pool that serves multiple workloads, improving resource utilization while maintaining isolation through credential translation and access control mechanisms.
Data Source
AI summary
An API gateway hosts one or more APIs for use by client applications. The API gateway includes facilities for maintaining state information on behalf of a client application, a backend service, or an API. The state information may include cached information retrieved from backend services as well as cached results returned from the API to the customer applications. Cached results generated by the API may be shared across a number of customers or across a set of APIs managed by a single API gateway. Cached information associated with a backend service may be shared across a number of APIs that access the backend service. In some examples, session information associated with secure connections between an API gateway service and a backend service provider is maintained by the API gateway service and shared among APIs hosted by the API gateway service.


