...
The core of this feature is a new table containing listing all of the calls to that will be throttled.
THROTTLE_ID bigint PRIMARY KEY,
NORMALIZED_API varchar(STRING256) uniqueness constraint
MAX_LOCKS(INT)
TIMEOUT_SECONDS(BIG_INT)
EXPIRATION
This table would contain the api calls that administrators would want to throttle, the maximum number of calls per period, and the period of time after which the max calls would reset.
UserThrottleFilter will have a in-memory cached version of this table. It would periodically check the THROTTLED_CALLS table and update its cached version to reflect the information in the database.
...