Monday, July 19, 2010

Generations of Network

These are the generations of networks that have been invented and soon to be invented as discussed in Van Jacobson's GoogleTechTalk "A new way to look at networking"

1st Generation: Phone Network
-Wires
-Connecting

2nd Generation: Internet
-Connection
-Data

3rd Generation: Content-Centric Network
-Data
-???

Chapter 2: Cruel Angel’s Thesis

Admittedly, when I first made the proposal for the thesis, I did not have a complete grasp of what I could achieve and how it fits into the world of computer science. Only that I wanted to provide a better networking solution. Three years later and I have finally seen the big picture. Now it’s time to drill down to the details and implement a proof of concept. I realize it has taken way too long, but I believe that it will be worth it in the end.

The goal of my undergraduate thesis is to provide a platform to develop on to achieve the end game. It might seem like a daunting task but I have been able to outline some basic requirements and the school doesn’t really demand a lot in terms of usability; only that it kinda works. There are three main points in the necessity to develop the platform. First is to create an overlay network in order to work with the data without much regard to the underlying network topology (Network Independence). Second is to enable sending and/or receiving data from a wide range of devices (Hardware Independence). Third is to enable connectivity across as many software platforms as possible (Software Independence). The thesis is entitled “A Fully Decentralized Peer to Peer Collaboration Interface Using JXTA”.

The objectives of the thesis are to:

  • - Enable devices to easily share resources. Wherever, whenever.
  • - Low-Cost, Scalable, Reliable alternative to Client-Server form of content distribution.
  • - Secure Peer-to-Peer for everyone. No server, no administrator, zero-configuration.

The proponents must deliver a working prototype that is able to:

  • - Connect devices without the need for a central server.
  • - Transfer data between peers.
  • - Enable peers to connect to each other dynamically and work in peer groups.

When these objectives were created, there was a critical component that seemed to be missing which was the security. At the time of conception, this was the least of my concern since the system was only meant as a proof of concept but this it seemed was a hindrance to complete the system concept. Through additional research and continued use of Facebook, I was able to fit in the last piece of the puzzle. The data should be able to verify itself, therefore identities of the creator of the data is necessary.

To be continued...

Chapter I: The End Game

One of the disciplines in Stephen Covy’s 7 Habits for Highly effective people is to “Start with the end in mind”. Having a clear goal of what you wish to achieve is very important and I realize it now that I myself have been given the opportunity to see the big picture… The End Game. It is similar to reaching the top of the mountain where you are totally exhausted and where only moments before you questioned yourself why exactly are you climbing this mountain again. But then you see it; the vista; the coup de gras. And then you embark on the trip down with a smile and you know that you’re going to make it to the other side.

The end game is nothing less than the holy grail of computer science, Ubiquitous Computing. First envisioned by Mark Weiser in 1988, ubiquitous computing is the epitome of computing evolution where we live in a world where information and computing is woven into the very fabric of society that they become invisible; the norm. There is however no singular solution to achieve ubiquitous computing, but there is a singular paradigm that will be the cornerstone that enables ubicomp. Same as the wired infrastructure is the cornerstone of the phone system, and that TCP/IP is the cornerstone of the internet, a content-centric network architecture will have to be developed to facilitate the proper propagation of data in a ubicomp environment. Same as the Internet was originally an overlay of the phone system, so will Content-centric networks be an overlay of the Internet. Eventually specialized environments will be developed once the technology matures.

Ubiquitous Computing has been under research now for about 21 years, and I am 23 years of age. A daunting task perhaps for someone of my experience, credentials and resources but I have an edge: Inexperience. In the book Paradigms by Joel Arthur Barker, the highest probability of paradigm shifters are one who is new to the field; someone who is not so engrossed by the current paradigm that they are able to see past the solutions it provides and enables the tackling of problems that were previously set aside.

In order to achieve a content-centric network, the data has to be in an environment that acknowledges the importance of the data and not just the connection. The TCP/IP stack works in the area of connecting computers, same as other protocols designed for the specific network transport method such as Bluetooth, Radio networks and other networks. If it isn’t broken, don’t fix it. So if current network systems are neither wrong nor appropriate to enable content-centric networks, how then can it be achieved?

