照明传感器网络的应用环境转让专利

申请号 : CN201580023362.5

文献号 : CN106688206B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肯特·W·吕霍尔查克克里斯托弗·大卫·萨克塞

申请人 : 维里逊专利及许可公司

摘要 :

在各种实例性实施例中,提供一种用于服务数据平台的系统及方法。所述服务数据平台包含应用程序管理API,所述应用程序管理API经配置以接收由第三方使用管理应用程序API所上传的软件。所述服务数据平台还包含多个图形服务器,所述多个图形服务器经配置以识别用以分布所述所上传软件的照明节点群组并确定所述所上传软件对于部署到所述所识别照明节点群组是安全的。所述服务数据平台进一步包含装置管理器,所述装置管理器经配置以使用管理API将所述所上传软件分布到所述所识别照明节点群组。

权利要求 :

1.一种在网络内使用照明器具处理传感器数据的方法,其包括:

通过机器的一个或多个处理器,接收将第一传感器应用程序部署到照明器具的第一群组的第一请求,所述照明器具的第一群组中的每个照明器具包括产生传感器数据的对应传感器和对应服务端点平台;

通过所述机器的一个或多个处理器,接收将第二传感器应用程序部署到照明器具的第二群组的第二请求,所述照明器具的第二群组中的每个照明器具包括对应传感器和对应服务端点平台,所述照明器具的第一群组和所述照明器具的第二群组共同地共享具有第一传感器和第一服务端点平台的第一照明器具;

通过所述机器的一个或多个处理器,响应于所述第一请求和所述第二请求,将所述第一传感器应用程序和所述第二传感器应用程序加载到所述第一照明器具的所述第一服务端点平台,并且提供由所述第一传感器应用程序和所述第二传感器应用程序对至少一个级别的传感器数据的存取,以基于所述传感器数据产生定制的结果;

致使所述第一照明器具的所述第一服务端点平台在第一容器环境中执行所述第一传感器应用程序以及在第二容器环境中执行所述第二传感器应用程序,所述第一容器环境不同于所述第二容器环境,所述第一传感器应用程序的执行基于来自所述第一传感器的原始数据产生第一分析结果,所述第二传感器应用程序的执行基于来自所述第一传感器的原始数据产生第二分析结果,每个容器管理用于运行具有对所述至少一个级别的传感器数据的存取的、所述容器的相关联的传感器应用程序的资源;以及将所产生的第一分析结果发射到所述第一请求的第一发布者以及将所产生的第二分析结果发射到所述第二请求的第二发布者。

2.根据权利要求1所述的方法,进一步包括在将所述第一传感器应用程序加载到所述第一服务端点平台之前从所述第一发布者接收所述第一传感器应用程序。

3.根据权利要求1所述的方法,进一步包括在将所述第一传感器应用程序加载到所述第一服务端点平台之前对所述第一传感器应用程序执行恶意软件扫描。

4.根据权利要求1所述的方法,其中所述第一传感器应用程序或所述第二传感器应用程序包括脚本。

5.根据权利要求1所述的方法,其中:

将所述第一传感器应用程序部署到所述照明器具的第一群组的所述第一请求是经由应用程序编程接口API接收到的;以及所产生的第一分析结果经由所述API发射到所述第一请求的所述第一发布者。

6.根据权利要求1所述的方法,其中:

将所述第二传感器应用程序部署到所述照明器具的第二群组的所述第二请求是经由web服务器接收到的;以及所产生的第二分析结果经由所述web服务器发射到所述第二请求的所述第二发布者。

7.根据权利要求1所述的方法,其中:

所述第一传感器应用程序在所述第一容器环境中排他地执行;

所述第二传感器应用程序在所述第二容器环境中排他地执行;以及

在所述第一容器环境中所述第一传感器应用程序的执行产生所述第一分析结果对在所述第二容器环境中所述第二传感器应用程序的执行产生所述第二分析结果无影响。

8.根据权利要求1所述的方法,其中:

所述第一传感器应用程序在所述第一容器环境中排他地执行;

所述第二传感器应用程序在所述第二容器环境中排他地执行;以及

在所述第一容器环境中所述第一传感器应用程序的执行产生第一分析结果不具有对在所述第二容器环境中所述第二传感器应用程序的执行产生第二分析结果的存储权。

9.一种在网络内使用照明器具处理传感器数据的系统,其包括:

传感器装置;及

端点应用程序框架,其由一或多个处理器实施,所述端点应用程序框架经配置以执行操作,所述操作包括:接收将第一传感器应用程序部署到照明器具的第一群组的第一请求,所述照明器具的第一群组中的每个照明器具包括产生传感器数据的对应传感器和对应服务端点平台;

接收将第二传感器应用程序部署到照明器具的第二群组的第二请求,所述照明器具的第二群组中的每个照明器具包括对应传感器和对应服务端点平台,所述照明器具的第一群组和所述照明器具的第二群组共同地共享具有第一传感器和第一服务端点平台的第一照明器具;

响应于所述第一请求和所述第二请求,将所述第一传感器应用程序和所述第二传感器应用程序加载到所述第一照明器具的所述第一服务端点平台,并且提供由所述第一传感器应用程序和所述第二传感器应用程序对至少一个级别的传感器数据的存取,以基于所述传感器数据产生定制的结果;

致使所述第一照明器具的所述第一服务端点平台在第一沙盒环境中执行所述第一传感器应用程序以及在第二沙盒环境中执行所述第二传感器应用程序,所述第一沙盒环境不同于所述第二沙盒环境,所述第一传感器应用程序的执行基于来自所述第一传感器的原始数据产生第一分析结果,所述第二传感器应用程序的执行基于来自所述第一传感器的原始数据产生第二分析结果,每个容器管理用于运行具有对所述至少一个级别的传感器数据的存取的、所述容器的相关联的传感器应用程序的资源;以及将所产生的第一分析结果发射到所述第一请求的第一发布者以及将所产生的第二分析结果发射到所述第二请求的第二发布者。

10.一种存储指令的非暂时性机器可读介质,所述指令当由所述机器的一个或多个处理器执行时,致使所述机器执行操作,所述操作包括:接收将第一传感器应用程序部署到照明器具的第一群组的第一请求,所述照明器具的第一群组中的每个照明器具包括产生传感器数据的对应传感器和对应服务端点平台;

接收将第二传感器应用程序部署到照明器具的第二群组的第二请求,所述照明器具的第二群组中的每个照明器具包括对应传感器和对应服务端点平台,所述照明器具的第一群组和所述照明器具的第二群组共同地共享具有第一传感器和第一服务端点平台的第一照明器具;

响应于所述第一请求和所述第二请求,将所述第一传感器应用程序和所述第二传感器应用程序加载到所述第一照明器具的所述第一服务端点平台,并且提供由所述第一传感器应用程序和所述第二传感器应用程序对至少一个级别的传感器数据的存取,以基于所述传感器数据产生定制的结果;

致使所述第一照明器具的所述第一服务端点平台在第一沙盒环境中执行所述第一传感器应用程序以及在第二沙盒环境中执行所述第二传感器应用程序,所述第一沙盒环境不同于所述第二沙盒环境,所述第一传感器应用程序的执行基于来自所述第一传感器的原始数据产生第一分析结果,所述第二传感器应用程序的执行基于来自所述第一传感器的原始数据产生第二分析结果,每个容器管理用于运行具有对所述至少一个级别的传感器数据的存取的、所述容器的相关联的传感器应用程序的资源;以及将所产生的第一分析结果发射到所述第一请求的第一发布者以及将所产生的第二分析结果发射到所述第二请求的第二发布者。

说明书 :

照明传感器网络的应用环境

