473,396 Members | 1,827 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Floating Licensing Software - Need Sugggestions

Maidenz08
I am trying to build a client server floating licensing software. The methodology im following is as follows.

1. There are two daemons running. One is on the client and the other is on the server.

2. When the user installs the client he points to the IP address of the licensing server. The product key is a combination of the Server Mac Id and number of Floating licenses that the user has bought and the expiry date of the software which is encrypted.

3.The server and the client talk to each other using a designated port. So as soon as the application is opened, the app writes a log file in a particular path which is encrypted with the current date time.

4. The Client daemon passes this info to the server to check if the licenses are available. If the licenses are available the server grants one license. The server maintains the number of licenses available in the pool in a text file which again in encrypted.

5. When the user closes the app it again writes a log in the file which is watched by the client daemon and that particular license is released into the free pool.

I do not have any technical difficulties in archiving the same. But i want to know if the approach im taking to design the tool is right.

Am i missing something here. Suggestions are welcome

Regards,

Alvin
May 18 '09 #1
4 2160
IanWright
179 100+
@Maidenz08
Few things to consider:

1) What happens if the server changes MAC address?
2) What happens if the client can't connect to the server?
3) What if the times are out of sync (by a few seconds, or a number of days)?
4) What if they try to avoid expiry by shifting the date considerably?
5) Ensure that the server file is threadsafe... Otherwise you may fail reading/writing the file or even corrupt it making it difficult to know it's current state again when you restart.
May 18 '09 #2
@IanWright
I will have a configuration wizard where they can change the License server on the clients. And they would have to request for a new license key in case they change a server. Coz i'd guess that they wouldnt keep changing the server frequently. Any better way to do it? I have to restrict the access of the app within the Lan.

@IanWright
Then the app would not work. Isnt that how client server licensing works?

@IanWright
All i was trying to do here is raise an event by the app requesting for a license. So Datetime wouldnt be important here.

@IanWright
Good that you brought it up. Kindly suggest a way to handle it.
May 18 '09 #3
IanWright
179 100+
1) They shouldn't do it too often, but if they need zero downtime you need to be aware that it should be easily switchable. Restricting access to within a LAN. That brings some understanding to some of your other questions that you were asking before... To do that you may want to see if CAS etc is applicable to disable net connections from your app.

2) Yes, but you need a backup in case...

4) I don't know as yet. I have a similar problem to tackle in the coming months.

@Maidenz08
May 18 '09 #4
Curtis Rutland
3,256 Expert 2GB
As to point number 4, I would suggest some way for the client to request the current date/time from the server, and then compare. If the times are greatly apart, have the software refuse to function until the date is set correctly.
May 18 '09 #5

Sign in to post your reply or Sign up for a free account.

Similar topics

9
by: Brett | last post by:
I'm developing with CF 5 and SQL Server 2000. I think they are both great products. The major draw is their cost. I don't develop stand alone products because anyone that wants to purchase them...
7
by: sq1492 | last post by:
There are lots of talks about .Net going around. .Net is considered to be a RAD (rapid application development) framework so the question remains open whether it's useful for developing software...
74
by: John Wells | last post by:
Yes, I know you've seen the above subject before, so please be gentle with the flamethrowers. I'm preparing to enter a discussion with management at my company regarding going forward as either...
6
by: Joe | last post by:
Sorry this is OT... I'm looking for recommendations for generating license keys (machine specific) for our application. I was looking at Quick Licenses Manager which looks pretty good. Is...
4
by: Steve | last post by:
I'm in the process of finishing a vb2005 application for commerical use, and wanted to know if anyone has any favorites for licensing software? Would like something reasonably priced for a...
4
by: =?Utf-8?B?RC1Tb21lb25l?= | last post by:
We have a very large enterprise type of application developed in VB.NET, SQL Server, RS 2005, using win forms and web forms. We are a major international company with 200+ divisions around the...
14
by: Guillermo_Lopez | last post by:
Hello, Our company has developed several Access applications for our clients and we wish to expand to use a database server. We wish to use Access as the front end application and SQL Server...
5
by: Adam Smith | last post by:
Hello, Several of the newer, more professional web sites are using a newspaper columnar layout, with text and links discretely contained in rectangular boxes (square or rounded), frequently with...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.