SlideShare une entreprise Scribd logo
1  sur  23
Bubble-Sensing:

A New Paradigm for Binding a Sensing Task to the Physical World using Mobile Phones

Hong Lu∗ Nicholas D. Lane∗

∗ Dartmouth



Shane B. Eisenman†



Andrew T. Campbell∗



College Hanover, New Hampshire, USA {hong,niclane,campbell}@dartmouth.edu



University New York, New York, USA shane@ee.columbia.edu



† Columbia



Abstract—We propose Bubble-Sensing, a new sensor network abstraction that allows mobile phones
users to create a binding between tasks (e.g., take a photo, or sample audio every hour indefinitely) and
the physical world at locations of interest, that remains active for a duration set by the user. We
envision mobile phones being able to affix task bubbles at places of interest and then receive sensed
data as it becomes available in a delay-tolerant fashion, in essence, creating a living documentary of
places of interest in the physical world. The system relies on other mobile phones that opportunistically
pass through bubble-sensing locations to acquire tasks and do the sensing on behalf of the initiator, and
deliver the data to the bubblesensing server for retrieval by the user that initiated the task. We describe
an implementation of the bubble-sensing system using sensor-enabled mobile phones, specifically,
Nokia’s N80 and N95 (with GPS, accelerometers, microphone, camera). Task bubbles are maintained at
locations through the interaction of “bubble carriers”, which carry the sensing task into the area of
interest, and “bubble anchors”, which maintain the task bubble in the area when the bubble carrier is no
longer present. In our implementation, bubble carriers and bubble anchors implement a number of
simple mobile-phone based protocols that refresh the task bubble state as new mobile phones move
through the area. Phones communicate using the local ad hoc 802.11g radio to transfer task state and
maintain the task in the region of interest. This task bubble state is ephemeral and times out when no
bubble carriers or bubble anchors are in the area. Our design is resilient to periods when no mobiles
pass through the bubble-area and is capable of “reloading” the task into the bubble region. In this
paper, we describe the bubble-sensing system and a simple proof of concept experiment.



I. I NTRODUCTION The mobile phone has become a ubiquitous tool for communications, computing, and
increasingly, sensing. Many mobile phone and PDA models (e.g., Nokia’s N95 and 5500 Sport, Apple’s
iPhone and iPod Touch, and Sony Ericsson’s W580 and W910) commercially released over the past
couple years have integrated sensors (e.g., accelerometer, camera, microphone) that can be accessed
programmatically, or support access to external sensor modules connected via Bluetooth. The sensed
data gathered from these devices form the basis of a number of new architectures and applications [3]
[2] [1] [7] [6]. We present the Bubble-Sensing system, that acts to support the persistent sensing of a
particular location, as required by user requests. Conceptually, a user with a phone that has opted into
the Bubble-Sensing system visits a location of interest, presses a button on his phone to affix the sensing
request to



the location, and then walks away. The sensing request persists at the location until the timeout set by
the initiator is reached. This mechanism can be viewed as an application in its own right (e.g., a user
slogging [4] his life), and as a persistent sensing building block for other applications. While the notion of
virtually affixing sensor tasks to locations is appealing, it requires some work to implement this service
on top of a cloud of human-carried phone-based sensors. First, since the mobility of the phones is
uncontrolled there is no guarantee that sensors will be well-placed to sample the desired location
specified by the sensing task. Further, there is the issue of communicating the sensing task to potential
sensers when they are well-positioned. This is made more difficult when, either due to hardware or user
policy limitations, an always-on cellular link and localization capabilities are not available on all phones.
For example, wireless data access via EDGE, 3G, or open WiFi infrastructure is increasingly available, as is
the location service via on-board GPS, WiFi, or cellular tower triangulation. However, for example, only a
subset of mobile phones on the market have GPS and WiFi, and even when devices have all the required
capabilities, users may disable the GPS and or limit data upload via WiFi and cellular data channels to
manage privacy, energy consumption, and monetary cost. Though the mobility in a people-centric
sensor network is not controllable, it is also not random. In an urban sensing scenario, the visited areas
of interest for one person are likely to be visited by many others (e.g., street corners, bus/subway
stations, schools, restaurants, night clubs, etc.). We imagine a heterogeneous system where users are
willing to share resources and data and to fulfill sensing tasks. Therefore, the bubble-sensing system
opportunistically leverages other mobile phones as they pass by on behalf of a sensing task initiator. We
adopt a two tier hardware architecture comprising the bubble server on the back end; and sensor-
enabled mobile phones that can initiate sensing bubbles, maintain sensing bubbles in the designated
location, replace bubbles that disappear due to phone mobility, enact the sampling as indicated by the
sensing bubble, and report the sensed data back to the bubble server. Mobile phones participating in
the bubble-sensing system take on one or more roles depending on their mobility characteristic,
hardware capabilities, and user profiles. The bubble creator is the device whose user initiates
2



the sensing request that leads to the creation of the sensing bubble. The bubble anchor keeps the
bubble in the region of interest by broadcasting the sensing request. The sensing node perceives the
bubble by listening to the broadcasts, takes samples within the area of interest according sensing
request, and then uploads the results to the bubble server. The bubble carrier can help to restore a
bubble if all bubble anchors are lost.


 The bubble server binds the results to the bubble, which can be queried by the bubble creator at any
time.


We have implemented the bubble-sensing system using Nokia N95 mobile phones.


In Section II, we describe the specific responsibilities of the virtual roles mentioned above and provide
details on the communication protocols required to implement these roles. Sections III and IV decribes
our current implementation and a preliminary evaluation of bubble-sensing using a N95 testbed,
reporting on temporal sensing coverage, and on a measure of sensed data quality. In Section V, we
investigate the performance of the system at scale and under a different mobility patter to extend our
testbed results. We discuss related work from the pervasive and mobile ad hoc networking
communities, including comparisons to alternative implementation choices, in Section VI. In Section VII,
we discuss possibilities for extending the current work and offer concluding remarks. II. B UBBLE -S
ENSING Sensing tasks are created and maintained in the bubblesensing system through the interaction
of a number of virtual roles, where a given physical node can take on one or more virtual role based on
its location, device capabilities (e.g., communication mode, sensor), user configuration (when and to
what extent resources should be shared for the common good), device state (e.g., an ongoing phone call
may preclude taking an audio sample for another application), and device environment (e.g., a picture
taken inside the pocket may not be meaningful to the data consumer). In the bubble-sensing system, a
task is a tuple (action, region, duration) The action can be any kind of sensing operation such as “take a
photo”, or “record a sound/video clip”. The region is defined as the tuple (location, radius), where
location is a point in a coordinate system like GPS indicating the center of the region, and the radius
defines the area of the region. We call this region of interest the “sensing bubble”. In the following, we
describe each of the virtual roles (i.e., bubble creator, bubble anchor, sensing node, and bubble carrier)
in the context of the major system operations: bubble creation, bubble maintenance, bubble
restoration. A. Bubble Creation The bubble creator is the device whose user initiates the sensing request
that leads to the creation of the sensing bubble. Generally speaking, there are two ways a bubble can be
created. In the first scenario, the creator is a mobile phone. The phone’s carrier moves to the location of
interest and creates the sensing task. In the second scenario, the creator is any entity that registers a
task with the bubble server, but does
interact with other nodes at the location of interest in support of the sensing. As the process flow for
the second case is a subset of the first (c.f. bubble restoration in Section II-D), in the following we omit
any further explicit discussion of the second scenario. Proceeding with a discussion of the first scenario,
we assume the bubble creator is a mobile device at the location of interest with a short range radio for
local peer interactions. The creator broadcasts the sensing task using its short range radio. If the user
has enabled cellular data access to the backend bubble server, the creator also registers the task with
the bubble server. If the creator has localization capability, it populates the region field of the task
definition, and the sensing bubble is created with its center at this location. Otherwise, the region field
of the task is left blank in the broadcast, and the sensing bubble is created with its center at the current
location of the creator where the area of the bubble is determined by its radio transmission range. Note,
that if the creator is not able to obtain a location estimate and register its task with the bubble server, it
will not be possible to restore the bubble later (c.f. Section II-D) in case the bubble disappears due to
temporary lack of suitable mobile nodes in the area of interest. Nodes that receive the task broadcast
and meet the hardware and context requirements for the sensing task can then sense in support of the
task, and will later upload the sensed data to the bubble server in either a delay-tolerant (e.g.,
opportunistic rendezvous with an open WiFi access point), or real-time (e.g., the cellular data channel)
manner. B. Bubble Maintenance Given the uncontrolled mobility of the creator, it may happen that the
creator leaves the bubble location while the bubble task is still active (as specified in the duration field of
the task). If this happens, it is no longer appropriate for the creator to broadcast the task since recipients
of this broadcast will not be in the target bubble location. A way to anchor the bubble to the location of
interest is needed; the bubble anchor role fills this requirement. The node that takes on this role should
be relatively stationary at the target location of the task. We propose two variants for bubble anchor
selection, one that requires localization capability on all nodes (e.g., GPS), and one that uses inference
from an accelerometer for mobility detection. 1) Location-based: In the location-based approach, all
nodes that find themselves in the sensing bubble with knowledge of the bubble task (i.e., they can hear
the bubble task broadcasts) are potential anchor candidates. If the candidate does not hear another
anchor (as indicated by a special field populated in the bubble task broadcast) for a particular threshold
time, indicating the bubble is not currently covered by an anchor, it prepares to become the anchor for
that bubble. Each candidate anchor backs off a time proportional to its mobility as measured by speed
inferred from changes in the location fixes. After this backoff time, a candidate that does not overhear
any other anchor broadcasting the task then assumes the role of bubble anchor. The anchor will
continue
3



