Next: Data Path Reconfiguration and
Up: Distributed Adaptation in CANS
Previous: Distributed Adaptation in CANS
Each CANS driver and service can incorporate its own adaptation
behavior that may or may not be coordinated with adaptation in other
components. For example, a frame-dropping component can alter its
policies upon detecting different levels of back-pressure on its
output buffers. Note that adaptation in a single component is
completely isolated as long as its effect is restricted to be within a
single semantic segment (see Section 3.1).
To trigger adaptation, CANS provides distributed event propagation
support, permitting components (including delegate objects for legacy
services) to raise arbitrary events as well as listen for specific
ones. Event support is realized by a per execution environment
Event Manager, which is responsible for catching, firing, and
transmitting events across the network. Event raising and firing is
implemented using simple method calls and callback functions
associated with the relevant component.
There are two major types of CANS events: events from the local
resource monitor, indicating a change in resource status, and events
from components on the data path. The first kind of events are
sent only to local components that register themselves as
interested listeners. The second kind, issued by components along
a data path, are first sent to the plan event delegate (see
Section 4.3), which is responsible for
propagating the event along the data path as well as handling
plan-specific events, such as events to trigger replanning.
Next: Data Path Reconfiguration and
Up: Distributed Adaptation in CANS
Previous: Distributed Adaptation in CANS
Weisong Shi
2001-01-08