Archive for the ‘research’ Category.

Content Centric Networking:

It has been a while since I read a paper with so much hope, joy, and intrigue. I am talking about the latest work by Van Jacobson and his crew@Parc on Content Centric Networking (CCN). The paper was presented at Co-Next in Rome last month, which by the way is becoming a much stronger venue with more and more interesting pieces of innovative work. CCN is one of the best proposals I have seen in the Content Distribution space in the last decade. I guess the last time I felt this excited about a piece of work in the content distribution space was when I read the BitTorrent paper. CCN basically tries to democratize Content Distribution and re-design the Internet by placing content, and not machines, at its core.

Since the beginning, the Internet has been designed around communications between machines and IP. Most of the Internet traffic today, however, is caused by users retrieving content, and the Internet was not optimized for that (e.g. lack of multicast support). This has often resulted in wasted Internet resources where routers copy over and over again the same data packets or swamped servers. Over the years, we have overcome such problems with imaginative overlay solutions such as Web caching, Content Distribution Networks, and P2P networks, which have worked marvels but which have been also suffered the pitfalls of being after-thought around the original Internet design.

It was about time that someone took a stand and re-designed the Internet protocol stack placing content at the Internet’s core. In this regard, Van Jacobson’s effort makes a lot of sense and it is one of the most interesting proposals for a “Future Internet” design that I have seen (whatever that term means anymore…). Van Jacobson says that CCN is a Copernican revolution since it places content at the center and he hopes it will create the same impact as when the sun, and not the earth, was used as reference point to explain the universe.

CCN provides benefits in various fronts including better usage of Internet resources, location independent content routing, and content security and control. All this is great and could spark a number of innovations, research ideas, and new designs that can catapult this concept to the next level. As I write this post I am trying to clear my thoughts and identify which pieces of this work will have the most impact so it does not become an exercise of what could have been but has not, or drags on for ever in the standardization process as a “solution in search of a problem” as it has been the case for IPv6.

The first interesting part of the work is that it democratizes Content Distribution and ensures that anyone — not just those in position to pay a CDN– can enjoy the benefits of an Internet-broadcast service that amplifies your data whenever and wherever it is needed. With CCN, Content Distribution becomes a “public” service (in the European way) of the Internet. In a sense, P2P has done much of that, providing a public service which publishers can use to propagate their content to many users at very low cost. However, this has been done without taking ISPs into account and that causes various inefficiencies. Instead, CCN happens at the core of the ISP and thus it has more chances of succeeding. Nevertheless, there are already solutions out there for ISPs to deploy cache overlays and ISP-CDNs, thus, making content distribution more efficient for all. So far, whether an ISP deploys content-aware storage infrastructure or not has been an economic problem, and not so much a protocol problem. The decision of whether to deploy storage in the network has been a function of the ISP’s topology, workload, and various economic trade-offs (e.g. cost of bandwidth vs cost of deploying and operating storage nodes), but not the lack of technical elements to doing so. It would be great if CCN could lower the costs for ISPs to deploy storage in their networks, otherwise, an HTTP-based CDN is more likely to be the way to go for many years to come since the investment and the knowledge around it is already high.

The second interesting part of CCN is that it de-couples content and location and the mapping between content and location is done via routing. This is very important. Currently Google (or a similar search engine) does the mapping between keywords and content URL, and then the mapping between the content URL to the machine location (e.g. its IP address) is done via DNS. DNS has been one of the weakest points of the Internet in the last years, being the target of continuous DoS attacks and causing important Internet service disruptions and any solutions in this regard are welcomed. With CCN the DNS functionality is somehow embedded and distributed in each routing node, making it more resilient and scalable. Rather than trusting DNS to map host names to IP addresses, CCN avoids DNS all together and trusts content which can sit in any machine in the path to the data content and which can be retrieved from any cached copy along the path. This also provides very nice support for DTN-like communications where connectivity and arbitrary nodes can appear and disappear instantly. The drawback is that each router now has to do some more work to verify data and keep more state in its routing entries to route across name spaces rather than IP addresses. This can cause some scalability issues and potential DoS attacks, however, I am confident that this is solvable using various optimizations.

