IP Library › Granted Patent US 11,281,507
Granted Patent B2
US 11,281,507 · App. 17/206,247 · Granted Mar 22, 2022

API selection system and API selection method

Inventors: Rina Ueno (Tokyo, JP); Keisuke Hatasaki (Tokyo, JP); Hiroshi Nasu (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F9/541
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,281,507
App. No.
17/206,247
Granted
Mar 22, 2022
Kind
B2
Abstract

An API selection system that selects an API (Application Programming Interfaces) includes an API repository that accumulates an API in association with a functional requirement of the API, a save processing unit that receives, from an application developer, an input of an API request definition that defines the functional requirement and a non-functional requirement required for an API with which an application developed by the application developer is linked and saves the input in a storage unit, and a candidate API extraction processing unit that executes a candidate API extraction process of extracting, from the API repository, a plurality of candidate APIs having a functional requirement which matches or is similar to a functional requirement of the API request definition saved in the storage unit by the save processing unit.

Claims (32)

1. An API (Application Programming Interface) selection system that selects an API, comprising:

an API repository that accumulates an API in association with a functional requirement of the API;

a processor coupled to a memory storing instructions that, when executed by the processor, configure the processor to:

receive, from an application developer, an input of an API request definition that defines the functional requirement and a non-functional requirement required for an API with which an application developed by the application developer is linked and saves the input in a storage unit;

execute a candidate API extraction process of extracting, from the API repository, a plurality of candidate APIs having a functional requirement which matches or is similar to the functional requirement of the API request definition saved in the storage unit;

perform a release test process in which a traffic is increased in all APIs included in the candidate APIs from which the API determined not to satisfy the performance requirement is excluded to measure a performance of the API, and an API having a best measured value is uniquely determined,

wherein the API request definition includes:

an address of the API repository that saves an API to be searched,

a keyword, as the functional requirement, for searching for an input/output format of data of an API and the API, and

an API performance requirement and a release method as the non-functional requirement, and

wherein, in executing the candidate API extraction process, an API that is associated with an input/output format and a word which match or are similar to the input/output format and the keyword described in the API request definition is extracted from among the APIs saved in the API repository of the address.

2. The API selection system according to claim 1 , wherein the processor is further configured to:

execute a deploy process of deploying the application, an API gateway, and the plurality of candidate APIs in an execution environment; and

perform an operation test of an application by linking the application and the candidate APIs via the API gateway, determine whether an observed value of a performance of the application linked with an API satisfies the performance requirement, and execute an operation test process of excluding an API determined not to satisfy the performance requirement from the candidate APIs.

3. The API selection system according to claim 2 ,

wherein the processor is further configured to execute the release test process for the application deployed in the execution environment and the API following the operation test process.

4. The API selection system according to claim 2 , wherein the processor is further configured to:

monitor the following conditions (a), (b), and (c) periodically, and

re-execute the candidate API extraction process, the deploy process, the operation test process, and the release test process when detecting that any one of the following conditions (a), (b), and (c) is met:

(a) an observed value of the performance of the application deployed in the execution environment no longer meets the performance requirement;

(b) an API has been newly registered, updated with information, or deleted in the API repository; and

(c) in the storage unit, the API request definition has been newly registered, updated with information, or deleted.

5. An API (Application Programming Interface) selection method executed by an API selection system that selects an API,

wherein the API selection system executes:

a save process of receiving, from an application developer, an input of an API request definition that defines a functional requirement and a non-functional requirement required for an API with which an application developed by the application developer is linked, and saving the input in a storage unit, and

a candidate API extraction process of extracting, from an API repository that accumulates an API in association with the functional requirement of the API, a plurality of candidate APIs having a functional requirement which matches or is similar to the functional requirement of the API request definition saved in the storage unit by the save process; and

an application release test process of performing a release test process in which a traffic is increased in all APIs included in the candidate APIs from which the API determined not to satisfy the performance requirement is excluded to measure a performance of the API, and an API having a best measured value is uniquely determined,

wherein the API request definition includes:

an address of the API repository that saves an API to be searched,

a keyword, as the functional requirement, for searching for an input/output format of data of an API and the API, and

an API performance requirement and a release method as the non-functional requirement, and

wherein, in the candidate API extraction process, an API that is associated with an input/output format and a word which match or are similar to the input/output format and the keyword described in the API request definition is extracted from among the APIs saved in the API repository of the address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2021
From: UENO, RINA; HATASAKI, KEISUKE; NASU, HIROSHI
To: HITACHI, LTD.
Reel/Frame 057289/0087 →
Priority Claims (1)
JP JP2020-141181 · Aug 24, 2020 · national
Continuity (1)
Related Publication 20220058064A1 · Feb 24, 2022