Thursday, October 14, 2010
Blogging
Well I'll think about that later. Oh, shoutout to my one follower, you know who you are. lol :P
Friday, August 27, 2010
The problem with perception
In philosophy, psychology, and cognitive science, perception is the process of attaining awareness or understanding of sensory information...
There are a number of philosophies of perception, but I will be focusing (read: advocating) on dualism (representative realism).Ideas of mind/body dualism date back as far as Zarathushtra, with the generally well-known concepts attributed to Descartes which holds that the mind is a non-physical substance. It has also been visualized in the Chinese Yin Yang image, seen here. I will not delve deep into these concepts (for it involves a lot of arguments and questions, and is ultimately bloody) but will immediately try to associate it with what I'm currently doing.
The problem with perception is not in the question of "is it real?" but on the question of "where does it exist?". Direct, or naive perception would state that "it is what it is", but this would not be sufficient to answer the question of "is the glass half empty, or half full". Perception, I think, is the representation of an object in two forms, the physical and metaphysical.
In order to replicate this phenomenon on the digital world, there needs to be a way to represent the objects in the computer or Internet into a perceived representation of that said object. Hereby creating the illusion of physicality of data. Once this is achieved, data will no longer need to reside in one particular location, nor be uniquely addressable. Data integrity and security will be the property of the data and not the transport.
Monday, July 19, 2010
MaxiVista
[Seen @ Gizmodo]
On Data Migration in Perceptio
One of the problems outlined by Van Jacobson in creating Content-Centric Networks is that if data doesn’t really reside in a specific location, how do you get your data where you want it when you want it? This is addressed by what I’d like to call the Magnetosphere effect (envisioned from being mesmerized by the iTunes visualization, Magnetosphere).
The Magnetosphere effect is an intrinsic property of data encoded in the ghost file that describes the general purpose of the data. Weather the data is intended for a specific audience or for general consumption. The data (ghost file first) then migrates to the best hosts with relevant concern in handling the data. If that host is trusted to contain a copy of the data and if it wants to hold it, the data is then transferred there. A list of trusted hosts is encoded in the ghost file along with information if the data allows additional hosts.
On Data Transfer in Perceptio
There are two methods of data transfer available today. One is direct transfer methods like FTP, Telephony and HTTP transfers. Direct transfer methods are efficient on small files and if there are a small number of users downloading simultaneously. As the size of the file and number of users increase, server capacity requirements increases and the transfer efficiency decreases however data transfer begins at the maximum available transfer speed.
The other method of transfer is a distributed approach. Although relatively newer and younger, a lot of research has been done into improving the efficiency of distributed data transfer. Initially developed from peer-to-peer technologies, distributed data transfer algorithms are now being used in industrial scale Content Distribution Networks (CDNs). The best algorithm for distributed data transfer is BitTorrent. The technology has matured to the point that BitTorrent traffic is estimated to amount to about 40% of internet traffic. Other technologies that use distributed data transfer methods are the Gnutella network and Pando CDN. Distributed data transfer is the opposite of direct data transfer in that the larger the file size and the more users downloading the same file, the higher the data availability and the faster the download becomes however data transfer is initially slow as the system starts connecting to other hosts.
Data transfer in Perceptio uses both methods in their most efficient areas. Small torrent file-like files called Ghost Files are created for each file the user wishes to make available on the network. These files can then be propagated, routed and/or indexed by other hosts and/or services.
A Ghost File contains the following:
- - Routing information
- - Owner of the data
- - SHA1 checksum information
- - Restrictions
- - Category
- - Propagate request
- - Destination (if any)
- - Digital signature (if any)
- - Description of the data (if any)
On Content-Centric Overlay Networks
Current network technologies and protocols are generally connection based networks, where a hand-shake has to take place first and both sides require a geographically fixed, unique IP address. The assumption in this scenario is that once the connection has been established, all the data that is transferred is trustworthy. Consequently, data that is not intended for the recipient is deemed untrustworthy or insignificant and is either ignored, discarded or forwarded. Designed in the 1970s where there were many users of few computers, few data and even fewer networks, the focus of networks was point to point communication. In today's networking environment, everything is mobile, dynamic, and virtually connected to everything else. People are accessing ever-growing amounts of digital information, connecting to diverse, often wireless networks and using multiple devices to send and receive information. Content-Centric basically stresses that the data and not the connection is the main focus.
My take on a Content-Centric Network is called Perceptio. Perceptio is a network overlay that uses Ghost files to propagate data to relevant hosts and intended recipients. All devices connected to Perceptio are aware of its purpose and relevance in the network. Each device also creates a perspective network list which contains the addresses of the nearest nodes. Populating this list is done by advertisements that are broadcasted in regular intervals. Data transfer is done using a BitTorrent-like swarm download mechanism with torrent-like files called ghost files that contain metadata and owner information. Depending on the host settings, it can hold or route ghost files and the host can also download or seed the data.
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

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