It's based on rtmp (real-time "m?" protocol) I'm guessing either "media" or "message" for the m.
The basic idea is that it is able to make a persistent socket connection (think xml socket) between the client and server using rtmp. Rtmp is basically a wrapper for any sort of binary data. Meaning, the server doesn't care what the data is, it just throws a header on of some sort and passes it along. The flash player understands the header, and makes use of the data. To break it down further, it means that as long as the client can understand the data, the flashcom server can stream it. This is what makes the remote shared-object possible. The player simply hands the server an actionscript native object to hold onto. The server associates the object with a client or multiple clients and lets each one know when that data changes.
Flash Com Server has to be located either:
1) on the server of the hosting company you are using (like mediatemple)
2) you have to install it on your own server.
It's a server package it has to be on a server.
If you go to the developers site at macromedia.com and just do a little reading it's not that hard to understand what it is, TinCan was the code name for the beta and FlashCom Server is the name for the final product.