×

Systems and techniques for utilizing resource aware queues and/or service sharing in a multi-server environment

  • US 10,452,997 B2
  • Filed: 11/30/2015
  • Issued: 10/22/2019
  • Est. Priority Date: 12/10/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for servicing requests in an environment having multiple application servers each having multiple queues to store at least indications of requests to be serviced by the application servers, wherein the queues have different priorities, the method comprising:

  • determining, with one or more processors corresponding to the multiple application servers, a first utilization level for a first application server of the multiple application servers, wherein the first utilization level indicates utilization of one or more resources of the first application server;

    maintaining, with the one or more processors, a directory of utilization information received from other application servers within the environment, wherein the directory includes a list of healthy application servers of the multiple application servers to which request can be sent when a selected server has reached a workload threshold, wherein the list of healthy application servers is based on utilization information from the multiple application servers;

    pushing, by the first application server, information related to the first utilization level at random intervals to one or more randomly chosen application servers of the multiple application servers to at least update the list of healthy application servers;

    receiving, from at least one of the multiple application servers, utilization information for one or more application servers of the multiple application servers to at least update the list of healthy application servers;

    determining, with the one or more processors, the first application server is on the healthy list and should service one or more requests allocated to other application servers of the multiple application servers based on the first utilization level and utilization information received from the other application servers based, at least in part, on the directory of utilization information in the first application server;

    pulling, based on the determining, by the first application server a request allocated to a second application server of the multiple application servers, wherein said pulling comprises identifying the pulled request by walking a queue of the multiple queues of the second application server in accordance with a modified first-in-first-out (FIFO) strategy, including skipping one or more requests in the queue having an associated predicted cost deemed too expensive to be processed by the first application server based on current conditions of the first application server; and

    servicing, by the first application server, the pulled request.

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