TheCOMOProject PereBarletRos,UPCBarcelona - - PowerPoint PPT Presentation

the como project
SMART_READER_LITE
LIVE PREVIEW

TheCOMOProject PereBarletRos,UPCBarcelona - - PowerPoint PPT Presentation

TheCOMOProject PereBarletRos,UPCBarcelona GianlucaIannaccone,IntelResearchBerkeley Disclaimer Thispresenta@onfocusesonCOMOv2.0thatis


slide-1
SLIDE 1

The
COMO
Project


Pere
Barlet‐Ros,
UPC
Barcelona
 Gianluca
Iannaccone,
Intel
Research
Berkeley


slide-2
SLIDE 2

Disclaimer


  • This
presenta@on
focuses
on
COMO
v2.0
that
is


currently
under
development
(unstable‐release
 available
on
sourceforge.net).


  • COMO
v2.0
stable
release
is
expected
by
the
end

  • f
June
2009
for
pilot
deployment
on
Onelab2.


  • COMO
is
currently
supported
by
Intel
Research,


UPC
Barcelona
and
Quantavis.


Thursday,
May
7,
2009
 2
 The
COMO
Project


slide-3
SLIDE 3

3


Mo@va@on


  • Developing
and
deploying
new
network
monitoring


apps
is
unnecessarily
,me‐consuming


  • Familiar
challenges


– Need
deep
understanding
of
data
sets

 (including
details
of
the
mul@tude
of
network
devices)
 – Need
tools
to
extract
informa@on
of
interest
and
evaluate
 accuracy
and
resolu@on
of
data
(e.g.,
@mestamps,
 completeness
of
data,
etc.)
 – Need
to
efficiently
perform
computa@on
across
mul@ple
data
 streams
coming
from
different
loca@ons



  • …and
all
this
prior
to
building
the
actual
applica@ons!


Thursday,
May
7,
2009
 The
COMO
Project


slide-4
SLIDE 4

4


Mo@va@on
(cont’d)


  • Familiar
consequences


– Developers
tend
to
find
shortcuts
 – Develop
ad‐hoc
solu@ons
for
each
applica@on
 – Slow
development
and
even
slower
deployment
 – Hard
to
maintain
and
operate
 – Hard
to
validate
that
new
monitoring
service
does
 not
interfere
with
exis@ng
infrastructure


Thursday,
May
7,
2009
 The
COMO
Project


slide-5
SLIDE 5

5


What
is
COMO?


  • Plaaorm
for
Fast
Prototyping
Network


Monitoring
Applica@ons


– Rich
API
for
quick
deployment
 – Support
for
many
different
monitoring
devices

 – Efficient
handling
of
available
system
resources 
 – Query
engine
to
retrieve
data,
connect
mul@ple
 monitors
and
perform
distributed
measurements


Thursday,
May
7,
2009
 The
COMO
Project


slide-6
SLIDE 6

Features


  • 1. Abstract
away
device
internals


– Applica@ons
can
run
without
modifica-on
over
a
variety
of
network
 devices
and
data
formats
 – Support
for
nealow/sflow/radio/DAG/etc.


  • 2. Automated
Resource
Management


– System
handles
overload
through
packet/flow
sampling
 – Applica@ons
no@fy
system
of
maximum
sampling
rate
they
can
 sustain
(if
any)
 – Applica@ons
will
be
informed
of
sampling
applied
to
packet
stream
 and
may
correct
results
accordingly
 – Applica@ons
are
turned
off
if
sampling
is
not
an
op@on


Thursday,
May
7,
2009
 6
 The
COMO
Project


slide-7
SLIDE 7

Features
(cont’d)


  • 3. Easy
Distribu@on
and
deployment


– Applica@ons
come
in
stand‐alone
plugins
 – Can
be
deployed
on
any
monitoring
device
 – The
system
will
run
them
if
the
data
the
applica@on
needs
is
available
 (e.g.
wireless‐specific
monitoring
app
on
a
nealow
stream…)


  • 4. Support
for
many
programming
languages


– Plugins
wrihen
in
C
if
performance
is
important
 – Otherwise,
they
can
be
wrihen
in
any
language
(with
some
 restric@ons)
 – In
June
we
will
release
python‐specific
API


Thursday,
May
7,
2009
 7
 The
COMO
Project


slide-8
SLIDE 8

COMO
basics


Thursday,
May
7,
2009
 8
 The
COMO
Project


EXPORT/STORAGE
can
be
replicated
for
load
balancing

 CAPTURE
is
the
main
choke
point.
It
periodically
discards
all
state
to
reduce


  • verhead
and
maintain
a
rela@ve
stable
opera@ng
point

slide-9
SLIDE 9

How
it
works
(for
developers)


  • Write
a
COMO
plug‐in
module
per
applica@on


– Five
components:

 init,
capture,
transform,
store,
query
 – capture
operates
on
real‐@me
“packet
stream”


  • It
receives
packets
as
input
and
generates
tuples
out

  • “packet
stream”
is
a
common
representa@on
of
incoming


network
data
(it
may
be
IP
packets,
802.11
frames,
nealow
 records,
ascii
log
entries
or
the
output
of
other
modules)


  • capture
must
be
efficient.
It’s
always
wrihen
in
C.


  • Being
on
the
cri@cal
path
of
the
system
it
may
be
turned

  • ff