to broadcast the task beacon (with the special field to indicate an anchor is sending it) until it moves out
of the location of interest for that bubble. 2) Mobility-based: In the mobility-based approach, like the
location-based approach, nodes that can hear the bubble task broadcasts are potential anchor
candidates. If the candidate does not hear another anchor broadcasting the bubble task, it backs off a
time proportional to its mobility, as inferred from data collected by its accelerometer. After this backoff
time, a candidate that does not overhear any other anchor broadcasting the task then assumes the role
of bubble anchor. The anchor will continue to broadcast the task beacon (with the special field to
indicate an anchor is sending it) until it moves out of the location of interest for that bubble. In this case,
the mobility is again determined through classification of data from the on-board accelerometer. C.
Challenges to Bubble Maintenance The broadcast-based approach to bubble maintenance introduces
two main sources of error to the data collected in support of the sensing task. First, since we do not
require sensing nodes to have knowledge of their absolute location, recipients of the task broadcast that
are outside of the bubble area defined in the broadcast may still collect and upload data to the bubble
server. This potentially makes the effective bubble size larger than the specified bubble size.


The extent of this distortion depends both on the radio range of the task broadcast, and the location of
the broadcaster (i.e., bubble creator, bubble anchor, and bubble carrier - c.f. Section II-D) with respect
to the specified bubble center location. If locationbased bubble maintenance is used, or if the sensing
node has localization capabilities, the location information may be used to compensate the transmission
power of the task broadcast or suppress sensing when nodes are outside of the defined bubble area to
reduce this bubble distortion. The second source of error is bubble drift, which can happen for two
reasons. First, drift can happen over time if the anchor moves but continues to broadcast the bubble
task due to inaccuracy in its mobility/location-detection methods. While improvements in localization
technology and mobility classification can help here, we also explicitly limit the consecutive amount of
time a node can act as the anchor for a given bubble.


 Assuming a probabilistic mobility/location error model, it would be possible to calculate the appropriate
timeout to probabilistically limit the bubble drift below a desired level. The second cause of bubble drift
is limited to the mobility-based bubble maintenance method where ubiquitous localization not
assumed. In this case, as the current anchor gives up its role (e.g., out of battery, or anchor role timeout,
move out of the bubble region), one of other semi-stationary or slow moving nodes available in the
bubble will take over the anchor role as mentioned in Section II-B. This can be viewed as a passive role
handoff. However, with each handoff the center of the bubble drifts to the location of the new anchor
and over time this can markedly distort the sensing coverage of the bubble. To counteract this source of
drift, we implement
a limit on the number of anchor handoffs. After the handoff limit is reached, the anchor must be
reinitialized by the bubble restoration process described in the following. D. Bubble Restoration Due to
node mobility, it may happen that no nodes are available to anchor the bubble to the desired location
and the bubble may temporarily disappear. To address this scenario, the bubble-sensing system
provides a mechanism for bubble restoration through the actions of bubble carrier nodes. Mobile
phones filling the bubble carrier role require localization capability and a connection to the backend
bubble server. Bubble carriers periodically contact the bubble server, update their location, and request
any active sensing bubbles in the current region. If a bubble carrier visits the location of one of these
bubbles and does not hear any task broadcasts, it attempts to restore the bubble by broadcasting the
task without the special anchor field set (in the same way the bubble creator did initially). Through this
method, either the bubble will be restored with a new anchor node taking over the bubble
maintenance, or this attempt at restoration fails. Bubble restoration attemps continue via the bubble
carriers until the bubble expires (as indicated by the duration field in the bubble task definition). III. I
MPLEMENTATION We build a proof-of-concept mobile cell phone test bed to demonstrate the bubble
sensing system. The test bed consists of Nokia N80 and N95 smart phones, both of which run Symbian
OS S60 v3. Due to the security platform in Symbian, some hardware access APIs are restricted at the OS
level and are not open to developers, or require a high privilege certificate. In light of the platform
limitations on these two mobile phones, in this section, we discuss the options available and our
implementation choices. A. Programming Language We use Pys60 to prototype our system. PyS60 is
Nokia’s port of Python to the Symbian platform. It not only supports the standard features of Python,
but also has access to the phone’s functions and the on-board sensors (e.g., camera, microphone,
accelerometer and GPS), software (e.g., contacts, calendar), and communications (e.g., TCP/IP,
Bluetooth, and simple telephony). In addition to that, the developer can easily add access to the native
Symbian APIs using the C/C++ extension module. In this regard, Pys60 is more flexible than Java J2ME in
providing robust access to native sensor APIs and phone state, as we discoved in our initial
development. B. Communication The Nokia N80 and N95 mobile phones are both equipped with
GPRS/EDGE, 3G, Bluetooth and WiFi interfaces. For data uplink, they can leverage GPRS, SMS, and MMS
for the universal connectivity, and WiFi/Bluetooth access points can also provide Internet access when
available. For local communication, Bluetooth and WiFi are two possible choices. In our
4



Stationary Moving



Stationary 0.9844 0.0921



Moving 0.0155 0.9079



TABLE I T HE CONFUSION MATRIX FOR OUR STATIONARY / MOVING CLASSIFIER .



test bed, WiFi is our choice for both local communication and communication to the Internet.
Considering the cost of the data service for GPRS and existing open WiFi infrastructure in the academic
and urban environments, WiFi is a natural choice for Internet access.


To implement bubble-sensing, broadcast is fundamental and indispensable. While our initial choice for
local communication was Bluetooth since it currently enjoys a higher rate of integration into mobile
phones, we found peer to peer broadcast with Bluetooth technology to be particularly difficult.
Fortunately, we can configure the phones to use the Ad-Hoc IEEE 802.11 mode and the UDP
broadcasting over WiFi is relatively easy to use. In out current version, the phone uses Ad-Hoc mode
when interacting locally with peers, and infrastructure mode to connect to the bubble server. Phones
can switch between these two modes on the fly when necessary. The lag of the mode switch is as low as
a few seconds. We also set the transmit power of the WiFi interface to the lowest, 4mW, in order to
save energy.



Fig. 1. The BluCel device provides a 3D accelerometer that can be connected to the mobile phone (e.g.,
Nokia N95 or N80) via Bluetooth.



D. Localization There are many existing solutions that provide a localization service for mobile phones,
including built-in/externalconnected GPS, cell-tower triangulation (GSM fingerprint), Bluetooth indoor
localization, and WiFi localization systems such as Skyhook and Navizon. For Symbian, to get all the cell
towers information requires a high privilege certificate not available to most developers. Usually, the
developer can only get the information about the cell tower to which the phone is currently connected.
This does provide a rough sense of where the device is, but is not sufficient for the triangulation
algorithm. Therefore, in the outdoor case we simply use GPS. For indoor, the WiFi fingerprint is a natural
choice for academic and urban environments, given the relatively widespready coverage of WiFi
infrastructure. E. System Integration Use of the mobile phone as a sensor in the bubble-sensing system
should not interfere with the normal usage of the mobile phone. Our bubble-sensing software
implementation is light weight, so users can easily switch it to background, and use their phone as usual.
The software only accesses sensors on demand and release the resources immediately after use. An
incoming or user-initiated voice call has high priority, and our software does not try to access the
microphone when it detects a call connection. By adapting in this way, our implementation does not
disrupt an ongoing call and also the bubble-sensing application will not get killed by an incoming call. We
test the CPU and memory usage of our software in a Nokia N95, using a bench mark application,
CPUMonitor [13]. The peak CPU usage is around 25%, which happens when sound clips are taken.
Otherwise, the CPU usage is about 3%. The memory usage is below 5% of the free memory, including
the overhead of the python virtual machine and all the external modules. IV. T ESTBED E VALUATION In
order to evaluate our implementation of the bubblesensing system, we perform a series of indoor
experiments. The aim of this evaluation is to validate the performance of a mobile cell phone network
and how it can benefit from the use of bubble sensing mechanisms, mainly in terms of the number of
data samples collected and the time coverage of those samples.



C. Sensors and Classifier Camera and microphone sensors are universal on mobile phones nowadays. In
our experiment, to save storage and lower the transmission load, we use lower resolution pictures (640
× 480 pixels). For sound, we record two second sound clips in .au format; each sound clip is about 28 kB.
All data collected are time stamped. For the accelerometer and GPS sensors, the N95 comes with an on-
board GPS and a built-in 3D accelerometer. We extend the N80 using the external BluCel device (see
Figure 1), basically a Bluetoothconnected 3D accelerometer. Both types of accelerometers are
calibrated, and the data output are normalized to earth gravity. The sampling rate is set to 40 Hz.
Phones perform some relatively simpl processing on the data samples (e.g., mean, variance, and
threshold) and feed the features extracted from data samples to a simple decision tree classifier, which
classifies the movement of people carrying the phone.


The classifier does not require the user to mount the mobile phone in a particular way; users can simply
put the phone in a pocket or clip it on the belt. The tradeoff for this flexibility is that the classifier can
only differentiate basic movements of people, i.e., stationary, walking, running. Complicated
movements like stair-climbing and cycling will likely by classified as either walking or running. However,
our system only requires the discriminiation between stationary and moving. In this sense, this light
weight classifier provides sufficient accuracy (see the confusion matrix in Table I).
5



A. Experiment Setup Ten mobile phones are carried by people who move around three floors of the
Dartmouth computer science building. The participants are told to carry the cell phones as they
normally would. Most of the time the mobile phones are put in the front or back pockets and sometime
held in the hand (e.g., when making a call, checking the time, sensing a SMS message, etc). Static
beacons are used to provide a WiFi localization service. In our experiments, the center of the task
bubble is defined to be the Sensor Lab, which is a room on the middle of the three floors. The task is
assumed to already be registered by the bubble creator. During the experiment, we play music in the
bubble and the task is simply capturing sound clips in this room once every ten seconds. To emulate a
heterogeneous network, we intentionally limit device capabilities (i.e., long range connectivity and
localization) in some cases. We evaluate the following five different cases: • Static sensor network. for
comparison, we deploy one static sensor node (a N95) in the center of the bubble, programmed to
periodically do the sensing. The static node is about three meters away from the source of the music, a
pair of speakers, and the microphone is pointed in the direction of the music source. • Ideal mobile
sensor network. Mobile nodes in the network always have cellular data uplink and localization and can
therefore always retreive the bubble task from the bubble server, and can tell when to do the sensing.
No bubble sensing techniques are used; in fact none are required since all nodes know about all bubble
tasks in the system. The results of this case represent an upper bound on what can be expected in the
system when using mobile sensors. • Limited-capability mobile sensor network. Assuming universal
always-on connectivity is unrealistic. Here we make the more realistic assumption that mobile nodes
have only a 0.25 probability of an available data uplink (ability to fetch the task from the bubble server
and do the sensing) when they enter the bubble. In this scenario, all nodes are still assumed by have the
capability for localization. Again, no bubble-sensing techniques are used. • Bubble-sensing with location-
based bubble maintenance. This scenario builds on the limited-capability mobile sensor network case by
adding bubble carrier and bubble anchor functionality. Therefore, any nodes they hear task broadcasts
and are in the bubble will do the sensing.


