Comments from Frankston, Reed, and Friends
Saturday, September 10, 2005
BobF at 10:51 PM [url]:
It's Time to Get Rid Of USB Et Al
There is a tendency to create solutions to the problem at hand without thinking beyond. At first the specific design choices seem necessary but over time it becomes apparent that the solution is a special case and that the design choices have become burdens rather than advantages. USB, SCSI, Firewire (IEEE-1394), Bluetooth and many of the specialized industrial protocols are all packet protocols with attitude. By now it should be obvious that the advantages of sharing generic hardware and sharing the intellectual efforts of general packet transports outweigh the benefits of the idiosyncratic protocols.
By now it should be obvious that requirements like synchronous, isochronous, brittle reliability and QoS are solutions rather than technologies. By building them into protocols we lose the ability to take advantage of the ongoing and rapid innovations in technology.
USB (Universal Serial Bus) was a major improvement over the way devices were connected to computers in the past. The first goal was to replace the serial and parallel ports on computers. It is indeed far better than either -- both in performance and in the ability to add many devices. It also made it easy to connect mice and keyboards and even microphones and speakers. USB microphones and speakers have lagged simply because there has been little effort to provide the necessary chips in sufficient quantity but even at today's prices it is still far more flexible and removes the need to have special colored jacks on the computer itself. With USB 2.0 it became fast enough for high performance peripherals like disk drivers and video streams.
The pragmatic problem is that USB still doesn't really work that well. I keep finding that devices and hubs are not recognized or malfunction or disappear or operate at the wrong speed. The basic problem is that the computer system knows too much about USB and can get confused when things are not just right. There is too much "attitude" in the protocol. In theory I can just use USB as a serial path but there are no readily available generic drivers and I've found the third party drivers are often problematic.
One problem is that USB is considered a reliable bus -- devices appearing and disappearing are considered major events. If I disconnect a CD writer at the wrong time the disc is trashed. You can still have this problem over a network but I hope that people are better prepared for network failures. With USB each device is a dependent of the main processor whereas in a network model they are peers.
USB has two modes -- synchronous and asynchronous. The latter is a packet transport that is tolerant of timing problems and the same protocols should work very well over any network. Synchronous mode was designed for audio streams. But the success of IP telephony should demonstrate that we don't need a special synchronous transport. The problem is even more acute in Firewire (IEEE-1394) which has tight timing constraints that limit the length of the cable in order to support isochronous which is a stronger version of synchronous. Maybe this made sense ten or twenty years ago when saving a chip in an HDTV seemed important but now it's just a misunderstanding of how to build communications systems.
Ultimately all of these buses use packet protocols just like the Internet. So why do we need them at all.
The main point is that all of these bus and relationship protocols are special cases of packet networks that implement subsets of standard IP networks. Why not just use a standard network instead of these special silos? We would avoid the idiosyncratic properties that limit their applicability and also create opportunities for failure. More to the point I'm fed up with working around the quirks and limitations and failure mode of each of these protocols. Perhaps you don't have a dozen or two or three peripherals and think it always works. It reminds me of the novice programmer who debugs a 20 line program and wonders why you can't prove that a 2 million line real time system works perfectly according to an imaginary specification. USB doesn't scale.
The problems are far worse for consumer electronics devices that use special wires. The wires themselves have special properties and must be carefully nurtured. One hint at the right direction is Sling Media's Slingbox. While it's positioned as a way to watch your TV programs from anywhere in the world I see it having more potential as a way to convert the signals from your Set Top Box into standard network streams. The current Slingbox tries too hard to compress the signal but I can see a next generation that allows me to simplify handling the signals within my house. Too bad Tellywood is terrified that it might be too easy to view and repurpose their content. They want things to be hard and arcane!
USB came about when we were first starting to understand how connectivity works and how simple it could be. In fact I started my home networking effort in the same Windows group that embraced USB. It did seem like a wonderful idea then and the shared memory model did seem to make programming easier. I was so thrilled to get beyond the serial ports that I didn't worry about the details. Ten years later I have piles and piles of USB device but it doesn't scale where as IP connectivity has taken over the world.
As I wrote this I was diverted to deal with my sprinkler system -- I'm trying to use a controller with an RS-232 interface (AKA COM port). In fact, many devices still use an RS-232 interface. They might as well just skip over all the other buses and just go directly to IP with XML/HTML protocols. No sense in reliving history to relearn the same lessons.
We can keep the USB and other protocols. All I ask is that it be hosted on a standard packet layer instead of requiring its own special transport. It would make it much easier to take advantage of the power of these devices and really use computing. It's just a slight change in the chipsets used -- is that too much to ask for?
BobF at 5:17 PM [url]:
Postings on IP
Writing well formed essays is difficult. It's often easier to post as part of an ongoing email dialog. You should look at Dave Farber's Interesting People for good discussions. You can see the full (i.e. less incomplete) list of my essays on "Frankston".
Warning, I don't proof those submissions as well as I do the SATN ones and there may be embarrassing typos. The archive is sometimes hard to reward because the mail programs Dave uses do a very bad job at maintaining the integrity of lines. But the content makes it worth getting past these problems.
BobF at 3:35 PM [url]:
The Information Trollway
Billing was once just a way to pay for the telecommunications infrastructure but it has become an end in its own right and the primary skill of today's carriers. It makes it difficult for us to get the benefits of the Internet's simple connectivity.
The old cliché of the Information Highway has been supplanted by a trollway -- not only do the trolls want to collect your money, the collection points. In real highways tolls are located at real chokepoints -- where it's difficult to bypass them. On the Information Trollway no expense has been spared to assure that the trolls get paid. After all, trollways are far more expensive than highways.
We do need to fund the building and maintenance of infrastructure but it is all-too-easy to slide from the need to cover costs into the arcania of billing. Using toll booths to collect money is only one mechanism for funding today's highways and we only locate the tolls at natural chokepoints.
Unfortunately traditional telecommunications is fixated on a billing model that is no longer appropriate. The entire system is perverted to meet the needs of a particular billing regimen. The regimen itself assumes that it is the carriers that create value thus preventing others from creating value that doesn't accrue to the carriers.
We accept this model because we have become inured to it. The Internet isn't fixated on the minutia of billing. Unfortunately as we try to provide pervasive connectivity we find ourselves trying to wend our way through the labyrinths of traditional telecommunications. The current carriers are defined by their billing model -- they sell services not connectivity. We will continue to be stymied by their imposed costs and complexities until we recognize that the current billing model has become a perverse end in its own right.
In listening to the Podcast with Nokia's Anssi Vanjoki I was impressed by Nokia's efforts to create a platform not just a cell phone.
He remarked how hard it is to create connections between devices. I see this complexity myself when I read articles about how to interconnect with the myriad of special networks -- especially the cellular networks -- in publications like IEEE Communications. The complexity isn't really intrinsic. It comes from trying to conform to the requirements of network operators. You can't just connect devices -- you must make sure that the messages all pass an appropriate billing point and provide credentials in order to assure that the carriers get paid. For mobile connectivity you must then work around a system designed for carrying phone calls.
We continue to think of communication in terms of wires just like in the 1800's when forests of poles carried telegraph and later phone wires from offices and homes to central offices. The signals were then sent out on other wires towards their destination. How else could it work? Even as telephony went digital and then wireless the idea of the wire persisted in the guise of the circuit. And the billing model continued to be based on the notion of buying particular services from a particular carrier.
This is in sharp contrast with the Internet that doesn't have the concept of circuits -- the relationships are defined by the users not the carriers. It has turned out to be a far more effective and scalable model. It's such a good model that the carriers are replacing their traditional infrastructure with an IP infrastructure -- at least internally.
They still maintaining a fiction of having a special infrastructure and insisting that only they can create video services (see my One Percent essay). They go so far as to each build out their own infrastructure. This is a very very expensive way to maintain a fiction. Wouldn't it be prudent share a common infrastructure?
We see this problem in cellular telephony -- you may be mobile but you are beholden to your carrier and can only connect via others towers if your carrier allows it. My phone might light up four bars in Australia but Verizon won't allow me to use it.
Sure the carriers argue that there are protocol problems but that's a symptom not an excuse. It's a symptom of the complexities of an old-style purpose-built infrastructure -- the very kind that has been rendered obsolete by IP connectivity. The switches in the landline network serve no purpose in this new infrastructure. In cellular telephony we are forced to use these complex switches. 3G IP connectivity is layered on top of this inefficient network.
It's all very complicated and it is a result of trying to maintain a fiction that we need phone companies to provide services and, in turn, they need to bill us for these services even if it means spending many billions of dollars on redundant infrastructure.
Despite building all this extra capacity the carriers act as if they are hording a scarce resource and have to carefully dole out the capacity to preserve "Quality of Service". But QoS presumes you know what the services is so you can decide what's most important. QoS actually makes the network behavior worse because it requires predetermining what is important and then imposing this on the entire networks -- a complicated and wasteful mission. The carriers aren't trying to make things complicated -- they are just prisoners of their own mythology. QoS is just another face on the assumption that they carriers are providing billable services and not an undifferentiated commodity.
Not only are we at the mercy of complex protocols but we have the corrupting effect of putting these rules, priorities and limitations into the heart of the network. Speaking of hearts has your heart called home lately to report anomalies to your physician? It would be feasible to have a pacemaker report back if we could assume simple connectivity.
We sacrifice simplicity in the name of an 18th century notion that we must pay for each service even if we just want connectivity -- it's like buying flour but paying the grocer for the cake you make yourself -- the flour is just a cheap ingredient. Even worse if all you can afford is inexpensive bread and must pay for a cake just to get the ingredients.
In the 20th century, let alone the 21st, we know that IP connectivity is a simple commodity and need to shift to billing for connectivity as a utility.
Much of the complexity that Anssi cites stems from the restrictions imposed by the 19th century model of communications. We must demand simplicity and the ability to craft our own solutions. Once again, we see that in an emergency it's much easier to keep the IP infrastructure functioning than traditional telephony. It's also true in everyday mundane applications.
Today cellular telephony is the closest we have to a ubiquitous transport but as with the flour example, it's priced as a high value service. At 10¢ a message (SMS charge) it would cost a $1000/yr just to have your pacemaker send a few bytes of status message to your physician. As Marie Antoinette was supposed to have said -- let them eat cake!
Friday, September 09, 2005
DanB at 8:54 AM [url]:
Communicating after the hurricane
Nice front page article in this morning's Wall Street Journal, "At Center of Crisis, City Officials Faced Struggle to Keep in Touch" [subscription required]. It explained how the main New Orleans city officials, holed up in the Hyatt hotel, we're able to get emergency power and then do most of their voice communications using Vonage, a VoIP system. The famous WWL-AM call by the mayor, calls from and to President Bush on Air Force One, and more were all done using the system (they ran 8 phone numbers this way). Once they were able to get an email server working (stolen from an Office Depot back room with the help of the police chief), as I read it, city workers with BlackBerries had email connectivity. (I assume the BlackBerries needed a particular server setup which was duplicated on the fly.)
According to the article, later in the week Sprint Nextel got them phones that could work at short range without cell towers, and Unisys helped them set up wireless networks at the Hyatt and City Hall.
See also "VoIP: Proving to be Effective in Katrina Emergency" on the Jeff Pulver Blog, and the blog from New Orleans chronicling minute by minute what it was like keeping a server farm working -- it starts here as the storm approaches (see also the Wired article about it).
I guess the new technologies, like the very old ham radio technologies, were helpful. We really do need to work on distributed, ad hoc communications systems. They seem to handle emergencies well.
Wednesday, September 07, 2005
DanB at 10:26 PM [url]:
Podcast with Nokia senior executive
We've just posted another podcast in the DiamondCluster Wavelengths Open Cellphone series. This one is with a Nokia executive VP, Anssi Vanjoki. Readers of this blog will probably find it of great interest. I got hope from it. If you don't have time to listen to the 30 minute MP3, at least look at what I wrote about it on my personal blog: "Podcast with Nokia EVP Anssi Vanjoki".
The page with the information about downloading the MP3 (or subscribing to the podcast) is on podcast.diamondcluster.com.