IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0733130
(2007-04-09)
|
등록번호 |
US-9626238
(2017-04-18)
|
발명자
/ 주소 |
- Sheynblat, Leonid
- Wilson, Bruce
- Adappa, Abhishek
- Patwari, Srinivas
- Yuen, Ricky
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
2 인용 특허 :
4 |
초록
▼
A sensor interface is provided with a number of sensor inputs and a number of client inputs. The client inputs are configured to receive a number of data requests from a number of clients. The number of data requests include at least one data request that specifies a particular type of data to be re
A sensor interface is provided with a number of sensor inputs and a number of client inputs. The client inputs are configured to receive a number of data requests from a number of clients. The number of data requests include at least one data request that specifies a particular type of data to be returned, without identifying a particular physical sensor to be used in acquiring the particular type of data. A processor is configured to i) determine what sensor data can be used to satisfy the number of data requests, ii) configure ones of the sensor inputs to receive sensor data from a number of physical sensors, and iii) if possible, satisfy the number of data requests using the received sensor data. Methods and apparatus pertaining to such a sensor interface are also disclosed.
대표청구항
▼
1. A sensor interface in a client device, comprising: a number of sensor inputs;a number of client inputs configured to receive one or more data requests from a number of client applications configured for execution by the client device, wherein the one or more data requests include a data request t
1. A sensor interface in a client device, comprising: a number of sensor inputs;a number of client inputs configured to receive one or more data requests from a number of client applications configured for execution by the client device, wherein the one or more data requests include a data request that specifies a particular type of sensor measurement data to be returned, without identifying a particular physical sensor to be used in acquiring the particular type of sensor measurement data; anda processor configured to: discover, in response to receiving the one or more data requests, a number of physical sensors that are physically installed in the client device from which the client device can currently receive sensor data that can be used to obtain the particular type of sensor measurement data specified by the data request;receive, from at least two different types of physical sensors of the number of physical sensors that are physically installed in the client device, at least two different types of sensor data; andattempt to satisfy the data request using the at least two different types of sensor data. 2. The sensor interface of claim 1, wherein the processor is further configured to dynamically discover at least one additional physical sensor that resides outside of the client device in which the sensor interface is installed. 3. The sensor interface of claim 1, wherein the number of sensor inputs is a plurality of sensor inputs. 4. The sensor interface of claim 1, wherein the number of physical sensors is a plurality of physical sensors. 5. The sensor interface of claim 1, wherein the number of client inputs is a plurality of client inputs. 6. The sensor interface of claim 1, wherein the number of client applications is a plurality of client applications. 7. The sensor interface of claim 1, wherein the processor is configured to combine the at least two different types of sensor data in response to determining that at least one of the two different types of sensor data is not capable of satisfying the data request. 8. The sensor interface of claim 1, wherein the processor is configured to convert at least one of the two different types of sensor data in response to determining that the at least one of the two different types of sensor data is not capable of satisfying the data request. 9. The sensor interface of claim 1, wherein the processor is configured to select from between two or more ways to satisfy the data request using the at least two different types of sensor data. 10. The sensor interface of claim 1, wherein the processor is configured to select from between two or more ways to satisfy the data request using the at least two different types of sensor data, and wherein the selection is made to conserve power provided to the number of physical sensors that are physically installed in the client device. 11. The sensor interface of claim 1, wherein the processor is configured to attempt to satisfy the data request by enabling only those of the number of physical sensors that are used to satisfy the data request. 12. The sensor interface of claim 1, wherein the processor is configured to configure at least one of the two different types of physical sensors, as necessary to satisfy the data request. 13. The sensor interface of claim 12, wherein the processor is configured to arbitrate satisfaction of the one or more data requests with conflicting configurations of the at least one of the two different types of physical sensors that the processor is configured to configure. 14. The sensor interface of claim 1, wherein the processor is configured to configure at least one of the two different types of physical sensors, to satisfy multiple competing data requests in parallel. 15. The sensor interface of claim 1, wherein the processor is configured to i) read one or more quality of service requests associated with the data request, ii) determine what sensor data can be used to satisfy the one or more quality of service requests, and iii) attempt to satisfy the data request in accordance with the one or more quality of service requests. 16. The sensor interface of claim 15, wherein the processor is configured to, in response to at least one of the one or more quality of service requests, combine at least some of the determined sensor data to satisfy the data request. 17. The sensor interface of claim 15, wherein the processor is configured to satisfy the data request by returning both data, and an indicator of a quality of the data. 18. The sensor interface of claim 15, wherein the processor is configured to satisfy the data request by returning both data, and an indicator of a validity of the data. 19. The sensor interface of claim 1, wherein the processor is configured to satisfy the data request by returning both data, and an indicator of quality of the data. 20. The sensor interface of claim 1, wherein the processor is configured to satisfy the data request by returning both data, and an indicator of validity of the data. 21. The sensor interface of claim 1, further comprising a wireless interface, wherein the processor is configured to initiate, via the wireless interface, a broadcast of an existence of one or more of the number of physical sensors. 22. The sensor interface of claim 1, further comprising a wireless interface, wherein the processor is configured to initiate, via the wireless interface, a broadcast of an existence of the sensor interface. 23. The sensor interface of claim 1, wherein the number of client inputs include i) at least one wired client input that is configured to receive data requests from client applications installed on the client device in which the sensor interface is physically installed, and ii) at least one wireless client input that is configured to receive data requests from clients external to the client device in which the sensor interface is physically installed. 24. The sensor interface of claim 1, wherein the one or more data requests include a plurality of data requests, with two or more of the plurality of data requests being from different client applications. 25. The sensor interface of claim 1, wherein the at least two different types of physical sensors include at least two different physical sensors selected from the group consisting of: a physical compass, a three-dimensional (3D) accelerometer, a temperature sensor, a pressure sensor, an altitude sensor, a linear motion sensor, and an orientation sensor. 26. The sensor interface of claim 25, wherein the processor is configured to provide a virtual sensor comprising a tilt-compensated compass to satisfy the data request by compensating magnetic heading data received from the physical compass using tilt data received from the accelerometer. 27. The sensor interface of claim 25, wherein the processor is configured to provide a virtual sensor comprising a temperature-corrected pressure sensor to satisfy the data request by correcting a pressure reading received from the pressure sensor using a temperature reading received from the temperature sensor. 28. The sensor interface of claim 25, wherein the processor is configured to provide a virtual sensor comprising an altitude sensor to satisfy the data request by estimating a corresponding altitude based on a barometric pressure reading received from the pressure sensor. 29. The sensor interface of claim 25, wherein the processor is configured to provide a virtual sensor comprising a vibration sensor to satisfy the data request to quantify vibration experiences by the client device using accelerometer data received from the accelerometer. 30. The sensor interface of claim 25, wherein the processor is configured to provide a virtual event sensor to signify an occurrence of an event selected from the group consisting of: drop detection of the client device, whether the client device is being moved, a temperature change of the client device, an altitude change of the client device, a pressure change of the client device, a velocity change of the client device, and whether the client device has traveled a predetermined distance. 31. A method performed by a client device, comprising: receiving one or more data requests from a number of client applications configured for execution by the client device, wherein the one or more data requests include a data request that specifies a particular type of sensor measurement data to be returned, without identifying a particular physical sensor to be used in acquiring the particular type of sensor measurement data;discovering, in response to the receiving the one or more data requests, a number of physical sensors that are physically installed in the client device from which the client device can currently receive sensor data that can be used to obtain the particular type of sensor measurement data specified by the data request;receiving, from at least two different types of physical sensors of the number of physical sensors that are physically installed in the client device, at least two different types of sensor data; andattempting to satisfy the data request using the at least two different types of sensor data. 32. The method of claim 31, further comprising: enabling only those of the number of physical sensors that are used to satisfy the data request. 33. The method of claim 31, further comprising: configuring at least one of the two different types of physical sensors of the number of physical sensors, as necessary to satisfy the data request. 34. The method of claim 31, further comprising: combining the at least two different types of sensor data in response to determining that at least one of the two different types of sensor data is not capable of satisfying the data request. 35. The method of claim 31, further comprising: converting at least one of the two different types of sensor data in response to determining that the at least one of the two different types of sensor data is not capable of satisfying the data request. 36. The method of claim 31, further comprising: broadcasting an existence of one or more of the number of physical sensors. 37. A client device, comprising: a number of installed client applications configured for execution by the client device;a number of sensor communication interfaces; anda sensor interface configured to: provide an application programming interface (API), wherein the API is configured to receive one or more data requests from the number of installed client applications, and the one or more data requests includes a data request that specifies a particular type of sensor measurement data to be returned, without identifying a particular physical sensor to be used in acquiring the particular type of sensor measurement data;discover, in response to receiving the one or more data requests, a number of physical sensors that are physically installed in the client device from which the client device can currently receive sensor data that can be used to obtain the particular type of sensor measurement data specified by the data request;host a number of sensor drivers configured to communicate with the number of physical sensors via the number of sensor communication interfaces to receive, from at least two different types of physical sensors of the number of physical sensors that are physically installed in the client device, at least two different types of sensor data; andattempt to satisfy the data request using the at least two different types of sensor data. 38. The client device of claim 37, wherein the number of installed client applications include at least one of: a web browser, a camera, a pedometer, and a global positioning system. 39. The client device of claim 37, wherein the sensor interface i) is configured to provide a virtual sensor that combines the at least two different types of sensor data in response to determining that at least one of the two different types of sensor data is not capable of satisfying the data request, and ii) is configured to attempt to satisfy the data request using an output of the virtual sensor. 40. The client device of claim 37, wherein the sensor interface i) is configured to provide a virtual sensor that converts at least one of the two different types of sensor data in response to determining that the at least one of the two different types of sensor data is not capable of satisfying the data request, and ii) is configured to attempt to satisfy the data request using an output of the virtual sensor. 41. A non-transitory computer-readable storage medium comprising instructions, which, when executed by a client device, cause the client device to perform operations, the instructions comprising: code to receive one or more data requests from a number of client applications configured for execution by the client device, wherein the one or more data requests include a data request that specifies a particular type of sensor measurement data to be returned, without identifying a particular physical sensor to be used in acquiring the particular type of sensor measurement data;code to discover, in response to receiving the one or more data requests, a number of physical sensors that are physically installed in the client device from which the client device can currently receive sensor data that can be used to obtain the particular type of sensor measurement data specified by the data request;code to receive from at least two different types of physical sensors of the number of physical sensors that are physically installed in the client device, at least two different types of sensor data; andcode to attempt to satisfy the data request using the at least two different types of sensor data. 42. The non-transitory computer-readable storage medium of claim 41, further comprising: code to enable only those of the number of physical sensors that are used to satisfy the data request. 43. The non-transitory computer-readable storage medium of claim 41, further comprising: code to combine the at least two different types of sensor data in response to determining that at least one of the two different types of sensor data is not capable of satisfying the data request. 44. The non-transitory computer-readable storage medium of claim 41, further comprising: code to convert at least one of the two different types of sensor data in response to determining that the at least one of the two different types of sensor data is not capable of satisfying the data request. 45. The non-transitory computer-readable storage medium of claim 41, further comprising: code to create a virtual sensor. 46. The non-transitory computer-readable storage medium of claim 41, further comprising: code to provide one or more quality of service requests associated with the data request; andcode to determine sensor data that can be used to satisfy the one or more quality of service requests. 47. A client device, comprising: means for receiving one or more data requests from a number of client applications configured for execution by the client device, wherein the one or more data requests include a data request that specifies a particular type of sensor measurement data to be returned, without identifying a particular physical sensor to be used in acquiring the particular type of sensor measurement data;means for discovering, in response to receiving the one or more data requests, a number of physical sensors that are physically installed in the client device from which the client device can currently receive sensor data that can be used to obtain the particular type of sensor measurement data specified by the data request;means for receiving, from at least two different types of physical sensors of the number of physical sensors that are physically installed in the client device, at least two different types of sensor data; andmeans for attempting to satisfy the data request using the at least two different types of sensor data.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.