Bubbles are maintained using the location-based scheme (universal localization capability assumed), and
are restored using bubble carriers. Mobile nodes entering the bubble location become task carriers with
a 0.25 probability as before. • Bubble-sensing with mobility-based bubble maintenance. This scenario
mirrors the previous, but uses mobilitybased bubble maintenance which does not require localization
for sensing nodes or anchors, but instead uses radio range to define the bubble size and inference of
human mobility from accelerometer data [10] to estimate relative location to the bubble. Mobile nodes
entering the bubble location become



task carriers with a probability of 0.25 that now includes the probability of having both an available data
uplink and localization capability. The mobility of the human participants is uncontrolled, but clearly
plays a dominant role in the sensing coverage achievable with the bubble-sensing system. Similarly,
environmental factors impact the noise environment and thus impact the data that are collected by the
mobile sensors.


To ensure the five schemes are evaluated in the same environment, we implement them all in the same
multi-threaded application and collect data for them simultaneously. The data samples are stored locally
and forwarded to the bubble server opportunistically when the phone switches to infrastructure mode,
for the duration of the experiment. Any remaining data is transferred to a laptop over USB at the end of
the experiment. The analysis is done offline in the backend sever. B. Results We conduct three trials
using 11 mobile phones at different times of the day, including both day and night, to capture natural
variations in density and mobility pattern. Trial 1 lasts 1936 seconds during the day-time work hours
when people are more stationary; Trial 2 lasts 1752 seconds during the eveningtime work hours; trial 3
lasts 1198 seconds during a more mobile period. In some cases, we did not get data from all the mobile
phones; some did not enter the bubble, and for others the user profile prohibited them from
participating (i.e., emulated by the 0.25 probability for task download).


We got data from 9, 8, and 7 for the trials 1, 2, and 3, respectively.


Table II shows raw sample counts taken during each of the trials for each of the five schemes. The table
also indicates the samples taken outside of the bubble due to drift in the mobility-based scheme.

Static Ideal Limited Locationbased 967 579 294 Mobilitybased All Out 1004 78 607 42 304 40



Trial 1 Trial 2 Trial 3



158 143 98



1026 679 324



181 165 74



TABLE II S AMPLE COUNTS FOR THE FIVE SCHEMES DESCRIBED IN S ECTION IV-A: STATIC , IDEAL ,
LIMITED , LOCATION - BASED , MOBILITY- BASED .
Figure 2, shows the time distribution of the collected data samples. It is a 500 second snap shot of trial
2. Each dot in this figure represents one sample. The Y axis lists the five schemes we compare. The
distribution of all the mobile schemes is not uniform, because the ability to sense is influenced by
uncontrolled mobility. For the mobility-based bubble-sensing scheme, the circled dots show where
samples are taken outside the bubble due to bubble distortion and drift. In all mobile schemes,
sometime we have dense readings because multiple sensors stay in the bubble, and sometimes there is
a gap in the sensor data due to the absence of sensors. In terms of sensing coverage over time, the
bubble-sensing schemes give
6



Location−based Mobility−based Limited Ideal Static 0 50 100 150 200 250 Time 300 350 400 450 500



Fig. 2. Sensing coverage over time for each of the five test scenarios described in Section IV-A. The
circled points are samples taken outside the bubble due to bubble drift. The bubble sensing cases do a
good job of approximating the ideal case, especially for the location-based bubble maintenance case.



a good approximation of the ideal mobile sensing scenario, especially in the location-based bubble
maintenance case. For the mobility-based bubble maintenance base, we see that the percentage of
samples taken outside the defined bubble is less than 10%, which we conjecture is an acceptable error
given the flexibility the scheme provides in not requiring localization for sensing nodes or bubble
anchors. Further, data just outside the bubble may still be of use to the data consumer.


To examine how the data collected by the bubble-sensing system compares with that from the static
node, we compute the root mean square (RMS) of the average sound signal amplitude. In Figure 3, we
plot the RMS derived from every sound clip recorded by the two different schemes, the static node
(thick red) and bubble sensing with mobility-based bubble maintenance (thin blue). The bubble-sensing
curve contains more data points (140) than the static curve (41), reflecting the mobile nodes that
opportunistically sample over the 500 second window, as opposed to the single periodic static sensor.
While the two curves share general trends, they do not match exactly. There are two main factors
contributing to this phenomenon, i.e., mobility and context. The static node remains stationary 3 meters
from the sound source, while the mobile nodes move in and out of the audio range of the source,
affecting the volume of the samples. Another factor affecting the volume is the sampling context. Users
carry the cell phone in their pocket and the pant material serves as a kind of muffler.


Also, the orientation of the microphone matters.


However, the sampled data does match the general sound situation in the target region, which may be
good enough to support applications when static sensor deployments are not present. Thus, bubble-
sensing provides the flexibility of personalizable sensing regions, but sacrifices some signal fidelity. V. S
IMULATION We perform a simulation of a larger and more complete mobile sensing system to consider
the impact of bubblesensing on system level operating characteristics. We assume a sensor network
comprising the backend bubble server and a population of mobile sensors. The bubble server accepts
sensing task registration both from phones and other entities, as described in Section II-A. As in the
testbed experiment, all tasks have been registered with the bubble server before we start the
simulation. With these simulations we assess two test



x 10 12



−3



SB w/o Loc Static Node



10



RMS ( Power )



8



6



4



2



0 0 100 200 Time 300 400 500



Fig. 3. In terms of data fidelity, the bubble sensing approach provides sound data whose trend follows
that of the static sensor.


In practice, the required fidelity of the signal captured by the task is application-specific.
cases: the first using the bubble-sensing techniques, and the other using a centralized approach similar
to the ideal case described in Section IV-A. A. Experiment Setup The system setup for both test cases is
the same. We build a discrete time Java simulator in which a 100 mobile sensors roam over a simulation
area of 100 × 100 distance units. All sensors maintain a queue of sensing tasks. The number of tasks in
this queue is bounded to 10 to reflect resource limitations on the phones. Tasks are defined as described
in Section II. All sensors can localize themselves, and the estimation of their position is subject to error
selected uniformly at random between 0 and 10 distance units at each time step. All sensors have a
wide area data uplink connection to the bubble server that has coverage over the entire simulation area.
We assume nodes update their location to the bubble server such that the bubble server is aware of all
nodes’ estimated location at each time step.


We neglect the signaling costs of this location tracking in our analysis.


In practice, an implementation of the centralized scheme would require a much higher overhead in this
regard since nodes are paged and tasked directly from the bubble server for each sensing operation,
whereas in the bubble-sensing approach only bubble carriers need to update their location to the
server. A simplistic local peer-to-peer radio model is assumed with perfect reception within 10 distance
units and no reception outside 10 distance units. Nodes
7



25



250



centralized bubbles



bubbles centralized



20



15



local_tasking



wan−tasking



10



5



0



0
500



1000 time



1500



2000



0



50



100



150



200



0



500



1000 time
1500



2000



Fig. 4.



WAN activity that occurs in support of the sensing task workload.



Fig. 5. Contrast of the number of local peer-to-peer messages exchanged during simulation.



move according to a variant of random waypoint mobility that is adjusted to compensate for the well-
known speed decay phenomena. The maximum speed is set to 4 distance units per time step. Under the
centralized scheme, the bubble server assigns the appropriate respective sensing task over the WAN
connection to any node that has a location estimate within any of the bubbles’ region of interest.
Sensing tasks are executed by the sensing node until its location estimate indicates it has left this bubble
region, at which point it notifies the backend infrastructure. The same task may be assigned
concurrently to any of the nodes that are within a particular bubble. Under the bubble-sensing scheme,
the bubble server assigns sensing tasks to bubble carriers that are within 20 distance units of a bubble
center. Again, the same task may be assigned concurrently to any of the nodes that are within this
distance from a particular bubble center. If bubble carriers enter the defined bubble region, they take on
the sensing role as well as broadcasting the task to other nodes to sense and/or find an anchor, as
described in Section II-D. A sensing task stays in the node’s queue until the node has both entered and
subsequently left the bubble region.


At this point the task is dropped from the queue to free the resource for other tasks that may be queued
at the bubble server. To avoid unfair load on a particular node, a node that is assigned a task by the
server and becomes a bubble carrier, will not be assigned a new task (regardless of appropriate location)
until after timeout of 100 time units has elapsed. B. Results In the following results we perform
simulations lasting 10,000 time units where a collection of 10 tasks remain active for the entire period.
Initial node placement is random within the 100 × 100 square. Bubble center locations are also set
randomly when the tasks are registered with the bubble server, and the bubble radius is always 20
distance units. We perform each simulated test case 5 times and report average results. In all figures, we
report a window of the simulation results that ranges from time unit 2,000 to time unit 4,000. By this
point,
Centralized Scheme collected samples 20 0 0 5 10



500



1000 time



1500



2000



Bubbles Scheme collected samples 20 0 0 5 10



500



1000 time



1500



2000



Fig. 6.



Time series comparison of the quantity of samples collected.
steady state behaviour has been reached, and performance results are no longer being skewed by cold
start effects. Figure 4 shows the WAN usage of both the centralized and bubble-sensing schemes during
the simulation. Not surprisingly, WAN use occurs most heavily under the centralized scheme since all
tasking occurs directly from the bubble server. The WAN use for bubble-sensing has a periodic pattern
due to time-clustered tasking timeouts on multiple nodes. While WAN use is far lower in the bubble-
sensing approach, a disproportionately smaller reduction in the collection of data occurs indicating that
local communication between the mobile nodes is working effectively to keep the sensing bubble alive.
The reverse situation occurs with respect to short range communication. In Figure 5, we observe
significant quantities of these exchanges occurring under the bubblesensing scheme. Under the
centralized scheme such local communications do not take place by definition. In Figure 6, we consider
the ability of bubble-sensing to approximate the sample collection performance of the centralized
scheme. The temporal continuity of coverage seen in the centralized approach (the lower panel) is
mirrored by the bubble-sensing scheme. However the quantity of samples
8



