1. Field of the Invention
This invention relates to software systems that require multiple licenses. More particularly, this invention relates to systems and methods for transferring licenses from one server to another via a network connecting the servers.
2. Brief Description of the Prior Art
Enterprises must maintain software licenses for each of their employees that use software. When personnel are moved from one location to another, licenses must be moved with them. This is a tedious manual process that is subject to many problems.
Licensing for software systems, in the simplest form, is performed on a per system basis. Each system installed at a customer site has its own licensing resource (usually a license file) and all the licensing needs for the system's operation and configuration are met by this system specific licensing resource. For the purpose of discussion, this licensing model is referred to herein as the Localized Licensing Model.
Another popular licensing technique is the Centralized Licensing Model. This model is more prevalent when the customer site has multiple software systems installed. According to this model, a centralized license server, which may also be called the license repository, operates as the sole licensing authority and all software servers that need to authenticate licensing requests point to this central server for their individual licensing needs. A variant of this model may be referred to as the Semi-centralized Licensing Model. The network is divided into sub-nets, wherein each sub-net has a licensing repository or licensing server and all software servers within the sub-net point to the licensing server in that sub-net.
Each of the above-described licensing techniques have their own disadvantages. In the case of the localized licensing model, the major restriction is the portability of licenses from one server to another.
For example, consider a site that has three thousand licenses spread across ten servers and the number of licenses per server is fixed in each of the individual license files. If a server which originally needed one hundred licenses now needs two hundred licenses, at least two license files must be reconfigured to allow for this change. Since the licenses in the system are usually based on users, such moves are not uncommon. This model will also involve frequent modifications to license files across the systems in which they are installed. Moreover, the maintenance effort and downtime involved in reinstalling the modified license files may be considerable.
The major disadvantage with the centralized licensing model is that it creates a single point of failure for the network or sub-net as the case may be. If the licensing server encounters downtime for any reason, all servers that are dependent on this licensing server for their licensing needs will be directly affected and may be inoperable during the downtime. Such a scenario may be considered unacceptable for any major software server network environment.
It is therefore an object of the invention to provide a software licensing model.
It is also an object of the invention to provide a software licensing model that has the advantages of a Centralized licensing Model but not the disadvantages.
It is another object of the invention to provide a software licensing model that has the advantages of a Localized Licensing Model but not the disadvantages.
It is yet another object of the invention to provide a software licensing model that does not require supervision or manual intervention.
It is yet another object of the invention to provide a software licensing model where licenses are automatically transferred from one location to another.
It is another object of the invention to provide a software licensing model where downtime of license servers is minimized.
It is still another object of the invention to provide a software licensing model that does not have a single point of failure.
These and other object of the invention are provided in accordance with the principles of the present invention by providing an enterprise-wide flexible software licensing model. Systems and methods according to preferred embodiments of the present invention may include the steps of and components for establishing a licensing component on a plurality of servers; establishing communication between the plurality of servers via a communications/data network; generating a licensing request on a server that requires more licenses than are present on that server; transmitting the licensing request to one or more servers located on the communications/data network; receiving the licensing request by one or more servers on the communications/data network; determining whether any of the servers receiving the licensing request have available licenses to respond to the licensing request; and transferring available licenses from one or more servers to the requesting server via the communications/data network.
The above and other objects and advantages of the present invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference numbers refer to like parts throughout, and in which:
Systems and methods according to preferred embodiments of the present invention may include the steps of and components for establishing a licensing component on a plurality of servers; establishing communication between the plurality of servers via a communications/data network; generating a licensing request on a server that requires more licenses than are present on that server; transmitting the licensing request from the requesting server to one or more or all servers located on the communications/data network; receiving the licensing request by one or more servers on the communications/data network; determining whether any server receiving the licensing request has available licenses to respond to the licensing request and determining how many of these licenses to send to the requesting server; and transferring available licenses from one or more servers to the requesting server via the communications/data network.
Each licensing component on the server may include a count of licenses that may be used for one or more types of software being utilized on network. Each server may be made aware of the other and may be located on one more interconnected communications/data networks.
The systems and methods according to the preferred embodiment of the present invention may operate as follows: When a server requires more licenses than it has according to its count, that server may send a licensing request to other servers located on the communications/data network. A server with surplus licenses may respond to the request and supply the requesting server with additional licenses based upon a predetermined algorithm or any other suitable set of criteria. The request may be broadcast to all servers on the communications/data network or may be made by sending one or more individual requests to a particular server on the network.
Communication among servers may be accomplished via LDAP (Lightweight Directory Access Protocol), Active Directory (for Microsoft Windows operating systems), or by any other suitable communications/data protocol.
The preferred embodiments of the present invention assume that the total number of licenses in the enterprise is sufficient to cover all of the employees requiring such licenses. This way, whenever an employee is mobile (e.g., temporarily relocated) or transferred from one site to another, the license server at the new location may provide a license for the employee by obtaining a license from the license server at the employee's former location.
In the scenario of
Since Server A has twenty-five surplus licenses, it may respond to the license request of Server B and transfer the surplus licenses. In this manner, though the users have relocated across servers within a network, the licensing resources need not undergo any changes to accommodate for these relocations. In order to determine whether a server has surplus licenses, the server may include equipment, one or more algorithms, or other suitable types of software that are designed to monitor and detect when surplus licenses are located on a particular server. Such equipment/software may also be used to transfer surplus licenses in response to a particular server's licensing request. It should also be mentioned that this equipment/software may be remotely located from the servers on the network.
In the scenario of
One particular advantage of the present invention is that downtime on any one particular server will not affect the operability of other servers on the network. For example, in the scenario described in
The following is a comparison between the invention and the prior art licensing models:
The Localized Licensing Model
In this model, user moves made across servers would require new license files to be created/configured on both the old and the new servers. However, the effects of downtime may be minimized because each server stands independently of every other server. Therefore, even if one server experiences downtime, users of other servers may still operate normally. However, in the preferred model of the present invention, new license files do not need to be created/configured, thus, overcoming the disadvantage of the Localized Licensing Model. In addition, as described above, the effects of a downtime are also minimized.
The Centralized License Model
In this model, a user relocation to a new server does not have an effect on the allocation of licenses, as a centralized server holds all of the licenses that are necessary for the users on the network. However, the effect of downtime may be severe if the server that is acting as the licensing server were to encounter downtime. For example, if a downtime occurs on the centralized licensing server all of the users that obtain licenses from that server will not be able function. On the other hand, in the preferred model of the present invention, licenses are automatically transferred as needed but remain distributed over several servers. Thus, under the model of the present invention, the effect of downtime on a single server does not have a global impact.
Therefore, systems and methods for providing an enterprise-wide flexible software licensing model are provided. It will be understood that the foregoing is only illustrative of the principles of the present invention and that various modifications may be made by those skilled in the art without departing from the scope and spirit of the present invention. Accordingly, such embodiments are presented for the purposes of illustration rather than limitation and that the present invention is only limited by the claims that follow.