M. Steenstrup
Stow Research L.L.C.
steenie@rcn.com
This work was funded in part by DARPA and ONR.
User expectations:
- access communications services
- independent of time, location, and type of service
- without intimate knowledge of algorithms and resources for providing services
Challenges of realization:
- mix of preexisting infrastructure and spontaneous structure
- heterogeneous, selfish devices
- operating in time-varying, unpredictable, and potentially hostile environment
- communications must be consistent with handling needs of traffic, capabilities of devices, and policies for resource use
Wireless communications:
- distance-based attenuation
- interference
- shadowing
- multipath fading
- broadcast
Attacks:
- detection
- interception
- spoofing
- replays
- denial of service
Function:
- sensors
- actuators
- computers
- switches
Capacity of resources:
- transmission
- power supply
- computation
- storage
Mobility:
- frequency
- speed
- trajectory
- autonomy
Algorithms controlling use of resources:
- dependent on medium
- new and legacy
Requirement: sufficient commonality to enable end-to-end communication
Adaptive:
- goal-driven
- cognizant of current state
- state-dependent action to achieve goals
Opportunistic:
- takes advantage of available information and resources
Selfish:
- committing resources
- defending against attacks
Stingy:
- reluctant to share resources
- expects compensation for services
- ignores those that fail to reciprocate
Requirement: sufficient cooperation to enable end-to-end communication
spectrum use channel between two nodes network graphs for routing temporal and spatial traffic loads and patterns services provided to applications energy dissipation and dispersion vulnerability to attacks that degrade or deny service
Objectives Constraints
State
Control
Algorithm
Actions
Network
Environment
State
Objectives Constraints
Control
Algorithm
Actions
Network goals actions inputs open or closed loop responsiveness duration of response extent of response effects on others
Environment
delay noise loss
Objectives Constraints
State
Control
Algorithm
Actions
Network
Environment delay noise loss
Behavioral objectives:
autonomous execution by devices
synergistic , not destructive, interactions with other controllers
graceful degradation with quality of state and action signals
minimal use of resources
Design rules of thumb:
- aim for improved performance
- inject some randomness into selected actions to help prevent unwanted synchronization and to explore space of possible outcomes
- primary greedy algorithm based on local state information
- secondary cleanup algorithm employed when result from primary algorithm deemed unacceptable
Two network control problems:
- negotiating frequencies for common channels among nodes
- selecting next hops for packet forwarding
Corresponding emergent structures:
- clusters of nodes sharing common channels
- paths through network from sources to destinations
Common features:
- start with tabula rasa
- structure created with distributed algorithm
- no one node has global knowledge of structure
- acceptable performance with respect to end-to-end service is achieved with only local knowledge of structure
Dependent upon:
- supported frequencies
- spectrum use policies of primary users
- measured characteristics of channel
- current environment
- current location
- type of traffic
Algorithms:
- channel assertion, consolidation, and negotiation
- diffusion-based labelling according to constraints
- number of channels: 1 best-case, N worst-case
- number of transmissions: N best-case, N 2 worst-case
Assumptions for each node:
- set of f supportable frequencies
- spectrum use policies for primary users
- information communicated as signatures
Measure spectrum:
Repeat r times initially and whenever possible thereafter
Select at random ordering of f frequencies
Sample each frequency for t seconds
Classify sampled frequencies:
- frequency unavailable if active primary user detected in band or spectrum use policy precludes use
- available frequency busy if measured use exceeds threshold
- frequency removed from list of active channels if used by any node for more than given time interval
Detect existing channels:
When signature detected
Record frequency in list of channels
If frequency available and no channel yet adopted
Suspend sampling temporarily
Adopt frequency and assert channel
Resume sampling
Establish new channel:
If no signature detected on available frequency during sampling
Select least-busy available frequency
Record frequency in list of channels
Adopt frequency and assert channel
Assert channel:
If asserting channel in response to detected signature
Select at random one of s silent beaconing intervals
Repeat 2 ft times
Broadcast signature on adopted frequency during selected interval
Remain silent for next s beaconing intervals
Assumptions for each node:
- initial spectrum sampling concluded
- adopted frequency
- list of frequencies of all channels overheard
- information communicated as packets
- notion of common time
Initiate consolidation:
If g > 1 available frequencies in channel list
If adopted frequency higher than others in list
Generate consolidation message containing node identifier, current time, and adopted frequency
Disseminate message
Disseminate message:
For each of g available frequencies in channel list
Repeat until rebroadcast overheard and at most m times
Broadcast message
Listen for rebroadcast
Await consolidation:
Listen on adopted frequency
If receive consolidation message
If message contains available frequency different from adopted
If message contains most recent timestamp
Adopt frequency
Record timestamp
Disseminate message
Assumptions for each node:
- initial spectrum sampling concluded
- adopted frequency
- list of frequencies of all common channels overheard
- information communicated as packets
- notion of common time
- at least one node must adopt a different frequency
Initiate negotiation:
If adopted frequency no longer inappropriate
Select least-busy available frequency different from adopted
Record frequency in list of channels
Adopt frequency
Generate negotiation message containing node identifier, current time, adopted frequency, and list of unavailable frequencies
Disseminate message
Await negotiation:
Listen on adopted frequency
If receive negotiation message
If frequency available and different from adopted
If message timestamp most recent
Adopt frequency
Record timestamp
Update known unavailable frequencies and add to message
Disseminate message
If frequency unavailable
If message timestamp most recent
If common available frequency exists
Generate negotiation message containing node identifier, current time, selected frequency, and list of unavailable frequencies
Disseminate negotiation message
Assumptions for each node:
- channels established
- neighbors discovered
- hop-by-hop acknowledgements
- information communicated as packets
Algorithm:
- objective: low costs routes at low overhead
- quasi dynamic programming to compute cost to destination
probabilistic selection of packet’s next hop to destination
- probabilities computed according to learning automata rules or strictly based on cost
- positive probabilities prevent sticking
- forwarding loops can occur but do not persist
- transmission cost of loops less than that of state information in dynamic networks
Select next hop to destination d via neighbor j according to probabilities {p i d (t): 1 ≤ i ≤ m} for all m neighbors
Forward data packet to neighbor j and obtain in acknowledgement estimated cost c j d (t) to destination d
Update estimate of cost to destination d via neighbor j: c nj d (t+1) = link nj d (t) + c j d (t)
Update probability of selecting each neighbor k as next hop to destination d: p k d (t) = (1/ c nk d (t)) / ∑(1/ c ni d (t)) over all m neighbors
Update estimate of cost to destination d: c n d (t) = ∑ p i d (t) c ni d (t) = m / ∑(1/ c ni d (t)) over all m neighbors
Update probability of selecting each neighbor k as next hop to destination d according to linear reward-penalty scheme but constrained positive: p j d (t+1) = p j d (t) + a(1 ß(t))(1 - p j d (t)) bß(t)p j d (t) p k d (t+1) = p k d (t) - a(1 ß(t))p k d (t) + bß(t)(1/(m-1) - p k d (t)), k ≠ j
Reward: ß(t) = 0, route via neighbor j has lowest cost
Penalty: ß(t) = 1, route via neighbor j does not have lowest cost
0 < b << a << 1
Update estimate of cost to destination d: c n d (t) = ∑ p i d (t) c ni d (t), over all m neighbors.