Sounds like you're looking for something along the lines of Linux Terminal Server Project: http://www.ltsp.org. These days, a good i5 or i7 based machine could easily deal with a handful of clients. You could even send all your net traffic through Squid+SquidGuard if you had to deal with requirments for filtering on the same box. A simple rsync between your primary system and standby computer for redundancy, add a heartbeat program for automated failover. Toss in something like CrashPlan for offsite and onsite backup and all bases should be more or less covered. How do you want ot deal with accounts? Are you looking at local accounts, or did you want to do something more complex like LDAP, Active Directory, Open Directory, etc? Do you want users to actaully log into the system under a user, or do they only need to hit a web portal to authenticate? Should patrons be able to access USB flash drives attached to thin clients, or will any files created be stored on the server and only accessable through your system, or do you want to only have termporay files that are cleared when the user logs off?