My mind was recently blown. I’ve been thinking a lot about the growth of the future Internet and I think I’ve found the way forward in a relatively new project to revolutionize how machines talk to each other on the Internet. This is really geeky stuff, but the paradigm shift that this new protocol provides is astonishing in its implications.
Some background for those who know little about how the Internet works.
The Internet was built on top of telephone networks that were already showing their age. The main protocol of the then ARPAnet, TCP/IP, was built upon ideas formed at the beginning of packet switched networking. Simply put, the protocol defines IP addresses and some basic communication mechanisms (TCP and UDP) for one machine to talk to another. This protocol persists today. Every machine on the planet that is hooked to the Internet (and many that are not) possesses an IP address that looks like this: 10.61.37.209.
In the 1980s as the user base of the net started to expand, engineers decided that remembering all of these IP addresses was becoming difficult. The impossibility of keeping hundreds of these little addresses up-to-date in ones mind or in some text file surfaced the need for another layer to make this thing scale. The Domain Name System (DNS) was born. Put simply, DNS builds on the existing protocols of the Internet with a new application that maps human readable names like google.com with brutish IP addresses. The average user of the Internet doesn’t even have to care about IP addresses anymore. Neat trick.
The problem with DNS is not that it doesn’t scale or that it doesn’t make things easier, it certainly does. The problem is that the names that it presents mean absolutely nothing to the network. You type ‘google.com’ into your browser and a whole bunch of stuff happens in the background to make that page appear. The fundamental nature of the beast, though, is connecting your IP to google.com’s IP and letting your two computers have a conversation.
The Internet was designed for one machine to share information with exactly one other machine. There are other protocols that can be used to connect one machine to many machines (like IP Multicast), but they go unused on the wide Internet and are generally limited to local networks.
This is the part of the Internet that doesn’t scale. We’ve made great strides to accommodate the growth of the net with modern routing algorithms and load balancing techniques, but the fundamental thing is still the same. We need a new way for the content itself to be addressed directly, regardless of what machine it lies on or even where in the world it is. The network should be content agnostic, but remain simultaneously content aware. This is where the shift needs to occur on the future Internet. IP is dead.
Enter Content-Centric Networking, or CCN. This project is run by Van Jacobson at the illustrious PARC in Palo Alto, CA. PARC is famous for many things, but most notably for popularizing the user interface that you’re using to read this page with. Van Jacobson was a major contributor to the initial project that came up with IP in the first place. In other words, CCN is being spearheaded by on of the very authors of the spec that its trying to replace. Nice hack.
CCN replaces IP addresses with names for content. These names mean something to the network, in fact they are the only thing that lets stuff speak on the network. This sounds like a simple idea, but it is insanely powerful. By simply replacing the address 188.8.131.52 with the name “google.com” we enable any device, or any person for that matter, to no longer care that the content that I’m asking for is on a machine in a data center in (in this case) northern Virginia. In fact, that content could be many places in the world simultaneously and I don’t really have to care anymore. The network simply provides the content through whatever channels are available at the time I asked for it.
This new paradigm is radical and changes everything. Abstractions like DNS and load balancing are no longer necessary in a world of a CCN-based Internet. Content can come from anywhere at any time. This enables devices (and the people that use them) to carry content with them and provide it to anything else around them that wants that content.
One example of this would be networking the un-networked world. Let’s say I have an AT&T iPhone and I’m travelling to some remote place. This remote place has no cell signal, but other people in the area have devices that are interconnected with each other. There is a well-trafficked highway with a cell signal within range of one of these people. I can still read my email with the help of CCN. My device doesn’t need to care where the data comes from anymore, it just puts out a request (or Interest as it’s called in CCN-ese) for it and waits for a response.
Upon registering the intention for a certain piece of email, the network looks around for a way out and sees that someone on the highway is allowing people to talk through their T-Mobile cell phone. The request is passed up the chain to some machine that has a copy of that email (it doesn’t need to be my server, it can be any machine on the network that has seen this email in the past). The email is passed back down the chain, through someone’s Verizon cell phone, and eventually ends up on my AT&T iPhone.
This isn’t some pipe-dream. Bits are just bits in the CCN world and can live in a cache, or on some server or on a router on the network. As long as the content is valid, it’s sitting there waiting to be consumed. If I were looking for CNN.com, that content would be in caches all the way up the chain and my response times would be very low because the cell phone passing by on the highway would only have to ask the cell tower to send it the data.
The idea of replacing IP addresses, which no user in the world cares about, with names for content, which every user in the world cares about, is not new. CCN is the current best approach that I’ve found to the problem of fixing the Internet. It will take years for this new protocol to catch on, and Van Jacobson has thought about that a lot. In fact, CCN is set up so that it can be used on the Internet as it exists today! The protocol is being worked on in full public view and they are asking for contributions to their open-source reference implementation.
Many have probably noticed already. In iPhone’s Safari browser if you “continue at your own risk” through to wave.google.com things just work! It’s pretty cute, but I didn’t see anyone editing anything while I was testing it out…here’s a shot.
The relative youth of cloud services makes them susceptible to being used for things that they aren’t designed for and, probably, should never be used to do. Of note is this recent entry on Amazon’s EC2 message boards. Richard Haas points out what he sees as a detriment of the service:
What if you want to host highly configured persistent system instances? Imaging a work group server — every other day you may add cron tasks, additional SMB shares, more Postfix configuration commands, etc. The “thing” that you care about is the system itself, not some separate volume of data. The system itself and its capabilities/functions continue to evolve daily, perhaps by the work of multiple administrators across the globe.
You’d like to retain that information/configuration/function across multiple start/reboot cycles … how do you do that?
Right now, the only method that is obvious (to me) is performing instance backups … then constructing new instances from the backups — boy that’s labor intensive and fraught with peril.
Or is EC2 only useful where the system configuration is fixed/generic/non-persistent? That would IMO be a waste, given the disaster recovery/continuous operation capabilities of cloud computing.
I know nothing about Richard Haas, his motives or his understanding of IT issues, but I see this as a naive view of how the cloud is supposed to function. I think he sort of understands the idea, but the execution has been missed in his mind.
This is, unfortunately, the predominant wisdom of most IT people out there. You set up a server to do some task, like serving files to locally connected users, and then that box runs forever until you get a new one. This model doesn’t work exactly the same way for clouds. Clouds aren’t designed or meant to serve data like that. They are meant to be generic server containers attached to some data storage that contains everything they need to do their job.
Enterprise IT has long held the notion that the data and the server OS are somehow tied together. They are not. The IIS web server is no more a part of of the OS than is MS Word. Apache may come as a package on most Linux systems, but that doesn’t make it any less of an application.
The heart of cloud computing is returning to the model that applications, data and operating systems are completely separate beasts that should not be intimately intertwined. Any one server or application or dataset is completely independent and can live anywhere in the cloud.
Gone are the days of the server request for a big Sun V890 server with gobs of RAM and Terabytes of expensive storage. Those things simply don’t matter in the cloud world. What matters is what application is running, what services it needs, how its data is stored and how it can scale horizontally across many server instances. We have to think more like mainframe people than open systems people.
Enterprises will not be able to take fill advantage of cloud computing services as long as they see them as simple replacements for their current infrastructure. The new model is an update and resurrection of an old one of centralized mainframe computing. Tell me your workload and I’ll make sure the thing keeps running…no matter what physical server it’s on.
These are notes. I am needing narrative.
Read these things:
http://www.marginalrevolution.com/marginalrevolution/2009/03/assorted-links-3.html (yes i do agree with this)
Put on top of that, this startling statistic. The actual unemployment rate (counting those who have stopped looking for work and those who are part-time employed due to economic reasons) is 14.8% as of Friday [http://www.bls.gov/news.release/empsit.t12.htm]. Astounding. To say that we shouldn’t be stimulating the economy from the government angle is dangerous, I think. The damn bill was too small [http://www.talkingpointsmemo.com/archives/2009/03/bleak_house.php, http://mediamatters.org/items/200903060025?f=h_latest] and a lot of economists do too.
Now is not the time for idealistic musings about the size of government and their role in our lives. The government is back-door nationalizing the banks, will end up taking over mortgages at some point, and will likely be the economic engine of our country for the short-term. This is a good thing because it cannot work any other way. The market failed us this time. There simply isn’t enough “there” there to make things better without serious intervention.
The right wing whines about how Obama is pushing some far-left progressive agenda. It’s awful. It’s inhumane. [http://economistsview.typepad.com/economistsview/2009/03/what-was-the-point.html]. What’s the point.
These are my thoughts today.
I am researching a new idea that has a lot of potential to revolutionize and, in many respects, help the book publishers to expand their reach and significantly lower their costs. I have been reading a lot of trade rags to get the pulse of what’s going on with them and to see what their views are towards emerging digital technology. One of the most revealing articles I’ve ready is called “The Perfect Storm” by the editor of Book Business Magazine Noelle Skodzinski.
In this sadly misguided post, she makes me wary of doing any business with the publishing companies by calling Google’s deal with the American Association of Publishers and the downturn in the economy a perfect storm for book publishers. “Book Business columnist Andrew Brenneman refers to this perfect storm—brought on by digitally induced changes in the fundamentals of how we publish and sell books, and the global financial crisis, among other things.” This is a dangerous road to hoe given that very few publishers have any right at this point to deny any technological solution to their growing problems.
The publishing industry is poised on the brink of major changes that will allow it to continue to bring us high quality and vetted books and magazines. This “digitization” is inevitable and actually a great thing for the industry. There will be more need to print and ship millions of volumes. The idea of returns and printing fees will disappear. The publishers can focus once again on the thing they are best at and that’s getting books written and distributed.
Unless you live under a rock, you’ll know by now that Barack Obama invited the very influential minister Rick Warren to give the benediction at the upcoming inaugural. My first reaction was one of mild disbelief followed by “why the hell not”. I didn’t see Rick Warren as particularly divisive in the main. Sure, he’s made lots of noise about gay people being this that and the other thing, but whatever – he has the right to his opinion and it doesn’t preclude Obama from liking the guy. Respect of others’ views is important to me, and seeing that Obama picked someone that sort of, kind of, disagrees with his views on gay people made me think more of both of them.
Then I thought about it a little.
Rick Warren is a pretty amazing guy with a good story. He’s not my kind of guy, mind you (religious zealotry not being my thing), but he seems like he wants the world to be a better place. Warren has a HUGE following all over the world due to his writing and his major big-ass church. In short, he’s exactly the type of person that Obama would be attracted to.
So what Obama doesn’t agree with him on one issue, that’s not the point. Obama agrees with him on most things. They are both christian guys. They both like basketball. They both seem to want a better world (in their own image, I’m sure). They are both extremely powerful. These are key points for Obama. I kinda like that, actually.
Then I thought about it a little more.
Surely the left are just being their normal reactionary hyperbolic selves and blowing this out of proportion. Surely Warren isn’t that bad. But then I read this post by Hodgman. These words are of particular interest to me:
THOSE OF US, however, who foolishly refused to take Obama at his word when he told us he didn’t support gay marriage OVER AND OVER AGAIN must now take him at his deed. He really, really doesn’t want gays to get married. SRSLY.
BUT AFTER MCCLURKIN and now Warren, it is hard not to conclude that Barack Obama is somewhat tone deaf when it comes to gay issues. And at this point, if he is interested in convincing us otherwise (and I’m not presuming he is), it will take more than a few words or a second pastor or some other symbolic gesture. It will take deeds.
Hodgman’s silly headline writing style aside, he has quite the point. Obama doesn’t really want gays to marry. Ever. Really. The difference between “Civil Union” and “Marriage” is actually important to him. Really. A Harvard educated man with a long history of progressive views deigns to enter a debate over SEMANTICS? Wow.
Oh. If you didn’t notice, he’s black too. This means he should understand “separate but equal” more than most. C’mon Barack. Endorsement of this silliness is just sad. I’m not angry at all at his openness and willingness to “cross the line”, but I think in some fundamental way he really isn’t crossing any line here. And he’s letting us know in no subtle way that he’s not going to deal with one of the larger social injustices of our time. Sad. Truly sad.
I have a lot on my mind. I hope to expand on each of these ideas as time permits, but in the spirit of getting things out of my brain:
- Someone should write a program that generates music from the pulse of the stock market. Processing would be a good tool for this, I think.
- I want to do an art piece that explores mixing resolutions. The viewer enters a hall that has a HUGE LED screen on one end. They are standing close enough to the screen that all they see are the pixels (no image is resolvable). As they continue along the length of the screen their image is then projected at full resolution next to them. The location of the camera is not apparent and the image travels with them as they walk.
- Green architecture is very interesting to me. I’m trying to see where the gaps are in the greenbuild industry in order to further my research.
- I want to explore the idea of starting a social business that gives away a solar infrastructure to homeowners. Revenue generated from the sale of energy to the grid would sustain the organization and grants would fund research into further operationalizing a distributed power generation capacity in the US.
These are all compelling to me in some way. The artsy stuff is great fun, but the solar thing really gets me going. I would love to hear your input or get your help on any of these, if you are so willing, in the comments.
The hard-fought battle between Barack Obama and John McCain comes to a head this coming Tuesday with the general election in the US. The public tracking polls all show Obama with a decent lead on McCain going into the big day. They basically seem to average out to Obama winning about 50% of the vote and McCain ending up with 44%. This may seem a small difference, but it is statistically significant given our country’s recent history. A Harris Interactive poll in 2004′s election had Kerry losing to Bush by 49% to 48% and it came out to just about that in the end.
McCain has been touting his “closing the gap” in some of his stump speeches over the past few days. This is an indication to me that his campaign knows that they are going to lose. McCain’s rhetoric has not only begun to sound increasingly desperate by using underdog terminology, but he (and his surrogates) are now attacking Obama with arguments that were heretofore unheard of in this campaign.
On October 4th, VP candidate Sarah Palin began talking about Obama’s connection with William Ayers, but this was only just the beginning. In the past few days they have brought up the failure of Obama to “spread the wealth” to his own family, his connection with a former PLO spokesman and his apparent socialist bent. These are attacks that are borne of a “throw it at the wall and see what sticks” philosophy in the waning days of a losing campaign, but I think they are more than that in reality.
McCain knows he is going to lose. His campaign’s internal tracking polls are almost certainly telling him this. Cynicism has overtaken conservative American politics and this is its latest manifestation. The game now is to put as much doubt about Obama’s positions into the minds of the conservative base as is possible. This tactic will serve to grease the wheels for future political maneuvering whenever the GOP has something to rail against.
Even though these accusations often amount to nothing real, they feed an echo chamber of right-wing talk show hosts, bloggers and other activists that will harp on them for more than just a news cycle. They will bring up this garbage “news” whenever it is necessary to distract us from real issues. They will call Obama “anti-American” as they already have and continue to do. They will continue rob the already stretched attention spans of good people with drivel and hyperbole until that is all that is left. Only then has the proper amount of suspicion been cast into minds unprepared.
Instead of fostering true debate within our political system, they aim to supress it with hyperbole and deception. This is the most heinous form of the conservative war machine we have yet seen and is the culmination of 20 years of work by folks like Karl Rove. This has created a political system where critical thought is impossible and true disagreement meaningless. The default milieu for this scenario ends up being something like: “I disagree with you, therefore I hate you and you are un-American for even bringing it up. Let’s talk.”
Sadly we have chosen to allow this to happen in our society. The conservative movement, and even John McCain, used to have a place in my heart as true rivals to my liberal viewpoint. I did not agree with them, but I respected their positions. In recent months I have begun to see that movement as hopelessly broken and in need of serious overhaul. I can only hope that they survive this to fight another day with real issues and true meaning once again. America needs many points of view to thrive and resorting to dogma and cheap tricks that demean its citizens as unthinking voters is not particularly useful.
Obama will, I hope, help begin mitigate this insidious conservative cynicism with a new rhetoric of understanding. Bear in mind that this is not truly new, but a return to the philosophy that our country was founded upon. Anti-American indeed.