IP Library › Patent Application 18621595
Patent Application
App. No. 18/621,595

DYNAMIC SENSOR SELECTION

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 None
App. No.
18/621,595
Abstract

In one aspect, a device includes a processor system and storage with instructions executable by the processor system. The instructions are executable to identify sensors that are available to provide sensor input, and to identify a sensor data request from an application (app). The instructions are also executable to, based on the sensors that are available and based on the sensor data request, select a first sensor as a selected sensor from which to source uncooked data to meet the sensor data request. The instructions are also executable to receive the uncooked data from the first sensor and to, based on the selection, execute a shim to cook the uncooked data from the first sensor into cooked data. The instructions are then executable to provide the cooked data to the app and represent to the app that the cooked data is from the second sensor.

Claims (52)

1 . A device, comprising:

a processor system;

a first sensor of a first sensor type;

a second sensor of a second sensor type, the second sensor type being different from the first sensor type; and

storage accessible to the processor system and comprising instructions executable by the processor system to:

identify one or more sensors that are available to provide sensor input to the processor system;

identify a sensor data request from an application (app) executable by the processor system;

dynamically select, based on the one or more sensors that are available and based on the sensor data request, the first sensor over the second sensor as a selected sensor from which to source first data for meeting the sensor data request;

provide second data to the app and also represent to the app that the second data is sourced from the second sensor, the second data being generated based on the first data.

2 . The device of claim 1 , wherein the instructions are executable to:

receive the first data from the first sensor, the first data being uncooked data;

based on the dynamic selection, execute a shim to cook the uncooked data from the first sensor into cooked data, the second data being the cooked data; and

provide the cooked data to the app and also represent to the app that the cooked data is sourced from the second sensor

3 . The device of claim 1 , wherein the dynamic selection is based on one or more persistent system policies.

4 . The device of claim 3 , wherein the dynamic selection is also based on one or more transient system states.

5 . The device of claim 4 , wherein the one or more transient system states comprise a current power state of the device.

6 . The device of claim 4 , wherein the one or more transient system states comprise a current usage of one or more processors in the processor system.

7 . The device of claim 4 , wherein the dynamic selection is also based on one or more user preferences accessible to the device.

8 . The device of claim 7 , wherein the user preferences are overridable by the one or more persistent system policies and/or the one or more transient system states.

9 . The device of claim 4 , wherein the dynamic selection is based on:

computing resource metrics expected based on operation of the first sensor to meet the sensor data request, and computing resource metrics expected based on operation of the second sensor to meet the sensor data request.

10 . The device of claim 9 , wherein the computing resource metrics relate to expected power to be consumed by each of the first sensor and the second sensor to meet the sensor data request.

11 . The device of claim 9 , wherein the computing resource metrics relate to expected processor resources to be consumed by each of the first sensor and the second sensor to meet the sensor data request.

12 . The device of claim 9 , wherein the computing resource metrics relate to data time-to-delivery using each of the first sensor and the second sensor to meet the sensor data request.

13 . The device of claim 1 , wherein the dynamic selection is based on the combination of data cooking steps that best achieves the plurality of sensor data requests received from applications.

14 . A method, comprising:

identifying one or more sensors that are available to provide sensor input to a processor system;

identifying a sensor data request from an application (app) executable by the processor system;

using the processor system to select, based on the one or more sensors that are available and based on the sensor data request, a first sensor as a selected sensor from which to source first data for meeting the sensor data request;

using the processor system to provide second data to the app, the second data being generated based on the first data.

15 . The method of claim 14 , comprising:

receiving, at the processor system, the uncooked data from the first sensor, the uncooked data establishing the first data;

based on the selection, using the processor system to execute a shim to cook the uncooked data from the first sensor into cooked data, the cooked data establishing the second data; and

using the processor system to provide the cooked data to the app.

16 . The method of claim 15 , comprising:

based on one or more criteria for the selection, selecting one of a first processor and a second processor to cook the uncooked data, the first and second processors being processors of different processor types.

17 . The method of claim 14 , wherein the app is a first app, wherein the sensor data request is a first sensor data request, wherein the uncooked data is first uncooked data, wherein the cooked data is first cooked data, wherein the shim is a first shim, and wherein the method further comprises:

while providing the first cooked data to the first app, identifying a second sensor data request from a second app executable by the processor system;

using the processor system to select, based on the one or more sensors that are available and based on the second sensor data request, a third sensor as a selected sensor from which to source second uncooked data to meet the first sensor data request and from which to concurrently source third uncooked data to meet the second sensor data request;

receiving, at the processor system, the second uncooked data from the third sensor;

receiving, at the processor system, the third uncooked data from the third sensor;

using the processor system to execute a second shim to cook the second uncooked data from the third sensor into second cooked data;

using the processor system to execute a third shim to cook the third uncooked data from the third sensor into third cooked data; and

using the processor system to provide the second cooked data to the first app and to provide the third cooked data to the second app.

18 . The method of claim 16 , wherein the second shim is different from first shim.

19 . The method of claim 16 , wherein the first, second, and third shims are different from each other, and wherein the third sensor is different from the first sensor and is different from the second sensor.

20 . At least one computer readable storage medium (CRSM) that is not a transitory signal, the at least one CRSM comprising instructions executable by a processor system to:

identify one or more sensors that are available to provide sensor input to the processor system;

identify a sensor data request from an application (app) executable by the processor system;

select, based on the one or more sensors that are available and based on the sensor data request, a first sensor as a selected sensor from which to source first data for meeting the sensor data request;

and

provide second data to the app, the second data being generated based on the first data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: LENOVO (UNITED STATES) INC.
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 068219/0144 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2024
From: KAPINOS, ROBERT J; LI, SCOTT; NORTON, ROBERT JAMES, JR.
To: LENOVO (UNITED STATES) INC.
Reel/Frame 067107/0232 →