To date, Zigbee has not time synchronized their networks. Battery operated end nodes wake up whenever they like to send a message. A router node needs to leave its radio receiver on all of the time because it never knows when that message will arrive. Typical receivers burn around 20mA (Dust's is about 5mA).
You need a really big battery to pull 20mA for a decade.
If you're time synchronized, then the routing node knows exactly when to wake up to receive an incoming packet. It can wake up ten times per second and still run at under 1% duty cycle, meaning that your average current consumption is in the tens of microAmps, not mA. That lets you run the entire network, even the routers, on inexpensive lithium batteries for a decade or more.
We've been working in the IETF and IEEE on the standards that will enable Zigbee to adopt this kind of low power networking for IP.
Range depends on antenna type and elevation. With simple antennas you can get more than a kilometer per hop if you have line of sight and are a couple of meters off of the ground. If you bury them in the ground (e.g. for parking monitoring), then you're lucky to get 10 meters. "Average" deployments in buildings and industrial environments get many tens to hundreds of meters per hop.
In my personal oppinion a "thing" doesn't have to have an IP address to be part of the IoT. RFID is also IoT - its origin. See Wikipedia. What they do need is a unique identifier. The sensor needs some kind of secure connection through the Internet so it can be accessed remotely. So you can have sensors on Dust in your friedge at home, or WirelessHART in your plant, or on CAN bus in your car, with a connection to a box that has an IP address and is connected to the Internet. This way these sensors can be accessed from anywhere in the world. Preferably through a VPN connection - so you get an IntRAnet of Things. At least in plants this is already happening today. Control valves on offshore platorms are being diagnosed for failures by experts sitting in a cosy office onshore.
A Book For All Reasons Bernard Cole3 comments Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...