UPS recently changed its livery to include the slogan "Synchronizing the world of commerce." As a software engineer and programmer with a great interest in synchronization this seemed to be an odd slogan. In software, as in systems in general, being able to synchronize distinct components (say two remote offices) is important as certain operations may require ensuring that components have the same value for some vital information. However, synchronization is a performance bottleneck. When you have a a 30 minute meeting with your four person project group to discuss status, that's two hours of work that's not getting done on the project.
Commerce used to be an extremely synchronous and slow process. Back in Phoenicia, the purchaser arrived in the market and the vendor arrived in the market. This was the first synchronization point. At this point the purchaser browsed (either asynchronously, or while being directed by the purchaser synchronously). If the purchaser did not yet have the vendor's attention, he would now wait (synchronization point) for the vendor's attention before beginning to haggle (this part is a synchronized
REPL on both sides). Finally, if there is a sale to be made, the purchaser provides currency, waits for confirmation from the vendor, and then receives and leaves with the product in another synchronous step.
This process hadn't changed significantly since ancient Phoenicia. Less than two decades ago, the most advanced order system would allow you to call on a telephone rather than travel in person, but otherwise the process remained the same. Since the turn of the millennium, most commerce now involves more asynchronous steps. A purchaser now goes online (possibly while the vendor's shop is physically closed and empty), browses and selects an item all asynchronously. The purchaser can make a purchase which is handled independent of the status of the vendor. Once the purchaser completes the purchase, the purchaser is free to do unrelated tasks. The vendor now can acknowledge the order at its leisure, package, and ship the product.
This is where UPS synchronizes the world of commerce. Whereas all elements up until this point could be done asynchronously, the only component right now which can prolong the transaction is UPS which is a bottleneck. The parties must wait for UPS to pick-up the package and subsequently for UPS to transfer the package.
In an asynchronous model, a purchaser has one of two options to determine that it has a package waiting. A purchaser could receive an interrupt (notice) that the package is available (like receiving a subpoena, no matter what you're doing some guy will ask if you know what time it is and suddenly you'll be told you have a package). The other option is that the purchaser could poll frequently, like looking in your mailbox or checking the delivery status online.
In a particularly perverse delivery model however, UPS may operate the last leg in a synchronous manner. This final phase is initiated when the UPS driver arrives at your home while you're at work and announces "Hey, you have a package. Be here in two days between 8am and noon or you'll only have one more chance to get it." At this point you begin your busy wait while the UPS driver shows-up at 2:30pm.