Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
678 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) receiving a request for use of the service; B) determining if a convoy disperse flag is true; C) if the convoy disperse flag is not true: 1) determining if the service is available to serve the request; 2) if the service is available, setting a wait-for-service count to a first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available, testing a waiter count to determine if it is the first predetermined waiter value; 4) if the waiter count is the first predetermined waiter value: a) instituting a predetermined delay; b) after the predetermined delay, determining if the service is available to serve the request; c) if the service is available, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; and d) if the service is not available, going to step C)5)a); 5) if the waiter count is not the first predetermined waiter value: a) determining if the convoy disperse flag has changed to true; b) if the convoy disperse flag is now true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; c) if the convoy disperse flag is not true: i) incrementing the wait-for-service count; ii) determining if the wait-for-service count is greater than a second predetermined wait-for-service value; iii) if the wait-for-service count is not greater than the second predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; iv) if the wait-for-service count is greater than the second predetermined wait-for-service value, setting the convoy disperse flag true, setting the wait-for-service count to the first predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; D) if the convoy disperse flag is true: 1) determining if the service is available to serve the request; 2) if the service is available: a) determining if the convoy disperse flag is true; b) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; c) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available: a) setting a maxloop count to a first predetermined maxloop value; b) determining if the service is now available; c) if the service is now available: i) determining if the convoy disperse flag is now true; ii) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; iii) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; d) if the service is not now available: i) decrementing the maxloop count and determining if the convoy disperse flag is still true; ii) if the convoy disperse flag is not now still true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; iii) if the convoy disperse flag is still true, determining if the maxloop count is greater than a second predetermined maxloop value; iv) if the maxloop count is not greater than the second predetermined maxloop value, setting the convoy disperse flag false, waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; and v) if the maxloop count is greater than the second predetermined value, returning to step D)3)b).
Claim 2
Dependent Claim
678 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) receiving a request for use of the service; B) determining if a convoy disperse flag is true; C) if the convoy disperse flag is not true: 1) determining if the service is available to serve the request; 2) if the service is available, setting a wait-for-service count to a first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available, testing a waiter count to determine if it is the first predetermined waiter value; 4) if the waiter count is the first predetermined waiter value: a) instituting a predetermined delay; b) after the predetermined delay, determining if the service is available to serve the request; c) if the service is available, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; and d) if the service is not available, going to step C)5)a); 5) if the waiter count is not the first predetermined waiter value: a) determining if the convoy disperse flag has changed to true; b) if the convoy disperse flag is now true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; c) if the convoy disperse flag is not true: i) incrementing the wait-for-service count; ii) determining if the wait-for-service count is greater than a second predetermined wait-for-service value; iii) if the wait-for-service count is not greater than the second predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; iv) if the wait-for-service count is greater than the second predetermined wait-for-service value, setting the convoy disperse flag true, setting the wait-for-service count to the first predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; D) if the convoy disperse flag is true: 1) determining if the service is available to serve the request; 2) if the service is available: a) determining if the convoy disperse flag is true; b) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; c) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available: a) setting a maxloop count to a first predetermined maxloop value; b) determining if the service is now available; c) if the service is now available: i) determining if the convoy disperse flag is now true; ii) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; iii) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; d) if the service is not now available: i) decrementing the maxloop count and determining if the convoy disperse flag is still true; ii) if the convoy disperse flag is not now still true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; iii) if the convoy disperse flag is still true, determining if the maxloop count is greater than a second predetermined maxloop value; iv) if the maxloop count is not greater than the second predetermined maxloop value, setting the convoy disperse flag false, waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; and v) if the maxloop count is greater than the second predetermined value, returning to step D)3)b).
Claim 3
Dependent Claim
29 words
The procedure of claim 1 in which the first predetermined wait-for-service value for the wait-for-service count and the second predetermined maxloop value for the maxloop count are each 0.
Claim 4
Dependent Claim
23 words
The procedure of claim 2 in which the first predetermined maxloop value for the maxloop count is within the range 20 to 100.
Claim 5
Dependent Claim
727 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) if a semaphore is open, admitting for processing a request for use of the service and closing the semaphore; B) determining if a convoy disperse flag is true; C) if the convoy disperse flag is not true: 1) determining if the service is available to serve the request; 2) if the service is available, assuming ownership of the server, setting a wait-for-service count to a first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; 3) if the service is not available, testing a waiter count to determine if it is the first predetermined waiter value; 4) if the waiter count is the first predetermined waiter value: a) opening the semaphore and instituting a predetermined delay; b) after the predetermined delay, closing the semaphore and determining if the service is available to serve the request; c) if the service is available, assuming ownership of the service, setting the wait-for-service count to the first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; and d) if the service is not available, going to step C)5)a); 5) if the waiter count is not the first predetermined waiter value: a) determining if the convoy disperse flag has changed to true; b) if the convoy disperse flag is now true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; c) if the convoy disperse flag is not true: i) incrementing the wait-for-service count; ii) determining if the wait-for-service count is greater than a second predetermined wait-for-service value; iii) if the wait-for-service count is not greater than the second predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; iv) if the wait-for-service count is greater than the second predetermined wait-for-service value, setting the convoy disperse flag true, setting the wait-for-service count to the first predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; D) if the convoy disperse flag is true: 1) determining if the service is available to serve the request; 2) if the service is available: a) determining if the convoy disperse flag is true; b) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; c) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available: a) setting a maxloop count to a first predetermined maxloop value; b) opening the semaphore gate, relinquishing ownership of the service and closing the semaphore gate; determining if the service is now available; d) if the service is now available: i) determining if the convoy disperse flag is now true; ii) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; iii) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; e) if the service is not now available: i) decrementing the maxloop count and determining if the convoy disperse flag is still true; ii) if the convoy disperse flag is not now still true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; iii) if the convoy disperse flag is still true, determining if the maxloop count is greater than a second predetermined maxloop value; iv) if the maxloop count is not greater than the second predetermined maxloop value, setting the convoy disperse flag false, waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; and v) if the maxloop count is greater than the second predetermined value, returning to step D)3)b).
Claim 6
Dependent Claim
727 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) if a semaphore is open, admitting for processing a request for use of the service and closing the semaphore; B) determining if a convoy disperse flag is true; C) if the convoy disperse flag is not true: 1) determining if the service is available to serve the request; 2) if the service is available, assuming ownership of the server, setting a wait-for-service count to a first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; 3) if the service is not available, testing a waiter count to determine if it is the first predetermined waiter value; 4) if the waiter count is the first predetermined waiter value: a) opening the semaphore and instituting a predetermined delay; b) after the predetermined delay, closing the semaphore and determining if the service is available to serve the request; c) if the service is available, assuming ownership of the service, setting the wait-for-service count to the first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; and d) if the service is not available, going to step C)5)a); 5) if the waiter count is not the first predetermined waiter value: a) determining if the convoy disperse flag has changed to true; b) if the convoy disperse flag is now true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; c) if the convoy disperse flag is not true: i) incrementing the wait-for-service count; ii) determining if the wait-for-service count is greater than a second predetermined wait-for-service value; iii) if the wait-for-service count is not greater than the second predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; iv) if the wait-for-service count is greater than the second predetermined wait-for-service value, setting the convoy disperse flag true, setting the wait-for-service count to the first predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; D) if the convoy disperse flag is true: 1) determining if the service is available to serve the request; 2) if the service is available: a) determining if the convoy disperse flag is true; b) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; c) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available: a) setting a maxloop count to a first predetermined maxloop value; b) opening the semaphore gate, relinquishing ownership of the service and closing the semaphore gate; determining if the service is now available; d) if the service is now available: i) determining if the convoy disperse flag is now true; ii) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; iii) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; e) if the service is not now available: i) decrementing the maxloop count and determining if the convoy disperse flag is still true; ii) if the convoy disperse flag is not now still true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; iii) if the convoy disperse flag is still true, determining if the maxloop count is greater than a second predetermined maxloop value; iv) if the maxloop count is not greater than the second predetermined maxloop value, setting the convoy disperse flag false, waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; and v) if the maxloop count is greater than the second predetermined value, returning to step D)3)b).
Claim 7
Dependent Claim
29 words
The procedure of claim 4 in which the first predetermined wait-for-service value for the wait-for-service count and the second predetermined maxloop value for the maxloop count are each 0.
Claim 8
Dependent Claim
23 words
The procedure of claim 5 in which the first predetermined maxloop value for the maxloop count is within the range 20 to 100.
Claim 9
Dependent Claim
741 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) if a semaphore is open, admitting for processing a request for use of the service and closing the semaphore; B) determining if a convoy disperse flag is true; C) if the convoy disperse flag is not true: 1) determining if the service is available to serve the request; 2) if the service is available, assuming ownership of the server, setting a wait-for-service count to a first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; 3) if the service is not available, testing a waiter count to determine if it is the first predetermined waiter value; 4) if the waiter count is the first predetermined waiter value: a) opening the semaphore and instituting a predetermined delay; b) after the predetermined delay, dosing the semaphore and determining if the service is available to serve the request; c) if the service is available, assuming ownership of the service, setting the wait-for-service count to the first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; and d) if the service is not available, going to step C)5)a); 5) if the waiter count is not the first predetermined waiter value: a) determining if the convoy disperse flag has changed to true; b) if the convoy disperse flag is now true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; c) if the convoy disperse flag is not true: i) incrementing the wait-for-service count; ii) determining if the wait-for-service count is greater than a second predetermined wait-for-service value; iii) if the wait-for-service count is not greater than the second predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; iv) if the wait-for-service count is greater than the second predetermined wait-for-service value, setting the convoy disperse flag true, setting the wait-for-service count to the first predetermined wait-for-service value, incrementing a convoy detect count, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; D) if the convoy disperse flag is true: 1) determining if the service is available to serve the request; 2) if the service is available: a) determining if the convoy disperse flag is true; b) if the convoy disperse flag is true, setting the convoy disperse flag false, incrementing a success count, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; c) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available: a) setting a maxloop count to a first predetermined maxloop value; b) opening the semaphore gate, relinquishing ownership of the service and closing the semaphore gate; determining if the service is now available; d) if the service is now available: i) determining if the convoy disperse flag is now ii) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; iii) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; e) if the service is not now available: i) decrementing the maxloop count and determining if the convoy disperse flag is still true; ii) if the convoy disperse flag is not now still true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; iii) if the convoy disperse flag is still true, determining if the maxloop count is greater than a second predetermined maxloop value; iv) if the maxloop count is not greater than the second predetermined maxloop value, setting the convoy disperse flag false, incrementing a failure count, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; and v) if the maxloop count is greater than the second predetermined value, returning to step D)3)b).
Claim 10
Dependent Claim
741 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) if a semaphore is open, admitting for processing a request for use of the service and closing the semaphore; B) determining if a convoy disperse flag is true; C) if the convoy disperse flag is not true: 1) determining if the service is available to serve the request; 2) if the service is available, assuming ownership of the server, setting a wait-for-service count to a first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; 3) if the service is not available, testing a waiter count to determine if it is the first predetermined waiter value; 4) if the waiter count is the first predetermined waiter value: a) opening the semaphore and instituting a predetermined delay; b) after the predetermined delay, dosing the semaphore and determining if the service is available to serve the request; c) if the service is available, assuming ownership of the service, setting the wait-for-service count to the first predetermined wait-for-service value, opening the semaphore and serving the request to complete the processing of the request; and d) if the service is not available, going to step C)5)a); 5) if the waiter count is not the first predetermined waiter value: a) determining if the convoy disperse flag has changed to true; b) if the convoy disperse flag is now true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; c) if the convoy disperse flag is not true: i) incrementing the wait-for-service count; ii) determining if the wait-for-service count is greater than a second predetermined wait-for-service value; iii) if the wait-for-service count is not greater than the second predetermined wait-for-service value, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; iv) if the wait-for-service count is greater than the second predetermined wait-for-service value, setting the convoy disperse flag true, setting the wait-for-service count to the first predetermined wait-for-service value, incrementing a convoy detect count, incrementing the waiter count and sending the request to the queue for subsequent service, thereby concluding processing of the request; D) if the convoy disperse flag is true: 1) determining if the service is available to serve the request; 2) if the service is available: a) determining if the convoy disperse flag is true; b) if the convoy disperse flag is true, setting the convoy disperse flag false, incrementing a success count, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; c) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; 3) if the service is not available: a) setting a maxloop count to a first predetermined maxloop value; b) opening the semaphore gate, relinquishing ownership of the service and closing the semaphore gate; determining if the service is now available; d) if the service is now available: i) determining if the convoy disperse flag is now ii) if the convoy disperse flag is true, setting the convoy disperse flag false, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; iii) if the convoy disperse flag is not now true, setting the wait-for-service count to the first predetermined wait-for-service value and serving the request to complete the processing of the request; e) if the service is not now available: i) decrementing the maxloop count and determining if the convoy disperse flag is still true; ii) if the convoy disperse flag is not now still true, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; iii) if the convoy disperse flag is still true, determining if the maxloop count is greater than a second predetermined maxloop value; iv) if the maxloop count is not greater than the second predetermined maxloop value, setting the convoy disperse flag false, incrementing a failure count, incrementing the waiter count and sending the request to a queue for subsequent service, thereby concluding processing of the request; and v) if the maxloop count is greater than the second predetermined value, returning to step D)3)b).
Claim 11
Dependent Claim
29 words
The procedure of claim 7 in which the first predetermined wait-for-service value for the wait-for-service count and the second predetermined maxloop value for the maxloop count are each 0.
Claim 12
Dependent Claim
23 words
The procedure of claim 8 in which the first predetermined maxloop value for the maxloop count is within the range 20 to 100.
Claim 13
Dependent Claim
257 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) when a request is received, determine if the procedure is in a convoy disperse mode; B) if the procedure is not in the convoy disperse mode: 1) check the availability of the service; a) if the service is available, service the request; b) if the service is not available: i) institute a delay; ii) when the delay has timed out, check again if the service is available and, is the service is available, service the request; iii) if the service is still not available, check a wait-for-service account to see if it exceeds a predetermined value; iv) if the wait-for-service value does not exceed the predetermined value, send the request to a queued wait; v) if the wait-for-service exceeds the predetermined value, set the convoy disperse mode true and send the request to the queued wait; and C) if the procedure is in the convoy disperse mode: 1) temporarily release the processor; 2) check the availability of the service; a) if the service is available, set the convoy disperse mode false and service the request; b) if the service is not available, determine if the procedure has passed through step C)2) a predetermined number of times; c) if the procedure has passed through step C)2) the predetermined number of times, send the request to the queued wait; and d) if the procedure has not passed through step C)2) the predetermined number of times, loop to step C)2).
Claim 14
Dependent Claim
257 words
A convoy dispersing procedure for scheduling requests from multiple sources for use of a service comprising the steps of: A) when a request is received, determine if the procedure is in a convoy disperse mode; B) if the procedure is not in the convoy disperse mode: 1) check the availability of the service; a) if the service is available, service the request; b) if the service is not available: i) institute a delay; ii) when the delay has timed out, check again if the service is available and, is the service is available, service the request; iii) if the service is still not available, check a wait-for-service account to see if it exceeds a predetermined value; iv) if the wait-for-service value does not exceed the predetermined value, send the request to a queued wait; v) if the wait-for-service exceeds the predetermined value, set the convoy disperse mode true and send the request to the queued wait; and C) if the procedure is in the convoy disperse mode: 1) temporarily release the processor; 2) check the availability of the service; a) if the service is available, set the convoy disperse mode false and service the request; b) if the service is not available, determine if the procedure has passed through step C)2) a predetermined number of times; c) if the procedure has passed through step C)2) the predetermined number of times, send the request to the queued wait; and d) if the procedure has not passed through step C)2) the predetermined number of times, loop to step C)2).