Rate limiting in a moderation framework of a database system
First Claim
1. A rate-limiting method for a database system that implements a main database and implements a public community feed that enables members of the public community to post items to the feed over a network, to moderate the posting of items to the feed, the method comprising the steps of:
- creating a set of at least one rate-limiting rule associated with the public community feed;
wherein the rate-limiting rule specifies a type of user, a repeating time interval, an item count limit, and an action;
storing the set of rate-limiting rules in a cache system in the database system outside of the main database;
selecting and loading at least one of the rate-limiting rules from the cache system for execution, wherein execution of the selected rule includes—
provisioning a tracker for the repeating time interval, wherein the tracker is implemented in the cache system outside of the main database, and the tracker is configured to automatically track the number of items posted to the feed during each time interval by each user of the specified type, utilizing windowed counters so as to reset each user'"'"'s posted item count upon expiration of each time interval, each windowed counter utilizing a time bucket field based on the repeating time interval; and
upon detecting that a first user'"'"'s posted count meets or exceeds the item count limit in the selected rule, executing the action specified in the rule with regard to the first user.
2 Assignments
0 Petitions
Accused Products
Abstract
Some external users in a public on-line community may post excessive numbers of items, causing annoyance to others and unnecessary loading on database resources. A robust moderation framework enables an individual community moderator or admin to specify a set of rules and actions to mitigate this problem. Scalable, performant rate limiting rules employ windowed counters, separately for each rule, with the counters maintained in cache memory resources outside the main database.
189 Citations
20 Claims
-
1. A rate-limiting method for a database system that implements a main database and implements a public community feed that enables members of the public community to post items to the feed over a network, to moderate the posting of items to the feed, the method comprising the steps of:
-
creating a set of at least one rate-limiting rule associated with the public community feed;
wherein the rate-limiting rule specifies a type of user, a repeating time interval, an item count limit, and an action;storing the set of rate-limiting rules in a cache system in the database system outside of the main database; selecting and loading at least one of the rate-limiting rules from the cache system for execution, wherein execution of the selected rule includes— provisioning a tracker for the repeating time interval, wherein the tracker is implemented in the cache system outside of the main database, and the tracker is configured to automatically track the number of items posted to the feed during each time interval by each user of the specified type, utilizing windowed counters so as to reset each user'"'"'s posted item count upon expiration of each time interval, each windowed counter utilizing a time bucket field based on the repeating time interval; and upon detecting that a first user'"'"'s posted count meets or exceeds the item count limit in the selected rule, executing the action specified in the rule with regard to the first user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for moderating items posted in a network operating within a database system, comprising:
-
a hardware processor; and memory storing one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of— displaying a rate limiting rule template to selectively associate a rate limiting rule with the network, the rule limiting the rate at which items can be posted in the network; displaying in the rule template one or more user criteria lists to selectively associate with the rule, the user criteria lists identifying types of users associated with the network; displaying in the rule template one or more rule conditions to selectively associate with the rule, the rule conditions selecting at least one type of items to which the rule applies; displaying in the rule template one or more content criteria lists to selectively associate with the rule, the content criteria lists identifying content to which the rule applies; displaying in the rule template input fields for entering a rate limit, the rate limit comprising a repeating time interval and an associated item count limit; displaying one or more actions in the rule template to selectively associate with the rule, the specified action(s) to be applied when the item count limit of the rule is met or exceeded within the associated repeating time interval; storing the rate limiting rule as created or modified by inputs to the rule template; provisioning a tracker for the repeating time interval of the rate limiting rule; and configuring the tracker to automatically track the number of items posted in the network during each time interval by a user of a specified type, with one or more windowed counters that reset the user'"'"'s posted item count upon expiration of each time interval, each windowed counter utilizing a time bucket field based on the repeating time interval. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A moderation platform for moderating items to be posted in a network operating within a database system, comprising:
-
user profiles stored in the database system to identify user categories for users belonging to the network; one or more user criteria lists stored in the database system, the user criteria lists identifying at least one of the user categories; one or more content criteria lists stored in the database system, the content criteria lists identifying selected content; one or more rate-limiting rules to control the rates at which a user may post items to a community in the network; a rule template to create or edit rate-limiting rules, the rule template including; a user criteria field to display the user criteria lists and receive selections of the displayed user criteria lists to link to the rate-limiting rules, a rule criteria field to display and receive selections of types of items to be subject to the rules, a content criteria field to display and receive selections of the displayed content lists to incorporate into the rules, a rate limit field to receive selections of a repeating time interval and associated count limit value, and an action field to display actions and receive selections of the actions to associate with the rate-limiting rules, wherein the rate-limiting rules as defined by the template are stored in the database system; a rule controller to select applicable rules, and to apply the corresponding actions based on a user'"'"'s posting activity meeting the criteria of a selected rule; and a tracker for the repeating time interval of each of the one or more rate-limiting rules, each tracker configured to automatically track the number of items posted to the community during each time interval by a user of a specified category, with one or more windowed counters that reset the user'"'"'s posted item count upon expiration of each time interval, each windowed counter utilizing a time bucket field based on the repeating time interval. - View Dependent Claims (19, 20)
-
Specification