What are the factors that made this a hard problem? Isn't having 1,000,000 open TCP connections kind of similar to having a 1,000,000 row key-value database? As long as it fits in RAM it doesn't seem too terrible.<p>You could even do the TCP protocol in userspace and literally use a key-value database to store all state, I think.