IP Library Granted Patent US 11,449,909
Granted Patent B2
US 11,449,909 · App. 16/751,639 · Granted Sep 20, 2022

Customizable formula based dynamic API evaluation using a database system

Inventors: Dinesh Weerapurage (San Francisco, CA); Lahiru Pileththuwasan Gallege (Knoxville, TN); Kenneth Cavagnolo (Knoxville, TN); Chris Groer (Knoxville, TN); Abraham Reyes (Atlanta, GA)
Assignee: salesforce.com, inc.
G06Q30/0283H04L41/5051H04L67/01
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,449,909
App. No.
16/751,639
Granted
Sep 20, 2022
Kind
B2
Abstract

Described herein are systems, apparatus, methods and computer program products for implementing dynamic API cost models. The dynamic API cost models may determine the cost of usage of a specific API based on a plurality of factors, such as the value of the API to the client as well as the usage of computational resources and other factors.

Claims (80)

1. A computer-implemented method implemented in an on-demand computing services environment, the method comprising:

constructing, a plurality of application programming interface (API) cost models, each of the API cost models configured to utilize keywords as match rate inputs and weight the keywords to determine a match rate and configured to utilize request inputs to determine a usage cost;

receiving, at a server, a first message from a client machine via a communication interface, the first message including an API request associated with a computing service provided via the on-demand computing services environment, wherein the API request comprises first request inputs that includes one or more keywords;

parsing the API request to determine the first request inputs including the one or more keywords of the API request;

determining the match rates between the API request and each of the plurality of API cost models, the match rates determined based at least on the weighting of the one or more parsed keywords of the API request by each of the API cost models;

selecting one of the plurality of API cost models based on the match rate;

executing the API request with the selected API cost model;

determining a first usage cost for execution of the API request by the selected API cost model the selected API cost model utilizing one or more of the request inputs to determine the first usage cost; and

transmitting to the client machine via the communication interface a second message including the first usage cost.

2. The computer-implemented method of claim 1 , wherein the first message comprises a first indicator, and wherein the method further comprises:

parsing the first message to determine the first indicator, wherein the match rate is determined based on the first indicator.

3. The computer-implemented method of claim 2 , wherein the parsing the first message comprises scanning for one of a plurality of indicators, wherein the first indicator is one of the plurality of indicators, and wherein the method further comprises:

analyzing the API request based on the determining the first indicator.

4. The computer-implemented method of claim 3 , wherein the analyzing the API request comprises determining one or more of:

a service value to the client;

an amount of forecasted processing resources associated with the API request;

a location, local time, regulatory regime, and/or bandwidth associated with the client; and

a type of service associated with the API request.

5. The computer-implemented method of claim 1 , further comprising:

modifying, based on the API request, the selected API cost model, wherein the first usage cost is determined by applying the modified API cost model to the API request.

6. The computer-implemented method of claim 1 , further comprising:

receiving at the server a third message from a client machine via the communication interface, the third message including an updated API request associated with the computing service provided via the on-demand computing services environment;

determining that the third message indicates an update to the selected API cost model;

updating the selected API cost model based on the third message;

determining a second usage cost for execution of the updated API request by the updated API cost model; and

transmitting to the client machine via the communication interface a fourth message including the second usage cost.

7. The computer-implemented method of claim 1 , further comprising:

comparing the match rates between the API request and each of the plurality of API cost models to a threshold match rate; and

determining that the match rates between the API request and each of the plurality of API cost models is below the threshold match rate, wherein the API cost model selected is a default cost model.

8. The computer-implemented method of claim 1 , wherein the plurality of API cost models are each associated with a first client.

9. A computer program product comprising computer-readable program code capable of being executed by one or more processors in an on-demand computing services environment when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause operations comprising:

constructing, a plurality of application programming interface (API) cost models, each of the API cost models configured to utilize keywords as match rate inputs and weight the keywords to determine a match rate and configured to utilize request inputs to determine a usage cost;

receiving, at a server, a first message from a client machine via a communication interface, the first message including an API request associated with a computing service provided via the on-demand computing services environment, wherein the API request comprises first request inputs that includes one or more keywords;

parsing the API request to determine the first request inputs including the one or more keywords of the API request;

