How does a Citrix Presentation Server know what licenses you have when it loses connectivity to the license server?

Rating:
Votes: 1 rating(s),  Score: 5/5
7
comments
20749 views
One of the features of Citrix Presentation Server licensing is that an individual Presentation Server will continue to function for 30 days after it loses connectivity to a Citrix License Server. This article explains how that process works and how a server "knows" what licenses the license server had before it went offline.
Written by:
Brian Madden
Publication Date:
June 04, 2007
Doc #Id: 5285


One of the features of Citrix Presentation Server licensing that just about everyone knows about is that an individual Presentation Server will continue to function for 30 days after it loses connectivity to a Citrix License Server. Citrix does this in order to provide quasi-enterprise scalability of the licensing component, in that Presentation Servers in a multi-site farm will work for 30 days if the WAN link to the license server goes down.

But after 30 days, no new connections will be accepted.

This is cool, but it leads to the question, “How does the server know how many licenses I have and what’s allowed if it can’t contact the license server?”

Most people I’ve met over the years have assumed this information was stored in the zone’s data collector (and therefore in the IMA local host cache on each server). However this is NOT correct. In fact in PS3 or newer farms (with no XP servers), the zone data collector / local host cache do not maintain ANY licensing information.

Instead, information about Citrix Presentation Server licenses is “cached” locally on each member server in a file called mps-wsxica_mps-wsxica.ini, stored in the \Program Files\Citrix folder.

The wsxica_mps-wsxica.ini file is a simple text file. It contains a snapshot of the number, types, and expiration dates of the various licenses maintained in the licensing database. Here’s an example (with the CRC values changed, rendering this file not valid for actual use):

[LSD]
Version=3
LicModel=1
LSName=edgelabdc
ProdName=MPS
ProdFeatName=ENT
CRC=3470353123
SubSectionCount=2
[PLD_POOL_NODE_0]
PLD=CITRIX
HasMaxLicenseCount=0
CRC=1453495123
SubSectionCount=1
[PLD_POOL_LIC_NODE_0_0]
NumLic=5000
ConnLimit=0
GracePeriod=96
LicExpTime=3281852161200000000
LeaseExpTime=0
VendorStr=;LT=SYS;GP=96;SA=0;DUP_GROUP=HV
SAExpDate=2002.0101
CRC=2113943123
[PLD_POOL_NODE_1]
PLD=MPS_ENT_CCU
HasMaxLicenseCount=0
CRC=2311356123
SubSectionCount=1
[PLD_POOL_LIC_NODE_1_0]
NumLic=1000
ConnLimit=0
GracePeriod=720
LicExpTime=128615905200000000
LeaseExpTime=0
VendorStr=;LT=Eval;GP=720;CL=ENT,ADV,STD,AST;SA=0;ODP=0;AP=ADMIN/LOGON/-84D:NONADMIN/LOGON/-28D
CompList=ENT,ADV,STD,AST
SAExpDate=2007.0726
CRC=2954033123

Anyone who’s ever looked through a .LIC license file from MyCitrix.com will notice some similarities to this INI file. The wsxica_mps-wsxica.ini file is created automatically on each Presentation Server the first time a server contacts the Citrix License Server, and it’s updated whenever any licenses are changed in the licensing database.

For the most part, knowing about this file and how it works is really anecdotal trivia. But there are a few important takeaways:

  • If you ever have a problem where users are not able to login (with a licensing error) while your Presentation Server is not connected to the licensing server, now you know where to look. (Is this file present? Is it corrupt? Etc.)
  • During a license server connectivity outage, yes, you can reboot your member Presentation Servers, and yes, you can reboot your data collectors. The mps-wsxica_mps-wsxica.ini file will stay put as long as you don’t actively delete it.
Reader Comments
Thanks
Monday, June 04, 2007 12:22:41 PM

Guest
Very interesting information, thanks a lot
I have mroe question
Tuesday, June 05, 2007 12:22:58 PM

Guest
What does it mean by "GracePeriod=96" on line 17? How frequently does member server sync license information with license server, 1HR? Thanks a lot for those hard to find information =)
Re: I have mroe question
Tuesday, June 05, 2007 1:08:15 PM
That means that's a grace period of 96 hours for that license, which is just the Citrix startup license. The GracePeriod=720 in the lower sections is the grace period for the real licenses you add, which works out to 30 days. As for how often it's updated, I have no idea.
Reboot ?
Tuesday, June 05, 2007 5:00:35 PM

just a quick thought, if the file is in cache and you rebooted the server, then you would loose the wsxica_mps-wsxica.ini file and not have the license information. Which would make the presentation sever down as well correct?

 

Re: Reboot ?
Monday, June 11, 2007 10:18:11 AM
Don't confuse the term "cache" with memory (RAM).  A lot of stuff is cached by storing it in a file.  In this case, the file remains, so a reboot doesn't lose the information.
Can you clear this file of temp licenses
Friday, July 27, 2007 7:19:13 AM

Guest
We had some temp licenses before we purchased permanent. When I deleted the temp licenses from the licensing server I still recieve a message that we are using temp licenses. If I delete this file will it be recreated with the new information?
re: Overscribing
Friday, March 28, 2008 10:25:15 AM

Guest
Say the License server goes offline, I know users will still be able to connect but are these additional connection sessions stored in this or some other file so that when the License server does comes back online and the citrix servers communicate back to it, will then upload this updated connection information and possibly cause you to be overscribed. For example. 50 User License file in place, 45 connections in use, license server goes down, 10 more sessions connect, License server comes back online. What happens when the servers hosting those sessions connects back to the license server? Will the 51-55 connections get dropped?
Post a New Comment
User:
Title:
Comment:
  Type on box the code you see on image below: