It will take commitment to teach your dog not to jump but it can be done.
A few ways:
First teach a sit.
My way of doing it is to walk right through a jumping dog. They are jumping I ignore them and keep walking, if I step on a toe 'oh, well'...I will only make eye contact when the dog stops jumping...I will then encourage the dog to sit and give it a cookie when it does.
I have to say that ignoring a dog (no: eye contact, touching, NOTHING) works the best at getting across the message that you don't like something they are doing to you. Pushing the dog off is (to them) a signal to play. Eye contact or talking is like praise. If you want him to stop, pay no attention to him until he is calm.....even if it takes him an hour. He WILL get it eventually, you just have to stick to your guns.
If he can't control his behaviour around guests, then yes I would put him in a time out. I would take him as soon as he starts an unwanted behaviour and put him where he will have absolutely no contact with anyone and he can't see what's going on. When he calms down I bring him back out. If it starts again..rinse..lather...repeat...
Consistency...consistency...consistency...
And, teaching that sit will help you have a bit more control..you can reward him when he sits and he will leearn to control himself in order to get that reward or in order to get attention.
I love my dog, he is my helper...and like a part of my family. I trained him to be my hearing/walker dog myself...He has had his fair share of timeouts..(and still gets them every now and then!