You have to build a desktop (stealth) process that able to dynamic throttle bandwidth for selected Named Processes, or based on URL/IP address, or Port, or any combination. Alternatively, to throttle all processes, except those defined Named Processes, or URL/IP or Port.
The to be throttled (or not to be throttled) applications' info to be provided in a hash file, that is configurable via Web and auto-downloaded to local machine.
The bandwidth allocation is to be fully dynamic adjustable, e.g.:
a. Set the bandwidth allocation to DEFAULT for minutes 0 to 5,
b. Set the bandwidth allocation to 128KB for minutes 6 to 7,
c. Set the bandwidth allocation to 64KB for minute 8 to 9,
d. Set the bandwidth allocation to 32KB for minute 10 to 15,
e. Set the bandwidth allocation back to DEFAULT for minutes 16 to 20,
f. Repeat from b
Full source-codes and documentation to be provided as part of delivery, and no third party DLL/application or open source solution should be use, except those from Microsoft.
Operating System: Window XP Home Basic (minimal), Window Vista Home Basic (minimal), Window 7 Home Basic (minimal).
Development language: Either Microsoft C/C++ or Microsoft C#.
Progressive payment is recommended.
The offering is for the Phase 1 of the development, which contains only the throttling process, exclude the web configuration part. The Phase 1 deliverable should include a process (self executable installation program) that to be installable to local desktop by end user, reading a predefined HASH data file.
Success bidder will be given priority on bidding for subsequent phases and future maintenance contract.