CPC H04M 3/5231 (2013.01) [G06Q 10/047 (2013.01); G06Q 10/06312 (2013.01); G06Q 10/06375 (2013.01); H04L 67/306 (2013.01); H04M 3/5183 (2013.01)] | 25 Claims |
1. A system for enhanced virtual queuing, comprising:
a computing device comprising a memory, a processor, and a non-volatile data storage device;
a machine learning algorithm operating on the computing device, the machine learning algorithm configured to predict wait times and low throughput times for a plurality of times within a time period for a plurality of virtual queues;
a queue manager comprising a first plurality of programming instructions stored in the memory which, when operating on the processor, causes the processor to:
request and receive predicted wait times and predicted low throughput times from a prediction module for each of the plurality of virtual queues;
receive requests to join a queue, each request comprising a requestor and contact information for the requestor;
assign each requestor to one of the plurality of virtual queues using the based in part on the predicted wait times;
send an initial update notification indicating the virtual queue assignment to the requestor using the contact information;
during each period of predicted low throughput times, request and receive queue load balancing from a queue load balancer module;
send periodic update notifications to each requestor based on reassignment of requestors among the plurality of virtual queues by the queue load balancer; and
the queue load balancer module comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the processor to:
continuously measure actual wait times across the plurality of virtual queues;
receive the request for queue load balancing from the queue manager;
calculate a current queue throughput for each of the plurality of virtual queues;
for each of the plurality of virtual queues, compare the current queue throughput to the predicted low throughput time to confirm that the current queue throughput is a low throughput time;
process the actual wait times for each of the plurality of virtual queues through the machine learning algorithm to predict revised wait times and low throughput times for a plurality of times within a time period for each of the plurality of virtual queues; and
reassign requestors among the plurality of virtual queues to minimize wait times across the plurality of virtual queues; and
the prediction module comprising a third plurality of programming instructions stored in the memory which, when operating on the processor, causes the processor to:
retrieve historical data for each of the plurality of virtual queues;
process the historical data for each of the plurality of virtual queues through the machine learning algorithm to predict wait times and low throughput times for a plurality of times within a time period for each of the plurality of virtual queues; and
send the predicted wait times to the queue manager.
|