License server caching for checkout of floating licenses
AssigneeSynopsys, Inc.
InventorMark Daniel Pogers
Life of this patent
Estimating the term…
Abstract
A method includes: receiving an input job associated with a license type; receiving a license server order including a plurality of license servers; reading license server information regarding the plurality of license servers from a license server information cache; updating, by a processing device, the license server order based on the license server information to compute an updated license server order; and accessing at least one of the plurality of license servers in the updated license server order to attempt license checkout of a license from one of the plurality of license servers, the license being appropriate for the license type of the input job.
Claims20
A method comprising:
- receiving an input job associated with a license type;
- receiving a license server order comprising a plurality of license servers, wherein the license server order provides a first sequence for accessing the plurality of license servers;
- reading license server information regarding licenses available from the plurality of license servers from a license server information cache;
- updating, by a processing device, the license server order based on the license server information regarding the licenses available from the plurality of license servers to compute an updated license server order, wherein the updated license server order provides a second sequence for accessing the plurality of license servers in a sequence different from the first sequence, wherein the license server information comprises a status of a license server of the plurality of license servers, the status being selected from a group of states comprising a known non-existent license state, and wherein the updating the license server order is performed in accordance with iterating through the plurality of license servers in the license server order, where updating a position of a selected license server of the plurality of license server comprises:
- in a case where the selected license server is in the known non-existent license state, demoting the selected license server to the end of the updated license server order;
- and
- accessing at least one of the plurality of license servers in the updated license server order to attempt license checkout of a license from one of the plurality of license servers, the license being appropriate for the license type of the input job.
A system comprising:
- a license server information cache;
- a first computer system comprising:
- a first memory storing instructions;
- and
- a first processor, coupled with the first memory and to execute the instructions, the instructions when executed cause the first processor to:
- receive a first input job associated with a license type;
- access at least one of a plurality of license servers to attempt license checkout of a license from one of the plurality of license servers, the license being appropriate for the license type of the first input job;
- and
- write updated license server information regarding licenses available from the at least one of the plurality of license servers to the license server information cache based on results from the attempted license checkout from one or more of the plurality of license servers, wherein the license server information comprises a status of a license server of the plurality of license servers, the status being selected from a group of states comprising:
- a known existent license state;
- and
- an indeterminate state;
- and
- a second computer system comprising:
- a second memory storing instructions;
- and
- a second processor, coupled with the second memory and to execute the instructions, the instructions when executed cause the second processor to:
- receive a second input job associated with the license type;
- receive a license server order comprising the plurality of license servers, wherein the license server order provides a first sequence for accessing the plurality of license servers;
- read the updated license server information regarding the licenses available from the plurality of license servers from the license server information cache;
- update the license server order based on the updated license server information regarding licenses available from the plurality of license servers to compute an updated license server order, wherein the updated license server order provides a second sequence for accessing the plurality of license servers in a sequence different from the first sequence, wherein the updating the license server order is performed in accordance with iterating through the plurality of license servers in the license server order, where updating a position of a selected license server of the plurality of license server comprises:
- in a case where the selected license server is in the known existent license state, while a preceding license server in the updated license server order has an indeterminate state, updating the updated license server order by promoting the license server ahead of the preceding license server;
- and
- access at least one of the plurality of license servers in the updated license server order to attempt license checkout of a license from one of the plurality of license servers, the license being appropriate for the license type of the second input job.
A non-transitory computer-readable medium comprising stored instructions, which when executed by a processor, cause the processor to:
- receive an input job associated with a license type;
- receive a license server order comprising a plurality of license servers, wherein the license server order provides a first sequence for accessing the plurality of license servers;
- read license server information regarding licenses available from the plurality of license servers from a license server information cache,
- update, by the processor, the license server order based on the license server information regarding the licenses available from the plurality of license servers to compute an updated license server order, wherein the updated license server order provides a second sequence for accessing the plurality of license servers in a sequence different from the first sequence, wherein the license server information comprises a status of a license server of the plurality of license servers, the status being selected from a group of states comprising:
- a known existent license state;
- a known non-existent license state;
- and an indeterminate state,
- wherein the update of the license server order is performed in accordance with iterating through the plurality of license servers in the license server order, where updating a position of a selected license server of the plurality of license server comprises:
- in a case where the selected license server is in the known existent license state, while a preceding license server in the updated license server order has an indeterminate state, updating the updated license server order by promoting the license server ahead of the preceding license server;
- and
- in a case where the selected license server is in the known non-existent license state, demoting the selected license server to the end of the updated license server order;
- and
- access at least one of the plurality of license servers in the updated license server order to attempt license checkout of a license from one of the plurality of license servers, the license being appropriate for the license type of the input job.
Dependencies are inferred from the claim text.