Document 242857

Video Streaming over ProtoRINA
Yuefeng Wang
What is RINA? [1][2][3]
weaknesses of the current Internet, e.g. security, mobility support
Based on the fundamental principle that networking is Inter-Process
Communication (IPC) and only IPC
a collection of distributed IPC
processes with shared states. They provide communication service
to application processes over a certain scope (i.e., range of
operation)
Distributed Application Facility (DAF): a set of application processes
cooperating to perform a certain function. The function can be a
communication service, weather forecast, genomics, etc.
Two design principles: (i) divide and conquer (recursion), and (ii)
separation of mechanisms and policies
Application
Processes IPC
IPC
(sender/receiver)
P1
Shared State
•  Goal: Reduce end-to-end jitter
•  Form a two-level DIF topology where processes in the higher-
RINA Network
• 
• 
Live555
Streaming Server
VLC Client 2
Video Server Proxy
Video Client Proxy
level DIF reside across aggregates
In the lower-level DIF, link-cost policy is hop
In the higher-level DIF, change link-cost policy from hop to jitter
Internet connection
VLC Client N
Fig 4 : Video clients (VLC players) are connected to the video
streaming server through RINA proxies which are connected over a
RINA network. The RINA network is composed of DIFs, where routing
policies (and other policies) can be easily configured for each DIF
Path1:IPC20−IPC21−IPC22−IPC23
Path2:IPC20−IPC25−IPC24−IPC23
Path3:IPC20−IPC21−IPC22−IPC24−IPC23
Path4:IPC20−IPC21−IPC25−IPC24−IPC23
Path5:IPC20−IPC21−IPC25−IPC24−IPC22−IPC23
Path6:IPC20−IPC25−IPC24−IPC22−IPC23
Path7:IPC20−IPC25−IPC21−IPC22−IPC23
Path8:IPC20−IPC25−IPC21−IPC22−IPC24−IPC23
Experienced End−to−End Jitter
200
150
Resources Reserved from GENI
Jitter (milisec)
• 
Experimental Results
VLC Client 1
•  Distributed IPC Facility (DIF):
• 
Ibrahim Matta
Video Streaming on Legacy Hosts
•  RINA: Recursive InterNetwork Architecture
•  A clean-slate network architecture which overcomes inherent
• 
Nabeel Akhtar
100
50
IPC
(sender/receiver)
(sender/receiver/relay)
P2
N-level DIF
P3
0
0
(N-1)-level
DIFs
management applications
•  Teaching tool for networking and distributed systems classes
•  Version 1.0 released on October 2013; around 55,000 lines of Java
code following the RINA specifications of January 2013
Disclaimer: The current version is not a complete implementation of
RINA and we continue to modify and add elements
N Level
DIF
N-1 Level
DIF
IPC
API
IPC Process (N Level)
IPC
API
IPC Process (N-1 Level)
…
0 Level
DIF
IPC
API
IPC Process (0 Level)
IPC
API
Shim Layer
Virtual Link (Wire) Manager
Fig 2 : RINA node is a host
where processes reside
Data Transfer
Application Entity
RIB
Daemon
API
Error and Flow
Control Protocol
(EFCP)
Relay and
Multiplexing
(RMT)
RIB
Daemon
IRM
API
IRM
API
RIB
Daemon
API
RIB
Daemon
API
IPC Resource
Manager (IRM)
•  ProtoRINA enables policies to be configured easily
•  We demonstrate two policies: DIF topology-formation policy and
link-cost routing policy
Video Client
Proxy
Video Server
Proxy
IPC 22
IPC 21
IPC 20
RIB
API
IPC 23
RIB
IPC 24
IPC 25
100
120
140
IPC 11
IPC 10
Routing
Daemon
IPC 8
IPC 7
DIF 4
IPC 9
IPC 6
IPC 5
IPC1
IPC 12
IPC 17
IPC 16
IPC 14
Fig 3 : IPC components and RINA APIs
150
100
50
0
0
20
40
60
80
Time (sec)
100
120
140
160
Fig 8: Instantaneous throughputs of IPC 21 and IPC 25
Experiences using GENI
•  Reserving resources over multiple aggregates using GRE tunnels is
• 
• 
• 
more likely to succeed as compared with stitching, which is less reliable
A large MTU can degrade TCP performance over GRE tunnels
GENI Desktop facilitates real-time monitoring of experiments
GENI user mailing list and GENI Desktop mailing list are really helpful
References
DIF 1
[2] John Day, Ibrahim Matta and Karim Mattar. “Networking is IPC: A
Guiding Principle to a Better Internet”. In ReArch 2008.
IPC 2
IPC 3
IPC 13
IPC
API
200
[1] John Day. “Patterns in Network Architecture: A Return to
Fundamentals”. Prentice Hall, 2008.
Management
Application Entity
Flow
Allocator
IRM
API
Time (sec)
80
IPC 21 on Node1
IPC 25 on Node3
Programming Networking Policies
DIF 5
IPC
API
IPC Process
Fig 5 : VMs from four InstaGENI aggregates (Gatech, NYU, Cornell
and UIUC), and VMs in different aggregates are connected using
GRE tunnels. Each RINA node is running on a VM
Throughput (KB/sec)
•  ProtoRINA is Boston University’s user-space prototype of RINA
•  A prototype enables the programming of recursive-networking policies
•  Experimental tool for developing (non-IP based) user and
Application Process
60
250
RINA Prototype: ProtoRINA [4][5]
DAF
40
Fig 7: End-to-end jitter tracks the least path jitter
Fig 1 : RINA overview
• 
20
IPC 18
IPC 15
IPC 19
Fig 6: Two-level DIF topology
DIF 2
IPC 4
DIF 3
[3] Boston University RINA Lab. http://csr.bu.edu/rina.
[4] Yuefeng Wang, Ibrahim Matta, Flavio Esposito and John Day.
“Introducing ProtoRINA: A Prototype for Programming RecursiveNetworking Policies.” In ACM SIGCOMM CCR, July, 2014.
[5] ProtoRINA. http://csr.bu.edu/rina/protorina.