Depending on the size of the tank, and the species of fish being kept, there are a few algea eaters out ther.
Oto cats (otociculas -spelling?-) should be in a shoal of atleast 5, these little guys do a great job at cleaning algea, but I'd recommend having live plants for them and a tank of atleast 30gallons.
Snails, these guys are alright at cleaning algea, well suited for smaller aquariums, the rule of thumb for snails is 1 for every 3-5gallons. If you've got a tank of about 10gallons then these guys would be great. However the do take a while to clean all the algea and even then it does look like streaks of clean glass and algea covered glass.
Chinese or Simase(sp?) algea eaters, these guys grow pretty big (I've heard of ones reaching 10"), these do a good job at cleaning algea when young and small, however once they reach about 4" they begin to suck the slime coats off other fish (thin bodied, slow moving fish such as Angel fish and discus).
Plecos, probably the best cleaners of algea out there. There are quiet a few species that are suited to tank 15gallons and up, Bristle nosed plecos are the most common algea eaters for smaller tanks as they stay small (about 5-6") and they do a fairly decent job of cleaning algea. There are larger plecos such as commons and Gibis that do an excellent job of cleaning algea, unfortunatly they grow to a maximum size of around 2 feet, and they do produce alot of waste! Most people will still buy a common or gibi pleco for tanks 25gallons and up and get rid of them when they reach a certain size (I get rid of mine once they're about 8-10").
Hope this helps you make the right choice. Aswell, there's always the non-fish solution. Go to your LFS (local fish store) or LPS (local pet store) and buy an algea scrapper and magnet. These things work very nicely and all you have to do after is scoop out the excesse floating algea. Quiet simple really, plus you don't need to worry about your tank being overstocked or the algea cleaner growing too large.
Hope this helps,
Ryan