There must already be existing systems that perform this function, as there are many places that are selling metered wireless connections. KCI Airport has a system in place, as do many airports across the country, as well as Starbucks and other chains. Some of this is likely being done with open source. I'm curious about a slightly different application foof this concept - is there a way to log a user out for inactivity? There is a "logout screensaver" for Windows that will force a logoff if the user is inactive for a specified time, but I've never come across the option in an obvious place in Linux.