IP Library Granted Patent US 11,665,241
Granted Patent B1
US 11,665,241 · App. 16/220,622 · Granted May 30, 2023

Systems and methods for dynamic federated API generation

Inventors: Christopher Allen Wade (Atlanta, GA); Michael Gettys Wymer (Atlanta, GA)
Assignee: Itential, Inc.
H04L67/141G06F9/50G06F9/541H04L41/08H04L45/02H04L67/02
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 11,665,241
App. No.
16/220,622
Granted
May 30, 2023
Kind
B1
Abstract

Systems and methods for dynamically generating federated application programming interfaces (APIs) are disclosed. Network components, such as servers and other devices, transmit and receive electronic communications according to standards and protocols native to those network components. Aspects of the present system detect those native standards and furthermore generate a federated API that allows for the content of the electronic communications to be represented in a universal format. Accordingly, the universal format may be used for network communications between system components and modules that may not have otherwise been compatible to receive the communications, and furthermore the communications may be transformed back to their respective native formats upon reaching their destinations. The present system generates models for representing these APIs, where instances of the models may be instantiated for particular API calls, as detected. In this way, many different APIs may be modeled according to a single federated format.

Claims (24)

1. A system for enhancing computer networks via distributed API federation, comprising:

an entity database comprising one or more entities corresponding to frameworks for modeling device APIs; and

an API integration module comprising one or more processors and further comprising a non-transitory memory with computer implementable instructions stored therein, wherein the API integration module via the one or more processors is operatively connected to one or more network system components and one or more applications, wherein the one or more applications are configured to direct electronic communications in the form of API calls to the one or more network system components through the API integration module, wherein the API integration module further comprises:

a business logic module comprising respective business logic instructions of the computer implementable instructions stored in the non-transitory memory, wherein in response to the one or more processors executing the respective business logic instructions, the business logic module is operatively configured to, via the one or more processors, (i) receive an API call from a respective application of the one or more applications and (ii) generate a language-agnostic representation of the API call;

a broker module comprising respective broker instructions of the computer implementable instructions stored in the non-transitory memory, wherein in response to the one or more processors executing the respective broker instructions, the broker module is operatively configured to, via the one or more processors, route the API call to the one or more network system components, wherein prior to completion of routing the API call, the broker module is further operatively configured to: (i) receive the language-agnostic representation of the API call from the business logic module, (ii) retrieve the one or more entities from the entity database, wherein the one or more entities are representative of the one or more network system components and are instantiated from one or more entity models based on ingested APIs associated with the one or more network system components, and (iii) determine at least one entity appropriate for addressing the API call based on the one or more entities; and

one or more adapter modules operatively mapped to each of the one or more network system components based on the ingested APIs associated with the one or more network system components, wherein the one or more adapter modules comprise respective adapter instructions of the computer implementable instructions stored in the non-transitory memory, and wherein in response to the one or more processors executing the respective adapter instructions, the one or more adapter modules are operatively configured to, via the one or more processors, (i) receive the language-agnostic representation of the API call from the broker module, wherein prior to receiving the language-agnostic representation of the API call, the broker module determines (a) from the one or more adapter modules, one or more compatible adapter modules operatively configured to address the language-agnostic representation of the API call type, (b) from the one or more compatible adapter modules, one or more specialized adapter modules operatively configured to address a particular action associated with the language-agnostic representation of the API call, and (c) from the one or more specialized adapter modules, an optimized adapter module operatively configured to address the language-agnostic representation of the API call and a set of parameters associated with the language-agnostic representation of the API call, and wherein the optimized adapter module is mapped to at least one network system component operable to execute a particular set of API instructions associated with the language-agnostic representation of the API call, (ii) transform the language-agnostic representation of the API call into a format acceptable by the at least one network system component, the at least one network system component corresponding to the at least one entity appropriate for addressing the API call, wherein the format acceptable by the at least one network system component is based on an initial received format corresponding to an initial API call from the at least one network system component, the initial API call comprising an initial set of parameters corresponding to the set of parameters associated with the language-agnostic representation of the API call, and (iii) transmit the transformed API call to the at least one network system component.

2. The system of claim 1 , wherein in the one or more entities are further representative of service models and topologies.

3. The system of claim 1 , wherein the language-agnostic representation of the API call comprises an API action and a corresponding entity.

4. The system of claim 1 , wherein the language-agnostic representation of the API call comprises a JSON representation.

5. The system of claim 1 , wherein the one or more network system components are physical or virtual.

6. The system of claim 1 , wherein a particular entity of the one or more entities may correspond to more than one of the one or more adapter modules.

