Enforcing resource quota in mail transfer agent within multi-tenant environment
First Claim
Patent Images
1. A method executed on a computing device for enforcing a resource quota in a mail transfer agent (MTA) within a multi-tenant environment, the method comprising:
- detecting an email associated with a tenant and an excess email volume indicator;
deriving a first decision based on evaluating the email against a queue quota associated with the tenant;
deriving a second decision based on evaluating an association between attributes of the email and attributes of an email storm;
deriving a third decision based on evaluating the email against a processing quota associated with the tenant by;
determining, through a processor resource associated with the processing quota, a first percentage of available threads assigned to the tenant and a second percentage of the available threads assigned to at least one user of the tenant, and keeping the email within a queue in response to determining the first percentage to be less than the second percentage; and
managing the email based on a cross MTA aggregate of usage information associated with the first decision, the second decision, and the third decision, whereinthe available threads are dynamically adjusted based on a number of tenants using the available threads through the processor resource, andthe first percentage and the second percentage of the available threads is multiplied by an increase factor to allocate additional resources for both the tenant and the at least one user of the tenant using the processing quota.
2 Assignments
0 Petitions
Accused Products
Abstract
An application such as a mail transfer agent (MTA) enforces a resource quota within a multi-tenant environment. An email associated with a tenant is managed based on decisions evaluating the email against a queue quota and an association between the email and an email storm. The email is also managed based on another decision evaluating the email against a processing quota. In addition, the email is managed based on a cross MTA aggregate of usage information associated with the first, second, and third decisions.
12 Citations
16 Claims
-
1. A method executed on a computing device for enforcing a resource quota in a mail transfer agent (MTA) within a multi-tenant environment, the method comprising:
-
detecting an email associated with a tenant and an excess email volume indicator; deriving a first decision based on evaluating the email against a queue quota associated with the tenant; deriving a second decision based on evaluating an association between attributes of the email and attributes of an email storm; deriving a third decision based on evaluating the email against a processing quota associated with the tenant by; determining, through a processor resource associated with the processing quota, a first percentage of available threads assigned to the tenant and a second percentage of the available threads assigned to at least one user of the tenant, and keeping the email within a queue in response to determining the first percentage to be less than the second percentage; and managing the email based on a cross MTA aggregate of usage information associated with the first decision, the second decision, and the third decision, wherein the available threads are dynamically adjusted based on a number of tenants using the available threads through the processor resource, and the first percentage and the second percentage of the available threads is multiplied by an increase factor to allocate additional resources for both the tenant and the at least one user of the tenant using the processing quota. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device for enforcing a resource quota in a mail transfer agent (MTA) within a multi-tenant environment, the computing device comprising:
-
a memory configured to store instructions; and a processor coupled to the memory, the processor executing the MTA in conjunction with the instructions stored in the memory, wherein the MTA is configured to; detect an email associated with a tenant and an excess email volume indicator; derive a first decision based on evaluating the email against a queue quota assigned to the tenant; derive a second decision based on evaluating an association between attributes of the email and attributes of an email storm; evaluate the email against a processor resource of the one or more resources and an email resource of the one or more resources, wherein the email resource is associated with a processing quota assigned to the tenant; derive a third decision based on the evaluation of the email against the processing quota assigned to the tenant by; determine, through the processor resource associated with the processing quota, a first percentage of available threads assigned to the tenant and a second percentage of the available threads assigned to at least one user of the tenant, and keep the email within a queue in response to determining the first percentage to be less than the second percentage; and manage the email based on a cross MTA aggregate of usage information associated with the first decision, the second decision, and the third decision, wherein the available threads are dynamically adjusted based on a number of tenants using the available threads through the processor resource, and the first percentage and the second percentage of the available threads is multiplied by an increase factor to allocate additional resources for both the tenant and the at least one user of the tenant using the processing quota. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable memory device with instructions stored thereon for enforcing a resource quota in a mail transfer agent (MTA) within a multi-tenant environment, the instructions, when executed on a processor of a computing device configured to manage email exchange, cause the processor to perform actions that include:
-
detecting an email associated with a tenant and an excess email volume indicator; evaluating the email against a queue including at least one of;
an inbound queue and an outbound queue associated with a queue quota assigned to the tenant;deriving a first decision based on evaluating the email against a queue quota assigned to the tenant; deriving a second decision based on evaluating an association between attributes of the email and attributes of an email storm; evaluating the email against a processor resource of the one or more resources and a memory resource of the one or more resources, wherein the memory resource is associated with a processing quota assigned to the tenant; deriving a third decision based on evaluating the email against the processing quota assigned to the tenant by; determining, through the processor resource associated with the processing quota, a first percentage of available threads assigned to the tenant and a second percentage of the available threads assigned to at least one user of the tenant, and keeping the email within a queue in response to determining the first percentage to be less than the second percentage; and managing the email based on a cross MTA aggregate of usage information associated with the first decision, the second decision, and the third decision wherein the available threads are dynamically adjusted based on a number of tenants using the available threads through the processor resource, and the first percentage and the second percentage of the available threads is multiplied by an increase factor to allocate additional resources for both the tenant and the at least one user of the tenant using the processing quota. - View Dependent Claims (14, 15, 16)
-
Specification