340 likes | 483 Views
New Models and Algorithms for Active Networks. The Active Bell-Labs Engine. An adjunct active engine to any COTS router Only some packets are diverted to the AE Packet Delay depends on whether it passes thru the AE. Processing time in the AE may depend on data in the packet.
E N D
The Active Bell-Labs Engine • An adjunct active engine to any COTS router • Only some packets are diverted to the AE Packet • Delay depends on whether it passes thru the AE. • Processing time in the AE may depend on • data in the packet. • soft state in the AE. Active Engine (AE) session 1 session 2 manager MIB filter router
Addressing Modes • Explicit - sent directly to a known AE. • efficient • Oblivious - sent along a path, and intercepted by the first AE en-route. • topology learning • robust
What is the right model to analyze algorithmic solutions? • How to compare the strength of AN architectures? • Are active networks efficient?
Standard Asynchronous Model • Communication is between neighbors • A message arrivals triggers computation at a node • A single bound on the delay of a communication + computation cycle • What does O(n log n) mean?
A New Model • Two bounds on the delay: • C thru the FF. • P(k) thru the EE. • Forwarding is done according to the destination addr. • No assumptions on the routing. • We use P(k) = P ·k Execution Environment (EE) FF Filter forwarding oracle
DARPA Model vs. Our Model Execution Environment (EE) EE 1 EE 2 EE 3 FF Filter class forwarding IP NodeOS oracle
Performance Measures • Communication (Message) complexity - hops traveled by messages • Time complexity - time to mission completion. • processing complexity - CPU time used.
An Application Example:Route Exploration • In the model - a node is only aware of its local neighbors. • A node wishes to learn the route to some destination. • Abstraction of the traceroute program. 45
A naïve Solution • The source query nodes sequentially. • O(n2) messages. • O(n2C+nP) time.
A naïve Solution • The source query nodes sequentially. • O(n2) messages. • O(n2C+nP) time.
report-en-route • A query process advances sequentially. • Reports are sent to the source for each query. • O(n2) messages. • O(nC+nP) time. send Report(id, c+1) to s if id send MSG*(s,d, c+1) to d
collect-en-route • A query process advances sequentially. • Information is collected in the forward direction, and sent by the destination to the source. • O(n) messages. • O(nC+n2P) time.
collect-en-route if i==d send Report(list|i) to s else send MSG*(s,d, list|i) to d
Route Exploration Can we do better?
Report-every-l • Obtain the route length. • Initiate collect-en-route in n/l segments of length l.
Report-every-l • Complexities: • message O(n2/l) • time O(nC+(n+l2)P) • alg. at the ith segment starts after (i-1)(C+P)l • segment time cmplx: • For l=n2/3: • message O(n4/3); time O(nC+ n4/3 P)
Collect-rec • Optimal up to a log factor ! • Obtain the route length. • Partition the route to two segments. • Send results from the second segment using the FF. • Perform recursively. • Complexities: • message O(n log n); time O(nC+nP)
Collect-rec(2) Time: O(nP+nC) Message: O(nlogn)
Collect-rec (2) Time: O(nP+nC) Message: O(nlogn)
Collect-reccomplexity • We can count messages/time per iteration. • Alternative approach: • TC(n) TC(n/2) + 4n(P+C) • MC(n) 2MC(n/2) + 4n
Message Dissemination • A message for a large number of receivers. • No notion of group. Ad-hoc. • Processing time is linear in the recipient size. • Example: a full binary tree
Naïve solution • send a message to each recipient • Complexity for a full binary tree • time: nP+log n C • message: n log n
Mail Distribution (2) receivers 1 2 3 4 5 6 7 8 8,m 7,m 7,8,m 5,6,m 5,6,7,8,m 1,2,3,4,m sender
Active Naïve solution • send a message to each recipient • Complexity for a full binary tree • time: nP+log n C • message: n log n 2nP+log n C 2n
Multicast • We assume a multicast group exist • Aim: build the best tree • In general: NP-hard • We will look at the line case
Previous Solutions • Unicast: • time complexity: O(n(P+C)) • message complexity: O(n2) • message dissemination: • time complexity: O(n(P+C)) • message complexity: O(n)
Better solution • Embed a tree in the line • What should be its arrity?
Optimum • x / log x achieves optimum at 3 when restricted to integers C=1, P=20
Other Basic Problems • Bottleneck detection - computation along a route. • Message dissemination to an ad-hoc group. • Topology discovery. • Computation of a global function.
Summary • A new model to analyze active network applications. • Can be used for Other domains • Peer2Peer • application layer multicast • Can be used to compare strength of architectures by comparing lower bounds.
Paper(s) available at: www.cs.bell-labs.com/~ABLE