Commit 90c3c69ba8adcca64162dc913082bca9e8dc8f4f

Authored by Jinghao Shi
1 parent eb5fe864

fix typos from dimitrios's comments

challenges.tex
@@ -7,13 +7,13 @@ cooperative \wifi{} access and brings new challenges. @@ -7,13 +7,13 @@ cooperative \wifi{} access and brings new challenges.
7 As discussed in Section~\ref{subsec:sharing}, user's privacy and security can be 7 As discussed in Section~\ref{subsec:sharing}, user's privacy and security can be
8 preserved through isolating either at network level (virtual networks) or client 8 preserved through isolating either at network level (virtual networks) or client
9 level (white list vs. authenticated clients). However, it is still an open 9 level (white list vs. authenticated clients). However, it is still an open
10 -question that whether or to what extent the user is liable to the illegal 10 +question whether or to what extent the user is liable to the illegal
11 actions, most notably copyright infringement, of the peers who share the 11 actions, most notably copyright infringement, of the peers who share the
12 network. 12 network.
13 13
14 Another challenge in establishing reciprocal \wifi{} sharing is the bootstrap 14 Another challenge in establishing reciprocal \wifi{} sharing is the bootstrap
15 process. It is expected that during early stages of deployment, the sharing 15 process. It is expected that during early stages of deployment, the sharing
16 -opportunity will be sparse. Therefore, It is important to provide additional 16 +opportunity will be sparse. Therefore, it is important to provide additional
17 incentives other than the benefit of \wifi{} sharing to increase the penetration 17 incentives other than the benefit of \wifi{} sharing to increase the penetration
18 of system. One possible feature that can be added to the \wisefi{} app is to 18 of system. One possible feature that can be added to the \wisefi{} app is to
19 help the user find better \wifi{} channels for their own APs. Uses who are 19 help the user find better \wifi{} channels for their own APs. Uses who are
design.tex
@@ -25,12 +25,12 @@ shows the overall work flow of the \wisefi{} system. @@ -25,12 +25,12 @@ shows the overall work flow of the \wisefi{} system.
25 To detect reciprocal sharing opportunities, two pieces of information are 25 To detect reciprocal sharing opportunities, two pieces of information are
26 required: the home AP of the device, and neighbor APs' signal strength during 26 required: the home AP of the device, and neighbor APs' signal strength during
27 \wifi{} sessions with the home AP. A smartphone application can be deployed 27 \wifi{} sessions with the home AP. A smartphone application can be deployed
28 -through app market to collect these information. In particular, the home AP 28 +through app market to collect this information. In particular, the home AP
29 information can be learned over a period of time using the heuristics developed 29 information can be learned over a period of time using the heuristics developed
30 in Section~\ref{subsec:homeap}, or be inputted directly by user. Once the home 30 in Section~\ref{subsec:homeap}, or be inputted directly by user. Once the home
31 AP information is identified, \wifi{} scan results during sessions with home APs 31 AP information is identified, \wifi{} scan results during sessions with home APs
32 can then be logged to identify the neighbor APs that can potentially provide 32 can then be logged to identify the neighbor APs that can potentially provide
33 -better network performance. Finally, these information are uploaded and fused in 33 +better network performance. Finally, this information is uploaded and fused in
34 \wisefi{} server to identify reciprocal sharing opportunities using the methods 34 \wisefi{} server to identify reciprocal sharing opportunities using the methods
35 described in Section~\ref{subsec:reciprocal}. 35 described in Section~\ref{subsec:reciprocal}.
36 36
@@ -38,8 +38,8 @@ described in Section~\ref{subsec:reciprocal}. @@ -38,8 +38,8 @@ described in Section~\ref{subsec:reciprocal}.
38 \label{subsec:sharing} 38 \label{subsec:sharing}
39 39
40 Once the reciprocal sharing opportunities are discovered, the \wisefi{} server 40 Once the reciprocal sharing opportunities are discovered, the \wisefi{} server
41 -distributes such information to the \wisefi{} application on smartphone, which  
42 -prompts user to establish \wifi{} sharing. The sharing mechanism must meet two 41 +distributes such information to the \wisefi{} application on the smartphone, which
  42 +prompts the user to establish \wifi{} sharing. The sharing mechanism must meet two