7. The system of claim 6 , wherein the particular entity is mapped to the one or more adapter modules via an adapter router in the broker module, wherein the adapter router comprises respective adapter router instructions of the computer implementable instructions stored in the non-transitory memory, and wherein the particular entity is mapped to the one or more adapter modules in response to the one or more processors executing the respective adapter router instructions.

8. The system of claim 1 , wherein the frameworks are extendable, thereby allowing the one or more entities to dynamically configure to newly ingested APIs, wherein dynamically configuring to newly ingested APIs comprises extending the frameworks to include additional service models and/or topologies within the one or more entities.

9. A method for routing API calls between a plurality of applications and a plurality of network system components via an API integration module, the API integration module comprising one or more processors and further comprising a non-transitory memory with computer implementable instructions stored therein that, when executed by the one or more processors, cause the one or more processors to execute the steps of:

receiving an API call from one of the plurality of applications, wherein the API call comprises an electronic request for action at one of the plurality of network system components;

generating a language-agnostic representation of the API call based at least on the electronic request for action;

based on the language-agnostic representation of the API call, determining, via a broker module comprised within the API integration module, at least one respective network system component compatible to receive the API call, wherein the broker module comprises respective broker instructions of the computer implementable instructions stored in the non-transitory memory, wherein in response to the one or more processors executing the respective broker instructions, the broker module is operatively configured to, via the one or more processors, route the API call to the at least one respective network system component, and wherein prior to completion of routing the API call, the broker module is further operatively configured to, via the one or more processors: (i) receive the language-agnostic representation of the API call, (ii) retrieve one or more entities from an entity database, wherein the one or more entities are representative of the plurality of network system components and are instantiated from one or more entity models based on ingested APIs associated with the plurality of network system components, and (iii) determine at least one entity appropriate for addressing the API call based on the one or more entities, (iv) determine, from one or more adapter modules comprised within the API integration module and comprising respective adapter instructions of the computer implementable instructions stored in the non-transitory memory, one or more compatible adapter modules operatively configured to address the language-agnostic representation of the API call type, (v) determine, from the one or more compatible adapter modules, one or more specialized adapter modules operatively configured to address a particular action associated with the language-agnostic representation of the API call, and (vi) determine an optimized adapter module from the one or more specialized adapter modules, wherein the one or more adapter modules are operatively mapped to the plurality of network system components, wherein the optimized adapter module is operatively configured to address the language-agnostic representation of the API call and a set of parameters associated with the language-agnostic representation of the API call, and wherein the optimized adapter module is mapped to the at least one respective network system component operable to execute a particular set of API instructions associated with the language-agnostic representation of the API call;

transforming the language-agnostic representation of the API call into a format acceptable by the at least one respective network system component, wherein the format acceptable by the at least one respective network system component is based on an initial received format associated with an initial API call from the at least one respective network system component, the initial API call comprising an initial set of parameters corresponding to the set of parameters associated with the language-agnostic representation of the API call; and

routing the transformed API call to the at least one respective network system component.

10. The method of claim 9 , wherein determining the at least one respective network system component compatible to receive the API call further comprises determining that the at least one respective network system component is configured to execute the API call.

11. The method of claim 9 , wherein the language-agnostic representation of the API call is a JSON representation.

12. The method of claim 9 , wherein the one or more network system components are physical or virtual.

13. The system of claim 1 , wherein the at least one entity comprises a particular hierarchy of functionalities for addressing the API call, the particular hierarchy of functionalities is inherited from a full hierarchy of functionalities corresponding to a respective entity model of the one or more entity models and associated ingested APIs.

14. The method of claim 9 , wherein the at least one entity comprises a particular hierarchy of functionalities for addressing the API call, the particular hierarchy of functionalities is inherited from a full hierarchy of functionalities corresponding to a respective entity model of the one or more entity models and associated ingested APIs.

Assignments (5)
SECURITY INTEREST Recorded Jan 10, 2025
From: ITENTIAL, INC.
To: BANC OF CALIFORNIA
Reel/Frame 069819/0965 →
SECURITY INTEREST Recorded Jun 22, 2022
From: ITENTIAL, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 060272/0991 →
CHANGE OF NAME Recorded Apr 16, 2021
From: ITENTIAL, LLC
To: ITENTIAL, INC.
Reel/Frame 056048/0442 →
SECURITY INTEREST Recorded Jun 27, 2019
From: ITENTIAL, LLC
To: PACIFIC WESTERN BANK
Reel/Frame 049607/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: WADE, CHRISTOPHER ALLEN; WYMER, MICHAEL GETTYS
To: ITENTIAL, LLC
Reel/Frame 047780/0913 →
Continuity (1)
Provisional Application 62611019 · Dec 28, 2017
Cited By (2)
US 12,498,943 US 12,730,688