Title: language for network design
1language for network design
NETML as a common language for INDT, SPIDER,
OCUBE, interpolation express target
network using resource network routing,
grooming, OADM orientation, etc are
interpolation allow tool-independent checker
2Ports and links
p
- ltport idp /gt
- ltlink ida /gt
- ltlink idb /gt
- ltconnect port1a.end
port2b.start /gt
Typed by bandwidth, protocol, Ports a.start,
b.start
a
b
a
b
a.end, b.start free before connected
after
3Muxes
- ltmux idm typemuxtype /gt
- muxtype determines port ids and types
- ltconnect port1m.prim port2n.prim /gt
- mux types must agree
m
m
n
4Paths
- ab
- a,b l.start, l.end
- path(a,c) and path(c,b)
- am.trib, bn.trib, and path(a.prim,b.prim)
- am.prim, bn.prim, and paths connecting all
tributaries
a
l
a
b
a
c
b
a
b
m
n
a
b
a,b free ports path(a,b) cases (path is not
in language)
5Abstract and defined links
l
- ltlink idl /gt
- ltbind absportl.start defports /gt
- ltbind absportl.end defportt /gt
- start path(s,t), s,t free
end s,t not free
s
t
construct path, define link or define link
(use it), then construct path
6Switches
- ltswitch ids type1x2 /gt
- ltswitch idt type2x2 /gt
s
t
OADM
7More circuit elements
- ltsplit ids /gt
- ltrouter /gt
- ltconvert /gt
11 protection
8Devices
- ltdevice idd typedevtype /gt
- type determines ports, circuit
- cable is device
9network
- ltnetwork idn gt
- ltprivategt
- externally invisible names
- lt/privategt
- ltpublicgt
- externally visible names
- lt/publicgt
- lt/networkgt
names are n.elt.port etc. networks can be nested
10Interpolation
express target network
using resource network First try define
(abstract) links of target with connect, bind
from resource links inadequate need more
constraints on connect want fewer constraints
on new links, muxes, etc.
11Nodes
- ltnode idN /gt
- ltnode idN /gt ltnode idM/gt
- ltlink idL /gt
- ltattach portL.start nodeN /gt
- ltattach portL.end nodeM /gt
N
L
M
N
Informally nodes preserve flow
12Node constraints
- 1. connect only between ports attached at same
node - ltconnect port1s port2t/gt
- 2. attach all free ports of node-free subnetwork
to same node - 3. bind must preserve node attachment
Interpolation must restrict node constraints
13Example
- ltnetwork idresource/gt
ltnode idA /gt ltnode idB/gt
ltlink idR bandwidth10G/gt
ltattach portR.start
nodeA/gt ltattach portR.end
nodeB/gt lt/networkgt - ltnetwork idtarget /gt
ltnode idA nodeRefresource.A/gt
ltnode idB nodeRefresource.B/gt ltlink
idT bandwidth5G /gt
ltattach portT.start
nodeA/gt
ltattach portT.end nodeB/gt
lt/networkgt
R
A
B
T
A
B
Define T in terms of R, respecting node
constraints
14T
input ltmux /gt ltattach /gt ltconnect /gt
ltbind /gt
R
A
B
T
R
A
B
T
R
B
A
T
R
B
A
15Routing
target
-
- ltlink idAD bandwidth5G/gt ltlink idBC
bandwidth5G/gt - ltlink idAC bandwidth10G/gt ltlink
idAB bandwidth10G/gt ltlink idBD
bandwidth10G/gt ltlink idCD bandwidth10G/gt
B
C
resource
A
C
D
B
16Constrained abstract links
- ltlink idL /gt
ltconstraint linkLgt lttributary
links/gt lt/constraintgt - ltlink idLL /gt
ltconstraint linkLLgt lttributary
links/gt lttributary link t/gt
lt/constraintgt
L
s
Any definition of L must use s or a tributary of s
LL
t
s
17Routing with constraints
-
- ltlink idAD bandwidth5G/gt ltconstraint
linkADgt lttributary
linkresource.AC/gt lttributary
linkresource.CD/gt lt/constraintgt - ltlink idBC bandwidth5G/gt ltconstraint
linkBCgt lttributary
linkresource.BA/gt lttributary
linkresource.AC/gt lt/constraintgt - Definition of AD and BC
-
target
A
D
resource
A
C
D
B
CD
AC
BA
AC
18Grooming
S
S
T
T
constrained ungroomed demands
ungroomed demands (sub l)
T
S
BD
DE
AB
B
A
groomed demand network
D
C
E
fiber network
fiber network unchanged
19OCUBE
x
w
demand network
C
B
A
x
w
ET
OADM
ET
fiber network
u
v
B
A
C
fiber bundle network
20More questions
- Language
- repetition, protection, switch settings,
- multiple hierarchies
- connection with device modeling
- Conventions
- network organization
- Systems
- database view of NetML file
-