The Case for a Unified Extensible Data-centric Mobility - - PowerPoint PPT Presentation

the case for a unified extensible data centric mobility
SMART_READER_LITE
LIVE PREVIEW

The Case for a Unified Extensible Data-centric Mobility - - PowerPoint PPT Presentation

The Case for a Unified Extensible Data-centric Mobility Infrastructure Data-centric Mobility Infrastructure Yun Mao, Boon Thau Loo Zachary Ives Jonathan M Smith Zachary Ives, Jonathan M. Smith University of Pennsylvania Aug 27 2007 Aug 27,


slide-1
SLIDE 1

The Case for a Unified Extensible Data-centric Mobility Infrastructure Data-centric Mobility Infrastructure

Yun Mao, Boon Thau Loo Zachary Ives Jonathan M Smith Zachary Ives, Jonathan M. Smith University of Pennsylvania

Aug 27 2007 Aug 27, 2007

Project funded by NSF NeTS-0721845

slide-2
SLIDE 2

Motivation Motivation

M bil i t i th d i i f f th

  • Mobile environment is the driving force of the

Internet architecture redesign

– New environment diversified wireless technologies New environment, diversified wireless technologies – New applications and services

  • Naming, location-aware, context-aware services, etc
  • Current network architecture is not extensible to

meet the demand

Slow adoption of Mobile IP IPv6 – Slow adoption of Mobile IP, IPv6 – Too many custom made overlay networks – Emerging networks: sensor, DTN Emerging networks: sensor, DTN

  • Problem: the architecture is tightly coupled with

implementation

2

slide-3
SLIDE 3

Our approach: a declarative architecture

  • Core idea: separate logical specification from

physical implementation:

– “Ask for what you want, not how to implement it” – SQL vs C in the 70s

goal declarative approach goal imperative approach declare goal Decide how to implement System decides how to implement network

3

network network

slide-4
SLIDE 4

What is the right high-level abstraction in mobile networks?

N t k t t di t ib t d d t

  • Network state as distributed data

– Router state – Mobile home agent state Mobile home agent state – Service description – Network load

C f

  • Cross-layer info as data

– All kinds of link/physical layer state – Session state Session state – Application state

  • Network protocol: query of distributed data

– Network state can be maintained using declarative queries – Optimization decisions as cross-layer data manipulation

4

slide-5
SLIDE 5

Declarative Networks - data-centric approach to networking

Dataflow Dataflow messages Dataflow messages messages Declarative query Dataflow Dataflow Declarative query Dataflow

Traditional Networks Declarative Networks

Network State Distributed db tables Network protocol Declarative Query Execution

5

Network protocol Declarative Query Execution Network messages Distributed Dataflow

slide-6
SLIDE 6

Datalog: a declarative language Datalog: a declarative language

Datalog rule syntax:

< result> ← < condition1> , < condition2> , … , < conditionN> .

Datalog rule syntax: d H d

Si il t P l

Body Head

  • Similar to Prolog
  • Types of conditions in body:

– Input tables: link(src,dst) predicate – Arithmetic and list operations

  • Head is an output table

– Recursive rules: result of head in rule body

6

y

slide-7
SLIDE 7

Routing as a Query Routing as a Query

R2: reachable(S,D) ← link(S,Z), reachable(Z,D) R1: reachable(S,D) ← link(S,D) “For all nodes S,D, If th i li k f S t D th S h D”

link(a,b) – “there is a link from node a to node b”

If there is a link from S to D, then S can reach D”.

reachable(a,b) – “node a can reach node b”

“For all nodes S,D, if there is a link from S to Z, and there is a path from Z to D, then S can reach D”.

Input: link(source, destination) Output: reachable(source, destination)

7

slide-8
SLIDE 8

Network Datalog (NDLog) Network Datalog (NDLog)

  • A distributed variant of Datalog

– express distributed computation over network state p p – Compiled into distributed data flows, and executed by query processors (i.e. routers)

  • Concise yet expressive:

– Textbook routing protocols (3-8 lines) g p ( )

  • Distance-vector, dynamic source routing, path-vector
  • QoS routing

– Chord DHT (48 lines)

  • Efficiency

8

y

slide-9
SLIDE 9

NDLog Examples in Mobile Networks NDLog Examples in Mobile Networks

  • Mobile home agent selection for overlays

– i3 / Roam (16 lines) ( ) – DHARMA (10 lines)

N i

  • Naming
  • Customizable routing
  • Service discovery and composition

