Dave,

At Nest, we have different OS platforms we use depending on the constraints
of the hardware.

For things like the Nest Learning Thermostat, where there is a graphics
subsystem and such, we use a $POSIX variant commonly found in larger
embedded systems.  It has not much flash and even less memory.  We cut a
lot of things out to make everything we need to fit, and we feel
significant volatile and non-volatile memory pressure on this platform.

For things like the Nest Protect, which are much smaller, we use a
library-oriented $RTOS variant.  The current Nest Protect device, for
example, executes code from 512 kB of flash, using 64 kB of RAM.  It has a
very lightweight IPv6 stack, over which we have implemented all our
communications protocols and our application logic.  We are under truly
extraordinary memory pressures on this platform, of the sort that I believe
only somebody with experience working in the C64 demoware scene can fully
appreciate. (Seriously, you can't even. Don't try.)

I'm hoping future evolutions both in these product lines might have
incrementally more resources, in which it may be possible to demand space
for Comms Engineering to insert HNCP, when it's finally deployable.
Assuming HNCP can be made to work. Lot of ifs. However, whatever happens,
we eventually will need something that does what HNCP does, and I like HNCP
itself better than I like the idea of rolling something proprietary.

Does that help explain matters?

On Sat, Nov 15, 2014 at 8:46 AM, Dave Taht <dave.t...@gmail.com> wrote:

> On Sat, Nov 15, 2014 at 7:55 AM, Juliusz Chroboczek
> <j...@pps.univ-paris-diderot.fr> wrote:
> >> This included technical discussion around a partially unanticipated
>
> I have always felt that we needed to have something that could route
> packets as best as possible based on conditions (and in particular
> transport configuration information) across many disparate link layers
> - homeplug, MoCa, 802.11, 802.11ad, 802.14, 6lowpan, VPNs, and sharks
> with lasers. (
> https://twitter.com/RalfMuehlen/status/533414954167070720/photo/1
> ).
>
> While full compliance with rfc2549 is not required, wires as we knew
> them are going the way of the dodo, and already have, in most homes
> and small businesses.
>
> >> requirement for HNCP to support a stub network with a gateway that
> >> doesn't have sufficient resources to run a routing protocol.
>
> Could someone describe what sort of resources these gateways (nest, I
> assume) actually have? - What OS they run, how much ram and flash is
> on them, is there virtual memory, etc?
>
> Are there devices in this category that can be hacked on? I am
> reminded of the dnssec debate put to rest by merely producing a proof
> of concept on an ancient cpe... I mean, babel, for example, is like,
> 61k, on mips with the sole dependency on libc. Other daemons, like
> pimd are in the same size category.
>
> >
> > Mark,
> >
> > Could you please spell out the requirements for a stub-only
> > implementation?  Do you expect the stub router to hold the full routing
> > table, or just two routes (connected network and default route)?
> >
> > Is there interest in a stub-only implementation of Babel?  Should it be
> > a standalone daemon, or should it be integrated in the HNCP daemon?
> >
> > -- Juliusz
> >
> > _______________________________________________
> > homenet mailing list
> > homenet@ietf.org
> > https://www.ietf.org/mailman/listinfo/homenet
>
>
>
> --
> Dave Täht
>
> thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks
>
> _______________________________________________
> homenet mailing list
> homenet@ietf.org
> https://www.ietf.org/mailman/listinfo/homenet
>



-- 
james woodyatt <j...@nestlabs.com>
Nest Labs, Communications Engineering
_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to