I have a 2.5 year old who is not much of a sleeper - as in, he sleeps on normal days from 10pm to 6am, plus a 2 hour nap on weekdays and sometimes on weekends. We have a fairly good bedtime ritual, although the times aren't always exact (we have a 10 month old, and both work, so we can't be perfect with times unfortunately).

* 8:30 to 9: go upstairs, change diaper and into pajamas. Take one or two toys - not much of a stuffed animal guy, more into trains/trucks/cars.
* Brush teeth
* Read 3-4 books
* Turn off lights
* Turn on 'nightlight' (either a truck light or a turtle that shines on the ceiling)
* Sing songs for about 10 minutes ('wheels on the bus' type things, whatever he asks for)
* Sit quietly next to his bed in a rocking chair while he lies down and falls asleep

This works well 95% of the time. He might argue some, but usually goes to bed nicely. However, occasionally (I think when he is either overtired or had a modification to his time schedule so that he's not tired yet) we have extremely difficult times getting him to bed.

Specifically, he will do the usual yell/run around/jump around, and even get somewhat aggressive with us - biting, hitting, etc., which is very unusual for him. We try to deal with this with standard "strong willed child" techniques, such as time out (which he normally does okay with now, even though he's a bit young for it), but they simply don't work - he is too excited and wound up to calm down enough to do a time out. Sometimes giving him some lights-off play time works in this case, but usually it doesn't, because he's not capable of being calm enough for it to work - and it seems like it is rewarding him for bad behavior.

One thing that has worked before was locking him in a room (not his room, as that doesn't have a door currently, either the guest bedroom or a bathroom) until he calms down, but we're not sure that's a good idea from a mental point of view - and it tends to be destructive to the room.

Any suggestions for how we can either effectively enforce our limits here, or blow off the excess steam? We can't usually tell ahead of time if it's going to be an issue, unfortunately; sometimes we can guess but then he goes to sleep perfectly - the line between 'exhausted' and 'overtired' is not always easy to spot.