X
3867

How to synchronize client machines and license server based on UTC time?

 

When a client machine is checking out a license from a license server, the following error may be returned when starting ENVI or IDL:

 

“Unable to license IDL.  Reason: Requested feature has expired.”

 

This error is often related to a time shift between the client and the server machine. Time difference between client and server should not be higher than 7 minutes.  

 

It is important to highlight that the time difference between client and server should be considered based on UTC time, and not based on local time.

 

 

How to check the local time, UTC time and Time Zone?

 

  • Commands to check time on Linux/MAC (from a shell prompt)

 

Local time & Time Zone:            date

UTC time:                                  date -u

 

  • Commands to check time on Windows (from the Windows PowerShell prompt)

     

Time Zone:                                  timezone

Local Time:                                 $a=get-date

echo $a

UTC time:                                 $a.toUniversalTime()                     

 

 

Example 1: client/server configuration is working - Test computed at 10:15 am UTC time

 

Server Machine - Time configuration

  • Time Zone:                          EET i.e. UTC +2

  • Local Time:                         set automatically by the system.

 

date (local time) returns                12:15 am

date -u (UTC time) returns            10:15 am 

which is expected with EET (i.e. UTC+2) time zone

 

Client Machine - Time configuration

  • Time Zone:                          CET i.e. UTC+1

  • Local Time:                         set automatically by the system.

     

date (local time) returns                11:15 am

date -u (UTC time) returns            10:15 am 

which is expected with CET (i.e. UTC+1) time zone

 

In this configuration, the client machine can check out a license on the server: despite local time is different between client & server, UTC time is the same on both machines so client & server are synchronized.

 

 

Example 2: client/server configuration is failing - Test computed at 10:15 am UTC time

 

Server Machine - Time configuration

  • Time Zone:                          UTC+3

  • Local Time:                         set automatically by the system.

 

date (local time) returns                13:15 am

date -u (UTC time) returns            10:15 am 

which is expected with UTC+3 time zone

 

 

Client Machine - Time configuration

  • Time Zone:                          EET i.e UTC +2

  • Local Time:                         set manually to 13:15 am

     

date (local time) returns                13:15 am

date -u (UTC time) returns            11:15 am 

 

The date command returns the local time which is set manually i.e. 13:15 am.

The UTC time is recomputed based on the time zone and local time i.e. 13:15 am - 2 = 11:15 am

 

In this configuration and despite local times are the same on client and server machines, the client cannot check out a license. Indeed, the time shift is of one hour (i.e. more than 7 minutes) based on UTC time. Client and server are not synchronized.

 

To have the client/server configuration working, for example, the time on the client machine will need to be adjusted so the UTC time will be the same on client and server.

 

 

-----------------------------------------

Created 1/28/2018 - BC

Reviewed 1/30/2018 - MM