Working for the big G, I’m getting a taste of what it is like to be on the ‘other’ side. My previous employers, Motorola and Qualcomm, were obviously more worried about the terminals (or STA or UE or phone or device, depending on the language of choice). I certainly knew in great detail how the network and the servers operated, but, more deeply and passionately cared about what they did to the end device in the hands of the user and what it resulted in as an experience on that device. Saving milliseconds and building minimalistic protocols that were optimized to the last bit were all very important.
I also personally subscribe to the end-to-end principle and hence, truly believe in empowering the client devices. When I fought to shave off half a roundtrip from protocols at the IETF, I was always puzzled by how many people didn’t get it. The roundtrip times on the Internet haven’t exactly followed Moore’s law (they weren’t meant to!). Not to mention that additional roundtrips often presented opportunities to endure further processing delays at various points (more stack times, queue times, and so on). More opportunities for TCP to buckle. There is often nothing good about it (if you were bootstrapping and needed liveness checks or if you were building perfect forward secrecy in key management protocols, sure – go ahead and pack on the roundtrips, but where you don’t need them, don’t!).
Now, I get to be on the ‘other’ side – the side that cares deeply and passionately about the network and the datacenters and the servers. This is a strange switch for me – the same principles turned inside out in points of view. I can see how if you never spent time caring about the end devices, you can be oblivious to the needs of it. But the two points of view are not really at odds, I see. I should be able to apply the lessons learned from the mobile and wireless sides and leverage those to bring an overall perspective to the problem at hand. Of course, Google isn’t about any one side – clearly, mobile is part of the equation. But, it’s certainly more a case where it is “also” part of the equation. There is no mistaking the domination of the network and datacenters.
As I get enlightened about software defined networking, I get to find out whether the demise of the end-to-end principle is real and just how much in denial I have been! I have a sneaky suspicion that by twisting the meaning of Saltzer’s views, I will find a way in which the end-to-end principle holds for the other point of view as well 🙂