[APPLAUSE]
Sorry for the delay in getting started,
we were having trouble with Windows.
Bill Gates is always a hard act to follow,
but who better than the author of the book What
Will Be, our own Professor Michael Dertouzos, who
has decided today to focus his remarks on the next 35 years
for the entire world?
Michael.
Thank you, Bob.
Ladies and gentlemen, there is no reason
we can't talk about the future while having a little fun.
So, let me recollect something for you.
Last year, a few of my colleagues and I
were heading to Taiwan.
The flight, as you know, is very long, and on the airplane
I was trying to make something work.
Now, that something was a laptop, a brand new laptop,
the latest--
it was running Windows--
and a little card on which you download your software,
you download your addresses, you download your calendar,
and then you take the card in your pocket.
I had been at it for three hours,
and my problem was that when the card software was happy,
the operating system wasn't, and vice versa, as you well know.
So, we're on the plane, so I turn to one of my colleagues
and I say, Tim, would you please help me?
Well, Tim Berners-Lee is a very gracious man.
So he said, of course.
He said, I think I can help you.
So he picked up the machine.
An hour and a half later, he hands it back to me,
still very polite, still very British, and says, I'm sorry,
I can't make this thing work.
So I turned to my friend and associate director Ron Rivest,
and I say, the inventor of the web couldn't do it.
How about you, inventor of RSA?
And Ron, with his characteristic wisdom, looked at me
and said, no Mike, thanks.
And then, the youngest member of our delegation,
whose name I shall not mention to protect the innocent,
jumped up.
And he says to me, you guys are a bunch of old fogies.
Let me show you.
Good LCS attitude.
Two hours later, he hands it to me
with expletives surrounding this.
I went to my seat and I did what every expert does.
I tried the various wizards and lizards
that were coming up at me.
And I kept typing, at random, things in the fields,
until finally, three hours later, it worked.
Total elapsed time, nine hours.
[? Hold the ?] battery, Mike!
[LAUGHTER]
Good point for those who make batteries.
Now, ladies and gentlemen, why do I bring this up?
Our field is young, so I don't bring it up
to complain so much.
This is to be expected.
But we are at a junction.
What I experienced with that example
is typical of what we have done for the last 40 years
with our field.
We have focused on designing for machines.
We put little envelopes.
We call them operating systems, we
call them browsers, we call them network software.
And then we throw all this stuff at the user.
Now, the image that this evokes to me
is a user, you, sitting in your car, a car that's
very early vintage.
And you've got rings on every finger.
And on every ring, a wire is attached.
And you've got a wire for fuel mixture.
You've got another wire for advance of the ignition.
You've got another one for the valve clearances, the brakes,
and this and that.
And you're sitting there with all these wires
and we say to you, go from Boston to New York.
Ladies and gentlemen, this must stop.
40 years is enough.
This brings me squarely into my vision for the 21st century.
Stated in simple human terms, it is simply this.
People should be able to do more by doing less.
Now, when I say these simple words, which
have been characteristic of every revolution up to now,
I mean three things.
First, we should bring the technologies of information
into our lives.
Now, when I read the papers and the magazines and I hear
the pundits talk about cyberspace,
where we're going to go, this other space.
We're going to leave our lives and go into cyberspace.
We're going to put on glasses, gigabyte [? infected ?] suits.
And we're going to live in an exciting world.
Well, you know, when the Industrial Revolution came,
we didn't go into motor space.
The motors came into our lives.
We turned them into refrigerators
and we call them refrigerators, not motors.
We turned them into cars, and call them cars.
And they absorb themselves, the motors,
into the functions and tasks that ancient humans
have been doing, except now with new tools.
So, the first thing is to bring the technology into our lives.
And that's exactly what I think will happen,
and what I wish will happen, with the Information Age.
They will come into our lives, the new technologies,
and they will serve our ancient needs.
The second thing that I mean when
I say doing more by doing less is increased human productivity
and increased ease of use.
With respect to increased human productivity
first, imagine that I'm holding a handheld.
Take us to Athens this weekend.
Later, you'll see a system that does this.
It took me three seconds to say that.
The computer knows that "us" is two people,
but we like to travel business class.
It knows that we can this Friday, Saturday, and Sunday.
It connects with Eaasy Sabre.
It starts doing the exchanges.
It tries for Friday.
It doesn't find an aisle seat.
We like aisle seats.
It goes to Saturday.
It finds two seats, but something else is wrong.
It finally books on Sunday.
Total elapsed time in actual experiments for this
is a minimum of three minutes, maximum of 13 minutes.
I will take five minutes as an acceptable average.
Five minutes is 300 seconds.
Nod.
You went to Harvard for a while.
Divided by the three seconds, the 300 seconds
gives us a ratio of 100 productivity leverage.
But in business terms, that's 10,000%.
We have achieved a 10,000% increase in human productivity.
Now, this is actual.
Maybe I do it once a day and you say it doesn't count.
But if I was the travel agent for a large organization,
it would count.
Now, I don't expect these kind of gains across the board,
but I do expect across the board in the next century
about a 300% increase in human productivity, primarily
in the office sector.
Today, as you look at your browsers,
as you look at your email, you're
sitting there exercising your eyeballs
and your brains just as hard as our predecessors exercised
their shovels in the Industrial Era,
except you're using these for your shovels.
And shoveling you are.
But it isn't painful because the shovels
are stamped "high tech."
All right, let's take up ease of use.
Every time I hear the phrase "ease of use"
from a vendor of hardware or software,
I become physically violent.
The invariable image that pops up
is of their operating a chimpanzee around dressed
in a green suit pretending to be a surgeon.
I mean, the thing isn't easy to use.
The fact that they put floating animals and collars
and ergonomics doesn't make it easy to use.
What we want is something that's truly easy
to use, regardless of whether it's using graphics or text
or whatever.
Let me pick an example, browsers and operating systems.
Those two worlds, one catering to local information,
the computer with its computer system,
the other one catering to long-distance information
across the browser, have different commands, quite
different commands.
Now, that doesn't lead to ease of use.
The image I get from that is that of an automobile
again, which, when you're driving it
in your neighborhood, local, when you turn right,
it turns right.
But when you're driving it on country roads, when
you turn the wheel right, it applies the brakes.
It sounds silly here, but it sounds OK
when you highlight an icon in the operating system
and take a hotlink on the browser with the same command.
So we've got to revise this kind of stuff.
Now, ladies and gentlemen, this is the second thing
that I mean when I say that we should be
able to do more by doing less.
The third thing that I mean is that when we say "we,"
"we" should mean the people of the world.
Now, we feel pretty smug today because we,
the people of the industrialized wealthy world,
are largely connected.
But if you stop and look, there are 600 million telephones
only, which is 10% of the 6 billion living on this Earth.
And in terms of these 600 million telephones, only 15%
are interconnected, about 80 or 90 million people.
Multiply the two.
1.5% to 2% of the world's population,
ladies and gentlemen, is interconnected.
That's all.
98% is disconnected.
We cannot hear the millions of voices from the Indian
subcontinent, from Africa, and from China,
although increasingly they're becoming connected there.
All we're getting is the television feeds
and the government feeds.
And these people do not have the opportunity
to sell their services or their products
yet on the world's markets through the new medium.
Now, I think it's very important to bring these people
in because left to its own devices,
the Information Revolution will increase the gap
between rich and poor people.
The proof is excruciatingly simple.
The rich get more computers.
They become more productive.
They get richer.
The poor have no computers, stay where they are, formula
for exponential gap increase.
Everybody says we can help them to get out
of the problems, et cetera.
Yes, but we've got to help them.
Alone, they cannot get the machines, the communications,
the training, and the skills to do that.
It's important that we do so, not only for compassion's sake
and for altruism, but also for self-preservation,
because history teaches that when gaps like this
are allowed to grow, they result in bloodshed.
So, ladies and gentlemen, there's so much potential
if we do help the poor, not only poor countries,
but poor people within the rich countries.
The kinds of services and products
they could sell, the way they could rise,
it's not always helping from the rich to the poor.
Imagine a Sri Lankan doctor.
A Sri Lankan doctor makes $20 a day and speaks English.
Imagine that doctor connected through the world's networks
administering health care to homeless people in Boston
who go to a kiosk where there's a nurse,
there's a blood cuff meter, a monitor.
They can talk to the doctor.
Maybe it's not the best health care in the world
because the doctor isn't there, but it's a lot better
than no health care, and it might cost $2 or $3 per person.
At the Lab for Computer Science, a team of undergraduates
is building a virtual Compassion Corps
that I discuss in What Will Be.
This is nothing more and nothing less
than a gigantic want ad website where
people who wish to give human help and people who
wish to receive human help find each other according
to the categories of help.
And they simply match with each other and help.
This is the first time in our history
we could do this worldwide.
So, to make it short, the vision is
to let people do more by doing less,
and by this, I mean three things.
First, bring the technology into our lives.
Second, improve human productivity and ease of use.
And third, include in this vision all people of the world.
Good enough for top-level vision, but now,
over what computing model do we see this taking place?
Well, for the last 20 years, you've
heard me talking about the information marketplace.
And I'm not going to change my tune because we haven't yet
realized it.
So the model I am proposing is the same model, the information
marketplace, which I define as follows.
People and their computers, about half a billion
to a billion in the next decade, plus appliances, gadgets,
embedded computers, and the like that are unmanned,
interconnected together doing three things,
buying, selling, and freely exchanging
two things, information and information services.
Now, with respect to buying and selling,
currently we are at $50 billion per year on the internet.
My estimate is $4 trillion in the next 30 years or so,
doing so by going predominantly down.
That half of the industrial economy
is called the office sector, previously white collar work.
Half of our economy is the office sector.
And that is where the bulk of it will come.
Now, a big part of that is going to be a new kind of activity
we haven't seen yet, which I like to call information work.
So we deal with information as a noun.
Information as a noun is text, sounds, images, videos.
Information as a verb is what a doctor does.
It's what a thousand accountants do from Beijing, China
when they sell their services to General Motors in Detroit
for $2 an hour.
It is the processing, the management, the handling
of information, the service.
That is going to be, I believe, a very large part
of the information marketplace.
You add to that the non-dollar component,
the family message links, the political discussions,
the publishing, the administration of health freely
where it happens, do-gooder activities, chat groups,
neighborhoods, all that huge non-dollar component which
cannot be measured.
We cannot put a $4 trillion stamp on it,
but it's just as important.
And you have the picture of this information marketplace.
We're not yet there.
There's no information work on the current marketplace.
There is no automation.
There's no capability to do collaboration.
All we're doing is having voyeurs and exhibitionists.
The voyeurs are browsing.
The exhibitionists are saying, look at what I'm selling.
And there are a few little transactions between them.
So, we have a little bit of ways to go before we get there.
So, let this be the vision of doing more by doing less.
And let this be the model over which
we will do more by doing less in the information marketplace.
Now, that's still pretty general.
So how might we do that?
What I would like to do next is to announce a major research
project that we are launching today
at the MIT Laboratory for Computer Science.
We call it Oxygen. It's a research project.
It involves a radically new system for tomorrow
that contains a lot of this stuff that I talked about.
I'm very happy to say that Oxygen went as a $38.5 million
proposal to DARPA, and I'm very pleased to say
that DARPA awarded it to us.
But they haven't awarded the money yet,
so we're negotiating that.
While I'm at it, let me say, we always
say bad things about government.
Let me say that in the last 25 years I've led this laboratory,
and the 10 previous years DARPA has
been with us and with other major universities,
they've carved computer science and technology on the map.
And let me say that the current efforts of the administration
to increase the funding in computer science
and the various activities that have happened there
are also laudable.
So we shouldn't always complain about them.
They've been with us and this birthday
is largely due to them.
All right, Oxygen. Let me make one more qualification
before I describe it to you.
We're not a corporation with a smooth presentation
about the new system.
We have a framework.
Now, I'm not going to be surprised
because I'm certain that when we're done,
the thing will be totally different from what
I described to you today.
As you hear the talks of my colleagues
who will speak about various pieces of this,
keep that in mind.
And as you hear the talks of the others, who
will talk about other things while pretending
to talk about the pieces, keep in mind
that this laboratory does a lot of independent research.
Keep in mind, too, that as we do all the system's work,
our eyeballs are focused on trying
to understand the fundamentals and the theories
behind this brave new field of ours.
With that as background, what is Oxygen?
Oxygen is eight technologies, which I will now enumerate
and describe very briefly.
Number one, the Handy 21, for 21st century.
You see it has a little display right there, which you can see.
If you're nearsighted, it helps.
It's like a cellular phone, except that it has in it
a small screen, as you've seen.
It has a very small analog part.
The rest is all digital, which means
it can change like a chameleon.
It's got an infrared detector.
And it's got, of course, a few other odds and ends which
permit it, with downloading, to alter
its function from a two-way radio talking
to other such handhelds, to a network node talking
to the campus network, to a cell phone which sniffs the air
and decides, I'm in France so I'm going to switch to GSM.
Or it says, I'm in America using CDMA, and on and on and on.
We have done this early prototype in connection
with another DARPA contract that Victor Zue and [? Raclowski ?]
and Clark are involved in, and maybe we'll hear more about it.
But that is the first technology of Oxygen. What
we're trying to do with that is make sure
that you have a thing that is person centric wherever you go.
It's with you.
In symmetric form, the second technology of Oxygen
is the Enviro 21, which is environment centric.
It sticks to the wall.
Actually, it's big, so it may be in the wall or under the desk.
It's in the trunk of your car.
It's in your home.
It is, in every respect, like the Handy 21 functionally,
but it is much bigger.
So it bears a relationship of a power socket to a battery,
if you wish.
Also, the Enviro 21 has tentacles
which are connected to sensors and actuators
and the famous appliances we are talking about.
And it can control them.
And also, the Handy has a little infrared
in it in our current vision.
And if you want to bring this door into your world,
you put an infrared tag on the door.
And when you point the handy to it,
the machine identity of the door comes into your system.
And then you could bring up a model that says,
these are the people working behind it,
and this is what they're supposed to be doing.
And you could go down the corridor and check
what's behind every door, at least virtually.
So, there are interesting possibilities with Oxygen.
The third technology is N21, Network 21,
which is what we have to add to the internet
to make possible the incorporation of these highly
mobile nodes called people, because the internet goes
to fixed addresses.
And we want to go to resolve according to intention.
It also makes possible networks that rise and collapse
as people get together for a meeting,
makes possible networks of unknown elements,
fuzzy networks with self-adaptation,
and we'll hear more about this later on.
These are the three hardware technologies of Oxygen,
with a lot of software in them, of course.
The fourth technology may surprise you
because it is an inner hardcore technology.
It is built-in speech understanding.
We really want our machines to be easy to use.
We have to make them interact with us naturally.
None of us is born with keyboard sockets or mouse sockets
on our belly.
We're born with mouths and ears, and that's what we should use.
Dr. Zeus technologies are fantastic at the narrow domain
level, as you heard from Bill Gates.
What we are doing now is stitching together
narrow domains to create a broader listening
domain with some human help, so that you
can help us navigate through these various narrow places
and still talk to it.
The Handy 21 has no keyboard.
The fifth Oxygen technology is individualized
knowledge access.
By this, I mean that people should
be able to access knowledge in ways familiar to them.
And we're talking about low-hanging fruit here.
We're not talking about highfalutin concepts.
You should be able to say, get me
that red book next to the blue one, or next to the document
that came from Paris yesterday.
And then if you run out from your own store
of goods and knowledge, you go to the store of your friends.
And you say, assuming they permit you,
do you know the answer to this question?
Can I access this from you?
And if that doesn't work, you can go out to the web
and get the 5,000 hits.
But then in Oxygen, we triangulate between those three
to try to tailor big hits with friends
and individual knowledge, as you will hear Professor
Karger describe later on.
The sixth Oxygen technology is automation.
Now, this is the biggest workhorse
of the Information Age.
No revolution is a true revolution
unless the machines can do our work.
Take the shovels, throw them away,
bring in the electronic bulldozers.
That's what we want with that technology.
In Oxygen, we offer scripts for you
to automate what you're going to do.
And you can set up and control procedures that will
take place in a given time.
Or when something arrives you can
encapsulate physical objects, deal with them together
with informational objects, and create a world around you that
caters to you by offloading work from your head and eyes
to the machines.
The seventh Oxygen technology is collaboration.
And this you can think of as a method
of keeping track of meetings, a method of keeping track
of who said what, open issues, and a way of zeroing
in from human summaries, which may be brief, to fragments
of speech that took place in the meeting, all the way
to original work in the meeting that will remind you
if you come back later of what you did.
The last, eighth Oxygen technology is customization.
One of the most valuable resources in the world
is human beings, and Oxygen enables
us to customize to individual needs.
Besides doing this in automation and all the other technologies
I mentioned earlier, it does this with all the software.
In Oxygen, there is no shrinkwrap software.
Everything is downloaded, and everything
is adjusted according to whether a user asked for it,
or there was an error, or there was
new software made available.
This, then, ladies and gentlemen,
is Oxygen, Handy 21s, Enrivo 21s in the wall,
Network 21, built-in speech, individualized knowledge
access, automation, collaboration, customization.
Now, these eight are not operating individually,
they're operating together.
And that's where their power lies.
And now, I'd to make a bigger claim.
When we envisioned that person with the rings on his finger,
trying to drive from Boston to New York,
we were wishing that we could give him
a gas pedal, a steering wheel, and brakes
to make it easier to drive.
My claim is that the five software technologies
of speech, individualized knowledge access, automation,
collaboration, and customization are essentially
the new kids on the block of the Information Age,
that of the thousands and millions of things
we read that will be possible, a great deal of them
can be done with these five.
I believe these are pretty close to the gas pedal, the brakes,
and the steering wheel, at least for the next couple of decades,
or maybe earlier.
And if that is true, then companies and individuals
will do well to ask in their companies
and in their activities, how can they
maximize their own activities under these five elements?
Imagine a health application under Oxygen.
What's the individualized knowledge access?
Well, it's the doctor's records, the patient records,
it's Medline.
All this has to be put together, triangulated,
and help the doctors.
And then you can imagine the collaboration when doctors
get together, what they will put on that,
and the customization for individual doctors
and the automation of routine tasks for x-rays, et cetera.
So, applications will take their color from Oxygen
as applications have in the past, if our dreams come true.
Now, I would like to close, ladies and gentlemen,
by observing that both my colleagues and I have been
immensely grateful to work on this, the information
revolution, for the last many, many years.
And we're very happy and excited that we're
working on it right now, at this very moment,
at this very junction and change.
The vision of doing more by doing less
on tomorrow's information marketplace,
with Oxygen as our first step, is where I see us today.
And since we're talking about revolutions,
I'd like to close with an observation and a wish.
All three revolutions are based on things.
The Agrarian Revolution was based on the plow.
The Information Revolution, which is now happening,
is based on the computer.
And the one in the middle, the Industrial Revolution,
was based on the motor, the chemicals, and so forth.
Well, maybe the time has come for us
to start thinking of a fourth revolution, one that is not
based on things, but one that tries
to understand the most precious resource on our planet,
ourselves.
Thank you.
And now that the chef has presented us with the menu,
we will now begin with a series of short, nourishing
presentations from the researchers at the Laboratory
for Computer Science.
Now, this promises to be a treat for us,
a series of treats for us, but I assure you
it is agonizing for them.
Imagine summarizing your life's work in 13 minutes.
And by the way, you have agreed to summarize
your life's work in 13 minutes.
Now, as we just heard, at the heart of Oxygen
are the hardware devices, Handy 21 and Enviro 21.
And we're about to hear a novel way
to get more out of hardware, as we
hear from Anant Agarwal, who will talk
to us about raw computation.
Thanks, Bob.
Oxygen has as its foundations the premise that computation
will become free.
So in this talk, I will review some technological trends
that justify this belief and discuss how we're rethinking
computer architecture in light of these technological
advancements.
So, as a quick review, let's go back to 1987.
And what you see here is roughly 1 square centimeter of silicon.
And a little over 10 years ago, one
could fit in approximately a 10 or 20 MIPS CPU, [? a la ?]
the MIPS in that small amount of area.
And then you go forward 10 years and that same chip in 1997
would have fit approximately in that little corner
of the same 1-square-centimeter sized chip.
So let's continue to go forward.
And 10 years from now, we are going
to have chips with billions of transistors in them
and the teeny little MIPS chip is
barely noticeable in the bottom left-hand corner.
So, we have an amazing opportunity before us
where we are going to be getting an ungodly number
of transistors in a square centimeter of silicon.
So we can fritter away this opportunity.
And one way to do that is to continue living life
as we have been in the past and look to the big or small eyes
of this world to continue advancing our architecture
and technologies, and just do more of the same,
build microprocessors that are bigger of the same kind,
and build chips microprocessors with huge amounts of register
files, huge amounts of control and complexity.
Well, the problem is that this kind of architecture
simply does not scale.
And the reason is that as technology advances,
and certainly as we get into the 2007s and on,
we are going to find that the transistors have
become incredibly fast.
They're much faster than ever before.
However, wires simply do not scale.
And this kind of architecture requires long wires
in the chip to manage the fairly complicated hardware
and control.
And this class of architecture simply doesn't scale.
But in many senses, we are already there.
We've already hit a complexity and a speed issue
with the existing architectures.
And if you look today at where computing has gone,
what do you notice?
When you buy a PC, just so you can call it a PC,
you do have an X86 in there.
That's what I guess goes into a PC.
But when you want to do anything real, what do you do?
You buy a graphics card, a Photoshop card,
you buy a math card, an encryption card, a radio card.
I just buy big cases for my computer
simply because I can plug in a ton of cards.
And you get a whole bunch of these cards,
and real performance and streaming multimedia
applications comes from these specialized hardware units.
So how do these give you performance?
These give you performance because some poor souls sitting
out somewhere have very carefully
handcrafted the wiring through the application.
They have customized the wiring to applications
such as encryption, radio, and so on.
They've hand-hacked the wires on the board or on chips
so that the application has been very carefully choreographed
on the VLSI chip so that all the wires take data
right from where it should be to the right place,
at exactly the right time.
But a huge amount of effort goes into that process.
And that's how you get performance.
So, what do we do?
This is a problem.
You want to make people's lives easy,
but it certainly gives us pause in terms of how we can actually
achieve this.
So the key insight here is to observe the following.
In about 10 years, we're going to have
so many gates on our chip, billions of gates on our chip.
We're going to get to a situation
where we're going to have gates crawling on it for years,
tons of gates on our chip with ungodly amounts of logic.
And what we're going to do is we are
going to solve our computing problem by throwing gates
at the problem.
And what you do here is, in the past
while people hand-compiled these applications by customizing
the wiring of boards, what we are going to do
is take the application and build a compiler,
and build a compiler that uses these excess gates
to choreograph the wires.
Again, the key is that instead of having users spend
huge amounts of time orchestrating the wires
and carefully laying out the wires to get the performance
from applications, what we're going to do
is build an architecture and a compiler that
uses these excess amounts of gates
to allow us to configure the wires,
thereby directly combining applications into the logic.
So what we get here is a trashing
of the traditional instruction set.
Raw is an architectural approach that trashes existing
instructions and architectures.
And instead, what it does is exposes the raw hardware
to the compiler.
So you get the raw hardware on a chip completely exposed
to the compiler.
And raw hardware means the wires and the compiler
on the chip completely exposed to the compiler.
And what we're going to do is use these excess gates.
We're going to have a compiler that causes those three
gates to orchestrate the wires on the chip
so that we get the effect of customized
wiring to our applications.
So what this does is lead to a new model of computation.
I love this new model of computation
because it is an exercise in excess.
You're going to have lots of gates.
So we're going to throw gates at the problem
and combine applications directly into logic.
And the key idea here is that we are
going to program the wires, not a logic unit.
This is a radical departure from existing architectures.
In existing architectures, existing instruction sets,
what is exposed to the software system?
What is exposed are logic operations such as "and,"
"subtract," "add," and so on.
What this is going to do, what Raw is going to do,
is not expose the logic or the logic operations
to the compiler, but rather, the most valuable resource,
the most critical resource, the wires.
So what does it mean to program a wire?
What does it mean to expose the wires to the compiler
and let the compiler program them?
So this is a playground, if you will.
And this is our most critical resource, a wire.
It is also the real problem in terms of getting performance
out of complicated chips.
So what we're going to do is build a compiler
that is going to orchestrate these wires in a way that
customizes them to the application.
So the first step that we're going to follow
is that the compiler is going to pipeline the wires so
that long wires don't incur long delays.
Pipeline the wires, use that excess logic
to introduce registers to pipeline the wires, so we
can run at much higher clock speeds than we could imagine,
say around 10 to 15 gigahertz by the year 2010.
The next step, why is it a really valuable resource?
So if you do not want to send just one signal down a wire
and bind it to that signal for all time,
rather multiplex the wires among a large number of signals.
And again, if you'd like to use a compiler
to introduce multiplexers, again,
use the excess gates to orchestrate
our most valuable resource.
So use the gates to build multiplexers
to multiplex the wires among a much larger number of signals
and improve the utilization of the wires.
And finally, what we would like to do
is use a compiler to customize and schedule
and route the signals on these wires at the right time
so that the set of wires takes on the identity
of the application.
So this is what it means to program a wire.
And we in fact like to call these wires of the 21st century
"soft wires."
So what we like to do with this class of approach
is enable the Handy 21.
So we'd like to have a single device into which we
can directly map applications using our compiler.
So encryption, or speech recognition of various forms,
cell phones directly map the appropriate software
into Raw hardware, like games.
And in collaboration with the networking folks,
we enable the following.
We have a single device that I can use and talk
to and say, hey, turn yourself into a cell phone.
The device will go and locate the appropriate configuration
software, configuration bits, download it,
configure the wires after our chip,
and give it the personality of a cell phone
and then I talk to it.
So what does that mean to me?
That's pretty fantastic.
Today, I carry a beeper, I carry a cell phone,
and I carry a Palm Pilot.
So I'm going to take all of these things
and throw them away.
I'm going to have a single device, the Handy 21,
and just carry one little device.
And just by talking to it, I get it
to download the appropriate configuration bits
so that it takes the personality of pretty much any device
that you want.
So, the one other step, and what I'd like to do.
This is the little device I'm talking about,
and all it would contain, in terms
of digital logic, digital hardware, a single Raw chip
inside.
And in addition to that, it has a bunch
of perceptual interfaces.
It has cameras and perhaps a little 3x3 DFT display.
It has other perceptual interfaces, like speech,
both speakers and microphones.
Of course it needs an antenna and an A-to-D converter.
And the A-to-D will probably be integrated on the same chip
itself, so that essentially all the function that you
buy custom hardware for today will be accomplished
within the Raw chip by customizing applications
directly into the wires on the chip.
By building a device of this sort,
we'd also like to paper our walls with computation.
We need to have computation all over the map.
You look and guess what?
There's computation.
It's going to be everywhere, it's going to be free,
and it's going to be readily available like oxygen. You
will be wondering how you lived without it.
So the key idea is that in the walls of a new building,
we have an array of Raw like chips on the wall,
so that these can give you a massive amount of computation.
As Mike pointed out, it's the wall socket analogy
or in contrast to handheld little batteries.
So I call these computational fabrics the sheetrock
of the 21st century.
So the Raw architecture is actually very, very simple.
The challenge is in the compiler system
to orchestrate the wires.
So the Raw chip itself is an array of tiles,
very simple, replicated, simple to design and build.
And the key in the tile is the switching fabric.
Each tile has a switch.
What the switch does is orchestrate the wires.
The bunch of excess gates that I talked about
are devoted to the switch and the compiler
programs the switch.
This is not a multiprocessor in the traditional sense
of the word.
The bunch of tiles, each of which
has a memory which can be programmed by the compiler,
tells the switch exactly what wire or what sort of wires
to connect to what point on every cycle of its operation.
So the compiler, by introducing a program
into each of these switching blocks,
choreographs how data moves around the entire chip.
It's a wire-centric model of computation.
And, of course, you need a bunch of logic.
So there'll be a bunch of logic out there.
It really doesn't matter exactly what it looks like.
It's incredibly simple.
And the other value of Raw architecture of the sort
is you can now bring massive streams of data
directly to where computation happens upon it.
And the chip that you're building,
by the end of next year, in collaboration with IBM,
is going to have on the order of 1,500 [? I/Os. ?]
Get massive amounts of data right for the computation,
get the wires orchestrated to stream the data,
and get much better performance and power than we can today.
One can view this, if you like, in some respects, like an FPGA,
but it's quite different from FPGAs in that it's
a much coarser grain.
It has built-in support for multiplexing all the wires.
FPGA is [? bind ?] hardware for one time.
It takes a much longer time to reprogram the wires.
And I think the most important part
is that we are looking to build an automatic compiler,
a compiler that automatically compiles applications
into the chip, as opposed to having
users do hardware designs.
So it's one example.
This is not all hot air.
My group, comprising Saman Amarasinghe and myself
and many of our students, have combined many applications
to this.
We built a compiler that can take sequential C applications
and compile it directly into a simulator of the Raw fabric.
As one example, you will hear a talk later
on by John Guttag on a software implementation of FM radio.
So what we did is took their sequential C code
for the software area that they've built and automatically
compiled it onto a Raw machine.
So I can kind of give you a sense
of what kinds of performance and benefits
are achievable with something like that.
So we've compiled that and it has a channel selection module,
the demodulation component, and a low-pass filter component.
And our projections are, for the 128 tile Raw chip,
that an automatically compiled version of the sequential C
application will run on the order of 10 times faster
than an X10 PC of that day.
We also have some wizard students
and they hand-hacked a version of the code
and they got it for the 10x improvement.
So the real challenge in their own research
is to build a compiler that can approach the 100x that you
can get by hand customizing the wiring of the application.
We're a long way to go, it's a real challenge.
But the real key is the compiler.
And what have we done here or what
are we banking on that would make our life fairly easy?
The key is the observation that 10 years from now,
we are going to have an excess amount of gates on a chip.
The wire to the problem.
Gates are free.
And what we're going to do is throw gates at the problem
to solve a compilation problem.
If you're not going to try to be stingy about gates,
we're going to throw gates at the problem
and use those to make our compilation job a lot easier.
So finally, to close, let me talk about futures.
If we can get our way and build a single Raw chip that
can take the place of general-purpose computing
chips, such as PC micros, and at the same time
eliminate specialized hardware because the compiler combined
these functions by customizing wires,
then we will have a universal Raw
chip that can replace both general-purpose micros
and special hardware.
And so I make a projection that it's
quite likely that 10 or 15 years from now,
there will be only three kinds of chips
in the world, DRAM chips, Raw chips, and, of course,
potato chips.
Thank you.
But of course, we're going to have to connect
these computers together.
We're going to need networks, networks that
go way beyond the internet.
And to talk to us about that is Hari Balakrishnan,
who is the youngest member of the faculty at LSC.
Take it away.
Thanks a lot, Bob, and good morning, ladies and gentlemen.
What I'm going to describe to you
is my vision for N21 Oxygen's networking component, which
I fondly hope will also be a core component
in the future internet.
And this is a vision that has two main themes and components
in it that I'd like you to take on from the stock.
The first is the notion of self-organization.
And the second is the notion of adaptation.
By self-organization, what I mean
is the ability for our networks and for our distributed network
applications to organize themselves and configure
themselves and get efficient work done
without any manual intervention whatsoever,
and without any user frustration in setting things up,
which we're also familiar with.
By adaptation, what I mean is the ability for our protocols
and applications to adapt to all the changing conditions,
from levels of congestion, to errors on networks,
to heterogeneity of different types of links,
and to transfer data as efficiently as possible.
And this is what I'm going to talk about.
So I'm going to start first by asking you to imagine
a very simple scenario, not from science fiction,
but this is something we'd all like to do
today, something which we all really will find useful,
but something that's really hard to accomplish today.
And it starts first with a group of people
who gather together in a meeting room to collaborate.
This is just a simple meeting we're all so used to doing.
We have a variety of different computing and communication
devices, including, of course, the H21, or the Handy 21
that Michael and Anant talked to you about.
During the process of this meeting,
we would like to bring these devices in and have
them networked and have an application
to share information with each other
without any intervention on our part
and any frustration of our own.
Of course, we also find that in any environment that we
move in and live in, there are a number of services
and a number of different things in the environment
that we have that we would like to control and like
to gain information access from, ranging from coffee
machines that would be networked in the future,
to projection equipment, to copy machines to temperature sensors
and other types of sensors and actuators in our environment.
Of course, we also have the Enviro 21,
which are embedded sensors and actuators in the wall
that we would like to control from our network.
In our meeting, we also have a person
who's been lucky enough to be at home today,
but he would like to participate in the meeting.
And he does so by using his wide area wireless
link from his home to connect to our corporation.
And we would like to do this again without any setting up
of our own.
And again, during the process of our meeting,
we find that a colleague of ours is vacationing somewhere
in the Mediterranean and we would like our system to,
in a secure and private way, track her and have her join in
and participate via satellite connection.
We'd like all this to happen automatically.
During the meeting, we find that there's
lots of information, lots of services
from the worldwide web, that we would
like to garner in and actually use
to make our meeting more productive,
lots of different types of data.
What we would like to do is to have all this happen
automatically and efficiently to create
this notion of collaboration, of collaborative regions that
aren't people that automatically can be spontaneously created
and when the meeting is done, be turned on automatically.
What are some technical challenges
in enabling this vision?
The first is heterogeneity.
There's a wide variety and diversity
of devices, of types of networks,
of applications and data and services,
that we somehow have to overcome and have our system handle.
The second is the large amount of dynamism
and spontaneous operation and mobility that we need.
We need to have these networks and applications
rapidly deployable and organized without
any manual intervention.
And the third is a much higher and much better
degree of fault tolerance and decentralization
than what we have today.
We absolutely need our networks to be far more
robust than they are today.
I'm going to describe to you how the ideas of self-organization
and the ideas of adaptation built into Oxygen's protocols
and middleware will enable this to happen.
Before we get into Oxygen, let's look
at how current networks work.
And this is a highly simplified, high-level view of networks,
which are typically built around clients and servers.
Think of them as web clients and web servers.
And packets get routed from clients to servers and vice
versa via routers using IP, the internet protocol.
One of the most interesting and important services
that exists in the internet today
is the domain name system, which is a fairly static mapping that
converts host names, such as microsoft.com or cnn.com
or mit.edu to IP addresses.
And this is a fairly static mapping
that's not dynamic, doesn't get updated
or changed very spontaneously and doesn't happen often.
So the problem is that the internet today
is tuned to work with mostly static topology and services.
It isn't tuned to handle a high degree of dynamism
and spontaneity.
The second problem is that our applications cannot learn about
the network.
We've been used to a highly layered view of networking
architecture, and that information doesn't easily
pass between different layers of the protocol
stack up to the application.
So it's very hard today for applications
to learn about the network, to learn that bandwidth may have
changed, or to learn that there are
wireless links along the path.
The third is the high cost of operational management,
of setting these networks up, of configuring networks to work.
And we would like to eliminate that, or at least reduce that
to something insignificant.
How are we going to achieve this?
Well, the first thing to do is, rather than
think of the internet and future networks as transmitting bits,
we should really think of them as transmitting information.
We should view ourselves as having
a large number of devices and sensors
and actuators in the world, a large number of providers,
a large number of information providers.
And at any point in time, let's imagine
we have an application running on our Handy 21.
And we want to control our environment
or retrieve some information from the worldwide web
or from the internet.
Rather than think of this as bits,
let's think of us as a consumer of information.
Let's imagine that we want some piece of information.
We have a distributed application
that's running on our machine that
requires some data or some functionality
or some service that exists somewhere in the network.
The point is that often our application
or often we can express what we want,
we can describe what we want in words,
or our applications can express what they want.
Unfortunately, they can't often tell the network
where to find it.
With the way the domain name system
works today, unless we tell the network
where to find this information, we don't get the information.
We can express this information in interesting ways.
And that's how N21 is going to work.
So we're going to think of this network
as having a set of consumers and a set of providers
of information, of any piece of information or service
or functionality that we want.
And the task of the network, the first task of the network,
is to efficiently match up these consumers and providers.
The consumer expresses the information or the service
or functionality that it wants.
And the job of the network is to figure out the best provider
to get this information from.
The second job of N21, of the future network infrastructure,
is to enable applications, to learn about conditions
in the network, to learn about changes in bandwidth,
to learn about different types of [? error conditions, ?]
to learn about failure modes, and adapt well to what's
going on, adapt well to heterogeneity,
and adapt well to everything that changes in the network.
And our hope is that Oxygen's N21 middleware protocols that
will achieve this will also be a core component
of the future internet and enable a much better way
in which applications and distributed applications
can be set up to organize themselves.
This is the notion of self-organization.
What I'm going to describe now is one component
of the self-organization puzzle.
And this is built around the naming system
that we call an intentional naming system.
It departs greatly from the way current naming systems are
set up, which are fairly static and which
usually involve things like mapping
host names to addresses.
In N21's naming system, the INS, or intentional naming system,
names do not express just network locations or host
names.
Names express desired properties.
They're intentional because applications can now
express that intent in what they want
by describing what they want.
So, for example, names are descriptive
and information providers could periodically
disseminate this descriptive piece of information,
describing the service that they provide into the network.
So for example, if I have a camera in room 504 of the MIT
LCS building, I could periodically
advertise this in this fashion, for example,
a set of attributes and values or a set of other properties
in some sort of defined language.
When I want to look up something,
and I want to retrieve a piece of functionality,
names become query expressions, again,
in a carefully defined language with a well-defined set
of operators that we need to be thinking about quite carefully.
For example, these query expressions
could involve exact matches of attributes to values,
they could involve qualities of ranges and wildcard matches.
And for example, if I'm standing in Tech Square in Cambridge
and I want to find the closest cafe, what I could do
is to have my application, that's
my cafe application or my location application,
send a message out that wants the cafe within a quarter mile
from here.
Presumably, the cafes in the area
are proxies acting on their behalf,
and will have periodically broadcast or periodically
disseminated this information describing themselves as a cafe
into the network.
And what we would like to do is to have our system match
these queries with the properties
that the providers have disseminated
to the network, allowing, of course, for fuzzy matches
because we may not always expect an exact match to happen,
with different providers of information
being different from the consumers of information.
The way we're going to do this is to first build it around,
of course, the system architecture, because clearly,
just defining the syntax and the semantics of the names
doesn't really achieve the goal that we want.
And the first thing that we need in any naming system
is, of course, a way of resolving these names,
to where in the network these services can be found.
And we do this by defining INRs, or intentional name resolvers.
The way these intentional names resolvers are set up
are that they're set up to form a distributed overlay
network on top of the IP, on top of the internet,
running over the internet protocol.
And these resolvers are set up so they can automatically
spawn up when applications desire
the ability to resolve names that they have to addresses.
They also form an overlay topology of their own
using proper protocols to discover neighbors
and also to perform load balancing.
And one of the important issues that always comes up
when one does networking research
is how you're going to deploy the scheme.
And we've carefully thought about this,
and the way we're going to deploy it
is by starting with today's domain name system
and evolving that in a direction that
allows us to make it more expressive
and make it more intentional.
Let's say I'm on my Handy 21 and I'd
like to find out from the security camera located
in my office what it's currently seeing.
In today's world, what I'd have to do
is originally to have set up my camera
to be something like camera 510, which
happens to be my room number in lcs.mit.edu.
And then go in and mess with the domain name system
architecture, have a system administrator do that,
and then plug in the name to IP address mapping.
Of course, let's imagine that this is actually
a mobile camera network that are maybe
robotic cameras or other mobile elements that are
moving these cameras around.
Then this approach doesn't work very well,
because the moment something moves,
its network location changes.
And the name [INAUDIBLE] we're mapping
may need to be reinvoked and remapped.
So rather than go with a static mapping of host names,
let's express what we want using an intentional name.
And the intentional name in this case
would say that I want to go to room 510
in NE43, which is the MIT LSC building,
to an entity that's a camera.
And I would send this packet out.
My application would send this packet out.
And this name would get looked up in the intentional name
resolvers that look up these names
and then decide what to do with it.
They might decide that they know exactly
where to find it, in which case they tell me where it is.
And they send the packet to the service that I'm looking for.
Or they decide they don't know where it is,
but they think they know who else
might know where it is and have these packets routed
via the name resolver network to the eventual location
of the service.
When the camera gets my request, it sends an image out and back
through the intentional name resolvers to me.
And the important thing here is that these images
get routed back, not with an IP address that's pre-configured,
but with a name that expresses who the consumer was,
which in this case, was me on my Handy 21.
What this buys us actually is automatic mobility,
because if I were to move from this location
to some other location, because the response isn't coming back
with the hot pre-configured IP address
but coming back with a name, if I move around
and I periodically send this piece of information
that I've moved around, the intentional name
resolvers and elsewhere in the network
will cache this information and know
how to route the packets to me at my new location.
The other piece that I get for free
is group communication, because a name can now
map on to multiple services or multiple people.
So for example, if there's a network of cameras
that I want to get to, I can use the name and use something
like a wild-card entry to match it
to all of the cameras that exist to have the packet returned
to them directly.
The key idea that enables this is the integration
of name resolution and message routing.
We've departed from the current view of name resolution, which
is something that the DNS does, which
is that you try to get a hostname,
you try to resolve a hostname, and it returns an IP address
to you.
And then you go ahead and separately
establish a connection to that IP address.
So when things move or the world changes around you,
end up with stale, outdated information.
In our architecture, we integrate the process
of name resolution, the looking up
and resolution of names to routing.
So the name resolver is actually actively
participate in routing, and this way,
enables the applications to actually control
what they get from the network.
This is the vision.
And I've described one piece of the puzzle
that we're actively working on.
But there are some significant research challenges
that we need to overcome before this vision becomes
a complete reality and we have truly self-organizing network
systems.
The first, of course, is to make the scale
to large networks and large numbers of applications.
We're working on a scalable wide area naming architecture
based on intentional names and actively thinking
of how to deploy this on the internet,
and how to deploy this first within the context of N21,
and then transition it to the internet.
The second thing that we need to look at
is an end-to-end adaptation framework,
one that exposes network information from underlying
layers of the protocol stack to applications,
so that they can learn about what's going on in the network.
And the second is coming up with new algorithms
and new protocols to react to this changing knowledge,
to do clever things that use bandwidth well.
You're also going to hear from Professor [INAUDIBLE] who
is going to talk about an idea called
radioactive networks that allow applications to have networks
adapt to what they desire.
So you can use this, for example,
to change the available bandwidth on the network
by changing the underlying wireless modulation.
In this context, we're also working
on a new congestion management architecture
for internet applications.
And the third piece that we need to deal with
is some very hard security and privacy issues.
We've enabled a lot of new functionality
and a lot of new, cool things, where
we can have services express what they want.
We have consumers express what they want and get to it.
But this leads to some significant privacy
and security issues, and you'll hear from Professor Rivest talk
about some of this.
So to conclude, my vision of the future is very simple.
It's networks that learn.
What we would like, and what I think we will see,
is better application and user control
over what networks provide.
And things like our intention naming system
are a step in that direction.
And a large number of other pieces
of this puzzle that will be fit and will make this
happen in the future.
The second is a significantly higher degree
of dynamism, mobility, and spontaneity, as well as
decentralization and robustness in our network infrastructure.
No longer will it be the case that a distributed system is
defined as, "if a machine that you've never heard of fails,
you'll never get any work done."
And this is something Leslie Lamport said a long time ago.
What we would like is to eliminate that altogether
and build really robust distributed network systems.
And the third point is that I think
we're going to see a significant degree of integration
with the real world, with the real, physical world of devices
and sensors and actuators that are already
embedded in our real world.
And we'll see them more tightly integrated
with our networked world so that we can actually
get useful work done.
And my belief is that the self-organization middleware
and adaptation protocols, such as the one I just described,
are key to making this a reality.
Thank you.
Last week, the New York Times called Dave Clark
"the father of the internet."
It's not exactly true.
I mean there was Licklider and Taylor and Roberts and Kahn
and Serf and, of course, Al Gore.
Now, don't ruin my jokes like that.
Dave himself denies paternity.
He admits to being the first cousin of the internet.
During the early '80s, Dave had a lot
to do with putting personal computers onto the internet.
And so I'm anxious to hear what he's
going to say about the post-PC internet.
Dave.
You're stealing my jokes, too.
So let me explain this "post-PC" phrase.
I think several of us started using it for different reasons.
I picked it up because I wanted to tweak
my friends at Intel, but of course now they're saying it,
too.
So the fun is going out of it.
There's a spectrum we're on.
I'm old enough to remember timesharing.
And so I want to go back to the good old days
when the CPU was this monstrously expensive thing
and we all gathered in a circle and bowed down.
So you have all these displays clustered around the computer.
It filled the entire ninth floor of the building.
It was wonderful.
It was called Multics.
I'm old enough to remember CTSS.
So what happened is the CPU got cheaper as we kept doing this.
And as the CPU got cheaper, we reached this magic point
where there was a 1 to 1 ratio between the CPU and the PC.
1 to 1 is a very powerful ratio.
It lets you forget about all sorts of things, like,
we forgot about the Windows system.
We forgot how to split an application into two halves.
We're going to have to relearn all this.
And because that's a very powerful ratio,
we've sat at that point for a long time.
But that hasn't stopped this trend,
the one that Anant was referring to,
other people have alluded to.
The CPUs are still getting cheaper, faster
than the displays are getting cheaper.
So that ratio is eventually going to unstick.
And when it does, it's going to do it violently.
We can see this happening now.
When it does, of course, what you're going to end up with
is this alternative vision here, in which
there's one display surrounded by a bunch of CPUs.
You don't want to think of that as PC1, PC2, PC3.
That's stupid.
Those are all of the computers that
are embedded in all of the objects
that we encounter as we walk through the world.
So what are the essential characteristics here?
Processors are getting cheaper.
That's sort of straightforward.
I hope Anant talked to you into that.
The second is user interfaces go with people,
they don't go with processors.
I have a display on my desk.
I don't want to have one display for computer.
I want to have one display.
I'd like the small one with me when I walk around.
Do I have to throw this across the floor?
I'm not sure.
I'd like a small one with me when I walk around.
I'd like a big one in my office, maybe a huge one someplace
else.
I'd like one in my car that whispers in my ear.
So that's the second point.
And the third point.
Notice my picture had this downward trend.
Let's see, there's one button that they said don't use.
I got away with it.
It crashes the computer or something like that.
There's a trend that is going back toward the top as well,
although they've renamed it.
They don't call it timesharing, they call services in the net.
The idea that if you put something in the net,
it actually may be easier to manage.
You pay somebody else and he takes care of it.
You don't have to install it yourself for nine hours
so that you have an excuse to fly to Asia.
And so there's a force in this picture that is pushing us back
toward the top.
There's a force in this picture that
is pushing us to the bottom.
And the PC is simply a way station along that path.
Now, there are students I have met-- it's really depressing--
who are so young that they've never
seen anything except a PC.
And they think that's the way it's always been.
So of course, that's the way it will always be.
So there is a role for old fogies.
If you've outlived the present into the past,
maybe you can remind them that--
But we did TCP for the PC in 1982.
That's a long time ago.
And this gives you a false sense of stability.
And this traps you when you think about what applications
are going to look like.
I'm sort of an internet guy, so I
like to think of applications that
have the word internet in their name, so,
internet telephony, internet telephone, internet radio,
internet music, internet television.
And I had somebody say to me, I don't
want to go to my PC to make a phone call.
Wrong thought.
I have a telephone in almost all rooms in my house.
I don't know, we are sort of weird.
10 years from now, what will you have
in every room in your house?
It won't be a telephone.
It will be a something.
It'll be on the internet, we know that.
It'll probably have speech input, speech output.
It'll have a display.
It probably won't have a keyboard,
if you believe Victor Zue.
They'll be ubiquitous.
And that'll be where you do your telephony, you listen to music.
Now, you might disagree as to what that object is,
but envision it.
And say, that's the context in which new applications are
going to emerge, because that's the user interface
space in which they're going to happen.
Now, there are a couple of obvious things
that follow from what I just said.
I don't want to dwell on this.
The consumer today thinks they can go to a drugstore,
buy an RG11 and some wire, screw it all together,
and actually put a new phone extension in.
They don't have to run HP OpenView for you
in order to do that.
So whatever tomorrow's data networks are,
they have to be consumer grade.
You can't break it, and if you do, it fixes itself.
You can buy it at the drugstore.
It has to be cheap.
There's an old saying that somebody made up,
which is that the cost of networking something
could be no more than 10% of the cost of the something.
So if you have a dollar object in your hand,
putting it on the net shouldn't cost more than $0.10.
And that implies that networks have to be heterogeneous.
Now, those of us who've lived in internet for a long time,
have remembered that we didn't always
have one networking answer.
As Bob will remind you, if I were to drop my hat,
I'd try to invent something called Token Ring.
Oh well.
But during the time that we were debating this,
we could still talk to each other because
of a set of protocols that ran on top
of that mess called "internet."
Why is the future also heterogeneous?
Well, you're going to have somewhat expensive, like $1,
high-speed networks that are good for entertainment, video,
high-speed audio, and all that kind of stuff.
And you're going to have really cheap nets, like 1/10
of a cent, which are going to hook together little light
switches and things like this.
And the answer is that all of this has to work together.
Somebody said to me, consumer appliances
aren't taking off because we haven't
figured out what the standard is for networks in the home.
Wrong.
Think.
Multiple kinds, glue them together.
They have to be glued together.
Great new market for Cisco.
But except heterogeneity, I want to look
at some slightly more, I think, interesting observations
about system structure.
And this relates a little bit to what Anant was saying,
and Bill Gates a little while ago.
If you think about some of the devices--
I was going to wave my cell phone,
but I can't because I inadvertently destroyed it
yesterday.
I did throw it away.
It was an accident.
I have to buy another one.
A lot of the devices we use today
are in the word processor stage that Gates was illustrating,
in which you have a device with a custom application built
into it.
My cell phone is really only one application.
It does cell phone for a living.
Then we've got this device that's
sort of the PC, the amazing shrinking PC.
It turned from a desktop to a laptop to a Palmtop.
I was reading a magazine that was
talking about the micro, ultra lightweight.
They're getting thinner and thinner.
But they're still PCs.
They have complete programmability in the way
that the shrinkwrap presumption of today assumes.
So the first stage in the process
of getting these devices into the future
is to make them smaller.
But the second stage, which I think
is actually more interesting, is when
they start to be dependent on services in the network
so that they're not quite so self-sufficient.
The exciting applications that run on your palm object
are the ones that have matching services back in the net.
My assistant can make an appointment in my calendar,
and if this thing were only on the net, sigh,
it would be able to tell me about it.
It's particularly interesting when, as I did yesterday,
I destroy the contents of this and have
to reload it from somewhere.
So what does this say about software?
Well, it says we have to do something we've
talked about for a long time.
We have to write client server software.
Now, today the server is on the PC,
but it's just going to diffuse into the net as a set of things
that you can either capitalize and purchase
or you can, in fact, rent.
There will be companies selling you services on the net.
But then the next thing that's going to happen to this device
that you carry with you is it's going to blow up into parts.
Here's a cool device.
Can you see it in the back of the room?
This is a little earphone with a little microphone.
Other people are pulling out their little earphones
and showing me.
You put it in your ear like this, and you talk.
Now, what era does this live in?
Well, actually this lives in the one-device, one-application
era, because the plug on the other end
goes into my cell phone, and the only thing you can use this for
is to make a cell phone call.
But as Victor is about to explain to you as soon as I get
off the stage, we want to talk to every one
of our applications.
So we're going to move from a model of one device, one
application, to one device, one function.
This is the listening function.
This is the talking function.
This is the two-line display with four buttons function.
This is the slightly larger display with a pen function.
And now when you want a new application, for example,
you'd like to be able to do the cell phone thing, what you're
going to do is you're going to download
a piece of software that looks around your world and says,
oh, he's asked me to build him a cell phone.
Can I do that?
Well, I found an earpiece.
I found a microphone.
I found someplace that the caller ID could show up.
I found his little black book out on the net.
I found this service over here.
If I stir and mix, that'll be a cell phone.
Where did my slide go?
Oh, I see, they're trying to show you my microphone.
Cool, great.
So applications, as somebody previously just said,
are not shrinkwrap.
What they have to do is they have
to come down into your world and they
have to organize your world.
And notice it gets organized differently for each person,
because I might like the caller ID
information on my wristwatch.
And you might like the caller ID information gently whispered
in your ear.
And somebody else might say, that's really stupid.
I just want this thing in my pocket to vibrate
and I'll answer it anyway.
So there isn't a uniformity of user interface.
There isn't a uniformity of application function.
It's the opposite of shrinkwrap.
It's going to be self-organizing.
And it's going to be self-organizing,
both among the devices you carry and the services that
are out on the network.
Let me make one more point about this world.
Well, here's a little, cute device.
I have no idea what it is, but I bet you
it has a computer in it.
It says RadioShack.
Everything's going to have a computer in it.
Everything's going to be networked.
Why?
Do I have some grand vision?
No, I don't have a grand vision.
It makes the cost lower.
Lowering the cost equals inevitable.
Somebody was explaining to me today that when
you manufacture an appliance--
I don't mean a computer appliance,
I mean something like a microwave--
it's cheaper to put a network interface
on the back of the box than it is
to put a user interface on the front of the box,
because the user interface in the front of the box
has buttons and displays and things.
And those cost money and they break.
So all of these computers that are
embedded in all the objects around us
are going to get networked.
And here's the point.
Each one of those devices represents a little piece
of cartilage that's linking the real world to the cyber world.
When you have an object that's got a computer inside it,
you can deal with it in two ways.
You can walk up to it in physical space like this,
and you can pat on the keyboard and see if something happens,
or you can talk to it in cyberspace.
So what's the Coke machine of the future?
The Coke machine of the future doesn't
have to have a place where you put money in.
Boy, does that add cost, because not only do you
have to have that machinery that can tell
real quarters from fake ones, but then you
have to send a human out to enter it
and they have to send a second human
to make sure it's not cheating.
No, no, no.
A Coke machine in the future is a machine
for dispensing a Coke that just has a little placard on front.
And the placard has some sort of machine-readable name
across the bottom.
And then above it, it says, scan and click one Coke.
So what do you do?
You take out of your pocket some little object
that can scan that name.
It's on the little placard.
This is like a mouse in real space.
You can point and click.
You can drag and drop.
And then you push the "do it" button.
I don't know what the Microsoft people call it.
But Windows have two buttons, "do it" and "about."
And so you scan the name, you push the "do it"
button, and the message goes out around through the internet
and it goes to the place where I pay the Coca-Cola franchisee
$1.
And then a Coca-Cola franchisee sends a message around the net
to the Coke machine, and it dumps a Coke out.
Why is this inevitable?
Because it's a much cheaper Coke machine.
So what namespace links real and cyberspace?
It's got to be very flexible.
It's got to be machine scannable.
You don't want to sit and type in a URL
in order to get a Coke out of a Coke machine, right?
So this has got to be automatic.
All of these names have to be scannable.
So what's the future look like?
Well, it's a network full of services,
all kinds of services, calendar, maintenance services, email
services, voicemail services.
It's a world in which there are devices which
you use as user interfaces.
There are devices you carry with you.
The Handy 21 is an example of a device you carry.
By the way, this is not a Handy 21.
This is not even the eventual device
that my group is building.
This is a much bigger mockup that you can use to play with.
Don't be put off by the size of this.
There are devices you carry with you.
There are devices you encounter, like Enviro 21s.
The applications that you choose to run
are constantly adapting to these new devices.
As you walk into a room, the application
has to reconfigure itself to use the different devices you've
encountered.
And then there are other devices that you don't actually
wish to make a part of your application world.
You really want to deal with them somehow.
You want to make the Coke machine give you a Coke.
You don't want it to answer your email because you're near it.
But you'd like to talk to it in some way.
So you are constantly walking through the world,
encountering these devices, finding
the linkage between their manifestation in real space
and the manifestation in cyberspace,
and dealing with them using the things you carry with you,
your interface devices.
And that is the post-PC world that I
think we're about to move into.
14, no, I overshot.
David Clark, father of the Token Ring,
said that future devices won't have keyboards
if you believe Victor Zue.
Well, I do believe Victor Zue.
As Michael explained, the natural ease of use of Oxygen
will be based on built-in speech.
And we have a well-known pioneer in interactive dialogue
systems, Associate Director of LCS,
head of the laboratory Spoken Language Systems Group,
and player of a mean guitar, welcome Victor Zue.
Thank you, Bob.
Everybody wants to talk to their computers.
For decades, science fiction writers,
Hollywood has been telling us, speech is it.
Is the ultimate interface.
Why is it?
I think part of this is our strong desire
to make computers anthropomorphic.
We want to make computers behave like human beings.
But I think it's more than that.
Speech is natural.
We know how to speak before we know how to read and write.
Speech is efficient.
Everybody can speak about five times faster
than they can type, and probably 10 times faster than they
can write.
And speech is flexible.
We don't have to touch anything.
We don't have to see anything.
Now, over the last two or three decades,
we're seeing the technology for speech maturing such
that the first generation of speech-based interfaces
are beginning to emerge.
And most of these interfaces are based on the technology
of speech recognition.
So where are we now?
We're seeing high-performance, speaker-independent speech
technology becoming possible.
For very large vocabularies of tens of thousands of words,
you can use it if you are a cooperative speaker
in a benign environment.
For moderate vocabulary tasks, the system
can accept extemporaneously generated speech
over the telephone.
In fact, you can go to various computer stores
and buy speech-recognition software for dictation.
Products offered by IBM, Dragon Systems, [INAUDIBLE],,
and Philips.
You're also seeing or experiencing
telephone-based transactions pioneered by AT&T Bell Labs,
and now pursued by a number of other places,
including Nuance, Philips, and SpeechWorks.
So the bottom line is the current-day day technology,
when well matched to applications,
you can actually put to good use.
But the point I would like to make today
is that Oxygen needs far more.
So what do we need?
I think in the next generation, our computer interfaces
are going to be the kind of interfaces
that allow you to communicate with computers very much
the same way you would communicate with another human
being.
And therefore, the notion of conversation is very important.
On the input side, the machine must
be able to understand verbal input.
That means the technology of speech recognition converting
signal to symbols must be augmented with language
understanding technology.
And you must be able to understand within context.
So when someone says, how far is it?
How much does it cost?
What about Tokyo, Japan?
Things like that you will be able to understand
as part of a conversation.
On the output side, the machine must
be able to verbalize the information.
You have to take documents from the web,
tabular form the information, turn it
into well-formed sentences, and eventually, utter
these sentences, perhaps over the telephone.
Throughout this process, you must
be able to engage in dialogue so the machine
will be able to clarify mistakes you might have made.
Did you say Boston, Massachusetts or Austin, Texas?
And it'll try to help you negotiate such
that you can conclude a transaction
in a meaningful and efficient manner.
Now, for the last decade, we at the Laboratory
for Computer Science have been working
on this kind of an interface, conversational interface.
And this point, we're seeing the emergence
of these kind of technologies and systems
that can recognize what a person said,
understand the meaning of the utterances in context,
take appropriate actions, and respond.
But as many of us have said this morning, these kind of systems
are unfortunately kind of dumb.
They can only deal with limited domains, such as weather,
flights, traffic, navigation, banking, electronic commerce,
individual domains.
It is not omnipotent.
Nonetheless, they can deal with real domains.
The applications are real.
The information is up-to-date.
And you can access this information over the telephone.
It deals with multiple languages.
The three that we paid the most attention to
has been American English, Spanish, and Mandarin Chinese,
among others.
And these systems can perform information access
in almost real time, the wait for the worldwide web
notwithstanding.
And using standard PCs, machines come,
you pour software into it, and it works.
The applications I'm going to show you,
and the applications we have been developing,
are all using an architecture called
Galaxy, which was introduced five years ago in our group.
And I just want to quickly tell you
about some of the features of this architecture.
First of all, it makes use of a distributor architecture.
So you can have a very lightweight client.
And the client can be so lightweight,
it is only a telephone.
And the compute and knowledge-intensive actions
are all taken on remote servers.
Galaxy can deal with multiple domains of knowledge
and can access them transparently.
And you can add more, new domains.
It can deal with multiple modalities.
You can point, click, type.
I can talk to my machines using a telephone.
So what I'd like to do is to give you
a very brief demonstration in terms of where we are
and what we can do.
The first demonstration is going to be without display.
In its simplest form, what the Galaxy system can deal with
is a client, which is nothing more than a telephone.
So telephone-based interaction without any display
poses new challenges, because if you only
have the auditory channel, then you
can only absorb a small amount of information
at a time, which means that a dialogue management
component must work concurrently with, cooperatively with,
language generation, so that you can get information down
to a digestible size for the user.
And the second thing is, of course,
better-quality computer voice response will be necessary.
We have been working in the synthesis area also.
But for the time being, the demonstration
I'm going to show you is actually
using a commercially off-the-shelf synthesizer
from Compaq, formerly Digital Equipment.
We have developed several applications,
about half a dozen or so.
And there is a system called Jupiter
that can deal with worldwide weather information for 500
cities worldwide.
And Pegasus is a system that can deal
with 4,000 flights flying in the United States airspace
every day.
And we update the information every two or three minutes.
And we don't lie to you.
Voyager can deal with traffic and navigation.
And again, the information about greater Boston traffic
comes in every two minutes or so.
And one thing you'll notice later on
is that in order for you to move from one domain to the other,
you must explicitly switch.
I want to talk to Jupiter now.
I want to talk to Voyager now, et cetera.
Well, because of time constraints,
what I'm going to do is just show you one demonstration
using Jupiter system.
Let's see whether the machine is up.
Let me apologize for two things.
We don't have that many phone lines and this
is a popular system.
Oftentimes people are calling.
If I get a busy signal, I apologize.
And the second thing is in the auditorium with feedback,
sometimes the system may not work so well.
Let me try.
Hi, welcome to Jupiter, the MIT Lab for Computer Science
weather information system.
This call is being recorded for system development.
You may hang up or ask for help at any time.
How can I help you?
What is the forecast for Boston today?
In Boston this afternoon, partly sunny and windy.
High around 50.
Tonight, clear.
Lows around 35.
What other information can I give you?
Will it rain tomorrow?
To my knowledge, the forecast calls for no rain in Boston
tomorrow.
Is there anything else?
How about Seattle?
The answer should be yes.
To my knowledge, the forecast calls for no rain in Seattle
tomorrow.
Is there something else you'd like to know?
Is it sunny anywhere in the Caribbean?
Sorry, I'm not sure what you said.
Is it sunny anywhere in the Caribbean?
I am sorry.
I may not know the city you're asking about.
Try asking for the state or country.
For example, what cities do you know about in Massachusetts?
What is the temperature in Montego Bay?
In Montego Bay today, high 86 and low 73.
Is this something else?
Goodbye.
This is a system that's up almost all the time.
We will give you a toll-free number.
You can call and donate your voice to science,
because we record your voice.
Anyway, this is an example of the kind of system
that's going to come out pretty soon.
And I want to tell you that I've been working
all my life in speech, and it's logical
that I would think speech is the solution to all problems.
If you have a hammer, everything looks like nails.
But even I have to admit, sometimes a picture
is kind of nice.
It can convey information not available otherwise.
And sometimes typing, pointing, and clicking,
all those kind of things, can augment a speech input.
So, in fact, our system can deal with a system with display.
And I'm going to show you a brief video clip which will
show you how this thing works.
Let's take a look.
What happened?
Maybe I won't show you the video clip.
Let's see.
It's not my fault.
Anyway, the good news is that, you
can please check it out this afternoon at the reception.
This will give you an opportunity
to see the system work in real life.
So let's try to do that.
Otherwise, I'm going to get the hook from Bob
if I were to figure out what's wrong with this display.
I want to spend the remainder of my time trying to tie speech
to Oxygen. Now, as Michael has said,
Oxygen has set forth a radically new way
of human-machine interaction.
And it's going to be natural using speech, no keyboard.
It's going to be mobile.
It's going to connect to the rest of the world using
wireless networks.
And it's going to have lightweight, hand-held devices
that will enable you to communicate with machines
and with the environment.
I just want to mention that the first-generation Handy
21 is under active development on a separate DARPA project.
And the idea is that you are going to have handheld devices.
And this is probably the final version
of the design with a little bit of navigation with the thumb.
And then you have camera.
And also you are going to have speech interface and display.
It's going to go through wireless network
and have the computing done on remote servers.
Now, so far, I have been spending
a lot of time talking about speech as an interface,
but I really want to caution you that spoken language,
the power of spoken language, goes far beyond interfaces.
Increasingly, we're seeing information
on the web in the form of audio, radio broadcasts, for example,
and video, movies, and video broadcasts, and also
a summary of meeting notes, for example.
So in fact, we must be able to index
the content in the form of spoken language.
And what's even more important is the fact that language
is what enables us to communicate in such a subtle
and also efficient manner.
If I were to talk to my computer--
let me know when the Microsoft stock is above $160
or, call me half an hour before the flight is going to arrive--
things like that, you can use very simple human language
to convey the kind of commands and have the computer really
serving as an agent to accomplish tasks for you.
So look at it this way.
I think it's important to realize that speech will
be a crucial part of the infrastructure for Oxygen.
There are a lot of research problems we need to deal with.
Now, we can deal with a few domains, simple domains
and a few.
We want to be able to deal with many domains
and complex domains.
You want to be able to navigate transparently.
At the moment, you have to say, I'm going from one domain
to the other.
And I'm going to have to specifically say that.
When you have multiple domains, this
will simply not be possible.
So what we want to do, as Michael says,
is to take [? narrow ?] domains, treat them
like little pieces of cloth, and try to stitch it together
into a quilt. Allow people to navigate transparently.
We can deal with a few languages of the world,
and we must be able to deal with many other languages.
At the moment, pointing, clicking,
and those kind of things are relatively primitive,
the coupling.
We want them to be fully integrated.
And finally, if you really want to use language,
then the machine must be able to do more than just what
I say, but understand the intention
and be able to do what I mean.
So these are some of the important research issues
that we must address.
And I just want to close by saying
that speech-based interfaces are an integral part of Oxygen. It
is almost inevitable for three reasons.
First of all, we need to be mobile
and yet, we need to be connected.
You can't carry a keyboard around.
Machines are getting smaller and smaller.
The only way you can type to write in the future
will be using toothpicks.
Last, but not least, we love to talk.
Tomorrow's interfaces, however, must
be able to understand and respond in context.
They must be able to incorporate multiple modalities,
be increasingly untethered.
And speech is more than an interface.
It is part of the Oxygen infrastructure.
And there are a lot of problems that need to be solved.
As my friend Fred Jelinek once said,
it's going to keep my family fed for many years.
Thank you.
Michael.
As we reach the midpoint between the proximity talks,
I wanted to remind you and tell you
something I didn't tell you earlier,
namely, that this project, for the first time
since timesharing, Multics, and CTSS that you'll remember,
has coalesced some 30 members of our faculty together.
So it's very, very widespread.
And we're collaborating with our sister lab, the Artificial
Intelligence Laboratory, who is extending
our speech into vision, smart rooms,
and a lot of other things we didn't talk this morning.
But we've written this up, you can read about it,
and I just wanted to remind you of that it's
a very, very large project.
Thank you, Bob.
I can only wonder what Oxygen will think the next time
someone says that they have excess gates coming out
their ears.
We're about to go to lunch.
We're going to have lunch in the Johnson Center.
The Johnson Center, by the way, is
where we're going to continue this meeting tomorrow morning
at 8:30 on Vassar Street.
Tomorrow morning at 8:30 on Vassar Street
at Johnson Center.
And it's going to be complicated to get there
because of the security arrangements necessary for me
and the premier of China.
At lunch today, there are 110 tables, each of which
has a host.
And I believe you have in your packages
this map of the tables.
And you should choose someone that you'd
like to have lunch with, and try to find room at their table.
For example, at my table is number 29.
So please come over to the Johnson Center for lunch.
Let's go promptly, and I'll see you back here at 2:00 PM.