Subject: [lisp] LISP architecture document(s)

From: [email-masked] (Noel Chiappa)
Date: Wed, 18 Jul 2012 11:13:39 -0400 (EDT)

Hi, all:

As part of the work on LISP, we needed an architecture document, and I
volunteered to write it. I have a couple of ID's available now (more about why
it's "a couple" below). Of course, the WG will have to look at these and see
if they're happy with the direction I'm taking, etc, before deciding whether
to take these up as official WG work items, etc.

There will be a presentation at the next IETF (Vince will be handling that, I
can't be there, apologies) to describe it a bit, but in addition the documents
themselves are available for anyone who wants to take a look. They are at:

  http://datatracker.ietf.org/doc/draft-chiappa-lisp-introduction
  http://www.ietf.org/id/draft-chiappa-lisp-introduction-01.txt

  http://datatracker.ietf.org/doc/draft-chiappa-lisp-architecture
  http://www.ietf.org/id/draft-chiappa-lisp-architecture-01.txt

A few words on why there are two: I'm not sure there's a uniform sense of what
an 'architecture document' might be, but to me it's something that has several
main goals:

- Gives the reader a clear, high-level view of the entire system - starting
with a good picture of how the thing operates (including how it's divided up
into pieces, and how the pieces interact), what its goals are, what
capabilities it has, what one can do with it, etc, etc.

- Given that good high-level picture, it then does some analysis of the
system, again at a high level - talking about its scaling properties,
security, etc, etc.

- It might also give some insight into the potential/likely future evolution
of the system, including things that need to be improved, etc, etc.

Others may differ as to this view of what an architecture document should do
(which is fine, we can discuss it), but that's basically what I've been trying
to produce for our tasked architecture document. So why two documents? Simple:
length. By the time I'd said what I felt needed to be said, to give a really
good understanding of the whole system, it was a pretty long document. So,
it's been split into two.

There was a very natural fault line anyway, between the 'this is a high-level
picture of how LISP works' material, which someone who knows little/nothing
about LISP and wanted to learn about it would be interested in, and 'this is
some architectural analysis of LISP', which fewer people would likely be
interested in.

Hence the division into an 'Introduction to LISP' document and a 'LISP
architecture' document.

The first one (introduction) is in _relatively_ complete form - a few small
sections remain to be written, but it's mostly complete. It's also been worked
over a fair amount, in terms of getting things in what I felt to be the right
order of presentation, having the right level of detail/content, etc. So I
don't expect _major_ changes (unless, of course, the WG feels such are in
order).

I am, however, still fiddling with it, so we're not (yet) at the 'detailed
editorial comments' stage - although if anyone reads it, and has high-level
comments (e.g. 'you ought to talk about topic X', or 'it would be better if
you talked about P before you get to Q'), I would be most grateful for, and
interested in, hearing things like that.

The second document (architecture) is, alas, not quite as complete - although
large chunks of it are done to a reasonable level. (My apologies for not
having it more complete... sigh. So much to say, so little time/energy...)
It's in pretty much final form for over half its likely final length, until
one gets to the 'Security' section, which is still rather rough.

Again, still a ways from editorial comments on this one too (even more so,
obviously), but if anyone has comments about e.g. things it should and/or
should not cover, etc, I would be most interested in hearing them.

	Noel