9836339

Application Programming Interface as a Service

PublishedDecember 5, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for providing an application programming interface (API) as a service, comprising: determining that a request to set up the service is authorized; receiving a set of computer instructions and configuration information for the computer instructions, the set of computer instructions processing invocations of the API when executed; creating the API from the received set of computer instructions and configuration information by determining a number and type of virtual machine (VM) instance to execute at least a part of the set of the received computer instructions to process invocations of the API based at least in part on the configuration information; executing at least the part of the computer instructions on a VM instance having the determined type; and processing invocations of the API based at least in part on an API call made to the service with the at least part of the computer instructions being executed on the VM instance.

2

2. The method of claim 1 , further comprising: executing at least a second part of the computer instructions on a second VM instance in response to determining that an amount of processing associated with processing calls according to the API on the VM instance is above a predetermined threshold.

3

3. A system, comprising: a processor; and a memory communicatively coupled to the processor when the system is operational, the memory bearing processor-executable instructions that, upon execution by the processor, cause the system to at least: receive a set of computer instructions and metadata about the computer instructions, the set of computer instructions corresponding to an application programming interface (API); create the API from the received set of computer instructions and metadata by determining a type of virtual machine (VM) instance to execute at least a part of the set of computer instructions based at least in part on the metadata; execute at least the part of the computer instructions on a VM instance having the determined type; and process an API call made to the service with the at least part of the computer instructions being executed on the VM instance.

4

4. The system of claim 3 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: limit an amount of calls according to the API that are processed to below a predetermined threshold.

5

5. The system of claim 3 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: execute at least a second part of the computer instructions on a second VM instance; and operate a load balancer configured to balance load among the VM instance and the second VM instance in processing calls according to the API.

6

6. The system of claim 3 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: execute at least a second part of the computer instructions on a second VM instance in response to determining that an amount of processing associated with processing calls according to the API on the VM instance is above a predetermined threshold.

7

7. The system of claim 6 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: determine the predetermined threshold based on the metadata.

8

8. The system of claim 3 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: determine to process the API call based at least in part on an identity of an entity that originated the API call and authorization information indicated in the metadata.

9

9. The system of claim 8 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: determine to process the API call based at least in part on a subnet or security group associated with the entity that originated the API call.

10

10. The system of claim 3 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: determine the type of VM instance to execute at least the part of the set of computer instructions based at least in part on a software process or library that the VM instance is configured to execute, the part of the set of computer instructions utilizing the software process or library during execution.

11

11. The system of claim 10 , wherein the memory further bears processor-executable instructions that, upon execution by the processor, cause the system to at least: determine the type of VM instance to execute at least the part of the set of computer instructions based at least in part on a computer language of the set of computer instructions.

12

12. A non-transitory computer-readable storage medium bearing computer-executable instructions that, upon execution by a computing node, cause the computing node to perform operations comprising: receiving a set of computer instructions and metadata about the computer instructions, the set of computer instructions corresponding to an application programming interface (API); creating the API from the received set of computer instructions and metadata by determining a type of virtual machine (VM) instance to execute at least a part of the set of computer instructions based at least in part on the metadata; executing at least the part of the computer instructions on a VM instance having the determined type; and processing an API call made to the service with the at least part of the computer instructions being executed on the VM instance.

13

13. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: receiving a request to update the set of computer instructions independent of an identification of the VM instance; and in response to determining that at least the part of the set of computer instructions executes on the VM instance, updating at least the part of the set of computer instructions executes on the VM instance.

14

14. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: determining a validation test for the VM instance from the metadata; and setting a load balancer not to balance load to the VM instance upon determining that the VM instance fails the validation test.

15

15. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: setting a domain name service (DNS) configuration associated with the VM instance based on the metadata.

16

16. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: setting a network hostname associated with the VM instance based on the metadata.

17

17. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: setting a network port that the VM instance listens on for calls according to the API based on the metadata.

18

18. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: storing information about one or more calls according to the API made to the VM instance, the information indicating an identity of an entity that made the one or more calls, or a time at which the one or more calls were made.

19

19. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: raising an alert that indicates that an amount of processing by the VM instance associated with processing the API call is above a predetermined threshold, or that the API call was originated by an entity that was not authorized to originate the API call.

20

20. The non-transitory computer-readable storage medium of claim 12 , further bearing computer-executable instructions that, upon execution by the computing node, cause the computing node to perform operations comprising: terminating executing at least the part of the computer instructions on the VM instance in response to determining that a predetermined condition indicated in the metadata has been reached.

Patent Metadata

Filing Date

Unknown

Publication Date

December 5, 2017

Inventors

Ross Bevan Engers
Jaco Hermanus Gabriel Le Roux

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “APPLICATION PROGRAMMING INTERFACE AS A SERVICE” (9836339). https://patentable.app/patents/9836339

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.