TCP/IP Meets Physical Reality 72
An anonymous reader writes "When Google is clouding
the borderline between web and the desktop, a much, much smaller
project is blurring the border between the Internet and the
physical reality: the newly released Contiki
operating system version 2.2.1. Contiki runs on networked wireless
sensors that are used for anything from road
tunnel monitoring for fire rescue operations to collecting vital
statistics from ice hockey players. These sensors
typically have as little as a few kilobytes of memory and a few
milliwatts of power budget — a thousandth of the resources of a
typical PC computer — yet Contiki provides them with full TCP/IP
connectivity. Meanwhile, San Francisco is monitoring parking spaces with wireless technology."
Retarded headline (Score:4, Insightful)
No only did I think the story was about Intellectual Property, it also makes no sense at all. The Internet Protocol has been a "Physical Reality" for decades.
Re: (Score:3, Funny)
Re: (Score:1)
Re:Retarded headline (Score:5, Interesting)
What is the point of this story, anyway? It seems to be about Contiki, but it ends with something on parking meters? How is clouding relevant?
What does "Internet Protocol Meets Physical Reality" mean? Wireless interfaces in everyday applications have been around for years. Forget headlines, this whole story seems to be pointless.
better headline (Score:3, Informative)
"IP Addressing of Every Little Thing"
and yes, it's boring.
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Agreed.
At first, I thought this got me hopeful that someone at the US Patent Office found a clue and that perhaps they might have landed back into our physical reality -- instead of the bizzaro universe they currently inhabit.
And then, after reading the first sentence from my RSS feed, I thought the story was about The Matrix being real. Or something like it.
Either way, I'm disappointed. And traffic in San Francisco still sucks.
Re: (Score:1)
No only did I think the story was about Intellectual Property, it also makes no sense at all. The Internet Protocol has been a "Physical Reality" for decades.
Isn't the hardware that allows the Internet Protocol to exist the true "Physical Reality". Because without layer 1 you have no way to transmit.
Re: (Score:3, Funny)
Plus all those retailers giving you free cookies...
Re: (Score:2)
If cyberspace and reality meet, millions of geeks worldwide will finally meet their cyber-girlfriends and actually consumate their relationships. Floods of ugly, highly intelligent children to follow.
Wait a minute, my bad. I think that is what the OP was getting at...
Re: (Score:1)
Sounds like the kind of place I'd like to live.
Ubiquitous Computing (Score:5, Insightful)
The second is a wireless routing protocol that really supports jumping from one AP to another (This will be worked out, probably as a derivative of cell phone networks, when people start roaming further than a single WiFi AP and demand seamless transitions) without disrupting existing sessions. More than just auto-connecting to a new AP, but having previous datastreams (streaming music, calls, chat) redirected to the new address and handing over authentication tokens as well.
The third is a system capable of generating or pattern-matching meaningful information from new sensors without being explicitly told how (since not even a geek such as I would want to program my implants to recognize every new blobject [boingboing.net] they encounter). We'll get there eventually.
Re:Ubiquitous Computing (Score:5, Interesting)
Re: (Score:3, Informative)
What you're talking about is called Mobile IP [wikipedia.org], which is standardized by RFC 3344 [ietf.org]. Doesn't seem to be used very widely, probably because the density of 802.11 access points isn't high enough for it to be useful in most areas.
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
MobileIP may not be used much on the live Internet, but it's certainly very popular and used by a number of people (though they often get ravaged on fees for the privilege, like th
Re:Ubiquitous Computing (Score:5, Interesting)
The second is a wireless routing protocol that really supports jumping from one AP to another (This will be worked out, probably as a derivative of cell phone networks, when people start roaming further than a single WiFi AP and demand seamless transitions) without disrupting existing sessions
This has been in the 802.11 family for some years, but had a jitter too high for VoIP applications. A new version was published last week which permits seamless transitions between WAPs fast enough that even VoIP users don't notice it.
Re:Ubiquitous Computing (Score:5, Insightful)
You're talking about two different things, really. I work for a company making sensor network software and hardware. You're never going to get it running on the same Access Pointss as consumer internet - the requirements are too different.
For the sensor networks, we're aiming for 10 year battery life, with network bandwidth that makes modems from 10 years ago look fast. No one wants to use that for their AP.
The ONLY part of the sensor network that might use a consumer AP is the link between the sensor net and the outside world - but in practice sticking a SIM card into the link is the easiest thing
Re: (Score:1)
Re: (Score:1)
Thought this was already done. (Score:2)
The second is a wireless routing protocol that really supports jumping from one AP to another (This will be worked out, probably as a derivative of cell phone networks, when people start roaming further than a single WiFi AP and demand seamless transitions) without disrupting existing sessions. More than just auto-connecting to a new AP, but having previous datastreams (streaming music, calls, chat) redirected to the new address and handing over authentication tokens as well.
Wouldn't this have been covered by Airespace/Cisco? Unless they just do autoconnect, I'd be sure that they do something like that.
Also runs on C64 (Score:5, Informative)
Looking at the wikipedia page :
http://en.wikipedia.org/wiki/Contiki [wikipedia.org]
Confirms why I thought of the C64 when I read Contiki.
Here is a list of supported systems from wikipedia :
* Computers:
o Apple II family[1]
o Atari 8-bit[1]
o Atari ST
o Atari Portfolio
o Casio Pocketview
o Commodore PET[1]
o Commodore VIC 20[1]
o Commodore 64[1]
o Commodore 128[1]
o GP32
o Oric
o PC-6001
o Sharp Wizard
o x86-based Unix-like systems, on top of GTK+ as well as directly using the X Window System[2]
* Video game consoles:
o PC Engine
o Sega Dreamcast
o Sony PlayStation
* Handheld game consoles:
o Nintendo Game Boy
o Nintendo Game Boy Advance
Impressive features as well :
A full installation of Contiki includes the following features:
* Multitasking kernel
* Optional per-application pre-emptive multithreading
* Protothreads
* TCP/IP networking
* Windowing system and GUI
* Networked remote display using Virtual Network Computing
* A web browser (claimed to be the world's smallest)
* Personal web server
* Simple telnet client
* Screensaver
Re:Also runs on C64 (Score:4, Funny)
Re: (Score:2, Interesting)
If it's supported on all that old iron, I don't see why there isn't a turnkey already in place for, say, something modern with equivalent horsepower. Say, for the mid-range PIC controllers.
I mean, if I am going to deploy this, it's going to be on hardware I can buy from Digi-Key, not the 'vintage' section on eBay.
Re: (Score:2)
You should read more than the wikipedia.
"Contiki runs on a variety of platform ranging from embedded microcontrollers such as the MSP430 and the AVR to old homecomputers. Code footprint is on the order of kilobytes and memory usage can be configured to be as low as tens of bytes."
And running on a C64 isn't such a bad thing. You can get a C64 that fits on a FPGA. If you want a low end computer that will drive an NTSC monitor you could do worse than a C64.
http://www.syntiac.com/fpga64.html [syntiac.com]
Maybe there is a mar
Wireless tech (Score:1, Interesting)
Thanks Timothy (Score:5, Insightful)
Re: (Score:1)
Stop nitpicking. The article is about the operating system and the summary clearly states that.
Re: (Score:2)
It is a shame. (Score:1)
It is a shame that people think that getting something to fit into 64k of ram is a big deal. I remember spending over $100 to upgrade my Apple ][+ clone from 48k 60 64k.
Much of the code today is poorly written and wasteful of memory.
Re: (Score:3, Funny)
Right. Of course, you were running 1900 x 1200 x millions of colors on that old Apple ][ monitor weren't you? And connecting at 1 Mbs? And downloading YouTube?
Hell, at best you were downloading ASCII porn.
Back to the Dungeons of Yesteryear for you!
Re: (Score:1)
It is a shame that people think that getting something to fit into 64k of ram.
So I guess Bill Gates was right then, all you need is 640K.
Re: (Score:2)
Re: (Score:2)
What Does This Have to Do with Google? (Score:2)
What does any of these have to do with Google? Contiki sounds like an awesome embedded OS for things like wireless sensor networks. Wireless sensor networks often use TCP/IP (or variations of, such as IwIP used in Contiki: http://en.wikipedia.org/wiki/LwIP [wikipedia.org]) for their networking. The link between Contiki and Google would be Contiki -> TCP/IP -> Internet -> Google, therefore Slashdot worthy?
Seriously, not everything has to do with Google in order for it to be "News for Nerds". Being able to do so
Re:What Does This Have to Do with Google? (Score:4, Informative)
I hope they're using IPV6 (Score:5, Insightful)
If, on the other hand, you try to use private IP4 address blocks, you're going to risk address collisions when you try to combine networks (and have a harder time resolving such collisions, given the kind of objects you're playing with).
Re:I hope they're using IPV6 (Score:4, Informative)
See 6LoWPAN [ietf.org]. Or here [6lowpan.net].
Re: (Score:2)
No, it uses uIP, a tiny IPv4 stack. Fitting an IPv6 stack into a machine with 64KB of RAM is nontrivial. uIP requires about 4KB of RAM to hold the code and then around a hundred bytes for each connection.
Of course, there's no reason why they can't have public v6 addresses, if you run them all in 10/8 and the gateway maps each address in this range to a separate v6 address and handles the protocol translation.
Look at the code - it is IPv6 (Score:2, Informative)
I am not as well-versed in this as you seem to be, but from looking at the code, there seems to be both IPv4 and IPv6 in there. IPv6 is enabled by a C preprocessor switch (UIP_CONF_IPV6):
http://contiki.cvs.sourceforge.net/contiki/contiki-2.x/core/net/uip.c?view=markup [sourceforge.net]
Re: (Score:1)
Don't know the status of Contiki regarding this.
ubiquitous IP (Score:4, Interesting)
Met a friend at a property I'm renovating, and gave him an old time-lapse VCR and video switching unit to play with. We were talking about how the technology's changed.
Ten years ago, even five years ago, you'd get an expensive VHS-based VCR with a time-lapse mode, and an expensive video switching unit that would alternate individual frames of video to send to the VCR, and to separate the playback.
Now, you buy a DVR with multiple inputs - or a full-fledged computer with a PCI card that lets you hook multiple video inputs into it.
Five years from now, it'll be a computer with a simple gigabit ethernet interface, plugged into a 802.11n+ wireless router, and the cameras will all send their video streams over the air, no analog wiring at all.
Ain't technology grand?
Re:ubiquitous IP (Score:4, Insightful)
Security cameras transmitting over the air is a bad idea. Jamming radio is old news and quite easy to do.
Re: (Score:2, Interesting)
I've even used Wifi cameras connected to 54GL APs with tomato setup as AP+WDS , so only 1 cat6 from 1 AP back to the main switch.
these cameras are running embedded linux at the moment , streaming D1 MPEG4 - will be switching to eCos http://ecos.sourceware.org/about.html [sourceware.org] soon.
won't be long before the cameras will all be connected to each other with WDS ( Wireless Distribution System ) with STP ( spanning Tree Protocol ) to stop broadcast storms.
I think its time.. (Score:2, Offtopic)
I think it's time to frame the lincoln tunnel [slashdot.org] for copyright infringement.
Using Contiki on my open source Zigbee project (Score:5, Interesting)
Re:Using Contiki on my open source Zigbee project (Score:4, Informative)
The Contiki OS alone is about 2.5 kB, and some people have gotten TCP/IP on it running with 250 bytes of RAM
250 bytes of RAM is enough for uIP if you can have the code in ROM. It limits you to around one or two connections, but I'd imagine a device with only 250B of RAM doesn't have enough resources to handle more than this anyway. All of the RAM used by uIP is statically allocated, so compiling it with support for just 1 connection will get it down to a footprint of around this size. I'm not sure if the 250B figure was for just the IP stack or for the OS, IP stack and application. If it's for everything, then that's indeed quite a feat. If not, then it's relatively easy. You can trim the RAM usage for uIP down really low. One of the biggest RAM users is fragment reassembly. If you use UDP only and restrict yourself to packets smaller than the MTU (it's pretty hard to have bigger ones with only 250B of RAM anyway...) then you can make it very small. Using the zero-copy API, almost all of the RAM you need is the send buffer.
A thousandth? (Score:3, Interesting)
a few kilobytes of memory and a few milliwatts of power budget - a thousandth of the resources of a typical PC computer
A thousandth? When was this article written, 1996? Try a millionth.
No great feat (Score:2)
My friend to demo his diploma work implemented trivial TCP/IP & HTTP for micro-controller with only 2K flash memory and 2K of RAM. Main work was specialized signal processing - monitoring over HTTP in HTML (with some bits of JavaScript) was pure bonus.
TCP/IP itself when implemented for only particular tasks is not that complicated. Modern OSs has to accommodate all possible applications and scenarios (including security stuff) and TCP/IP ends-up being quite bloated.
Re:No great feat (Score:5, Interesting)
From my experience, biggest challenges in TCP are the all other smaller RFCs written after TCP became STD.
If you look at other projects e.g. LWIP [nongnu.org], you will notice that core TCP code isn't that large. Many parts deal with compatibility issues, with security issues and of course with memory management. (Many disregard memory management, yet TCP for effective work has to have quite an amount of memory: otherwise bandwidth would be quite limited.)
From my personal experience, TCP is nothing more than ring buffer, four counters and FSM to track the counters. Rest is optional and can be easily simulated, remaining within RFC requirements. (Yes, I was implementing TCP long time ago for traffic shaping module.)
Re: (Score:2)
BTW, forgot to mention another big variable affecting size of TCP implementation.
Do you need to support BSD socket API or not?
The BSD sockets provide quite number of services, supporting which is quite elaborate. e.g. accepting connection with system call vs. notifying application asynchronously that it has a new connection. or the same applied to received packets. or synchronous sending.
TCP in 10k without BSD sockets interface is doable and not complicated.
Sorry - this news was beaten nearly a decade by... (Score:2)
Sun.
http://en.wikipedia.org/wiki/Sun_SPOT [wikipedia.org]
Java, ftw.
You can by SunSPOT dev kits for a few hundred bucks. People have already build p2p networks with them. Exciting enough to remind us of the old XeroxPARC days.
Re: (Score:2)
I did say -nearly-, i think it was late 02 that the project was released, so development was at least several months prior.
As for cost, it's all economies of scale. You can get SPOTs cheaper in bulk, though you are correct, the SPOTs do a much broader array of things.
Re: No great feat (Score:2, Interesting)
Lets get it right this time... (Score:3, Interesting)
I hope they add a lot more security to the medical ones, or better yet, don't give them any sort of connection with out something touching the individual. Maybe I'm a tad paranoid, but I'd hate to have a wireless IP monitoring my vitals. I can't imagine the havoc on someone's health you could cause by fooling their doctors to think they have diseases they don't. I would hope they are used for early warning only and anything they claim is verified by subsequent tests.
Shades of Vinge's Localizers? (Score:1)