If you don't know anything about data deduplication, this is not for you.
you have to have previous experience with data deduplication, and know the differences between the different types of data deduplication
I will install CentOS 6.3 and give you SSH access to my dedicated server, and you will need to be able to do:
build a reliable, highly secure data backup server, and you will need to setup all encryptions required including SSL (we supply the SSL and you install it)
The purpose of the server: we will create clients account with specific quota, and clients will be able to backup their data to their account thru the internet (not thru an internal network)
data across all accounts must be deduplicated using byte-level deduplication (not file-level, and not block-level). unless it uses some seriously extensive resources, in that case, i would settle for a block-level deduplication (not file-level)
if it is possible to run a quick deduplication on the client-side computer before data gets sent to our server(s), that would be a great advantage, since it would be less data being sent over the internet, which means less bandwidth being used, which means less used resources on the server-end, and less bandwidth costs
the server must have the ability to handle unlimited amount of accounts, as well as the ability to resume backups, and the ability to backup only the changed bytes or changed blocks of data from a file. some files will be very large like some [url removed, login to view] files and or a large database file which may be 10+GB in size, and uploading this kind of file over a 1mbps connection might take long hours, days or even weeks, and thats why it needs the ability to do resuming until the whole file is uploaded, then only send the bytes and/or blocks of changed data
i will need you to recommend a secure way of transferring the data from the client-side to the server-side, either using a secure ftp, or rsync, or any other methods that you suggest it would be the most secure method of transferring the data
once all of the above is done, then we need a backup software (preferrably an open-source) which you can make fit our requirements.
this backup software will be installed on the client-side computers, Windows 32bit/64bit, Mac OS, and Linux 32bit/64bit.
client should have the ability to choose the files/folders they would like to backup, as well as pre-configured settings like "Email", "Photos" etc...
the client will enter their username/password which belong to his account on our server(s), he/she sets the schedule when to do backups, as well as doing backup while computer idles. backups will be encrypted before it's sent to the server(s) automatically. without a valid account, client will not be able to use the software for any other purposes. if we can rebrand the software, that would even be great, but this is not necessary if it will save us a great deal of money
if you know how to automate this process using some kind of a script which can be integrated on a website, that would be a great.
ex: Customer1 visits my websites, and decides to signup for a 1TB of disk space for $10/month recurring transaction. when Customer1 fills out all his info and enters his payment is approved, then his account is automatically created on the server, and he will receive an email confirmation that he can start using his account immediately
customers should have the ability to restore files and folders directly web-based, and/or from the client-side software
if you can do all of the above, i might hire you to do the website for this project. but the website will be a separate project for now
1) i will not accept outrageous bids, as i can go and purchase ready software instead
2) i will not pay outside freelancer
3) i will put escrow agreed amount in milestone, but nothing will be released until the full project is completed, tested, and i'm satisfied, no exceptions
4) make sure you estimate the time as accurate as possible.