Using a threefold system that leverages the best networking overlay (JXTA), the best content delivery system (BitTorrent) and social networking theories, the new system will enable connectivity across past, current and future technologies. JXTA provides connectivity that is hardware, software and network independent, BitTorrent provides the algorithm for efficiently transferring large amounts of data, and social networking-based identity system provides data layer security.

To be continued…

Get unstuck!

I feel somewhat like what a writer feels, stuck on a chapter and unable to move forward. I’m looking for that flash of genius that will facilitate moving forward. I would like to note that we have a beautiful home surrounded by wonderful people. I sometimes fail to appreciate that.

The popular impression that people have of me is that of a logical thinker or someone knowledgeable. But I believe that I am more of a feeler. I don’t really have a logical grasp on proper sentence construction or an exhaustive knowledge of words and their meanings. I only write what feels right. The same goes for computer science. I know certain things and sufficiently enough to enable me to determine what feels right and what seems to be awkward. I also believe in God. All of which are as anti-scientific as can be. But I love facts and challenges. And I see computing as the embodiment of both logic and feeling. The point I’m trying to make here is that I feel there is something amiss with current networking paradigm. Paradigm… I’m using that term now.

Networking infrastructure and advancements are progressing properly, observing Moore’s law. Also intellectual content available via networks are also progressing at an increasingly rapid rate, no problem there either. The problem here is the way these infrastructures and information are organized, presented and cross referenced. Something is amiss. With all the information available there doesn’t seem to be one truth. But that’s just it… There is no one truth. The world looks different depending on which eyes looks at it. This brings to bear the fact that when the internet was born it was born at the eyes of one Sir Tim Berners-Lee. Grown by countless minds, a word to describe it would be... Sublime. But the internet has grown to include varying views and opinion of all gradients.

Information it seems is no longer sufficient by itself. This is similar to the semantic web theories as one of the ways to achieve ubiquitous computing. Metadata has become necessary. Google I would like to note is looking into the same thing. Search, although it has centralized most if not all information, is not enough. But it’s not just the information; there is also the manipulation of that information and its timely consumption.

I stumbled upon a possible solution some three years ago and have been mulling the idea ever since. I am however having trouble putting this idea down in a concrete way. It’s not a simple idea as I was also born into this paradigm we are all comfortable with, and the current paradigm still works. Before I get to the solution, let’s take a look at the end game first.

Perception

The thing about computers is that they are a product of the conscious human thought. Therefore they excel in logical operations and deterministic computations. This was fine back when computers were first invented as it addressed the need for computing. Then the networks were invented in order to extend the I/O bus to share then-expensive peripherals such as printers and storage devices. Eventually as computers advanced and network technology became more sophisticated, the role of the network changed as it evolved to become the internet. Networks today are used to share data, and no longer to extend the I/O bus...



It has become apparent to me the need for computers to be able to perceive its environment.

Inception


"You mustn't be afraid to dream a little bigger, darling" -Tom Hardy

Damn I missed a year. Then again it wasn't a very eventful year, 2009, thought-wise. Some ideas here and there but nothing really compelling. We have time to make up, so without further adieu.

I would like to try a new mantra, writing. To write down stuff. However I hate having to look for what I write down, be it in a word file or a paper and also having to sync them continuously so I guess here we are.


I part thee with some words stuck to my cork board. "Always keep your eyes open. Look out the window, never sleep or something. Coz whatever's out there is gonna inspire you!"

Thursday, July 10, 2008

Death and Rebirth

If you do not know where I got the title of this post, then you do not know me. That's cool, just thought I'd point it out. lol.

Ok. Last post on this blog dates about a year back. Its been a very eventful year and a lot has changed which I can only hope to be for the better. I once noticed why I do not blog often or why I'm not fond of writing down my thoughts or ideas and then it occurred to me that I think too many thoughts way faster than I can write and I find myself wandering away. It is only during moments of duress or happiness that my mind can think slow enough for me to translate it into text. So is it death or is it rebirth?

I'm not making any promises I'll keep writing here but I feel I have to put down a status on the thesis and my current projects. I think this blog is sufficiently ignored to be a good place to vent. I'll keep the topic on death and rebirth for a few more posts. Oh and I'm keeping the blog strictly 3 paragraphs per post. No idea why.