The sequence diagram (below) details the participants on both the client and server needed to provide an AJAX progress bar. The details are explained in further detail in the remainder of this document.
Tracking the progress of a server-side operation by a client requires two operations which include: Negotiate a Task Id, and a Polling Loop.
Now let us review each of these operations in more detail.