One way to go about it is to convince all of your and your customer's customers to set their web browsers up to use your proxy cache server specifically. Most web proxies will use their own IP address to go and fetch content. Your outbound data flows over your terrestrial pipe, and so does some of your inbound data. There are various ways of encoding those streams, ranging from Frame Relay to IP tunneling. But that's the basic idea.
Geosynchronous satellites are way out there.
Tens of thousands of miles out. It takes a long time, relatively speaking, to get data out to them and back. Then, to send it back over fiber or copper takes 100-150ms. The total is 400ms or so on average. It turns out that 400ms as a total round-trip time is a lot better for TCP utilization and perceived throughput than 600ms.