Virtuoso Licensing Terminology

OpenLink Virtuoso Universal Server requires a license based on a number of standard pricing units and deployment models. This page introduces those pricing units and models and clarifies terminology used to express them.

Application Server (or simply, Server)

An Application Server (or Server) is a host which serves multiple concurrent users, and typically runs a Server-class Operating System. Services provided may be web-based (e.g., PHP, Python, Perl, ASP, JSP) or other applications (e.g., Crystal Reports Enterprise, SQL Server Report Services), or entire operating system environments (e.g., Windows Terminal Server and Remote Desktop clients). Database sessions are "condensed," meaning the Application Server opens all connections on behalf of individual Workstations, through data access drivers or providers found on the Application Server machine. Workstations in this environment do not typically require data access drivers or providers, as the Workstation tools open no direct database connections.

Client Types or Data Access Mechanisms

Client types are the individual APIs, sometimes called *Data Access Mechanisms,* that client applications use to connect to Virtuoso. Some applications use the ODBC API; others use the JDBC, OLE DB, ADO.NET, or XMLA APIs or some combination of these.

Licensees must take account of all applications in the environment that use OpenLink products for data access purposes. Then, users need to tally the data access mechanisms used by these applications. Sales will adjust the license price upward by a set percentage, if two or more "client types" or data access mechanisms are required.

Concurrent Connections

Concurrent connections are the maximum number of distinct HTTP and SQL threads opened by applications and other technologies that interface with Virtuoso. Concurrent connections may also be referred to as database sessions.

Database Sessions

This term is synonymous with concurrent connections. See above.

HTTP Threads

Virtuoso HTTP threads are initiated when connections are established to the Virtuoso HTTP ServerPort. The HTTP ServerPort is a Virtuoso configurable in the main .ini file. An associated parameter allows administrators to set aside a pool of threads that are reserved for HTTP connectivity. (These threads consume license points on Virtuoso server startup.) Threads associated with HTTP ServerPort are consumed by Web Services, RDF, SOA, BPEL, and other HTTP-based protocols and applications.

OpenLink Client Hosts

OpenLink Client Hosts are the machines where the data consuming applications run, where the OpenLink Client Components are installed. These are typically (but not always) different from the machines where the databases or other data sources run.

Operating System Types

Our license models clearly distinguish between Workstation-class and Server-class operating systems. For instance, the "Home" and "Professional" Editions of Windows are classed as Workstation-class variants of Windows, while "Web", "Server", and "Advanced Server" Editions are classed as Server-class variants. The same applies to Mac OS X (Desktop) and Mac OS X Server, as well as Linux (Client) and Server editions. OpenLink license terms prohibit the use of Workstation Model licenses on Server-class operating systems.

Operating System Type also impacts licensing costs associated with logical processors in host computers. However, OpenLink does not employ a simplistic, per-logical-processor pricing model. Our license technology makes allowances for Workstation machines that have high logical processor counts. Multi-processor machines hosting Workstation operating systems like "Home", "Personal", or "Desktop" variants of Linux, OS X, and Windows are covered by licenses with a lower price entry point. A logical processor threshold is also applied to server class machines in recognition of the fact that different servers may possess larger or smaller number of logical processors by default.

The following operating systems (among others) are considered Server-class --

The following operating systems (among others) are considered Workstation-class --

If you have any question whether your deployment operating system is Workstation- or Server-class, please contact our Support Team. They will be happy to help you.

Processor Cores and Logical Processors

Our licenses take into account the number of logical processors found in the environment(s) on which they are deployed. Basic licenses permit use on machines with typical logical processor counts. Additional logical processors increase license pricing, by a decreasing non-linear factor. There is no maximum number of logical processors which may be licensed.

A dual-core processor has 2 physical processor cores; a quad-core physical processor has 4 physical cores. A machine with two dual-core processors has 4 physical cores.

Historically, the physical core count would match the logical processor count. More recently, Hyper-Threading ("HT"), virtual environments such as Solaris containers or AIX micropartitions (a/k/a "LPARs"), and various related technologies, may cause the OS to see a different logical processor count than the physical cores would suggest.

Our pricing takes such technologies into account, but bugs in various operating systems and processor hardware sometimes mean that special attention is needed.

Product Formats

From a format perspective, Virtuoso licensing is partitioned as follows: Personal, Workgroup, and Enterprise.

Note: Prior to release 6.x, only Virtuoso Personal and Workgroup Editions are available.

SQL Threads

Virtuoso SQL threads initiated when connections are established to the SQL ServerPort. The SQL ServerPort is a Virtuoso configurable in the main .ini file. An associated parameter allows administrators to set aside a pool of threads that are reserved for SQL connectivity. (These threads consume license points on Virtuoso server startup.) Threads associated with this port are consumed by ODBC, JDBC, OLE DB, .NET, isql, and any other APIs and applications that seek direct access to data in Virtuoso's native SQL92 or virtual database schema.


Workstations are machines running a Workstation-class Operating System, typically supporting a single user at a time, running applications such as Microsoft Excel, Quark XPress, InDesign, or Microsoft Access. Each application opens its own database sessions via data access drivers or providers found on the Workstation machine.