User oriented penalty count random rejection of electronic messages
View Patent ↗A method and system for managing electronic mail (email) based on a user oriented penalty count (PC) random rejection. The invention determines a threshold for a specific user and assesses a cumulative PC for usage of a resource that exceeds the user specific threshold. Different operating states are determined based on a status associated with the resource. In a normal operating state, virtually all sent email is processed. In a selective-rejection state, sent email from a user with a cumulative PC is rejected randomly, while others are processed. In a random-rejection state, sent email from a user without a cumulative PC is randomly rejected based on a resource usage factor and an adjustment multiplier, while sent email from a user with a cumulative PC is completely rejected. The user may be assigned an exempt status that enables processing of virtually all email from the user independent of user's PC.
1. A method for managing an electronic message, comprising:
determining a threshold based, in part, on an identity associated with a user;
determining a cumulative penalty count based, in part, on a usage of a resource by the user and the threshold; and
managing the message sent by the user, wherein the managing comprises determining whether to reject the message based, in part, on the cumulative penalty count and a status associated with the resource, and rejecting the message if the determination of whether to reject the message is affirmative.
2. The method of claim 1 , wherein the identity further comprises at least one of an IP address of a client device and an email address employed by the user.
3. The method of claim 1 , wherein determining the cumulative penalty count further comprises:
assessing a penalty count based, in part, on the usage of the resource by the user exceeding the threshold, wherein the threshold is associated with at least one of a size of a message sent by the user, a number of messages sent by the user, and connection time of the user to a message server;
reducing the penalty count by a decay factor; and
accumulating the penalty count for each resource.
4. The method of claim 3 , further comprising assigning an exempt status to the user and exempting the user from receiving penalty counts for usage of the resource.
5. The method of claim 3 , wherein the decay factor is determined based on a time between two updates of the status and a predetermined retention period.
6. The method of claim 1 , wherein the status is determined based on at least one of a number of a maintained TCP connection, a number of messages in a queue of received messages, and an amount of used storage space.
7. The method of claim 1 , further comprising determining an operating state based, in part, on the status, wherein the operating state includes one of a normal operating state, a selective-rejection state, and a random-rejection state.
8. The method of claim 7 , wherein managing the message in the normal operating state further comprises enabling virtually all sent messages from virtually all users to be processed.
9. The method of claim 7 , wherein managing the message in the selective rejection state further comprises:
if the cumulative penalty count is about zero for the user, allowing virtually all sent messages by that user to be processed; and
if the cumulative penalty count is greater than about zero for the user:
determining a rejection factor base 4 in part, on the cumulative penalty count;
generating a random number; and
rejecting the message sent by that user based, in part, on a comparison of the rejection factor and the random number.
10. The method of claim 7 , wherein managing the message in the random-rejection state further comprises:
if the cumulative penalty count is greater than about zero for the user, rejecting virtually all sent messages by that user; and
if the cumulative penalty count is about zero for the user:
determining a resource usage factor based, in part, on the usage of the resource;
generating a random number; and
rejecting the message sent by that user based, in part, on a comparison of the random number and a product of the resource usage factor with a predetermined adjustment multiplier for the user.
11. The method of claim 10 , wherein virtually all sent messages by the user are processed in the random-rejection state, if the adjustment multiplier is assigned a value of about zero.
12. A message server, comprising:
a transceiver configured to receive a message from a user;
a memory configured to store a threshold and a cumulative penalty count associated with the user; and
a processor configured to perform actions including:
determining the threshold based, in part, on an identity associated with the user;
determining the cumulative penalty count based, in part, on a usage of a resource by the user and the threshold; and
implementing a random rejection policy for the message sent by the user based, in part, on the cumulative penalty count and a status associated with the resource.
13. The message server of claim 12 , wherein the processor is further configured to determine the cumulative penalty count by performing actions including:
assessing a penalty count based, in part, on the usage of the resource by the user exceeding the threshold;
reducing the penalty count by a decay factor, wherein the decay factor is determined based on a time between two status updates and a predetermined retention period; and
accumulating penalty counts for each resource.
14. The message server of claim 12 , wherein the penalty count is assessed for at least one of a size of a message sent by the user, a number of messages sent by the user, and connection time of the user to the message server.
15. The message server of claim 12 , wherein the processor is further configured to determine an operating state based, in part, on the status.
16. The message server of claim 15 , wherein the random rejection policy is implemented in a normal operating state by enabling virtually all sent messages to be processed.
17. The message server of claim 15 , wherein the processor is further configured to implement the random rejection policy in a selective-rejection state by performing actions including:
if the cumulative penalty count is about zero for the user, enabling virtually all sent messages by that user to be processed; and
if the cumulative penalty count is greater than about zero for the user:
determining a rejection factor based, in part, on the cumulative penalty count;
generating a random number; and
rejecting the message sent by that user based, in part, on a comparison of the rejection factor and the random number.
18. The message server of claim 15 , wherein the processor is further configured to implement the random rejection policy in a random-rejection state by performing actions including:
if the cumulative penalty count is greater than about zero for the user, rejecting virtually all sent messages by that user; and
if the cumulative penalty count is about zero for the user:
determining a resource usage factor based, in part, on the status;
generating a random number, and
rejecting the message sent by that user based, in part, on a comparison of the random number and a product of the resource usage factor with a predetermined adjustment multiplier.
19. A machine-readable storage medium comprising computer executable instructions configured to cause a computer to perform the actions of:
enabling a determination of an identity associated with a user and a threshold for the user based on the identity;
enabling a determination of a cumulative penalty count based, in part, on a usage of a resource by the user and the threshold;
enabling a determination of a status associated with the resource; and
enabling implementation of a random message rejection policy based, in part, on the cumulative penalty count for the user and the status.
20. A device managing an electronic message, comprising:
a means for receiving the message from a user;
a means for determining an identity associated with the user;
a means for determining a threshold for the user based on the identity;
a means for monitoring usage of a resource by the user and determining a cumulative penalty count based on the usage;
a means for determining a status associated with the resource; and
a means for implementing a random message rejection policy based, in part, on the cumulative penalty count for the user and the status.