×

Systems and methods for API routing and security

  • US 10,834,054 B2
  • Filed: 05/25/2016
  • Issued: 11/10/2020
  • Est. Priority Date: 05/27/2015
  • Status: Active Grant
First Claim
Patent Images

1. A proxy configured for routing messages to a plurality of Application Programming Interfaces (APIs), the proxy comprising:

  • a memory configured to store a plurality of API characteristics data definitions, each API characteristics data definition from the plurality of API characteristics data definitions being a data file that is uniquely associated with an API from the plurality of APIs; and

    a processor operatively coupled to the memory, the processor configured to;

    extract, from a message received from a client device, parameter information including a name of a target API from the plurality of APIs;

    select, from among the plurality of API characteristics data definitions, an API characteristics data definition that includes the name of the target API;

    compare the parameter information extracted from the message and information contained within the API characteristics data definition to determine whether the parameter information matches the information contained within the API characteristics data definition;

    identify, in response to the parameter information matching the information contained within the API characteristics data definition, a plurality of API servers each hosting a different instance of the target API;

    select an instance of the target API hosted on an API server from the plurality of API servers by;

    in response to determining that the message is a non-session based message based on session data stored in the memory, selecting the instance of the target API hosted on the API server having a number of session users lower than a number of session users for each remaining API server from the plurality of API servers, andin response to determining that the message is a session based message based on the session data;

    in response to determining that the client device has been assigned to the API server, selecting the instance of the target API hosted on the API server; and

    in response to determining that the client device has not been assigned to the API server, selecting the instance of the target API hosted on the API server having the number of session users lower than a number of session users for each remaining API server from the plurality of API servers; and

    transmit the message to the instance of the target API.

View all claims
  • 8 Assignments
Timeline View
Assignment View
    ×
    ×