Skip to main content
I don't understand how MVIS pooled license work. Can I assume that a single pool license can hold a certain number of user licenses for use with MVIS out of all of the user licenses on the system? If I have a single application on my server does it only require a single pooled license? What if for some reason my API call takes longer than expected, does that prevent other users from connecting to MVIS site?

How can I calculate the optimum number of pooled licenses I need to effectively run my new MVIS system?

Jon
I don't understand how MVIS pooled license work. Can I assume that a single pool license can hold a certain number of user licenses for use with MVIS out of all of the user licenses on the system? If I have a single application on my server does it only require a single pooled license? What if for some reason my API call takes longer than expected, does that prevent other users from connecting to MVIS site?

How can I calculate the optimum number of pooled licenses I need to effectively run my new MVIS system?

Jon
I assume you are referring to Connection Pool Licenses.  MVIS itself is free but you have to use Pool licenses to connect to an MV database.  You can use one or more Pool licenses to connect to an MVIS account to your MV account.  A Pool license differs from a user license in one primary way.  When your process request is completed, the connection stays live and doesn't close/logout.  The next request that comes in will reuse that live pool session which saves you all the overhead of starting a new session.  

When you set up an MVIS account with more than one Pool connection, you are effectively setting up a round robin situation with your account connections.  As an example, if you have three pool licenses configured, and you receive your first request.  That request will be channeled to connection A causing a new connection to the account.  You now receive a second request.  Connection A will be checked to see if it is idle.  If it is idle, the request will be handled by connection A.  If connection A is still busy, connection B will be fired up and the second request will be handled by connection B.  Now request number three comes in.  Connection A and B will be checked to see if they are busy.  If one is open, it will be handed the third request to process.  I both A & B are busy, connection C will be established and then handed the third request to process.  Request number four comes in and each of the three connections will be checked to see if the is an idle connection to handle the request.  I there are no idle connections, the request will be queued until one of the three connections become idle.

There is quite a bit more to the Connection Pool Licenses but this is a simple example.  For more details, I'd check with a Sales Engineer or your Account Rep.

When it comes to figuring out how many Pool licenses you need, it gets kind of fuzzy.  There aren't any calculators for computing that I am aware of.  There are, however, Erlang Calculators for call centers that work very well.  You just have to adjust your scale from hours and minutes to seconds and milliseconds.  The best of the calculators will only really give you a starting point.  There a many outside influences that can impact your overall throughput so a certain amount of tuning/trial and error is necessary.

Hope this helps.
I don't understand how MVIS pooled license work. Can I assume that a single pool license can hold a certain number of user licenses for use with MVIS out of all of the user licenses on the system? If I have a single application on my server does it only require a single pooled license? What if for some reason my API call takes longer than expected, does that prevent other users from connecting to MVIS site?

How can I calculate the optimum number of pooled licenses I need to effectively run my new MVIS system?

Jon
Hi Jon,

MVIS is a java application which connect U2 via uniobject/unirpc capabilities. 
You must buy a 'pool licence' to use it because MVIS run for many users when a 'single app' or session run for one user. 
It's a matter of price not a technical difference. 
When you develop your service you must carefully analyse your response time because, like explained by Steve, if you run a limited number of MVIS session, you go for queueing of your requests.  
In case of long processing time, I suggest to explore the concept of 'helpers':

method a) the first request processing start a PHANTOM prog and return a 'result token Id' ; later  request ask for the result with payload is the 'result token id' .  Then your request are not waiting for the result. 

method b) use the callback uri concept : the first request pass a callback uri in the payload;  the request processing start a PHANTOM prog then when the prog is finished, the request processing callHTTP on the callback uri with result into payload. ... It request you open a listen at callback uri (client side) .  Then your request are quick and you don not need to ask for the result.

I hope this help.
Manu




I don't understand how MVIS pooled license work. Can I assume that a single pool license can hold a certain number of user licenses for use with MVIS out of all of the user licenses on the system? If I have a single application on my server does it only require a single pooled license? What if for some reason my API call takes longer than expected, does that prevent other users from connecting to MVIS site?

How can I calculate the optimum number of pooled licenses I need to effectively run my new MVIS system?

Jon
Steve & Manu,

Many thanks for your answers. I have some concrete steps to follow now to determine pool size.

Jon