Network Programming

Lezárva Kiadva: Nov 12, 2004 Kiszállításkor fizetve
Lezárva Kiszállításkor fizetve

We want to implement a floating license model into our software such that only a configurable number of copies can run simultaneously on a LAN. The library shoud be written in C++. It should use a peer-to-peer model (without licensing server). It should also minimize network bandwidth usage.

**[PLEASE REFER TO Q&A SECTION BELOW BEFORE BIDDING]**

example:

let's say a word processor is licensed to a company under the floating license model such that only 5 copies can be run at any one time on the network. here's how to do it:

1) the word processor is distributed with a license file, say, a text file with the following format:

- Product Key, a text string, e.g. 7QVT6-T2738-WRKJB-YKRFQ-XVK98

- number of max concurrent copies on the LAN, e.g. 5

2) the licensing component will be built into the word process which reads in the above license file

3) it will do some network broadcast/multicast to communicate with other licensing compoents on the LAN to make sure only the mandated number of copies are running at any one time (in this case, it's 5)

## Deliverables

**Q&A (consolidated from bidder's questions. updated throughout the bidding period)

1) Question:** If someone changes "maximum concurrent copies" value in the license file, how it should be handled ? one possible way is to detect the tampering of the license-file by some hash

**Answer:** for the purpose of this project, You may assume the license file is secure and the license code in the file is valid (i.e. no checking needed)

**2) Question:** do you want the communication between licensing components to be encrypted?

**Answer:** yes, the communications should be secure such that it cannot be reproduced simply by sniffing network traffic

**3) Question:** What is the behaviour if a running word processor with such module doesn't receive ANY response from pings it broadcast/multicast on the network? ... Simply because they're being blocked by network firewall/switch/iptables...

**Answer:** there should a thread that monitors network connectivity. a LAN floating licensed software must have network connectivity at all times and be able to respond to floating license queries while it's running. if at any time network connectivity is lost, the library should have some feedback mechanism to the program using the library.

**4) Question:** race condition. 4 copies are being used, and both Ethel and Frank decide to fire up the word processor at the same time. depending on the timing and implementation, the licensing module might allow both or might deny both. which is preferable, or must the software find a way to resolve it?

**Answer:** the software should find a way to resolve this.

**5) Question:** to simplify the coding, I'd use a fixed UDP port number for this. if the port weren't available, the module would report a failure to the caller. is that acceptable?

**Answer:** yes, acceptable

**6) Question:** checking validity of the license string: do you already have code for that? or is that part of what I would be implementing? will that depend on a central server component or some kind of hash/checksum/consistency-check of the string itself?

**Answer:** the license string will merely be a string inside a text file that lives in the same directory as the executable

for the purpose of the project, let's use the INI file format, for example:

[license]

license_string=a009bf01-3a8f-00fc-b216-2b19eab811ee

max_concurrent_copies=3

where license_string is a string that denotes the license string, max_concurrent_copies limits the number of concurrent copies allowed.

**7) Question:** I am going to use cygwin. Is it OK?

**Answer:** this floating license library will be integrated into MFC-based applications as static library. we do not have experience with cygwin. if you know it will work, that's fine with us.

**DUE TO SPACE LIMITATION, PLEASE REFER TO THE ATTACHED DOCUMENT FOR MORE Q&As**

## Platform

All versions of Windows

**Deliverables:

**1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

C programozás Mérnöki munka Microsoft MySQL PHP Szoftverarchitektúra Szoftvertesztelés Windows Asztal

Projektazonosító: #3431785

A projektről

9 ajánlat Távolról teljesíthető projekt Utoljára aktív: Feb 27, 2005

9 szabadúszó tett átlagosan 68$ összegű árajánlatot erre a munkára

dkkvw

See private message.

$127.5 USD 15 napon belül
(79 vélemény)
5.8
JamesIndDev

See private message.

$68 USD 15 napon belül
(40 vélemény)
4.7
zachriggle

See private message.

$17 USD 15 napon belül
(3 vélemény)
2.7
jamezb

See private message.

$42.5 USD 15 napon belül
(1 Visszajelzés)
0.2
augustin31

See private message.

$85 USD 15 napon belül
(1 Visszajelzés)
0.0
akgvw

See private message.

$114.75 USD 15 napon belül
(0 vélemény)
0.0
vkudal

See private message.

$75.65 USD 15 napon belül
(5 vélemény)
0.0
esil

See private message.

$21.25 USD 15 napon belül
(1 Visszajelzés)
0.0
gotovw

See private message.

$63.75 USD 15 napon belül
(0 vélemény)
0.2