Salesforce now allows Apex developers to invoke Asynchronous Callouts. This means that now, developers can initiate callouts from within Salesforce which can respond back in more than 2 minutes (governor limits) and assign a callback mechanism, to handle response for such callouts.
The mechanism is called continuation, wherein all such asynchronous requests are submitted to a Salesforce continuation server, along with a callback method. Continuation server takes care of web service invocation. Once continuation server receives a response from web service host, it calls the callback method specified during invocation.
With this, visualforce pages can be designed in a way that they submit an asynchronous request and continue with rest of the process. As soon as response is received an async method is called which can take care of the related business process (update records, refresh VF Page etc.)
For more details refer :-