dcsimg
RealTime IT News

The Edge is Everywhere

Jim Waldo, a distinguished engineer with Sun Microsystems who teaches computer science at Harvard University, is having a magic Jini moment.

Waldo was the lead architect for Jini (pronounced Genie), the distributed programming software based on Java that rolled out in 1999 to great fanfare.

As software that tries to simplify the connection and sharing of information among devices such as printers and disk drives on a network, Jini was a nifty idea at the time.

It was also ahead of its time. Back then, distributed computing and smarter devices were more talk than action. Dynamic networks that could be altered on the fly? Hah! Desktops ruled.

Today, handheld devices are smarter, more powerful, and connecting to all kinds of dynamic networks, such as on Wall Street, where grid computing systems harness CPUs to run risk management portfolios at the end of the trading day.

Or at online travel site Orbitz, where developers have quietly been using Jini as a basis to help its far-flung network of servers keep the Web site humming 24/7.

Jini is popping up in all kinds of places with all the other buzzwords of the moment: Grid computing, self-healing (autonomic) systems, adaptive infrastructure, dynamic provisioning, service oriented architectures and Web services , to name a few.

Stuff like that, the folks at Sun will tell you, needs an open software architecture that enables Java-based dynamic networking for the creation of distributed systems. Jini is helping developers build adaptive systems that can scale, evolve and change without re-architecting platforms or operating systems.

With the rise of Google , Web services and Web-based computing, Sun is basking in its message from years ago: The network is the computer.

Against that backdrop, we're passing along some of Waldo's comments to the New York Java Special Interest Group's tenth anniversary party in New York earlier this month. His theme: changing how developers think about the future.

We Don't Care About the Individual Computer

"We are about the collection of computers, and the collection is connected by the network. The system is the whole thing, not the little pieces. And this is a different way of thinking.

"Operating systems are no longer the platform. The platform is this stuff that you can call over the network and the things that are going to appear on the network. And it's not just Web services. Web services are the galactic star cruisers of the Internet.

"No, there will be lots of smaller services that you send over the networks. And that's going to be the platform that you write to. You will see virtual machines of various sorts. I personally like the Java one, but there will be others. Those are the things that will define the platform for you, not the operating system."

Protocols Are Dead

"Network protocols are really hard to change once they are out in the wild. Once you have two things on different parts of a network speaking a protocol, it lasts forever.

"Remember sendmail? That was a protocol that everyone was just going to use for a couple of weeks. Now, who makes money going in and writing sendmail filters for the poor slobs who didn't understand that? Once [a protocol] escapes into the wild, we will never be rid of it.

"The only way to get rid of protocols is to allow code to move around the network. Because there is one thing to learn about RMI and Jini: It's to give the ability to code from one network to another, which frees you up from having the same protocol everywhere.

"And by not having the same protocol everywhere, you can specify protocols for a particular use and then grow protocols like you grow a language and let it change over time.

"See, if protocols aren't dead, then we are in this kind of [distributed] world. Because the rigidity of protocols requires us to start from scratch every time we have a new idea. And we've got to stop doing that because again, the systems can't go down anymore."

Everything Changes

"It's our curse and our job security. No matter what you've done, we have to design on the assumption that everything changes. But we're not very good at that. Most of us work on assumptions that some system will come into existence and at some point, it will stop. And if you need to make changes, that's when it will stop. It's a very static universe. Now we have to make changes on the fly. You think it's like changing a fan belt while the car is running? That's not it at all. It's like changing the tires when the car is running."

Decentralization and Loss of Control Are the Norm

Sure, things in small bunches can be centrally controlled. Maybe, if you're really good, you can get 50 to 100 processors. But when you're talking about thousands of processors in millions of threads, that's more data than we have numbers for. You can't have centralized control with something like that, so start thinking about wasting it rather than controlling it. To really get control, you need to lose control.

So, get small things working on their own, and let's see what kind of scheduling and efficiency comes out, rather than wasting all your MIPS trying to get everything out of everything [with CPUs]."

The Edge is Everywhere

"When people talk about edge computing, they think of cell phones, or devices that help you find a restaurant in your area. That's not what the edge is about. The number of clients is limited by the number of us. Maybe everybody will have three or four, but the really interesting edge isn't there. It's in sensors and actuators, and in things that are not client devices, but are actually services pumping data into the rest of the network. Once you think of data that way, you're on to the future.

Think about that Oracle database sitting in some back room somewhere. From this point of view, it's an edge device too, just a service pumping data into the network. That's why I say edge is everywhere."

Waldo tells internetnews.com that the sooner developers can get a handle on the shift away from highly centralized network systems to a looser confederation of systems, they'll see where they're taking the future of computing.

"We all go into the future together. Some go early, others lag behind, and then there are others that are somewhere back in the 18th century. So figuring out where you are is part of the job you have to do. Look around and find the people in the right time scale of what you want to do."

Erin Joyce is executive editor of internet.com's news channel