Original Article Source:
http://www.computer.org/portal/web/computingnow/internet40/login7
Petrie: What a great genealogy. That's wonderful.
Kleinrock: You know, there's a book about this, the one by Katie Hafner and Matthew Lyon, it's called Where Wizards Stay Up Late. It just came out about six months ago. She got much of the story. She interviewed everybody, but the result has some gross distortions.
Petrie: [laughter] Now are you saying that the press doesn't always get it right? But just to recap, you got three networks and the protocol that you were using for early Arpanet was NCP?
Kleinrock: NCP.
Petrie: What did the satellite and the wireless use?
Kleinrock: In the wireless ground radio, they were more interested in the link level and the network level. We're just getting stuff across, not so much worried about host to host. So it wasn't easy to use it. And the satellite was really piggy-backing on part of the Arpanet protocol.
Petrie: Did TCP slowly migrate onto the Arpanet or was it adopted all at once?
Kleinrock: It migrated slowly, but then it was later ruled that you cannot join this network of networks unless you implement TCP. It was dictated.
Petrie: Your work with distributed- and wireless-networks has led to an interest in nomadic computing. What constitutes nomadic computing?
Kleinrock: Well, I recently formed a company, Nomadix, and we are developing software and services for nomadic computing. Nomadic computing is designed to provide the system-level support for users who travel. Understand that "travel" may be as simple as moving from the high-performance workstation on your desk, with its excellent connectivity to a LAN, to a conference table in the same room to use your laptop whose screen, keyboard, and capability are less than your workstation's and whose connectivity may be zero or simply wireless. The system support we're developing is meant to make this move as seamless and transparent as possible.
Indeed, one can talk about all kinds of mobility. Geographic mobility is the obvious one. The second is social mobility-which refers to movement among roles for a given individual (engineer, father, husband, et cetera). The third is appliance mobility, when I change the communications or the computing platform I'm working on. And the fourth is application mobility-that is, in a given social context, I may move between word processing to graphics processing to a database application, and so on. The key is to provide services like file updating, synchronization and reconciliation, location identifiers, et cetera. Overall, nomadic computing support seeks to provide the illusion of connectivity, even when you are disconnected. There are some severe implications here, because none of our systems right now can do that properly.
Petrie: Just like the model of Eudora for mail?
Kleinrock: Exactly. I want to transmit something; it doesn't get transmitted now, but so far as I'm concerned it was transmitted.
Petrie: The POP server.
Kleinrock: Yes, a personal portable POP server.
Petrie: Pretty hard to do that with a Web browser.
Kleinrock: Yes and no. You can pre-cache but you can't click on something you did not anticipate ahead of time. It is hard, that's right.
Petrie: Well I do that manually now. I do cache ...
Kleinrock: You do HTML files...
Petrie: Yeah, and I carry them with me and I call up Netscape on my Macintosh and look at them, even though I'm off-line. It would be real nice if that was somehow automatic and done on a large scale-on a CD-ROM, for example.
Kleinrock: We're actually looking at some of that, my colleagues and me. There is a person who's working a project called Seer, as in prophet. It gathers information regarding which files you touch when you work on a project. Like do you know that your ATM font files are coming in? Or some other links? It will bring it all in to you. But that's a really hard problem. I have another student working on predictive caching in the Web environment while you're connected. That's another issue.
Petrie: Predictive caching? Sounds hard.
Kleinrock: It is hard. For example, it accounts for the cost of communications, all that stuff. Or suppose I had done some work while disconnected and I suddenly enter a region where there is some connectivity. What should we exchange?
Petrie: What should be exchanged first?
Kleinrock: That's right. Because I may come out of a communication-rich environment soon, or I may only be connected for a limited time, and what about compression? If I have weak connectivity, please only send me a fax instead of full text. And don't send me a full-motion video clip. So all these issues are very important. And our systems have to be nomadically enabled to begin with. You can't easily build this in afterwards.
Right now, a significant change of connectivity or latency in your application or your environment is considered a failure or an exception. What communications line broke? It's should rather be considered a usual event-you must build it in. And that's a whole shift in the way we're going to be working.