[0001] 相关申请案
[0002] 本申请案主张2015年3月5日提出申请的美国专利申请案第14/639,872号的优先权的权益,且主张2014年3月6日提出申请的美国临时申请案第61,948,856号的优先权,所述申请案各自以全文引用的方式并入本文中。
[0003] 本临时申请案涉及2013年9月11日提出申请的标题为“用于感测应用的联网照明基础设施(Networked Lighting Infrastructure for Sensing Applications)”的美国非临时专利申请案第14/024,561号及其相关美国临时申请案第61/699,968号,所述申请案的内容附为附录A。

技术领域

[0004] 本发明的实施例一般来说涉及处理传感器数据,且更明确地说而不以限制方式,涉及在网络内的传感器节点处处理传感器数据。

背景技术

[0005] 现今,传感器网络正用于宽广范围的应用领域中。举例来说,由传感器网络收集的数据可用于环境监测、安全与监控、物流与运输、控制与自动化及交通监测。传感器网络包含经由网络与中心服务器通信的传感器节点。此使得传感器数据能够由装置运用较多资源进行存储及处理。一些类型的传感器产生大量传感器数据(而不更改所述数据),所述传感器数据可难以传输到处理传感器数据以供由软件应用程序使用的中心服务器或平台。

附图说明

[0006] 在附图中的各图中以实例方式而非以限制方式图解说明各种实施例,在附图中:
[0007] 图1A是适合在各种实施例中使用的照明传感器网络的图式。
[0008] 图1B图解说明根据实例性实施例的与服务数据平台通信的照明节点的框图。
[0009] 图2A图解说明根据实例性实施例的从传感器接收高带宽数据且向网络提供低带宽数据的服务端点平台的图式。
[0010] 图2B图解说明根据实例性实施例的具有多个服务器的服务数据平台的框图。
[0011] 图3A图解说明根据实例性实施例的使得端点应用程序框架能够与服务数据平台通信以在照明节点处处理传感器数据的示范性软件架构的图式。
[0012] 图3B图解说明根据实例性实施例的具有多个容器的端点应用程序框架的图式。
[0013] 图4A图解说明根据实例性实施例的具有多个照明器具的照明网络的框图。
[0014] 图4B图解说明根据实例性实施例的具有与传感器通信的服务端点平台的照明节点的框图。
[0015] 图4C图解说明根据实例性实施例的照明节点的框图。
[0016] 图5A图解说明根据实例性实施例的具有多个组件的照明节点的图式。
[0017] 图5B图解说明根据实例性实施例的具有多个组件的服务数据平台的图式。
[0018] 图5C是根据实例性实施例的用于在照明节点处处理传感器数据的示范性软件应用程序的图式。
[0019] 图6图解说明由服务数据平台用于组织及管理照明网络内的照明节点的树的实例。
[0020] 图7图解说明根据实例性实施例的使用应用程序编程接口(API)及照明网络与用户通信的服务数据平台的图式。
[0021] 图8图解说明根据实例性实施例的与照明网络内的照明节点通信的服务数据平台的框图。
[0022] 图9A是图解说明根据实例性实施例的用于在网络内的照明节点处处理传感器数据的方法的流程图。
[0023] 图9B是图解说明根据实例性实施例的用于将软件部署到网络中的照明节点的方法的流程图。
[0024] 图10是图解说明根据一些实例性实施例的可安装在机器上的软件架构的实例的框图。
[0025] 图11图解说明根据实例性实施例的呈计算机系统的形式的机器的图解表示,在所述机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多者的一组指令。
[0026] 本文中所提供的标题仅为方便起见且未必影响所使用的术语的范围或意义。

具体实施方式

