Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Fast queuing is enabled for Token_lvl1.
  2. Alice takes 5 licenses of Token_lvl1.
  3. Bob wants 5 licenses of Token_lvl1. There are not enough licenses available. He goes to the Token_lvl1 queue.
  4. Charlie wants 3 licenses. He also goes to the queue.
  5. Alice returns 4 of her 5 Token_lvl1 licenses.
  6. Bob still wants 5 licenses of Token_lvl1. But There are not enough licenses available.
  7. Charlie wants only 3 licenses of Token_lvl1, but he is not first in the queue. Fortunately, fast queueing is enabled for Token_lvl1. Charlie gets 3 licenses.

...

Exception

Queuing token based-licenses generally does not affect its dependency queues; however, the following examples illustrate exceptions to this generality. We’ll continue using the same example setup as we used above.

Example 1

The following example illustrates such a standard case, where successful token checkout removes does not remove the dependency from the queue.

  1. Alice takes 4 3 licenses of Token_lvl1.
  2. Bob takes 6 2 licenses of ProductToken_lvl1.
  3. Charlie wants 4 2 licenses of Token_lvl1, but there are no licenses available. Charlie goes to the Token_lvl1 queue.
  4. Charlie also wants 24 12 licenses of Product. There , but there are no licenses available, so he goes to the Product queue. Charlie is now in two queues: Token_lvl1 queue and Product queue.Alice wants 6 licenses of Product, but no licenses are available. Alice goes to the Product queue.
  5. Alice Bob returns 4 his 2 licenses of Token_lvl1.
  6. Charlie takes 4 2 licenses of Token_lvl1 . This removes him from and exits the Token_lvl1 queue.
  7. Charlie is still wants 12 licenses of Product, but there are no licenses available. He remains in the Product queue.
  8. Charlie continues to remain in the Product queue, because when Alice returns her Token_lvl1 licenses, Charlie will be able to get the requested 12 Product licenses, but now it’s impossible for him to take any Product license, because he already has 24 of them through the Token_lvl1, and he requested 24 more. This is more than Product has; therefore, Charlie is also removed from the Product queue.

The client is removed from the token dependency queue only when the total number of token dependency licenses minus the number of licenses in use by the client has in use is less than the client's requested number of licenses that are in the token dependency queue.

Example 2

The following example illustrates such a case, where successful token checkout does not remove removes the dependency from the queue. 

  1. Alice takes 3 4 licenses of Token_lvl1.
  2. Bob takes 2 6 licenses of Token_lvl1Product.
  3. Charlie wants 2 4 licenses of Token_lvl1, but there are no licenses available. Charlie goes to the Token_lvl1 queue.
  4. Charlie also wants 24 licenses of Product. There are no licenses available, so he goes to the Product queue.
  5. Charlie is now in two queues: Token_lvl1 queue and Product queue.
  6. Alice wants 6 wants 12 licenses of Product, but there are no licenses are available. Charlie Alice goes to the Product queue.
  7. Bob Alice returns his 2 4 licenses of Token_lvl1.
  8. Charlie takes 2 4 licenses of Token_lvl1 and exits . This removes him from the Token_lvl1 queue.
  9. Charlie wants 12 licenses of Product, but there are no licenses available. He remains is still in the Product queue.Charlie continues to remain in the Product queue, because when Alice returns her , but now it’s impossible for him to take additional Product licenses, because he already has 24 licenses through Token_lvl1 licenses, Charlie will be able to get the requested 12 Product licenses.

...

  1. , and he requested 24 more. This is more than Product has (30); therefore, Charlie is also removed from the Product queue.