diff --git a/poster/.gitignore b/poster/.gitignore deleted file mode 100644 index 9b8a4ee..0000000 --- a/poster/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -*.xml -*.snm -*.bbl -*.nav -*.vrb -*.aux -*.bcf -*.fls -*.log -*.out -*.pyg -*.toc -*.blg -out -main.pdf diff --git a/poster/Makefile b/poster/Makefile deleted file mode 100644 index ee9bd13..0000000 --- a/poster/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -OUTDIR=out -MODE=nonstopmode -MAIN=main.tex - -all: - latexmk -shell-escape -xelatex -bibtex -pvc -interaction=$(MODE) -outdir=$(OUTDIR) -auxdir=$(OUTDIR) -f $(MAIN) - -clean: - latexmk -outdir=$(OUTDIR) -C diff --git a/poster/figs/ChannelBWGraph.pdf b/poster/figs/ChannelBWGraph.pdf deleted file mode 100644 index ed8d0a8..0000000 --- a/poster/figs/ChannelBWGraph.pdf +++ /dev/null diff --git a/poster/figs/MonitorPowerConsumption.pdf b/poster/figs/MonitorPowerConsumption.pdf deleted file mode 100644 index 74a347e..0000000 --- a/poster/figs/MonitorPowerConsumption.pdf +++ /dev/null diff --git a/poster/figs/active_session.pdf b/poster/figs/active_session.pdf deleted file mode 100644 index 4f77cec..0000000 --- a/poster/figs/active_session.pdf +++ /dev/null diff --git a/poster/figs/admin.png b/poster/figs/admin.png deleted file mode 100644 index 3777c92..0000000 --- a/poster/figs/admin.png +++ /dev/null diff --git a/poster/figs/always_on.jpg b/poster/figs/always_on.jpg deleted file mode 100644 index 245f1fa..0000000 --- a/poster/figs/always_on.jpg +++ /dev/null diff --git a/poster/figs/anybody.pdf b/poster/figs/anybody.pdf deleted file mode 100644 index 055ef97..0000000 --- a/poster/figs/anybody.pdf +++ /dev/null diff --git a/poster/figs/app_market.png b/poster/figs/app_market.png deleted file mode 100644 index 2f8da7f..0000000 --- a/poster/figs/app_market.png +++ /dev/null diff --git a/poster/figs/before.pdf b/poster/figs/before.pdf deleted file mode 100644 index c5d9aac..0000000 --- a/poster/figs/before.pdf +++ /dev/null diff --git a/poster/figs/blue_logo.jpg b/poster/figs/blue_logo.jpg deleted file mode 100644 index 5b065df..0000000 --- a/poster/figs/blue_logo.jpg +++ /dev/null diff --git a/poster/figs/bw.png b/poster/figs/bw.png deleted file mode 100644 index 6927a35..0000000 --- a/poster/figs/bw.png +++ /dev/null diff --git a/poster/figs/carried.png b/poster/figs/carried.png deleted file mode 100644 index 391a495..0000000 --- a/poster/figs/carried.png +++ /dev/null diff --git a/poster/figs/channel.pdf b/poster/figs/channel.pdf deleted file mode 100644 index ee2932b..0000000 --- a/poster/figs/channel.pdf +++ /dev/null diff --git a/poster/figs/channel_switch.pdf b/poster/figs/channel_switch.pdf deleted file mode 100644 index 1f29563..0000000 --- a/poster/figs/channel_switch.pdf +++ /dev/null diff --git a/poster/figs/channel_z.pdf b/poster/figs/channel_z.pdf deleted file mode 100644 index 19acba3..0000000 --- a/poster/figs/channel_z.pdf +++ /dev/null diff --git a/poster/figs/crazy.jpg b/poster/figs/crazy.jpg deleted file mode 100644 index 6e1ffd3..0000000 --- a/poster/figs/crazy.jpg +++ /dev/null diff --git a/poster/figs/crop.py b/poster/figs/crop.py deleted file mode 100755 index 79cd94c..0000000 --- a/poster/figs/crop.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/python - -import os -import subprocess -import argparse - -parser = argparse.ArgumentParser() - -parser.add_argument('files', nargs='*', default=[os.getcwd(),], help="Files to crop") - -args = parser.parse_args() - -FIG_DIR = os.path.dirname(os.path.realpath(__file__)) - -devnull = open('/dev/null', 'w') - -def crop_dir(dir): - for file in os.listdir(FIG_DIR): - crop_file(file) - -def crop_file(file): - name, extension = os.path.splitext(file) - if 'logo' in name: - print "Ignoring " + file - return - if extension == '.pdf': - print "Croping " + file - subprocess.check_call('pdfcrop %s %s' % (file, file), stdout=devnull, shell=True) - elif extension in ['.jpg', '.png']: - print "Croping " + file - subprocess.check_call('convert -trim %s %s' % (file, file), stdout=devnull, shell=True) - -for file in args.files: - file_path = os.path.abspath(file) - if os.path.isdir(file_path): - crop_dir(file_path) - else: - crop_file(file_path) diff --git a/poster/figs/crowd.jpg b/poster/figs/crowd.jpg deleted file mode 100644 index 8bb8da2..0000000 --- a/poster/figs/crowd.jpg +++ /dev/null diff --git a/poster/figs/figures.odg b/poster/figs/figures.odg deleted file mode 100644 index ef7f1b3..0000000 --- a/poster/figs/figures.odg +++ /dev/null diff --git a/poster/figs/frustrated.jpg b/poster/figs/frustrated.jpg deleted file mode 100644 index 1a22db3..0000000 --- a/poster/figs/frustrated.jpg +++ /dev/null diff --git a/poster/figs/happy.jpg b/poster/figs/happy.jpg deleted file mode 100644 index ceb9cd7..0000000 --- a/poster/figs/happy.jpg +++ /dev/null diff --git a/poster/figs/happy.pdf b/poster/figs/happy.pdf deleted file mode 100644 index f976733..0000000 --- a/poster/figs/happy.pdf +++ /dev/null diff --git a/poster/figs/help_scan.pdf b/poster/figs/help_scan.pdf deleted file mode 100644 index 6fe67fe..0000000 --- a/poster/figs/help_scan.pdf +++ /dev/null diff --git a/poster/figs/i_can.pdf b/poster/figs/i_can.pdf deleted file mode 100644 index 64d7495..0000000 --- a/poster/figs/i_can.pdf +++ /dev/null diff --git a/poster/figs/interference.pdf b/poster/figs/interference.pdf deleted file mode 100644 index a334796..0000000 --- a/poster/figs/interference.pdf +++ /dev/null diff --git a/poster/figs/jamming.pdf b/poster/figs/jamming.pdf deleted file mode 100644 index 0211215..0000000 --- a/poster/figs/jamming.pdf +++ /dev/null diff --git a/poster/figs/link_slow.pdf b/poster/figs/link_slow.pdf deleted file mode 100644 index 76faf67..0000000 --- a/poster/figs/link_slow.pdf +++ /dev/null diff --git a/poster/figs/logo.jpg b/poster/figs/logo.jpg deleted file mode 100644 index 5b065df..0000000 --- a/poster/figs/logo.jpg +++ /dev/null diff --git a/poster/figs/malicious.pdf b/poster/figs/malicious.pdf deleted file mode 100644 index e3521d6..0000000 --- a/poster/figs/malicious.pdf +++ /dev/null diff --git a/poster/figs/measurement.pdf b/poster/figs/measurement.pdf deleted file mode 100644 index 35830d1..0000000 --- a/poster/figs/measurement.pdf +++ /dev/null diff --git a/poster/figs/more.pdf b/poster/figs/more.pdf deleted file mode 100644 index d81cb9c..0000000 --- a/poster/figs/more.pdf +++ /dev/null diff --git a/poster/figs/mostly_idle.jpg b/poster/figs/mostly_idle.jpg deleted file mode 100644 index a0b10d7..0000000 --- a/poster/figs/mostly_idle.jpg +++ /dev/null diff --git a/poster/figs/multiple_sp_managed.png b/poster/figs/multiple_sp_managed.png deleted file mode 100644 index 0fee6b2..0000000 --- a/poster/figs/multiple_sp_managed.png +++ /dev/null diff --git a/poster/figs/multiple_sp_unmanaged.png b/poster/figs/multiple_sp_unmanaged.png deleted file mode 100644 index 667228f..0000000 --- a/poster/figs/multiple_sp_unmanaged.png +++ /dev/null diff --git a/poster/figs/need_help.pdf b/poster/figs/need_help.pdf deleted file mode 100644 index b4c6a27..0000000 --- a/poster/figs/need_help.pdf +++ /dev/null diff --git a/poster/figs/nexus5.png b/poster/figs/nexus5.png deleted file mode 100644 index 95b5498..0000000 --- a/poster/figs/nexus5.png +++ /dev/null diff --git a/poster/figs/nexus5_tcpdump.pdf b/poster/figs/nexus5_tcpdump.pdf deleted file mode 100644 index a7c0a42..0000000 --- a/poster/figs/nexus5_tcpdump.pdf +++ /dev/null diff --git a/poster/figs/no_way.pdf b/poster/figs/no_way.pdf deleted file mode 100644 index 8ee9b6c..0000000 --- a/poster/figs/no_way.pdf +++ /dev/null diff --git a/poster/figs/openwrt_logo.png b/poster/figs/openwrt_logo.png deleted file mode 100644 index 64e9dca..0000000 --- a/poster/figs/openwrt_logo.png +++ /dev/null diff --git a/poster/figs/phonelab_logo_black.png b/poster/figs/phonelab_logo_black.png deleted file mode 100644 index 64629c3..0000000 --- a/poster/figs/phonelab_logo_black.png +++ /dev/null diff --git a/poster/figs/power/MonitorPowerConsumption.pdf b/poster/figs/power/MonitorPowerConsumption.pdf deleted file mode 100644 index c9357ed..0000000 --- a/poster/figs/power/MonitorPowerConsumption.pdf +++ /dev/null diff --git a/poster/figs/power/plot.py b/poster/figs/power/plot.py deleted file mode 100755 index f8e1ece..0000000 --- a/poster/figs/power/plot.py +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/python - -import os -import json -from collections import OrderedDict -from dateutil import parser as dtparser -import matplotlib -matplotlib.use('Agg') -from matplotlib import pyplot as plt, rc -import numpy as np - -DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data') -FIG_NAME = 'MonitorPowerConsumption.pdf' - -monitor_data = dict() -normal_data = dict() -packet_count = 0 - -for dirpath, dirname, filenames in os.walk(os.path.join(DATA_DIR, 'monitor25')): - for f in filenames: - with open(os.path.join(dirpath, f), 'r') as f: - for line in f: - l = json.loads(line) - if 'action' not in l: - continue - if l['action'] == 'android.intent.action.BATTERY_CHANGED': - monitor_data[dtparser.parse(l['timestamp'])] = l - elif l['action'] == 'edu.buffalo.cse.pocketsniffer.tasks.SnifTask.ProgressUpdate': - packet_count += l['totalPackets'] - -for t in sorted(monitor_data.keys()): - if monitor_data[t]['level'] == 1.0: - monitor_start = t - break - -print("%d battery updates found for monitor mode." % (len(monitor_data))) - -for dirpath, dirname, filenames in os.walk(os.path.join(DATA_DIR, 'normal')): - for f in filenames: - with open(os.path.join(dirpath, f), 'r') as f: - for line in f: - l = json.loads(line) - if 'action' not in l: - continue - if l['action'] == 'android.intent.action.BATTERY_CHANGED': - normal_data[dtparser.parse(l['timestamp'])] = l - -normal_start = min(normal_data.keys()) -print("%d battery updates found for normal mode." % (len(normal_data))) - - -monitor_levels = OrderedDict() -for t in sorted(monitor_data.keys()): - if t < monitor_start: - continue - monitor_levels[(t-monitor_start).total_seconds()] = monitor_data[t]['level'] - -normal_levels = OrderedDict() -for t in sorted(normal_data.keys()): - normal_levels[(t-normal_start).total_seconds()] = normal_data[t]['level'] - - -rc('font', **{'family':'serif', 'serif':['Palatino'], 'size':'9'}) -rc('text', usetex=True) - -fig = plt.figure() -ax = fig.add_subplot(111) -ax.plot(normal_levels.keys(), normal_levels.values(), '-g*', markersize=3, markeredgewidth=0, linewidth=0.5, label='\\textbf{Baseline}') -ax.plot(monitor_levels.keys(), monitor_levels.values(), '-ro', markersize=2, markeredgewidth=0, linewidth=0.5, label='\\textbf{Monitor Mode (%s pkts)}' % ("{:,}".format(packet_count))) - -ax.set_xlabel('\\textbf{Elapsed Time} (hour)') -ax.set_ylabel('\\textbf{Battery Level}') - -limit = max([max(monitor_levels.keys()), max(normal_levels.keys())]) -limit = ((limit / 3600) + 1) * 3600 + 1 - -ax.set_xticks(np.arange(0, limit, 3600)) -ax.set_xticklabels([str(int(i/3600)) for i in np.arange(0, limit, 3600)]) - -for axis in ['top', 'bottom', 'left', 'right']: - ax.spines[axis].set_linewidth(0.5) - -ax.grid(True) -ax.legend(loc='upper right', markerscale=1, numpoints=1, scatterpoints=1, fontsize='8') - -fig.set_size_inches(4, 3) -fig.savefig(FIG_NAME, bbox_inches='tight') diff --git a/poster/figs/proximity.pdf b/poster/figs/proximity.pdf deleted file mode 100644 index 33e3a22..0000000 --- a/poster/figs/proximity.pdf +++ /dev/null diff --git a/poster/figs/pub-sub.pdf b/poster/figs/pub-sub.pdf deleted file mode 100644 index f299c89..0000000 --- a/poster/figs/pub-sub.pdf +++ /dev/null diff --git a/poster/figs/query.pdf b/poster/figs/query.pdf deleted file mode 100644 index 52e0315..0000000 --- a/poster/figs/query.pdf +++ /dev/null diff --git a/poster/figs/questions.gif b/poster/figs/questions.gif deleted file mode 100644 index 089b2dd..0000000 --- a/poster/figs/questions.gif +++ /dev/null diff --git a/poster/figs/questions.pdf b/poster/figs/questions.pdf deleted file mode 100644 index fd9d65a..0000000 --- a/poster/figs/questions.pdf +++ /dev/null diff --git a/poster/figs/rabbit.png b/poster/figs/rabbit.png deleted file mode 100644 index 90710aa..0000000 --- a/poster/figs/rabbit.png +++ /dev/null diff --git a/poster/figs/rap_ub.pdf b/poster/figs/rap_ub.pdf deleted file mode 100644 index 837aac5..0000000 --- a/poster/figs/rap_ub.pdf +++ /dev/null diff --git a/poster/figs/save_money.jpg b/poster/figs/save_money.jpg deleted file mode 100644 index e1c0135..0000000 --- a/poster/figs/save_money.jpg +++ /dev/null diff --git a/poster/figs/scan_interval.pdf b/poster/figs/scan_interval.pdf deleted file mode 100644 index 30cccf5..0000000 --- a/poster/figs/scan_interval.pdf +++ /dev/null diff --git a/poster/figs/session_rssi.pdf b/poster/figs/session_rssi.pdf deleted file mode 100644 index ed49338..0000000 --- a/poster/figs/session_rssi.pdf +++ /dev/null diff --git a/poster/figs/short4.pdf b/poster/figs/short4.pdf deleted file mode 100644 index 838e3b6..0000000 --- a/poster/figs/short4.pdf +++ /dev/null diff --git a/poster/figs/single_sp_managed.png b/poster/figs/single_sp_managed.png deleted file mode 100644 index fda96f9..0000000 --- a/poster/figs/single_sp_managed.png +++ /dev/null diff --git a/poster/figs/single_sp_unmanaged.png b/poster/figs/single_sp_unmanaged.png deleted file mode 100644 index 216c733..0000000 --- a/poster/figs/single_sp_unmanaged.png +++ /dev/null diff --git a/poster/figs/skype.ico b/poster/figs/skype.ico deleted file mode 100644 index 7d9332e..0000000 --- a/poster/figs/skype.ico +++ /dev/null diff --git a/poster/figs/skype.png b/poster/figs/skype.png deleted file mode 100644 index 82b7525..0000000 --- a/poster/figs/skype.png +++ /dev/null diff --git a/poster/figs/slow.gif b/poster/figs/slow.gif deleted file mode 100644 index 6333ea7..0000000 --- a/poster/figs/slow.gif +++ /dev/null diff --git a/poster/figs/slow.jpg b/poster/figs/slow.jpg deleted file mode 100644 index 615e855..0000000 --- a/poster/figs/slow.jpg +++ /dev/null diff --git a/poster/figs/superman.jpg b/poster/figs/superman.jpg deleted file mode 100644 index 7903809..0000000 --- a/poster/figs/superman.jpg +++ /dev/null diff --git a/poster/figs/switch.pdf b/poster/figs/switch.pdf deleted file mode 100644 index 53d3904..0000000 --- a/poster/figs/switch.pdf +++ /dev/null diff --git a/poster/figs/system-short.pdf b/poster/figs/system-short.pdf deleted file mode 100644 index 72a090d..0000000 --- a/poster/figs/system-short.pdf +++ /dev/null diff --git a/poster/figs/system.pdf b/poster/figs/system.pdf deleted file mode 100644 index e2212bd..0000000 --- a/poster/figs/system.pdf +++ /dev/null diff --git a/poster/figs/tcpdump.png b/poster/figs/tcpdump.png deleted file mode 100644 index 13cc44e..0000000 --- a/poster/figs/tcpdump.png +++ /dev/null diff --git a/poster/figs/tp-link.jpg b/poster/figs/tp-link.jpg deleted file mode 100644 index e2a9825..0000000 --- a/poster/figs/tp-link.jpg +++ /dev/null diff --git a/poster/figs/tp-link_openwrt.pdf b/poster/figs/tp-link_openwrt.pdf deleted file mode 100644 index c8e6da1..0000000 --- a/poster/figs/tp-link_openwrt.pdf +++ /dev/null diff --git a/poster/figs/ub_logo.png b/poster/figs/ub_logo.png deleted file mode 100644 index 481c6a9..0000000 --- a/poster/figs/ub_logo.png +++ /dev/null diff --git a/poster/main.bib b/poster/main.bib deleted file mode 100644 index 06cc9b5..0000000 --- a/poster/main.bib +++ /dev/null @@ -1,62 +0,0 @@ -@inproceedings{mishra:infocom2006, - author = {Arunesh Mishra and Vladimir Brik and Suman Banerjee and Aravind Srinivasan and William Arbaugh}, - title = {A Client-Driven Approach for Channel Management in Wireless LANs }, - booktitle = {Proc. of the 25th IEEE International Conference on Computer Communications (INFOCOM 2006)}, - month = {April}, - year = {2006} -} - -@article{mishra:mccr2005, - author = {Arunesh Mishra and Suman Banerjee and William Arbaugh}, - title = {Weighted coloring based channel assignment for WLANs}, - journal = {ACM SIGMOBILE Mobile Computing and Communications Review}, - volume = 9, - number = 3, - pages = {19-31}, - month = {July}, - year = 2005 -} - -@inproceedings{rayanchu:mobicom2011, - author = {Shravan Rayanchu and Vivek Shrivastava and Suman Banerjee and Ranveer Chandra}, - title = {{FLUID: improving throughputs in enterprise wireless lans through flexible channelization}}, - booktitle = {Proc. of the 17th annual international conference on Mobile computing and networking (MobiCom 2011)}, - month = {September}, - year = {2011} -} - - -@book{cheng2006jigsaw, - title={Jigsaw: solving the puzzle of enterprise 802.11 analysis}, - author={Cheng, Yu-Chung and Bellardo, John and Benk{\"o}, P{\'e}ter and - Snoeren, Alex C and Voelker, Geoffrey M and Savage, Stefan}, - volume={36}, - number={4}, - year={2006}, - publisher={ACM} -} - -@inproceedings{bahl2006enhancing, - title={Enhancing the security of corporate Wi-Fi networks using DAIR}, - author={Bahl, Paramvir and Chandra, Ranveer and Padhye, Jitendra and - Ravindranath, Lenin and Singh, Manpreet and Wolman, Alec and Zill, - Brian}, - booktitle={Proceedings of the 4th international conference on Mobile - systems, applications and services}, - pages={1--14}, - year={2006}, - organization={ACM} -} - -@article{tan2014map, - title={From MAP to DIST: the evolution of a large-scale WLAN monitoring - system}, - author={Tan, Keren and McDonald, Chris and Vance, Bennet and - Arackaparambil, Chrisil and Bratus, Sergey and Kotz, David}, - journal={Mobile Computing, IEEE Transactions on}, - volume={13}, - number={1}, - pages={216--229}, - year={2014}, - publisher={IEEE} -} diff --git a/poster/main.pyg b/poster/main.pyg deleted file mode 100644 index bb53c09..0000000 --- a/poster/main.pyg +++ /dev/null @@ -1,91 +0,0 @@ - -\makeatletter -\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax% - \let\PY@ul=\relax \let\PY@tc=\relax% - \let\PY@bc=\relax \let\PY@ff=\relax} -\def\PY@tok#1{\csname PY@tok@#1\endcsname} -\def\PY@toks#1+{\ifx\relax#1\empty\else% - \PY@tok{#1}\expandafter\PY@toks\fi} -\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{% - \PY@it{\PY@bf{\PY@ff{#1}}}}}}} -\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}} - -\expandafter\def\csname PY@tok@gd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}} -\expandafter\def\csname PY@tok@gu\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}} -\expandafter\def\csname PY@tok@gt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.25,0.82}{##1}}} -\expandafter\def\csname PY@tok@gs\endcsname{\let\PY@bf=\textbf} -\expandafter\def\csname PY@tok@gr\endcsname{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}} -\expandafter\def\csname PY@tok@cm\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} -\expandafter\def\csname PY@tok@vg\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} -\expandafter\def\csname PY@tok@m\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@mh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@go\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}} -\expandafter\def\csname PY@tok@ge\endcsname{\let\PY@it=\textit} -\expandafter\def\csname PY@tok@vc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} -\expandafter\def\csname PY@tok@il\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@cs\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} -\expandafter\def\csname PY@tok@cp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}} -\expandafter\def\csname PY@tok@gi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}} -\expandafter\def\csname PY@tok@gh\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} -\expandafter\def\csname PY@tok@ni\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}} -\expandafter\def\csname PY@tok@nl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}} -\expandafter\def\csname PY@tok@nn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}} -\expandafter\def\csname PY@tok@no\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}} -\expandafter\def\csname PY@tok@na\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}} -\expandafter\def\csname PY@tok@nb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@nc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}} -\expandafter\def\csname PY@tok@nd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}} -\expandafter\def\csname PY@tok@ne\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}} -\expandafter\def\csname PY@tok@nf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}} -\expandafter\def\csname PY@tok@si\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}} -\expandafter\def\csname PY@tok@s2\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} -\expandafter\def\csname PY@tok@vi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} -\expandafter\def\csname PY@tok@nt\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@nv\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} -\expandafter\def\csname PY@tok@s1\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} -\expandafter\def\csname PY@tok@sh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} -\expandafter\def\csname PY@tok@sc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} -\expandafter\def\csname PY@tok@sx\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@bp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@c1\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} -\expandafter\def\csname PY@tok@kc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@c\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}} -\expandafter\def\csname PY@tok@mf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@err\endcsname{\def\PY@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}} -\expandafter\def\csname PY@tok@kd\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@ss\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}} -\expandafter\def\csname PY@tok@sr\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}} -\expandafter\def\csname PY@tok@mo\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@kn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@mi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@gp\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} -\expandafter\def\csname PY@tok@o\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PY@tok@kr\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@s\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} -\expandafter\def\csname PY@tok@kp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@w\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}} -\expandafter\def\csname PY@tok@kt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}} -\expandafter\def\csname PY@tok@ow\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}} -\expandafter\def\csname PY@tok@sb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} -\expandafter\def\csname PY@tok@k\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}} -\expandafter\def\csname PY@tok@se\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}} -\expandafter\def\csname PY@tok@sd\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}} - -\def\PYZbs{\char`\\} -\def\PYZus{\char`\_} -\def\PYZob{\char`\{} -\def\PYZcb{\char`\}} -\def\PYZca{\char`\^} -\def\PYZam{\char`\&} -\def\PYZlt{\char`\<} -\def\PYZgt{\char`\>} -\def\PYZsh{\char`\#} -\def\PYZpc{\char`\%} -\def\PYZdl{\char`\$} -\def\PYZti{\char`\~} -% for compatibility with earlier versions -\def\PYZat{@} -\def\PYZlb{[} -\def\PYZrb{]} -\makeatother - diff --git a/poster/main.tex b/poster/main.tex deleted file mode 100644 index 8f982bc..0000000 --- a/poster/main.tex +++ /dev/null @@ -1,227 +0,0 @@ -\documentclass[a0paper]{tikzposter} - -\usepackage{url} -\usepackage[hidelinks]{hyperref} -\usepackage{booktabs} -\usepackage{subcaption} -\usepackage[usenames,dvipsnames]{color} -\usepackage{fontspec} -\usepackage{pgf} -\usepackage[absolute, verbose, overlay]{textpos} -\usepackage{caption} -\usepackage{array} -\usepackage{fancybox} -\usepackage{graphicx} -\usepackage{biblatex} -\usepackage{enumerate} -\usepackage{ulem} -\usepackage[absolute,overlay]{textpos} - -\graphicspath{{figs/}} -\bibliography{main} -\captionsetup{labelformat=empty} -\setlength{\TPHorizModule}{1cm} -\setlength{\TPVertModule}{1cm} - -\usetheme{Default} -%\usetheme{Rays} -%\usetheme{Basic} -%\usetheme{Simple} -%\usetheme{Envelope} -%\usetheme{Wave} -%\usetheme{Board} -%\usetheme{Autumn} -%\usetheme{Desert} - -%\usecolorpalette{BrownBlueOrange} -%\usecolorstyle{Germany} -%\usecolorstyle{Denmark} -%\usecolorstyle{Russia} -%\usecolorstyle{Default} -%\usecolorstyle{Australia} -%\usecolorstyle{Britain} -%\usecolorstyle{Sweden} -%\usecolorstyle{Spain} - - - -\newcommand{\PS}{\textsc{PocketSniffer}} - -\title{\parbox{\linewidth}{\centering Crowdsourcing Access Network Spectrum Allocation Using Smartphones}} - - -\author{% - Jinghao Shi$^\dag$, Zhangyu Guan$^\dag$$^\S$, Chunming Qiao$^\dag$, Tommaso - Melodia$^\S$\\Dimitrios Koutsonikolas$^\dag$ and Geoffrey Challen$^\dag$\\ - \vspace*{5mm} - \url{pocketsniffer@blue.cse.buffalo.edu} -} - -\institute{% - $^\dag$University at Buffalo\quad$^\S$Northeastern University -} - -%\titlegraphic{\includegraphics[width=0.6\textwidth]{ub_logo}} - -\begin{document} - -\maketitle - -\begin{columns} - \column{0.5} - - \block{1. So Many APs, So Few Channels}{% - \begin{tikzfigure}[Crowded RF space.] - \begin{subfigure}{0.45\colwidth} - \includegraphics[width=\textwidth]{channel} - \end{subfigure}\hspace{0.01\colwidth}% - \begin{subfigure}{0.45\colwidth} - \includegraphics[width=\textwidth]{crowd} - \end{subfigure} - \end{tikzfigure} - \vspace{5mm} - More and more wireless devices are competing for the limited spectrum - resources. Recent studies have shown the value of client-side measurements - in determining better channel assignment. Yet \textbf{how to collect data - from clients without interrupting their normal usage} remains to be an - open question. To address this problem, we propose \PS{}---\textbf{a - framework for client-side measurements collection}. The key idea is to - \textbf{use inactive smartphones to perform measurements on behalf of - nearby devices} to improve spectrum allocation. \PS{} also collects the - network measurements naturally generated by smartphones to monitor the - health and performance of large-scale wireless networks. - } - - \block{2. Why Smartphones?}{% - \begin{tikzfigure}[Smartphones are carried with you, always on but mostly - idle.] - \begin{subfigure}[t]{0.3\colwidth} - \centering - \includegraphics[width=\textwidth]{carried} - \end{subfigure}\hspace{0.01\colwidth}% - \begin{subfigure}[t]{0.28\colwidth} - \centering - \includegraphics[width=\textwidth]{always_on} - \caption{\large\textbf{Always on.}} - \end{subfigure}\hspace{0.01\colwidth}% - \begin{subfigure}[t]{0.27\colwidth} - \centering - \includegraphics[width=\textwidth]{mostly_idle} - \caption{\large\textbf{Mostly idle.}} - \end{subfigure} - \end{tikzfigure} - Smartphones are carried with people, which enables them to measure the - network conditions from \textbf{actual user's point of view}. Smartphones are - \textit{always on} yet \textit{mostly idle}, making it possible to \textbf{conduct - measurements without interrupting users' normal usage}. - } - - \block{3. System Design}{% - \begin{tikzfigure}[\PS{} System] - \includegraphics[width=0.6\colwidth]{system} - \end{tikzfigure} - } - - \block{4. Challenges and Approaches}{% - \begin{itemize} - \item Proximity detection---use measurements from one device to - approximate the another. - \begin{itemize} - \item Explore proximity in both physical and Wifi signature space. - \end{itemize} - \item Measurement validation---defeat false measurements. - \begin{itemize} - \item Leverage trusted APs. - \end{itemize} - \item Incentives---encourage measurements. - \begin{itemize} - \item Bob's phone help Bob's laptop. - \item Measurements for QoS. - \end{itemize} - \end{itemize} - } - - \column{0.5} - - \block{5. Coordination Scenarios}{% - \begin{tikzfigure} - \centering - \begin{subfigure}{0.3\colwidth} - \centering - \includegraphics[width=\textwidth]{single_sp_managed} - \captionof{figure}{Single SP, managed clients\\(e.g., home Wifi network).} - \end{subfigure}\hspace*{0.1\colwidth}% - \begin{subfigure}{0.3\colwidth} - \centering - \includegraphics[width=\textwidth]{single_sp_unmanaged} - \captionof{figure}{Single SP, unmanaged clients\\(e.g., campus Wifi - network).} - \end{subfigure} - \end{tikzfigure} - \begin{tikzfigure} - \begin{subfigure}{0.4\colwidth} - \centering - \includegraphics[width=\textwidth]{multiple_sp_managed} - \captionof{figure}{Multiple SP, managed clients\\(e.g., overlapping home - network).} - \end{subfigure}\hspace*{0.01\colwidth}% - \begin{subfigure}{0.4\colwidth} - \centering - \includegraphics[width=\textwidth]{multiple_sp_unmanaged} - \captionof{figure}{Multiple SP, unmanaged clients\\(e.g., overlapping - enterprise network).} - \end{subfigure} - \end{tikzfigure} - } - \block{6. Discarded Treasure}{% - \begin{tikzfigure} - \centering - \begin{minipage}[T]{0.4\colwidth} - \vspace{-3cm} - To cope with rapid user mobility, smartphones already perform aggressive - network exploration. For example, the right figure shows that Android - will scan every 15~s or 60~s depending on the device's Wifi connection. - This is a treasure that is being discarded. \PS{} passively collects - such measurements in an energy neutral manner, to help monitor large - scale wireless networks. - \end{minipage}\hspace{0.03\colwidth}% - \begin{minipage}[T]{0.5\colwidth} - \includegraphics[width=\textwidth]{scan_interval} - \label{fig:scan} - \end{minipage} - \end{tikzfigure} - } - \block{7. Prototype}{% - \begin{tikzfigure} - \centering - \begin{subfigure}{0.42\colwidth} - \centering - \includegraphics[width=\textwidth]{channel_switch} - \end{subfigure}\hspace{0.03\colwidth}% - \begin{subfigure}{0.42\colwidth} - \centering - \includegraphics[width=\textwidth]{switch.pdf} - \end{subfigure} - \end{tikzfigure} - We hacked the driver of Nexus 5 smartphones to support Wifi monitor - mode. We also set up several TP-LINK WDR3500 wireless routers running - OpenWRT as \PS{} APs. We conducted a simple channel adaptation experiment as - follows: - \begin{enumerate} - \item \textbf{0--7~s}\quad TCP link between \PS{} AP and device $A$. - \item \textbf{7--75~s}\quad $B$ jams the channel, causing bandwidth - degradation and jitter of $A$. - \item \textbf{75--100~s}\quad AP switches to a less congested channel with - the help of nearby device $C$. - \end{enumerate} - Throughout the experiment, \textbf{device $A$'s active session is not - affected---neither $A$'s association with AP or TCP link is interrupted by - the channel switch}. - - This experiment demonstrate the feasibility of \PS{} in single SP, managed - clients scenario. We're extending the system to other three scenarios. - } - -\end{columns} - -\end{document} diff --git a/poster/pocketsniffer_nens_poster.pdf b/poster/pocketsniffer_nens_poster.pdf deleted file mode 100644 index ff28a1d..0000000 --- a/poster/pocketsniffer_nens_poster.pdf +++ /dev/null diff --git a/poster/poster-30x40.odg b/poster/poster-30x40.odg deleted file mode 100644 index f8b5451..0000000 --- a/poster/poster-30x40.odg +++ /dev/null diff --git a/poster/poster-a0.odg b/poster/poster-a0.odg index 4eb6b66..32104d5 100644 --- a/poster/poster-a0.odg +++ b/poster/poster-a0.odg diff --git a/poster/poster-a0.pdf b/poster/poster-a0.pdf index 25f0de2..2b982ec 100644 --- a/poster/poster-a0.pdf +++ b/poster/poster-a0.pdf diff --git a/poster/poster.pdf b/poster/poster.pdf deleted file mode 100644 index d87eb07..0000000 --- a/poster/poster.pdf +++ /dev/null diff --git a/poster/preamble.tex b/poster/preamble.tex deleted file mode 100644 index 64b7191..0000000 --- a/poster/preamble.tex +++ /dev/null @@ -1,147 +0,0 @@ -\usepackage{url} -\usepackage{hyperref} -\usepackage{booktabs} -\usepackage{minted} -\usepackage{subcaption} -\usepackage[usenames,dvipsnames]{color} -\usepackage{tikz} -\usepackage{listings} -\usepackage{lstlinebgrd} -\usepackage{fontspec} -\usepackage{pgf} -\usepackage[absolute, verbose, overlay]{textpos} -\usepackage{caption} -\usepackage{array} -\usepackage{fancybox} -\usepackage{graphicx} -\usepackage{biblatex} -\usepackage{enumerate} -\usepackage{ulem} - -\usepackage[orientation=portrait,size=a0,scale=1.4]{beamerposter} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Beamer Style Setup -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% remove the navigation bar -\beamertemplatenavigationsymbolsempty - -\usecolortheme{rose} -\useinnertheme[shadow]{rounded} -\useoutertheme{default} - -% title style -\setbeamertemplate{frametitle} {% - \huge{\textbf{\underline{\insertframetitle}}} \par -} - -% footnote font -\renewcommand{\footnotesize}{\tiny} - -% font -\usefonttheme{professionalfonts} % using non standard fonts for beamer -\usefonttheme{serif} % default family is serif -\setmainfont{Liberation Serif} - -% show current page # / total page # -\setbeamerfont{page number in head/foot}{size=\scriptsize} -\setbeamertemplate{footline}[frame number] - -% logo -% \logo{\pgfputat{\pgfxy(4,-4)}{\pgfbox[center,base]{\includegraphics[width=1.2cm]{logo}}}} - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Package Specific Setup -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%% -% code listing -%%%%%%%%%%%%%% -\lstset{% - language=c, - numbers=left, - numberstyle=\color{gray}, - frame=single, - basicstyle=\small\ttfamily, - columns=flexible, - breaklines=true, - showstringspaces=false -} - -% highlight code line -\ExplSyntaxOn -\NewDocumentCommand \lstcolorlines { O{magenta} m } -{% - \clist_if_in:nVT { #2 } { \the\value{lstnumber} }{ \color{#1} } -} -\ExplSyntaxOff - - - -%%%%%%%%%%%%%%%%%% -% hyper link -%%%%%%%%%%%%%%%%%% - -\hypersetup{% - %allbordercolors={0 0 0}, - %pdfborderstyle={/S/U/W 0.5} -} - -%%%%%%%%%%%%%%%% -% biblatex -%%%%%%%%%%%%%%%% -\bibliography{main} -% \setbeamertemplate{bibliography item}[text] - -%%%%%%%%%%%%% -% text position -%%%%%%%%%%%%% -\setlength{\TPHorizModule}{1cm} -\setlength{\TPVertModule}{1cm} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% highlight head row in table -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcolumntype{+}{>{\global\let\currentrowstyle\relax}} -\newcolumntype{^}{>{\currentrowstyle}} -\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}% - #1\ignorespaces -} - -%%%%%%%%%%%%%%%%% -% figure caption -%%%%%%%%%%%%%%%%% - -% remove the Figure prefix of caption -\captionsetup[figure]{labelformat=empty} - - -%%%%%%%%%%%%%%%%%%% -% fancy box -%%%%%%%%%%%%%%%%%%% -\shadowsize=2pt -\newenvironment{fminipage}% -{\begin{Sbox}\begin{minipage}}% -{\end{minipage}\end{Sbox}\shadowbox{\TheSbox}} - - -%%%%%%%%%%%%%%%%%% -% graphic -%%%%%%%%%%%%%%%%% -\graphicspath{ {figs/} } - -%%%%%%%%%%%%%%%%%%%%%% -% customize commands -%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\demo}[0]{\begin{center}\huge\textbf{\color{blue}{>> DEMO -<<}}\end{center}} -\newcommand{\command}[1]{\texttt{\$ #1}} - -\newcommand{\todo}[1]{{\large\color{red}{TODO: #1}}} -\renewcommand{\em}[1]{\textcolor{magenta}{#1}} -\newcommand{\code}[1]{\texttt{#1}} - -