43 goals: \textit{control} and \textit{protection}. First, the system should be 43 goals: \textit{control} and \textit{protection}. First, the system should be
44 able to control the sharing, including granting the access of home AP to other 44 able to control the sharing, including granting the access of home AP to other
45 \wisefi{} users, and more importantly, revoking the access when needed. Second, 45 \wisefi{} users, and more importantly, revoking the access when needed. Second,
@@ -56,7 +56,7 @@ temporal visitors yet isolate them from home clients. For home APs with such @@ -56,7 +56,7 @@ temporal visitors yet isolate them from home clients. For home APs with such
56 feature, \wifi{} sharing can be achieved by only distributing the credential of 56 feature, \wifi{} sharing can be achieved by only distributing the credential of
57 guest network to other \wisefi{} users. Access and bandwidth policies can then 57 guest network to other \wisefi{} users. Access and bandwidth policies can then
58 be enforced on the guest network to achieve control and protection. 58 be enforced on the guest network to achieve control and protection.
59 -Additionally, such isolation and enforcements are mostly likely already enabled 59 +Additionally, such isolation and enforcements are most likely already enabled
60 by default for guest networks, so that even inexperienced user can configure the 60 by default for guest networks, so that even inexperienced user can configure the
61 \wifi{} sharing through guest network. 61 \wifi{} sharing through guest network.
62 62
@@ -65,14 +65,14 @@ be required by user, such as MAC black or white list, routing table @@ -65,14 +65,14 @@ be required by user, such as MAC black or white list, routing table
65 modification, etc. Such configurations are most likely too complicated for 65 modification, etc. Such configurations are most likely too complicated for
66 average users to perform. However, simply sharing the \wifi{} credential of user's 66 average users to perform. However, simply sharing the \wifi{} credential of user's
67 home AP to other \wisefi{} users is not only dangerous, but also making it 67 home AP to other \wisefi{} users is not only dangerous, but also making it
68 -difficult to revoke the access in the future. In worst case scenario, a user may 68 +difficult to revoke the access in the future. In the worst case scenario, a user may
69 be forced to change the home AP password and reconfigure the \wifi{} credential 69 be forced to change the home AP password and reconfigure the \wifi{} credential
70 on all his/her devices just to revoke the access of the other \wisefi{} user. 70 on all his/her devices just to revoke the access of the other \wisefi{} user.
71 Although most commodity APs support client MAC black or white list feature, 71 Although most commodity APs support client MAC black or white list feature,
72 configuring them properly is difficult for average users. Furthermore, the 72 configuring them properly is difficult for average users. Furthermore, the
73 sharing relationship should be built between users instead of devices: once the 73 sharing relationship should be built between users instead of devices: once the
74 sharing is established, one user should be able to connect any of his/her 74 sharing is established, one user should be able to connect any of his/her
75 -devices, not only the smartphone, to the other user's home AP. Even the system 75 +devices, not only the smartphone, to the other user's home AP. Even if the system
76 can directly share each other's \wifi{} credential, manually configuring it on 76 can directly share each other's \wifi{} credential, manually configuring it on
77 all devices is still tedious. 77 all devices is still tedious.
78 78
@@ -80,8 +80,8 @@ To overcome this challenge, we propose a dynamic \wifi{} AP configuration API @@ -80,8 +80,8 @@ To overcome this challenge, we propose a dynamic \wifi{} AP configuration API
80 with two simple interfaces: \texttt{getAuthClients} and \texttt{setWhiteList}. 80 with two simple interfaces: \texttt{getAuthClients} and \texttt{setWhiteList}.
81 The semantics of the interfaces are as follows. \texttt{getAuthClients} 81 The semantics of the interfaces are as follows. \texttt{getAuthClients}
82 returns all the MAC addresses of clients that are currently associated with the 82 returns all the MAC addresses of clients that are currently associated with the
83 -AP through normal authentication. In home \wifi{} network scenario, this  
84 -interface shall return only the MAC addresses of user's own \wifi{} devices. On 83 +AP through normal authentication. In the home \wifi{} network scenario, this
  84 +interface shall return only the MAC addresses of the user's own \wifi{} devices. On