collected has a far higher variance under the bubble-sensing scheme. Under the centralized approach
the mobility pattern is paramount in determining the performance of sample collection, since if a mobile
sensor moves within a region of interest sampling is very likely to occur. But under the bubblesensing
scheme sample collection is influenced more heavily by a wider range of factors including the mobility
pattern relative to bubble regions, the relationship of the tasking times to the arrival process of nodes to
bubble regions, and the frequency of node rendezvous (when they are within local radio range of each
other) that occur within the bubbles.


Also, it is interesting to note that there are no noticeable gaps in the plots in Figure 6, whereas in Figure
2 for the testbed results there times when no samples are received even for the Ideal case. This is due to
the difference in mobility pattern: in the simulation nodes are more or less evenly distributed at all
times, whereas in the real testbed, with fewer mobile nodes, the visitations to the bubble region are
much more bursty. What is not clearly visible in Figure 6 is the penalty that occurs in the simulation for
the reduction in overhead enabled by bubble-sensing. We observe that while the temporal continuity in
collected samples achieved with the centralized scheme is maintained with bubble-sensing, the absolute
number of the samples collected is somewhat reduced, mirroring the similar relationship we see in the
Table II for the testbed results between the Ideal and Location-based cases. Thus, the principal tradeoff
of the bubble-sensing approach is the ability to reduce the reliance on WAN connectivity, which may or
may not be desirable (e.g., due to monetary cost) or feasible (e.g., due to lack of universal coverage),
while maintaining support for the same sensing task load as by a centralized scheme, but losing some
fidelity through fewer collected samples. The impact on application fidelity of this lower number is
different from application to application, and is also sensitive to threshold when additional samples
transition from enhancing fidelity to being redundant. VI. R ELATED W ORK While the mobile phone is
ubiquitous, and the discussion of a mobile phone as a sensing device has some history [8] [5] [2] [1], no
large-scale mobile cell phone sensor networks have yet been deployed in practice. In the last year, the
smart phone market has grow rapidly (e.g., Nokia N95, Apple iPhone, Goggle gPhone), leading to a great
research opportunity. In this paper we present our first attempt to build a mobile cell phone network.
Use of information locality to achieve efficient, scalable sensor networking is a hot topic.


Ratnasamy, et al discuss the use of data centric storage to reduce the transmission overhead [11]. The
authors of [9] use a publish/subscribe mechanism to opportunistically disseminate information within a
specified geographical area using a vehicular networks. In contrast, in our work we focus on the locality
of the sensing task, and discuss how to fulfill the sensing task on top of a cloud of human-carried smart
phone-based sensors in the urban sensing context.
VII. C ONCLUSION We presented an approach to support persistent locationspecific task in a wireless
sensor network composed of mobile phones. Mobile sensor nodes collaborate and share sensing and
communication resources with each other in a cooperative sensing environment. We describe the
virtual roles nodes can assume in support of bubble-sensing, including the required local and backend
communication. We discussed the limitations, available options and our design decisions in the
implementation of a mobile phone-based sensing system. We demonstrated the feasibility of our
scheme via both simulation and a real test bed experiment. ACKNOWLEDGMENT This work is supported
in part by Intel Corp., Nokia, NSF NCS-0631289, and the Institute for Security Technology Studies (ISTS)
at Dartmouth College. ISTS support is provided by the U.S. Department of Homeland Security under
Grant Award Number 2006-CS-001-000001. The views and conclusions contained in this document are
those of the authors and should not be interpreted as necessarily representing the official policies,
either expressed or implied, of the U.S. Department of Homeland Security. R EFERENCES

[1] T. Abdelzaher, Y. Anokwa, P. Boda, J. Burke, D. Estrin, L. Guibas, A. Kansal, S. Madden, J. Reich.
Mobiscopes for Human Spaces. IEEE Pervasive Computing, vol. 6, no. 2, pp. 20-29, Apr-Jun, 2007. [2] J.
Burke, D. Estrin, M. Hansen, A. Parker, N. Ramanathan, S. Reddy, M. B. Srivastava. Partcipatory Sensing.
In Proc. of 1st Workshop on Wireless Sensor Web (WSW’06), pp. 1–5, Boulder, October 31, 2006. [3] A.
T. Campbell, S. B. Eisenman, N. D. Lane, E. Miluzzo and R. A. Peterson. People-Centric Urban Sensing
(Invited Paper). In Proc. of 2nd ACM/IEEE Int’l Conf. on Wireless Internet, Boston, Aug 2-5, 2006. [4] K.
Chang, N. Yau, M. Hansen, and D. Estrin. SensorBase.org A Centralized Repository to Slog Sensor
Network Data. In Proc. of the Int’l Conf. on Distributed Computing in Sensor Networks/EuroAmerican
Workshop on Middleware for Sensor Networks, San Francisco, Jun 2006. [5] N. Eagle and A. Pentland.
Reality Mining: Sensing Complex Social Systems. In Journal of Personal and Ubiquitous Computing, Jun
2005. [6] S. B. Eisenman, E. Miluzzo, N. D. Lane, R. A. Peterson, G.-S. Ahn, and A. T. Campbell. The
BikeNet Mobile Sensing System for Cyclist Experience Mapping. In Proc. of 5th ACM Conf. on Embedded
Networked Sensor Systems, Sydney, Nov 6-9, 2007. *7+ S. B. Eisenman and A. T. Campbell. “SkiScape
Sensing”. In Proc. of ACM 4th Intl Conf. Embedded Networked Sensor Systems, 2006. *8+ A. Kansal, M.
Goraczko, and F. Zhao. Building a sensor network of mobile phones. In Proc. of 6th Int’l Conf. on
Information Processing in Sensor Networks, Cambridge, Apr 25-27, 2007. [9] I. Leontiadis and C.
Mascolo. Opportunistic spatio-temporal dissemination system for vehicular networks. In Proc. of 1st Int’l
Mobisys Workshop on Mobile Opportunistic Networking, San Juan, Jun 11 2007). [10] J. Lester, T.
Choudhury, and G. Borriello. A Practical Approach to Recognizing Physical Activities. In Proc. of
Pervasive, Dublin, May 2006. [11] S. Ratnasamy, B. Karp, L. Yin, F. Yu, D. Estrin, R. Govindan, and S.
Shenker. GHT: A Geographic Hash Table for Data-Centric Storage in SensorNets. In Proc. of 1st ACM Int’l
Workshop on Wireless Sensor Networks and Applications, Atlanta, Sep 2002. [12] K. Romer, C. Frank, P.
Jose Marron, and C. Becker. Generic role assignment for wireless sensor networks. In Proc. of 11th ACM
SIGOPS European Workshop, pp 7–12, Leuven, Sep 2004. [13] CPUMonitor 1.10 for S60v3.
http://www.nokiapower.com/index.php? showtopic=7542.
Bubble sensing

Contenu connexe

En vedette (20)

Introducing eyeOS
Introducing eyeOSIntroducing eyeOS
Introducing eyeOS
 
Halo network
Halo network Halo network
Halo network
 
EyeOS
EyeOSEyeOS
EyeOS
 
Saving Human Lives with the IoT
Saving Human Lives with the IoTSaving Human Lives with the IoT
Saving Human Lives with the IoT
 
eye os
eye oseye os
eye os
 
Eyeosprsentation
EyeosprsentationEyeosprsentation
Eyeosprsentation
 
Hak voice-browser
Hak voice-browserHak voice-browser
Hak voice-browser
 
Project ara report 2
Project ara report 2Project ara report 2
Project ara report 2
 
The Halo Network
The Halo NetworkThe Halo Network
The Halo Network
 
seminar presentation on Project ara
seminar presentation on Project araseminar presentation on Project ara
seminar presentation on Project ara
 
Voice based web browser
Voice based web browserVoice based web browser
Voice based web browser
 
I mode ppt
I mode pptI mode ppt
I mode ppt
 
Voice Browser
Voice BrowserVoice Browser
Voice Browser
 
daknet
daknetdaknet
daknet
 
Red Eye Powerpoint Presentation
Red Eye Powerpoint PresentationRed Eye Powerpoint Presentation
Red Eye Powerpoint Presentation
 
DakNet PPT
DakNet PPTDakNet PPT
DakNet PPT
 
Zenoss seminar
Zenoss seminarZenoss seminar
Zenoss seminar
 
Google Wave
Google WaveGoogle Wave
Google Wave
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
 
Speech to text conversion
Speech to text conversionSpeech to text conversion
Speech to text conversion
 

Similaire à Bubble sensing

Mobsens -Journal paper
Mobsens -Journal paperMobsens -Journal paper
Mobsens -Journal paperEman Kanjo
 
Sherlock: Monitoring sensor broadcasted data to optimize mobile environment
Sherlock: Monitoring sensor broadcasted data to optimize mobile environmentSherlock: Monitoring sensor broadcasted data to optimize mobile environment
Sherlock: Monitoring sensor broadcasted data to optimize mobile environmentijsrd.com
 
Pablo_Panero_Report
Pablo_Panero_ReportPablo_Panero_Report
Pablo_Panero_ReportPablo Panero
 
GPS and GSM enabled Smart Blind Stick.pdf
GPS and GSM enabled Smart Blind Stick.pdfGPS and GSM enabled Smart Blind Stick.pdf
GPS and GSM enabled Smart Blind Stick.pdfssuserbfa471
 
Wireless and uninstrumented communication by gestures for deaf and mute based...
Wireless and uninstrumented communication by gestures for deaf and mute based...Wireless and uninstrumented communication by gestures for deaf and mute based...
Wireless and uninstrumented communication by gestures for deaf and mute based...IOSR Journals
 
Mobile Phone SensingCurrent Trends and ChallengesIván R
Mobile Phone SensingCurrent Trends and ChallengesIván RMobile Phone SensingCurrent Trends and ChallengesIván R
Mobile Phone SensingCurrent Trends and ChallengesIván RIlonaThornburg83
 
