throbber
Page 1 of 36
`
`Google Inc., Nest Labs, Inc., and Dropcam, Inc.
`GOOG 1007
`IPR of US Pat. No. 8,311,524
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`SYSTEM AND METHOD FOR INJECTING SENSED PRESENCE INTO
`
`SOCIAL NETWORKING APPLICATIONS
`
`RELATED APPLICATIONS
`
`[0001]
`
`This application claims benefit of priority to United States
`
`Provisional Patent Application Serial Number 60/976,371 filed 28 September 2007,
`
`which is incorporated herein by reference.
`
`BACKGROUND
`
`10
`
`15
`
`20
`
`25
`
`[0002]
`
`Presence is currently limited to a user’s contactable status. For
`
`example, a first user’s status and availability is provided by presence servers in a
`
`network environment. A second user needing to contact the first user may thereby
`
`determine the optimal way (and likelihood of success) in contacting the second user.
`
`A presence server may determine this status by detecting events made by the first
`
`user. For example, if the first user is typing on a keyboard of a computer, these key
`
`input events indicate that the first user is sitting at, and using, the computer. The
`
`presence server thus displays the status of the first user as ‘using the computer’.
`
`Using this presence information, the second user may decide to send an instant
`
`message to the first user’s computer to initiate communication. Alternatively, the
`
`second user may decide to call a telephone located near the first user’s computer,
`
`knowing that the first user will probably answer.
`
`[0003]
`
`Thus, presence is a useful tool for making informed decisions
`
`about other users. However, this presence information is limited to locating and
`
`communicating with its users.
`
`[0004]
`
`Social networking applications; such as MySpace, Facebook,
`
`Skype, allow users to interactively define their presence in greater detail, thereby
`
`allowing other permitted users to view this additional presence information.
`
`However, the burden of updating the presence information interactively typically
`
`results in infrequent updates and therefore often old (and Often incorrect) presence
`
`information.
`
`Page 2 of 36
`
`Page 2 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`SUMMARY
`
`[0005]
`
`A method for injecting sensed presence into social networking
`
`applications includes receiving sensor data associated with a user, inferring a presence
`
`status of the user based upon analysis of the sensor data, storing the sensor data and
`
`presence status within a database, and sending the presence status to a social
`
`networking server to update the user’s presence information for the social networking
`
`applications based upon the user’s preferences.
`
`[0006]
`
`A software product includes instructions, stored on computer—
`
`readable media, where the instructions, when executed by a computer, perform steps
`
`10
`
`for injecting sensed presence into social networking applications. The instructions
`
`include instructions for receiving sensor data associated with a user, instructions for
`
`inferring a presence status of the user based upon analysis of the sensor data,
`
`instructions for storing the sensor data and presence status within a database, and
`
`instructions for sending the presence status to a social networking server to update the
`
`15
`
`user’s presence information for the social networking applications based upon the
`
`user’s preferences.
`
`[0007]
`
`A system for injecting sensed presence into social networking
`
`applications includes at least one sensor proximate to a user, the at least one sensor
`
`being used for collecting sensor data associated with the user, a presence server for
`
`2O
`
`receiving and storing the sensor data, an inference engine for analyzing the stored data
`
`and to infer a presence status for the user, and a presentation engine for presenting the
`
`information to the user and other users.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`[0008]
`
`FIG. 1 shows a system for injecting sensed presence into social
`
`25
`
`networking applications, according to an embodiment.
`
`[0009]
`
`FIG. 2 shows the presence server of FIG. 1 interacting with
`
`applications, a cell phone, a PDA, embedded sensors, and a notebook computer.
`
`[0010]
`
`FIG. 3 is a flowchart illustrating one exemplary method for
`
`injecting sensed presence into social networking applications.
`
`30
`
`[0011]
`
`FIG. 4 shows an example of a snapshot of a user’s data page as
`
`accessed from a portal of the system of FIG. 1.
`
`Page 3 of 36
`
`Page 3 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`DETAILED DESCRIPTION OF THE EMBODIMENTS
`
`[0012]
`
`To make a presence system useful for a social network, additional
`
`sensor input and activity determination is used. That is, presence outside a work
`
`environment is detected to provide a user’s status that is useful in the social
`
`environment. Once the user‘s status is determined, it may be shared with other users,
`
`as permitted by the user.
`
`[0013]
`
`FIG. 1 shows a system 100 for injecting sensed presence into social
`
`networking applications. A user 102 has, for example, a cell phone 106, a personal
`
`digital assistant (PDA) 108 and an embedded sensor unit 110. Cell phone 106 may
`
`10
`
`include a camera for sensing images around user 102 and a global positioning sensor
`
`(GPS) unit for determining the location of user 102. PDA 108 may include a
`
`temperature sensor for sensing temperature near user 102. Embedded sensors 110
`
`may include one or more accelerometers for determining activity of user 102.
`
`Embedded sensors 1 10 may include a transceiver to enable wireless communication
`
`with cell phone 106, PDA 108 and/or network 120. Embedded sensors 1 10 may be
`
`attached to a user’s body (e.g., a user’s running shoes) as illustrated in FIG. 1.
`
`However, embedded sensors may also be used in other manners, such as carried by
`
`another user, attached to personal property (e.g., a user’s bicycle, car, ski boot), or
`
`embedded in the ecosystem of a city or town (e.g., a carbon dioxide sensor or a pollen
`
`20
`
`sensor attached to a structure in a city). Network 120 may include the Internet and
`
`other wired and/or wireless networks.
`
`[0014]
`
`A second user 104 is shown with a notebook computer 112 that
`
`may include one or more sensors that collect information of user 104. Such sensors
`
`are becoming common amongst items carried by people during everyday activities.
`
`25
`
`These sensors are periodically interrogated and resulting sensor data sent to a
`
`presence server 116 via network 120. Presence server 116 analyzes this sensor data to
`
`infer activity of users 102 and 104. For example, sensor data received from sensors
`
`associated with user 102 is used to define a presence status 122 of user 102.
`
`Similarly, sensor data from sensors associated with user 104 is used to define a
`
`30
`
`presence status 124 of user 104.
`
`[0015]
`
`Through analysis of historical server data, presence server 116 may
`
`determine behavioral patterns based on movements of users 102 and 104. For
`
`Page 4 of 36
`
`Page 4 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`example. presence server 1 l 6 may infer that user 102 and user 104 frequent the same
`
`coffee shop by determining that user 102 and user 104 visit the coffee shop each
`
`morning when traveling to their respective places of work.
`
`[0016]
`
`Different sensors may be used to collect data associated with a
`
`user, such as one or more of the following: cameras, microphones, accelerometers,
`
`GPS locators, radio sensors (e.g., Bluetooth device contact logs. 80215.4 ranging,
`
`802.1 1 localization), temperature sensors, light sensors, humidity sensors,
`
`magnetometers, button click sensors and device status sensors (e.g., cell phone ringer
`
`status sensors). As noted above, such sensors may be included within devices carried
`
`10
`
`by a user.
`
`[0017]
`
`In another example, wireless sensors external to cell phone 106
`
`may relay information to cell phone 106, which then sends the information to
`
`presence server 116 for processing. For example, embedded sensor unit 110 may
`
`include one or more sensor types that periodically provide sensor data to cell phone
`
`106 via a wireless communication link 1 1 1, such as Bluetooth.
`
`[0018]
`
`Where sensor operation is resource taxing, sensor operation may be
`
`done on demand via an explicit query from presence server 1 l6. Sensor data is
`
`pushed from consumer devices 106, 108, 110 and 112 to presence server 116 where it
`
`is analyzed to infer activity of the associated user.
`
`[0019]
`
`Another type of sensor that may be used in system 100 is a
`
`software sensor that measure artifacts of other software running on a computing
`
`platform to determine a user’s behavior, mood, etc. Since no actual sensor is being
`
`read, these software sensors may also be termed virtual sensors. Where processing
`
`allows, inference may occur within the computing device (e. g, cell phone 106, PDA
`
`108, notebook computer 1 l2), otherwise data is sent to presence server 1 16 for
`
`15
`
`2O
`
`25
`
`inference.
`
`[0020]
`
`1n another example, a sensor may not be immediately associated
`
`with a user, but may be indirectly associated to the user by locality. For example, to
`
`determine air quality associated with user 102, sensor information from a statically
`
`30
`
`deployed sensor infrastructure 114 that measures air quality may be used if that data is
`
`obtained from one or more sensors of the infrastructure that are near to the location of
`
`user 102. Such sensor infrastructures may operate independently of user 102 and
`
`Page 5 of 36
`
`Page 5 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`presence server 1 16, but may be matched to user 102 through time and location
`
`information ofuser 102.
`
`In another example, where users 102 and 104 are near one
`
`another and user 104 has one or more different sensor types to those ofuser 102,
`
`while users 102 and 104 are proximate, sensor data from user 104 may be applicable
`
`to user 102 and vice versa. Thus, sensors may be shared.
`
`[0021]
`
`As more and mode consumer devices include sensors, these device
`
`may be used to unobtrusively collect information about a user. By collecting
`
`information related to a user, presence server 1 16 (via data fusion and analysis) may
`
`determine characteristics and life patterns (e. g., presence status 122, 124) of the user
`
`10
`
`and/or of particular groups of users. These characteristics and life patterns may be fed
`
`back to the users in the form of application services 118, such as on a display ofa
`
`consumer device (e.g., cell phone 106). These characteristics (e.g., presence status
`
`122, 124) may also be sent to a social networking server 126 that supports one or
`
`more social network applications 119, such as F acebook and MySpace, and instant
`
`messaging. For example, user 102 may also have an account with a social networking
`
`application such as Facebook, and therefore configures presence server 1 16 to send
`
`presence information of user 102 to social networking server 126 for use by social
`
`networking application 1 19, thereby alleviating the need for user 102 to continually
`
`update presence information within that social networking application. That is,
`
`presence information for one or more associated social networking applications may
`
`be updated with presence information (e. g., presence status 122, 124) for the
`
`associated user (e.g., user 102) by presence server 1 16. Thus, as user 104 accesses
`
`social networking application 119, shared presence status of user 102 is automatically
`
`updated by presence server 116 via social networking server 126.
`
`[0022]
`
`Presence server 1 16 may consist of a set of servers that: (1) hold a
`
`database of users and their associated presences 122, 124; (2) implement a web portal
`
`that provides access to presence information via per—user accounts; and (3) contain
`
`algorithms to draw inferences about many objective and subjective aspects of users
`
`15
`
`20
`
`25
`
`based upon received and stored sensor data. Presence server 116 may include one or
`
`30
`
`more interfaces (e. g., using one or more application programming interfaces (APIs))
`
`to clients (e. g., thin clients) running on consumer computing and communication
`
`devices, such as cell phone 106, PDA 108, and notebook computer 112. The clients
`
`Page 6 of 36
`
`Page 6 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`may send via push operation information about the user to presence server 1 16 and
`
`receive from presence server 1 16 inferred information about the user and the user’s
`
`life patterns based on sensed data. Data sensing clients may make use ofsensor
`
`sharing and calibration functions to improve the quality ofdata gathered for each user,
`
`thereby enhancing the performance of presence server 1 16.
`
`[0023]
`
`While processed user information is available (both for individual
`
`review and group sharing) via the web portal, APIs for the retrieval and presentation
`
`of (a subset of) this information are available, through one or more plug-ins (i.e., a
`
`pull operation) to popular social network applications such as Skype, Pidgin,
`
`10
`
`Facebook, and MySpace.
`
`[0024]
`
`FIG. 2 shows (in an embodiment) presence server 1 16 of FIG. 1
`
`interacting with applications 118, cell phone 106, PDA 108, embedded sensors 110
`
`and notebook computer 1 12 , collectively called consumer devices 220, in further
`
`detail. Presence server 1 16 is shown with storage 210, an inference engine 212 and a
`
`presentation engine 214. Storage 210 is used to store received sensor data and user’s
`
`presence status 122, 124. Applications 118 may include instant messaging 202, social
`
`networks 204, multimedia 206, and blogosphere 208.
`
`[0025]
`
`Inference engine 212 analyzes received sensor data and determines
`
`presence information (e. g, 122 and 124) for each user. This presence information is,
`
`for example, presented to designated applications running on one or more user
`
`devices (e. g, phone 106, PDA 108 and notebook computer 112). A user’s presence
`
`information may be pushed to certain devices based upon the user’s permission. That
`
`is, in certain embodiments, the user must allow others to view their presence
`
`information for the information to be made available to, and/or pushed to, other users.
`
`[0026]
`
`Certain embodiments of system 100 support opportune peer-to-
`
`peer communication between consumer devices using available short range radio
`
`technologies, such as Bluetooth and IEEE 802.154. Communication between
`
`consumer devices and presence server 116 takes place according to the availability of
`
`the 802.11 and cellular data channels, which can be impacted both by the device
`
`feature set and by radio coverage. For devices that support multiple communication
`
`modes, communication can be attempted first using a TCP/IP connection over open
`
`15
`
`20
`
`25
`
`30
`
`Page 7 of 36
`
`Page 7 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`802.1 1 channels. second using GPRS/EDGE—enabled bulk or stream transfer, and
`
`finally SMS/MMS is used as a fallback, in certain embodiments of system 100.
`
`A.
`
`Sensing
`
`[0027]
`
`lllustratively, a sensing client (e.g., thin sensing client) is installed
`
`on a consumer device (e.g., cell phone 106, PDA 108, and computer 112) to
`
`periodically poll on—board sensors (both hardware and software) and to push the
`
`collected sensor data, via an available network connection (wired or wireless, e.g.,
`
`107, 109, 113), to presence server 116 for analysis and storage. For sensing
`
`modalities that are particularly resource taxing (especially for mobile devices), sensor
`
`10
`
`sampling may be done on demand via an explicit query from presence server 116.
`
`Sampling rates and durations for each of the sensors are set in accordance with the
`
`needs of inference engine 212. Typically, the sensing clients use low rate sampling to
`
`save energy and switch to a higher sampling rate upon detection of an interesting
`
`event (i.e., set of circumstances) thereby improving sampling resolution for periods of
`
`15
`
`interest while preserving power for periods ofless interest. Given the pricing
`
`schemes of MMS/SMS and the battery drain implied by 802.1 1 or cellular radio
`
`usage, data may be compressed before sending to presence server 1 16, using standard
`
`generic compression techniques on raw data and/or domain-specific run-length
`
`encoding (e. g., for a stand/walk/run classifier, only send updates to presence server
`
`20
`
`116 when the state changes) to reduce communication cost and power usage. When
`
`using SMS, the maximum message size may be used to minimize the price per bit.
`
`Furthermore, preliminary data analysis (e. g, filtering, inference) may be migrated to
`
`consumer devices 220. Given the computational power of many new cellular phones,
`
`significant processing may be done on these mobile devices to reduce communication
`
`25
`
`costs. However, aggregate (trans—users) analysis may be done within presence server
`
`116.
`
`1)
`
`Hardware Sensors:
`
`[0028]
`
`Cell phone 106 may represent one or more of a Nokia 5500 Sport,
`
`N80, N800 and N95 cell phones. PDA 108 may represent one or more of a Nokia
`
`30
`
`N800. Cell phone 106 and PDA 108 may be combined as in a phone/FDA hybrids
`
`such as an Apple iPhone. Embedded sensors 110 may represent one or more of a
`
`Page 8 of 36
`
`Page 8 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`Nike+ system, a recreational sensor platform such as a Garmin Edge. a SkiScape. and
`
`a BikeN et,
`
`[0029]
`
`The SkiScape platform is, for example, used at a ski area to sense
`
`information on skiers and/or the ski area environment. Sensing devices may be
`
`attached to skiers, and fixed nodes communicate with the skiers‘ sensing devices.
`
`The fixed nodes may also capture data such as images, sound, and radar information
`
`including snow depth. Additional information on SkiScape may be found in the
`
`following paper which is incorporated herein by reference: Eisenman et al., SkiScape
`
`Sensing (Poster Abstract), in Proc. of Fourth ACM Conf. on Embedded Network
`
`10
`
`Sensor Systems, (SenSys 2006), Boulder, Nov. 2006.
`
`[0030]
`
`The BikeNet system includes a mobile networked sensing system
`
`for bicycles. Sensors collect cyclist and environmental data along a cycling route.
`
`Application tasking and sensed data uploading occur when sensors come within radio
`
`range of a static sensor access point or via a mobile sensor access point along the
`
`15
`
`cycling route. Additional information on BikeNet may be found in the following
`
`paper which is incorporated herein by reference: Eisenman et al., The BikeNet Mobile
`
`Sensing System/0r Cyclist Experience Mapping, in Proc. of Fifth AC M Conf. on
`
`Embedded Networked Sensor Systems, (SenSys 2007) Sydney, Australia, Nov. 2007.
`
`[003]]
`
`Another example of embedded sensor 1 10 is a BlueTooth enabled
`
`20
`
`3D accelerometer, sometimes refen‘ed to as a BlueCel. The BlucCel may be attached
`
`to a user or to another entity, such as a bicycle. Notebook computer 112 may
`
`represent one or more of Toshiba and Hewlett Packard laptop and/or desktop
`
`computers. Through a survey of the commonly available commercial hardware,
`
`including the examples listed above, the following hardware sensors are currently
`
`25
`
`available on one or more commercial—of-the—shelf(COTS) devices: embedded
`
`cameras, laptop/desktop web cameras, microphone, accelerometer, GPS, radio (e.g.,
`
`Bluetooth device contact logs, 80215.4 ranging, 802.1 1 localization), temperature
`
`sensors, light sensors, humidity sensors, magnetometers, button click sensors, and
`
`device state sensors (e. g., ringer off detectors). System 100 may exploit the
`
`availability of these sensors.
`
`Page 9 of 36
`
`Page 9 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`2)
`
`Virtual Software Sensors:
`
`[0032]
`
`Software sensors are for example those that measure artifacts of
`
`other software that runs on the computing platform in an effort to understand the
`
`context ofthe user’s behavior, mood, etc. They are "virtual” in that they do not sense
`
`physical phenomena, but rather sense electronic evidence (“breadcrumbs") left as the
`
`user goes about his daily routine. Examples of virtual software sensors include the
`
`following: a trace of recent/current URLs loaded by the web browser; a trace of recent
`
`songs played on the music player to infer mood or activity; and mobile phone call log
`
`mining for structure beyond what a cell phone bill commonly provides.
`
`10
`
`[0033]
`
`As an example of how hardware and software sensor samples are
`
`combined to infer activity or status, if recent web searches show access to a movie
`
`review site (e. g., moviefonecom), and if a call was recently made to a particular
`
`friend, and if the time of day and the day of week is consistent with movie theatre
`
`times, and if the cell phone ringer is turned off, it is highly probably that the user is at
`
`15
`
`a movie theatre.
`
`B.
`
`Sensor Calibration
`
`[0034]
`
`Sensor calibration is a fundamental problem in all types of sensor
`
`networks. Without proper calibration, sensor-enabled mobile devices (e. g., cell
`
`phones, PDAs and embedded sensor platforms, etc.) produce data that may not be
`
`useful or may even be misleading. There are many possible sources of error
`
`introduced into sensed data, including those caused by the device hardware itself.
`
`This hardware error can be broken down into error caused by irregularities of the
`
`physical sensor itself due to its manufacturing, sensor drift (sensors characteristics
`
`change because of age or damage), and errors resulting from integration of the
`
`physical sensor with the consumer device (cg, cell phone 106). Physical sensor
`
`irregularities are compensated for at the factory, where a set of known stimuli is
`
`applied to the sensor to produce a map of the sensor output. To correct the device
`
`integration error, post—factory calibration of the sensor—enabled mobile device is
`
`required.
`
`[0035]
`
`One example of a calibration protocol that may be used in system
`
`100 is CaliBree. CaliBree is a distributed, scalable, and lightweight protocol that may
`
`20
`
`25
`
`30
`
`Page 10 of 36
`
`Page 10 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`be used to automatically calibrate mobile sensor devices.
`
`It is assumed that. in mobile
`
`people-centric sensor networks, there will be two classes ofsensors with respect to
`
`calibration: calibrated nodes that are either static or mobile; and un-calibrated mobile
`
`nodes.
`
`In the following discussion, the nodes belonging to the former class are
`
`referred to as ground truth nodes. These ground truth nodes may exist as a result of
`
`factory calibration, or end user manual calibration.
`
`ln CaliBree, un-calibrated nodes
`
`opportunistically interact with calibrated nodes to solve a discrete average consensus
`
`problem, leveraging cooperative control over their sensor readings. The average
`
`consensus algorithm measures the disagreement of sensor samples between the un—
`
`10
`
`calibrated node and a series of calibrated neighbors. The algorithm eventually
`
`converges to a consensus among the nodes and leads to the discovery of the actual
`
`disagreement between the un-calibrated node sensor and calibrated nodes sensors.
`
`The disagreement is used by the un—calibrated node to generate (using a best fit line
`
`algorithm) the calibration curve of the newly calibrated sensor. The calibration curve
`
`15
`
`is then used to locally adjust the newly calibrated nodes sensor readings.
`
`[0036]
`
`in order for the consensus algorithm to succeed, the un-calibrated
`
`sensor devices compare data when sensing the same environment as the ground truth
`
`nodes. Given the limited amount of time mobile nodes may experience the same
`
`sensing environment during a particular rendezvous, and the fact that even close
`
`20
`
`proximity does not guarantee that the un—calibrated sensor and the ground truth sensor
`
`experience the same environment, the consensus algorithm is run over time when un—
`
`calibrated nodcs encounter different ground truth nodes. Additional information on
`
`CaliBree may be found in the following technical report which is incorporated herein
`
`by reference: E. Miluzzo et al., Calibree #A Self Calibration Experimental System/0r
`
`25
`
`Wireless Sensor Networks, in 5067/2008 Lecture Notes in Computer Science 314
`
`(Springer Berlin/Heidelberg, 2008).
`
`C.
`
`Sensor Sharing
`
`[0037]
`
`In system 100, mobile sensing devices (e. g., cell phone 106, PDA
`
`108, embedded sensors 110) locally manage sensing requests both on behalf of the
`
`30
`
`sensing clients (e. g., thin sensing clients) running on the mobile device and/or
`
`services running remotely on presence server 116. These sensing requests may be
`
`-10-
`
`Page 11 of 36
`
`Page 11 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`multidimensional. with each requested sensor sample comprising a primary sensor
`
`type and a metadata or context vector. Context is the set of circumstances or
`
`conditions that surround a particular sensor sample. This context vector included in a
`
`request may indicate a location or time at which a sample is to be taken, and may
`
`include more sophisticated context tags such as sensor orientation (e. g, facing north,
`
`mounted on hip), and inferred custodian activity (e. g, walking, running, sitting). This
`
`context may also include weights that indicate the relative importance of one or more
`
`context elements.
`
`[0038]
`
`Whether a given request is injected into the system locally by a
`
`10
`
`sensing client running on a mobile sensor node, or by presence server 116, difficulties
`
`may arise in tasking an appropriate mobile sensor node with that given request.
`
`Considered strictly, a mobile sensor node is only appropriate to handle a given request
`
`ifit is equipped with the proper sensor, and if it has a context vector that matches that
`
`ofthe request. Strict handling ofa request may lead to excessive delay and/or a loss
`
`15
`
`of data fidelity in successfully servicing the request due to three connected issues: the
`
`uncontrolled mobility of mobile sensing device users; the location (or effective reach)
`
`ofthe request injection point with respect to the sensing target location; and the
`
`mismatch between the equipped sensors and context of available mobile sensor nodes
`
`and the sensors and context required by a request. Sensor sharing addresses this last
`
`20
`
`difficulty.
`
`[0039]
`
`Within system 100, not every consumer device 220 is equipped
`
`with every sensor type. Node heterogeneity arises due to a number of reasons,
`
`including cost (some sensors are more expensive, or rare), interest (some sensors are
`
`of more importance in different interest groups, or to individual users), and hardware
`
`25
`
`evolution (hardware evolves and many platform generations will be in use
`
`simultaneously, e. g. many newer mobile phone models are equipped with a camera
`
`and/or accelerometer but many older/cheaper models are not). Due to this
`
`heterogeneity, mismatches between the sensors required by sensing client requests
`
`and the sensors with which a given mobile node is equipped are likely to arise.
`
`30
`
`[0040]
`
`Sensor equipment and context constraints that a mobile sensing
`
`device must meet to be tasked for a given application request are loosened by
`
`allowing sensor sharing between mobile devices (e.g., a buddy’s device). At a high
`
`-11-
`
`Page 12 of 36
`
`Page 12 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`level. in—situ sensor sharing is a function that allows an under-qualified node to
`
`borrow sensor data from a qualified node in an effort to satisfy a sensing request
`
`while maintaining or improving on the data fidelity, and in a more timely manner.
`
`[0041]
`
`In an example scenario, a student walks from his dorm to school to
`
`attend a mid-day class. The student carries a mobile phone equipped with a suite of
`
`simple sensors (e. g, accelerometer, temperature, microphone, camera), a GPS (e. g,
`
`Nokia N95), and a low power radio such as Bluetooth or IEEE 80215.4, in his
`
`pocket. As he leaves the dorm building, his phone is queried via the cellular data
`
`10
`
`15
`
`channel to measure outdoor light intensity based upon a request made by the student’s
`
`mother accessing a portal page of system 100. Recognizing that the phone is in the
`
`pocket using data inferencing, as the student walks along the sensor sharing service on
`
`the phone periodically broadcasts to discover a node that is out of the pocket (e. g, a
`
`hand-held or hip-mounted device) that can answer the light sensing request. If such a
`
`node responds and shares its light sensor reading, the outdoor light intensity query
`
`may be answered. Further along, the student receives an Ozone Alert text message on
`
`his phone. Curious about the ozone level in his vicinity, he launches an applet on his
`
`phone that is programmed to request this information from presence server 1 16.
`
`However, since the phone is not equipped with an ozone sensor, a request for the local
`
`ozone information is broadcast by the sensor sharing service. A bus mounted
`
`20
`
`platform (e. g., UMass DieselNet) with an attached ozone sensor replies, sharing the
`
`ozone reading which is displayed locally on the cell phone screen.
`
`[0042]
`
`The sensor sharing primitive comprises a distributed sharing
`
`decision algorithm running on the mobile user devices (e. g., cell phone), resource and
`
`context discovery protocols, in-situ sensor sharing protocols and algorithms that adapt
`
`25
`
`according to the radio and sensed environment, and a context analysis engine that
`
`provides the basis for sharing decision making.
`
`D.
`
`Analysis
`
`[0043]
`
`Sensed data is sent from device clients in consumer devices 220 to
`
`presence server 116 and is processed by one or more analysis component (eg,
`
`30
`
`inference engine 212) resident within presence server 116. This analysis component
`
`may combine historical per-user information with inferences derived from
`
`-12-
`
`Page 13 of 36
`
`Page 13 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`combinations of current data derived from multiple sensors to determine the presence
`
`status of the user. This presence status may include objective items such as location
`
`and activity, and subjective items such as mood and preference. While a number of
`
`data fusion, aggregation, and data processing methods are possible, the following are
`
`examples of analysis/inference outputs that are used to generate the sensed presence
`
`within system 100.
`
`[0044]
`
`Location is a key function in any sensing system for providing
`
`geographical context to raw sensor readings. When explicit localization services like
`
`GPS are not available, due to hardware limitation or issues with satellite coverage,
`
`10
`
`15
`
`location of the client devices may be inferred from observed WiFi (e.g., access point
`
`identifiers), Skyhook service, Bluetooth (e. g., identifying location from static devices)
`
`cellular base station neighborhoods, and/or other unique sets of sensed data in a
`
`manner similar to ambient beacon localization. Ambient beacon localization may be
`
`used to determine a sensor’s location by use of supervised learning algorithms that
`
`allow the sensor to recognize physical locations that are sufficiently distinguishable in
`
`terms of sensed data from the other sensors in a field. Additional information on
`
`ambient beacon localization may be found in the following paper which is incorporate
`
`herein by reference: Nicholas D. Lane et al., Ambient Beacon Localization: Using
`
`Sensed Characteristics oft/2e Physical World to Localize Mobile Sensors, in 2007
`
`20
`
`Proceedings of the 41h Workshop on Embedded Networked Sensors 38 (2007).
`
`[0045]
`
`Human activity-inferring algorithms are incorporated within
`
`inference engine 212 to log and predict a users’ behavior. A simple classifier to
`
`determine whether a user is stationary or mobile may be built from several different
`
`data inputs, alone or in combination (e.g., changes in location by any possible means,
`
`accelerometer data). Accelerometer data may be analyzed to identify a number of
`
`physical activities, including sitting, standing, using a mobile phone, walking,
`
`running, stair climbing, and others.
`
`[0046]
`
`Human behavior is often a product of the environment. To better
`
`understand a user’s behavior, it is useful to quantify the user’s environment. Image
`
`and sound data may be collected and analyzed to derive the noisiness/brightness of
`
`the environment. Conversation detection and voice detection algorithms may be used
`
`25
`
`30
`
`-13-
`
`Page 14 of 36
`
`Page 14 of 36
`
`

`

`WO 2009/043020
`
`PCT/US2008/078148
`
`to identify the people in a user‘s Vicinity that may impact behavior and mood ofthe
`
`user.
`
`[0047]
`
`Part of a person's daily experience is the environment where the
`
`person lives and spends most of the time. For example, health related issues of
`
`5
`
`interest may include the level of an individual‘s exposure to particulates (e.g., pollen)
`
`and pollution. By incorporating mechanisms that enable air quality monitoring
`
`around the individual through opportunistic interaction with mobile sensors and/or
`
`static pre—deployed infrastructure (e. g., sensors 1 14), these health related issues of
`
`interest may be predicted and possible prevented.
`
`10
`
`E.
`
`Pres

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket