CN108781081B - 用于传感器应用的自动型报告速率优化 - Google Patents
用于传感器应用的自动型报告速率优化 Download PDFInfo
- Publication number
- CN108781081B CN108781081B CN201780016624.4A CN201780016624A CN108781081B CN 108781081 B CN108781081 B CN 108781081B CN 201780016624 A CN201780016624 A CN 201780016624A CN 108781081 B CN108781081 B CN 108781081B
- Authority
- CN
- China
- Prior art keywords
- sensor
- applications
- data
- application
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C5/00—Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
- G01C5/06—Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels by using barometric means
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/02—Magnetic compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C19/00—Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D3/00—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups
- G01D3/10—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups with provision for switching-in of additional or auxiliary indicators or recorders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/124—Sampling or signal conditioning arrangements specially adapted for A/D converters
- H03M1/1245—Details of sampling arrangements or methods
- H03M1/126—Multi-rate systems, i.e. adaptive to different fixed sampling rates
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Automation & Control Theory (AREA)
Abstract
在多个应用的优选传感器采样间隔不同的情况下,从多个可选报告间隔模式之一中选择报告间隔模式。通过使用多个可选报告间隔模式,在使用单个固定报告间隔模式时发生的一些问题可被避免。
Description
背景
各种各样的传感器与计算机系统一起使用。特别地,现代移动电话包括诸如加速度计、陀螺仪、磁力计罗盘和气压计之类的传感器。
例如,移动电话中的加速度计可被用于检测电话的取向和移动。陀螺仪通过跟踪旋转或扭动为加速度计提供的信息增加了附加的维度。
磁力计罗盘可为移动电话提供有关移动电话相对于地球磁场取向的信息。取决于用户的物理取向,移动电话可使用磁力计罗盘来旋转数字地图。
气压计是测量大气压力的传感器。气压计可被用于确定移动电话的高度。
来自这些传感器的数据在计算机系统上执行的应用请求时可以被访问。例如,应用可请求以给定间隔提供传感器数据以使应用能够提供各种功能和服务。
概述
当只有一个应用向传感器请求数据时,如果所请求的速率与传感器的能力、功率利用约束和其他因素一致,则操作系统可以以应用所请求的速率提供传感器数据。但是,当多个应用以不同的间隔向同一传感器请求传感器数据时,可能会发生冲突。例如,第一应用可请求每3秒提供一次传感器数据,而第二应用可请求每5秒提供一次传感器数据。
通过对传感器进行过采样可避免这种冲突。例如,每秒都对该传感器进行采样允许第一应用每3秒被提供一次传感器数据,而第二应用每5秒被提供一次传感器数据。操作系统对一秒间隔的传感器样本取每第三个样本并将其提供给第一应用并对一秒间隔的样本取每第五个样本并将其提供给第二应用。这可被称为“过采样”,因为两个应用都没有以如此短的间隔请求传感器数据。在此示例中,传感器以比应用请求的最短间隔快3倍地进行采样。
然而,这种过采样可能导致资源和功率的过度使用。通过以最短的请求间隔(而非更短的过采样间隔)请求传感器数据可避免过采样。但是,由于不同的间隔请求,不进行过采样可能会导致冲突。
可通过使用报告间隔模式来解决由不同的请求采样间隔所引起的冲突。报告间隔模式控制在各传感器间隔请求之间发生冲突时传感器如何报告数据。例如,可使用严格型模式,其尝试以每个应用请求的间隔提供数据。在严格型模式中,操作系统可以每3秒向第一应用提供一次传感器数据并操纵接收到的传感器数据以将(不一定准确或最新的)传感器数据每5秒一次提供给第二应用。
替代地,可使用机会型模式,其中数据以各应用中的一个应用所请求的最高速率被提供。例如,在机会型模式中,即使第二应用每5秒请求一次传感器数据,传感器数据也可以以每3秒一次被提供给两个应用。但是,如果速率与第二应用所需的速率相冲突,则这可能会在第二应用处导致问题。
本申请的各实施例包括当各应用所请求的采样间隔不同时,从多个可选报告间隔模式之一中选择报告间隔模式。例如,计算设备可在严格型模式和机会型模式之间进行选择。
计算设备可从应用自身接收报告间隔模式请求。这可允许应用指示在冲突的情况下它希望如何接收传感器数据。例如,应用可指示该应用是否偏好在严格型模式中以所请求的间隔(在定时或准确性上存在潜在的失真)接收传感器数据,或该应用是否可在机会型模式中以较短的间隔处理传感器数据。
使用多个可选报告间隔模式避免了在报告间隔模式无法更改时可能发生的潜在问题。例如,固定的严格型模式可能会向可以以更高速率处理传感器数据的应用提供失真数据;固定的机会型模式可能会淹没(overwhelm)需要以所请求的间隔提供数据的应用。
附图简述
图1是一个实施例的功能图。
图2是一个实施例的流程图。
图3是例示严格型间隔模式的流程图。
图4是例示机会型间隔模式的流程图。
图5是例示自动型间隔模式的流程图。
图6是例示示例性计算机系统的图。
图7是例示示例性移动电话系统的图。
说明性示例的详细描述
图1示出了根据一个实施例的设备102的功能图。设备102可以是计算机系统,诸如智能电话、膝上型计算机、台式机、嵌入式系统、物联网(IoT)设备或具有处理器的任何其他设备。设备102可以与诸如传感器104、106和108之类的各传感器进行交互。诸如传感器104、106和108之类的传感器可包括检测环境中的事件或变化并提供相应输出的设备或元件。诸如传感器104、106和108之类的传感器可以是计算机系统本地的或远程的。示例性传感器可包括加速度计、陀螺仪、磁力计罗盘和气压计。
操作系统(OS)110可以是管理计算机硬件和软件资源并为计算机程序或应用(诸如应用112、114和116)提供公共服务的系统软件。操作系统110可包括传感器堆栈111。传感器堆栈111可实现传感器控制器功能。
传感器104、106和108可以与传感器驱动器118、120和122相关联。驱动器可以是操作或控制作为计算机的一部分或以其他方式耦合到计算机的特定类型的设备的软件元件。传感器驱动器通常是与传感器硬件和操作系统110交互的软件元件,使得操作系统110可控制传感器并从传感器接收数据。驱动器118、120和122可使用应用编程接口(API)与传感器堆栈111交互,该应用编程接口(API)允许传感器数据的传递且允许传感器堆栈111控制传感器104、106和108。例如,API可允许应用请求传感器报告间隔和报告间隔模式(在如下文讨论的间隔冲突的情况下)。
操作系统110,驱动器118、120和120以及应用112、114和116可使用如图6和7所示至少一个处理器和存储器来实现。
在一个实施例中,诸如应用112和114之类的多个应用可向诸如传感器104之类的单个传感器以不同间隔请求传感器数据。如下文描述的,传感器堆栈111可选择报告间隔模式以控制发送到应用112和114的传感器数据。
图2示出了根据一个实施例的提供传感器数据的方法。计算机系统可将数据提供给向传感器请求数据的多个应用。
在步骤202,可从多个应用接收对来自传感器的传感器数据的多个请求。该请求可指示各应用的优选的传感器采样间隔。
当各应用的至少一些优选的采样间隔不同时,在步骤204,从多个可选报告间隔模式中选择针对要提供给应用的传感器数据的报告间隔模式。在一个实施例中,除了期望的传感器采样间隔之外,应用可请求报告间隔模式。可选择所建议的报告间隔模式,除非它们是冲突的。在一些实施例中,传感器堆栈或在计算设备上执行的其他功能可选择报告间隔模式。例如,如果发起请求的应用未指示所请求的报告间隔模式,则传感器堆栈可选择默认报告间隔模式或基于一个或多个选择标准来选择报告间隔模式。下文提供了这种冲突的建议报告间隔模式的示例。在一个实施例中,如下文所讨论的,可选报告间隔模式可包括严格型模式、机会型模式和自动型模式。
在步骤206,从与传感器相关联的驱动器接收传感器数据。传感器堆栈可请求驱动器根据指定的报告间隔提供传感器数据。在一些实施例中,如果如下文所描述的进行选择,则传感器堆栈可以以自动型模式提供传感器数据。
在步骤208,根据所选择的报告间隔模式将传感器数据提供给发起请求的应用。
使用多个报告间隔模式可避免在使用固定报告间隔模式时可能发生的问题。使用多个报告间隔模式提供了一种机制,例如,允许功耗节约和行为一致性方面的改进。
应用可提供其期望的报告间隔模式的指示。在一个实施例中,应用可在三种报告间隔模式之间进行选择:
-严格型模式:在此模式中,传感器堆栈尝试以尽可能接近所请求的速率将传感器样本读数发送到每个进行请求的客户端。由于每个样本与所请求的速率匹配的程度不一致,针对各样本读数的接收时间速率可能会出现抖动。该模式在图3中被例示。
-机会型模式:在此模式中,传感器堆栈可发送比客户端所请求的样本更多的样本。例如,如果另一客户端以更快的速率(更短的间隔)请求数据,则传感器堆栈可以以该更快的速率将该传感器数据发送到以较慢的速率请求数据的客户端。在此模式中,保证发送样本的速率至少与所请求的速率相匹配。该模式在图4中被例示。
-自动型模式:在此模式中,传感器堆栈负责选择何时发送样本报告最佳。例如,传感器堆栈可为进行请求的客户端选择报告间隔模式。在一些情况下,取决于传感器堆栈选择的内容,应用所请求的报告速率可能会被忽略。该模式在图5中被例示。
将可选报告间隔模式添加到传感器堆栈背后的原因是多方面的。功率消耗巨大的传感器可利用外部试探(诸如另一功率消耗较低的传感器的结果)来智能地调整(tweak)进行报告的速率。结果,通过允许驱动器决定针对各应用的最佳报告速率(即,当使用自动型报告速率时),设备及其应用可受益于功耗节约。
例如,一些传感器可以以更高的报告速率提供更准确的结果。功耗友好的应用通常在电池寿命和准确性之间进行权衡,并且为了节约功率通常选择从准确性的角度来看次优的报告速率。系统上的其他应用可能对更快的报告速率有硬性要求。在此情况下,具有次优报告速率的应用可机会型地使用其他应用的报告速率(即,机会型报告速率)。
当多个客户端访问同一传感器时,传感器堆栈可能负责在每个应用所请求的设置之间进行仲裁。更具体而言,当两个客户端请求不同的样本报告速率时,将驱动器配置为使用最高报告速率的传感器类扩展可被实现。类扩展可然后负责过滤发送到请求较低速率的应用的数据包,从而丢弃未被这些应用请求的额外的数据包。
当两个客户端请求不同的采样速率并且该采样速率彼此不兼容时(例如,一个采样速率是另一采样速率的非倍数——例如,三秒和五秒的传感器间隔请求),类扩展可能会在速率选择和过滤方面妥协。此外,应用可在系统上进出,并且类扩展可通过重新配置驱动器和类扩展过滤逻辑来响应。本文描述的用于实现不同的报告间隔模式的策略可被用于解决这些问题。
一些传感器可配置为报告自最后一次样本读数报告以来测得的样本读数值。在一些实施例中,传感器类扩展可提供用于过滤样本的手段。在此类实施例中,“最后一次报告的样本”的概念从每个应用的角度和从驱动器的角度来看可能是不同的。一些传感器提供数据阵列。此类数据阵列在一时间段内被测得,并且该时间段可以基于报告间隔(因此它是依赖于报告速率的)。典型的示例是用于心率传感器的R-R间隔阵列。
如果应用1 112请求一秒报告间隔而应用2 114请求三秒间隔,则驱动器118可被配置为每秒发送一次样本报告(驱动器118继承自最严格的间隔——即,自应用1 112报告间隔)。但是,从驱动器的角度来看,样本读数仅包含针对最后一秒测量的值。当此阵列被发送到应用2 114时,应用2 114接收填充有自最后一秒开始以来收集的值的阵列,并且此阵列可能因此错过两秒的数据。由于阵列的高速缓存/拼接通常是功率消耗高的昂贵的操作,因此在一个实施例中,堆栈可替代为使用自动型和机会型模式来报告由驱动器118发送的每个样本。
当样本读数被发送到单个发起请求的客户端时,向发起请求的客户端报告传感器数据的过程可被简化。传感器驱动器可被配置为以客户端所请求的速率发送样本,并且传感器类扩展可将它收集的所有样本发送到客户端。
图3例示了严格型间隔模式的示例。当应用将报告间隔模式设置为“严格”时,传感器堆栈111尝试匹配应用所请求的确切样本报告速率。
在图3中,应用1 112请求1秒报告速率并请求严格型报告间隔模式。在3秒标记处,应用1 112然后将所请求的报告速率改变为3秒。应用2 114请求3秒报告速率并还请求严格型报告间隔模式。结果,应用1 112和应用2 114两者都准确地接收它们所要求的样本。
图4例示了机会型间隔模式的示例。如果应用将报告间隔模式设置为“机会型的”,并且如果另一应用请求更快的报告速率,则传感器堆栈以该更快的报告速率向两个应用报告样本读数。如果每个其他应用都请求比特定应用慢的报告速率,则所有应用都以该特定应用的速率接收样本(忽略其请求的速率)。
在图4中,应用1 112请求1秒报告速率并请求报告间隔模式是严格型的(或机会型的)。应用2 114请求3秒或更高的报告速率并请求报告间隔模式是机会型的。结果,直到第三秒,应用2 114每秒都接收样本(所有样本最初都以应用1 112为目的地)。
在3秒标记处,应用1 112将所请求的报告速率改变为3秒。在该点之后,应用1 112和应用2 114两者每3秒接收一次样本。
图5例示了自动型间隔模式的示例。应用1 112和应用2 114两者都将报告间隔模式设置为“自动型”来请求传感器驱动器选择最合适的报告速率。如果各客户端应用中的一者请求除“自动型”以外的模式(见下文),则该模式被传感器堆栈111超驰(override)。
在图5中,应用1 112请求自动型报告间隔模式。应用2 114请求报告间隔模式是自动型的。在一个实施例中,驱动器118可选择最合适的采样速率。例如,驱动器118报告的每个样本都可被发送到两个应用。确定“最合适的”采样速率的实现可基于驱动器和传感器而变化。驱动器118确定合适的采样速率的一个目标可以是设置报告间隔,以便通过仅向发起请求的应用报告相关数据来尽可能多地节省功率。
在一个实施例中,当多个应用请求不兼容的模式时(例如,两个应用都请求严格型报告模式并且请求采样速率没有公约数),则传感器堆栈111可以基于下表解决冲突(下文的每个单元格都包含报告间隔模式和报告间隔的示例):
应用请求中的时间(以秒为单位)值对应于所请求的间隔速率(但是,如果应用请求机会型模式,则应用可能会以较短的间隔接收数据)。
如表中所示的,如果所有的应用都以自动型模式请求数据,则驱动器将会被请求以最短的请求间隔(这可被认为是“严格型模式”的类型),或以自动型模式提供数据。
在示例1中,当两个应用都请求严格型模式时,数据以严格型模式被提供给两个应用。在示例1中,应用2想要以比应用1更长的间隔来获得传感器数据。传感器堆栈将尝试以更长的间隔提供数据。
在示例2和5中,当一个应用请求自动型模式而另一个应用不请求时,以机会型模式向请求自动型模式的应用提供数据。
在示例3中,当一个应用请求严格型模式而另一个应用请求机会型模式时,传感器数据以最短的请求间隔被发送到请求机会型模式的应用。
在示例6中,所有应用都请求传感器数据以自动型模式发送,并且驱动器可以以自动型模式提供数据。
如表中所示,传感器堆栈111可在某些情况下修改所请求的间隔报告模式,其中系统上的一个应用请求比另一个应用更“严格”的报告模式。当“自动型”报告模式不可用时,传感器堆栈可回退到“机会型”报告模式。
在一个实施例中,当系统上的所有发起请求的应用都请求“自动型”报告模式时,可有效地忽略应用所请求的报告速率,因为驱动器可提供其自己选择的报告速率。
在驱动器118不支持“自动型”模式的情况下,传感器堆栈可回退到使用“机会型”模式。
在一个示例用例中,心率传感器R-R间隔可作为自从将最后一次样本读数报告给传感器堆栈以来测得值的表提供给用户。当使用“严格型”模式时,“最后一次样本读数”的概念从驱动器/类扩展的视角和从应用的视角来看可能是不同的。如早前提及的,传感器类扩展可在将样本读数发送到发起请求的应用之前过滤掉一些样本读数。与经丢弃的样本相关联的R-R间隔的表可能被丢弃或可能需要消耗功率的拼接以保持一致性。一些应用可能对R-R间隔不感兴趣,并可能仍希望使用“严格型”模式。对于这些应用,希望能够在“严格型”和“机会型”模式之间进行选择。
图6和7例示了可实现图1-5所描述的各实施例的示例计算系统。图6例示了示例台式计算机或膝上型计算机。图7例示了示例移动电话。
图6例示了可实现如图1所示的功能的计算系统20的示例。计算系统可包括传感器(未示出),诸如加速度计、陀螺仪、磁力计罗盘和气压计。传感器可与在处理器单元59处实现图1的功能的软件交互。
计算系统20只是合适的计算系统的一个示例,并且不旨在对当前公开的主题的使用范围或功能提出任何限制。也不应该将计算系统20解释为对示例性计算系统20中解说的任一组件或组件组合有任何依赖性或要求。在一些示例中,各种计算元件可包括被配置成实例化本公开的各具体方面的电路系统。例如,本公开中使用的术语电路系统可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例中,术语电路系统可包括由实施可用于执行(诸)功能的逻辑的软件指令配置的通用处理单元、存储器等。在电路系统包括硬件和软件的组合的示例中,实现者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。由此,对于硬件实现还是软件实现的选择是设计选择之一并留给实现者。
计算系统20包括计算机41,计算机41通常包括各种计算机可读介质。计算机可读介质可以是能由计算机41访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器22包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)23和随机存取存储器(RAM)60。
存储器34、35、22和47可包括具有具体的、有形的、物理的结构的存储介质。如所公知的,信号不具有具体的、有形的、物理的结构。存储器以及本文所述的任何计算机可读存储介质不被解释为信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为瞬态信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为传播信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为制品。
包含诸如在启动期间帮助在计算机41内的各元件之间转移信息的基本例程的基本输入/输出系统24(BIOS)通常被存储在ROM 23中。RAM 60通常包含处理单元59可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图6示出了操作系统25、应用程序26、其他程序模块27和程序数据28。
计算机41也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图6示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器38,从可移动、非易失性磁盘54中读取或向其写入的磁盘驱动器39,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘53中读取或向其写入的光盘驱动器40。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器38通常由诸如接口34之类的不可移除存储器接口连接至系统总线21,而磁盘驱动器39和光盘驱动器40通常由诸如接口35之类的可移除存储器接口连接至系统总线21。
以上讨论并在图1中示出的驱动器及其相关联的计算机存储介质为计算机41提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图6中,例如,硬盘驱动器38被例示为存储操作系统58、应用程序57、其他程序模块56和程序数据55。注意,这些组件可以与操作系统25、应用程序26、其它程序模块27和程序数据28相同或不同。在此操作系统58、应用程序57、其他程序模块56以及程序数据55被给予了不同的编号,以至少说明它们是不同的副本。用户可以通过输入设备,诸如键盘51和定点设备52(通常称为鼠标、跟踪球或触摸垫)向计算机41输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口36连接到处理单元59,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。相机226、228和捕捉设备20可经由用户输入接口36来定义计算系统20的附加输入设备。监视器42或其他类型的显示设备也经由诸如视频接口32之类的接口连接至系统总线21。除监视器之外,计算机还可包括可以通过输出外围接口33连接的诸如扬声器44和打印机43之类的其他外围输出设备。捕捉设备20可经由输出外围接口33、网络接口37或其他接口连接到计算系统20。
计算机41可使用到一个或多个远程计算机(诸如,远程计算机46)的逻辑连接而在联网环境中操作。远程计算机46可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上相对计算机41所描述的元件,但在图6中仅例示了存储器存储设备47。所描绘的逻辑连接包括局域网(LAN)45和广域网(WAN)49,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。
当在LAN联网环境中使用时,计算机41通过网络接口37连接到LAN 45。当在WAN联网环境中使用时,计算机41通常包括调制解调器50或用于通过诸如因特网等WAN 49建立通信的其他手段。调制解调器50可以是内置的或外置的,可经由用户输入接口36或其他合适的机制连接到系统总线21。在联网环境中,相关于计算机41所描绘的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非局限,图6例示了应用程序48驻留在存储器设备47上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。
图7例示了可实现图1中所示的功能的电话70的示例。电话可包括传感器86,诸如加速度计、陀螺仪、磁力计罗盘和气压计。传感器86可与在处理器单元74处实现图1的功能的软件交互。
在图7中是用于移动电话70的可能硬件架构的主要部分的框图。应当理解,图7是示例并且任何移动电话70都不限于此类硬件架构。
移动电话70具有发射机/接收机电路72,其可以是被适配成根据蜂窝标准操作的、连接到处理器单元74并将其通信地连接到蜂窝通信网络(未示出)的经标准化的收发机。电话70可被适配以用于经由无线通信网络(例如,蜂窝网络)进行通信,但是它也可被适配以用于无绳网络。例如,它可被适配成与GSM网络、CDMA网络、TDMA网络、或其他种类的蜂窝网络和各种形式的无绳电话系统结合使用或被适配成用于访问这些系统/网络的集合的双频电话或三模电话中。尽管未在图7中示出,但是移动电话70还可具有标准红外(ir)或蓝牙无线端口,使其能够经由无线连接直接从另一设备接收数据。
通过发射机/接收机电路72接收的语音信号在模数(A/D)转换器(未示出)中进行A/D转换,被馈送到音频处理76(诸如被配置为在处理器单元74的控制下处理信号的编解码器)并被编码以产生通过放大器(未示出)被馈送到扬声器78(和/或耳机)的模拟信号。音频处理76在被放大器(未示出)放大并在A/D转换器(未示出)中进行A/D转换之后从话筒80接收模拟信号。音频处理76还将经编码的信号编码并转移到处理器单元74,以供通过发射机/接收机电路72进行传输。音频处理76还对信号进行解码,该信号经由数模(D/A)转换器和放大器(未示出)从处理器单元74转移到耳机。
音频处理76还能够向蜂鸣器(未示出)提供铃声输出。铃声可被存储在存储器82中,并当发射机/接收机电路72借助于处理器单元74接收传入信号时被回调。因此,铃声从存储器中被回调、被转发到音频处理76,并作为来自蜂鸣器(未示出)的输出被生成。
处理器单元74连接到存储器82并具有与存储器82相关联的接口,诸如随机存取存储器(RAM)或闪存(ROM)。
其他存储器(包括ROM)还可以以与RAM分开或与RAM集成的方式被提供。它还被连接到诸如电池之类的电源。处理器单元74还具有与智能卡的接口,智能卡诸如包含移动订户身份且可拆卸地容纳在SIM卡座(未示出)内的订户身份模块(SIM)卡(未示出)、诸如触摸屏之类的显示器/输入84。
可存在为连接到处理器单元74的任何或所有部件配置的附加输入/输出(I/O)单元(未示出)。在操作期间,处理器单元74监视电话中的活动并响应于此控制显示器84。因此,是处理器单元74检测状态改变事件的发生并改变电话的状态并从而改变显示文本。状态改变事件可因用户激活了键区或触摸了显示器/输入84而引起,并且这些类型的事件被称为输入事件或用户事件。但是,与电话通信的网络也可能导致状态改变事件。这种类型的事件和用户无法控制的其他事件被称为非用户事件。非用户事件包括呼叫建立期间的状态改变、电池电压的改变、天线状况的改变、短消息收发服务(SMS)消息的消息接收等。
作为替代或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。作为示例而非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
计算机可读存储介质可为一个或多个处理器的指令提供存储。虽然对此处包含的计算机可读存储介质的描述指的是诸如硬盘或CD-ROM驱动器等大容量存储设备,但本领域的技术人员应当理解,计算机可读介质可以是任何可用的存储介质。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存或其他固态存储器技术,CD-ROM、DVD、HD-DVD(高清晰度DVD)、蓝光或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息和指令的任何其他介质。出于本说明书和权利要求书的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质。
应当理解,在此所描述的任何软件组件,在被加载到处理器中并被执行时,可以将处理器从通用计算系统变换成为被定制以促成在此所提出的功能的专用计算系统。处理器可从任何数目的晶体管或其它分立电路元件中构造,这些元件可以独立地或集体地呈现任何数目的状态。更具体而言,处理器可响应于被包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些处理器可执行指令可以通过指定处理器如何在各状态之间转换来变换处理器,由此变换为构成处理器的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不限于:被用来实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读存储介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读存储介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在架构中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,架构可包括其它类型的计算设备,包括:手持式计算机、嵌入式计算机系统、智能电话、PDA、以及本领域技术人员已知的其它类型的计算设备。还构想了架构可不包括附图中示出的全部组件,可包括附图中没明确示出的其它组件、或者可利用与附图中所示的完全不同的架构。
虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读存储介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的方法和设备不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,以上所描述的具体特征和动作是作为实现权利要求的示例形式公开的。本技术的范围由所附的权利要求进行定义。
Claims (10)
1.一种供至少一个处理器、至少一个存储器和相关联的传感器使用的方法,其中计算机可执行指令被存储在所述至少一个存储器中,当所述计算机可执行指令被所述至少一个处理器执行时,执行一种方法,包括:
从多个应用接收对来自所述相关联的传感器的传感器数据的多个请求,所述多个请求指示所述多个应用的优选的传感器采样间隔并且其中所述多个应用的至少一些优选的采样间隔是不同的;
在传感器堆栈处从所述多个应用接收对将由所述相关联的传感器向所述多个应用提供所述传感器数据的报告间隔模式的请求,其中每个应用的报告间隔模式由所述应用在严格型模式、机会型模式和自动型模式之间选择,其中在所述严格型模式中,所述传感器堆栈以尽可能接近所请求的优选传感器采样间隔向每个请求应用提供传感器数据,其中在所述机会型模式中,所述传感器堆栈以所述多个应用所请求的最高速率向每个请求应用提供数据,其中在所述自动型模式中,所述传感器堆栈以由所述传感器堆栈确定的速率向每个请求应用提供数据;以及
基于所述报告间隔模式和优选采样间隔将所述传感器数据发送到所述多个应用。
2.如权利要求1所述的方法,其特征在于,进一步包括从与所述相关联的传感器相关联的驱动器接收数据。
3.一种用于传感器应用的系统,包括:
传感器;
一个或多个存储设备;以及
与所述一个或多个存储设备处于通信的一个或多个处理器,其中所述一个或多个处理器被配置为:
在传感器堆栈处从多个应用接收对来自所述传感器的传感器数据的多个请求,所述多个请求指示优选的传感器采样间隔并且其中所述应用的至少一些优选的采样间隔是不同的;
从所述多个应用接收对将由所述传感器向所述多个应用提供数据的报告间隔模式的请求,其中每个应用的报告间隔模式由所述应用在严格型模式、机会型模式和自动型模式之间选择,其中在所述严格型模式中,所述传感器堆栈以尽可能接近所请求的优选传感器采样间隔向每个请求应用提供传感器数据,其中在所述机会型模式中,所述传感器堆栈以所述多个应用所请求的最高速率向每个请求应用提供数据,其中在所述自动型模式中,所述传感器堆栈以由所述传感器堆栈确定的速率向每个请求应用提供数据;以及
基于所述报告间隔模式和优选采样间隔将所述传感器数据发送到所述多个应用。
4.如权利要求3所述的系统,其特征在于,所述多个报告间隔模式包括自动型模式,其中所述传感器堆栈以由驱动器为所述传感器确定的速率提供数据。
5.如权利要求3所述的系统,其特征在于,所述系统是智能手机。
6.如权利要求3所述的系统,其特征在于,所述系统是台式计算机。
7.如权利要求3所述的系统,其特征在于,所述系统是膝上型计算机。
8.一种计算机可读存储介质,包括可执行指令,所述可执行指令在由处理器执行时使得所述处理器实现包括以下的操作:
在传感器堆栈处从多个应用接收对来自传感器的传感器数据的多个请求,所述多个请求指示优选的传感器采样间隔并且其中至少一些所请求的优选的采样间隔是不同的;
从多个可选报告间隔模式中为将由所述传感器提供给所述应用的所述数据选择报告间隔模式,其中所述报告间隔模式被所述多个应用所请求,其中每个应用的报告间隔模式由所述应用在严格型模式、机会型模式和自动型模式之间选择,其中在所述严格型模式中,所述传感器堆栈以尽可能接近所请求的优选传感器采样间隔向每个请求应用提供传感器数据,其中在所述机会型模式中,所述传感器堆栈以所述多个应用所请求的最高速率向每个请求应用提供数据,其中在所述自动型模式中,所述传感器堆栈以由所述传感器堆栈确定的速率向每个请求应用提供数据;以及
使用所选报告间隔模式和优选采样间隔将所述传感器数据发送到所述多个应用。
9.如权利要求8所述的计算机可读存储介质,其特征在于,所述接收和选择步骤是在传感器堆栈处完成的。
10.如权利要求8所述的计算机可读存储介质,其特征在于,所述多个报告间隔模式包括自动型模式,其中所述传感器堆栈以由驱动器为所述传感器确定的速率提供数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662307244P | 2016-03-11 | 2016-03-11 | |
US62/307,244 | 2016-03-11 | ||
US15/184,086 US10506048B2 (en) | 2016-03-11 | 2016-06-16 | Automatic report rate optimization for sensor applications |
US15/184,086 | 2016-06-16 | ||
PCT/US2017/020559 WO2017155799A1 (en) | 2016-03-11 | 2017-03-03 | Automatic report rate optimization for sensor applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108781081A CN108781081A (zh) | 2018-11-09 |
CN108781081B true CN108781081B (zh) | 2022-05-27 |
Family
ID=59787379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780016624.4A Active CN108781081B (zh) | 2016-03-11 | 2017-03-03 | 用于传感器应用的自动型报告速率优化 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10506048B2 (zh) |
EP (2) | EP3427384B1 (zh) |
CN (1) | CN108781081B (zh) |
WO (1) | WO2017155799A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10506048B2 (en) * | 2016-03-11 | 2019-12-10 | Microsoft Technology Licensing, Llc | Automatic report rate optimization for sensor applications |
US20210241926A1 (en) * | 2020-01-31 | 2021-08-05 | Splunk Inc. | Sensor data device |
US11347326B2 (en) * | 2020-05-29 | 2022-05-31 | Logitech Europe S.A. | Predictive peripheral locating to maintain target report rate |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103635813A (zh) * | 2011-11-10 | 2014-03-12 | 株式会社Lg化学 | 检测碰撞的装置和方法 |
CN104870936A (zh) * | 2012-11-12 | 2015-08-26 | 高通股份有限公司 | 用于针对特定环境为移动装置产生环境与参考数据报告的技术 |
CN105187485A (zh) * | 2015-07-31 | 2015-12-23 | 徐林浩 | 船载落水自动报警系统 |
CN105388784A (zh) * | 2014-08-20 | 2016-03-09 | 计算系统有限公司 | 适应性和状态驱动的数据收集 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321092B1 (en) | 1998-11-03 | 2001-11-20 | Signal Soft Corporation | Multiple input data management for wireless location-based applications |
US6924746B2 (en) * | 2000-08-09 | 2005-08-02 | Terrance John Hermary | Device and method to establish temporal correspondence in multiple sensor configurations |
US7203752B2 (en) | 2001-02-16 | 2007-04-10 | Openwave Systems Inc. | Method and system for managing location information for wireless communications devices |
US8473729B2 (en) | 2003-09-15 | 2013-06-25 | Intel Corporation | Method and apparatus for managing the privacy and disclosure of location information |
US20070016687A1 (en) * | 2005-07-14 | 2007-01-18 | International Business Machines Corporation | System and method for detecting imbalances in dynamic workload scheduling in clustered environments |
US20100192207A1 (en) | 2009-01-28 | 2010-07-29 | Gregory G. Raleigh | Virtual service provider systems |
EP2320288B1 (en) * | 2009-11-06 | 2016-12-21 | Xsens Holding B.V. | A method and a system for enabling a wireless communication between a master unit and a sensor unit |
US8271235B2 (en) * | 2010-03-30 | 2012-09-18 | Qualcomm Incorporated | Efficient concurrent sampling at different rates |
US9140590B2 (en) | 2011-02-09 | 2015-09-22 | Texas Instruments Incorporated | System and method of power-saving in MEMS sensor applications |
CN104025623B (zh) * | 2011-12-28 | 2018-12-25 | 英特尔公司 | 包括高度信息和/或竖直制导的报告的导航服务的提供 |
JP6020092B2 (ja) * | 2012-11-29 | 2016-11-02 | ソニー株式会社 | データ処理装置、データ処理方法、及び、プログラム |
US20140288873A1 (en) * | 2013-03-22 | 2014-09-25 | Qualcomm Incorporated | Pre-processing inertial sensor measurements for navigation |
US10044613B2 (en) * | 2013-05-16 | 2018-08-07 | Intel IP Corporation | Multiple radio link control (RLC) groups |
US10126870B2 (en) * | 2014-06-03 | 2018-11-13 | Synaptics Incorporated | Techniques for mitigating noise in capacitive sensing devices |
US20160061795A1 (en) * | 2014-09-03 | 2016-03-03 | Oberon, Inc. | Environmental Sensor Device with Calibration |
US10506048B2 (en) * | 2016-03-11 | 2019-12-10 | Microsoft Technology Licensing, Llc | Automatic report rate optimization for sensor applications |
-
2016
- 2016-06-16 US US15/184,086 patent/US10506048B2/en active Active
-
2017
- 2017-03-03 CN CN201780016624.4A patent/CN108781081B/zh active Active
- 2017-03-03 EP EP17711481.6A patent/EP3427384B1/en active Active
- 2017-03-03 WO PCT/US2017/020559 patent/WO2017155799A1/en active Application Filing
- 2017-03-03 EP EP21191585.5A patent/EP3952115A1/en not_active Withdrawn
-
2019
- 2019-10-14 US US16/601,489 patent/US10992754B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103635813A (zh) * | 2011-11-10 | 2014-03-12 | 株式会社Lg化学 | 检测碰撞的装置和方法 |
CN104870936A (zh) * | 2012-11-12 | 2015-08-26 | 高通股份有限公司 | 用于针对特定环境为移动装置产生环境与参考数据报告的技术 |
CN105388784A (zh) * | 2014-08-20 | 2016-03-09 | 计算系统有限公司 | 适应性和状态驱动的数据收集 |
CN105187485A (zh) * | 2015-07-31 | 2015-12-23 | 徐林浩 | 船载落水自动报警系统 |
Non-Patent Citations (3)
Title |
---|
Design of a Bionic Cilia MEMS three-dimensional vibration sensor;李振等;《Journal of Semiconductors》;20131115(第11期);1223-1226 * |
Reactive data collection protocol using mobile sink in wireless sensor network;Hyunwoo Nam等;《Journal of Measurement Science and Instrumentation》;20120615(第02期);455-459 * |
智能型色标传感器的研制;李万军等;《数据采集与处理》;20080915;285-289 * |
Also Published As
Publication number | Publication date |
---|---|
EP3952115A1 (en) | 2022-02-09 |
US20170264689A1 (en) | 2017-09-14 |
EP3427384A1 (en) | 2019-01-16 |
EP3427384B1 (en) | 2021-09-22 |
US10992754B2 (en) | 2021-04-27 |
US10506048B2 (en) | 2019-12-10 |
WO2017155799A1 (en) | 2017-09-14 |
CN108781081A (zh) | 2018-11-09 |
US20200045114A1 (en) | 2020-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9008633B2 (en) | Methods to determine availability of user based on mobile phone status | |
US10992754B2 (en) | Automatic report rate optimization for sensor applications | |
US10186244B2 (en) | Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit | |
US20200021652A1 (en) | Method and device for synchronizing data, and electronic device | |
WO2018068483A1 (zh) | 一种终端设备的搜网显示的方法、装置和终端设备 | |
US9426257B1 (en) | Method for launching remote applications from a mobile device using cloud cache | |
US11030143B2 (en) | System for sharing content between electronic devices, and content sharing method for electronic device | |
US20150052534A1 (en) | Method and device for executing scheduled tasks, computer-readable storage medium, graphical user interface and mobile terminal | |
US20200004496A1 (en) | Method and apparatus for streaming audio by using wireless link | |
JP2009514346A (ja) | 無線通信デバイスの能力に応じて電子コンテンツの取得を調整する方法及びデバイス | |
CN106708240B (zh) | 一种省电方法、服务器及省电系统 | |
US20150356081A1 (en) | Advanced camera management function | |
WO2018166202A1 (zh) | 网络定位方法、计算机设备及非易失性可读存储介质 | |
US9467794B2 (en) | Method and system for audio channel setup | |
US20140324892A1 (en) | Method, apparatus and system for filtering data of web page | |
US9692876B2 (en) | Suppress and resume notifications based on motion | |
US9619159B2 (en) | Storage management system | |
US10404487B2 (en) | Communication method, computer readable storage medium and information processing device | |
US20220124483A1 (en) | Nomination of a primary cell phone from a pool of cell phones | |
CN112997471B (zh) | 音频通路切换方法和装置、可读存储介质、电子设备 | |
US10038987B2 (en) | Reminders according to used/connected/nearby device capability | |
WO2015067169A1 (en) | Method, apparatus and terminal device for obtaining call log | |
KR20170114800A (ko) | 전자 장치에서 신호 품질 향상 방법 및 장치 | |
JP6510676B2 (ja) | 画像変形処理方法、デバイス、および記憶媒体 | |
CN106372003B (zh) | 缓存数据清理方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |