User's Manual

System Architecture and Protocol Guide – 9-05 11 © 2005 SkyPilot Networks, Inc.
SkyPilot Mini-Slots
All SkyPilot nodes are synchronized to the same 1 second timing frame. The SkyGateway and SkyExtender nodes house a GPS
receiver that provides a standard, highly accurate 1 Pulse Per Second (PPS) clock. SkyConnectors derive the 1 second frame from
timing messages exchanged with the connected SkyGateway or SkyExtender.
In order to allow for the most efficient utilization of the wireless channel capacity, the timing of the upstream transmission is
adjusted such that packets are received at the SkyGateway or SkyExtender regardless of the distance from the transmitting node.
Each 1 second frame is divided into 10 mini-slots, each with a 100 µs in duration. These smaller time increments allow bandwidth
to be allocated for low latency and low jitter at a very granular level.
Bandwidth Allocation
Bandwidth management within a mesh network presents a particular challenge owing to the high number of interconnections. The
SkyPilot system implements a very efficient distributed dynamic bandwidth allocation scheme, with each SkyGateway or
SkyExtender responsible for scheduling bandwidth for all nodes linked directly. These distributed schedules are coordinated
through the enforcement of a parent/child relationship. For each node, the node one hop closer to the SkyGateway is considered a
scheduling parent. This parent and child relationship is repeated in a hierarchical fashion, with the SkyGateway as the final
bandwidth-scheduling parent in the hierarchy.
Each parent distributes a bandwidth schedule to its child nodes. This schedule details the mini-slots in which communication from
the parent to the child node may occur. A child node must always listen on the appropriate antenna at these scheduled times for
transmission from a parent node.
Contention Slots
In addition to the downstream transmission slots, the bandwidth schedule also details contention slot opportunities. These
contention slots are used by the child node to indicate upstream bandwidth needs.
In order to obtain upstream bandwidth, a child node transmits a Bandwidth Request message in the scheduled contention slot. This
Bandwidth Request message details the amount of upstream data in each upstream queue.
Multiple child nodes can transmit in the same contention slot, resulting in a collision. To address this issue, each child node
implements a randomized backoff. After each Bandwidth Request transmission, a child node randomizes the number of contention
slots opportunities before attempting to issue the next Bandwidth Request. Note that a child node will not transmit a Bandwidth
Request message if it has recently communicated with its parent.
Traffic Control with TDD
A parent node controls the transfer of traffic to and from its child nodes. A parent node makes the following real-time scheduling
decisions:
Transmitting Data to Child
Ethernet packets are retrieved from the output queues for transmission to child nodes. Various QoS mechanisms (see Quality of
Service) dictate the ordering of packet transmissions to the various child nodes. Typically, the system transmits an Ethernet packet
in its entirety; however, if the parent must interrupt the transmission due to traffic shaping mechanisms or to listen to its own parent
node, it has the ability to fragment the packet.
Having made the decision to transmit to a given child node, a parent starts the transmission at the next scheduled mini-slot with
that child. The transmission continues until complete. While this transmission is in progress, the parent node does not
communicate in mini-slots scheduled with other child nodes. Transmitting a large Ethernet frame spans many mini-slots.