Document 6519417
Transcription
Document 6519417
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.