An optimal algorithm for coverage hole healing
An optimal algorithm for coverage hole healingAn optimal algorithm for coverage hole healing
An optimal algorithm for coverage hole healingmarwaeng
 
Intelligent location tracking scheme for handling user’s mobility
Intelligent location tracking scheme for handling user’s mobilityIntelligent location tracking scheme for handling user’s mobility
Intelligent location tracking scheme for handling user’s mobilityeSAT Publishing House
 
wireless sensor network,mobile networking
wireless sensor network,mobile networkingwireless sensor network,mobile networking
wireless sensor network,mobile networkingparry prabhu
 
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSijasuc
 
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting ScenariosAnalysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenariosjake henry
 
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSijasuc
 
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSijasuc
 
a data mining approach for location production in mobile environments
a data mining approach for location production in mobile environments a data mining approach for location production in mobile environments
a data mining approach for location production in mobile environments marwaeng
 
Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...
Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...
Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...sipij
 
A Survey Of Context-Aware Mobile Computing Research
A Survey Of Context-Aware Mobile Computing ResearchA Survey Of Context-Aware Mobile Computing Research
A Survey Of Context-Aware Mobile Computing ResearchKelly Lipiec
 

Similaire à Bubble sensing (20)

Mobsens -Journal paper
Mobsens -Journal paperMobsens -Journal paper
Mobsens -Journal paper
 
Sherlock: Monitoring sensor broadcasted data to optimize mobile environment
Sherlock: Monitoring sensor broadcasted data to optimize mobile environmentSherlock: Monitoring sensor broadcasted data to optimize mobile environment
Sherlock: Monitoring sensor broadcasted data to optimize mobile environment
 
Pablo_Panero_Report
Pablo_Panero_ReportPablo_Panero_Report
Pablo_Panero_Report
 
azd document
azd documentazd document
azd document
 
GPS and GSM enabled Smart Blind Stick.pdf
GPS and GSM enabled Smart Blind Stick.pdfGPS and GSM enabled Smart Blind Stick.pdf
GPS and GSM enabled Smart Blind Stick.pdf
 
Wireless and uninstrumented communication by gestures for deaf and mute based...
Wireless and uninstrumented communication by gestures for deaf and mute based...Wireless and uninstrumented communication by gestures for deaf and mute based...
Wireless and uninstrumented communication by gestures for deaf and mute based...
 
Ai04606213215
Ai04606213215Ai04606213215
Ai04606213215
 
Mobile Phone SensingCurrent Trends and ChallengesIván R
Mobile Phone SensingCurrent Trends and ChallengesIván RMobile Phone SensingCurrent Trends and ChallengesIván R
Mobile Phone SensingCurrent Trends and ChallengesIván R
 
An optimal algorithm for coverage hole healing
An optimal algorithm for coverage hole healingAn optimal algorithm for coverage hole healing
An optimal algorithm for coverage hole healing
 
Intelligent location tracking scheme for handling user’s mobility
Intelligent location tracking scheme for handling user’s mobilityIntelligent location tracking scheme for handling user’s mobility
Intelligent location tracking scheme for handling user’s mobility
 
MMekni Poster V0.2
MMekni Poster V0.2MMekni Poster V0.2
MMekni Poster V0.2
 
wireless sensor network,mobile networking
wireless sensor network,mobile networkingwireless sensor network,mobile networking
wireless sensor network,mobile networking
 
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
 
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting ScenariosAnalysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
 
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
 
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOSANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
 
ActivFi
ActivFiActivFi
ActivFi
 
a data mining approach for location production in mobile environments
a data mining approach for location production in mobile environments a data mining approach for location production in mobile environments
a data mining approach for location production in mobile environments
 
Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...
Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...
Ubiquitous Positioning: A Taxonomy for Location Determination on Mobile Navig...
 
A Survey Of Context-Aware Mobile Computing Research
A Survey Of Context-Aware Mobile Computing ResearchA Survey Of Context-Aware Mobile Computing Research
A Survey Of Context-Aware Mobile Computing Research
 

Dernier

ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 

Dernier (20)

ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 

