IP Library Granted Patent US 10,795,987
Granted Patent B2
US 10,795,987 · App. 15/720,319 · Granted Oct 6, 2020

Rate-limiting API calls for an account in a customer-relationship-management system based on predicted abusive behavior

Inventors: Vivek Chopra (San Francisco, CA); Srikanth Veeraraghavan (San Francisco, CA); Arwen Twinkle E. Griffioen (Montmorency, AU); Hao Sun (Fremont, CA); David S. Liberman (San Francisco, CA); J. David Niergarth (Madison, WI); Indika D. Jayasinghe (Merced, CA); Lisa Friedman (San Francisco, CA)
Assignee: Zendesk, Inc.
G06F21/50G06F9/547G06F21/45G06F21/604G06K9/6267G06N20/00G06Q30/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 10,795,987
App. No.
15/720,319
Granted
Oct 6, 2020
Kind
B2
Abstract

The disclosed embodiments relate to a system that detects and controls operations performed by abusive accounts in a customer-relationship-management system. During operation, the system obtains account-related information for an account in the customer-relationship-management system. Next, the system determines a likelihood that the account is being used for abusive purposes based on the account-related information. Finally, the system limits a rate of processing for application-programming interface (API) calls made from the account to the customer-relationship-management system based on the determined likelihood that the account is being used for abusive purposes.

Claims (81)

1. A method for detecting and controlling operations performed by abusive accounts in a customer-relationship-management system, comprising:

obtaining account-related information for an account in the customer-relationship-management system;

determining a likelihood that the account is being used for intentionally abusive purposes based on the account-related information by:

using a classification model to classify the account as either good or abusive, and

using a regression model to produce a regression score, which indicates the likelihood that the account is being used for intentionally abusive purposes; and

limiting a rate of processing for application-programming interface (API) calls made from the account to the customer-relationship-management system based on the determined likelihood that the account is being used for intentionally abusive purposes, wherein the API is executing on a processor on the customer-relationship-management system.

2. The method of claim 1 , wherein the account-related information for the account includes one or more of the following:

operations performed by a user in preparation for setting up the account; and

behavior associated with the account over a lifetime of the account.

3. The method of claim 1 , wherein the account-related information for the account includes one or more of the following:

a name of an owner of the account;

an email address for the account;

a domain name system (DNS) subdomain associated with the account;

a name of a company associated with the account; and

a size of the company.

4. The method of claim 3 , wherein determining the likelihood that the account is being used for intentionally abusive purposes involves considering an edit distance between the DNS subdomain name associated with the account and an email domain name obtained from the email address for the account.

5. The method of claim 1 , wherein determining the likelihood that the account is being used for intentionally abusive purposes additionally involves considering operational parameters obtained from a data center that processes the API calls made from the account.

6. The method of claim 1 , wherein determining the likelihood that the account is being used for intentionally abusive purposes involves using a machine-learning model that operates on the account-related information to determine the likelihood.

7. The method of claim 6 , wherein prior to obtaining account-related information, the method further comprises training the machine-learning model by:

enabling accounts to be marked as abusive when the accounts are cancelled for fraud and abuse-related reasons;

enabling accounts to be marked as good accounts when the accounts are converted into paid accounts and the accounts were not cancelled for fraud and abuse-related reasons;

forming a training data set, which includes both abusive and good accounts;

training the machine-learning model using a first portion of the training data set; and

testing the trained machine-learning model using a second portion of the training data set.

8. The method of claim 1 , wherein limiting the rate of processing for the API calls made from the account involves one or more of the following:

limiting a number of API calls that are processed for the account in a given time interval;

disallowing the account to make API calls to the customer-relationship-management system;

limiting a number of emails sent by the customer-relationship-management system on behalf of the account;

preventing the account from using the customer-service system to generate customized emails;

preventing the account from using the customer-service system to generate help center content; and

preventing an owner of the account from creating additional accounts.

9. The method of claim 1 ,

wherein each account can be associated with multiple API tokens; and

wherein limiting the rate of processing for the API calls made from the account involves rate-limiting API calls associated with a specific API token associated with the account.

10. The method of claim 1 , wherein for each account, the method determines the likelihood that the account is being used for intentionally abusive purposes either at periodic intervals, or when specific events occur.

11. The method of claim 1 , wherein the customer-relationship-management system includes a ticketing system.

12. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for detecting and controlling operations performed by abusive accounts in a customer-relationship-management system, the method comprising:

