Emergent Structure Among Self-Organizing Devices M. Steenstrup Stow Research L.L.C.

advertisement

Emergent Structure Among

Self-Organizing Devices

M. Steenstrup

Stow Research L.L.C.

steenie@rcn.com

This work was funded in part by DARPA and ONR.

Pervasive Networking

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

Environmental Challenges

Wireless communications:

- distance-based attenuation

- interference

- shadowing

- multipath fading

- broadcast

Attacks:

- detection

- interception

- spoofing

- replays

- denial of service

Heterogeneity of Devices

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

Device Behavior

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

Controllable Aspects of the Network

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

The Problem of Network Control

Objectives Constraints

State

Control

Algorithm

Actions

Network

Environment

Fundamental Differences Among Controllers

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

Degraded Signals

Objectives Constraints

State

Control

Algorithm

Actions

Network

Environment delay noise loss

Network Control Algorithms

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

Self-Organizing Devices

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

Selecting Frequencies for Common Channels

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

Channel Detection and Selection

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

Channel Detection and Selection

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

Channel Detection and Selection

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

Assigning Initial Channels

Clusters of Common Channels

Channel Consolidation

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

Channel Consolidation

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

Consolidating Channels

Single Common Channel

Channel Negotiation

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

Channel Negotiation

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

Negotiating New Channels

Clusters of Common Channels

Selecting Next Hops for Packet Forwarding

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

Probabilistic Packet Forwarding

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

Variant Based on Learning Automata

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.

Forwarding Packets

Forwarding Packets

Download