Another limitation of the current DNS service that CCN solves is that DNS only resolves host names (e.g. www.foo.com). However, it is not able to resolve different pieces of data under the same host name to different IP addresses (e.g. www.foo.com/file1.html and www.foo.com/file2.html). This limits the possibilities to download parts of content from nearby machines and to do multiple parallel downloads. Alternative approaches are to use different domain names for each file (e.g. www.foo1.com/file1.html and www.foo2.com/file2.html) or to use intercepting proxies with L7 switches, however, none of them are either very convenient because it requires rewriting the content, or deploying expensive hardware equipment. To me fixing the DNS limitations is likely to be one of the strongest selling points of CCN (as long as the extra costs at each router are low).

The third interesting portion of CCN is content security and control. Control and trust are part of the content itself, and not being a property of the IP connections it traverses. Given that any intermediate machine can reply with a cached copy along the path, content needs to be signed with a publishers certificate key and content routers need to verify that the content has been produced by its owner. This permits opening the network to wider participation, determining provenance, tracking where content has been in the network, and evidence based security where it becomes hard for an attacker to succeed in subverting a publisher by forging a fake content with the publisher’s key. Similar mechanisms have been implemented in secure P2P systems such as Microsoft’s Avalanche, and they can be key for CCN’s success. Revocation is also one of the major headaches of CDNs and secure P2P systems, and the current CCN proposal mentions this is part of future work. One last thing that CCN should support is to allow intermediate network nodes to become trusted sources so that they can modify the content as needed (e.g. re-encoding images to fit mobile phones). Both revocation and modifying content on-the-fly may complicate the current CCN design, however, both seem doable. The bigger question around CCN security is what is it different that one can do with CCN in terms of content protection and security that one cannot do protecting content at the application layer (e.g. DRM)? My guess is that provenance and traceability of the content are likely to be in the answer’s bucket.

As you can see, lots of questions but lots of excitement too. One final comment: I hope that it is not too late to see such a clean content networking solution move forward given the plethora of alternative solutions already out there (e.g. CDNs and P2P). The inertia could also be such that by the time something similar to CCN gets deployed on the Internet, the Internet has already changed focus again, say from content networking to video conferencing. Then, it would really feel like we are chasing an evasive ghost, e.g. we design for machine communications and there comes content, we design for content and there comes conferencing, etc…. Ah! one last thing, while reading the CCN paper it came to my mind that it is about time that Google starts doing page rank using content signatures (e.g. Rabin fingerprints) to solve the content aliasing problem: using links is so broken!! :-)

How 3D printers could change our lives (and create new opportunities for Telcos)?

3D printers present a whole new range of opportunities for users and telecommunications companies. They could also completely shape the landscape of factories and shops as we know them today.

They look like basic printers (a bit bigger) and they can produce a 3D object from a digital model of the object by laying down layers after layers of a special material until complete. You can use different materials, ranging from polymers, titanium, or even gold powder.

What could you print? I can think of things such as industrial components (pipes, parts for cars), clothes (e.g. shoes), furniture, jewelry, and why not, chip designs for electronics, and food!! (see this article for a printer that produces sugar objects)

For now they are mostly used to build models for architects and fashion designers, and they are a bit slow, but you can imagine how the technology could improve over the years to come.

 

I first saw one working last year at the Renacer conference and since then I have been thinking about their possible implications.

How many times you have waited for a product that is out of stock? What if you could just download a detailed digital design of the product and have it printed at home?

At that point, a lot of factories and shops could well disappear! Everything would be intellectual property and data flowing around. We would just spend time thinking and designing, not so much doing hand labor. Finally, human kind would be freed to do what they can do best, thinking. That would be a revolution!

