Archive for the ‘Internet’ Category

Standards Pedantry: E.164

Tuesday, January 12th, 2010

This tweet pointed me toward an article on Network World, which talks about E.164 support in Cisco Unified Communication Manager…  And it got me thinking about something that has bugged me for years.  I wouldn’t go so far as to describe it as a pet peeve but it comes pretty close.  The simple fact is that most people don’t know how to communicate phone numbers.

To some extent it’s the same issue as communicating a URI, which people assume is a website (http://) if it looks like a hostname or an email address (mailto:) if it has an “@” symbol embedded.  There are so many cases in which this is ambiguous, but the popular language is largely unaware of these possibilities.  E.g. we could be discussing a management object or an IM address.  With phone numbers it is no different, except that the popular conventions are localized.  In North America it’s commonly accepted to ignore country code and just provide a 10-digit number: (NPA) NXX-NNNN.  Within a local Area Code it is common to drop the NPA entirely: NXX-NNNN.  There are localized conventions like this all over the world, because unlike web and email addresses there is a historical pattern of emphasis on local usage (i.e. calling local numbers more frequently than long-distance).  But clearly this convention ruins communication across boundaries; if I’m given a 7-digit number from outside my local area, I have no idea how to use it.

As our economy has grown to global scope, our communication of telephone numbers has not kept up.  This is where E.164 comes into play.  It is a standard agreed by the international community, which defines a common way of describing a complete telephone number.  Starting with “+” to indicate E.164 completeness, the number follows a simple allocation hierarchy from Country Code onwards.  The standard also describes acceptable separators, which are used to make the structure and groupings more clear to a human.  This could result in a number such as +1-888-225-5322 * or +44 20 7981 3040 *.  For even less ambiguity, one could represent a number in the URI form by prefixing “tel:”, as in tel:+1-888-225-5322.

Even if you don’t use this form in common day-to-day communication, it is important that everybody understands these conventions well enough to identify ambiguity and avoid it.  Not only will our global communication improve, but I’ll be happier with my almost-pet peeve. ;)

Metadata, APIs, and Feeds

Wednesday, December 23rd, 2009

Just for fun, I’m playing with a few plugins on this blog that are intended to provide metadata and catalog services.  For instance, there is a plugin called ScholarPress COinS which inserts a Context Object in Spans (aka COinS) element into each post.  The COinS element provides metadata about the post, such as the title, author, date, etc, making it easily importable into other tools (such as Zotero) or reference / search platforms.  In order to expose this sort of metadata in a catalog form (i.e. list, resource map, etc) I’ve also installed the COinS-PMH, OAI-ORE, and unAPI (also see Peter Binkley’s blog and unAPI.info) plugins.  I wanted a complete OAI-PMH plugin but couldn’t find one; please let me know if you’re aware of this space and have a suggestion of where I could look.

Given that most of my blog posts aren’t the sort of thing people will care to archive, I recognize that most of these plugins aren’t practically useful–they’re just for me to play and learn.  However, I also installed a PubSubHubBub plugin which, not surprisingely, implements the PubSubHubBub protocol.  Basically, it pings "hubs" when a new post is available, which in-turn pings a list of URLs that have been registered as web-hook callbacks.  The built-in hubs are http://pubsubhubbub.appspot.com/ and SuperFeedr, and I’d like to implement my own hub just to become more familiar.  The interesting example of how this could be interesting is SuperFeedr’s ability to translate feed pings to an XMPP stream (aka Jabber).  I’ve got some interesting ideas about how to use that in some infrastructure management and monitoring tools.

So, if you’re interested in experimenting with any of these technologies please let me know.  I’d be happy to test out new code, either in this blog or independently.

Reflections on MPLS 2009

Monday, December 14th, 2009

It has been well over a month since I attended the MPLS 2009 conference and participated in the panel on Emerging Technologies and Business Architectural Impact, and it is about time (over-due) that I posted my thoughts.

Foremost, I should say Thank You to Monique Morrow for organizing such a great panel and inviting me to participate.  I’ve known Monique as a colleague and friend for a while now, and whenever we have chance to meet she never fails to impress me.  In the context of this panel, I was dumbfounded at the quality and breadth of the other participants that she secured.  Monique moderated the discussion such that the panel’s large size was a benefit rather than liability.  As a panel we managed to cover multiple topics with decent depth, and were each allowed to illustrate our different perspectives.  I’ve been told by several audience members that it was an excellent panel, and from my (admittedly biased) perspective I must agree.