85 other hand, \texttt{setWhiteList} sets a list of white list MAC addresses that 85 other hand, \texttt{setWhiteList} sets a list of white list MAC addresses that
86 the AP should accept their association requests regardless of possible 86 the AP should accept their association requests regardless of possible
87 authentication errors (e.g., due to incorrect \wifi{} password). Finally, these 87 authentication errors (e.g., due to incorrect \wifi{} password). Finally, these
@@ -92,7 +92,8 @@ API through the HTTP server that is already integrated in most commodity APs. @@ -92,7 +92,8 @@ API through the HTTP server that is already integrated in most commodity APs.
92 92
93 With the help of these configuration APIs, the \wifi{} sharing process can work 93 With the help of these configuration APIs, the \wifi{} sharing process can work
94 as follows. Suppose the \wisefi{} system has discovered the reciprocal sharing 94 as follows. Suppose the \wisefi{} system has discovered the reciprocal sharing
95 -opportunity between Alice and Bob, here are the steps to grant Bob's device to 95 +opportunity between Alice and Bob, here are the steps to grant Bob's device
  96 +access to
96 Alice's home AP. First, the \wisefi{} app on Bob's smartphone (which is 97 Alice's home AP. First, the \wisefi{} app on Bob's smartphone (which is
97 associated with Bob's home AP through proper authentication) sends a 98 associated with Bob's home AP through proper authentication) sends a
98 \texttt{getAuthClients} request to Bob's home AP, retrieving the MAC addresses 99 \texttt{getAuthClients} request to Bob's home AP, retrieving the MAC addresses
@@ -115,12 +116,13 @@ Second, revoking access of other \wisefi{} users simply requires a @@ -115,12 +116,13 @@ Second, revoking access of other \wisefi{} users simply requires a
115 \texttt{setWhiteList} request, without needing to change the user's home AP 116 \texttt{setWhiteList} request, without needing to change the user's home AP
116 password. Furthermore, the \wisefi{} app can list other \wisefi{} 117 password. Furthermore, the \wisefi{} app can list other \wisefi{}
117 users who are in a reciprocal sharing relationship and provide interfaces to let 118 users who are in a reciprocal sharing relationship and provide interfaces to let
  119 +the
118 user manually revoke access of other users if needed. Finally, this mechanism 120 user manually revoke access of other users if needed. Finally, this mechanism
119 does not require modifications of \wifi{} clients (except for installation of 121 does not require modifications of \wifi{} clients (except for installation of
120 -\wisefi{} app) and only requires software updates at AP side, making it easy to 122 +the \wisefi{} app) and only requires software updates at AP side, making it easy to
121 deploy. Once the sharing is established, protection and isolation can be 123 deploy. Once the sharing is established, protection and isolation can be
122 enforced at the AP side by differentiating two type of clients: authenticated 124 enforced at the AP side by differentiating two type of clients: authenticated
123 -clients (user's own devices) and while list clients (\wisefi{} devices). 125 +clients (user's own devices) and white list clients (\wisefi{} devices).
124 Therefore, such sharing mechanism meets both the control and protection goals. 126 Therefore, such sharing mechanism meets both the control and protection goals.
125 127
126 128
@@ -138,17 +140,17 @@ For instance, suppose after the system has established reciprocal \wifi{} sharin @@ -138,17 +140,17 @@ For instance, suppose after the system has established reciprocal \wifi{} sharin
138 between Alice and Bob, and Bob decides to deploy an extra AP at his home which 140 between Alice and Bob, and Bob decides to deploy an extra AP at his home which
139 makes him no longer benefit from sharing Alice's home AP. The system should 141 makes him no longer benefit from sharing Alice's home AP. The system should
140 monitor Bob's \wifi{} usage to detect the termination of the reciprocal 142 monitor Bob's \wifi{} usage to detect the termination of the reciprocal
141 -relationship and revoke Alice's access of Bob's home AP accordingly. 143 +relationship and revoke Alice's access to Bob's home AP accordingly.
142 144
143 Second, the not so obvious reason is that, as mentioned in 145 Second, the not so obvious reason is that, as mentioned in
144 Section~\ref{subsec:better}, \wifi{} signal strength is used as a hint to 146 Section~\ref{subsec:better}, \wifi{} signal strength is used as a hint to
145 identify potentially better APs. And it is well known that signal strength does 147 identify potentially better APs. And it is well known that signal strength does
146 not directly translate to \wifi{} performance. Other factors, such as AP load, 148 not directly translate to \wifi{} performance. Other factors, such as AP load,
147 -modulation, interference, or \wifi{} generation, also affect the link quality 149 +PHY data rate, interference, or \wifi{} generation (e.g., 802.11/g/n/ac), also affect the link quality
148 yet can not be easily detected by the smartphone. Furthermore, last hop \wifi{} 150 yet can not be easily detected by the smartphone. Furthermore, last hop \wifi{}
149 -link quality does not necessarily determines clients' overall end-to-end network 151 +link quality does not necessarily determine the clients' overall end-to-end network
150 performance. In fact, there is no way to predict whether the neighbor AP can 152 performance. In fact, there is no way to predict whether the neighbor AP can
151 -indeed provide better network performance than user's home AP until the sharing is 153 +indeed provide better network performance than the user's home AP until the sharing is
152 actually established. 154 actually established.
153 155
154 To measure the reciprocity in terms of network performance, standard performance 156 To measure the reciprocity in terms of network performance, standard performance
@@ -156,7 +158,7 @@ benchmarks, such as download/upload throughput, \texttt{ping} latency, or DNS @@ -156,7 +158,7 @@ benchmarks, such as download/upload throughput, \texttt{ping} latency, or DNS
156 lookup, can be performed periodically by the \wisefi{} client. However, it is 158 lookup, can be performed periodically by the \wisefi{} client. However, it is
157 not trivial to monitor the network usage aspect of reciprocity from the vantage 159 not trivial to monitor the network usage aspect of reciprocity from the vantage
158 point of a single client: the smartphone's association time may not be 160 point of a single client: the smartphone's association time may not be
159 -representative of user's other wireless devices. For this purpose, we argument 161 +representative of user's other wireless devices. For this purpose, we augment
160 the AP configuration API proposed in Section~\ref{subsec:sharing} with one new 162 the AP configuration API proposed in Section~\ref{subsec:sharing} with one new
161 interface, \texttt{getWhiteListClents}, which returns the MAC addresses of 163 interface, \texttt{getWhiteListClents}, which returns the MAC addresses of
162 clients that associated with the AP through white list mechanism. These are the 164 clients that associated with the AP through white list mechanism. These are the
introduction.tex
@@ -70,7 +70,7 @@ a city has a population density an order of magnitude lower than @@ -70,7 +70,7 @@ a city has a population density an order of magnitude lower than
70 densely-populated areas like Manhattan, we still find that many users would 70 densely-populated areas like Manhattan, we still find that many users would
71 benefit from being able to connect to neighboring private networks. Even more 71 benefit from being able to connect to neighboring private networks. Even more
72 surprisingly, despite monitoring only several hundred users we were still 72 surprisingly, despite monitoring only several hundred users we were still
73 -able to identify several reciprocal \wifi{} sharing opportunities in our tiny 73 +able to observe reciprocal \wifi{} sharing opportunities in our tiny
74 sample. Motivated by these results Section~\ref{sec:design} presents the 74 sample. Motivated by these results Section~\ref{sec:design} presents the
75 design of \wisefi{}, a system addressing the practical challenges of 75 design of \wisefi{}, a system addressing the practical challenges of
76 establishing and monitoring reciprocal \wifi{} sharing agreements. We 76 establishing and monitoring reciprocal \wifi{} sharing agreements. We
investigation.tex
@@ -60,7 +60,7 @@ identify the AP which has the largest day count as the device's home AP, @@ -60,7 +60,7 @@ identify the AP which has the largest day count as the device's home AP,
60 provided that the day count is larger than a threshold (30 days) to further 60 provided that the day count is larger than a threshold (30 days) to further
61 filter out false positives. 61 filter out false positives.
62 62
63 -After applying the above heuristics, the home AP information of 107 devices are 63 +After applying the above heuristics, the home AP information of 107 devices is
64 identified, including 101 unique BSSIDs. There are 6 BSSIDs that are identified 64 identified, including 101 unique BSSIDs. There are 6 BSSIDs that are identified
65 as home APs for two devices. After further investigation and clarification with 65 as home APs for two devices. After further investigation and clarification with
66 \PhoneLab{} administrators, we found this is because some participants are family 66 \PhoneLab{} administrators, we found this is because some participants are family
@@ -123,7 +123,7 @@ end, we look at all the scan results in the sub-optimal category, and count the @@ -123,7 +123,7 @@ end, we look at all the scan results in the sub-optimal category, and count the
123 number of times that each neighbor AP appears as $AP_{best}$. For each device, 123 number of times that each neighbor AP appears as $AP_{best}$. For each device,
124 we calculate the fraction of the top $n (1 \le n \le 3)$ dominant neighbor APs. 124 we calculate the fraction of the top $n (1 \le n \le 3)$ dominant neighbor APs.
125 Figure~\ref{fig:dominantap} shows the CDF of dominant AP fraction. By sharing 1, 125 Figure~\ref{fig:dominantap} shows the CDF of dominant AP fraction. By sharing 1,
126 -2 or 3 neighbor APs, half the device's sub-optimal connection time can be 126 +2 or 3 neighbor APs, the suboptimal connection time for 50\% of the devices can be
127 reduced by 55\%, 82\% and 90\% respectively. 127 reduced by 55\%, 82\% and 90\% respectively.
128 128
129 \begin{figure}[t] 129 \begin{figure}[t]
@@ -143,7 +143,7 @@ purpose, we build a reciprocal sharing graph $G_r=(V, E)$, where $V$ is the set @@ -143,7 +143,7 @@ purpose, we build a reciprocal sharing graph $G_r=(V, E)$, where $V$ is the set
143 of APs, and $\langle AP_i \rightarrow AP_j \rangle \in E$ if $AP_i$'s clients 143 of APs, and $\langle AP_i \rightarrow AP_j \rangle \in E$ if $AP_i$'s clients
144 receive better signal from $AP_j$, that is, $AP_j$ appears as $AP_{best}$ in the 144 receive better signal from $AP_j$, that is, $AP_j$ appears as $AP_{best}$ in the
145 scan results of $AP_i$'s clients. Note that according to the definition, $AP_i$ 145 scan results of $AP_i$'s clients. Note that according to the definition, $AP_i$
146 -is one of the identified home APs, while $AP_j$ could be other arbitrary APs. 146 +is one of the identified home APs, while $AP_j$ could be any other arbitrary AP.
147 Loops in $G_r$ represent reciprocal sharing opportunities. 147 Loops in $G_r$ represent reciprocal sharing opportunities.
148 148
149 To capture the reciprocal sharing relationships among \PhoneLab{} participants, 149 To capture the reciprocal sharing relationships among \PhoneLab{} participants,
@@ -174,7 +174,7 @@ APs, node 0 and 7, which exhibit reciprocal sharing relationships. @@ -174,7 +174,7 @@ APs, node 0 and 7, which exhibit reciprocal sharing relationships.
174 174
175 We must point out that \PhoneLab{} participants reside sparsely among the vast 175 We must point out that \PhoneLab{} participants reside sparsely among the vast
176 Buffalo area, and the above analysis is further restricted to those participants 176 Buffalo area, and the above analysis is further restricted to those participants
177 -that we can detect their home APs using heuristics described 177 +whose home AP can be detected using heuristics described
178 Section~\ref{subsec:homeap}. The consequence of such sparsity is that most of 178 Section~\ref{subsec:homeap}. The consequence of such sparsity is that most of
179 the neighbor APs which can provide better signal are not one of the identified 179 the neighbor APs which can provide better signal are not one of the identified
180 home APs, thus are not shown in Figure~\ref{fig:reciprocal}. To quantify the 180 home APs, thus are not shown in Figure~\ref{fig:reciprocal}. To quantify the
related.tex
@@ -10,22 +10,22 @@ share access to the open \wifi{} network. On other hand, FON~\cite{fon} is a @@ -10,22 +10,22 @@ share access to the open \wifi{} network. On other hand, FON~\cite{fon} is a
10 commercial Wifi sharing network, where registered users can roam over 10 commercial Wifi sharing network, where registered users can roam over
11 FON-supported Wifi networks. WLAN owners share their Wifi network either for 11 FON-supported Wifi networks. WLAN owners share their Wifi network either for
12 small money compensation, or to get Wifi access to other users when they are way 12 small money compensation, or to get Wifi access to other users when they are way
13 -from home (roaming). FON aims at providing global Wifi sharing community where  
14 -users want to connect to others' Wifi network because they are way from home and 13 +from home (roaming). FON aims at providing a global Wifi sharing community where
  14 +users want to connect to others' Wifi network because they are away from home and
15 have no WLAN access. 15 have no WLAN access.
16 16
17 Both OpenWireless and FON aim at sharing \wifi{} access between strangers either 17 Both OpenWireless and FON aim at sharing \wifi{} access between strangers either
18 -through volunteering or financial incentives. Whereas in our proposal, users share 18 +through volunteering or financial incentives. In contrast, in our proposal, users share
19 Wifi network locally (within neighbors) for better network performance, and the 19 Wifi network locally (within neighbors) for better network performance, and the
20 sharing relationship is immediate (between two parties) and stable (physical 20 sharing relationship is immediate (between two parties) and stable (physical
21 neighbor relationship). 21 neighbor relationship).
22 22
23 -There are also rich literature on cooperative \wifi{} sharing. Dimopoulos 23 +There are also several works on cooperative \wifi{} sharing. Dimopoulos
24 \textit{et al.}~\cite{efstathiou2010controlled} propose a reciprocal Wifi 24 \textit{et al.}~\cite{efstathiou2010controlled} propose a reciprocal Wifi
25 sharing mechanism and later extend it to a large scale peer-to-peer Wifi 25 sharing mechanism and later extend it to a large scale peer-to-peer Wifi
26 roaming framework~\cite{dimopoulos2010exploiting}. They mostly focus on the 26 roaming framework~\cite{dimopoulos2010exploiting}. They mostly focus on the
27 -reciprocal manner of sharing: each user who share his/her WLAN will obtain  
28 -digital proof service (\textit{receipts}), which represent a ``I-owe-you'' 27 +reciprocal manner of sharing: each user who shares his/her WLAN will obtain
  28 +digital proof of service (\textit{receipts}), which represents a ``I-owe-you''
29 relationship. These receipts can later on be consumed to get reciprocal Wifi 29 relationship. These receipts can later on be consumed to get reciprocal Wifi
30 access from other users. Such reputation mechanisms can also be applied to 30 access from other users. Such reputation mechanisms can also be applied to
31 \wisefi{}, although they can be simplified since the sharing is between two 31 \wisefi{}, although they can be simplified since the sharing is between two