15-446 Networked Systems Practicum Lecture 1 – Introduction 1 Today’s Lecture • Administrivia • Topics and Overview 2 Instructors • Instructors. • Srini Seshan • srini@cs.cmu.edu, Gates Hall 8123 • Teaching assistants. • None (a couple informal ones ) 3 Course Goals • Learn about mobile system design • Wireless networks • Energy management • Split application design • Learn about security for networked systems • Basic crypto techniques • Privacy challenges in mobile systems • DDoS • Learn how to build systems that use the network • Capstone project 4 Course Format • ~20 lectures • Cover the “principles and practice” • Complete readings before lecture • Readings based on recent systems/research papers • 4 homework assignments • “Paper”: Do you understand and can you apply the material? • “Lab”: learn key system concepts • Capstone-like project • Midterm and final • Covers each of the above 3 parts of class 5 Project • Topic of your choice • Discussion of topics next lecture • Should have something to do with mobile computing • Regular meetings (approximately 1 per 4 weeks) • Final handin: code, presentation + demo, short (few page) writeup • Solo or in groups of 2 • Both students should understand the entire project • Expectations of groups will be somewhat higher 6 Administrative Stuff • Watch the course web page • http://www.cs.cmu.edu/~srini/15-446/F11/ • Handouts, readings, .. • Piazza for Q&A • Office hours by appointment • Course secretary • Angela Miller, Gates 9118 7 Grading • Roughly equal weight in projects and testing • • • • 45% for Project 15% for Midterm exam 20% for Final exam 20% for Homework/Participation • You MUST demonstrate competence in both projects and tests to pass the course • Fail either and you fail the class! 8 Policy on Collaboration • Working together is important • Discuss course material in general terms • Work together on program debugging, .. • Final submission must be your own work • Homeworks, midterm, final • Web page has details 9 Late Work and Regrading • Late work will receive a 15% penalty/day • No assignment can be more than 2 days late • No penalty for a limited number of handins - see web page • Only exception is documented illness and family emergencies • No assignments with a “short fuse” • Start on time! 10 Today’s Lecture • Administrivia • Topics and Overview 11 Other Topics • Supporting capstone projects • Lectures topics will be added/changed to match project topics and student interests • Email me topics you want to learn about 12 3 Sections • Mobile Networking • Networking/Mobile Security • Mobile Systems 13 Mobile Networks • Wireless Networks • • • • 802.11 Bluetooth Mobile IP Wireless + TCP • Cellular Networks • 3G/4G standards • Mobility support 14 Mobile Networks • RFID/NFC • Phy + MAC layer protocols • RFIDs with computation • Scaling RFID protocols • Energy Management • Sleep modes in different technologies • Using Proxies • Protocol interactions with power management 15 Security • Understanding types of security • Privacy • Confidentiality • Authentication • Internet related issues • DoS/DDoS • Spoofing • Protocol design 16 Security • Crypto basics • • • • • Public/symmetric key crypto One-way hash functions Merkel trees Blind signatures Identity-based encryption • Privacy • • • • Location privacy Privacy policies Mix networks/onion routing Wireless privacy 17 Mobile Systems • Energy • Tracking techniques • Sleep modes and energy management • Display energy • Transcoding and Mobile Optimization • Offload and proxies • Automated Web page rewriting • Source content mangagement 18 Mobile Systems • Sensor networks • Sensor motes • Participatory sensing • Vehicular networks • Network protocols • Applications 19 Mobile Systems • HCI Issues • Designing applications for mobile devices • Dealing with portability issues • Advertising • Ad networks and APIs • Targeting techniques • Click fraud and overheads 20 Next Lecture / HW • Possible project topic discussion • Intro to Android programming (part 1) • HW 1. Download/install SDK (http://developer.android.com/sdk/index.html) 2. Start with basic hello world exercise (http://developer.android.com/training/basics/fi rstapp/index.html) 21