API Gateway Connection Pooling for Dynamic Resource Adaptability
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 frequent loss of application state and the need for costly and time-consuming database reconnections.
Innovation Solution
An API gateway service that manages application programming interfaces (APIs) by facilitating connection pooling, caching, and secure session management, allowing for efficient reuse of active connections and cached results across invocations, thereby reducing the overhead of database reconnections and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If connection pooling is implemented within the application, then database connection efficiency is improved, but the ability to make use of dynamically provisioned computing resources is interfered with
Solution Approach 1:
The patent introduces an intermediary connection pooling service that operates between the application and the database. This service manages connection pooling at a system level rather than within the application itself, allowing dynamic computing resources to access the pooled database connections efficiently. The intermediary service maintains the connection pool and handles connection allocation, enabling both connection efficiency and adaptability to dynamic environments.
2Adaptability or versatility
If database connections are reestablished for each function invocation, then adaptability to dynamic computing environments is maintained, but connection cost and time consumption increase
Solution Approach 1:
The patent implements preliminary action by pre-establishing and maintaining a pool of database connections before they are needed. The connection pooling service keeps connections in a ready state, so when a function is invoked in a dynamically provisioned environment, an available connection can be immediately allocated without requiring time-consuming connection establishment. This preliminary preparation of connection resources resolves the contradiction between adaptability and connection time.
3Ease of operation
If state information is maintained within the application, then application functionality is improved, but the complexity of managing state in dynamic environments increases
Solution Approach 1:
The patent employs an intermediary state management service that handles state information maintenance separately from the application logic. This service manages connection pooling, caching, and state persistence at a system level, abstracting these complexities away from the application. The application simply interacts with the state service through standardized interfaces, maintaining ease of operation while reducing the complexity burden on the application code itself.
Data Source
AI summary
An API provides a frontend interface to one or more backend services. Access to an API is controlled by a set of frontend credentials, and access to the one or more backend services is controlled by a set of backend credentials. A credential-translation table maintained within the API links each backend credential to one or more frontend credentials. Links between frontend and backend credentials may be managed by an administrator of the API. The API uses the translation table to translate frontend credentials provided with an API call into backend credentials used to access backend services. The API provides users with the ability to update the backend credentials in the credential-translation table based at least in part on the frontend credentials provided by the user. The API may limit the ability to extract backend credentials to administrative users.