Bubble sensing

  • 1. Bubble-Sensing: A New Paradigm for Binding a Sensing Task to the Physical World using Mobile Phones Hong Lu∗ Nicholas D. Lane∗ ∗ Dartmouth Shane B. Eisenman† Andrew T. Campbell∗ College Hanover, New Hampshire, USA {hong,niclane,campbell}@dartmouth.edu University New York, New York, USA shane@ee.columbia.edu † Columbia Abstract—We propose Bubble-Sensing, a new sensor network abstraction that allows mobile phones users to create a binding between tasks (e.g., take a photo, or sample audio every hour indefinitely) and the physical world at locations of interest, that remains active for a duration set by the user. We envision mobile phones being able to affix task bubbles at places of interest and then receive sensed data as it becomes available in a delay-tolerant fashion, in essence, creating a living documentary of places of interest in the physical world. The system relies on other mobile phones that opportunistically pass through bubble-sensing locations to acquire tasks and do the sensing on behalf of the initiator, and deliver the data to the bubblesensing server for retrieval by the user that initiated the task. We describe an implementation of the bubble-sensing system using sensor-enabled mobile phones, specifically, Nokia’s N80 and N95 (with GPS, accelerometers, microphone, camera). Task bubbles are maintained at locations through the interaction of “bubble carriers”, which carry the sensing task into the area of interest, and “bubble anchors”, which maintain the task bubble in the area when the bubble carrier is no longer present. In our implementation, bubble carriers and bubble anchors implement a number of simple mobile-phone based protocols that refresh the task bubble state as new mobile phones move through the area. Phones communicate using the local ad hoc 802.11g radio to transfer task state and maintain the task in the region of interest. This task bubble state is ephemeral and times out when no bubble carriers or bubble anchors are in the area. Our design is resilient to periods when no mobiles
  • 2. pass through the bubble-area and is capable of “reloading” the task into the bubble region. In this paper, we describe the bubble-sensing system and a simple proof of concept experiment. I. I NTRODUCTION The mobile phone has become a ubiquitous tool for communications, computing, and increasingly, sensing. Many mobile phone and PDA models (e.g., Nokia’s N95 and 5500 Sport, Apple’s iPhone and iPod Touch, and Sony Ericsson’s W580 and W910) commercially released over the past couple years have integrated sensors (e.g., accelerometer, camera, microphone) that can be accessed programmatically, or support access to external sensor modules connected via Bluetooth. The sensed data gathered from these devices form the basis of a number of new architectures and applications [3] [2] [1] [7] [6]. We present the Bubble-Sensing system, that acts to support the persistent sensing of a particular location, as required by user requests. Conceptually, a user with a phone that has opted into the Bubble-Sensing system visits a location of interest, presses a button on his phone to affix the sensing request to the location, and then walks away. The sensing request persists at the location until the timeout set by the initiator is reached. This mechanism can be viewed as an application in its own right (e.g., a user slogging [4] his life), and as a persistent sensing building block for other applications. While the notion of virtually affixing sensor tasks to locations is appealing, it requires some work to implement this service on top of a cloud of human-carried phone-based sensors. First, since the mobility of the phones is uncontrolled there is no guarantee that sensors will be well-placed to sample the desired location specified by the sensing task. Further, there is the issue of communicating the sensing task to potential sensers when they are well-positioned. This is made more difficult when, either due to hardware or user policy limitations, an always-on cellular link and localization capabilities are not available on all phones. For example, wireless data access via EDGE, 3G, or open WiFi infrastructure is increasingly available, as is the location service via on-board GPS, WiFi, or cellular tower triangulation. However, for example, only a subset of mobile phones on the market have GPS and WiFi, and even when devices have all the required capabilities, users may disable the GPS and or limit data upload via WiFi and cellular data channels to manage privacy, energy consumption, and monetary cost. Though the mobility in a people-centric sensor network is not controllable, it is also not random. In an urban sensing scenario, the visited areas of interest for one person are likely to be visited by many others (e.g., street corners, bus/subway stations, schools, restaurants, night clubs, etc.). We imagine a heterogeneous system where users are willing to share resources and data and to fulfill sensing tasks. Therefore, the bubble-sensing system opportunistically leverages other mobile phones as they pass by on behalf of a sensing task initiator. We adopt a two tier hardware architecture comprising the bubble server on the back end; and sensor- enabled mobile phones that can initiate sensing bubbles, maintain sensing bubbles in the designated location, replace bubbles that disappear due to phone mobility, enact the sampling as indicated by the sensing bubble, and report the sensed data back to the bubble server. Mobile phones participating in the bubble-sensing system take on one or more roles depending on their mobility characteristic, hardware capabilities, and user profiles. The bubble creator is the device whose user initiates
  • 3.
  • 4. 2 the sensing request that leads to the creation of the sensing bubble. The bubble anchor keeps the bubble in the region of interest by broadcasting the sensing request. The sensing node perceives the bubble by listening to the broadcasts, takes samples within the area of interest according sensing request, and then uploads the results to the bubble server. The bubble carrier can help to restore a bubble if all bubble anchors are lost. The bubble server binds the results to the bubble, which can be queried by the bubble creator at any time. We have implemented the bubble-sensing system using Nokia N95 mobile phones. In Section II, we describe the specific responsibilities of the virtual roles mentioned above and provide details on the communication protocols required to implement these roles. Sections III and IV decribes our current implementation and a preliminary evaluation of bubble-sensing using a N95 testbed, reporting on temporal sensing coverage, and on a measure of sensed data quality. In Section V, we investigate the performance of the system at scale and under a different mobility patter to extend our testbed results. We discuss related work from the pervasive and mobile ad hoc networking communities, including comparisons to alternative implementation choices, in Section VI. In Section VII, we discuss possibilities for extending the current work and offer concluding remarks. II. B UBBLE -S ENSING Sensing tasks are created and maintained in the bubblesensing system through the interaction of a number of virtual roles, where a given physical node can take on one or more virtual role based on its location, device capabilities (e.g., communication mode, sensor), user configuration (when and to what extent resources should be shared for the common good), device state (e.g., an ongoing phone call may preclude taking an audio sample for another application), and device environment (e.g., a picture taken inside the pocket may not be meaningful to the data consumer). In the bubble-sensing system, a task is a tuple (action, region, duration) The action can be any kind of sensing operation such as “take a photo”, or “record a sound/video clip”. The region is defined as the tuple (location, radius), where location is a point in a coordinate system like GPS indicating the center of the region, and the radius defines the area of the region. We call this region of interest the “sensing bubble”. In the following, we describe each of the virtual roles (i.e., bubble creator, bubble anchor, sensing node, and bubble carrier) in the context of the major system operations: bubble creation, bubble maintenance, bubble restoration. A. Bubble Creation The bubble creator is the device whose user initiates the sensing request that leads to the creation of the sensing bubble. Generally speaking, there are two ways a bubble can be created. In the first scenario, the creator is a mobile phone. The phone’s carrier moves to the location of interest and creates the sensing task. In the second scenario, the creator is any entity that registers a task with the bubble server, but does
  • 5. interact with other nodes at the location of interest in support of the sensing. As the process flow for the second case is a subset of the first (c.f. bubble restoration in Section II-D), in the following we omit any further explicit discussion of the second scenario. Proceeding with a discussion of the first scenario, we assume the bubble creator is a mobile device at the location of interest with a short range radio for local peer interactions. The creator broadcasts the sensing task using its short range radio. If the user has enabled cellular data access to the backend bubble server, the creator also registers the task with the bubble server. If the creator has localization capability, it populates the region field of the task definition, and the sensing bubble is created with its center at this location. Otherwise, the region field of the task is left blank in the broadcast, and the sensing bubble is created with its center at the current location of the creator where the area of the bubble is determined by its radio transmission range. Note, that if the creator is not able to obtain a location estimate and register its task with the bubble server, it will not be possible to restore the bubble later (c.f. Section II-D) in case the bubble disappears due to temporary lack of suitable mobile nodes in the area of interest. Nodes that receive the task broadcast and meet the hardware and context requirements for the sensing task can then sense in support of the task, and will later upload the sensed data to the bubble server in either a delay-tolerant (e.g., opportunistic rendezvous with an open WiFi access point), or real-time (e.g., the cellular data channel) manner. B. Bubble Maintenance Given the uncontrolled mobility of the creator, it may happen that the creator leaves the bubble location while the bubble task is still active (as specified in the duration field of the task). If this happens, it is no longer appropriate for the creator to broadcast the task since recipients of this broadcast will not be in the target bubble location. A way to anchor the bubble to the location of interest is needed; the bubble anchor role fills this requirement. The node that takes on this role should be relatively stationary at the target location of the task. We propose two variants for bubble anchor selection, one that requires localization capability on all nodes (e.g., GPS), and one that uses inference from an accelerometer for mobility detection. 1) Location-based: In the location-based approach, all nodes that find themselves in the sensing bubble with knowledge of the bubble task (i.e., they can hear the bubble task broadcasts) are potential anchor candidates. If the candidate does not hear another anchor (as indicated by a special field populated in the bubble task broadcast) for a particular threshold time, indicating the bubble is not currently covered by an anchor, it prepares to become the anchor for that bubble. Each candidate anchor backs off a time proportional to its mobility as measured by speed inferred from changes in the location fixes. After this backoff time, a candidate that does not overhear any other anchor broadcasting the task then assumes the role of bubble anchor. The anchor will continue
  • 6. 3 to broadcast the task beacon (with the special field to indicate an anchor is sending it) until it moves out of the location of interest for that bubble. 2) Mobility-based: In the mobility-based approach, like the location-based approach, nodes that can hear the bubble task broadcasts are potential anchor candidates. If the candidate does not hear another anchor broadcasting the bubble task, it backs off a time proportional to its mobility, as inferred from data collected by its accelerometer. After this backoff time, a candidate that does not overhear any other anchor broadcasting the task then assumes the role of bubble anchor. The anchor will continue to broadcast the task beacon (with the special field to indicate an anchor is sending it) until it moves out of the location of interest for that bubble. In this case, the mobility is again determined through classification of data from the on-board accelerometer. C. Challenges to Bubble Maintenance The broadcast-based approach to bubble maintenance introduces two main sources of error to the data collected in support of the sensing task. First, since we do not require sensing nodes to have knowledge of their absolute location, recipients of the task broadcast that are outside of the bubble area defined in the broadcast may still collect and upload data to the bubble server. This potentially makes the effective bubble size larger than the specified bubble size. The extent of this distortion depends both on the radio range of the task broadcast, and the location of the broadcaster (i.e., bubble creator, bubble anchor, and bubble carrier - c.f. Section II-D) with respect to the specified bubble center location. If locationbased bubble maintenance is used, or if the sensing node has localization capabilities, the location information may be used to compensate the transmission power of the task broadcast or suppress sensing when nodes are outside of the defined bubble area to reduce this bubble distortion. The second source of error is bubble drift, which can happen for two reasons. First, drift can happen over time if the anchor moves but continues to broadcast the bubble task due to inaccuracy in its mobility/location-detection methods. While improvements in localization technology and mobility classification can help here, we also explicitly limit the consecutive amount of time a node can act as the anchor for a given bubble. Assuming a probabilistic mobility/location error model, it would be possible to calculate the appropriate timeout to probabilistically limit the bubble drift below a desired level. The second cause of bubble drift is limited to the mobility-based bubble maintenance method where ubiquitous localization not assumed. In this case, as the current anchor gives up its role (e.g., out of battery, or anchor role timeout, move out of the bubble region), one of other semi-stationary or slow moving nodes available in the bubble will take over the anchor role as mentioned in Section II-B. This can be viewed as a passive role handoff. However, with each handoff the center of the bubble drifts to the location of the new anchor and over time this can markedly distort the sensing coverage of the bubble. To counteract this source of drift, we implement
  • 7. a limit on the number of anchor handoffs. After the handoff limit is reached, the anchor must be reinitialized by the bubble restoration process described in the following. D. Bubble Restoration Due to node mobility, it may happen that no nodes are available to anchor the bubble to the desired location and the bubble may temporarily disappear. To address this scenario, the bubble-sensing system provides a mechanism for bubble restoration through the actions of bubble carrier nodes. Mobile phones filling the bubble carrier role require localization capability and a connection to the backend bubble server. Bubble carriers periodically contact the bubble server, update their location, and request any active sensing bubbles in the current region. If a bubble carrier visits the location of one of these bubbles and does not hear any task broadcasts, it attempts to restore the bubble by broadcasting the task without the special anchor field set (in the same way the bubble creator did initially). Through this method, either the bubble will be restored with a new anchor node taking over the bubble maintenance, or this attempt at restoration fails. Bubble restoration attemps continue via the bubble carriers until the bubble expires (as indicated by the duration field in the bubble task definition). III. I MPLEMENTATION We build a proof-of-concept mobile cell phone test bed to demonstrate the bubble sensing system. The test bed consists of Nokia N80 and N95 smart phones, both of which run Symbian OS S60 v3. Due to the security platform in Symbian, some hardware access APIs are restricted at the OS level and are not open to developers, or require a high privilege certificate. In light of the platform limitations on these two mobile phones, in this section, we discuss the options available and our implementation choices. A. Programming Language We use Pys60 to prototype our system. PyS60 is Nokia’s port of Python to the Symbian platform. It not only supports the standard features of Python, but also has access to the phone’s functions and the on-board sensors (e.g., camera, microphone, accelerometer and GPS), software (e.g., contacts, calendar), and communications (e.g., TCP/IP, Bluetooth, and simple telephony). In addition to that, the developer can easily add access to the native Symbian APIs using the C/C++ extension module. In this regard, Pys60 is more flexible than Java J2ME in providing robust access to native sensor APIs and phone state, as we discoved in our initial development. B. Communication The Nokia N80 and N95 mobile phones are both equipped with GPRS/EDGE, 3G, Bluetooth and WiFi interfaces. For data uplink, they can leverage GPRS, SMS, and MMS for the universal connectivity, and WiFi/Bluetooth access points can also provide Internet access when available. For local communication, Bluetooth and WiFi are two possible choices. In our
  • 8. 4 Stationary Moving Stationary 0.9844 0.0921 Moving 0.0155 0.9079 TABLE I T HE CONFUSION MATRIX FOR OUR STATIONARY / MOVING CLASSIFIER . test bed, WiFi is our choice for both local communication and communication to the Internet. Considering the cost of the data service for GPRS and existing open WiFi infrastructure in the academic and urban environments, WiFi is a natural choice for Internet access. To implement bubble-sensing, broadcast is fundamental and indispensable. While our initial choice for local communication was Bluetooth since it currently enjoys a higher rate of integration into mobile phones, we found peer to peer broadcast with Bluetooth technology to be particularly difficult. Fortunately, we can configure the phones to use the Ad-Hoc IEEE 802.11 mode and the UDP broadcasting over WiFi is relatively easy to use. In out current version, the phone uses Ad-Hoc mode when interacting locally with peers, and infrastructure mode to connect to the bubble server. Phones can switch between these two modes on the fly when necessary. The lag of the mode switch is as low as a few seconds. We also set the transmit power of the WiFi interface to the lowest, 4mW, in order to save energy. Fig. 1. The BluCel device provides a 3D accelerometer that can be connected to the mobile phone (e.g., Nokia N95 or N80) via Bluetooth. D. Localization There are many existing solutions that provide a localization service for mobile phones, including built-in/externalconnected GPS, cell-tower triangulation (GSM fingerprint), Bluetooth indoor localization, and WiFi localization systems such as Skyhook and Navizon. For Symbian, to get all the cell towers information requires a high privilege certificate not available to most developers. Usually, the developer can only get the information about the cell tower to which the phone is currently connected.
  • 9. This does provide a rough sense of where the device is, but is not sufficient for the triangulation algorithm. Therefore, in the outdoor case we simply use GPS. For indoor, the WiFi fingerprint is a natural choice for academic and urban environments, given the relatively widespready coverage of WiFi infrastructure. E. System Integration Use of the mobile phone as a sensor in the bubble-sensing system should not interfere with the normal usage of the mobile phone. Our bubble-sensing software implementation is light weight, so users can easily switch it to background, and use their phone as usual. The software only accesses sensors on demand and release the resources immediately after use. An incoming or user-initiated voice call has high priority, and our software does not try to access the microphone when it detects a call connection. By adapting in this way, our implementation does not disrupt an ongoing call and also the bubble-sensing application will not get killed by an incoming call. We test the CPU and memory usage of our software in a Nokia N95, using a bench mark application, CPUMonitor [13]. The peak CPU usage is around 25%, which happens when sound clips are taken. Otherwise, the CPU usage is about 3%. The memory usage is below 5% of the free memory, including the overhead of the python virtual machine and all the external modules. IV. T ESTBED E VALUATION In order to evaluate our implementation of the bubblesensing system, we perform a series of indoor experiments. The aim of this evaluation is to validate the performance of a mobile cell phone network and how it can benefit from the use of bubble sensing mechanisms, mainly in terms of the number of data samples collected and the time coverage of those samples. C. Sensors and Classifier Camera and microphone sensors are universal on mobile phones nowadays. In our experiment, to save storage and lower the transmission load, we use lower resolution pictures (640 × 480 pixels). For sound, we record two second sound clips in .au format; each sound clip is about 28 kB. All data collected are time stamped. For the accelerometer and GPS sensors, the N95 comes with an on- board GPS and a built-in 3D accelerometer. We extend the N80 using the external BluCel device (see Figure 1), basically a Bluetoothconnected 3D accelerometer. Both types of accelerometers are calibrated, and the data output are normalized to earth gravity. The sampling rate is set to 40 Hz. Phones perform some relatively simpl processing on the data samples (e.g., mean, variance, and threshold) and feed the features extracted from data samples to a simple decision tree classifier, which classifies the movement of people carrying the phone. The classifier does not require the user to mount the mobile phone in a particular way; users can simply put the phone in a pocket or clip it on the belt. The tradeoff for this flexibility is that the classifier can only differentiate basic movements of people, i.e., stationary, walking, running. Complicated movements like stair-climbing and cycling will likely by classified as either walking or running. However, our system only requires the discriminiation between stationary and moving. In this sense, this light weight classifier provides sufficient accuracy (see the confusion matrix in Table I).
  • 10. 5 A. Experiment Setup Ten mobile phones are carried by people who move around three floors of the Dartmouth computer science building. The participants are told to carry the cell phones as they normally would. Most of the time the mobile phones are put in the front or back pockets and sometime held in the hand (e.g., when making a call, checking the time, sensing a SMS message, etc). Static beacons are used to provide a WiFi localization service. In our experiments, the center of the task bubble is defined to be the Sensor Lab, which is a room on the middle of the three floors. The task is assumed to already be registered by the bubble creator. During the experiment, we play music in the bubble and the task is simply capturing sound clips in this room once every ten seconds. To emulate a heterogeneous network, we intentionally limit device capabilities (i.e., long range connectivity and localization) in some cases. We evaluate the following five different cases: • Static sensor network. for comparison, we deploy one static sensor node (a N95) in the center of the bubble, programmed to periodically do the sensing. The static node is about three meters away from the source of the music, a pair of speakers, and the microphone is pointed in the direction of the music source. • Ideal mobile sensor network. Mobile nodes in the network always have cellular data uplink and localization and can therefore always retreive the bubble task from the bubble server, and can tell when to do the sensing. No bubble sensing techniques are used; in fact none are required since all nodes know about all bubble tasks in the system. The results of this case represent an upper bound on what can be expected in the system when using mobile sensors. • Limited-capability mobile sensor network. Assuming universal always-on connectivity is unrealistic. Here we make the more realistic assumption that mobile nodes have only a 0.25 probability of an available data uplink (ability to fetch the task from the bubble server and do the sensing) when they enter the bubble. In this scenario, all nodes are still assumed by have the capability for localization. Again, no bubble-sensing techniques are used. • Bubble-sensing with location- based bubble maintenance. This scenario builds on the limited-capability mobile sensor network case by adding bubble carrier and bubble anchor functionality. Therefore, any nodes they hear task broadcasts and are in the bubble will do the sensing. Bubbles are maintained using the location-based scheme (universal localization capability assumed), and are restored using bubble carriers. Mobile nodes entering the bubble location become task carriers with a 0.25 probability as before. • Bubble-sensing with mobility-based bubble maintenance. This scenario mirrors the previous, but uses mobilitybased bubble maintenance which does not require localization for sensing nodes or anchors, but instead uses radio range to define the bubble size and inference of human mobility from accelerometer data [10] to estimate relative location to the bubble. Mobile nodes entering the bubble location become task carriers with a probability of 0.25 that now includes the probability of having both an available data uplink and localization capability. The mobility of the human participants is uncontrolled, but clearly
  • 11. plays a dominant role in the sensing coverage achievable with the bubble-sensing system. Similarly, environmental factors impact the noise environment and thus impact the data that are collected by the mobile sensors. To ensure the five schemes are evaluated in the same environment, we implement them all in the same multi-threaded application and collect data for them simultaneously. The data samples are stored locally and forwarded to the bubble server opportunistically when the phone switches to infrastructure mode, for the duration of the experiment. Any remaining data is transferred to a laptop over USB at the end of the experiment. The analysis is done offline in the backend sever. B. Results We conduct three trials using 11 mobile phones at different times of the day, including both day and night, to capture natural variations in density and mobility pattern. Trial 1 lasts 1936 seconds during the day-time work hours when people are more stationary; Trial 2 lasts 1752 seconds during the eveningtime work hours; trial 3 lasts 1198 seconds during a more mobile period. In some cases, we did not get data from all the mobile phones; some did not enter the bubble, and for others the user profile prohibited them from participating (i.e., emulated by the 0.25 probability for task download). We got data from 9, 8, and 7 for the trials 1, 2, and 3, respectively. Table II shows raw sample counts taken during each of the trials for each of the five schemes. The table also indicates the samples taken outside of the bubble due to drift in the mobility-based scheme. Static Ideal Limited Locationbased 967 579 294 Mobilitybased All Out 1004 78 607 42 304 40 Trial 1 Trial 2 Trial 3 158 143 98 1026 679 324 181 165 74 TABLE II S AMPLE COUNTS FOR THE FIVE SCHEMES DESCRIBED IN S ECTION IV-A: STATIC , IDEAL , LIMITED , LOCATION - BASED , MOBILITY- BASED .
  • 12. Figure 2, shows the time distribution of the collected data samples. It is a 500 second snap shot of trial 2. Each dot in this figure represents one sample. The Y axis lists the five schemes we compare. The distribution of all the mobile schemes is not uniform, because the ability to sense is influenced by uncontrolled mobility. For the mobility-based bubble-sensing scheme, the circled dots show where samples are taken outside the bubble due to bubble distortion and drift. In all mobile schemes, sometime we have dense readings because multiple sensors stay in the bubble, and sometimes there is a gap in the sensor data due to the absence of sensors. In terms of sensing coverage over time, the bubble-sensing schemes give
  • 13. 6 Location−based Mobility−based Limited Ideal Static 0 50 100 150 200 250 Time 300 350 400 450 500 Fig. 2. Sensing coverage over time for each of the five test scenarios described in Section IV-A. The circled points are samples taken outside the bubble due to bubble drift. The bubble sensing cases do a good job of approximating the ideal case, especially for the location-based bubble maintenance case. a good approximation of the ideal mobile sensing scenario, especially in the location-based bubble maintenance case. For the mobility-based bubble maintenance base, we see that the percentage of samples taken outside the defined bubble is less than 10%, which we conjecture is an acceptable error given the flexibility the scheme provides in not requiring localization for sensing nodes or bubble anchors. Further, data just outside the bubble may still be of use to the data consumer. To examine how the data collected by the bubble-sensing system compares with that from the static node, we compute the root mean square (RMS) of the average sound signal amplitude. In Figure 3, we plot the RMS derived from every sound clip recorded by the two different schemes, the static node (thick red) and bubble sensing with mobility-based bubble maintenance (thin blue). The bubble-sensing curve contains more data points (140) than the static curve (41), reflecting the mobile nodes that opportunistically sample over the 500 second window, as opposed to the single periodic static sensor. While the two curves share general trends, they do not match exactly. There are two main factors contributing to this phenomenon, i.e., mobility and context. The static node remains stationary 3 meters from the sound source, while the mobile nodes move in and out of the audio range of the source, affecting the volume of the samples. Another factor affecting the volume is the sampling context. Users carry the cell phone in their pocket and the pant material serves as a kind of muffler. Also, the orientation of the microphone matters. However, the sampled data does match the general sound situation in the target region, which may be good enough to support applications when static sensor deployments are not present. Thus, bubble- sensing provides the flexibility of personalizable sensing regions, but sacrifices some signal fidelity. V. S IMULATION We perform a simulation of a larger and more complete mobile sensing system to consider the impact of bubblesensing on system level operating characteristics. We assume a sensor network comprising the backend bubble server and a population of mobile sensors. The bubble server accepts sensing task registration both from phones and other entities, as described in Section II-A. As in the
  • 14. testbed experiment, all tasks have been registered with the bubble server before we start the simulation. With these simulations we assess two test x 10 12 −3 SB w/o Loc Static Node 10 RMS ( Power ) 8 6 4 2 0 0 100 200 Time 300 400 500 Fig. 3. In terms of data fidelity, the bubble sensing approach provides sound data whose trend follows that of the static sensor. In practice, the required fidelity of the signal captured by the task is application-specific.
  • 15. cases: the first using the bubble-sensing techniques, and the other using a centralized approach similar to the ideal case described in Section IV-A. A. Experiment Setup The system setup for both test cases is the same. We build a discrete time Java simulator in which a 100 mobile sensors roam over a simulation area of 100 × 100 distance units. All sensors maintain a queue of sensing tasks. The number of tasks in this queue is bounded to 10 to reflect resource limitations on the phones. Tasks are defined as described in Section II. All sensors can localize themselves, and the estimation of their position is subject to error selected uniformly at random between 0 and 10 distance units at each time step. All sensors have a wide area data uplink connection to the bubble server that has coverage over the entire simulation area. We assume nodes update their location to the bubble server such that the bubble server is aware of all nodes’ estimated location at each time step. We neglect the signaling costs of this location tracking in our analysis. In practice, an implementation of the centralized scheme would require a much higher overhead in this regard since nodes are paged and tasked directly from the bubble server for each sensing operation, whereas in the bubble-sensing approach only bubble carriers need to update their location to the server. A simplistic local peer-to-peer radio model is assumed with perfect reception within 10 distance units and no reception outside 10 distance units. Nodes
  • 18. 1500 2000 Fig. 4. WAN activity that occurs in support of the sensing task workload. Fig. 5. Contrast of the number of local peer-to-peer messages exchanged during simulation. move according to a variant of random waypoint mobility that is adjusted to compensate for the well- known speed decay phenomena. The maximum speed is set to 4 distance units per time step. Under the centralized scheme, the bubble server assigns the appropriate respective sensing task over the WAN connection to any node that has a location estimate within any of the bubbles’ region of interest. Sensing tasks are executed by the sensing node until its location estimate indicates it has left this bubble region, at which point it notifies the backend infrastructure. The same task may be assigned concurrently to any of the nodes that are within a particular bubble. Under the bubble-sensing scheme, the bubble server assigns sensing tasks to bubble carriers that are within 20 distance units of a bubble center. Again, the same task may be assigned concurrently to any of the nodes that are within this distance from a particular bubble center. If bubble carriers enter the defined bubble region, they take on the sensing role as well as broadcasting the task to other nodes to sense and/or find an anchor, as described in Section II-D. A sensing task stays in the node’s queue until the node has both entered and subsequently left the bubble region. At this point the task is dropped from the queue to free the resource for other tasks that may be queued at the bubble server. To avoid unfair load on a particular node, a node that is assigned a task by the server and becomes a bubble carrier, will not be assigned a new task (regardless of appropriate location) until after timeout of 100 time units has elapsed. B. Results In the following results we perform simulations lasting 10,000 time units where a collection of 10 tasks remain active for the entire period. Initial node placement is random within the 100 × 100 square. Bubble center locations are also set randomly when the tasks are registered with the bubble server, and the bubble radius is always 20 distance units. We perform each simulated test case 5 times and report average results. In all figures, we report a window of the simulation results that ranges from time unit 2,000 to time unit 4,000. By this point,
  • 19. Centralized Scheme collected samples 20 0 0 5 10 500 1000 time 1500 2000 Bubbles Scheme collected samples 20 0 0 5 10 500 1000 time 1500 2000 Fig. 6. Time series comparison of the quantity of samples collected.
  • 20. steady state behaviour has been reached, and performance results are no longer being skewed by cold start effects. Figure 4 shows the WAN usage of both the centralized and bubble-sensing schemes during the simulation. Not surprisingly, WAN use occurs most heavily under the centralized scheme since all tasking occurs directly from the bubble server. The WAN use for bubble-sensing has a periodic pattern due to time-clustered tasking timeouts on multiple nodes. While WAN use is far lower in the bubble- sensing approach, a disproportionately smaller reduction in the collection of data occurs indicating that local communication between the mobile nodes is working effectively to keep the sensing bubble alive. The reverse situation occurs with respect to short range communication. In Figure 5, we observe significant quantities of these exchanges occurring under the bubblesensing scheme. Under the centralized scheme such local communications do not take place by definition. In Figure 6, we consider the ability of bubble-sensing to approximate the sample collection performance of the centralized scheme. The temporal continuity of coverage seen in the centralized approach (the lower panel) is mirrored by the bubble-sensing scheme. However the quantity of samples
  • 21. 8 collected has a far higher variance under the bubble-sensing scheme. Under the centralized approach the mobility pattern is paramount in determining the performance of sample collection, since if a mobile sensor moves within a region of interest sampling is very likely to occur. But under the bubblesensing scheme sample collection is influenced more heavily by a wider range of factors including the mobility pattern relative to bubble regions, the relationship of the tasking times to the arrival process of nodes to bubble regions, and the frequency of node rendezvous (when they are within local radio range of each other) that occur within the bubbles. Also, it is interesting to note that there are no noticeable gaps in the plots in Figure 6, whereas in Figure 2 for the testbed results there times when no samples are received even for the Ideal case. This is due to the difference in mobility pattern: in the simulation nodes are more or less evenly distributed at all times, whereas in the real testbed, with fewer mobile nodes, the visitations to the bubble region are much more bursty. What is not clearly visible in Figure 6 is the penalty that occurs in the simulation for the reduction in overhead enabled by bubble-sensing. We observe that while the temporal continuity in collected samples achieved with the centralized scheme is maintained with bubble-sensing, the absolute number of the samples collected is somewhat reduced, mirroring the similar relationship we see in the Table II for the testbed results between the Ideal and Location-based cases. Thus, the principal tradeoff of the bubble-sensing approach is the ability to reduce the reliance on WAN connectivity, which may or may not be desirable (e.g., due to monetary cost) or feasible (e.g., due to lack of universal coverage), while maintaining support for the same sensing task load as by a centralized scheme, but losing some fidelity through fewer collected samples. The impact on application fidelity of this lower number is different from application to application, and is also sensitive to threshold when additional samples transition from enhancing fidelity to being redundant. VI. R ELATED W ORK While the mobile phone is ubiquitous, and the discussion of a mobile phone as a sensing device has some history [8] [5] [2] [1], no large-scale mobile cell phone sensor networks have yet been deployed in practice. In the last year, the smart phone market has grow rapidly (e.g., Nokia N95, Apple iPhone, Goggle gPhone), leading to a great research opportunity. In this paper we present our first attempt to build a mobile cell phone network. Use of information locality to achieve efficient, scalable sensor networking is a hot topic. Ratnasamy, et al discuss the use of data centric storage to reduce the transmission overhead [11]. The authors of [9] use a publish/subscribe mechanism to opportunistically disseminate information within a specified geographical area using a vehicular networks. In contrast, in our work we focus on the locality of the sensing task, and discuss how to fulfill the sensing task on top of a cloud of human-carried smart phone-based sensors in the urban sensing context.
  • 22. VII. C ONCLUSION We presented an approach to support persistent locationspecific task in a wireless sensor network composed of mobile phones. Mobile sensor nodes collaborate and share sensing and communication resources with each other in a cooperative sensing environment. We describe the virtual roles nodes can assume in support of bubble-sensing, including the required local and backend communication. We discussed the limitations, available options and our design decisions in the implementation of a mobile phone-based sensing system. We demonstrated the feasibility of our scheme via both simulation and a real test bed experiment. ACKNOWLEDGMENT This work is supported in part by Intel Corp., Nokia, NSF NCS-0631289, and the Institute for Security Technology Studies (ISTS) at Dartmouth College. ISTS support is provided by the U.S. Department of Homeland Security under Grant Award Number 2006-CS-001-000001. The views and conclusions contained in this document are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of the U.S. Department of Homeland Security. R EFERENCES [1] T. Abdelzaher, Y. Anokwa, P. Boda, J. Burke, D. Estrin, L. Guibas, A. Kansal, S. Madden, J. Reich. Mobiscopes for Human Spaces. IEEE Pervasive Computing, vol. 6, no. 2, pp. 20-29, Apr-Jun, 2007. [2] J. Burke, D. Estrin, M. Hansen, A. Parker, N. Ramanathan, S. Reddy, M. B. Srivastava. Partcipatory Sensing. In Proc. of 1st Workshop on Wireless Sensor Web (WSW’06), pp. 1–5, Boulder, October 31, 2006. [3] A. T. Campbell, S. B. Eisenman, N. D. Lane, E. Miluzzo and R. A. Peterson. People-Centric Urban Sensing (Invited Paper). In Proc. of 2nd ACM/IEEE Int’l Conf. on Wireless Internet, Boston, Aug 2-5, 2006. [4] K. Chang, N. Yau, M. Hansen, and D. Estrin. SensorBase.org A Centralized Repository to Slog Sensor Network Data. In Proc. of the Int’l Conf. on Distributed Computing in Sensor Networks/EuroAmerican Workshop on Middleware for Sensor Networks, San Francisco, Jun 2006. [5] N. Eagle and A. Pentland. Reality Mining: Sensing Complex Social Systems. In Journal of Personal and Ubiquitous Computing, Jun 2005. [6] S. B. Eisenman, E. Miluzzo, N. D. Lane, R. A. Peterson, G.-S. Ahn, and A. T. Campbell. The BikeNet Mobile Sensing System for Cyclist Experience Mapping. In Proc. of 5th ACM Conf. on Embedded Networked Sensor Systems, Sydney, Nov 6-9, 2007. *7+ S. B. Eisenman and A. T. Campbell. “SkiScape Sensing”. In Proc. of ACM 4th Intl Conf. Embedded Networked Sensor Systems, 2006. *8+ A. Kansal, M. Goraczko, and F. Zhao. Building a sensor network of mobile phones. In Proc. of 6th Int’l Conf. on Information Processing in Sensor Networks, Cambridge, Apr 25-27, 2007. [9] I. Leontiadis and C. Mascolo. Opportunistic spatio-temporal dissemination system for vehicular networks. In Proc. of 1st Int’l Mobisys Workshop on Mobile Opportunistic Networking, San Juan, Jun 11 2007). [10] J. Lester, T. Choudhury, and G. Borriello. A Practical Approach to Recognizing Physical Activities. In Proc. of Pervasive, Dublin, May 2006. [11] S. Ratnasamy, B. Karp, L. Yin, F. Yu, D. Estrin, R. Govindan, and S. Shenker. GHT: A Geographic Hash Table for Data-Centric Storage in SensorNets. In Proc. of 1st ACM Int’l Workshop on Wireless Sensor Networks and Applications, Atlanta, Sep 2002. [12] K. Romer, C. Frank, P. Jose Marron, and C. Becker. Generic role assignment for wireless sensor networks. In Proc. of 11th ACM SIGOPS European Workshop, pp 7–12, Leuven, Sep 2004. [13] CPUMonitor 1.10 for S60v3. http://www.nokiapower.com/index.php? showtopic=7542.