×

System and method for equitable processing of asynchronous messages in a multi-tenant platform

  • US 10,506,024 B2
  • Filed: 12/04/2018
  • Issued: 12/10/2019
  • Est. Priority Date: 11/12/2014
  • Status: Active Grant
First Claim
Patent Images

1. A job processing system for processing asynchronous messages for multiple tenants in a multi-tenant platform, the system comprising:

  • at least one hardware processor;

    memory storing computer instructions, the computer instructions when executed by the at least one hardware processor configured to cause the at least one hardware processor to;

    receive by an input buffer a plurality of asynchronous messages, the plurality of asynchronous messages being associated with one or more tenants of multiple tenants in a multi-tenant platform, each asynchronous message of the plurality of asynchronous messages being associated with a particular tenant of the one or more tenants of the multiple tenants, each tenant of the multiple tenants having a tenant priority level;

    determine a current execution demand for each tenant of the one or more tenants of the multiple tenants;

    determine a message priority for each asynchronous message of the plurality of asynchronous messages based on the tenant priority level associated with the tenant associated with the asynchronous message and based on the current execution demand for the tenant associated with the asynchronous message;

    generate a decision whether to allow or to delay each asynchronous message of the plurality of asynchronous messages based on the message priority determined for the asynchronous message and on a current backlog;

    if the decision indicates to delay a particular asynchronous message of the plurality of asynchronous messages, deliver the particular asynchronous message to a delay buffer;

    if the decision indicates to allow the particular asynchronous message of the plurality of asynchronous messages, deliver the particular asynchronous message to an output buffer for the particular asynchronous message to wait its turn to be processed by the at least one hardware processor; and

    adjust the message priority of each asynchronous message in the delay buffer based on delay information.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×