Father of Java James Gosling explains his work on the 'lunatic fringe' of IoT

Gosling discusses his Wave Glider project with Liquid Robotics, and explains why every byte of information transmitted by his robots is important

The "father of Java" James Gosling recently told delegates at the IPExpo conference in London that he is working on an "extreme" Internet of Things (IoT) product.

"My current gig is about building systems and solving problems in an extreme fashion," said Gosling, who earlier in his talk criticised cloud vendors for attempting to lock in their customers.

He is working with Liquid Robotics, the organisation that is responsible for building the Wave Glider, a semi-autonomous robot which swims oceans gathering data and communicating via satellite.

"We do an industrial-grade version of IoT," said Gosling. "Our marine robots are out now wandering the oceans. You can strap on some sensors, and they can be what you want them to be. There are solar cells on top with masts and weather stations. There's a satellite antenna, and another AIS [Automatic Identification System] antenna for ships' beacons. It's basically a data centre rack that's designed to be immersed in salt water."

The need for the equipment to survive the sea has presented Liquid Robotics with many challenges.

"Building things to survive salt water is amazing. It's different because the software is definitely not the hard part in this project," he said.

"In most places for the people who do mechanical engineering, it's just bending sheet metal around a hard chassis. But here it's about building things that survive and continue to function in the middle of a category-four hurricane. There's lots of titanium and exotic components in this thing."

The Wave Glider gets all its energy from solar cells, and most of its thrust from bouncing up and down in waves.

"We've never found a good, robust way to get electric power out of wave action. So we make do with the thrust from wave action, which works everywhere except the Gulf of Mexico in the middle of summer," said Gosling.

The Glider tows instruments behind it, and has a "sinister torpedo type of look" in Gosling's words, though it carries nothing more dangerous than scientific monitors.

Describing its uses, Gosling explained that some countries have large exclusion zones around their waters. The UK has responsibility for a number of Pacific islands, including Pitcairn Island.

"It's a rather bizarre country or protectorate. It has an enormous exclusion zone which is theoretically patrolled by the UK, but no one has the resources to do that because it's gigantic. So we did a bunch of testing exercises, sending a Wave Glider and going around the island, finding poachers and sending back information," he explained.

Another use case is to produce a self-installing weather buoy. A standard buoy is large and heavy, with a bulky selection of machinery and instruments sitting on top of the flotation device. They're expensive, principally due to the installation costs.

"A ship that can go into the ocean costs as much as $150,000 (£123,000) per day and it can take 10 days to install or repair. But with our version you just throw it into the ocean and it swims out. It takes around a month to swim from Hawaii to Pitcairn Island, but it works. And instead of a load of bulky equipment on top, it just has a small ball of sensors which do the same thing," said Gosling.

The Wave Glider can also perform pollution monitoring, acting as a gateway between satellite networks and the sea floor.

"With submersibles and tsunami sensors, there are no good communication paths back to shore," he said. "If you try to do it with a piece of wire, you end up with one that's 1,000km long and will break. But ours just swims out and around day after day because it doesn't get bored. After six months it swims back and another swims out, and we repair and clean up the first one. It communicates via an old-style acoustic modem backup to base."

[Turn to page 2]

Father of Java James Gosling explains his work on the 'lunatic fringe' of IoT

Gosling discusses his Wave Glider project with Liquid Robotics, and explains why every byte of information transmitted by his robots is important

Gosling argued that data is the important thing in IoT, but there are different approaches to the value of every last piece, depending on the situation.

"We care about our data because it's expensive to get, and you don't want to miss any of it. But if it's something like temperature readings, you don't care if you miss a reading when you're measuring it every 10 minutes, as it's not changing that quickly," he said.

"But if you're in the eye of a hurricane, every reading matters. Or if it's a tsunami sensor and it says you've got a problem, you want to get that message through immediately."

Discussing the problems with distributed systems, Gosling referred to the eight fallacies of distributed computing, which were written in the 1980s. Many people today believe that most of these rules no longer apply in modern networks, thanks to the speed and capacity of new technology.

One of these difficulties is latency, which Gosling said is generally not so problematic today. But that's less true in some IoT uses.

"As soon as you move into the IoT world, latency gets to be a much bigger deal. Even in things like cellphone apps go in and out of network connectivity all the time. That's why people write native apps on cellphones rather than just using Javascript for everything. Java is good for some things and not others," he said.

"If the network is flaky, that makes it hard to use a web app, and you have to pay close attention to latency and reliability. But native apps are designed to work within those parameters, so that's a good way to go."

This applies to the Wave Gliders in a fairly extreme way, he explained. Most people think of messaging transport costs as being close to zero, meaning you can send block messages back and forth for next to no cost.

"But if you're going over a satellite network they charge you for every byte you send, so you think deeply about how you code your packets. So we end up not using standard networking tools because we care about every last byte. People worry about how densely they can pack video and images, but small stuff like metadata they don't care. But when you're paying one byte at a time, you do care," said Gosling.

"That satellite network was originally designed for cellphones, but it was a miserable failure economically. It cost £1 for 2kB of data. But then text messages came along and that facility was what made them actually useful. We use a bunch of other satellite networks too, but this one is the lowest power, most reliable and with the best coverage.

"We use an omnidirectional antenna so you don't need to point it anywhere, or know where the satellite is. And it works far up into the Arctic Circle. We had robots going way north of Svalbard and they worked just fine.

He added that they communicate over this network at a rate of one third of a kB per minute. That may not sound like much, but as Gosling says, "By the time you've filled up one modern computer hard drive, you can afford to launch your own satellite network."

In some ways Gosling's career has come full circle, since he began by writing ground station software for satellites. While he clearly finds his current project extremely fulfilling, he concluded by summing up his work with Liquid Robotics.

"These problems I've been working with are very much on the lunatic fringe," he said.