System for providing api service based on cloud and method thereof
Patent Information
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- SAMSUNG SDS CO LTD
- Filing Date
- 2023-05-31
- Publication Date
- 2026-08-03
Smart Images

Figure 112023060114056-PAT00002_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to a cloud-based API (Application Programming Interface) service provision system and a method thereof. Background Technology
[0002] As cloud technology becomes more widespread, systems (or platforms) that provide cloud-based API (Application Programming Interface) services are emerging. These systems offer APIs for services that are difficult for general users to implement (e.g., services with high development difficulty or requiring significant development costs) and generate substantial revenue through billing based on the number of API calls.
[0003] However, in the above system, the operation (or control / management) functions of cloud-based API services (e.g., authentication, authorization, metering / billing, etc.) and the processing functions for API calls are generally implemented on a single plane (e.g., the same network). In this case, as traffic (load) related to API calls increases, response delays occur for the entire system's functions, so service quality and user satisfaction are bound to deteriorate. Prior art literature
[0004] Korean Registered Patent No. 10-2171436 (Published Oct. 29, 2020) The problem to be solved
[0005] The technical problem to be solved through some embodiments of the present disclosure is to provide a system capable of providing high-quality Application Programming Interface (API) services based on the cloud, and a method performed in said system.
[0006] The technical problems of the present disclosure are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by a person skilled in the art of the present disclosure from the description below. means of solving the problem
[0007] A cloud-based API service providing system according to some embodiments of the present disclosure for solving the technical problem described above may include a cloud management console that issues authentication information for a requested API among a plurality of APIs (Application Programming Interfaces) - said cloud management console is a module belonging to the control plane -, an API manager that receives a call message for a specific API containing authentication information from a user terminal, performs authentication using the authentication information of said call message, and requests the execution of said specific API based on the result of said authentication - said call message is received by said API manager belonging to the data plane without passing through said control plane - and an API execution engine that generates an execution result for said specific API in response to the request of said API manager.
[0008] In some embodiments, the plurality of APIs may include APIs for AI (Artificial Intelligence)-based character recognition, AI-based text analysis, and AI-based image analysis functions.
[0009] In some embodiments, the specific API is an API for data analysis functions, and the API execution engine may be run on a GPU (Graphic Processing Unit) based worker node.
[0010] In some embodiments, the control plane further includes an API authentication module, and the API manager can perform the authentication in conjunction with the API authentication module.
[0011] In some embodiments, the control plane further includes a user management module, and the API manager checks the user's permission to use the specific API in conjunction with the user management module, and may request the execution of the specific API based further on the result of the check.
[0012] In some embodiments, the specific API is an API for data analysis functions, and the API manager can download analysis data from storage and transmit the analysis data to the API execution engine.
[0013] In some embodiments, the API manager may include an API authentication integration module that performs the authentication in conjunction with the control plane, a job manager that creates a job for the specific API based on the call message and inserts it into a queue, and an API execution request module that retrieves the job from the queue and requests the API execution engine to execute the specific API.
[0014] In some embodiments, the job manager may include a job management module that creates a job for the specific API and issues an ID of the job, and a job status check module that checks the processing status of the job by polling using the ID of the job.
[0015] In some embodiments, the job management module receives an execution result for the specific API from the API execution request module and stores it in a database, and updates the processing status of the job to a completed state, and the job status check module can obtain the execution result from the database when the processing status of the job is a completed state and transmit the execution result to the user's terminal.
[0016] In some embodiments, the API manager may include an API authentication integration module that performs the authentication in conjunction with the control plane, a job manager that creates a job for the specific API based on the call message, and an API execution request module that separates the job into task units according to preset criteria and requests the API execution engine to execute the specific API in task units.
[0017] In some embodiments, the specific API is an API for data analysis functions, and the API execution request module validates the job based on at least one of the size, extension, and filename of the analysis data file, and if the job is valid, the job can be separated into tasks for processing.
[0018] In some embodiments, the specific API is an API for data analysis functions, and the API execution request module can separate the job into task units based on the number of files or pages of the analysis data.
[0019] In some embodiments, the API manager includes an API authentication integration module that performs the authentication in conjunction with the control plane, a job manager that creates a job for the specific API based on the call message, and an API execution request module that requests the API execution engine to execute the specific API to process the job, and if the specific API is an asynchronous API, the job manager may transmit the ID of the job to the user's terminal before the job is processed.
[0020] In some embodiments, the job manager receives an execution result for the specific API from the API execution request module and can upload the execution result to storage accessible to the user's terminal.
[0021] In some embodiments, the API authentication integration module receives a query request including the ID of the job and authentication information for the specific API, authenticates the requester using the authentication information of the query request, and if the requester is authenticated, provides the requester with a query result for the ID of the job, and the query result may include processing status information of the job or an execution result for the specific API.
[0022] In some embodiments, the cloud management console includes a demo management console that provides a demonstration of the execution result for an API selected by a specific user among the plurality of APIs, and the demo management console requests the API manager to obtain the execution result for the selected API, and the API manager may be configured not to require authentication information for the API requested from the demo management console.
[0023] A method for providing a cloud-based API service according to some embodiments of the present disclosure for solving the technical problem described above is a method performed by at least one computing device, and may include the steps of: receiving a call message for a specific API (Application Programming Interface) from a user's terminal without passing through a control plane to which a cloud management console belongs—the call message includes authentication information, and the authentication information is issued by the cloud management console—; performing authentication for the user using the authentication information of the call message—the authentication is performed in conjunction with an API authentication module belonging to the control plane—and, if the authentication is successfully performed, obtaining an execution result for the specific API through an API execution engine and providing the execution result to the user's terminal.
[0024] A computer program according to some embodiments of the present disclosure for solving the technical problem described above may be stored on a computer-readable recording medium to execute the steps of: receiving a call message for a specific API (Application Programming Interface) from a user terminal without passing through a control plane to which a cloud management console belongs, wherein the call message includes authentication information and the authentication information is issued by the cloud management console; performing authentication of the user using the authentication information of the call message, wherein the authentication is performed in conjunction with an API authentication module belonging to the control plane; and, if the authentication is successfully performed, obtaining an execution result for the specific API through an API execution engine and providing the execution result to the user terminal. Effects of the invention
[0025] According to some embodiments of the present disclosure, the operation (or control / management) functions (e.g., authentication, authorization, metering / billing, etc.) of a cloud-based API (Application Programming Interface) service and the processing functions for API calls may be implemented on different planes. In this case, even if traffic (load) related to service operation or traffic (load) related to API calls increases, no response delay occurs for the overall functions of the system, and as a result, service quality and user satisfaction can be improved. Furthermore, by increasing the resources of the data plane responsible for the processing functions for API calls, the problem of response delay for API calls can be easily resolved.
[0026] In addition, user satisfaction with the API service can be further enhanced by integrating and providing various APIs related to AI (Artificial Intelligence)-based data analysis functions (e.g., character recognition, text analysis, image analysis, etc.) that are difficult for general users to develop.
[0027] In addition, by providing demo services for various APIs, users' right to choose API services can be guaranteed, and consequently, user satisfaction can be further enhanced.
[0028] The effects according to the technical concept of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description below. Brief explanation of the drawing
[0029] FIG. 1 is an exemplary configuration diagram for schematically illustrating a cloud-based API (Application Programming Interface) service providing system and its operating environment according to some embodiments of the present disclosure. FIG. 2 is an exemplary block diagram illustrating the functional separation structure of a cloud-based API service provision system according to some embodiments of the present disclosure. FIGS. 3 and 4 are exemplary block diagrams for explaining in more detail the configuration and operation of a cloud-based API service providing system according to some embodiments of the present disclosure. FIG. 5 illustrates the overall flow of an API service provision method performed in a cloud-based API service provision system according to some embodiments of the present disclosure. FIG. 6 is an exemplary flowchart illustrating a service request processing process in a cloud-based API service provision system according to some embodiments of the present disclosure. FIGS. 7 and 8 are exemplary flowcharts illustrating a synchronous API call processing process in a cloud-based API service providing system according to some embodiments of the present disclosure. FIG. 9 is an exemplary flowchart illustrating a job status check process in a cloud-based API service provision system according to some embodiments of the present disclosure. FIGS. 10 and 11 are exemplary flowcharts illustrating an asynchronous API call processing process in a cloud-based API service providing system according to some embodiments of the present disclosure. FIG. 12 is an exemplary flowchart illustrating a job information lookup process in a cloud-based API service provision system according to some embodiments of the present disclosure. FIG. 13 illustrates the overall flow of a process in which an API demo service is provided in a cloud-based API service providing system according to some embodiments of the present disclosure. FIG. 14 illustrates an exemplary computing device capable of implementing a cloud-based API service provision system according to some embodiments of the present disclosure. Specific details for implementing the invention
[0030] Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings. The advantages and features of the present disclosure and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the attached drawings. However, the technical concept of the present disclosure is not limited to the following embodiments but can be implemented in various different forms. The following embodiments are provided merely to complete the technical concept of the present disclosure and to fully inform those skilled in the art of the scope of the present disclosure, and the technical concept of the present disclosure is defined only by the scope of the claims.
[0031] In describing the various embodiments of the present disclosure, if it is determined that a detailed description of related known configurations or functions could obscure the essence of the present disclosure, such detailed description is omitted.
[0032] Unless otherwise defined, terms used in the following embodiments (including technical and scientific terms) may be used in a meaning commonly understood by those skilled in the art to which this disclosure pertains, but this may vary depending on the intent of those skilled in the art, case law, the emergence of new technology, etc. The terms used in this disclosure are for describing the embodiments and are not intended to limit the scope of this disclosure.
[0033] In the following embodiments, singular expressions include plural concepts unless the context clearly specifies them as singular. Additionally, plural expressions include singular concepts unless the context clearly specifies them as plural.
[0034] In addition, terms such as first, second, A, B, (a), (b), etc. used in the following embodiments are used merely to distinguish one component from another, and the essence, order, or sequence of the said component is not limited by such terms.
[0035] Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings.
[0036] FIG. 1 is an exemplary configuration diagram for schematically describing a cloud-based API (Application Programming Interface) service providing system (10) and its operating environment according to some embodiments of the present disclosure. In FIG. 1 and subsequent drawings, the cloud-based API service providing system (10) is illustrated as an 'API service providing system'.
[0037] As illustrated in FIG. 1, the cloud-based API service providing system (10) is a cloud-based computing system (or platform) and can provide API services to a number of user terminals (11-1 to 11-N). For example, the cloud-based API service providing system (10) can provide users with APIs regarding various AI (Artificial Intelligence)-based data analysis functions that are difficult for users to develop. Examples of such functions include character recognition, text analysis, image analysis, translation, STT (Speech-To-Text), etc., but the scope of the present disclosure is not limited thereto. In some cases, the cloud-based API service providing system (10) can also provide users with APIs regarding data analysis functions that are not based on AI (or other functions, e.g., functions that require a large amount of computing resources). The detailed configuration and operation of the cloud-based API service providing system (10) will be described in detail with reference to FIG. 2 and subsequent drawings.
[0038] Hereinafter, for convenience of explanation, the cloud-based API service provision system (10) will be abbreviated as the 'service provision system'. Also, the reference number '11' will be used in all cases, whether referring to any user terminal (e.g., 11-1, 11-2) or referring collectively to all user terminals (11-1 to 11-N).
[0039] The above-described service provision system (10) may be implemented with at least one computing device. For example, a first function of the service provision system (10) may be implemented in a first computing device and a second function may be implemented in a second computing device. Alternatively, a specific function of the service provision system (10) may be implemented in multiple computing devices.
[0040] A computing device may include any device equipped with computing functions, and for an example of such a device, refer to FIG. 14. Since a computing device is a collection of various components (e.g., memory, processor, etc.) that interact with each other, it may be referred to as a 'computing system' depending on the case. Of course, the term computing system may also encompass the concept of a collection of multiple computing devices that interact with each other.
[0041] The user terminal (11) may refer to a terminal on the user side that uses the API service of the service providing system (10). The user terminal (11) may be implemented as any device. The user may be, for example, a developer, an administrator (e.g., a development administrator who applies for the API service and sets API usage rights for developers), but the scope of the present disclosure is not limited thereto.
[0042] As illustrated in FIG. 1, the user terminal (11) and the service providing system (10) can communicate through a network. Here, the network can be implemented as any type of wired or wireless network, such as a Local Area Network (LAN), a Wide Area Network (WAN), a mobile radio communication network, or Wibro (Wireless Broadband Internet).
[0043] Up to now, a service providing system (10) and its operating environment according to some embodiments of the present disclosure have been described schematically with reference to FIG. 1. Hereinafter, the functional separation structure, detailed configuration, and operation of the service providing system (10) will be described in more detail with reference to FIG. 2 to FIG. 4.
[0044] FIG. 2 is an exemplary drawing for explaining the functional separation structure of a service provision system (10) according to some embodiments of the present disclosure.
[0045] As illustrated in FIG. 2, the functions of the service provision system (10) can be implemented separately on the control plane (21) and the data plane (22). In this case, even if traffic related to service operation (i.e., control traffic) or traffic related to API calls (i.e., data traffic) increases, no response delay occurs for the entire function of the service provision system (10). Furthermore, by increasing the resources of the data plane (22) (e.g., computing resources, network bandwidth, etc.), the problem of response delay caused by an increase in traffic related to API calls (load) can also be easily resolved.
[0046] Specifically, the service provision system (10) may be configured to include a cloud management console (23), a common operation module (24), an API service manager (25), and an API execution engine (26). Here, the cloud management console (23) and the common operation module (24) are modules responsible for the operation (or control / management) function of cloud-based API services, and the API service manager (25) and the API execution engine (26) are modules responsible for the processing function of API calls. Accordingly, the cloud management console (23) and the common operation module (24) may be implemented to belong to the control plane (21), and the API service manager (25) and the API execution engine (26) may be implemented to belong to the data plane (22). For example, the cloud management console (23) and the common operation module (24) may be implemented on a first network, and the API service manager (25) and the API execution engine (26) may be implemented on a second network distinct from the first network (e.g., a network with a higher bandwidth than the first network). By doing so, traffic of different characteristics can be naturally separated into different planes (or networks), and as a result, the overall response speed of the service provision system (10) can be greatly improved.
[0047] Meanwhile, as described, the API service manager (25) belonging to the data plane (22) runs on a CPU (Central Processing Unit) worker node, and the API execution engine (26) can run on a GPU (Graphic Processing Unit) worker node. For example, if the API execution engine (26) is an engine that executes APIs related to AI-based data analysis functions (e.g., character recognition, text analysis, image analysis, etc.), the API execution engine (26) can run on a GPU worker node. By doing so, the response speed for API calls can be significantly improved. The worker node can be a virtual machine or a physical machine.
[0048] In some embodiments, an auto-scaling function may be performed based on the resource usage (or amount of API call-related traffic (load)) of worker nodes (e.g., CPU worker nodes, GPU worker nodes). For example, if the resource usage of the GPU worker nodes running the API execution engine (26) is above a threshold, the service providing system (10) may increase the number of GPU worker nodes (scale-out), and if the opposite is true, decrease the number of GPU worker nodes (scale-in).
[0049] For reference, the common operation module (24) may collectively refer to various modules required for the operation of a cloud-based API service, and the API execution engine (26) may collectively refer to engines required for the execution of various APIs.
[0050] Hereinafter, the detailed configuration and operation of the service providing system (10) will be described in more detail with reference to FIGS. 3 and FIGS. 4. FIGS. 3 is a block diagram showing in more detail the modules (i.e., components) of the service providing system (10) belonging to the control plane (21), and FIGS. 4 is a block diagram showing in more detail the modules (i.e., components) of the service providing system (10) belonging to the data plane (22).
[0051] As illustrated in FIG. 3, the cloud management console (23) may be configured to include an authentication management console (31), an authorization management console (32), a service management console (33), and a demo management console (34). However, depending on the case, the cloud management console (23) may include additional management modules.
[0052] The authentication management console (31) may refer to a module responsible for authentication management functions. For example, the authentication management console (31) may provide (issue) authentication information for API calls in response to a user's request. The authentication information may be, for example, an authentication key, a token, etc., but the scope of the present disclosure is not limited thereto. Below, the explanation will continue assuming the case where the authentication management console (31) issues an 'authentication key'.
[0053] Next, the permission management console (32) may refer to a module responsible for permission management functions. For example, the permission management console (32) may provide functions for setting users' API usage rights, number of calls, usage time, etc. For example, an administrator (i.e., a development manager) can set policies such as developers' API usage rights, number of uses, usage time, etc. through the permission management console (32).
[0054] Next, the service management console (33) may refer to a module responsible for service management functions. For example, the service management console (33) may provide a function to apply for API services to users. For example, an administrator (i.e., a development administrator) may apply for APIs to be used by developers through the service management console (33). In some cases, a system administrator may create and provide an API product consisting of multiple APIs through the service management console (33) (e.g., providing a single API product by bundling several related APIs together).
[0055] Next, the demo management console (34) may refer to a module responsible for demo management functions. For example, the demo management console (34) may provide a demo service for an API selected by the user (i.e., a service that provides a demonstration of the execution results of the selected API). The process of providing the demo service will be described later with reference to FIG. 13. In some cases, the system administrator may select and configure a demo API from among a number of APIs through the demo management console (34).
[0056] For reference, the cloud management console (23) described above is a front-end module that provides an interface with a user (e.g., developer, development manager) or system manager, and can be implemented, for example, through a web server (i.e., management functions are provided through a web interface). However, the scope of the present disclosure is not limited thereto.
[0057] Below, the common operation module (24) will be described.
[0058] As described, the API authentication module (35), user management module (35), logging module (37), and metering / billing module (38) may be included in the category of the common operation module (24). However, the scope of the present disclosure is not limited thereto, and the category of the common operation module (24) may further include various modules necessary for the operation of a cloud-based API service.
[0059] The API authentication module (35) may refer to a module responsible for the authentication function for the called API. For example, the API authentication module (35) may identify (verify) the user of the called API using an authentication key included in the API call message. However, the scope of the present disclosure is not limited thereto.
[0060] Next, the user management module (35) may refer to a module responsible for integrated management functions regarding user information. For example, the user management module (35) may manage user account authentication information (e.g., ID, password, etc.), application API (or API product) information, authorization information, project information, etc. Additionally, the user rights module (35) may perform user account authentication, authorization checks, etc. based on the exemplified information (i.e., may perform IAM (Identity Access Management) functions). However, the scope of the present disclosure is not limited thereto.
[0061] Next, the logging module (37) may refer to a module responsible for logging functions. The logging module (37) can log various operations of the service provision system (10). For example, the logging module (37) can log API call information in which API (user) authentication and user authorization checks have been successfully completed. The log information generated in this way can be used by the metering / billing module (38) to calculate service costs.
[0062] Next, the metering / billing module (38) may refer to a module responsible for metering and billing functions for the called API. For example, the metering / billing module (38) may measure the number of API calls based on user, project, etc. (e.g., measured based on log information) and calculate service costs (e.g., costs per user, per project, etc.) based on the number of API calls. However, the scope of the present disclosure is not limited thereto, and any method of metering and billing may be used.
[0063] For reference, the above-described common operation module (24) is a back-end module that provides common operation functions for cloud-based API services by linking with a cloud management console (23) and / or an API service manager (25), and can be implemented, for example, through a web application server. However, the scope of the present disclosure is not limited thereto.
[0064] Below, the modules belonging to the data plane (22) will be described with reference to FIG. 4.
[0065] As illustrated in FIG. 4, the API service manager (25) belonging to the data plane (22) may be configured to include an API authentication integration module (41), an API endpoint (42, endpoint), a job manager (43), and an API execution request module (46).
[0066] The API authentication integration module (41) may refer to a module responsible for the authentication function for the called API and the integration function with the control plane (21). For example, the API authentication integration module (41) may receive an API call message from a user terminal (11) and perform authentication (i.e., user authentication) for the called API using the authentication key of the API call message. At this time, the API authentication integration module (41) may perform such authentication by integrating with the API authentication module (35) of the control plane (21). In addition, the API authentication integration module (41) may also check the user's authority by integrating with the user management module (36) of the control plane (21). The API call message for which user authentication and authority check have been successfully completed may be delivered to the API endpoint (42).
[0067] Next, the API endpoint (42, endpoint) may refer to a terminal point that receives API call messages. The API endpoint (42) can initiate a process of generating a response to the API call message (i.e., a process of generating an execution result for the called API) by requesting the job manager (43) to create a job. For this, please refer to the descriptions in the drawings from Fig. 6 onwards. As those skilled in the art are likely already familiar with the meaning of an API endpoint, the explanation thereof will be omitted.
[0068] Next, the job manager (43) may refer to a module responsible for managing jobs. Here, a job may refer to a unit of work within the service provision system (10) for processing API calls. For example, the job manager (43) may be responsible for functions such as job creation, job ID issuance, and job status check.
[0069] As described, in some embodiments, the job manager (43) may be configured to include a job management module (44) and a job status check module (45). The job management module (44) can create jobs and issue job IDs, and the job status check module (45) can check the status of jobs by polling. For detailed operations of the job management module (44) and the job status check module (45), further reference should be made to the descriptions in the drawings from Fig. 6 onwards.
[0070] Next, the API execution request module (46) may refer to a module responsible for the function of requesting the execution of a called API. For example, the API execution request module (46) may request the API execution engine (26) to execute the API of the job in order to process the job. In some cases, the API execution request module (46) may separate the job into tasks and request the execution of the API on a task-by-task basis. For this, further reference should be made to the descriptions in the drawings from Fig. 6 onwards.
[0071] Next, the API execution engine (26) may refer to a module that generates the execution result of a called API. As illustrated in FIG. 4, when the service providing system (10) provides APIs related to AI-based character recognition, text analysis, and image analysis, the category of the API execution engine (26) may include a character recognition API execution engine (47), a text analysis API execution engine (48), and an image analysis API execution engine (49). However, the scope of the present disclosure is not limited thereto. Hereinafter, the explanation will continue by assuming that the service providing system (10) provides an API as exemplified (i.e., an AI-based data analysis API).
[0072] For reference, the components of the service provision system (10) illustrated in FIGS. 2 to 4 represent functionally distinct functional elements, and multiple components may be implemented in a form where they are integrated with each other in an actual physical environment, or specific functional elements may be implemented in a form where they are separated into multiple sub-functional elements.
[0073] Up until now, the functional separation structure, detailed configuration, and operation of the service provision system (10) have been described in detail with reference to FIGS. 2 to 4. Below, the method of providing API services in the service provision system (10) will be described in more detail with reference to FIGS. 5 to 13.
[0074] FIG. 5 illustrates the overall flow of an API service provision method performed in a service provision system (10) according to some embodiments of the present disclosure. FIG. 5 assumes a case where an administrator (i.e., a development administrator) requests an API service and a developer calls the API. However, depending on the case, the administrator and the developer may be the same user.
[0075] As illustrated in FIG. 5, the cloud management console (23) can receive an API service request from an administrator (i.e., the administrator's terminal) and set the usage policy thereof (see ①). For example, the administrator can request an API, API product, etc. to be used by a developer through the service management console (33). In addition, the administrator can set policies such as the developer's (or project's) usage rights, usage count (i.e., number of calls possible), usage time, etc. for the requested API (or API product) through the permission management console (32).
[0076] Next, the cloud management console (23) can issue an API authentication key in response to a request from a developer (i.e., a developer's terminal) (see ②).
[0077] Next, the developer can upload analysis data (e.g., analysis file) to storage (51, e.g., Object-Based Storage (OBS)) accessible to the developer (see ③). For reference, FIG. 5 assumes a case where the API service manager (25) obtains analysis data through storage (51), but the scope of the present disclosure is not limited thereto. For example, the API service manager (25) may receive analysis data directly from the developer or obtain analysis data in other ways.
[0078] Next, the API service manager (25) can receive an API call message containing an authentication key from a developer (see ④). Then, the API service manager (25) can perform user authentication and authorization checks by interacting with the common operation module (24) of the control plane (21) (see ⑤). Once this process is successfully completed, subsequent steps can be performed.
[0079] Next, the API service manager (25) can download analysis data from storage (51) and execute the called API through the API execution engine (26) (see ⑥, ⑦). Then, the API service manager (25) can provide the execution result of the called API to the developer (see ⑧).
[0080] Below, the detailed processes of the API service provision method will be explained in more detail with reference to the drawings Fig. 6 and below. In the drawings such as Fig. 6, developers and administrators are collectively referred to as 'users' without distinction.
[0081] FIG. 6 is an exemplary flowchart illustrating a service application process in a service provision system (10) according to some embodiments of the present disclosure. However, this is merely a preferred embodiment for achieving the purpose of the present disclosure, and it is understood that some steps may be added or deleted as needed.
[0082] As illustrated in FIG. 6, the service application process may begin at step S61, where the cloud management console (23) receives an application for an API service from a user terminal (11). For example, an administrator may access the service management console (33) through their terminal (11) to apply for an API, API product, etc. to use. As described above, the administrator may also set policies such as the developer's (or project's) usage rights, usage frequency, usage time, etc., for the requested API (or API product) through the permission management console (32). This setting (policy) information may be transmitted to the user management module (36) and used for permission checks, etc.
[0083] In step S62, the service management console (33) can transmit the result of the API service application (e.g., success, failure, application history, etc.) to the user terminal (11).
[0084] In step S63, the authentication management console (31) may receive a request for the issuance of an authentication key for a specific API (i.e., a request message) from a user terminal (11). For example, a developer may access the authentication management console (31) through their terminal (11) and request the issuance of an authentication key for a specific API among the APIs for application.
[0085] In step S64, the authentication management console (31) can transmit the authentication key issuance result (e.g., success, failure, authentication key, etc.) to the user terminal (11). The authentication management console (31) may issue an authentication key for a specific API through the API authentication module (35) or issue an authentication key independently. In either case, the authentication key and user information can be transmitted to the API authentication module (35) and used to authenticate the called API.
[0086] Up to now, a service application process according to some embodiments of the present disclosure has been described with reference to FIG. 6. Below, a process for processing API calls in a service providing system (10) will be described in detail with reference to FIGs. 7 to 12.
[0087] First, the synchronous API call processing process will be explained with reference to FIGS. 7 to 9.
[0088] FIGS. 7 and 8 are exemplary flowcharts illustrating a synchronous API call processing process in a service providing system (10) according to some embodiments of the present disclosure. However, this is merely a preferred embodiment for achieving the purpose of the present disclosure, and it is understood that some steps may be added or deleted as necessary. The following description refers to FIGS. 7 and 8.
[0089] In step S71, the analysis data can be uploaded to storage (51). For example, the developer can upload the analysis data to storage (51, e.g., OBS) before calling the API.
[0090] In step S72, an API manager (25) belonging to the data plane (22) can receive an API call message (i.e., a call message for a specific API) from a user terminal (11). In other words, the API call message can be delivered directly to the API manager (25) without passing through the control plane (21). In this case, the response speed for the API call can be improved, and as a result, the user's satisfaction with the API service can be greatly improved.
[0091] API call messages may include, for example, a previously issued authentication key, API information (e.g., API URL, API parameter values, etc.). However, the scope of the present disclosure is not limited thereto.
[0092] In step S73, the API manager (25) can perform user authentication by interacting with the API authentication module (35) belonging to the control plane (21). For example, the API manager (25) can identify the user who called the API using an authentication key included in the API call message. If the authentication key is valid and the user is successfully identified, subsequent steps can be performed.
[0093] More specifically, as illustrated in FIG. 8, the API authentication integration module (41) may receive an API call message and perform user authentication by integrating with the API authentication module (35) (S72 and S73). For example, the API authentication integration module (41) may transmit an authentication key to the API authentication module (35) and receive a user authentication result (e.g., success, failure, information of the identified user (e.g., ID), etc.) from the API authentication module (35), but the scope of the present disclosure is not limited thereto. The specific user authentication method may be changed in any way.
[0094] In step S74, the API manager (25) can check the user's authority by interacting with the user management module (36) belonging to the control plane (21). If the authority check is successfully performed, subsequent steps can be continued.
[0095] More specifically, as illustrated in FIG. 8, the API authentication integration module (41) can perform an authorization check in conjunction with the user management module (36) (S74). For example, the API authentication integration module (41) can transmit user identification information (e.g., ID) to the user management module (36) and receive an authorization check result (e.g., success, failure, etc.) from the user management module (36). However, the scope of the present disclosure is not limited thereto, and the specific authorization check method can be changed at any time. In some cases, the API authentication integration module (41) may further receive user storage information (e.g., user upload location assigned on storage (51)), project information, etc. from the user management module (36).
[0096] In step S75, the API manager (25) can perform preparations for the execution of the called API.
[0097] More specifically, as illustrated in FIG. 8, an API call message can be delivered to an API endpoint (42) (S81). Then, the API endpoint (42) can initiate preparation for API execution by requesting the creation of a job for the called API (S82). Next, a job manager (43) can create a job for the called API in response to the request (S83-1). Additionally, the job manager (43) can store information about the created job in DB (81) and insert the created job into a queue (82) (S83-2, S83-3). For detailed operations of this job manager (43), further reference should be made to the description in FIG. 9.
[0098] Job information may include, for example, information about the called API (e.g., API URL, API parameter values, etc.), user information (e.g., user ID, affiliated project, etc.), storage information (e.g., upload location of analysis data), etc. However, the scope of the present disclosure is not limited thereto.
[0099] In step S76, the API manager (25) can download analysis data from storage (51).
[0100] More specifically, as illustrated in FIG. 8, the API execution request module (46) retrieves a job from the queue (82) (S84) and can download the analysis data associated with the job from the storage (51) (S76).
[0101] In some embodiments, the API execution request module (46) may perform verification of the job based on analysis data. For example, the API execution request module (46) may verify the job based on at least one of the size, extension, and filename of the analysis data file. As a more specific example, the API execution request module (46) may determine that the job is invalid if the size of the analysis data file is greater than a threshold, if the extension does not meet predefined rules (e.g., if the extension is not included in a predefined list of extensions, or if the called API is a text analysis API but the extension points to an image file), or if the filename does not meet predefined rules (e.g., if the length is greater than a threshold). If the job is verified to be valid, the API execution request module (46) may continue to perform subsequent steps (e.g., if the job is valid, the job is separated into task units).
[0102] Additionally, in some embodiments, the API execution request module (46) can separate the job into task units according to a preset criterion (S85). For example, the API execution request module (46) can separate the job into multiple tasks based on the number of files or pages of the analysis data (e.g., one file or page corresponds to one task) and request API execution on a task-by-task basis (e.g., API execution requests are repeated on a task-by-task basis). By doing so, API calls can be processed more quickly.
[0103] In steps S77 and S78, the API manager (25) may request the API execution engine (26) to execute the called API and receive the API execution result. The API execution result may represent the job processing result.
[0104] More specifically, as illustrated in FIG. 8, an API execution request module (46) may request the execution of an API called by the API execution engine (26) (S77). At this time, the API execution request module (46) may transmit the downloaded analysis data to the API execution engine (26). Then, the API execution engine (26) may execute the API called on the analysis data. For example, if the called API is an API related to a character recognition function, the API execution engine (26) may perform character recognition on the analysis data (e.g., document image). As another example, if the called API is an API related to a text analysis function (e.g., sentiment analysis, named entity recognition, etc.), the API execution engine (26) may perform text analysis on the analysis data (e.g., document text). As yet another example, if the called API is an API related to an image analysis function (e.g., object detection, etc.), the API execution engine (26) may perform image analysis on the analysis data (e.g., image).
[0105] If the job is separated into task units, the API execution request module (46) can request the execution of the API called on a task unit (S77). For example, if the analysis data is a document image composed of multiple pages and one page is created as one task, the API execution request module (46) can request the execution of the API for the first page of the document image and request the execution of the API again for the second page of the document image.
[0106] In some cases, the API execution request module (46) may perform verification on the task and request the execution of the API only for the verified task. Any method may be used to verify the task.
[0107] In step S79, the API manager (25) can transmit the execution result of the called API (i.e., the job processing result) to the user terminal (11). In some cases, the API manager (25) may upload the API execution result to storage (51) and notify the user terminal (11) of the execution completion message.
[0108] More specifically, as illustrated in FIG. 8, the job manager (43) can receive the execution result of the API called from the API execution request module (46) and update the job information (S86, S87). For example, the job manager (43) can store the execution result of the called API in the DB (81) and update the processing status of the job to a completed state. Next, the job manager (43) can transmit the execution result of the called API to the user terminal (11) through the API endpoint (42) and the API authentication integration module (41) (S88, S89, S79).
[0109] Below, the detailed operation of the job manager (43) will be explained with reference to FIG. 9.
[0110] As illustrated in FIG. 9, the job manager (43) may be configured to include a job status check module (44) and a job management module (45), and the job management module (45) may create a job for the called API and issue a job ID (S91, S92). Additionally, the job management module (45) may transmit the job ID to the job status check module (44) (S93).
[0111] The job status check module (44) can check the status of a job being processed by polling (S94-1 to S94-K). For example, the job status check module (44) can periodically check the processing status of a job through the job management module (45). In other words, the job status check module (44) can send the job ID to the job management module (45) and request a lookup of the job processing status. Then, the job management module (45) can use the job ID to look up the processing status of the corresponding job in the DB (81) and transmit the lookup result to the job status check module (44).
[0112] When the job management module (45) updates the processing status of the job to a completed state, the processing status of the job can be checked as a completed state (see S87, S94-K). Then, the job status check module (44) can obtain the result of the called API execution (i.e., the processing result of the job) by querying the database (81) with the job ID through the job management module (45) (S95), and the job status check module (44) can transmit the query result to the user terminal (11) through the API endpoint (42) (S88, S89, S79).
[0113] Up to this point, with reference to FIGS. 7 through 9, a synchronous API processing process in a service provision system (10) according to some embodiments of the present disclosure has been described. As described above, an API call message can be transmitted to an API manager (25) belonging to the data plane without passing through the control plane. In this case, even if traffic (load) related to API calls increases, no response delay occurs for the overall function of the system, and as a result, service quality and user satisfaction can be improved. Furthermore, by increasing the resources of the data plane responsible for processing API calls, the problem of response delay for API calls can be easily resolved.
[0114] In addition, user satisfaction with the API service can be further enhanced by integrating and providing various APIs related to AI-based data analysis functions (e.g., character recognition, text analysis, image analysis, etc.) that are difficult for general users to develop.
[0115] Hereinafter, an asynchronous API processing process according to several embodiments of the present disclosure will be described with reference to FIGS. 10 to 12. However, for the clarity of the present disclosure, descriptions of content that overlap with the synchronous API processing process described above will be omitted.
[0116] FIGS. 10 and 11 are exemplary flowcharts illustrating an asynchronous API call processing process in a service providing system (10) according to some embodiments of the present disclosure. However, this is merely a preferred embodiment for achieving the purpose of the present disclosure, and it is understood that some steps may be added or deleted as necessary. The following description refers to FIGS. 10 and 11.
[0117] In step S101, the analysis data can be uploaded to storage (51).
[0118] In step S102, the API manager (25) can receive an API call message from the user terminal (11).
[0119] In step S103, the API manager (25) can perform user authentication for the called API by working with the API authentication module (35).
[0120] In step S104, the API manager (25) can check the user's permissions for the called API by interacting with the user management module (35).
[0121] In steps S105 and S106, the API manager (25) can prepare for the execution of the called API and can transmit the job ID to the user terminal (11) before the execution of the called API is initiated (or before the execution is completed).
[0122] More specifically, as illustrated in FIG. 11, the job manager (43) can create a job for the called API and issue a job ID in response to a job creation request from the API endpoint (42) (S111, S112, S113-1). Additionally, the job manager (43) can store information about the created job in a database (81) and insert the job into a queue (82). Next, the job manager (43) can transmit the job ID to the user terminal (11) through the API endpoint (42) and the API authentication integration module (41) before the job is processed (S114-1, S114-2, S106). The job ID can be used by the user terminal (11) to query information about the job (e.g., job processing status, job processing result), for which the description in FIG. 12 is used.
[0123] In step S107, the API manager (25) can download analysis data from storage (51).
[0124] More specifically, as illustrated in FIG. 11, the API execution request module (46) retrieves a job from the queue (82) (S115) and can download analysis data associated with the job from the storage (51) (S107).
[0125] In steps S108-1 and S108-2, the API manager (25) can execute the API called through the API execution engine (26).
[0126] For example, as illustrated in FIG. 11, the API execution request module (46) can separate the jobs received into task units (S116) and request the execution of the API for the job (i.e., the called API) on a task-by-task basis (S108-1). Next, the API execution request module (46) can receive the execution result of the called API from the API execution engine (26) and transmit it to the job manager (43) (S108-2, S117). Then, the job manager (43) can store the execution result of the called API in the database (81) and update the processing status of the job to a completed state (S118).
[0127] In step S109, the API manager (25) can upload the execution result of the called API to storage (51). This upload service is provided for asynchronous APIs and may be provided selectively by the user's choice or provided by default.
[0128] In some cases, the API manager (25) may notify the user terminal (11) of the execution completion message after uploading the execution result of the called API to the storage (51).
[0129] Below, with reference to FIG. 12, the job information lookup process using a job ID will be further explained.
[0130] As illustrated in FIG. 12, the user terminal (11) can query information about the job (e.g., processing status, processing result, etc.) using the received job ID.
[0131] Specifically, in step S121, the API manager (25) may receive a lookup request (i.e., a request message) from the user terminal (11) that includes the job ID and the authentication key of a specific API (i.e., an asynchronous API). For example, the API authentication integration module (41) may receive such a lookup request from the user terminal (11).
[0132] In step S122, the API manager (25) can perform user authentication by interacting with the API authentication module (35). For example, the API authentication interaction module (41) can perform user authentication (i.e., the requester) based on an authentication key through the API authentication module (35). If authentication is successfully performed, subsequent steps can be continued.
[0133] In steps S123 and S124, the API manager (25) may query the database (81) with the job ID and transmit the query result to the user terminal (11). The query result may be, for example, information on the processing status of the job, the processing result of the job (i.e., the API execution result), but is not limited thereto.
[0134] More specifically, the API authentication integration module (41) transmits a search request message to the job manager (43), and the job manager (43) can query the database (81) using the job ID included in the search request message. Then, the job manager (43) can transmit the search result to the user terminal (11) through the API authentication integration module (41).
[0135] Up to now, with reference to FIGS. 10 to 12, an asynchronous API call processing process in a service provision system (10) according to some embodiments of the present disclosure has been described. As described above, by providing the user with an asynchronous API in addition to a synchronous API, the user's satisfaction with the API service can be further improved.
[0136] Below, with reference to FIG. 13, the process of providing an API demo service in a service providing system (10) will be described.
[0137] Figure 13 illustrates the overall flow of the process in which an API demo service is provided. Figure 13 assumes that the user is a developer.
[0138] As illustrated in FIG. 13, a cloud management console (23) can receive a demo service request from a developer (i.e., a developer's terminal) (see ①). More specifically, a demo management console (34) can receive a demo service request including a demo API selected by the developer and analysis data.
[0139] Next, the demo API can be executed by the cloud management console (23) sending a call message for the demo API to the API manager (25) (see ②). More specifically, the demo management console (34) can obtain the execution result of the demo API by sending a call message for the demo API to the API endpoint (42) (i.e., requesting the execution of the demo API). Here, it can be understood that the reason the demo management console (34) sends the demo API call message to the API endpoint (42) is that procedures such as user authentication and permission checks are omitted for the demo API. That is, the API manager (25) can be configured not to require authentication information for the API requested (called) from the demo management console (34) (see that general API call messages are transmitted to the API authentication integration module (41)). For details of the API execution process, refer to the descriptions in FIGS. 5 to 12.
[0140] Next, the cloud management console (23) can provide the developer with the execution results of the demo API. That is, the demo management console (34) can provide the developer with the execution results of the demo API (e.g., the execution results are displayed on the screen of the developer's terminal).
[0141] Meanwhile, although not clearly illustrated in FIG. 13, if a manager (i.e., a development manager) requests a specific API (or API product), a demo service may be provided for the requested API (or API product).
[0142] Up to this point, the process of providing API demo services in the service provision system (10) has been described with reference to FIG. 13. As described above, by providing demo services for various APIs, the user's right to choose API services can be guaranteed, and accordingly, user satisfaction can be further improved.
[0143] Hereinafter, with reference to FIG. 14, an exemplary computing device (140) capable of implementing the service providing system (10) described above will be described.
[0144] FIG. 14 is an exemplary hardware configuration diagram showing a computing device (140).
[0145] As illustrated in FIG. 14, a computing device (140) may include one or more processors (141), a bus (143), a communication interface (144), a memory (142) for loading a computer program (146) executed by the processor (141), and a storage (145) for storing the computer program (146). However, FIG. 14 illustrates only the components related to the embodiments of the present disclosure. Therefore, a person skilled in the art to which the present disclosure belongs will understand that other general-purpose components may be included in addition to the components illustrated in FIG. 14. That is, the computing device (140) may include various additional components in addition to the components illustrated in FIG. 14. Furthermore, depending on the case, the computing device (140) may be configured in a form in which some of the components illustrated in FIG. 14 are omitted. Each component of the computing device (140) will be described below.
[0146] The processor (141) can control the overall operation of each component of the computing device (140). The processor (141) may be configured to include at least one of a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), NPU (Neural Processing Unit), or any form of processor well known in the art of the present disclosure. Additionally, the processor (141) may perform operations for at least one application or program for executing operations / methods according to embodiments of the present disclosure. The computing device (140) may have one or more processors.
[0147] Next, the memory (142) may store various data, commands and / or information. The memory (142) may load a computer program (146) from storage (145) to execute an operation / method according to embodiments of the present disclosure. The memory (142) may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.
[0148] Next, the bus (143) can provide communication functions between components of the computing device (140). The bus (143) can be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
[0149] Next, the communication interface (144) may support wired and wireless internet communication of the computing device (140). Additionally, the communication interface (144) may support various communication methods other than internet communication. To this end, the communication interface (144) may be configured to include a communication module well known in the art of the present disclosure.
[0150] Next, the storage (145) may store one or more computer programs (146) non-temporarily. The storage (145) may be configured to include non-volatile memory such as ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, a hard disk, a removable disk, or any form of computer-readable recording medium well known in the art to which this disclosure belongs.
[0151] Next, the computer program (146) may include instructions that cause the processor (141) to perform an operation / method according to various embodiments of the present disclosure when loaded into memory (142). That is, the processor (141) can perform an operation / method according to various embodiments of the present disclosure by executing the instructions loaded into memory (142).
[0152] For example, the computer program (146) may include instructions to perform operations such as receiving a call message for a specific API from a user's terminal without going through the control plane to which the cloud management console (23) belongs, performing authentication of the user using the authentication information of the call message, obtaining an execution result for the specific API through the API execution engine (26) when authentication is successfully performed, and providing the obtained execution result to the user's terminal (11).
[0153] As another example, a computer program (146) may include instructions to perform at least some of the operations / steps described with reference to FIGS. 1 through 13.
[0154] In the case of the above examples, a service providing system (10) according to some embodiments of the present disclosure can be implemented through a computing device (140).
[0155] Meanwhile, in some embodiments, the computing device (140) illustrated in FIG. 14 may refer to a virtual machine implemented based on cloud technology. For example, the computing device (140) may be a virtual machine running on one or more physical servers included in a server farm. In this case, at least some of the processor (141), memory (142), and storage (145) illustrated in FIG. 14 may be virtual hardware, and the communication interface (144) may also be implemented as a virtualized networking element such as a virtual switch.
[0156] Up to now, with reference to FIG. 14, an exemplary computing device (140) capable of implementing a service provision system (10) according to some embodiments of the present disclosure has been described.
[0157] Various embodiments of the present disclosure and effects according to those embodiments have been described with reference to FIGS. 1 to 14. The effects according to the technical concept of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description below.
[0158] Furthermore, just because the above embodiments describe a plurality of components being combined into one or operating in combination, the technical concept of the present disclosure is not necessarily limited to these embodiments. That is, within the scope of the purpose of the technical concept of the present disclosure, all such components may be selectively combined into one or more combinations to operate.
[0159] The technical concept of the present disclosure described above may be implemented as computer-readable code on a computer-readable recording medium. A computer program recorded on a computer-readable recording medium may be transmitted to another computing device via a network such as the Internet and installed on said computing device, thereby being used on said computing device.
[0160] Although operations are depicted in a specific order in the drawings, it should not be understood that the operations must necessarily be executed in the specific order depicted or in a sequential order, or that all depicted operations must be executed to obtain the desired result. In certain situations, multitasking and parallel processing may be advantageous. Although various embodiments of the present disclosure have been described above with reference to the attached drawings, those skilled in the art will understand that the technical concept of the present disclosure may be implemented in other specific forms without altering the technical concept or essential features thereof. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. The scope of protection of the present disclosure shall be interpreted by the claims below, and all technical concepts within the equivalent scope shall be interpreted as being included within the scope of rights of the technical concept defined by the present disclosure.
Claims
Claim 1 A cloud-based API service providing system comprising: a cloud management console belonging to the control plane that issues authentication information for a requested API among a plurality of APIs (Application Programming Interfaces); an API authentication module belonging to the control plane that performs authentication for a called API; an API manager that receives a call message for a specific API including authentication information issued by the cloud management console from a user terminal, receives an authentication result using the authentication information of the call message from the API authentication module through interaction with the API authentication module, and requests the execution of the specific API based on the result - the call message is received by the API manager belonging to the data plane without passing through the control plane -; and an API execution engine that generates an execution result for the specific API in response to the request of the API manager. Claim 2 A cloud-based API service providing system according to claim 1, wherein the plurality of APIs include APIs related to AI (Artificial Intelligence)-based character recognition, AI-based text analysis, and AI-based image analysis functions. Claim 3 In claim 1, the specific API is an API related to data analysis functions, and the API execution engine is a cloud-based API service providing system running on a GPU (Graphic Processing Unit) based worker node. Claim 4 delete Claim 5 A cloud-based API service providing system according to claim 1, further comprising a user management module belonging to the control plane, wherein the API manager checks the user's usage rights to the specific API in conjunction with the user management module, and requests the execution of the specific API based further on the check result. Claim 6 In claim 1, the specific API is an API related to a data analysis function, and the API manager downloads analysis data from storage and transmits the analysis data to the API execution engine, a cloud-based API service providing system. Claim 7 A cloud-based API service providing system according to claim 1, wherein the API manager comprises: an API authentication integration module that performs the authentication in conjunction with the control plane; a job manager that creates a job for the specific API based on the call message and inserts it into a queue; and an API execution request module that retrieves the job from the queue and requests the API execution engine to execute the specific API. Claim 8 In claim 7, the above job manager comprises: a job management module that creates a job for the specific API and issues an ID of the job; and a job status check module that checks the processing status of the job using the ID of the job in a polling manner, a cloud-based API service providing system. Claim 9 In claim 8, the job management module receives an execution result for the specific API from the API execution request module and stores it in a database, and updates the processing status of the job to a completed state, and the job status check module obtains the execution result from the database when the processing status of the job is a completed state and transmits the execution result to the user's terminal, a cloud-based API service providing system. Claim 10 A cloud-based API service providing system according to claim 1, wherein the API manager comprises: an API authentication integration module that performs the authentication in conjunction with the control plane; a job manager that creates a job for the specific API based on the call message; and an API execution request module that separates the job into task units according to preset criteria and requests the API execution engine to execute the specific API in task units. Claim 11 In claim 10, the specific API is an API regarding a data analysis function, and the API execution request module validates the job based on at least one of the size, extension, and filename of the analysis data file, and if the job is valid, processes the job by separating it into task units, a cloud-based API service providing system. Claim 12 In claim 10, the specific API is an API regarding a data analysis function, and the API execution request module is a cloud-based API service providing system that separates the job into task units based on the number of files or pages of the analysis data. Claim 13 In claim 1, the API manager comprises: an API authentication integration module that performs the authentication in conjunction with the control plane; a job manager that creates a job for the specific API based on the call message; and an API execution request module that requests the execution of the specific API from the API execution engine to process the job, and the job manager transmits the ID of the job to the user's terminal before the job is processed when the specific API is an asynchronous API, a cloud-based API service providing system. Claim 14 In paragraph 13, the above job manager receives an execution result for the specific API from the above API execution request module and uploads the execution result to storage accessible to the user's terminal, a cloud-based API service providing system. Claim 15 In paragraph 13, the API authentication integration module receives a query request including the ID of the job and authentication information for the specific API, authenticates the requester using the authentication information of the query request, and if the requester is authenticated, provides a query result for the ID of the job to the requester, wherein the query result includes processing status information of the job or execution result for the specific API, a cloud-based API service providing system. Claim 16 A cloud-based API service providing system according to claim 1, wherein the cloud management console includes a demo management console that provides a demonstration of the execution result for an API selected by a specific user among the plurality of APIs, the demo management console requests the API manager to obtain the execution result for the selected API, and the API manager is configured not to require authentication information for the API requested from the demo management console. Claim 17 A method for providing a cloud-based API service, comprising: a step of receiving a call message for a specific API (Application Programming Interface) from a user's terminal without passing through a control plane to which a cloud management console belongs, wherein the call message includes authentication information issued by the cloud management console; a step of receiving a result of authentication for the user from an API authentication module through interaction with an API authentication module belonging to the control plane, wherein the API authentication module performs the authentication using the authentication information of the call message; a step of obtaining an execution result for the specific API through an API execution engine when the authentication is successfully performed; and a step of providing the execution result to the user's terminal. Claim 18 In claim 17, the cloud management console issues authentication information for a plurality of APIs including the specific API, and the plurality of APIs include APIs related to AI (Artificial Intelligence)-based character recognition, AI-based text analysis, and AI-based image analysis functions, a method for providing a cloud-based API service. Claim 19 In claim 17, the specific API is an API regarding data analysis functions, and the API execution engine runs on a GPU (Graphic Processing Unit) based worker node, a cloud-based API service provision method. Claim 20 A computer program stored on a computer-readable recording medium to execute the steps of: receiving a call message for a specific API (Application Programming Interface) from a user's terminal without passing through a control plane to which a cloud management console belongs, combined with a computing device - said call message includes authentication information issued by said cloud management console -; receiving the result of authentication for said user from said API authentication module through interaction with an API authentication module belonging to said control plane - said API authentication module performs said authentication using the authentication information of said call message -; obtaining an execution result for said specific API through an API execution engine when said authentication is successfully performed; and providing said execution result to said user's terminal.