obtaining account-related information for an account in the customer-relationship-management system;

determining a likelihood that the account is being used for intentionally abusive purposes based on the account-related information by:

using a classification model to classify the account as either good or abusive, and

using a regression model to produce a regression score, which indicates the likelihood that the account is being used for intentionally abusive purposes; and

limiting a rate of processing for application-programming interface (API) calls made from the account to the customer-relationship-management system based on the determined likelihood that the account is being used for intentionally abusive purposes.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the account-related information for the account includes one or more of the following:

operations performed by a user in preparation for setting up the account; and

behavior associated with the account over a lifetime of the account.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the account-related information for the account includes one or more of the following:

a name of an owner of the account;

an email address for the account;

a domain name system (DNS) subdomain associated with the account;

a name of a company associated with the account; and

a size of the company.

15. The non-transitory computer-readable storage medium of claim 14 , wherein determining the likelihood that the account is being used for intentionally abusive purposes involves considering an edit distance between the DNS subdomain name associated with the account and an email domain name obtained from the email address for the account.

16. The non-transitory computer-readable storage medium of claim 12 , wherein determining the likelihood that the account is being used for intentionally abusive purposes additionally involves considering operational parameters obtained from a data center that processes the API calls made from the account.

17. The non-transitory computer-readable storage medium of claim 12 , wherein determining the likelihood that the account is being used for intentionally abusive purposes involves using a machine-learning model that operates on the account-related information to determine the likelihood.

18. The non-transitory computer-readable storage medium of claim 17 , wherein prior to obtaining account-related information, the method further comprises training the machine-learning model by:

enabling accounts to be marked as abusive when the accounts are cancelled for fraud and abuse-related reasons;

enabling accounts to be marked as good accounts when the accounts are converted into paid accounts and the accounts were not cancelled for fraud and abuse-related reasons;

forming a training data set, which includes both abusive and good accounts;

training the machine-learning model using a first portion of the training data set; and

testing the trained machine-learning model using a second portion of the training data set.

19. The non-transitory computer-readable storage medium of claim 12 , wherein limiting the rate of processing for the API calls made from the account involves one or more of the following:

limiting a number of API calls that are processed for the account in a given time interval;

disallowing the account to make API calls to the customer-relationship-management system;

limiting a number of emails sent by the customer-relationship-management system on behalf of the account;

preventing the account from using the customer-service system to generate customized emails;

preventing the account from using the customer-service system to generate customized emails;

preventing the account from using the customer-service system to generate help center content; and

preventing an owner of the account from creating additional accounts.

20. The non-transitory computer-readable storage medium of claim 12 ,

wherein each account can be associated with multiple API tokens; and

wherein limiting the rate of processing for the API calls made from the account involves rate-limiting API calls associated with a specific API token associated with the account.

21. The non-transitory computer-readable storage medium of claim 12 , wherein for each account, the method determines the likelihood that the account is being used for intentionally abusive purposes either at periodic intervals, or when specific events occur.

22. The non-transitory computer-readable storage medium of claim 12 , wherein the customer-relationship-management system includes a ticketing system.

23. A system that detects and controls operations performed by abusive accounts in a customer-relationship-management system, comprising:

at least one processor and at least one associated memory; and

a customer-relationship-management system that executes on the at least one processor and includes a rate-limiting mechanism, wherein during operation, the rate-limiting mechanism:

obtains account-related information for an account in the customer-relationship-management system;

determines a likelihood that the account is being used for intentionally abusive purposes based on the account-related information by:

using a classification model to classify the account as either good or abusive, and

using a regression model to produce a regression score, which indicates the likelihood that the account is being used for intentionally abusive purposes; and

limits a rate of processing for application-programming interface (API) calls made from the account to the customer-relationship-management system based on the determined likelihood that the account is being used for intentionally abusive purposes.

Assignments (2)
SECURITY INTEREST Recorded Nov 22, 2022
From: ZENDESK, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061850/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: CHOPRA, VIVEK; VEERARAGHAVAN, SRIKANTH; GRIFFIOEN, ARWEN TWINKLE E.; SUN, HAO; LIBERMAN, DAVID S.; NIERGARTH, J. DAVID; JAYASINGHE, INDIKA D.; FRIEDMAN, LISA
To: ZENDESK, INC.
Reel/Frame 044011/0356 →
Continuity (1)
Related Publication 20190102536A1 · Apr 4, 2019
Cited By (1)
US 12,493,689