[RE] Categories of RE development
All,
In recent discussions with others, I have been trying
to scope and categorize the problems associated with
802.3 Study Group Residential Ethernet.
The following is a first pass summary, with an attempt
to identify the distinct categories of work. The intent
of this is to allow folks to focus on distinct areas,
while maintaining a consistent view of the whole.
This is still a rough draft, but I thought it helpful
to distribute this before the Thanksgiving vacation.
Credit is due to several others, that stimulated my
thoughts. They have not reviewed this content and thus
could not be safely listed as supporters/conspirators.
A) Vocabulary. A few commonly used terms.
I have an historical bias but no strong preferences.
1) What should we call a sender of isochronous data?
* talker
* other _____________
2) What should we call a receiver of isochronous data?
* listener
* sink
* other _____________
B) Using these terms, a crude breakdown of tasks could be:
1) Device discovery. How does a listener discover the talker?
For example, how does the TV discover tuners, cable box,
etc.?
Notes: This is probably out of scope, since this work
is more device-centric and being done by multiple
non-802 groups.
2) Admission control. How is the bandwidth allocated?
a) The bridges between the talker and listener are set
to forward desired traffic, up to a specified bandwidth
limit. If not possible, due to limited bridge forwarding
tag entries, a rejection is indicated.
b) The cumulative specified bandwidths for each link are
ensured to not exceed the capacity of the link. If not
possible, without exceeding the link capacity, a rejection
is indicated.
Notes: This could possibly be a variant of GMRP, based on
the GARP protocols defined in 802.1D. A distinction is
that only paths between listeners and one talker are
required (a many-to-many group allocation would be inefficient).
3) Clock synchronization. How are clocks synchronized?
This involves two tasks, although they most likely share
many of the same state machines and frame transmissions.
a) Clock master selection. The clock-master station is
selected from among the multiple candidates. This
would be done with an STP like precedence specifier
(weight plus MAC-48 tie-breaker).
b) Adjacent sync. On point-to-point links, the link-local
clock-slave synchronizes its clock to the link-local
clock-master station.
c) Bridge sync. With "magic", the bridge synchronizes
its bridge-local clock-master ports to the selected
clock-slave port.
Notes: The details of this are really a link-level spec,
although some constraints on the timing of bridge-sync
"magic" may be necessary.
4) Transmission gating. How are isochronous frames gated?
Some proposals have indicated gating pending traffic
at the start of each 125us interval.
Note: This is really a form of "micro" admission control.
However, calling this "gating" may be less confusing.
Note: The simplest solution would be to place the same
timing constraints on stations and bridge gating, which
could imply "reclocking" to avoid cumulative jitter.
5) Formats. Formats of a few things need definition:
a) Frames. The format depends on a few things:
How should an isochronous frame be distinguished?
* Distinct multicast address?
* Distinct type/length code?
What is an isochronous channel number?
* Allocated from a central pool?
* A {mac,port} concatenation, where:
mac identifies the talker
port is a subconnection within the talker
What forms of time stamps are necessary?
* End transmission time?
* Link transmission time?
* Sync marks within the data?
b) Service interface. What service interfaces
primitives/parameters are required?
* Clock synchronization
* Timed delivery
Thoughts? What has been missed? What should be added?
DVJ
David V. James
dvj@alum.mit.edu