IP Library Granted Patent US 9,936,005
Granted Patent B1
US 9,936,005 · App. 15/662,539 · Granted Apr 3, 2018

Systems and methods for distributed API gateways

Inventors: Marco Palladino (San Francisco, CA); Augusto Marietti (San Francisco, CA)
Assignee: KONG INC.
H04L67/10H04L67/02H04L67/2814H04L67/2842H04L67/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,936,005
App. No.
15/662,539
Granted
Apr 3, 2018
Kind
B1
Abstract

Disclosed embodiments are directed at systems, methods, and architecture for providing microservices and a plurality of APIs to requesting clients. The architecture is a distributed cluster of gateway nodes that jointly provide microservices and the plurality of APIs. Providing the APIs includes providing a plurality of plugins that implement the APIs. As a result of a distributed architecture, the task of API management can be distributed across a cluster of gateway nodes. The gateway nodes effectively become the entry point for every API-related request. Some embodiments of the disclosed technology describe an auto-documentation plugin that can automatically generate documentation for an API by monitoring, parsing, and sniffing requests/responses to/from the API.

Claims (30)

1. A system for securing, managing, and extending functionalities of Application Programming Interfaces (APIs), the system comprising:

a plurality of APIs;

a plurality of plugins;

a data store configured to store software code associated with each of the plurality of plugins and configuration associated with operation of each of the plurality of plugins; and

a first and a second gateway node communicatively coupled to the plurality of APIs and the data store where data in the data store is shared by each of the first and second gateway nodes, wherein one or more of the first and the second gateway nodes are configured to:

receiving, at a gateway node, a request for installing a particular plugin;

upon determining, by the first gateway node, that the particular plugin is not included in the plurality of plugins;

saving in the data store, by the first gateway node, software code associated with the particular plugin;

retrieving, by the second gateway node, the software code associated with the particular plugin from the data store;

installing, by the second gateway node, the particular plugin at the data store, using the retrieved software code associated with the particular plugin;

execute a plugin in the plurality of plugins;

receive an incoming request related to an API in the plurality of APIs; and

proxy the incoming request to the API in the plurality of API.

2. The system of claim 1 , wherein the data store is an Apache Cassandra or a PostgreSQL.

3. The system of claim 1 , wherein the plurality of APIs include proprietary APIs, publicly available APIs, or invite-only APIs.

4. The system of claim 1 , further comprising: an administration API for configuring and installing the plurality of plugins, wherein the administration API is used for provisioning the plurality of APIs.

5. The system of claim 4 , wherein the administration API corresponds to a HTTP API.

6. The system of claim 1 , wherein requests related to an administration API is received at the first gateway node.

7. The system of claim 1 , wherein the first and second gateway nodes are based on NGINX.

8. The system of claim 1 , wherein the plurality of plugins provide functionalities of authentication, security, transformations, logging, monitoring, analytics, traffic control, and rate limiting.

9. The system of claim 1 , wherein the first gateway node includes: a first proxy port, an API port, and at least two clustering ports.

10. The system of claim 9 , wherein the first proxy port is configured to proxy HTTPS traffic, the system further including: a second proxy port.

11. The system of claim 9 , further including: an administration API port configured to expose a management API.

12. The system of claim 9 , wherein the at least two clustering ports includes a first port and a second port, the first port for intra-node communication and the second port for inter-node communication.

13. The system of claim 9 , wherein the first gateway node and the data store are included in a cluster.

14. The system of claim 13 , wherein the cluster is associated with a single datacenter.

15. The system of claim 13 , wherein the cluster is associated with multiple datacenters distributed across different geographical locations.

16. The system of claim 13 , wherein the cluster is deployed in a cloud environment or an on-premise environment.

17. The system of claim 13 , wherein the second gateway node newly joins the cluster, the system further configured to:

upon the second gateway node communicating with the first gateway node, the second gateway node discovering other nodes in the cluster, based on a gossip protocol used for communications among the first and second gateway nodes.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 61609/0267 Recorded Feb 28, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: KONG INC.
Reel/Frame 070366/0162 →
SECURITY INTEREST Recorded Feb 28, 2025
From: KONG INC.
To: HSBC VENTURES USA INC.
Reel/Frame 070372/0963 →
SECURITY INTEREST Recorded Nov 1, 2022
From: KONG INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 061609/0267 →
CHANGE OF NAME Recorded Sep 21, 2017
From: MASHAPE INC.
To: KONG INC.
Reel/Frame 043947/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: PALLADINO, MARCO; MARIETTI, AUGUSTO
To: MASHAPE, INC.
Reel/Frame 043207/0921 →