http://java.sun.com/ http://java.sun.com/javaone http://java.sun.com/javaone
JavaOne - ExperiencingJava technology through education, industry, and community
Home > 2008 JavaOne Conference: Sentilla's Pervasive Computing -- The Universe Is the Computer

2008 JavaOne Conference: Sentilla's Pervasive Computing -- The Universe Is the Computer

 
by Janice J. Heiss  

Sentilla co-founder and CTO Joe Polastre's session "Java Technology Meets the Real World: Intelligence Everywhere," focused on Sentilla's pervasive computing. Speaking to about 100 attendees, Polastre said that pervasive computing is about making the real world smarter through the use of small, wireless, battery-powered computers -- called motes -- that can be put anywhere or can be attached to anything.

This expands Sun's "The network is the computer" to "The universe is the computer," as James Gosling has said of Sentilla software. As Gosling blogged in the past about Sentilla, "There's a new 'where' in 'anywhere.'" More recently, he wrote about Sentilla's developer kit: "If you have a 'maker' itch to scratch, they're selling a cool developer kit."

Polastre described this evolution in computing: "We've gone from a bunch of people hovering around computers with punch cards, to a one-to-one model where people communicate through cell phones, to the present where we have a bunch of computers hovering around us."

Sentilla's Java technology-based mote sensors have been placed throughout the Moscone Center during this week's JavaOne conference. The motes track arrival times and exits from sessions, room temperatures, carbon dioxide levels, power flows, and more. These pervasive computers, which are smaller than a quarter, interact with the real world. For example, they can measure humidity, detect movement, communicate with each other, share data, and deploy applications. Sentilla touts them as the world's smallest computer. "By embedding mote sensors in the world around us so we can monitor the world virtually, we are trying to reduce the distinction between the real and virtual worlds," said Polastre.

Pervasive computers consist of the typical components found in any desktop computer: a CPU, input and output devices, and a communications interface. "The primary difference," explained Polastre, "is that pervasive computers are small -- about the size of a quarter -- run on batteries, communicate wirelessly, and have very different input and output devices such as sensors and actuators instead of keyboards and mice."

Drilling down into details, he said that, "Motes time-stamp the measured data through an internal clock, and they can synchronize with each other using Sentilla's Java communication interfaces. They identify themselves through a 64-bit IEEE unique MAC address. There is no emulator support, but a simulator is in development for a future release. They are powered by a set of either two AA or AAA batteries, although any 3V battery supply will work. On a pair of standard AA batteries, nodes can last in excess of six months, some up to three years depending on the Java application that they're running."


Mote Software Architecture

Sun has made the Sentilla Perk Kit, a CLDC-compliant Java ME-based platform, available at a reduced price as a JavaOne Conference Show device. In addition, Sentilla's mote product won the sixth annual Duke's Choice Award for pervasive computing. (The Awards recognize the year's most influential Java technology-based applications submitted by developers and companies around the world.)

All of Sentilla's software is wrapped up in their Sentilla Perk pervasive computing kit, which includes three pervasive computers -- 2 JCreate nodes and 1 USB Gateway. JCreate is built using Sentilla Mini, a tiny OEM hardware module bundled with Sentilla Point, their Java-based pervasive runtime environment. JCreate includes a three-axis accelerometer with configurable sensitivity, a temperature sensor, two ports for Phidgets, an expansion for other sensors (such as GPS, analog, and digital sensors), an integrated antenna, eight LEDs, plus an enclosure that holds two AAA batteries.

Polastre, who has a Ph.D. in computer science from the University of California, Berkeley, and is an active evangelist for pervasive computing, deployed the first-ever autonomous wireless system on an island in Maine to monitor and track endangered seabirds. Pervasive computing can be widely deployed -- on miners' backs to locate them for rescuers in the event of a cave-in; in airports and shipping ports for border security; on bridges to detect structural safety; on containers and trains to produce and move goods efficiently; and in smart coasters to tell bartenders when to fill up your drink. One can only speculate about the possibilities, from medical technology to children's toys.

"There are roughly 10 billion microcontrollers shipped a year," said Polastre. "That's five times larger than the number of cell phones -- and none of them run Java right now. We're changing that."

Motes and Sun SPOTs

Those familiar with Sun Labs' Sun SPOT (Small Programmable Object Technology) technology may be curious about comparisons with Sentilla's products. The big difference is that, relative to Sun SPOTs, Sentilla's technology runs on extremely resource-constrained computers that use very little power.

"You can think of Sentilla as Sun's commercialization partner for pervasive computing technology, whether from Sun Labs, UC Berkeley, or others," observed Polastre. "Sentilla's JVM is the only compliant JVM running on 8-bit and 16-bit microcontrollers. Sentilla's JVM is a custom JVM built from the ground up. Sentilla's JVM fits in a 48kb machine with only 10kb of RAM total for operating system and Java heap."

Call to Action

The point of the session was trifold: to help developers use Java technology to make objects smart, to build pervasive applications, and to learn techniques for programming resource-constrained systems. Mote applications in Java rely on a sensor-driven model using cooperative communication in a distributed network and rely on various techniques for improving embedded performance. Motes interact with a host server and display data through a client using a unified object model.

For good embedded programming tips to learn how to get smaller, more efficient code to run on small devices, Polastre strongly recommended this Performance site.

Polastre's session was an implicit call to action to Java developers to work with Sentilla's tools to realize their individual visions. If the universe is now the computer, the imagination -- and not the sky -- is the limit.

See Also

Sentilla Corporation


Basics About Java Technology and Motes

  • Each mote runs a single JVM instance.

  • Each application (Isolet/ThreadGroup) runs in a container inside the same JVM.

  • System functions, such as the garbage collector, halt and affect all running applications.

  • RAM is extremely limited (typically 4kb heap or less).

  • Threads are expensive -- a couple hundred bytes.

  • Object reuse and pre-allocation improves performance.

  • Keep the number of classes small to reduce lookups.

  • Static objects take up RAM.

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.