determining the match rates between the API request and each of the plurality of API cost models, the match rates determined based at least on the weighting of the one or more parsed keywords of the API request by each of the API cost models;

selecting one of the plurality of API cost models based on the match rate;

executing the API request with the selected API cost model;

determining a first usage cost for execution of the API request by the selected API cost model, the selected API cost model utilizing one or more of the request inputs to determine the first usage cost; and

transmitting to the client machine via the communication interface a second message including the first usage cost.

10. The computer program product of claim 9 , wherein the first message comprises a first indicator, and wherein the operations further comprise:

parsing the first message to determine the first indicator, wherein the match rate is determined based on the first indicator.

11. The computer program product of claim 10 , wherein the parsing the first message comprises scanning for one of a plurality of indicators, wherein the first indicator is one of the plurality of indicators, and wherein the operations further comprise:

analyzing the API request based on the determining the first indicator.

12. The computer program product of claim 11 , wherein the analyzing the API request comprises determining one or more of:

a service value to the client;

an amount of forecasted processing resources associated with the API request;

a location, local time, regulatory regime, and/or bandwidth associated with the client; and

a type of service associated with the API request.

13. The computer program product of claim 9 , wherein the operations further comprise:

modifying, based on the API request, the selected API cost model, wherein the selected usage cost is determined by applying the modified API cost model to the API request.

14. The computer program product of claim 9 , wherein the operations further comprise:

receiving at the server a third message from a client machine via the communication interface, the third message including an updated API request associated with the computing service provided via the on-demand computing services environment;

determining that the third message indicates an update to the selected API cost model;

updating the selected API cost model based on the third message;

determining a second usage cost for execution of the updated API request by the updated API cost model; and

transmitting to the client machine via the communication interface a fourth message including the second usage cost.

15. The computer program product of claim 9 , wherein the

comparing the match rates between the API request and each of the plurality of API cost models to a threshold match rate; and

determining that the match rates between the API request and each of the plurality of API cost models is below the threshold match rate, wherein the API cost model selected is a default cost model.

16. The computer program product of claim 9 , wherein the plurality of API cost models are each associated with a first client.

17. A computing system implemented using a server system implemented in an on-demand computing services environment, the computer system comprising:

a processor; and

a non-transitory memory comprising instructions stored thereon to cause execution of operations comprising:

constructing, a plurality of application programming interface (API) cost models, each of the API cost models configured to utilize keywords as match rate inputs and weight the keywords to determine a match rate and configured to utilize request inputs to determine a usage cost;

receiving, at a server, a first message from a client machine via a communication interface, the first message including an API request associated with a computing service provided via the on-demand computing services environment, wherein the API request comprises first request inputs that includes one or more keywords;

parsing the API request to determine the first request inputs including the one or more keywords of the API request;

determining the match rates between the API request and each of the plurality of API cost models, the match rates determined based at least on the weighting of the one or more parsed keywords of the API request by each of the API cost models;

selecting one of the plurality of API cost models based on the match rate;

executing the API request with the selected API cost model;

determining a first usage cost for execution of the API request by the selected API cost model, the selected API cost model utilizing one or more of the request inputs to determine the first usage cost; and

transmitting to the client machine via the communication interface a second message including the first usage cost.

18. The computing system of claim 17 , wherein the first message comprises a first indicator, and wherein the operations further comprise:

parsing the first message to determine the first indicator, wherein the match rate is determined based on the first indicator.

19. The computing system of claim 18 , wherein the parsing the first message comprises scanning for one of a plurality of indicators, wherein the first indicator is one of the plurality of indicators, and wherein the operations further comprise:

analyzing the API request based on the determining the first indicator.

20. The computing system of claim 19 , wherein the analyzing the API request comprises determining one or more of:

a service value to the client;

an amount of forecasted processing resources associated with the API request;

a location, local time, regulatory regime, and/or bandwidth associated with the client; and

a type of service associated with the API request.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2020
From: WEERAPURAGE, DINESH; GALLEGE, LAHIRU PILETHTHUWASAN; CAVAGNOLO, KENNETH; GROER, CHRIS; REYES, ABRAHAM
To: SALESFORCE.COM, INC.
Reel/Frame 051609/0838 →
Continuity (1)
Related Publication 20210233126A1 · Jul 29, 2021