Coming Soon: 1st Big Protocol Changes

It was bound to happen… And this is likely not the last time…

I need to make some big changes to the protocol in order to efficiently support some new ideas I came up with in the Transport Layer.

I’ve made big changes in the protocol before, but not since I published the spec. Fortunately, nobody seems to have read the spec all the way through yet!   Yay???   🙂

For anyone who happens to have read the spec or is planning to, this post summarizes the changes I’m working on.

  1. I came up with the simple idea to support µPackets in the un-allocated slots between IsoStreams. Since they’re required to be small, µPackets can have really low latency.
  2. I wanted to make Link Tunnels easy to run over an EccFlow, which have a dynamic word-rate. I found that it was a lot easier to support this with every slot having a single slot word-rate (the minimum word-rate for that link). µPackets used to start an IsoStream made this easier to support. This is also likely to make hardware implementations easier.
  3. Scaling up to higher word-rates is easy with a link-layer µPacket at the start of the IsoStream that defines the number of slots to use for the IsoStream.
  4. 16-bit words were too limiting and wasteful. 128-bit words are more useful and likely to be more efficient.
  5. In-band signals can mess up nicely timed word-rates. It’s easy to replace in-band signals with µPackets.
  6. Naming a route is a fantastic way to avoid having to send the route over and over again on IsoStreams. µPackets are great for naming a route using a relative slot number.
  7. µPackets can also use named routes!

None of these changes seem to have any big socio-economic repercussions. But let me know if you disagree and I’ll reconsider 🙂

I’ve got a lot of raw notes for these changes, but it’s not in the spec yet. I’ll be working on getting that done in the next few weeks.