T1 l tL d(@PI SI i <L>) (@SI P PI) t d (@PI TI TID L) T1 leastLoad(@PI, SI, min<L>) :- proxy(@SI, P, PI), transcoders(@PI, TI, TID, L). T2 bestTranscoder(@SI, TI, TID) :- transcoders(@PI, TI, TID, L), leastLoad(@PI, SI, L). Query bestTranscoder(@SI, TI, TID).

9

Q y (@ , , )

slide-10
SLIDE 10

Declarative Mobile Networking (at 30000 feet)

M bil H t Agent 6 C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

10

Out-of-band deployment of distributed queries by ISPs

slide-11
SLIDE 11

Declarative HA Selection Declarative HA Selection

M bil H t Agent 6 C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 ClosestAgent Mapping Table Agent 3 Query: ClosestAgent Mapping Table

IP Range Closest Agent 158 130 0 0/16 Agent 1

11

ClosestAgent(@A3, MH, HA)

158.130.0.0/16 Agent 1 …. Agent 2

slide-12
SLIDE 12

Declarative HA Selection Declarative HA Selection

M bil H t Agent 6 C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 ClosestAgent Mapping Table Agent 3 ClosestAgent(@A3, MH, Agent1)

IP Range Closest Agent 158 130 0 0/16 Agent 1

ClosestAgent Mapping Table

12

g (@ , , g )

158.130.0.0/16 Agent 1 …. Agent 2

slide-13
SLIDE 13

Mobile IP Mobile IP

Home address Care of address

Mobility binding table Home Agent IP1 Mobile Node

13

slide-14
SLIDE 14

Mobile IP Mobile IP

Home address Care of address HomeIP IP1

Mobility binding table

HomeIP IP1

register Home Agent IP1 g Mobile Node

14

slide-15
SLIDE 15

Mobile IP Mobile IP

Home address Care of address HomeIP IP2

Mobility binding table

HomeIP IP2

Home Agent update IP2 Mobile Node

15

slide-16
SLIDE 16

QoS-aware routing: low latency QoS-aware routing: low latency

M bil H t Agent 6 QUERY: bestPath(@Src, Dest, Path) C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

R1: path(@S,D,P,C) ← closestAgent(@NI,S), link(@S,D,C), P:=(S,D). R2: path(@S,D,P,C) ← link(@S,Z,C1), path(@Z,D,P2,C2), C:=C1+C2, P:=(S, P2) R3 b tP thC t(@S D i C ) th(@S D Z C)

16

R3: bestPathCost(@S,D,min<C>) ← path(@S,D,Z,C). R4: bestPath(@S,D,P,C) ← bestPathCost(@S,D,C), path(@S,D,P,C). Query: bestPath(@S,D,P,C)

slide-17
SLIDE 17

QoS-aware routing: low latency QoS-aware routing: low latency

M bil H t Agent 6 Return( list<agent1, agent2>) C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

R1: path(@S,D,P ,C) ← closestAgent(@NI,S), link(@S,D,C), P:= (S,D). R2: path(@S,D,P ,C) ← link(@S,Z,C1), path(@Z,D,P2,C2), C:= C1+ C2, P:= (S, P2)

R3 b tP thC t(@S D i C ) th(@S D Z C)

17

R3: bestPathCost(@S,D,min<C>) ← path(@S,D,Z,C). R4: bestPath(@S,D,P,C) ← bestPathCost(@S,D,C), path(@S,D,P,C).

Query: bestPath(@S,D,P ,C)

slide-18
SLIDE 18

QoS-aware routing: low latency QoS-aware routing: low latency

M bil H t Agent 6 C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

R1: path(@S,D,P ,C) ← closestAgent(@NI,S), link(@S,D,C), P:= (S,D). R2: path(@S,D,P ,C) ← link(@S,Z,C1), path(@Z,D,P2,C2), C:= C1+ C2, P:= (S, P2)

R3 b tP thC t(@S D i C ) th(@S D Z C)

18

R3: bestPathCost(@S,D,min<C>) ← path(@S,D,Z,C). R4: bestPath(@S,D,P,C) ← bestPathCost(@S,D,C), path(@S,D,P,C).

Query: bestPath(@S,D,P ,C)

slide-19
SLIDE 19

QoS-aware routing: high b/w QoS-aware routing: high b/w

M bil H t Agent 6 QUERY:bestPath(@Src,Dest,Path) C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

