Granted patent
Techniques for automatically allocating tasks to application programming interfaces
- Number
- 10754712
- Published
- 2020-08-25
- Filed
- 2018-07-27
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Petrillo; Matthew Charles, Alfaro Vendrell; Monica, Junyent Martin; Marc, Accardo; Anthony M., Farre Guiu; Miquel Angel, Ettinger; Katharine S., Swerdlow; Avner
- CPC
- G06N3/0442; G06N3/08; G06F9/4881; G06N3/09; G06N3/0464; G06F9/542; G06N20/20; G06N3/096
- Verdict
- Set aside software task allocation, engineering/business
- Source
- Google Patents · FreePatentsOnline
Abstract
In various embodiments, a broker application automatically allocates tasks to application programming interfaces (APIs) in microservice architectures. After receiving a task from a client application, the broker application performs operation(s) on content associated with the task to compute predicted performance data for multiple APIs. The broker application then determines that a first API included in the APIs should process the first task based on the predicted performance data. The broker application transmits an API request associated with the first task to the first API for processing. After receiving a result associated with the first task from the first API, the client application performs operation(s) based on the result.
Background
BACKGROUNDField of the Various Embodiments(1) Embodiments of the present invention relate generally to monitoring and controlling the use of microservices, and more specifically to techniques for automatically allocating tasks to application programming interfaces.Description of the Related Art(2) Many applications are developed based on a microservice architecture that facilitates integration with any number of different microservices. A typical microservice is an independently deployed application that implements a fine-grained service and interacts with other applications, including other microservices, via one or more well-defined interfaces. In general, a client application sends a request to a microservice via an application programming interface (API) associated with the microservice, the microservice processes the request, and the API provides a result back to the client application. A request to a microservice typically describes a task that can involve any amount and any type of content. An example of a well-known microservice request is a request to translate audio to text.(3) One drawback of using APIs to perform tasks in microservice architectures is that tasks oftentimes are assigned to APIs that are unable to properly perform those tasks and, consequently, time and resources are needlessly wasted. For example, to reliably identify the maker of a car, a car maker identification API may require an image of the outside of the car that is taken at a certain angle.