Commit d1cf30fb1fbb8bbf12149924e9b393b60d5a819c
0 parents
New.
Showing
16 changed files
with
760 additions
and
0 deletions
.gitignore
0 → 100644
Makefile
0 → 100644
| 1 | +++ a/Makefile | |
| 1 | +START = xxxnote nodraft noblue | |
| 2 | +END = missing | |
| 3 | +CLASS = $(PYTEX)/cls/sig-alternate.cls | |
| 4 | + | |
| 5 | +all: paper ABSTRACT | |
| 6 | + | |
| 7 | +figures: | |
| 8 | + @cd figures ; make | |
| 9 | + | |
| 10 | +ABSTRACT: $(PYTEX)/bin/clean $(PYTEX)/bin/lib.py abstract.tex | |
| 11 | + @$(PYTEX)/bin/clean abstract.tex ABSTRACT | |
| 12 | + | |
| 13 | +# 16 Nov 2010 : GWA : Add other cleaning rules here. | |
| 14 | + | |
| 15 | +clean: rulesclean | |
| 16 | + @rm -f ABSTRACT | |
| 17 | + | |
| 18 | +include $(PYTEX)/make/Makerules | ... | ... |
abstract.tex
0 → 100644
| 1 | +++ a/abstract.tex | |
| 1 | +\begin{abstract} | |
| 2 | + | |
| 3 | +One of the reasons programming mobile systems is so hard is that modern | |
| 4 | +languages leave no way for programmers to express structured uncertainty. In | |
| 5 | +many cases, only post-deployment testing and user adaptation can determine | |
| 6 | +the right algorithm to use or the rate at which a timer should fire, and so | |
| 7 | +developers should not be forced to initially make these choices. As | |
| 8 | +paradoxical as it sounds, we believe less certain programmers will produce | |
| 9 | +better mobile apps. | |
| 10 | + | |
| 11 | +Instead, we introduce a new approach: structured uncertainty through a new | |
| 12 | +language construct, the \texttt{maybe} statement. \texttt{maybe} statements | |
| 13 | +allow programmers to defer choices about application behavior that cannot | |
| 14 | +made at development time, while providing enough structure to allow a | |
| 15 | +complete system to adaptive choose alternatives in the future. Eliminating | |
| 16 | +the uncertainty introduced by \texttt{maybe} statements can be done utilizing | |
| 17 | +simulation, split testing, or machine learning techniques, depending on the | |
| 18 | +type of adaptation appropriate in each situation. Our paper motivates the | |
| 19 | +\texttt{maybe} statement, presents its syntax, describes a complete system | |
| 20 | +for choosing from the alternatives \texttt{maybe} provides, and discusses a | |
| 21 | +prototype implementation. | |
| 22 | + | |
| 23 | +\end{abstract} | ... | ... |
certainty.tex
0 → 100644
common.tex
0 → 100644
conclusion.tex
0 → 100644
figures/.gitignore
0 → 100644
figures/logos/blue.jpg
0 → 100644
7 KB
implementation.tex
0 → 100644
include/start.tex
0 → 100644
| 1 | +++ a/include/start.tex | |
| 1 | +\documentclass[letterpaper,twocolumn]{sig-alternate} | |
| 2 | +\usepackage{url,graphicx,multirow,hyperref,color,calc,ulem,threeparttable,tabularx,booktabs,enumitem,comment,subcaption} | |
| 3 | +\usepackage{minted} | |
| 4 | +\usepackage[group-separator={,}]{siunitx} | |
| 5 | + | |
| 6 | +\hypersetup{ | |
| 7 | + bookmarks=true, | |
| 8 | + unicode=true, | |
| 9 | + pdftoolbar=true, | |
| 10 | + pdfmenubar=true, | |
| 11 | + pdffitwindow=true, | |
| 12 | + pdfstartview={FitV}, | |
| 13 | + pdftitle={}, | |
| 14 | + pdfauthor={}, | |
| 15 | + pdfnewwindow=true, | |
| 16 | + colorlinks=false, | |
| 17 | + pdfdisplaydoctitle=true, | |
| 18 | + pdfborder={0 0 0}, | |
| 19 | +} | |
| 20 | + | |
| 21 | +\usepackage[absolute]{textpos} | |
| 22 | + | |
| 23 | +\setlength{\TPHorizModule}{1in} | |
| 24 | +\setlength{\TPVertModule}{1in} | |
| 25 | +\textblockorigin{0.75in}{0.5in} | |
| 26 | + | |
| 27 | +\usepackage[all]{hypcap} | |
| 28 | + | |
| 29 | +\input{.xxxnote} | |
| 30 | +\input{.draft} | |
| 31 | +\input{.blue} | |
| 32 | +\input{common.tex} | ... | ... |
introduction.tex
0 → 100644
| 1 | +++ a/introduction.tex | |
| 1 | +\section{Introduction} | |
| 2 | + | |
| 3 | +All programmers must deal with uncertainty. The most appropriate algorithm to | |
| 4 | +accomplish a given task may depend on inputs that are unknown when the | |
| 5 | +function is written, and its performance may depend on features of the | |
| 6 | +specific device it is run on that are impossible for the developer to | |
| 7 | +anticipate. In other cases, real-world testing may be required to choose | |
| 8 | +between several approaches, which has led to the popularity of so-called AB | |
| 9 | +or split testing as part of the software development cycle. | |
| 10 | + | |
| 11 | +Mobile app programmers, however, are forced to deal with even more | |
| 12 | +uncertainty caused by mobility itself. Specific device features, such as | |
| 13 | +accurate location from GPS, may or may not be available. Networks come and go | |
| 14 | +and their properties may change, from fast and free Wifi links to slower or | |
| 15 | +metered mobile data connections. Energy may be plentiful or nearly exhausted, | |
| 16 | +depending on the device's battery capacity and the user's energy consumption | |
| 17 | +and charging patterns. These constantly fluctuating exogeneous conditions | |
| 18 | +make writing effective mobile apps particularly challenging. | |
| 19 | + | |
| 20 | +The most typical approach to addressing this problem is to force the | |
| 21 | +programmer to implement the required adaptation themselves. | |
| 22 | +Figure~\ref{fig-example-if} shows an example of an Android app attempting to | |
| 23 | +adapt to the device's battery level by establishing regular- and low-battery | |
| 24 | +code paths, with the latter attempting to save energy---by utilizing a slower | |
| 25 | +but more energy-efficient algorithm, computing an approximation instead of an | |
| 26 | +exact result, or deferring the computation. | |
| 27 | + | |
| 28 | +Unfortunately, this approach has several weaknesses. First and foremost, it | |
| 29 | +is unclear that the differentiation achieves the desired result. In the code | |
| 30 | +shown in Figure~\ref{fig-example-if}, there may be no differences between the | |
| 31 | +alternatives---neither conserves energy. Or the alternative designed to | |
| 32 | +conserve energy may actually consume more, due to bugs or incorrect | |
| 33 | +programmer assumptions. Or the result may depend on some other factor not | |
| 34 | +considered by the programmer, such as the type of network the device is | |
| 35 | +connected to. | |
| 36 | + | |
| 37 | +Second, adaptive programming frequently requires arbitrary decision | |
| 38 | +thresholds chosen before deployment. Even if the two code paths shown in | |
| 39 | +Figure~\ref{fig-example-if} achieves the desired result, it is | |
| 40 | +unclear what the threshold for choosing a path should be, or whether a single | |
| 41 | +threshold will work across all users, or whether the threshould should itself | |
| 42 | +depend on other factors such as how frequently the app is used. | |
| 43 | + | |
| 44 | +\begin{figure}[t] | |
| 45 | + | |
| 46 | +\begin{subfigure}[t]{0.5\textwidth} | |
| 47 | +% 14 Sep 2014 : GWA : Don't need to show all of the gory details... | |
| 48 | +% | |
| 49 | +% IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); | |
| 50 | +% Intent batteryStatus = context.registerReceiver(null, filter); | |
| 51 | +% int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); | |
| 52 | +% boolean plugged = (batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) != 0) ? true: false; | |
| 53 | +\begin{minted}[fontsize=\footnotesize]{java} | |
| 54 | +if (plugged == false and batteryLevel < 10) { | |
| 55 | + // Option A: Conserve energy | |
| 56 | +} else { | |
| 57 | + // Option B: Don't conserve energy | |
| 58 | +} | |
| 59 | +\end{minted} | |
| 60 | +\vspace*{-0.2in} | |
| 61 | +\caption{} | |
| 62 | +\label{fig-example-if} | |
| 63 | +\end{subfigure}\\ | |
| 64 | +\begin{subfigure}[t]{0.5\textwidth} | |
| 65 | +\begin{minted}[fontsize=\footnotesize]{java} | |
| 66 | +maybe { | |
| 67 | + // Option A: Conserve energy | |
| 68 | +} maybe { | |
| 69 | + // Option B: Don't conserve energy | |
| 70 | +} | |
| 71 | +\end{minted} | |
| 72 | +\vspace*{-0.2in} | |
| 73 | +\caption{} | |
| 74 | +\label{fig-example-maybe} | |
| 75 | +\end{subfigure} | |
| 76 | + | |
| 77 | +\vspace*{-0.1in} | |
| 78 | +\caption{\textbf{Typical adapation to available energy in Android Java | |
| 79 | + pseudocode.} Figure~\ref{fig-example-if} shows error-prone | |
| 80 | + programmer-driven adaptation using typical imperative language constructs. | |
| 81 | + Figure~\ref{fig-example-maybe} shows uncertainty-driven adaptation using | |
| 82 | + the novel \texttt{maybe} statement.} | |
| 83 | + | |
| 84 | +\label{fig-certaintyexample} | |
| 85 | + | |
| 86 | +\vspace*{-0.1in} | |
| 87 | +\end{figure} | |
| 88 | + | |
| 89 | +Finally, the current approach to adaptation fails to support post-deployment | |
| 90 | +testing. While it is possible to enable flexibilty, runtime adaptation, and | |
| 91 | +split testing using the languages typically used to program mobile systems, | |
| 92 | +these common tasks require writing large amounts of error-prone boilerplate | |
| 93 | +code, including APIs to adjust values at runtime and code to retrieve | |
| 94 | +settings from remote servers. | |
| 95 | + | |
| 96 | +The root of the problem is that today's languages force programmers to be | |
| 97 | +certain even when they are not, a weakness that becomes extremely serious | |
| 98 | +when combined with the uncertainties inherent to mobile systems programming. | |
| 99 | +Our solution is simple: provide developers with a structured method for | |
| 100 | +expressing uncertainty and allow other tools---including automated local | |
| 101 | +testing, split testing, and machine learning---to later determine what option | |
| 102 | +to choose. | |
| 103 | + | |
| 104 | +To do so, we introduce a new language construct: the \texttt{maybe} | |
| 105 | +statement. \texttt{maybe} statements allow programmers to express structured | |
| 106 | +uncertainty about how a computation should be performed and the values that | |
| 107 | +should be used to set variables. Figure~\ref{fig-example-maybe} shows a | |
| 108 | +simple case of a \texttt{maybe} case statement applied to our earlier | |
| 109 | +example. Instead of being forced to choose, or being forced to implement the | |
| 110 | +decision process, the programmer is free to offer two or more alternatives | |
| 111 | +that are different but both correct, although one may be preferable. At | |
| 112 | +runtime only one will be used during any given execution. | |
| 113 | + | |
| 114 | +How that choice is made is discussed in the remainder of our paper. We begin | |
| 115 | +by providing a more complete description of the \texttt{maybe} statement in | |
| 116 | +Section~\ref{sec-maybe}. Section~\ref{sec-certainty} describes the next step | |
| 117 | +of the process during which a variety of different approaches are used to | |
| 118 | +collapse programmer uncertainty into the require runtime certainty. We | |
| 119 | +continue by briefly describing a prototype implementation in | |
| 120 | +Section~\ref{sec-implementation} and describing related work in | |
| 121 | +Section~\ref{sec-related}. Section~\ref{sec-conclusion} concludes our paper. | ... | ... |
maybe.tex
0 → 100644
| 1 | +++ a/maybe.tex | |
| 1 | +\section{The \texttt{maybe} Statement} | |
| 2 | +\label{sec-maybe} | |
| 3 | + | |
| 4 | +\begin{figure} | |
| 5 | +\begin{minted}[fontsize=\footnotesize]{java} | |
| 6 | +// Setting variables | |
| 7 | +int i = 1 maybe 1-16; | |
| 8 | +string s = "you" maybe "me", "them"; | |
| 9 | + | |
| 10 | +// Controlling code flow | |
| 11 | +@maybe | |
| 12 | +int myFunction(int a, int b) { | |
| 13 | + // do something | |
| 14 | +} | |
| 15 | + | |
| 16 | +@maybe | |
| 17 | +int myFunction(int a, int b) { | |
| 18 | + // do something else | |
| 19 | +} | |
| 20 | + | |
| 21 | +maybe { | |
| 22 | + // do something | |
| 23 | +} maybe { | |
| 24 | + // do something else | |
| 25 | +} | |
| 26 | + | |
| 27 | +// Including hints | |
| 28 | + | |
| 29 | +maybe (charging == false and batteryLevel < 10) { | |
| 30 | + // do something | |
| 31 | +} maybe { | |
| 32 | + // do something else | |
| 33 | +} | |
| 34 | + | |
| 35 | +// Including evaluation code | |
| 36 | +maybe { | |
| 37 | + // do something | |
| 38 | +} maybe { | |
| 39 | + // do something else | |
| 40 | +} better { | |
| 41 | + // evaluate the choice | |
| 42 | +} | |
| 43 | +\end{minted} | |
| 44 | + | |
| 45 | +\caption{\textbf{Example uses of the \texttt{maybe} statement.} For | |
| 46 | +convenience and readability \texttt{maybe} statements allows uncertainty | |
| 47 | +about code flow to be expressed at the function and block level, and | |
| 48 | +uncertainty about variable values to be expressed whenever they initialized | |
| 49 | +or set.} | |
| 50 | + | |
| 51 | +\label{fig-maybeexamples} | |
| 52 | + | |
| 53 | +\end{figure} | ... | ... |
paper.tex
0 → 100644
| 1 | +++ a/paper.tex | |
| 1 | +\input{./include/start.tex} | |
| 2 | + | |
| 3 | +\def\theconference{HotMobile'15} | |
| 4 | +\def\thetitle{\texttt{maybe} We Should Enable More Flexible Mobile App | |
| 5 | +Programming} | |
| 6 | +\def\theauthors{Geoffrey Challen and Lukasz Ziarek} | |
| 7 | +\def\theemails{\{challen,ziarek\}@buffalo.edu} | |
| 8 | + | |
| 9 | +\ifdefined\isdraft | |
| 10 | + \usepackage{draftwatermark} | |
| 11 | + \SetWatermarkText{Under Submission} | |
| 12 | + \SetWatermarkScale{0.6} | |
| 13 | + \usepackage{fancyhdr} | |
| 14 | + \pagestyle{fancy} | |
| 15 | + \renewcommand{\headrulewidth}{0pt} | |
| 16 | + \lhead{} | |
| 17 | + \chead{Under Submission to \theconference. Do not distribute.} | |
| 18 | + \rhead{} | |
| 19 | +\else | |
| 20 | +\fi | |
| 21 | + | |
| 22 | +\begin{document} | |
| 23 | + | |
| 24 | +\ifdefined\isblue | |
| 25 | +\begin{textblock}{1}(6.4,0) | |
| 26 | +\noindent\href{http://blue.cse.buffalo.edu}{\includegraphics[width=0.6in]{./figures/logos/blue.jpg}} | |
| 27 | +\end{textblock} | |
| 28 | +\fi | |
| 29 | + | |
| 30 | +\date{} | |
| 31 | + | |
| 32 | +\title{\thetitle} | |
| 33 | + | |
| 34 | +\numberofauthors{1} | |
| 35 | + | |
| 36 | +\author{ | |
| 37 | +\alignauthor\theauthors\\ | |
| 38 | +\affaddr{Department of Computer Science and Engineering}\\ | |
| 39 | +\affaddr{University at Buffalo}\\ | |
| 40 | +\email{\theemails} | |
| 41 | +} | |
| 42 | + | |
| 43 | +\CopyrightYear{2015} | |
| 44 | +\crdata{} | |
| 45 | + | |
| 46 | +\hypersetup{ | |
| 47 | + pdfinfo={ | |
| 48 | + Title={\thetitle}, | |
| 49 | + Author={\theauthors} | |
| 50 | + }, | |
| 51 | +} | |
| 52 | + | |
| 53 | +\maketitle | |
| 54 | + | |
| 55 | +\input{abstract.tex} | |
| 56 | +\input{introduction.tex} | |
| 57 | + | |
| 58 | +\input{maybe.tex} | |
| 59 | +\input{certainty.tex} | |
| 60 | +\input{implementation.tex} | |
| 61 | + | |
| 62 | +\input{related.tex} | |
| 63 | +\input{conclusion.tex} | |
| 64 | + | |
| 65 | +{\footnotesize | |
| 66 | +\renewcommand{\baselinestretch}{0.9} | |
| 67 | +\bibliographystyle{acm} | |
| 68 | +\bibliography{references} | |
| 69 | +} | |
| 70 | + | |
| 71 | +\end{document} | ... | ... |
references.bib
0 → 100644
| 1 | +++ a/references.bib | |
| 1 | +@string{proc = "Proc. "} | |
| 2 | +@string{sosp = "SOSP"} | |
| 3 | +@string{osdi = "OSDI"} | |
| 4 | + | |
| 5 | +@misc{presence-peoplepower, | |
| 6 | + title = {{ People Power Products}}, | |
| 7 | + howpublished = {\url{http://peoplepowerco.com/products/}} | |
| 8 | +} | |
| 9 | + | |
| 10 | +@inproceedings{gdi, | |
| 11 | + Author = {Robert Szewczyk and Alan Mainwaring and Joseph Polastre and David Culler}, | |
| 12 | + Booktitle = proc # {Second ACM Conference on Embedded Networked Sensor Systems (SenSys)}, | |
| 13 | + Date-Added = {2008-04-13 11:35:45 -0400}, | |
| 14 | + Date-Modified = {2008-04-13 11:35:45 -0400}, | |
| 15 | + Month = {November}, | |
| 16 | + Title = {An Analysis of a Large Scale Habitat Monitoring Application}, | |
| 17 | + Year = 2004} | |
| 18 | + | |
| 19 | +@inproceedings{ggb-monitoring, | |
| 20 | + Address = {Stanford, CA}, | |
| 21 | + Author = {Shamim N. Pakzad and Sukun Kim and Gregory L Fenves and Steven D. Glaser and David E. Culler and James W. Demmel}, | |
| 22 | + Booktitle = proc # {5th International Workshop on Structural Health Monitoring (IWSHM 2005)}, | |
| 23 | + Date-Added = {2008-04-13 11:47:28 -0400}, | |
| 24 | + Date-Modified = {2008-04-13 11:47:28 -0400}, | |
| 25 | + Month = {September}, | |
| 26 | + Title = {Multi-Purpose Wireless Accelerometers for Civil Infrastructure Monitoring}, | |
| 27 | + Year = 2005} | |
| 28 | + | |
| 29 | +@inproceedings{koala-ipsn08, | |
| 30 | + author = {Musaloiu-E., Razvan and Liang, Chieh-Jan Mike and Terzis, Andreas}, | |
| 31 | + title = {Koala: Ultra-Low Power Data Retrieval in Wireless Sensor Networks}, | |
| 32 | + booktitle = {Proceedings of the 7th international conference on Information processing in sensor networks}, | |
| 33 | + series = {IPSN '08}, | |
| 34 | + year = {2008}, | |
| 35 | + isbn = {978-0-7695-3157-1}, | |
| 36 | + pages = {421--432}, | |
| 37 | + numpages = {12}, | |
| 38 | + url = {http://dx.doi.org/10.1109/IPSN.2008.10}, | |
| 39 | + doi = {10.1109/IPSN.2008.10}, | |
| 40 | + acmid = {1372752}, | |
| 41 | + publisher = {IEEE Computer Society}, | |
| 42 | + address = {Washington, DC, USA}, | |
| 43 | + keywords = {Data gathering, duty-cycling, routing, low-power, network wake-up}, | |
| 44 | +} | |
| 45 | + | |
| 46 | +@inproceedings{lance-sensys08, | |
| 47 | + Address = {Raleigh, NC, USA}, | |
| 48 | + Author = {Geoffrey Werner-Allen and Stephen Dawson-Haggerty and Matt Welsh}, | |
| 49 | + Booktitle = proc # {6th ACM Conference on Embedded Networked Sensor Systems | |
| 50 | + (SenSys'08)}, | |
| 51 | + Month = {November}, | |
| 52 | + Title = {Lance: Optimizing High-Resolution Signal Collection in Wireless | |
| 53 | + Sensor Networks}, | |
| 54 | + Year = 2008} | |
| 55 | + | |
| 56 | + | |
| 57 | +@misc{phonebloks-url, | |
| 58 | + title = {{ PhoneBloks }}, | |
| 59 | + howpublished = {\url{http://www.phonebloks.com/}} | |
| 60 | +} | |
| 61 | +@misc{etbc-dumping, | |
| 62 | + title = {{ Responsible Recycling vs Global Dumping }}, | |
| 63 | + author = {Electronics TakeBack Coalition}, | |
| 64 | + howpublished = | |
| 65 | + {\url{http://www.electronicstakeback.com/global-e-waste-dumping/}} | |
| 66 | +} | |
| 67 | + | |
| 68 | +@inproceedings{leaves-ipsn12, | |
| 69 | + author = {Yerva, Lohit and Campbell, Brad and Bansal, Apoorva and Schmid, Thomas and Dutta, Prabal}, | |
| 70 | + title = {Grafting energy-harvesting leaves onto the sensornet tree}, | |
| 71 | + booktitle = {Proceedings of the 11th international conference on Information Processing in Sensor Networks}, | |
| 72 | + series = {IPSN '12}, | |
| 73 | + year = {2012}, | |
| 74 | + isbn = {978-1-4503-1227-1}, | |
| 75 | + location = {Beijing, China}, | |
| 76 | + pages = {197--208}, | |
| 77 | + numpages = {12}, | |
| 78 | + url = {http://doi.acm.org/10.1145/2185677.2185733}, | |
| 79 | + doi = {10.1145/2185677.2185733}, | |
| 80 | + acmid = {2185733}, | |
| 81 | + publisher = {ACM}, | |
| 82 | + address = {New York, NY, USA}, | |
| 83 | + keywords = {energy-harvesting sensor node, low power wireless networking}, | |
| 84 | +} | |
| 85 | + | |
| 86 | + | |
| 87 | +@INPROCEEDINGS{hitchhikers-sensys08, | |
| 88 | + author = {Guillermo Barrenetxea and François Ingelrest and Gunnar Schaefer and Martin Vetterli}, | |
| 89 | + title = {The Hitchhiker's Guide to Successful Wireless Sensor Network Deployments}, | |
| 90 | + booktitle = {in Proceedings of ACM SenSys}, | |
| 91 | + year = {2008} | |
| 92 | +} | |
| 93 | + | |
| 94 | +@inproceedings{hijack-dev10, | |
| 95 | + author = {Kuo, Ye-Sheng and Verma, Sonal and Schmid, Thomas and Dutta, Prabal}, | |
| 96 | + title = {Hijacking power and bandwidth from the mobile phone's audio interface}, | |
| 97 | + booktitle = {Proceedings of the First ACM Symposium on Computing for Development}, | |
| 98 | + series = {ACM DEV '10}, | |
| 99 | + year = {2010}, | |
| 100 | + isbn = {978-1-4503-0473-3}, | |
| 101 | + location = {London, United Kingdom}, | |
| 102 | + pages = {24:1--24:10}, | |
| 103 | + articleno = {24}, | |
| 104 | + numpages = {10}, | |
| 105 | + url = {http://doi.acm.org/10.1145/1926180.1926210}, | |
| 106 | + doi = {10.1145/1926180.1926210}, | |
| 107 | + acmid = {1926210}, | |
| 108 | + publisher = {ACM}, | |
| 109 | + address = {New York, NY, USA}, | |
| 110 | + keywords = {audio communications, energy harvesting, mobile phones, participatory sensing, phone peripherals}, | |
| 111 | +} | |
| 112 | + | |
| 113 | +@misc{cnn-goldinphone, | |
| 114 | + title = {{Your dead iPhone is a gold mine---literally}}, | |
| 115 | + author = {David Goldman}, | |
| 116 | + howpublished = | |
| 117 | + {\url{http://money.cnn.com/2011/10/13/technology/iphone_trade_in/}} | |
| 118 | +} | |
| 119 | + | |
| 120 | +@misc{sprint-m2m, | |
| 121 | + title = {{Sprint M2M Solutions}}, | |
| 122 | + author = {Sprint}, | |
| 123 | + howpublished = {\url{http://m2m.sprint.com/}} | |
| 124 | +} | |
| 125 | + | |
| 126 | +@misc{sprintgreen-url, | |
| 127 | + title = {{Newsweek's 2012 Green Rankings}}, | |
| 128 | + author = {\url{greenbiz.com}}, | |
| 129 | + howpublished = | |
| 130 | + {\url{http://www.greenbiz.com/blog/2012/10/20/newsweeks-2012-green-rankings-time-its-serious}}} | |
| 131 | + | |
| 132 | +@misc{sprintrecycle-url, | |
| 133 | + title = {{Sprint Re:cycle}}, | |
| 134 | + author = {\url{sprint.com}}, | |
| 135 | + howpublished = | |
| 136 | + {\url{http://www.sprint.com/responsibility/communities_across/index.html}}} | |
| 137 | + | |
| 138 | +@misc{sprintpolicy-url, | |
| 139 | + title = {{Sprint Electronics Stewardship Policy}}, | |
| 140 | + author = {{Sprint}}, | |
| 141 | + howpublished = | |
| 142 | + {\url{http://www.sprint.com/responsibility/ouroperations/docs/ElectronicsStewardshipPolicy.pdf}}} | |
| 143 | + | |
| 144 | +@misc{rpipower-url, | |
| 145 | + title = {{RasPi power usage measurements}}, | |
| 146 | + author = {\url{www.raspberrypi.org}}, | |
| 147 | + howpublished = {\url{http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63\&t=6050\&start=50}}} | |
| 148 | + | |
| 149 | +@misc{wirelessenergyconsumption-url, | |
| 150 | + title = {{ Comparing Low-Power Wireless Technologies }}, | |
| 151 | + author = {{ Digikey }}, | |
| 152 | + howpublished = | |
| 153 | + {\url{http://www.digikey.com/us/en/techzone/wireless/resources/articles/comparing-low-power-wireless.html}}} | |
| 154 | + | |
| 155 | +@inproceedings{volcano-osdi06, | |
| 156 | + Address = {Seattle, WA}, | |
| 157 | + Author = {Geoff Werner-Allen and Konrad Lorincz and Jeff Johnson and Jonathan Lees and Matt Welsh}, | |
| 158 | + Booktitle = proc # {7th USENIX Symposium on Operating Systems Design and | |
| 159 | + Implementation (OSDI 2006)}, | |
| 160 | + Month = {November}, | |
| 161 | + Title = {Fidelity and Yield in a Volcano Monitoring Sensor Network}, | |
| 162 | + Year = 2006} | |
| 163 | + | |
| 164 | +@INPROCEEDINGS{icem-sosp07, | |
| 165 | + author = {Kevin Klues and Vlado Handziski and Chenyang Lu and Adam Wolisz and David Culler and David Gay and Philip Levis}, | |
| 166 | + title = {Integrating concurrency control and energy management in device drivers}, | |
| 167 | + BOOKTITLE = proc # "the 12st Annual " #sosp, | |
| 168 | + year = {2007}, | |
| 169 | + pages = {251--264}, | |
| 170 | + publisher = {ACM} | |
| 171 | +} | |
| 172 | + | |
| 173 | +@misc{computerreplacement-url, | |
| 174 | + title = {{ Most computers replaced after 4.5 years }}, | |
| 175 | + author = {{ bit-tech }}, | |
| 176 | + howpublished = | |
| 177 | + {\url{http://www.bit-tech.net/news/hardware/2011/05/12/most-computers-replaced-after-4-5-years/1}} | |
| 178 | +} | |
| 179 | + | |
| 180 | +@misc{smartphonereplacement-url, | |
| 181 | + title = {{ Trends in Smartphone Turnover }}, | |
| 182 | + author = {{ Digital Technology: The Tech Portal }}, | |
| 183 | + howpublished = | |
| 184 | + {\url{http://www.technology-digital.com/gadgets/-by-tim-kridel}} | |
| 185 | +} | |
| 186 | + | |
| 187 | +@INPROCEEDINGS{fawn, | |
| 188 | + author = {David G. Andersen and Jason Franklin and Michael Kaminsky and Amar Phanishayee and Lawrence Tan | |
| 189 | +and Vijay Vasudevan}, | |
| 190 | + title = {FAWN: A Fast Array of Wimpy Nodes}, | |
| 191 | + BOOKTITLE = proc # "the 22nd Annual " #sosp, | |
| 192 | + year = {2009}, | |
| 193 | +pages = {1-14}, | |
| 194 | + publisher = {ACM} | |
| 195 | +} | |
| 196 | + | |
| 197 | +@inproceedings{li-smartphonereuse, | |
| 198 | + author = {Li, Xun and Ortiz, Pablo J. and Browne, Jeffrey and Franklin, Diana and Oliver, John Y. and Geyer, Roland and Zhou, Yuanyuan and Chong, Frederic T.}, | |
| 199 | + title = {Smartphone Evolution and Reuse: Establishing a More Sustainable Model}, | |
| 200 | + booktitle = {Proceedings of the 2010 39th International Conference on Parallel Processing Workshops}, | |
| 201 | + series = {ICPPW '10}, | |
| 202 | + year = {2010}, | |
| 203 | + isbn = {978-0-7695-4157-0}, | |
| 204 | + pages = {476--484}, | |
| 205 | + numpages = {9}, | |
| 206 | + url = {http://dx.doi.org/10.1109/ICPPW.2010.70}, | |
| 207 | + doi = {10.1109/ICPPW.2010.70}, | |
| 208 | + acmid = {1905162}, | |
| 209 | + publisher = {IEEE Computer Society}, | |
| 210 | + address = {Washington, DC, USA}, | |
| 211 | + keywords = {Sustainable Computing, Education, Smartphone Evolution}, | |
| 212 | +} | |
| 213 | + | |
| 214 | +@misc{epa-ewasteweb, | |
| 215 | + TITLE = {{Statistics on the Management of Used and End-of-Life | |
| 216 | + Electronics}}, | |
| 217 | + AUTHOR = {{United States Environmental Protection Agency}}, | |
| 218 | + HOWPUBLISHED = | |
| 219 | + {\url{http://www.epa.gov/osw/conserve/materials/ecycling/manage.htm}} | |
| 220 | +} | |
| 221 | + | |
| 222 | +@misc{emulab-web, | |
| 223 | + AUTHOR = {{Emulab Total Network Testbed}}, | |
| 224 | + TITLE = {{Emulab - Network Emulation Testbed Home}}, | |
| 225 | + HOWPUBLISHED = | |
| 226 | + {\url{http://www.emulab.net/}}} | |
| 227 | +@misc{planetlab-web, | |
| 228 | + AUTHOR = {{PlanetLab Consortium}}, | |
| 229 | + TITLE = {{PlanetLab: An open platform for developing, deploying, and | |
| 230 | + accessing planetary-scale services.}}, | |
| 231 | + HOWPUBLISHED = | |
| 232 | + {\url{http://www.planet-lab.org/}}} | |
| 233 | +@inproceedings{bursty-sensys09, | |
| 234 | + author = {Alizai, Muhammad Hamad and Landsiedel, Olaf and Link, J\'{o} \'{A}gila Bitsch and G\"{o}tz, Stefan and Wehrle, Klaus}, | |
| 235 | + title = {Bursty traffic over bursty links}, | |
| 236 | + booktitle = {SenSys '09: Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems}, | |
| 237 | + year = {2009}, | |
| 238 | + isbn = {978-1-60558-519-2}, | |
| 239 | + pages = {71--84}, | |
| 240 | + location = {Berkeley, California}, | |
| 241 | + doi = {http://doi.acm.org/10.1145/1644038.1644046}, | |
| 242 | + publisher = {ACM}, | |
| 243 | + address = {New York, NY, USA}, | |
| 244 | + } | |
| 245 | + | |
| 246 | +@inproceedings{ctp-sensys09, | |
| 247 | + author = {Gnawali, Omprakash and Fonseca, Rodrigo and Jamieson, Kyle and Moss, David and Levis, Philip}, | |
| 248 | + title = {Collection tree protocol}, | |
| 249 | + booktitle = {SenSys '09: Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems}, | |
| 250 | + year = {2009}, | |
| 251 | + isbn = {978-1-60558-519-2}, | |
| 252 | + pages = {1--14}, | |
| 253 | + location = {Berkeley, California}, | |
| 254 | + doi = {http://doi.acm.org/10.1145/1644038.1644040}, | |
| 255 | + publisher = {ACM}, | |
| 256 | + address = {New York, NY, USA}, | |
| 257 | + } | |
| 258 | + | |
| 259 | +@inproceedings{isolation-sensys09, | |
| 260 | + author = {Il Choi, Jung and Kazandjieva, Maria A. and Jain, Mayank and Levis, Philip}, | |
| 261 | + title = {The case for a network protocol isolation layer}, | |
| 262 | + booktitle = {SenSys '09: Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems}, | |
| 263 | + year = {2009}, | |
| 264 | + isbn = {978-1-60558-519-2}, | |
| 265 | + pages = {267--280}, | |
| 266 | + location = {Berkeley, California}, | |
| 267 | + doi = {http://doi.acm.org/10.1145/1644038.1644065}, | |
| 268 | + publisher = {ACM}, | |
| 269 | + address = {New York, NY, USA}, | |
| 270 | + } | |
| 271 | + | |
| 272 | +@INPROCEEDINGS{stork, | |
| 273 | + AUTHOR = "T.~Kosar and M.~Livny", | |
| 274 | + TITLE = "Stork: Making Data Placement a First Class Citizen in the Grid", | |
| 275 | + BOOKTITLE = " Proceedings of ICDCS'04 ", | |
| 276 | + PAGES = "342-349", | |
| 277 | + MONTH = "March", | |
| 278 | + YEAR = {2004} } | |
| 279 | + | |
| 280 | +@ARTICLE{petashare, | |
| 281 | + AUTHOR = "X. Wang and D. Huang and I. Akturk and M. Balman and G. Allen and T. Kosar", | |
| 282 | + TITLE = "Semantic Enabled Metadata Management in PetaShare", | |
| 283 | + JOURNAL = {Journal of Grid and Utility Computing (IJGUC)}, | |
| 284 | + YEAR = {2009} } | |
| 285 | + | |
| 286 | +@inproceedings{cloudclone-hotos, | |
| 287 | + author = {Chun, Byung-Gon and Maniatis, Petros}, | |
| 288 | + title = {Augmented smartphone applications through clone cloud execution}, | |
| 289 | + booktitle = {HotOS'09: Proceedings of the 12th conference on Hot topics in operating systems}, | |
| 290 | + year = {2009}, | |
| 291 | + pages = {8--8}, | |
| 292 | + location = {Monte Verit\`{a}, Switzerland}, | |
| 293 | + publisher = {USENIX Association}, | |
| 294 | + address = {Berkeley, CA, USA}, | |
| 295 | +} | |
| 296 | + | |
| 297 | +@misc{cloudclone-web, | |
| 298 | + AUTHOR = {{Intel Berkeley CloudClone Project}}, | |
| 299 | + TITLE = {{CloudClone}}, | |
| 300 | + HOWPUBLISHED = | |
| 301 | + {\url{http://berkeley.intel-research.net/bgchun/clonecloud/}} | |
| 302 | +} | |
| 303 | + | |
| 304 | +@inproceedings{motelab-ipsn, | |
| 305 | + Author = {Geoff Werner-Allen and Pat Swieskowski and Matt Welsh}, | |
| 306 | + Booktitle = proc # {the Fourth International Conference on Information Processing in Sensor Networks (IPSN'05)}, | |
| 307 | + Date-Added = {2008-04-13 11:47:28 -0400}, | |
| 308 | + Date-Modified = {2008-04-13 11:47:28 -0400}, | |
| 309 | + Month = {April}, | |
| 310 | + Title = {{MoteLab: A Wireless Sensor Network Testbed}}, | |
| 311 | + Year = 2005} | |
| 312 | + | |
| 313 | +@misc{motelab-web, | |
| 314 | + AUTHOR = {{Harvard MoteLab Testbed}}, | |
| 315 | + TITLE = {{MoteLab}}, | |
| 316 | + HOWPUBLISHED = | |
| 317 | + {\url{http://motelab.eecs.harvard.edu}}} | |
| 318 | +} | |
| 319 | + | |
| 320 | +@misc{opencirrus-web, | |
| 321 | + AUTHOR = {{OpenCirrus (TM) the HP/Intel/Yahoo! Open Cloud Computing | |
| 322 | + Research Testbed}}, | |
| 323 | + TITLE = {{OpenCirrus (TM)}}, | |
| 324 | + HOWPUBLISHED = | |
| 325 | + {\url{http://opencirrus.org}}} | |
| 326 | + | |
| 327 | +@article{opencirrus-ieee, | |
| 328 | + AUTHOR = {Arutyun I. Avetisyan and Roy Campbell and Indranil Gupta and Michael | |
| 329 | + T. Heath and Steven Y. Ko and Gregory R. Ganger and Michael A. Kozuch and | |
| 330 | + David O'Hallaron and Marcel Kunze and Thomas T. Kwan and Kevin Lai and | |
| 331 | + Martha Lyons and Dejan S. Milojicic and Hing Yan Lee and Yeng Chai Soh and | |
| 332 | + Ng Kwang Ming and Jing-Yuan Luke and Han Namgoong}, | |
| 333 | + TITLE = {{Open Cirrus: A Global Cloud Computing Testbed}}, | |
| 334 | + JOURNAL ={IEEE Computer}, | |
| 335 | + VOLUME = {43}, | |
| 336 | + ISSN = {0018-9162}, | |
| 337 | + YEAR = {2010}, | |
| 338 | + PAGES = {35-43}, | |
| 339 | + DOI = {http://doi.ieeecomputersociety.org/10.1109/MC.2010.111}, | |
| 340 | + PUBLISHER = {IEEE Computer Society}, | |
| 341 | + ADDRESS = {Los Alamitos, CA, USA}} | |
| 342 | + | |
| 343 | + | |
| 344 | +@inproceedings{opencirrus-hotcloud, | |
| 345 | + AUTHOR = {Roy Campbell and Indranil Gupta and Michael Heath and Steven Y. Ko | |
| 346 | + and Michael Kozuch and Marcel Kunze and Thomas Kwan and Kevin Lai | |
| 347 | + and Hing Yan Lee and Martha Lyons and Dejan Milojicic and David O'Hallaron | |
| 348 | + and Yeng Chai Soh}, | |
| 349 | + TITLE = {{Open Cirrus Cloud Computing Testbed: Federated Data Centers for | |
| 350 | + Open Source Systems and Services Research}}, | |
| 351 | + BOOKTITLE = {HotCloud'09: Proceedings of the 1st Workshop on Hot Topics in | |
| 352 | + Cloud Computing}, | |
| 353 | + YEAR = {2009}, | |
| 354 | + LOCATION = {Sandiego, CA}}, | |
| 355 | + PUBLISHER = {USENIX Association}, | |
| 356 | + ADDRESS = {Berkeley, CA, USA}} | |
| 357 | + | |
| 358 | +@Article{lites, | |
| 359 | + author = {A. Arora and P. Dutta and S. Bapat and V. Kulathumani and H. Zhang and V. Naik and V. Mittal and H. Cao and M. Demirbas and M. Gouda and Y-R. Choi and T. Herman and S. S. Kulkarni and U. Arumugam and M. Nesterenko and A. Vora and M. Miyashita}, | |
| 360 | + title = {A line in the sand: A wireless sensor network for target detection, classification, and tracking}, | |
| 361 | + journal = {Computer Networks (Elsevier)}, | |
| 362 | + year = {2004}, | |
| 363 | + OPTkey = {}, | |
| 364 | + volume = {46}, | |
| 365 | + number = {5}, | |
| 366 | + pages = {605--634}, | |
| 367 | + OPTmonth = {}, | |
| 368 | + OPTnote = {}, | |
| 369 | + OPTannote = {} | |
| 370 | +} | |
| 371 | + | |
| 372 | +@Article{exscal, | |
| 373 | + OPTauthor = {A. Arora and et. al.}, | |
| 374 | + author = {A. Arora and R. Ramnath and E. Ertin and P. Sinha and S. Bapat and V. Naik and V. Kulathumani and H. Zhang and H. Cao and M. Sridharan and S. Kumar and N. Seddon and C. Anderson and T. Herman and N. Trivedi and C. Zhang and M. Nesterenko and R. Shah and S. Kulkarni and M. Aramugam and L. Wang and M. Gouda and Y. Choi and D. Culler and P. Dutta and C. Sharp and G. Tolle and M. Grimmer and B. Ferriera and K. Parker}, | |
| 375 | + title = {ExScal: Elements of an Extreme Scale Wireless Sensor Network}, | |
| 376 | + journal = {Int. Conf. on Embedded and Real-Time Computing Systems and Applications}, | |
| 377 | + year = {2005}, | |
| 378 | + OPTkey = {}, | |
| 379 | + OPTvolume = {}, | |
| 380 | + OPTnumber = {}, | |
| 381 | + OPTpages = {}, | |
| 382 | + OPTmonth = {}, | |
| 383 | + OPTnote = {}, | |
| 384 | + OPTannote = {} | |
| 385 | +} | |
| 386 | + | |
| 387 | +@inproceedings{tinyos, | |
| 388 | + author = "Jason Hill and Robert Szewczyk and Alec Woo and Seth | |
| 389 | + Hollar and David E. Culler and Kristofer S. J. Pister", | |
| 390 | + title = "System Architecture Directions for Networked Sensors", | |
| 391 | + booktitle = proc # "the 9th International Conference on Architectural | |
| 392 | + Support for Programming Languages and Operating Systems", | |
| 393 | + month = nov, | |
| 394 | + pages = "93-104", year = "2000", address="Boston, MA, USA" } | |
| 395 | + | |
| 396 | +@inproceedings{contiki, | |
| 397 | + Address = {Tampa, FL}, | |
| 398 | + Author = {Adam Dunkels and Bjorn Gronvall and Thiemo Voigt}, | |
| 399 | + Booktitle = proc # {First IEEE Workshop on Embedded Networked Sensors (EmNetS)}, | |
| 400 | + Date-Added = {2008-04-13 11:47:28 -0400}, | |
| 401 | + Date-Modified = {2008-04-13 11:47:28 -0400}, | |
| 402 | + Month = {November}, | |
| 403 | + Title = {{Contiki: A Lightweight and Flexible Operating System for Tiny Networked Sensors}}, | |
| 404 | + Year = 2004} | |
| 405 | + | |
| 406 | +@inproceedings{sorber2005turducken, | |
| 407 | + title={Turducken: hierarchical power management for mobile devices}, | |
| 408 | + author={Sorber, Jacob and Banerjee, Nilanjan and Corner, Mark D and Rollins, Sami}, | |
| 409 | + booktitle={Proceedings of the 3rd international conference on Mobile systems, applications, and services}, | |
| 410 | + pages={261--274}, | |
| 411 | + year={2005}, | |
| 412 | + organization={ACM} | |
| 413 | +} | ... | ... |
related.tex
0 → 100644
submitted/paper.pdf
0 → 100644
No preview for this file type