R1: path(@S,D,P ,C) ← closestAgent(@NI, S), link(@S,D,C), P:= (S,D). R2: path(@S,D,P ,C) ← link(@S,Z,C1), path(@Z,D,P2,C2), C:= min(C1,C2), P:= (S, P2)

R3 b tP thC t(@S D C ) th(@S D Z C)

19

R3: bestPathCost(@S,D,max<C>) ← path(@S,D,Z,C). R4: bestPath(@S,D,P,C) ← bestPathCost(@S,D,C), path(@S,D,P,C).

Query: bestPath(@S,D,P ,C)

slide-20
SLIDE 20

QoS-aware routing: high b/w QoS-aware routing: high b/w

M bil H t Agent 6 Return( list<agent5, agent2>) C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

R1: path(@S,D,P ,C) ← closestAgent(@NI,S), link(@S,D,C), P:= (S,D). R2: path(@S,D,P ,C) ← link(@S,Z,C1), path(@Z,D,P2,C2), C:= min(C1,C2), P:= (S, P2)

R3 b tP thC t(@S D C ) th(@S D Z C)

20

R3: bestPathCost(@S,D,max<C>) ← path(@S,D,Z,C). R4: bestPath(@S,D,P,C) ← bestPathCost(@S,D,C), path(@S,D,P,C).

Query: bestPath(@S,D,P ,C)

slide-21
SLIDE 21

QoS-aware routing: high b/w QoS-aware routing: high b/w

M bil H t Agent 6 C d t Mobile Host Agent 1 Agent 2 Correspondent Host Agent 5 A t 3 Agent 4 Agent 3

R1: path(@S,D,P ,C) ← closestAgent(@NI,S), link(@S,D,C), P:= (S,D). R2: path(@S,D,P ,C) ← link(@S,Z,C1), path(@Z,D,P2,C2), C:= min(C1,C2), P:= (S, P2)

R3 b tP thC t(@S D C ) th(@S D Z C)

21

R3: bestPathCost(@S,D,max<C>) ← path(@S,D,Z,C). R4: bestPath(@S,D,P,C) ← bestPathCost(@S,D,C), path(@S,D,P,C).

Query: bestPath(@S,D,P ,C)

slide-22
SLIDE 22

Multiple Overlay-based architectures

ROAM Mobile IP DHARMA Mobile Node

22

slide-23
SLIDE 23

Implementation Implementation

  • Built on P2 declarative networking system
  • Built two overlay networks for mobility

Built two overlay networks for mobility.

– ROAM, DHARMA

  • Tested on Emulab with 200 nodes

– Performance comparable to the native p implementation

23

slide-24
SLIDE 24

Future work Future work

  • This paper focuses on extensible network

infrastructure support for mobility

  • Application-aware mobile hosts

– Declarative cross-layer abstraction for network stack y – Declarative mobile ad-hoc networks

  • Additional useful features for mobility:

Additional useful features for mobility:

– Flexible naming, Iate-binding service discovery, network monitoring

  • PlanetLab mobility service

24

slide-25
SLIDE 25

Conclusions Conclusions

  • Rethink new mobile network abstractions

– Data centricity

  • Declarative architecture for mobile

applications is promising applications is promising

– Extensible, flexible

  • Suitable for rapidly growing mobile world

– Concise, efficient ,

25

slide-26
SLIDE 26

backup backup

26

slide-27
SLIDE 27

T diti l R t Traditional Router

R ti Routing Protocol

Control Plane

Neighbor Table updates Forwarding Table updates

Packets

Forwarding Plane

Traditional Router

Packets

27

Traditional Router

slide-28
SLIDE 28

Declarative Router Declarative Router

Query Engine

R ti

Declarative Queries

Routing Protocol

Control Plane

Neighbor Table updates Forwarding Table updates

Forwarding Plane

Packets

p p

Declarative Router Traditional Router

Packets

28

Declarative Router Traditional Router

slide-29
SLIDE 29

The Case for Declarative Systems The Case for Declarative Systems

D l ti h h b ll t d

  • Declarative approaches have been well-accepted:

– Distributed data management

  • Sensors (TinyDB)

( y )

  • network monitoring (gigascope, streambase)

– Network specifications

  • Meta routing declarative networks
  • Meta-routing, declarative networks, …

– Policy-driven security

  • STRONGMAN, keynote, …
  • Advantages:

– Ease of programming – Safety – Safety

  • Address limitation of active networks

29