As for the discussion itself, I very much enjoyed participating.  Considering the quality of the other panelists, I am honored to have been included; each of the other panelists are recognizable for their contributions and role in the industry.  Given my respect for the other panelists, I tried to enter the conversation prepared and did not hold back any of my significant thoughts during the discussion… for better or worse.

Some of my comments may have included points that were controversial.  For instance, one theme that ran through the entire discussion was the complex balance of cost vs. capacity vs. features in network devices.  I challenged comments from Vijay Gill (of Google) and Donn Lee (of Facebook) which argued in favor of very-large dumb switches. ("dumb" is my word choice, but I suspect they would agree)  From their perspectives, as engineers for large web properties, they need to scale out single-tenant environments to support Internet-scale traffic loads and a simple L2 or L3 switch would enable their topology.  But, I argued, they were "weird" in their requirements, which are unique to large web properties.  Service providers and enterprise environments need more features in order to deal with the complexity and changing "customer" requirements they face daily.

After the panel I had the opportunity to chat with Vijay and Donn, and they had an interesting view of the cost / capacity / features debate.  Their comments deserve some focus, so look for a future post on this topic.

Another topic was the relevance of standards, which wasn’t particularly controversial but which caused some interesting comments.  My point was that standards are critical to the industry, but in the same way that fundamental research is critical to science and technology (broadly speaking).  We need to put effort into standards because it brings people together and promotes the state of the art.  But we also need to recognize that functioning interoperable implementations are what matter, regardless of the standards conformance, etc.  In other words, standards bodies should work diligently but not take themselves too seriously in the process.

Regardless, I hope to be included in future panels such as this one (at the MPLS conference and/or elsewhere) and I’m glad to have had the opportunity at MPLS 2009.  I would absolutely recommend that you attend future panels by Monique, at MPLS 2010 or otherwise, whether I’m taking part or not. Though, obviously, it would be better with my opinion included. ;)

Participating in MPLS 2009

Saturday, October 24th, 2009

I’ve meant to post something about this before now, but I suppose it’s better late than never…

I’m traveling this weekend to Washington, DC in order to attend the MPLS 2009 conference. Specifically I will be participating in a panel hosted by Monique Morrow entitled Emerging Technologies and Business Architectural Impact. The topic of the panel is described as “Cloud Computing, P2P applications, Social Networking and Infrastructure Required to Scale” and also includes a handful of panelists from other interesting companies, both vendors and service providers.

The program for the technical sessions can be found at http://www.isocore.com/mpls2009/program/technical_sessions.htm.

If you’re in the DC area and want to meet up, please let me know. If you’re going to be attending MPLS 2009 then definitely stop by and say hello after the panel.

Donn Lee on Need for 100G and 1T Ethernet

Thursday, October 1st, 2009

Facebook friend Donn Lee presented on the need for 100Gbps and 1Tbps Ethernet at a recent Ethernet Alliance meeting. (found via Data Center Knowledge) You can watch the video here:

http://link.brightcove.com/services/player/bcpid1701276884?bclid=1622640422&bctid=40363249001

In addition to Donn’s presentation there are very good presentation videos from Google and Brocade that you can view at the above link. Bikash Koley from Google gave a great talk, and hints at some of the deep architectural problems posed by cloud services during his post-talk Q&A, so be sure to watch until the end. While watching Donn’s talk I was pleased to see that he can present real details as a Facebook employee, as opposed to censored presentations I’ve seen him give when he worked for Google. In particular it’s nice to see numbers on each axis of his graphs. ;)

In any case, his discussion centers around the port bandwidth needed for non-blocking Ethernet fabrics at high bisection bandwidths. His argument is that the bandwidth needs of Internet-scale properties like Facebook are outpacing the progress of the vendor and standards community. I especially liked one of his example network topologies, which illustrates how crazy things can get when you need lots of bandwidth throughout a datacenter:
fabric-chaos

This is a topic that I’ve been struggling with over the past couple years, as I’ve worried about building a non-blocking datacenter fabric that can support arbitrary workload distribution. And after all this time worrying, I’m not convinced this is the right strategy. Please don’t misunderstand; I’m certainly not convinced that it’s a wrong strategy. But, considering the technical and economic challenges, this approach seems pretty weak on its own. My opinion (until I’m convinced otherwise) is that more bandwidth and clever fabric topologies must be supplemented with some form of workload distribution management.

In enterprise or single-tenant environments this should be much easier than in a service provider cloud, because the relationship between each node can be determined and/or planned. But when anybody can throw any sort of workload at the infrastructure, creating opaque relationship topologies, what’s a network architect to do? That’s a real question–please send me pointers if you’re aware of existing work. Otherwise, I guess I should start wishing for the appearance of 1Tbps Ethernet in my future.