Time Machine works off a pretty basic concept. The idea is that every backup looks like a full backup on disk, and they are divided up into timestamp based folders. Behind the scenes, hard links join together all the identical files, ensuring only one actual copy is taking up space. If data changes, it just copies the new file over and future backups hard link to it.

Rsync can replicate this setup pretty easily, the challenge from Windows is ensuring the backup destination supports hard links. If you enable SSH access on your ReadyNAS, rsync can run via that and just hard link without concerns about SMB setup possibly mucking it up. I'd recommend creating a read only SMB share to allow reading back the data when needed. I've seen Windows do weird things to hard linked files via Samba, where instead of breaking the hard link if a file changes, it updates all linked files.

Here is a script I use to backup files every 4 hours. The way it handles pruning old backups is a closed loop that runs for a week. Each backup is stashed in a folder like Mon/04. Thats the backup from Monday, at 4am.

Code:
thisday=$(date +%a)
lastday=$(date --date='4 hours ago' +%a)
thishour=$(date +%H)
lasthour=$(date --date='4 hours ago' +%H)

rsync -av --delete --link-dest=/c/backup/mail/$lastday/$lasthour/  /var/vmail backupuser@nas:/c/backup/mail/$thisday/$thishour/


The key thing in that is --link-dest. That should point at the last backup, and rsync will create hard links from that last backup for any identical data. /var/mail is the source, then the last file path is the destination for the current backup.

The above code is a bash script, but it should be pretty easy to adopt this to Powershell, and use an rsync for windows binary. Or you can go the cygwin path.