But you don't really need 40,000 GPS receivers, you just need one, and put the antenna up on the roof. Then you have one computer attached to it that keeps time, and all the others can sync from it over your network.
I suppose with that many clients, your time computer might get overloaded, so we better create a second tier of load balanced servers that can query the tier 1 time computer thingy, and serve requests out to the rest.
The scheme just needs a name. Lets call it the Network Time, umm, Program. There. Done.