When to Use Session Facade, ServiceLocator and Business Delegate

As per my idea, all the three patterns are used to hide the complex business object locations and invoke the business layer with out knowing about where they are located the as well as complexity behind that.

Lets Say, Service locator will be used for complex look-up operation in ejb layered application. I feel people are also using business delegate for the same purpose. It could be great if some one advice which to use in which scenario.