1 / 19

15-446 Networked Systems Practicum

15-446 Networked Systems Practicum. Lecture 2 – Project. Today ’ s Lecture. Project Scope Possible Topics. Project Constraints. Capstone Should really highlight the skills you have learned in both this class and others S emester-long project

starr
Download Presentation

15-446 Networked Systems Practicum

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 15-446 Networked Systems Practicum Lecture 2 – Project

  2. Today’s Lecture • Project Scope • Possible Topics

  3. Project Constraints • Capstone • Should really highlight the skills you have learned in both this class and others • Semester-long project • Roughly equal in effort to all the projects in a 440/441/410-like class • Substantial amount of code and interesting system design issues

  4. Project Constraints • Topics • Should be related to mobile computing in some way • Resources • Collection of Google Nexus S phones • Server resources as needed • Implementation • Android user/kernel level code + server=side code

  5. Deliverables • Periodic updates (1 per 4 weeks) • Code + Demo • Writeup • Design alternatives and decisions • Documentation • Key measurements of operating behavior (e.g. power consumption, performance, overheads)

  6. Today’s Lecture • Project Scope • Possible Topics

  7. Innovation/Challenges • You must have some innovation/challenge in one or more of the core topics of the class • OS abstractions • Energy management • Sensor use • Privacy • Network scheduling/efficiency • Etc. • Most projects will have more than one area

  8. Synchronize multiple phones to play surround sound sources. With the recent increase in quality of speakers on mobile devices it has become common place for users to watch high-quality movies on their mobile devices. Impromptu group movie showings seem reasonable (especially with the advent of "pocket"-style projectors), but the surround sound effects of this season's triple-A blockbusters are lost on simple stereo phones. Design and implement a system that takes a surround sound source and synchronizes the audio across multiple phones for a richer movie watching experience. This could be further extended to go beyond the current surround systems (7.1) to an ever wider sound field (20.1?).

  9. Synchronize multiple phones to play surround sound sources. • Time sync • Use wifi or is NTP fine • Real-time playback • How accurate is the playback timing on the phone • Localization • Where is each phone/what role do they play? • Is there a master coordinator  if so, are the power burdens equally shared?

  10. Soundtrack to your life Often times people listen to music as they work around their house. However often they leave the range of their speaker system. Many users carry around mobile devices with them as they move around. Design and implement a system that detects when a user is no longer in range of their speaker system and seamlessly transitions to playing the song (synchronized) on their mobile device, while muting their speaker system. When the user returns to being in range of their speaker system the audio should switch back. This system could be extended to work across multiple speaker systems (TV, laptop, stereo, etc) across different rooms.

  11. Soundtrack to your life • Similar challenges to the previous • Added issues related to transition • What do you do during the transition? • How far in advance can you predict this?

  12. Building a faster/more efficient mobile Web Google has a made a big deal about their new SPDY protocol for making the Web faster. One issue with mobile/cellular systems is that cross-layer integration is often needed to get good performance. The goal of this project would be to create a modified SPDY/TCP/Cellular stack that is optimized for performance/energy savings.

  13. Building a faster/more efficient mobile Web • Where is the time/energy going right now? • Need to track the different energy states used in cellular • Does this work very differently on WiFi? • Can the browser give hints to the server/protocol stack/SPDY on how to prioritize transfers? What is the right API for this • How does network latency affect the design

  14. Bringing Content Oriented Networking to Mobile Phones A Content-Oriented Network. There are several proposals for content-oriented network designs (e.g. XIA, Redundancy Elimination). Can we use this on phones to do a better job at reducing data transfers?

  15. Bringing Content Oriented Networking to Mobile Phones • How do you get servers to support this? • What about things like mod_pagespeed in apache • Can you just do this over the last hop • What are the savings in typical web browsing behavior • How about with multimedia

  16. NFC Security. The cool thing about NFC tags is that, unlike RFID tags, you can write to them. With NFC support on recent phones, it is time to think of some cool applications for NFC. While there are some handy personal applications (see tagstand.com), it is hard to use these tags in public settings because of complete lack of security. What minimal layer of security (perhaps with some assumptions about occasional help from friendly phones) can you build to help along NFC apps?

  17. NFC Security. • Need to create a reasonable attack model and design the guarantees the system must provide • Need to consider a wide range of these and the tradeoffs in implementation complexity • Could prototype using a phone as a “smarter” NFC tag  what are the minimal operations it must perform • How much can we achieve with just current dumb tags

  18. Implementing variable pricing for ad-subsidized connectivity. Ads can be used to subsidize connectivity costs, i.e., ads pay for some amount of bandwidth. In this project, you would explore various ways that applications can achieve this goal. First, you would need to identify some way to implement protocols for price advertisement, enforcement, user feedback, etc. • A Content-Oriented Network. There are several proposals for content-oriented network designs (e.g. XIA, Redundancy Elimination). Can we use this on phones to do a better job at reducing data transfers? • Better Socket API Can we add delay tolerance into the socket API. For example, how urgent is a particular data transfer? This could be combined with connectivity prediction systems like Breadcrumbs to create a more efficient schedule for transfers with a reasonable user experience. • Portable Web Browsing Use IBRs to make web pages that work on portable devices. Figure out a way to make it easy to leverage both transoding proxies and source coding to build low overhead verification. • Object Search Can you build a tool that helps you find an RF transmitter (e.g. find the base station). The idea would be to use some combination of movement base localization and RF gradiants to direct a user. • Distributed Search Can you quickly build and upload fingerprints of multimedia data that is on a phone to enable rough search of the contents on a device or at least the filtering of remote queries? • Home Content Management • Classroom Education Tools

  19. Coming up with your own project • A couple of suggestions for coming up with your own project. Find a problem or area in mobile computing that you like---ideally, one that really excites you, or that seems immediately relevant and important. Then, address the following questions: • Has a solution been posed to this problem in the past and, if so, what do you think of it? • If a solution has been proposed, has it been implemented • Is the solution scalable? Secure? Robust to failures, both expected and unexpected? Will it work in heterogeneous environments, and does it contain embedded, unrealistic assumptions about the environments in which it will run? Will it stand up to coming advances in technology?

More Related