UPS Could Learn from Routing Protocols
I wonder why a company with a speech recognition phone system, online tracking and all these fancy tech features haven’t figured out something as fundamentally important as routing protocols. Case in point. Two weeks ago, Toledo, OH got flooded. I ordered some vitamins a week ago and they were shipped from Nevada this past Monday. For two days, my package has been stuck in the UPS center outside of Toledo, where they sent it to from Nevada.
Here’s what I am having trouble with. They knew that the distribution center in Toledo had some flood problems keeping them from getting stuff out of there, so why did they send it there in the first place.
Lets have a little background on routing protocols for those non-geeks in the class. When computers talk over the internet, they have to know how to get from your computer to say, google’s data center. I am going to use the mapquest illustration. You could get from Battle Creek, MI to Miami, FL by taking a virtually infinite number of road combination. Of those, there is a fastest route and a shortest route, a route that avoids highways, one that avoids tolls, etc… Mapquest lets you pick combinations of those options, sometimes you want to save gas, so you take the shortest route. Other times, you are in a hurry and want to get there as soon as possible, so you take the fastest route.
Routing protocols work the same way, most of the time you want the fastest route. Sometimes one route costs more than another. Sometimes you just want to get the data there no matter how far it goes. BelieveĀ it or not, routers have the same kind of options that mapquest does. I am mostly concerned (today) though with just getting the data (or my package) there.
Here’s a scenario. Normally, a routing protocol on the internet will try to determine the fastest (least latency, or time in transit) route from my computer to Google’s datacenter in Mountain View, CA. Let’s say that the fiber link from Chicago to San Jose (I doubt there actually is one, but bear with me) got chewed in half by a squirrel. That was the fastest route, although others existed. If the routing protocol operated like UPS, it would send the data to Chicago and Chicago would send it down their fiber to San Jose (since that is the fastest route). The squirrel would be blinded from the laser in his eye, but the router in San Jose would never acknowledge that the packet got through, so Chicago would keep trying to send it until the fiber got repaired. In the process, they would have to store all the other data that came in destined for Google until the link was back up (which would add up rather quickly).
Sounds absurd, right? Especially if the router in Chicago had another (albeit longer) path it could go through to get to San Jose. Here’s what actually happens. Let’s say Chicago had another connection to Houston, TX and Houston had a connection to San Jose. Chicago would detect that their link to San Jose was down and send the packet to Houston instead. Houston would then send it to Chicago. We’re talking like a thousand miles away, but at least the packet gets through.
Here’s how UPS could apply that concept. They knew a week before my package existed that there was a flood in Toledo. No packages were getting through. A big squirrel chewed up their road. They sent my package there anyway and shot their laser in the squirrel’s eye. If they had any idea about how routing works, they could have thought to themselves, Toledo is broken, let’s see if we can find a way around it. I am not advocating that they go a thousand miles out of their way to deliver my viamins, but they could have at least went around the flooded area. Alas, they sent my package to Toledo and until they beat up the squirrel and repair the fiber, I am without my vitamins and may have to go to the health food store and pay 4x more to tide me over in the meantime. Or I can just stay cranky and churn out a couple more insightful rants. We’ll see.