| US 7,533,414 B1 | ||
| Detecting system abuse | ||
| Erik J. Reed, Dublin, Calif. (US); and Udi Manber, Palo Alto, Calif. (US) | ||
| Assigned to Yahoo! Inc., Sunnyvale, Calif. (US) | ||
| Filed on Mar. 17, 2004, as Appl. No. 10/803,473. | ||
| Int. Cl. G06F 11/00 (2006.01) | ||
| U.S. Cl. 726—22 [726/25; 709/225] | 21 Claims |

| 1. A system for identifying service abuse, comprising:
a plurality of server computers each adapted to receive an event and to create an event packet in response to the event;
a cluster host adapted to receive a plurality of event packets from at least a portion of the plurality of server computers
and to update a master screening table in response to the plurality of event packets,
wherein the cluster host is further adapted to communicate a local screening table comprising at least a portion of the master
screening table to each of the plurality of server computers, and each of the plurality of server computers is adapted to:
receive the local screening table from the cluster host;
receive an event requesting a service;
create an event identification associated with the event;
select a table entry from a plurality of table entries in the local screening table as a selected table entry, wherein the
selected table entry advances cyclically through the local screening table, and the selected table entry advances to a next
entry of the local screening table in response to the event identification not being present in the local screening table;
increment a first count value associated with a first table entry of the plurality of table entries in the local screening
table in response to the event identification matching an event identification associated with the first table entry;
decrement a second count value associated with the selected table entry of the plurality of table entries in response to the
event identification not being present in the local screening table;
replace the selected table entry with the event identification associated with the received event in response to the second
count value equaling a predetermined value; and
determine a metric value for the event from the local screening table, the metric value indicating that the event is an abusive
request.
|