if
too
expensive

  • Library
of
pre‐defined,
op@mized
capture
modules
will
be


available
(e.g.,
flow
classifica@on,
pahern
search)


Thursday,
May
7,
2009
 9
 The
COMO
Project


slide-10
SLIDE 10

How
it
works
(cont’d)


  • Other
components
can
be
in
other
languages


– transform
receives
periodic
set
of
tuples
from
 capture
and
generates
tuples
out
to
store

 – store
generates/selects
the
set
of
tuples
to
be
 saved
on
disk
 – query
reads
tuples
from
disk
(or
directly
from
 store)
and
returns
a
representa@on
as
requested
 by
the
user
(e.g.,
ASCII,
graph,
script
to
plot
a
 graph,
etc.)


Thursday,
May
7,
2009
 10
 The
COMO
Project


slide-11
SLIDE 11

Example:
how
to
compute
top‐k
 des@na@on
addresses


  • init
reads
config
(to
set
k
and
the
measurement
interval)

  • capture
aggregates
traffic
by
des@na@on
and
periodically


sends
a
stream
of
{des@na@on,
bytes}
tuples


  • transform
aggregates
the
tuples
over
the
measurement


interval
and
outputs
a
ranked
list
of
{des@na@on,
bytes}
 tuples


  • store
select
the
first
k
tuples
and
saves
on
disk
one
tuple


with
the
@mestamp
and
the
original
{des@na@on,bytes}
pairs


  • query
fetches
the
tuples
by
@mestamp
and
returns
a
JSON


representa@on
of
the
top‐k
des@na@ons
 ...
but
this
is
just
one
way
to
do
it


Thursday,
May
7,
2009
 The
COMO
Project
 11


slide-12
SLIDE 12

Onelab
Deployment


  • Monitoring
facility
for
Planetlab
Europe


– Deploying
over
20+
ins@tu@ons
across
Europe
 – Onelab
users
can
test
monitoring
applica@ons
on
 traffic
generated
by
Onelab/Planetlab
nodes.



  • Infrastructure
for
demonstra-ng,
tes-ng
and


sharing
monitoring
applica-ons
before
 deployment
in
produc-on
environments


Thursday,
May
7,
2009
 12
 The
COMO
Project


slide-13
SLIDE 13

Onelab
Usage
Model


  • Users
can
deploy
monitoring
apps
everywhere

  • Users
can
monitor
only
the
traffic
their
own


applica-ons
generate
or
receive


– Not
possible
to
monitor
other
users’
traffic
 – Requires
registra@on
of
experiments
with
Onelab
 monitoring
service.



  • COMO
modules
undergo
review
from
Quantavis


before
deployment
if
wrihen
in
C.



– Other
languages
don’t
need
review
 – Review
process
is
confiden@al


Thursday,
May
7,
2009
 13
 The
COMO
Project


slide-14
SLIDE 14

Onelab
web
interface
to
register
users


Thursday,
May
7,
2009
 The
COMO
Project
 14


slide-15
SLIDE 15

Thursday,
May
7,
2009
 The
COMO
Project
 15


Users
register
experiment
and
receive
list
of
allowed
 port
numbers
(i.e.
UDP/TCP
packets
on
those
port
 numbers
will
be
monitored)


slide-16
SLIDE 16

Users
can
upload
modules
to
(and
receive
results
from)
 all
COMO
nodes
from
the
web
interface


Thursday,
May
7,
2009
 The
COMO
Project
 16


slide-17
SLIDE 17

Documenta@on


  • Badly
lacking…
sorry.

  • First
dras
will
come
with
June
2009
release

  • Visit
hhp://como‐project.org
for
updates


(launch
date:
June
2009)


Thursday,
May
7,
2009
 17
 The
COMO
Project


slide-18
SLIDE 18

References


  • Robust
Network
Monitoring
in
the
presence
of
Non‐Coopera-ve
Traffic
Queries


Pere
Barlet‐Ros,
Gianluca
Iannaccone,
Josep
Sanjuas‐Cuxart,
Josep
Sole‐Pareta
 Computer
Networks,
February
2009


  • Load
Shedding
in
Network
Monitoring
Applica-ons


Pere
Barlet‐Ros,
Gianluca
Iannaccone,
Josep
Sanjuas‐Cuxart,
Diego
Amores‐Lopez,
 Josep
Sole‐Pareta,
USENIX
Annual
Technical
Conference,
June
2007


  • Reformula-ng
the
monitor
placement
problem:
Op-mal
Network‐wide
Sampling


Gion
Reto
Can@eni,
Gianluca
Iannaccone,
Chadi
Barakat,
Christophe
Diot,
Patrick
 Thiran,
ACM
CoNEXT,
December
2006


  • MIND:
A
Distributed
Mul-‐Dimensional
Indexing
System
for
Network
Diagnosis


Xin
Li,
Fang
Bian,
Hui
Zhang,
Christophe
Diot,
Ramesh
Govindan,
Wei
Hong,
 Gianluca
Iannaccone,
IEEE
Infocom
2006


  • Fast
Prototyping
of
Network
Data
Mining
Applica-ons


Gianluca
Iannaccone,
Passive
and
Ac@ve
Measurement
Workshop,
March
2006


Thursday,
May
7,
2009
 The
COMO
Project
 18


slide-19
SLIDE 19

hhp://como‐project.org


June
2009