G06F8/423

System and Method for Statistically Distributed Rate Limiting of Application Programming Interface Traffic

Disclosed herein are system, method, and computer program product embodiments for implementing statistical distributed rate limiting in an Application Programming Interfaces (API) Gateway cluster. An API Gateway cluster may comprise a plurality of gateway nodes and manage API traffic to ensure proper function and protect the health of an API. Each gateway node may use a distributed rate limiting algorithm based on the physics formulas for average velocity, average acceleration and distance based on time determine the total number of API requests accepted by all the nodes in the cluster. Implementation of statistical distributed rate limiting allows for accurate estimations of the total requests accepted by cluster without requiring each node to share its status with the other nodes in the cluster upon receiving each API request. This approach allows for minimum computational overhead while prioritizing the health of the API.

GATEWAY CONFIGURATION LANGUAGE FOR USE IN API ENVIRONMENTS

Disclosed herein are system, method, and computer program product embodiments for providing a universal coding language and construct for an application programming language (API) environment. In the environment, a standard language with a predefined and universal format is used for each of the different internal code modules. A translator is then provided in order to translate the standard language to the proprietary language of specific gateways or other vendor products. In some embodiments, a parser is used to in order to convert the code modules to an internal model. The internal model allows a user to visualize or otherwise understand the configuration that has been coded, and to make any necessary modifications.

AUGMENTED CIRCUIT BREAKER POLICY
20230090079 · 2023-03-23 · ·

Disclosed herein are system, method, and device embodiments for enriching the capabilities of an API management product by deploying an augmented circuit breaker policy at an API gateway to automate regression analysis. Based on the augmented circuit breaker policy, the API gateway may perform curative remedies when a triggering condition occurs, e.g. rolling back the software release or alerting administrators. In one use case, the augmented circuit break policy may mitigate the damage of a faulty software release by programmatically directing all requests received at the API gateway to a stable version of the API. The benefits may be extended by using machine learning to train normality models on the typical behavior of a particular API. A user may then configure an augmented circuit breaker policy to perform a programmatic rollback when the API gateway recognizes conditions that diverge from normal behavior.

SYSTEM AND METHOD FOR DEVELOPMENT OF GATEWAY POLICIES IN AN APPLICATION PROGRAMMING INTERFACE ENVIRONMENT

Disclosed herein are system, method, and computer program product embodiments for providing a streamlines API development environment. In the environment, pre-coded code modules corresponding to common policy functions are stored in memory and can be used, copied, and/or incorporated into developer custom policies. Function calls and/or references to specific code modules can be incorporated into developer custom policies, which will invoke one of the stored code modules. Additionally, one or more compilers are provided to compile code from a development language to a predetermined production language. Although the development language is preset by the development environment, other languages can be supported by downloading compilers for preferred development languages.

Systems and methods for handling macro compatibility for documents at a storage system

Systems and methods for handling macro compatibility for documents at a storage system are provided. A document to be stored on a network-based storage system is identified. The document is created using a first document processing application that uses a first programming language that is incompatible with the network-based storage system. The document includes macros in the first programming language. A semantic context for an object included in a macro is determined. The macro defines a function to be performed with respect to the object. In response to a determination, based on the semantic context of the object, that the object corresponds to multiple object types, a set of candidate object types for the object is identified. The function is converted into multiple sets of operations represented in a second programming language. Each set of operations is associated with a candidate object type and one set of operations is to be performed with respect to the object responsive to receiving an indication of a candidate object type for the object during execution of the macro. The document including the multiple sets of operations represented in the second programming language is stored on the network-based storage system. The second programming language is compatible with the network-based storage system.

Merging changes from upstream code to a branch

A computer-implemented method is provided for program repository management. The method includes identifying commits in an upstream commit log of an upstream branch and commits in a development commit log of a development branch. The method further includes extracting the commits in the development commit log of the development branch. The method also includes identifying, by a hardware processor in the upstream commit log, a code which is identical or similar to the extracted commits from the commit log of the development branch. The method additionally includes showing the identified code as a commit candidate of change in an upstream program code.

Configuration management through information and code injection at compile time
11080029 · 2021-08-03 · ·

Systems and methods for configuration management through information and code injection at compile time. An example method comprises: receiving a source code comprising one or more references to a variable; receiving metadata associated with the source code, wherein the metadata specifies a range of values of the variable; and identifying, in view of the range of values of the variable, a reachable section of the source code.

MERGING CHANGES FROM UPSTREAM CODE TO A BRANCH
20210255852 · 2021-08-19 ·

A computer-implemented method is provided for program repository management. The method includes identifying commits in an upstream commit log of an upstream branch and commits in a development commit log of a development branch. The method further includes extracting the commits in the development commit log of the development branch. The method also includes identifying, by a hardware processor in the upstream commit log, a code which is identical or similar to the extracted commits from the commit log of the development branch. The method additionally includes showing the identified code as a commit candidate of change in an upstream program code.

Application development method, tool, and device, and storage medium

Embodiments of the present application disclose an application development method performed at a computing device. The method includes: obtaining an input file in a predetermined format, the input file including content code of each part used for forming an application; disassembling the content code of each part in the input file into different category code according to corresponding categories; invoking a corresponding compiler according to an attribute of each piece of the category code, to compile the category code, to correspondingly obtain a description file of each piece of the category code; and performing plug-in processing on the description file of the category code of each part, to obtain the application.

Device control application with changeable workflow

In embodiments, a device control application reads a configuration file responsive to a first execution of the device control application on a mobile device. The mobile device parses the first configuration file to identify one or more supported devices, managed properties of each of the one or more supported devices, actions that indicate information about the managed properties, and controls associated with at least one of the one or more supported devices or the one or more managed properties, wherein a control causes a specified user input to generate a command to cause a managed property to have a specified value. The mobile device crates a first version of the device control application based on the configuration file during runtime of the device control application based on a result of the parsing. The mobile device then presents the first version of the device control application.