IP Library › Granted Patent US 8,775,337
Granted Patent B2
US 8,775,337 · App. 13/330,457 · Granted Jul 8, 2014

Virtual sensor development

Inventors: Paramvir Bahl (Bellevue, WA); Aman Kansal (Issaquah, WA); Romit Roy Choudhury (Durham, NC); David Chiyuan Chu (Redmond, WA); Alastair Wolman (Seattle, WA); Jie Liu (Medina, WA); Xuan Bao (Durham, NC)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,775,337
App. No.
13/330,457
Granted
Jul 8, 2014
Kind
B2
Abstract

Embodiments include processes, systems, and devices for developing a virtual sensor. The virtual sensor includes one or more inference models. A decision engine utilizes an inference model associated with a mobile device to determine another inference model that is configured to accept physical sensor data from another mobile device. In this way, the virtual sensor can be developed for use with many mobile devices using initial inference models developed for a small number of mobile devices or a single mobile device. Embodiments also include methods to select mobile devices from which to request physical sensor data for virtual sensor input. Embodiments also include architectures that provide a library of virtual sensors.

Claims (35)

1. A method of developing a virtual sensor, the method comprising:

receiving an inference model configured to accept sensor data from a mobile device and to output inferences based on the sensor data;

inputting training data from another mobile device into the inference model to obtain a set of inferences and associated certainty values based on training data from the other mobile device; and

determining, based at least in part on the set of inferences and associated certainty values, another inference model configured to accept other sensor data from the other mobile device and to output other inferences based on the other sensor data.

2. The method of claim 1 , wherein the inference model is a substitute inference model based on an initial inference model, the initial inference model configured to accept a first type of sensor data of the mobile device and to output the inferences based on the first type of sensor data, and the substitute inference model configured to accept a second type of sensor data of the mobile device and to output the inferences based on the second type of sensor data.

3. The method of claim 2 , further comprising utilizing machine learning to develop the substitute inference model based on the initial inference model and based on a relationship between the first type of sensor data and the second type of sensor data.

4. The method of claim 3 , further comprising utilizing machine learning to develop a set of substitute inference models based on the initial inference model, the substitute inference model included in the set of substitute inference models.

5. The method of claim 2 , wherein the initial inference model is developed based on test sensor data from the mobile device and an associated set of training labels that correspond to the inferences, the method further comprising selecting the substitute inference model from a set of substitute inference models based on relative accuracies of the substitute inference model, the initial inference model, and others of the set of substitute inference models in matching the training labels to the second type of sensor data.

6. The method of claim 4 , wherein the initial inference model is developed based on test sensor data for the first mobile device and an associated set of training labels that correspond to the inferences, the method further comprising selecting the substitute inference model from the set of substitute inference models based on relative energy usages of the substitute inference model, the initial inference model, and others of the set of substitute inference models.

7. The method of claim 1 , wherein the inference model is a substitute inference model based on an initial inference model, the method further comprising:

receiving test sensor data and associated training labels, the test sensor data associated with a set of mobile devices including the mobile device; and

utilizing machine learning to determine the initial inference model based on the test sensor data and the associated training labels.

8. The method of claim 7 , wherein the inferences are based on the associated training labels.

9. The method of claim 1 , wherein the utilizing the set of inferences and associated certainty values to determine the other inference model includes utilizing semi-supervised machine learning to adapt the other inference model from the inference model.

10. The method of claim 1 , wherein the inference model is a substitute inference model in a plurality of substitute inference models, individual ones of the plurality of substitute inference models based on an initial inference model, individual ones of the substitute inference models configured to accept corresponding types of sensor data of the mobile device and to output the inferences based on the corresponding types of sensor data, the method further comprising:

receiving one or more of the initial inference model and other ones of the plurality of substitute inference models;

utilizing the one or more of the initial inference model and the other ones of the plurality of substitute inference models to output corresponding sets of inferences and associated certainty values, the corresponding sets of inferences and associated certainty values based on corresponding training data from the other mobile device; and

utilizing the corresponding sets of inferences and associated certainty values to determine corresponding other inference models configured to accept corresponding other sensor data from the other mobile device and to output the inferences based on the corresponding other sensor data.

11. A method comprising:

receiving, by one or more processors of a computing system, a plurality of values of information, with respect to an inference model, associated with additional sensor data corresponding to a plurality of mobile devices;

determining, by the one or more processors, based on relationship patterns between the plurality of mobile devices and based on the plurality of values of information, one or more combinations of mobile devices and sensing temporal frequencies that meet a plurality of constraints associated with receiving sensor data from the plurality of mobile devices; and

requesting, by the one or more processors, sensor data from individual ones of the plurality of mobile devices at time intervals according to a selected one of the one or more combinations.

12. The method of claim 11 , wherein the plurality of constraints include constraints on time intervals that the plurality of mobile devices can be sensed from, and constraints on the spatial locations at which the plurality of mobile devices can be sensed from.

13. The method of claim 11 , wherein the plurality of values of information include a demand-weighted value of information indicating a decrease of uncertainty if a specific mobile device is sensed from, the demand-weighted value of information also indicating a demand for sensing from the specific mobile device.

14. The method of claim 11 , further comprising utilizing diagonalization and pruning to reduce a computational complexity of the determining.

15. The method of claim 11 , wherein the relationship patterns between the various mobile devices include one or more of shared working hour patterns, shared living location patterns, familial or business relationship patterns, and time zone patterns of users associated with the various mobile devices.

16. The method of claim 11 , further comprising selecting the selected one of the one or more combinations based on an objective to reduce network usage or to reduce mobile device battery usage.

17. A system, comprising:

memory;

one or more processors;

a virtual sensor stored on the memory and executable by the one or more processors to implement inference models that accept physical sensor data from a plurality of mobile devices and to output inferences regarding phenomena to an application, the inferences based on the physical sensor data; and

a decision engine configured to select a subset of the plurality of mobile devices and to upload time intervals to provide the physical sensor data based on a value of information of obtaining additional physical sensor data and temporal and location-based constraints placed on the upload of physical sensor data.

18. The system of claim 17 , further comprising an upper virtual sensor abstraction layer that is configured to interface between the virtual sensor and an instance of a lower sensor abstraction layer that is executed by one of the plurality of mobile devices, the upper virtual sensor abstraction layer further configured to upload instances of the physical sensor data from the one of the plurality of mobile devices based on the upload time intervals.

19. The system of claim 17 , wherein the decision engine is further configured to accept a first inference model of the virtual sensor developed based at least on test physical sensor data from a first mobile device, and to bootstrap the first inference model to a second mobile device to create a second inference model configured to accept physical sensor data from the other mobile device and to output the inferences regarding aspects of the phenomena associated with the second device.

20. The system of claim 17 , wherein an instance of the application is executable by a one of the plurality of mobile devices that is not part of the subset of the plurality of mobile devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: BAHL, PARAMVIR; KANSAL, AMAN; CHOUDHURY, ROMIT ROY; CHU, DAVID CHIYUAN; WOLMAN, ALASTAIR; LIU, JIE; BAO, XUAN
To: MICROSOFT CORPORATION
Reel/Frame 027412/0815 →
Continuity (1)
Related Publication 20130159223A1 · Jun 20, 2013