And for Telcos and networking companies that would be a great opportunity too. Imagine how many terabytes of data would need to be shipped from one corner of the world to another to describe with the finest level of detail a given product so that the printer could build it. Huge volumes of data would be flowing from designers directly to user’s homes, and that would need to happen in a timely manner. We would be talking about shipping bits, not physical goods anymore, and Telcos would then become the FedEx of the Internet! Who said that networking was a dead field? J

 

For more info you can also see this Economist article.

A view into the Future of IPTV

I have spent a couple of weeks in South Korea and Japan and in addition to being fascinated by their food and kindness, this trip has also given me a lot of things to think about. One of the things that surprised me is how the future IPTV is already a reality over there.

So what is happening today with IPTV? Well, IPTV is basically similar to Cable TV with about 100+ channels broadcasted using IP Multicast over DSL. All users are expected to watch one of those channels so dimensioning the system is easy. However, if all users start watching different TV programs at their most convenient time, then you have a major scalability problem since you need to handle a massive number of streams. Rather than dimensioning your network for the number of channels, you will have to do it for the number of users.

And this is exactly what is happening in Korea where a lot of people do not watch live broadcast TV anymore. Instead, VoD services offer all TV shows and movies that you could imagine for download. So you do not need broadcast TV nor have your VCR recording all the time. Instead, you can download the programs you missed whenever you want. As a result, most users are disconnecting their cable/satellite subscription as soon as they subscribe to the VoD service!

Of course, the content providers are cooperating and fostering this type of services by making the content available in a DRM digital form soon after it is aired (often within the same day). If most of the content is available through illegal P2P downloads anyway, they may as well try to engage the user through a legal VoD system and recover some of the revenue. This is an area where a lot of progress needs to be made in Europe/US before such service becomes available.

The cost of the service varies from $10-$15/month and you can basically download as many movies/videos as you want. Average download speeds in Korea are >30Mbps, so in the blink of an eye you have your favorite TV program. The system supports both progressive downloads for real-time viewing and background delivery.

What I found most interesting is the deployment model, which is based around Telcos (i.e. as opposed to VoD portals like Amazon or iTunes). The first generation of VoD services were target for the PC, however, the new generation is based on Set-Top-Boxes, which integrate better with the TV. The reason why ISPs are in a good position to provide this service is because the already have a relationship with the customer and thus, it becomes natural to provide users with a set-top-box which is ready for VoD. The set-top-box is given for free as long as the user subscribes for a given period of time (e.g. a year).

The fact that the VoD service is provided by a particular ISP is creating some interesting scenarios. For instance, some users are deciding to switch access ISPs but still keep their original VoD service with the first ISP. Of course, the traffic now is being carried through a number of visiting ISPs who expect some form of compensation, so the VoD ISP often needs to make financial arrangements with those visiting ISPs.

This all sounds very good, but it is posing major challenges in the IP distribution network since all users are pulling VoD content using point-to-point connections. So what is coming… well, you guessed it: P2P VoD and live-streaming in set-top-boxes, which should remove most of the heat from the ISPs VoD servers. We should expect some deployments of such P2P stb coming soon, so keep an eye…

These are some interesting companies to follow:

http://www.hanatv.co.kr/ (ISP providing VoD service)

http://www.icube.co.kr/ (VoD set-top-box company)

Finally, I forgot to mention how crazy young people are about Mobile-TV in their cell phones, especially in the underground. Here you have some of them, exhausted after watching their favorite soap opera J.

090907-1840-aviewintoth1.jpg

Some thoughts of the Future Internet design

I have now been to enough meetings regarding the Future Internet network design that I can write something that makes some sense. Here are some thoughts:

“Learn from P2P Systems”:

One thing that it is clear to me is that there are several lessons to be learnt from P2P systems. In fact, I would argue that most of the innovations in networking space during the last years have come from P2P systems (new routing algorithms, swarming protocols, NAT traversal, overlay naming, etc).

Why? well, I guess because people got tired of waiting for THE network to support IP multicast, anycasting, content-based naming, full host reachability, etc. Users got frustrated to hear that to test their ideas they had to change all routers in the world, build a new infrastructure overlay, or yet, convince all ISPs in the Internet. Instead, users realized the power of deploying new services with a simple piece of software that turned their personal computers into network elements. And voila, there you have it, some of the most successful and scalable systems ever deployed, Skype, BitTorrent, and more to come.

The beauty of P2P systems is that one can deploy hugely scalable services completely bypassing ISPs and without the need for end2end multicast, in a similar way that the Internet created a network that could route packets without having to go through the centralized control of phone operators. Going forward, such highly distributed systems are likely to have a big impact in other parts of the network, e.g. enterprise networks or datacenter networks.

 

“Storage in the Network”:

P2P or even Content Distribution networks have become so successful because they filled in a design gap. The Internet was not designed to optimize data delivery. Instead, it was designed to provide good support for end2end host communication. However, today’s Internet is mostly used for data diffusion, in many cases to millions of users. Delivering data is a quite different task than reaching a particular host. Actually, users do not care where the data comes from. As a result, things like distributing content have become unnecessarily hard, and have required the deployment of systems like Akamai or Bittorrent that had not been previously foreseen. One can say, though, that the beauty of the Internet is that it was designed to be flexible enough to enable content distribution networks to emerge without having to change the network infrastructure. Still, if today we were to design things from scratch, we would probably be adding massive storage capacity at each Internet router.

Why not democratize scalable content dissemination and make it part of the Internet core in the same way that connectivity was democratized as IP emerged?

 

“Diversity Everywhere”:

Another theme that emerges very strongly in the Future Internet design is the use of diversity and coding, especially in routing. Diversity has been used in many areas very successfully. For instance, P2P systems use a large number of diverse idle Internet paths to aggregate edge resources. Similar opportunities exist for wireless mesh networks where the wireless broadcast nature of the channel makes things even easier.

This is what I call spatial network multiplexing, where information is divided into small units and sent across the network using multiple paths. This can be thought of as an evolution of statistical time multiplexing, where packets share the same channel over time and is the basis of data networks.

One drawback of using diversity is that you now need to worry about which packet you should send through which path or which data got lost where. However, if you randomize information with things like network coding, then, you do not even need to worry about that. Another complication is that often paths are not disjoint, but shared — making congestion control and fairness much more complicated. This concept has some very powerful implications. For instance, how important is it to find the best path from the source to the destination for non real time applications? Should we redesign routing to include more diversity and coding?

For thoughts on this and others, see the recent NSF/EU meeting in Berlin: NeXtworking’07

I would also very much recommend Van Jacobson’s talk on a “New way to look at Networking“. Specially, the beginning of the talk has some “not to be missed” points.


Google -Van Jacobson’s talk at Google on a New look at Networking

P2P and CDNs, a marriage made in heaven!

Akamai bought Red Swoosh last week. I think it was about time that CDNs realized that the best way to fight your enemy is to join him, and that is exactly what Akamai has done here. CDNs were struggling to compete with P2P content distribution since P2P was, well basically free. This is a good move for Akamai, at least as a defensive strategy to control the P2P space and prevent other P2P players from eating into their business.

From a technical point of view, it also makes a lot of sense. P2P systems cannot provide the sort of service level guarantees that content producers demand (e.g. movie studios). Peer upload capacity is quite limited, and fluctuates greatly depending on the number of peers, etc. CDNs can instead provide assured capacity since their servers sit in well-provisioned data centers, kicking in to assure a certain SLA when P2P fails to do so. Not just that. Using CDNs also helps ISPs better manage their networks since less upstream traffic is generated. Traffic flows from the center of the network to the network edges, fitting well with current ISPs traffic engineering models which assumes that most traffic is downstream.

Overall, to me CDN and P2P is a marriage made in heaven. The next battle will be which P2P system becomes a standard (bittorrent, red swoosh, …) ? What about an HTTP-based P2P system and we all stop re-inventing the wheel?

two girls one cup 2 girls 1 cup 2 girls one cup

Warning: (null)() [ref.outcontrol]: output handler 'ob_gzhandler' cannot be used twice in Unknown on line 0