[0027] 以下说明包含体现本发明的说明性实施例的系统、方法、技术、指令序列及计算机器程序产品。在以下说明中,出于解释目的,陈述众多特定细节以便提供对发明性标的物的各种实施例的理解。然而,所属领域的技术人员将明了,可在不具有这些特定细节的情况下实践发明性标的物的实施例。一般来说,不必详细展示众所周知的指令实例、协议、结构及技术。
[0028] 在照明传感器网络中,传感器数据在照明节点内的端点(称为服务端点平台)处被收集且将传感器数据(例如,经处理传感器数据及原始传感器数据)转发到中心服务器(称为服务数据平台),所述中心服务器收集并存储基于节点的经处理传感器数据及原始传感器数据。中心服务器还可处理传感器数据且提供对传感器数据或利用所述传感器数据的应用程序的存取。下文所描述的各种实施例使得能够在照明节点(或其它节点)处执行第三方软件应用程序。第三方软件应用程序可用于利用专用试探法来定制照明传感器网络的端点处的数据结果。
[0029] 本说明书中所描述的照明传感器网络的各种实施例提供以下特征中的许多特征:在照明节点处为第三方软件应用程序提供安全的应用程序执行环境;将基于节点的传感器数据提供给第三方软件应用程序同时在照明节点处管理数据安全与隐私;将基于站点的传感器数据提供给第三方应用程序同时管理数据安全与隐私;使用编程接口来提供对第三方应用程序软件的管理功能的支持;管理第三方软件应用程序脚本与上传到云中的服务数据平台的第三方应用程序之间的数据通信;管理第三方应用程序软件到照明节点的部署;及管理端点(例如,服务端点平台)上的多个第三方软件应用程序的共存。
[0030] 揭示使得第三方(例如,应用程序开发者等)能够存取传感器数据(包含原始传感器数据及传感器数据事件)及在照明传感器网络内的照明节点上执行第三方软件的各种技术。所执行的第三方软件可包含应用程序、脚本、例程、程序等。
[0031] 第三方应用程序开发者可能够制定用于产生对在照明传感器网络内的各种照明节点处所收集的特定类型的传感器数据的试探及其它分析的规则集。传感器数据的实例包含运动检测数据、周围光传感器数据、音频数据、图像数据、视频数据及加速度计数据。
[0032] 运用对在照明节点处可获得的最低级传感器数据(例如,尚未由光传感器网络内的各种装置过滤、聚合或以其它方式改变的传感器数据)的存取,第三方可开发出于各种目的利用此最低级传感器数据的第三方软件。
[0033] 在各种实施例中,照明节点可经配置以在其中各种应用程序可不彼此影响或不影响照明节点的常规操作的操作环境中执行第三方软件。换句话说,照明节点可提供用于安全地允许第三方软件执行而不影响照明节点输出或操作的沙盒。
[0034] 在一些实施例中,服务数据平台内的计算装置(例如,云服务器等)可经配置以接纳目标是用于部署在照明节点处的第三方软件。服务数据平台内的计算装置可在将第三方软件分布到各种照明节点以供执行之前扫描、剖析、调试、处理及/或以其它方式分析所述软件以识别问题或可能有害内容。举例来说,第三方软件可被识别为可能恶意软件或者能够产生网络攻击或装备关闭的其它软件。
[0035] 照明传感器网络可提供其中第三方可存取从照明节点所收集的详细传感器数据并对详细传感器数据执行基于节点的处理而不给照明网络增添不必要拥塞的应用程序脚本环境。此外,第三方可提供可经定制以提供不同实体或追求相关或所要的信息的第三方软件(例如,脚本)。
[0036] 在各种实施例中,照明网络(包含照明节点)可设在客户站点处。客户可授权第三方在付费或不付费的情况下在位于客户站点处的照明网络内的照明节点处存取并处理原始传感器数据。一个实例可是想要在客户站点处的停车库内的照明节点处对原始传感器数据进行存取的停车库服务公司。停车库客户站点授权停车库服务公司:将第三方软件应用程序部署在位于客户停车库站点处的照明节点处,且接着通过在位于停车库客户站点处的照明节点处执行第三方软件应用程序而存取并处理原始传感器数据。
[0037] 在实例性实施例中,部署第三方软件应用程序及存取基于节点的经处理传感器数据是经由驻存于云计算环境内的服务数据平台而进行。各种实施例提供在照明传感器网络内所利用的关于应用程序脚本环境的方法、装置、系统及非暂时性处理器可读存储媒体。
[0038] 以下各项内描述此类照明传感器网络的实例:2013年9月11日提出申请的标题为“用于感测应用的联网照明基础设施(Networked Lighting Infrastructure for Sensing Applications)”的美国非临时专利申请案第14/024,561号;及2012年9月12日提出申请的其相关美国临时申请案第61/699,968号,所述申请案的内容以其全文引用的方式并入。
[0039] 加利福尼亚州桑尼维尔市的Sensity Systems公司开发的NetSense光传感器网络平台提供可用于实施所描述的各种实施例的照明传感器网络的实例。NetSense框架使用允许应用程序存取节点处的传感器数据的照明基础设施而实现多种传感器的部署。
[0040] 图1A图解说明适合在各种实施例中使用的光传感器网络160的实施方案。照明传感器网络160使用允许在与照明基础设施相关联的照明节点上运行的应用程序安全地存取传感器数据以供处理的照明基础设施而实现多种传感器的部署。
[0041] 图1A展示照明传感器网络160的各种组件。照明传感器网络160表示与服务数据平台140联网的照明基础设施。照明节点105(根据一个实施例,其包含传感器416及服务端点平台110)可经由网络(例如广域网络(WAN)130)而通信以与可驻存于云计算环境中的服务数据平台140通信。
[0042] 照明器具包含于照明基础设施内。照明基础设施可称为客户站点或位于客户站点处。在各种实施例中,服务数据平台140可为一实体(例如,Sensity Systems公司)所有且由所述实体操作,且照明基础设施的所有人可为所述实体的客户。服务端点平台140可安装在每一照明器具处。在替代实施例中,照明基础设施内的照明器具中的仅一些照明器具包含服务端点平台140。服务端点平台140可提供下文所描述的功能性。
[0043] 服务端点平台110包含连接照明器具(在照明基础设施内)与云中的服务数据平台140的联网能力且支持照明器具或照明节点105之间的通信。服务端点平台110提供用于管理照明节点105处的通信、传感器数据及处理的计算平台。服务端点平台110进一步提供允许传感器416被连接到照明节点105内的服务端点平台110的传感器接口。
[0044] 服务数据平台140提供下文所描述的功能性。在实例性实施例中,服务数据平台140表示云中的与具有服务端点平台110的照明节点105通信的集中式服务器。由照明节点
105所提供的传感器数据被收集并存储于服务数据平台140中。由照明节点105所提供的传感器数据可具有由传感器应用程序120中的一或多者在照明节点105处执行的一些处理。明确地说,在照明节点105处以高带宽速率接收的传感器数据(在此情况下,可难以经由网络(例如,WAN 130)发射此大量原始传感器数据)可在照明节点105处进行处理。基于节点的经处理传感器数据的结果可接着经由WAN 130发射到服务数据平台140(基于节点的经处理传感器数据被收集并存储于此处),且可由经授权用户或应用程序存取。
[0045] 服务数据平台140可处理由照明节点105所提供的传感器数据。由服务数据平台140所处理的传感器数据包含经节点处理传感器数据及未被照明节点105处理的传感器数据。在一些实例中,由服务数据平台140所接收的数据可包含经压缩数据或其它形式的经更改原始传感器数据。由服务数据平台140所接收的传感器数据还可由服务数据平台140进行处理。在各种实施例中,服务数据平台140进行的处理可包含:由图2B中所展示的分析服务器266对传感器数据执行分析,所述分析服务器经由数据库服务器290从数据库291存取传感器数据。
[0046] 服务数据平台140还提供对存储于服务数据平台140中的数据进行的经由API服务器的编程存取及经由web服务器的web存取两者。举例来说,服务数据平台140可为第三方应用程序提供聚合数据API 141以存取存储于服务数据平台140中的传感器数据。在另一实例中,服务数据平台140还可提供经由web服务器280进行的对传感器数据的存取。服务数据平台140还可提供应用程序管理API 142以上传将部署在照明节点105处的应用程序。图1B中展示聚合数据API 141及应用程序管理API 142。
[0047] 图1B图解说明根据实例性实施例的图解说明照明传感器网络160的高级框图。照明传感器网络160可包含与服务数据平台140通信的照明节点105。在实例性实施例中,照明节点105中的服务端点平台110(图1A中所展示)中的每一者可执行由服务数据平台140所部署的一或多个传感器应用程序120以用于基于节点的传感器处理。基于节点的传感器处理通常用于对在照明节点105处可获得的传感器数据执行分析,且特别适合于提供在不对传感器数据进行压缩或其它修改的情况下不易于经由网络发射的高带宽数据的传感器。
[0048] 在照明节点105上运行的传感器应用程序120可由想要存取传感器数据的第三方开发并对从照明传感器网络160可获得的传感器数据(明确地说,用于在照明节点105处进行分析处理的传感器数据)执行分析。照明节点105处的分析处理的结果经由WAN 130发射到服务数据平台140以供存储。
[0049] 一个以上传感器应用程序120可在照明节点105中的每一者上执行。在各种实施例中,传感器应用程序120可使用脚本语言来实施。照明节点105上的每一传感器应用程序120在单独容器内执行以为传感器应用程序120中的每一者创建安全操作环境。在各种实施例中,传感器应用程序120中的一者的执行不干扰在照明节点105处运行的其它传感器应用程序120的操作,且也不干扰或妨碍照明节点105或与照明节点105相关联的任何照明器具的正常操作。传感器应用程序120中的每一者可在沙盒中执行以为将在照明节点105处执行的传感器应用程序120提供安全环境。
[0050] 参考图3B,根据实施例,端点应用程序框架310包含分别在单独容器320到322内的多个传感器应用程序220到222。传感器应用程序220到222可表示传感器应用程序120。容器320管理用于运行传感器应用程序的资源,所述传感器应用程序可使用脚本语言(有时称为应用程序脚本)分别实施。举例来说,容器可用于界定与资源(例如,中央处理单元(CPU)、存储器、对数据及文件的存取)相关的其相关联传感器应用程序的极限,且防止坏的代码破坏其它容器中的传感器应用程序。在实例性实施例中,每一应用程序脚本在单独应用程序容器(例如,容器320)中运行。传感器应用程序220到222表示应用程序脚本或在端点应用程序框架310内可执行的其它软件程序。图3B中还展示可用于提供管理API 340、应用程序API 
350及传感器数据API 330的接口360。
[0051] 端点应用程序框架310提供用于执行传感器应用程序220到222或其它软件程序的框架,所述其它软件程序通过管理容器320到322及接口360而提供传感器数据的基于节点的处理。在各种实施例中,照明节点105可经配置以在其中各种应用程序可不彼此影响或不影响照明节点105的常规操作的操作环境中执行各种第三方软件。换句话说,照明节点105可提供用于安全地允许第三方软件执行而不影响照明节点105的输出或照明节点105的操作的沙盒。
[0052] 返回参考图1B,照明节点105包含于照明网络100中。照明网络100可包含照明器具。照明节点105可直接或间接连接到照明器具。在实例性实施例中,一些照明节点105可不与照明器具直接连接或相关联。在其它实施例中,照明网络100内的照明节点105可彼此通信以将传感器数据从一个照明节点105发射到另一照明节点105以用于传感器数据的基于节点的处理及到WAN 130的发射。在其它实施例中,照明节点105中的一些或全部照明节点可通过传感器应用程序120而提供传感器数据的基于节点的处理。
[0053] 照明节点105可通过直接或间接附接到照明器具而与照明器具相关联,或可与照明器具远程地连接。在各种实施例中,照明节点105中的一些照明节点可不与照明器具相关联且可经由其它照明节点105而通信。在替代实施例中,可使用包含不具有灯的器具的基础设施,假设基础设施可给节点(其接收传感器数据)提供电力及联网能力。举例来说,基础设施可是具有公用电线杆的公用基础设施或具有空气调节机组的空气调节基础设施。在这些实例中,节点可附接(直接或间接)到公用电线杆或空气调节机组。在各种实施例中,照明节点105表示不与灯具或光传感器相关联的传感器节点。
[0054] 如图1B中所展示,服务数据平台140使用应用程序管理API 142提供用于将上传到服务数据平台140的传感器应用程序的平台。应用程序管理API 142为第三方提供API以将传感器应用程序120上传到服务数据平台140上。由服务数据平台140所提供的API可是一般API或定制API。
[0055] 服务数据平台140包含部署模块(例如,图5B中所展示的部署模块520),所述部署模块提供用以将传感器应用程序120部署到各种照明节点105的功能性。部署模块520单独地或与节点管理模块(例如,图5B中所展示的节点管理模块540)组合地确定哪些照明网络100内的哪些照明节点105将部署传感器应用程序120中的哪些传感器应用程序。传感器应用程序120中的一或多者可部署在照明节点105中的每一者处。
[0056] 在各种实施例中,在传感器应用程序120通过服务数据平台140进行部署之前,服务数据平台140评估或筛选传感器应用程序120以确定传感器应用程序120在于照明节点105上执行或部署时不可能对照明节点105造成损害。
[0057] 图1B还展示用于用户或应用程序的聚合数据API 141以存取传感器数据(基于节点的经处理传感器数据或基于服务器的经处理传感器数据)。传感器数据的基于服务器的处理可由图2B中所展示的分析服务器266执行。如上文所论述,传感器数据的基于节点的处理由在照明节点105上运行的传感器应用程序120执行。在各种实施例中,传感器数据可使用聚合数据API 141而存取。
[0058] 参考图2B,经处理传感器数据存储于数据库291中且通过数据库服务器290而存取。在实例性实施例中,应用程序服务器260经由API服务器270或Web服务器280通过WAN 130与其它联网装置通信。
[0059] 在各种实施例中,照明网络100的所有人授权第三方在照明网络100内的照明节点105处安装并执行传感器应用程序120。传感器应用程序100利用在照明节点105处所收集及处理以供由经授权第三方使用的传感器数据。基于节点的经处理传感器数据的结果被发射到服务数据平台140。在各种实施例中,经授权第三方经由传感器数据API通过服务数据平台140而存取基于节点的经处理传感器数据。在各种实施例中,服务数据平台140为服务提供者或其它实体所有且由服务提供者或其它实体操作,所述其它实体管理照明节点105的各种方面、由照明节点105所提供的数据以及传感器应用程序120在照明节点105处的部署与执行。
[0060] 下文连同图2B、图5B及图6到8一起将进一步详细论述服务数据平台140。
[0061] 图2A图解说明根据实例性实施例的从传感器接收高带宽数据(或大量数据)且提供能够经由网络发射的低带宽数据的服务端点平台210。如上文所论述,照明节点105可包含多个传感器416,传感器416还称为传感器装置。传感器416的实例包含照明传感器、音频传感器、摄像机传感器、视频传感器等。
[0062] 图2A图解说明根据实例性实施例的从传感器接收传感器数据且使用传感器数据API 330来将高带宽传感器数据提供给应用程序220及221的传感器驱动器230及231。传感器驱动器230及231可实施为在服务端点平台210中在传感器数据API 330之下的软件。传感器应用程序220及221从传感器数据的基于节点的处理产生多个结果。所述结果作为低带宽数据经由路径250及251发射到WAN 130。在各种实施例中,低带宽数据可表示来自由使用高带宽数据的传感器应用程序220及221产生的传感器数据的洞察力。
[0063] 在各种实施例中,由传感器应用程序220及221所实施的算法表示可在照明节点105处执行的分析处理。摄像机可表示能够拍摄具有音频及图像数据的视频的传感器装置。
来自摄像机的图像数据可表示原始传感器数据,所述原始传感器数据表示处于兆位/秒或千兆位/秒范围的高带宽数据。来自摄像机的图像数据在图像数据未经压缩或未以其它方式减小大小以适合于高效发射的情况下难以经由网络(例如,WAN 130)进行发射。尽管压缩图像数据是可能的,但此压缩可导致图像数据细节中的一些细节的损失。传感器应用程序
220或221可对原始图像数据执行分析且接着将基于节点的经处理原始图像数据的结果发送到网络(例如,WAN 130),而非发射原始图像数据。原始图像数据的基于节点的处理可保持来自原始图像数据的几乎100%细节。
[0064] 产生高带宽数据的传感器装置的另一实例是测量振动的加速度计。加速度计可以快取样速率(举例来说,100个样本/秒)测量振动。原始传感器数据可太大或以太快速率进行接收以致无法经由无线网络高效地传输其,以便洞察原始传感器数据。举例来说,来自原始传感器数据的所要洞察力可包含峰值加速度或频谱内容。传感器应用程序220及221可执行基于节点的传感器处理以确定偶然峰值或快照,其中基于节点的处理的结果可传输到网络(例如,WAN 130)。
[0065] 来自音频传感器的音频数据还可提供高带宽传感器数据。音频分析可包含监听人的尖叫、玻璃破碎、小汽车碰撞、枪响等。音频分析确定特定事件发生的时间。传感器应用程序220或221可执行基于节点的传感器处理以检测特定事件的发生,而非经由网络(例如,WAN 130)发送音频记录(在一些情形中,表示高带宽数据)以供分析处理以确定特定事件是否已发生。来自基于节点的传感器处理的结果接着经由网络(例如,WAN 130)传输到服务数据平台140以供由经授权用户存取。
[0066] 在上文所描述的各种高带宽数据实例中,数据分析结果(由应用程序220或221产生)经由网络传输到其处驻存有服务数据平台140的云。服务数据平台140可表示用于照明传感器网络160的集中式服务器。所述结果接着存储于服务数据平台140中。经处理传感器数据可由经授权用户使用web API或编程API从服务数据平台140进行存取。服务数据平台140的所有人可向经授权用户提供用以存取经处理传感器数据的web应用程序。一些用户可创建其自己的应用程序并经由其它API存取经处理传感器数据。
[0067] 图2B图解说明根据实例性实施例的服务数据平台140。服务数据平台140包含API服务器270及web服务器280,API服务器270及web服务器280可耦合到一或多个应用程序服务器260且分别给一或多个应用程序服务器260提供编程接口及web接口。服务数据平台140可托管于经通信地耦合以实现服务器机器之间的通信的专用或共享服务器机器。服务器中的每一者可包括一或多个模块或应用程序,且所述一或多个模块或应用程序中的每一者可体现为硬件、软件、固件或其任何组合。
[0068] 应用程序服务器260又展示为耦合到促进对一或多个信息存储库或数据库291的存取的一或多个数据库服务器290。在实例性实施例中,数据库291是存储传感器信息及传感器分析信息的存储装置。应用程序服务器260包含图形服务器262、装置服务器264和分析服务器266。连同图7到8一起将进一步详细论述这些服务器。
[0069] 图3A图解说明根据实例性实施例的在照明节点105处所实施的端点应用程序框架310内的软件组件。图4A到4C图解说明照明节点105的各种硬件实施例。在示范性实施例中,端点应用程序框架310管理用于支持应用程序脚本功能性或光传感器网络160内的传感器数据的基于节点的处理的功能性。
[0070] 图3A图解说明根据实例性实施例的照明节点105的端点应用程序框架310层中的各种软件组件。端点应用程序框架310内驻存有用于传感器应用程序220的容器320、管理API 340、应用程序API 350及传感器数据API 330。用于传感器应用程序220的容器320管理传感器应用程序220。在各种实施例中,传感器应用程序220使用脚本语言来实施。举例来说,容器320用于基于经由管理API 340对容器320做出的请求366而开始、停止、重新开始、下载或重新加载脚本。管理API 340提供经由路径365来自服务数据平台140的请求。这些请求可称为管理或配置请求。服务数据平台140负责将软件应用程序部署到照明节点105。可通过使用管理API 340将文件从服务数据平台140发送到传感器应用程序220而部署传感器应用程序220。
[0071] 由第三方提供的传感器应用程序220可由服务数据平台140使用应用程序管理API 142而接收,且接着经下载或经上传(使用管理API 340)以用于传感器数据及传感器事件的基于节点的处理。
[0072] 端点应用程序框架310还负责管理包含管理API 340、应用程序API 350及传感器数据API 330的各种接口。
[0073] 如上文所论述,管理或配置请求366是使用管理API 340而提供。服务数据平台140管理请求366且经由路径365将包含请求366的通信发送到端点应用程序框架310。
[0074] 传感器使用传感器数据API 330将原始传感器数据363及传感器数据事件364提供到传感器应用程序220。传感器应用程序220可将请求368提供到传感器数据API以检索原始传感器数据363及传感器事件364。原始传感器数据363及传感器事件364经由响应369而提供到传感器应用程序220。传感器应用程序220可运行对经由传感器数据API 330而接收的原始传感器数据363及传感器数据事件364的分析以产生基于节点的经处理传感器数据的结果。
[0075] 基于节点的经处理传感器数据的结果在路径367上经由应用程序API 350而发射到服务数据平台140。用户可使用聚合数据API 141来存取基于节点的经处理传感器数据的结果。
[0076] 图4A图解说明根据实例性实施例的照明网络100。照明网络100图解说明多个照明器具305及425。照明网络100中的照明器具的数目可取决于客户端的需要而变化。此外,并非所有照明器具均包含直接或间接附接到其的照明节点415。举例来说,照明器具425不包含附接到其的照明节点415。然而,在一些实施例中,照明器具425可与远程照明节点通信。在替代实施例中,可使用给照明节点415提供电源及联网能力的其它类型的器具。在其它实施例中,照明节点415可称为传感器节点或节点。
[0077] 照明器具305两者均包含光源411、支撑结构412、电力供应器413及照明节点415。在一些实施例中,照明节点415可包含用于存储传感器数据(包含原始传感器数据及经处理传感器数据)的本地存储装置(未展示)。照明节点415包含服务端点平台210及传感器416以提供用于检测各种条件及事件的传感器数据。
[0078] 图4B图解说明根据实例性实施例的照明节点415内的服务端点平台210。服务端点平台210包含用于接收传感器数据(原始传感器数据及传感器数据事件)的传感器数据API 330、用于在照明节点415处处理传感器数据的计算平台450以及网络接口440。网络接口440可用于经由网络(例如,WAN 130)将由计算平台450处理的传感器数据发送到服务数据平台
140。
[0079] 在实例性实施例中,计算平台450负责在照明节点415处处理传感器数据。图4C中所展示的一或多个硬件组件(例如,节点应用程序控制器470)连同由端点应用程序框架310及传感器应用程序120表示的软件一起可用于实施图4B中所展示的计算平台450。
[0080] 图4C展示照明节点415的实施例的示范性框图。在一些实施例中,照明节点415可受节点应用程序控制器470控制,节点应用程序控制器470可由在微控制器(称为节点应用程序控制器470)上运行的软件组成,所述微控制器连接到易失性及非易失性存储器(未展示)。在各种实施例中,传感器应用程序220安装在节点应用程序控制器470中的存储器上且由节点应用程序控制器470执行。节点应用程序控制器470可提供用于执行软件应用程序120的功能性。在另一实施例中,节点应用程序控制器470可由在现场可编程门阵列(FPGA)上运行的固件组成。节点应用程序控制器470可在LAN上经由与所选择LAN网络协议兼容的网络接口440进行通信。节点应用程序控制器470可从传感器416读取数据且可将数据存储于其存储器(未展示)中,节点应用程序控制器470还可经由LAN将数据转发到服务数据平台
140。节点应用程序控制器470还可将输出信号发送到控制器480以改变所连接受控装置(例如,LED灯411)的设定。节点应用程序控制器470还可连接到网络接口440(例如,运用无线上行链路天线与服务数据平台140通信的上行链路收发器164)。在各种实施例中,照明节点
305上的装置可由给照明节点305内的一或多个电力供应器413提供电力的电力输入端子
490供电。
[0081] 图5A图解说明根据实例性实施例的具有多个组件的照明节点415。照明节点415包含端点应用程序框架310,端点应用程序框架310通过传感器应用程序120而提供用于实现传感器数据的基于节点的处理的框架。端点应用程序框架310管理管理传感器数据的基于节点的处理的各种功能。如上文所论述,端点应用程序框架310管理多个接口,举例来说,所述多个接口具有传感器416与传感器应用程序120之间的接口以及照明节点415与服务数据平台140之间的接口。传感器驱动器505使用传感器数据API 330提供来自传感器416的传感器数据以供由传感器应用程序120处理。网络接口440提供照明节点415与服务数据平台140之间的接口。
[0082] 图5B图解说明根据实例性实施例的具有多个组件的服务数据平台140。应用程序管理API 142为用户(例如第三方)提供用以上传用户想要部署在照明网络100内的照明节点415处的传感器应用程序120的接口。一旦传感器数据由部署在照明节点105处的传感器应用程序120处理,用户便可经由聚合数据API 141从服务数据平台140存取基于节点的经处理传感器数据的结果。应用程序数据库530存储经处理传感器数据的结果。应用程序数据库530可表示图2B中所展示的数据库291中的一或多者。返回到图5B,部署模块520可提供用以将传感器应用程序120部署到一或多个选定照明节点或照明节点群组的功能性。下文连同图6到8一起将进一步详细论述部署模块520及节点管理模块540。
[0083] 图5C是使得端点应用程序框架310能够在照明网络100内的照明节点105处管理传感器数据的处理的示范性传感器应用程序的图式。传感器数据API 330及应用程序API 350表示端点应用程序框架310中的组件中的一些组件。传感器应用程序120包含各种软件组件。
[0084] 根据图5C,传感器应用程序120可安装在两个照明节点105(称为第一照明节点及第二照明节点)处。传感器数据API 330为传感器应用程序120提供用以接收传感器数据的接口。原始传感器数据被发送(经由路径583)到传感器分析部560以用于对传感器数据执行分析。原始传感器数据被发送(经由路径584)到传感器分析部565以用于对传感器数据执行分析。
[0085] 传感器分析部560及565表示负责处理原始传感器数据并应用算法来对信息进行定位、分类或相关以产生传感器数据的基于节点的处理的结果的软件层。在各种实例中,由第三方应用程序开发者提供的传感器软件501可表示用于产生对在照明传感器网络160内的各种照明节点105处所收集的特定类型的传感器数据(例如,运动检测数据、周围光传感器数据等)的试探或其它分析的规则集。由传感器分析部560及565处理的传感器数据的实例包含:来自环境传感器的数据(例如,温度及湿度)、气体(例如,C02及CO)、来自加速度计的数据(例如,振动)、微粒、功率、RF信号、周围光以及运动检测、静止图像、视频及音频。由传感器分析部560及565产生的信息经由通信路径580提供给应用程序API 350,且进一步经由通信路径581提供给服务数据平台140。
[0086] 容器(图5C中未展示)管理传感器应用程序501的执行,其中针对每一软件应用程序具有一单独容器。
[0087] 图6图解说明由服务数据平台140用于组织及管理照明网络100内的照明节点的树的实例。树600是由服务数据平台140产生及利用以管理许多照明网络100中的照明节点105的数据结构。图形服务器262可用于管理分层树结构(例如,树600)中的节点的分组。树内的节点可用于通过地理位置及用户信息以及其它信息而跟踪关于照明网络100内的照明节点105的信息。所述树在跟踪许可中是有用的以确定(举例来说)哪些照明节点105将部署传感器应用程序220。
[0088] 树600包含节点601,节点601表示树600中的根节点。树中的节点的数目及类型可变化。节点610、611及612表示具有位置信息的节点。举例来说,节点610表示加利福尼亚州(CA),节点611表示圣克拉拉市,且节点612表示硅谷韦斯特菲尔德购物中心(Westfield Mall Valley Fair)。在一个实例中,通过借助客户端装置(未展示)上的呈现给用户(例如,服务数据平台140的系统管理员)的用户接口选择节点612,选择包含在硅谷韦斯特菲尔德购物中心处的相关联照明节点105的照明网络100。通过选择节点612,服务数据平台140的系统管理员可将传感器应用程序220部署到位于硅谷购物中心处的照明网络100处的照明节点105。
[0089] 节点620、621及622表示用户信息。在一个实例中,节点620可表示经授权以请求服务数据平台140的系统管理员将传感器应用程序220部署到硅谷购物中心处的照明网络100处的照明节点105的用户。节点621及622分别表示经授权用户群组中的特定用户肯特(Kent)及鲍勃(Bob)。
[0090] 在各种实施例中,树600可作为图形用户接口呈现给用户以允许系统管理员通过地理位置、客户或照明节点105的所有人而查看照明节点105,从而跟踪许可(例如,授予第三方的用以部署传感器应用程序220的许可)及用于管理具有在跨越不同地理位置的各种客户站点处的多个照明节点105的许多照明网络100的其它信息。
[0091] 如上文所指示,服务数据平台140可将一或多个传感器应用程序220部署到每一照明节点105,假设服务数据平台140的管理员由客户站点处的照明网络100的所有人授权。传感器应用程序220的第三方应用程序开发者可规定与第三方应用程序开发者想要部署在照明节点105处的传感器应用程序220兼容的那些装置(例如,照明节点105、服务端点平台210及端点应用程序框架310,以及这些装置内的组件)。服务数据平台140的系统管理员管理传感器应用程序220到各种节点的部署。服务数据平台140允许第三方应用程序开发者(或其它用户)上传传感器应用程序220并将传感器应用程序代码指派给在范围内的装置(例如,照明节点105)。服务数据平台140(举例来说)通过使用树600来将一或多个传感器应用程序220指派给照明节点105的群组而向用户提供对照明节点105进行分组的能力。服务数据平台140进一步为用户提供将传感器应用程序220下推到所指派照明节点105的能力。在各种实施例中,服务数据平台140使用管理API 340(图3A中所展示)来上传传感器应用程序220。
一旦由服务数据平台140部署传感器应用程序220,照明节点105便执行传感器应用程序
220。
[0092] 图7图解说明根据实例性实施例的具有各种组件的服务数据平台140的框图。服务数据平台140包含聚合数据API 141及应用程序管理API 142、耦合到图形数据库291a的图形服务器262以及装置管理器710。在一些实施例中,图形数据库291a表示图2B中所展示的数据库291中的一或多者。
[0093] 在各种实施例中,聚合数据API 141及应用程序管理API 142使用API服务器270来实施。API 141及142向服务数据平台140的经授权用户提供外部API以分别存取基于节点的经处理传感器数据或上传用于部署在照明节点105处的传感器应用程序120。API 141及142通信地耦合到图形服务器262。
[0094] 图形服务器262提供用以按由分层树结构(例如,树600)所提供的地理信息及用户信息而对照明节点105进行分组的功能性。照明网络100内的照明节点105由群组使用图形服务器262来管理。在各种实施例中,举例来说在传感器应用程序220的部署期间,传感器应用程序220由群组管理。
[0095] 装置管理器710提供用以管理照明节点105(其可称为装置)的功能性。装置管理器710包含装置服务器264且与照明节点105a到105c介接。装置管理器710可经由网络(例如,WAN)与照明网络100通信。
[0096] 图8图解说明根据实例性实施例的具有彼此通信的各种服务器的服务数据平台140的框图。API服务器270与图形服务器262通信,图形服务器262与装置服务器264通信。装置服务器264与网络(例如,WAN 130,未展示)通信。在图8中所展示的实例中,API服务器
270a到270c各自与图形服务器262a到262b通信。图形服务器262a到262b各自与装置服务器
264a到264b通信。装置服务器264a到264b与照明节点105a到105c通信。
[0097] 图9A到9B图解说明各种实施例中所实施的方法900及910的流程图。在一些实施例中,可将额外操作添加到方法900及910中的每一者,或可从方法900及910中的每一者删除一或多个操作。在其它实施例中,可组合方法900与910或者这些方法的变体。方法900及910中所执行的操作可由照明传感器网络160内的一或多个组件或模块执行。
[0098] 图9A描述根据实例性实施例的用于在网络(例如,照明网络100)内的照明节点105处处理传感器数据的方法900。方法900包含操作901到905。在操作901处,使用管理API 340从服务数据平台140接收要将传感器应用程序220上传于照明节点105处的第一请求。在操作902处,使用管理API 340从服务数据平台140接收要执行传感器应用程序220的第二请求。在操作903处,使用传感器数据API 330从传感器装置(例如,416)收集表示高带宽数据的传感器数据。在操作904处,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据,所产生分析数据表示低带宽数据。在操作905处,使用应用程序API 350将所产生分析数据发射到服务数据平台140。
[0099] 在其它实例性实施例中,用于在照明节点105处处理传感器数据的方法900包含:使用管理API 340从服务数据平台140接收要对传感器应用程序执行管理功能的额外请求。
[0100] 在实例性实施例中,传感器数据包含传感器原始数据及传感器事件数据中的至少一者。在其它实施例中,传感器数据表示尚未由网络内的装置过滤、聚合或以其它方式改变的所收集传感器数据。在一些实施例中,传感器应用程序220表示脚本。在另一实施例中,照明节点105表示传感器节点。在一些实施例中,传感器应用程序220表示由第三方开发的用以在照明节点105上运行以对在照明节点105处所收集的未经更改传感器数据执行基于节点的处理的软件。
[0101] 在其它实施例中,使用管理API 340从服务数据平台140接收要将传感器应用程序220上传于照明节点105处的第一请求包含:接收包含传感器应用程序220的文件并将传感器应用程序220从所述文件安装到照明节点105上。在实例性实施例中,使用传感器数据API 
330来收集传感器数据包含:使用传感器数据API 330向传感器装置请求传感器数据、从传感器装置(例如,416)接收包含所请求的传感器数据的响应。在其它实施例中,使用传感器数据API 330来收集传感器数据包含:以数据传送速率收集传感器数据,使得所收集传感器数据的量太大以致不能经由网络(例如,WAN 130)接近实时地高效传送到服务数据平台
140。在另一实施例中,使用传感器数据API从传感器装置进行收集包含:从位于照明节点处或位于远程照明节点处的传感器装置(例如,416)收集传感器数据。
[0102] 在其它实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据包含:基于未经更改传感器数据以数据传送速率产生分析数据,使得所产生分析数据的量能够经由网络(例如,WAN 130)接近实时地传送到服务数据平台140。在各种实施例中,执行传感器应用程序220以基于在照明节点105处所接收的传感器数据而在照明节点105处产生分析数据包含:基于未经更改传感器数据而产生分析数据以产生低带宽数据。
[0103] 在各种实施例中,执行传感器应用程序220以基于传感器数据而在照明节点处产生分析数据包含:在容器320内执行传感器应用程序220以限制由传感器应用程序220所利用的资源且为传感器应用程序220提供安全操作环境。在实例性实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据包含:通过应用算法来对信息进行定位、分类及相关而产生分析数据。在另一实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据包含:在不影响正在照明节点105处执行的其它软件的情况下执行传感器应用程序220。在又一实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据进一步包含:在不影响照明节点105的正常操作的情况下产生分析数据。
[0104] 图9B描述根据实例性实施例的用于将软件部署到网络(例如,照明传感器网络160)中的照明节点105的方法910。方法910包含操作911到914。在操作911处,通过服务数据平台140接收由第三方使用由服务数据平台140所提供的管理应用程序API 142所上传的软件。在操作912处,识别用以分布所上传软件的照明节点105群组。在操作913处,确定所上传软件对于部署到照明节点105的所识别群组是安全的。在操作914处,使用管理API 340将所上传软件分布到照明节点105的所识别群组。
[0105] 在各种实施例中,将软件部署到照明节点105的方法910包含:通过提供管理功能请求而使用管理API 340来管理安装在照明节点105的所识别群组上的软件的执行。
[0106] 在其它实施例中,将软件部署到照明节点105的方法910包含:使用应用程序API 350从照明节点105的所识别群组接收由照明节点105的所识别群组产生的经节点处理传感器数据;及将来自照明节点105的所识别群组的经节点处理传感器数据存储于位于服务数据平台140处的数据库(例如,291)中。在又一实施例中,将软件部署到照明节点105的方法包含:提供对由经授权第三方使用聚合数据API 141请求的所存储经节点处理传感器数据的存取。在一些实施例中,软件表示传感器应用程序220。在其它实施例中,传感器应用程序
220是用脚本语言而编写。
[0107] 图10是图解说明可安装在上文所描述的装置中的任何一或多者上的软件架构1002的框图1000。图10仅是软件架构的非限制性实例,且将了解,可实施许多其它架构以促进本文中所描述的功能性。软件1002可在硬件(例如,图11的包含处理器1110、存储器1130及I/O组件1150的机器1100)上执行。在图10的实例性架构中,软件1002可概念化为层堆叠,其中每一层可提供特定功能性。举例来说,软件1002可包含多个层,例如操作系统1004、库
1006、框架1008及应用程序1010。操作上,应用程序1010可经由软件堆叠而调用应用程序编程接口(API)调用1012并响应于API调用1012而接收消息1014。
[0108] 操作系统1004可管理硬件资源且提供常见服务。举例来说,操作系统1004可包含内核1020、服务1022及驱动器1024。内核1020可用作硬件与其它软件层之间的抽象层。举例来说,内核1020可负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设定等等。服务1022可为其它软件层提供其它常见服务。驱动器1024可负责控制底层硬件或与底层硬件介接。举例来说,驱动器1024可包含显示器驱动器、摄像机驱动器、 驱动器、快闪存储器驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、 驱动器、音频驱动器、功率管理驱动器等等。
[0109] 库1006可提供可由应用程序1010利用的低级常见基础设施。库1006可包含可提供例如存储器分配功能、字符串操纵功能、数学功能等功能的系统1030库(例如,C标准库)。另外,库1006可包含API库1032,例如媒体库(例如,用以支持例如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG等各种媒体格式的呈现及操纵的库)、图形库(例如,可用于在显示器上再现图形内容中的2D及3D的OpenGL框架)、数据库的库(例如,可提供各种关系数据库功能的SQLite)、web库(例如,可提供web浏览功能性的WebKit)等等。库1006还可包含用以给应用程序1010提供许多其它API的各种各样的其它库1034。
[0110] 框架1008可提供可由应用程序1010利用的高级常见基础设施。举例来说,框架1008可提供各种图形用户接口(GUI)功能、高级资源管理、高级位置服务等等。框架1008可提供可由应用程序1010利用的广泛的其它API,所述其它API中的一些API可特定用于特定操作系统或平台。
[0111] 应用程序1010包含浏览器应用程序1054、分析应用程序1056、传感器应用程序1058及各类其它应用程序(例如第三方应用程序1066)。图11是图解说明根据一些实例性实施例的能够从机器可读媒体(例如,机器可读存储媒体)读取指令并执行本文中所论述的方法中的任何一或多者的机器1100的组件的框图。具体来说,图11展示呈计算机系统的实例形式的机器1100的图解表示,在所述机器内可执行用于致使机器1100执行本文中所论述的方法中的任何一或多者的指令1116(例如,软件、程序、应用程序、小程序、应用软件或其它可执行代码)。在替代实施例中,机器1100作为独立装置操作或可耦合(例如,联网)到其它机器。在联网部署中,机器1100可在服务器-客户端网络环境中以服务器机器或客户端机器的角色进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1100可包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝式电话、智能电话、移动装置、随身装置(例如,智能手表)、智能家居装置(例如,智能电器)、其它智能装置、web电器、网络路由器、网络交换机、网桥或能够依序或以其它方式执行规定将由机器1100采取的动作的指令1116的任何机器。此外,虽然仅图解说明单个机器1100,但术语“机器”还应视为包含个别地或联合地执行用以执行本文中所论述的方法中的任何一或多者的指令1116的机器1100的集合。
[0112] 机器1100可包含可经配置以经由总线1102彼此通信的处理器1110、存储器1130及I/O组件1150。在实例性实施例中,处理器1110(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器,或其任何适合组合)可包含(举例来说)可执行指令1116的处理器1112及处理器1114。术语“处理器”打算包含多核处理器,所述多核处理器可包括可同时执行指令的两个或两个以上独立处理器(还称为“核心”)。尽管图11展示多个处理器,但机器1100可包含具有单个核心的单个处理器、具有多个核心的单个处理器(例如,多核处理)、具有单个核心的多个处理器、具有多个核心的多个处理器,或其任何组合。
[0113] 存储器1130可包含可经由总线1102对处理器1110进行存取的主存储器1132、静态存储器1134及存储单元1136。存储单元1136可包含其上存储有体现本文中所描述的方法或功能中的任何一或多者的指令1116的机器可读媒体1138。指令1116在其由机器1100执行期间还可完全地或至少部分地驻存于主存储器1132内、驻存于静态存储器1134内、驻存于处理器1110中的至少一者内(例如,在处理器的高速缓冲存储器内),或驻存于其任何适合组合内。因此,主存储器1132、静态存储器1134及处理器1110可视为机器可读媒体1138。
[0114] 如本文中所使用,术语“存储器”是指能够暂时地或永久地存储数据的机器可读媒体1138,且可视为包含但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、快闪存储器及高速缓冲存储器。虽然机器可读媒体1138在实例性实施例中展示为单个媒体,但术语“机器可读媒体”应视为包含能够存储指令1116的单个媒体或多个媒体(例如,集中式或分布式数据库,或者相关联高速缓冲存储器及服务器)。术语“机器可读媒体”还应视为包含能够存储供由机器(例如,机器1100)执行的指令(例如,指令1116)使得所述指令在由机器1100的一或多个处理器(例如,处理器1110)执行时致使机器1100执行本文中所描述的方法中的任何一或多者的任何媒体或多个媒体的组合。因此,“机器可读媒体”是指单个存储设备或装置以及包含多个存储设备或装置的“基于云的”存储系统或存储网络。术语“机器可读媒体”据此应视为包含但不限于呈固态存储器(例如,快闪存储器)的形式的一或多个数据存储库、光学媒体、磁性媒体、其它非易失性存储器(例如,可擦除可编程只读存储器(EPROM))或其任何适合组合。具体来说,术语“机器可读媒体”本身不包含非法定信号。
[0115] I/O组件1150可包含用以接收输入、提供输出、产生输出、发射信息、交换信息、获取测量等等的各种各样的组件。将了解,I/O组件1150可包含图11中未展示的许多其它组件。为简化以下论述,仅根据功能性对I/O组件1150进行分组,且所述分组绝不具限制性。在各种实例性实施例中,I/O组件1150可包含输出组件1152及输入组件1154。输出组件1152可包含视觉组件(例如,显示器,例如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如,扬声器)、触感组件(例如,振动电机)、其它信号产生器等等。输入组件1154可包含字母数字输入组件(例如,键盘、经配置以接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指向仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置及力的触摸屏或其它触觉输入组件)、音频输入组件(例如,麦克风)等等。
[0116] 在其它实例性实施例中,I/O组件1150可包含生物计量组件1156、运动组件1158、环境组件1160或位置组件1162,以及大量其它组件。举例来说,生物计量组件1156可包含用以进行以下操作的组件:检测多种表现(例如,手表现、面部表情、声音表现、体态或眼跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,话音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等等。运动组件1158可包含加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等等。举例来说,环境组件1160可包含光照传感器组件(例如,光度计)、温度传感器组件(例如,检测周围温度的一或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪音的一或多个麦克风)、接近传感器组件(例如,检测附近物件的红外传感器)、气体传感器(例如,为安全起见用以检测有害气体的浓度或用以测量大气中的污染物的气体检测传感器),或可提供对应于周围物理环境的指示、测量或信号的其它组件。位置组件1162可包含位置传感器组件(例如,全球定位系统(GPS)接收器组件)、海拔高度传感器组件(例如,高度计或检测空气压力的气压计,空气压力可依据海拔高度而导出)、定向传感器组件(例如,磁力计)等等。
[0117] 可使用各种各样的技术而实施通信。I/O组件1150可包含可操作以分别经由耦合1182及耦合1172将机器1100耦合到网络130或装置1170的通信组件1164。举例来说,通信组件1164可包含用以与网络130介接的网络接口组件或其它适合装置。在其它实例中,通信组件1164可包含有线通信组件、无线通信组件、蜂窝式通信组件、近场通信(NFC)组件、组件(例如, 低功耗)、 组件及用于经由其它模态提供通信的
其它通信组件。装置1170可是另一机器或各种各样的外围装置(例如,经由通用串行总线(USB)耦合的外围装置)中的任一者。
[0118] 此外,通信组件1164可检测识别符或包含可操作以检测识别符的组件。举例来说,通信组件1164可包含射频识别(RFID)标签阅读器组件、NFC智能标签检测组件、光学阅读器组件(例如,用以检测例如通用产品代码(UPC)条形码的一维条形码、例如快速响应(QR)代码的多维条形码、阿兹特克代码(Aztec code)、数据矩阵(Data Matrix)、Dataglyph、MaxiCode、PDF417、Ultra Code、UCC RSS-2D条形码及其它光学代码的光学传感器)或声学检测组件(例如,用以识别经标记音频信号的麦克风)。另外,可经由通信组件1164导出多种信息,例如经由因特网协议(IP)地理位置而得到的位置、经由 信号三角测量而得到的位置、经由检测可指示特定位置的NFC信标信号而得到的位置等等。
[0119] 在各种实例性实施例中,网络130的一或多个部分可是特定网络、内联网、外联网、虚拟专用网络(VPN)、局域网络(LAN)、无线LAN(WLAN)、广域网络(WAN)、无线WAN(WWAN)、城域网络(MAN)、因特网、因特网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝式电话网络、无线网络、 网络、另一类型的网络,或者两个或两个以上此类网络的组合。举例来说,网络130或网络130的一部分可包含无线或蜂窝式网络,且耦合1182可为码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其它类型的蜂窝式或无线耦合。在此实例中,耦合1182可实施多种类型的数据传送技术中的任一者,例如单载波无线电发射技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包含3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、微波存取全球互通(WiMAX)、长期演进(LTE)标准、由各种标准设定组织定义的其它技术、其它长期协议或其它数据传送技术。
[0120] 指令1116可经由网络接口装置(例如,通信组件1164中所包含的网络接口组件)使用发射媒体及利用若干众所周知的传送协议(例如,超文本传送协议(HTTP))中的任一者在网络130上进行发射或接收。类似地,指令1116可经由到装置1170的耦合1172(例如,对等耦合)使用发射媒体而发射或接收。术语“发射媒体”应视为包含能够存储、编码或载运供由机器1100执行的指令1116的任何无形媒体,且包含数字或模拟通信信号或者用以促进此软件的通信的其它无形媒体。
[0121] 此外,机器可读媒体1138是非暂时性的(换句话说,不具有任何暂时性信号),这是因为机器可读媒体1138不体现传播信号。然而,将机器可读媒体1138标示为“非暂时性”不应理解为意指媒体无法移动;媒体应视为可从一个物理位置传输到另一物理位置。另外,由于机器可读媒体1138是有形的,因此媒体可视为机器可读装置。
[0122] 在本说明书通篇中,复数实例可实施描述为单个实例的组件、操作或结构。尽管一或多种方法的个别操作图解说明且描述为单独操作,但所述个别操作中的一或多者可同时执行,且不需要以图解说明的次序执行所述操作。在实例性配置中呈现为单独组件的结构及功能性可实施为经组合结构或组件。类似地,呈现为单个组件的结构及功能性可实施为单独组件。这些及其它变化、修改、添加及改进均属于本文中的标的物的范围内。
[0123] 尽管已参考特定实例性实施例描述发明性标的物的概述,但可在不背离本发明的实施例的较宽广范围的情况下对这些实施例做出各种修改及改变。发明性标的物的此些实施例在本文中可个别地或共同地由术语“发明”指代,此仅为方便起见且并不打算在事实上揭示一个以上发明或发明性概念的情况下将本申请案的范围自发地限制到任何单个发明或发明性概念。
[0124] 充分详细地描述本文中所图解说明的实施例以使得所属领域的技术人员能够实践所揭示的教示内容。可使用其它实施例且可从本发明导出其它实施例,使得可在不背离本发明的范围的情况下做出结构及逻辑替代及改变。因此,具体实施方式不应视为具有限制意义,且各种实施例的范围仅由所附权利要求书连同此权利要求书授权的等效物的全部范围来定义。
[0125] 如本文中所使用,术语“或”可理解为包含性或排他性意义。此外,复数实例可提供在本文中描述为单个实例的资源、操作或结构。另外,各种资源、操作、模块、引擎及数据存储之间的边界是稍微任意的,且在特定说明性配置的上下文中图解说明特定操作。其它功能性分配被设想且可属于本发明的各种实施例的范围内。一般来说,在实例性配置中呈现为单独资源的结构及功能性可实施为经组合结构或资源。类似地,呈现为单个资源的结构及功能性可实施为单独资源。这些及其它变化、修改、添加及改进均属于如由所附权利要求书表示的本发明的实施例的范围内。因此,应将说明书及图式视为说明性意义而非限制性意义。