Intentional Networking Brett Higgins, Azarias Reda, Timur Alperovich, Jason Flinn, T.J. Giuli (Ford), Brian Noble, David Watson (Ford)

Slides:



Advertisements
Similar presentations
Experiences with a vehicular cloud computing platform Jason Flinn, T.J. Giuli, and Brian Noble University of Michigan and Ford Motor Co.
Advertisements

Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
BreadCrumbs: Forecasting Mobile Connectivity Presented by Dhruv Kshatriya Paper by Anthony J. Nicholson Brian D. Noble.
Intentional Networking: Opportunistic Exploitation of Mobile Network Diversity T.J. Giuli David Watson Brett Higgins Azarias Reda Timur Alperovich Jason.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Remote Procedure Call (RPC)
Informed Mobile Prefetching T.J. Giuli Christopher Peplin David Watson Brett Higgins Jason Flinn Brian Noble.
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Technical Architectures
Brett Higgins Balancing Interactive Performance and Budgeted Resources in Mobile Applications.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Client-Server Computing in Mobile Environments
Operating System Support for Application-Specific Speculation Benjamin Wester Peter Chen and Jason Flinn University of Michigan.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Ch 1. Mobile Adaptive Computing Myungchul Kim
QuFiles: The right file at the right time Kaushik Veeraraghavan Jason Flinn Ed Nightingale * Brian Noble University of Michigan *Microsoft Research (Redmond)
Chapter 9 Message Passing Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Operating Systems, by Dhananjay Dhamdhere2 Introduction.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking Introducing the Application Layer 0.
Protocols and the TCP/IP Suite
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
AutoMedia: Linking the Vehicle with Consumer Electronics and Services Jason Flinn University of Michigan.
Informed Mobile Prefetching T.J. Giuli † Christopher Peplin † David Watson †‡ Brett Higgins Jason Flinn Brian Noble †‡
Access-Lists Securing Your Router and Protecting Your Network.
POLICY ENGINE Research: Design & Language IRT Lab, Columbia University.
10 – 12 APRIL 2005 Riyadh, Saudi Arabia. Visual Studio 2005 : New Features for the Web Services Developer Malek Kemmou CEO Arrabeta Consulting Microsoft.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
Brett D. Higgins ^, Kyungmin Lee *, Jason Flinn *, T.J. Giuli +, Brian Noble *, and Christopher Peplin + Arbor Networks ^ University of Michigan * Ford.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan.
IETF 69 SIPPING WG Meeting Mohammad Vakil Microsoft An Extension to Session Initiation Protocol (SIP) Events for Pausing and Resuming.
FCM Workflow using GCM.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
REST By: Vishwanath Vineet.
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
The Globus eXtensible Input/Output System (XIO): A protocol independent IO system for the Grid Bill Allcock, John Bresnahan, Raj Kettimuthu and Joe Link.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
Implementing Remote Procedure Call Landon Cox February 12, 2016.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan Best Paper at SOSP 2005 Modified for CS739.
Common Transport Rafael Schloming. Objectives Scaling Engineering Time ● N experts in protocol & language -> 1 protocol expert & N language experts ●
Deployment & Advanced Regular Testing Strategies
#01 Client/Server Computing
Proposal: A General Infrastructure for Efficient Application-Level Protocols Steven Czerwinski Goal: To investigate ways to make.
Client/Server Example
Replication Middleware for Cloud Based Storage Service
ECEN “Internet Protocols and Modeling”
Android Topics UI Thread and Limited processing resources
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Channel Access Concepts
Computer Networks Protocols
#01 Client/Server Computing
Presentation transcript:

Intentional Networking Brett Higgins, Azarias Reda, Timur Alperovich, Jason Flinn, T.J. Giuli (Ford), Brian Noble, David Watson (Ford)

The problem Mobile devices experience significant network diversity as they move… …as other devices come and go… …across many different technologies. Not all messages are created equal some traffic latency sensitive, for some, eventual delivery is okay, some is purely opportunistic. Current systems either hide all of these details, inevitably mismatching traffic, or expose all the messy details, complicating applications

The Insight Separate concerns system layer tracks, measures connectivity options applications describe their traffic system matches traffic to the right alternative Be qualitative applications specify only simple labels foreground vs. background; small vs. large Embrace concurrency multiple networks ~ multiple cores abstractions for safe (network) concurrency

Abstraction: Multi-Sockets ClientServer A socket: single connection between correspondent hosts

IN Abstraction: Multi-Sockets ClientServer Multi-sockets provide a “virtual connection”

IN Multi-Sockets ClientServer Multi-sockets provide a “virtual connection” as alternatives come and go

IN Multi-Sockets ClientServer Multi-sockets provide a “virtual connection” as alternatives come and go and measure the performance of each

Multi-sockets extend interface Can use the standard interface application provided with TCP semantics transparently pick the “best” option available at any time Easy extension: what should “best” mean? optional label: small (latency) or large (bandwidth) Interesting extension: what is important? another label: foreground or background foreground always* goes first

Not ordered! That’s crazy talk! Not with the right abstractions mutual exclusion happens-before Applications can specify units of mutual exclusion... one or more send calls …and the partial order on those units naming prior units as dependencies By default, each send() depends on the prior one applications must explicitly relax ordering

Example Application: BlueFS A DFS for mobile devices, consumer electronics RPC plus a bulk-transfer protocol on-demand and speculative fetches writes propagated asynchronously Intentional Networking modifications RPC stub generator: takes labels, ordering constraints on-demand block fetch: {foreground, small} data pre-fetch, write-back: {background, large} writes must be played back in order Less than 550 lines of code (out of >44K) ~400 in stub generator

How did we do? Evaluation environment: trace-based replay network observed during two live vehicle drives run Andrew-style benchmark under those conditions Compare Intentional Networking to three selection strategies always the lowest latency always the highest bandwidth minimum latency, sum of all bandwidths Intuition Total task time: beat single-networks, approach blend Response time: leverage hints for a big win

Results Time (seconds)

Scratching the surface More details expose events to applications keep background traffic out of the way more applications, experiments Other things to think about infer labels in existing applications? infer “foreground” from user behavior? express cross-application tradeoffs easily? A couple other things in the hopper information access in the developing world (Azarias) “smooshed migration” of clients across access points