HK1232355B - Application environment for lighting sensor networks - Google Patents
Application environment for lighting sensor networks Download PDFInfo
- Publication number
- HK1232355B HK1232355B HK17105780.4A HK17105780A HK1232355B HK 1232355 B HK1232355 B HK 1232355B HK 17105780 A HK17105780 A HK 17105780A HK 1232355 B HK1232355 B HK 1232355B
- Authority
- HK
- Hong Kong
- Prior art keywords
- sensor
- application
- lighting
- data
- sensor application
- Prior art date
Links
Description
相关申请案Related applications
本申请案主张2015年3月5日提出申请的美国专利申请案第14/639,872号的优先权的权益,且主张2014年3月6日提出申请的美国临时申请案第61,948,856号的优先权,所述申请案各自以全文引用的方式并入本文中。This application claims the benefit of priority to U.S. Patent Application No. 14/639,872, filed on March 5, 2015, and to U.S. Provisional Application No. 61,948,856, filed on March 6, 2014, each of which is incorporated herein by reference in its entirety.
本临时申请案涉及2013年9月11日提出申请的标题为“用于感测应用的联网照明基础设施(Networked Lighting Infrastructure for Sensing Applications)”的美国非临时专利申请案第14/024,561号及其相关美国临时申请案第61/699,968号,所述申请案的内容附为附录A。This provisional application is related to U.S. non-provisional patent application No. 14/024,561, entitled “Networked Lighting Infrastructure for Sensing Applications,” filed on September 11, 2013, and its related U.S. provisional application No. 61/699,968, the contents of which are attached as Appendix A.
技术领域Technical Field
本发明的实施例一般来说涉及处理传感器数据,且更明确地说而不以限制方式,涉及在网络内的传感器节点处处理传感器数据。Embodiments of the present invention generally relate to processing sensor data, and more particularly, but not by way of limitation, to processing sensor data at sensor nodes within a network.
背景技术Background Art
现今,传感器网络正用于宽广范围的应用领域中。举例来说,由传感器网络收集的数据可用于环境监测、安全与监控、物流与运输、控制与自动化及交通监测。传感器网络包含经由网络与中心服务器通信的传感器节点。此使得传感器数据能够由装置运用较多资源进行存储及处理。一些类型的传感器产生大量传感器数据(而不更改所述数据),所述传感器数据可难以传输到处理传感器数据以供由软件应用程序使用的中心服务器或平台。Sensor networks are currently being used in a wide range of applications. For example, data collected by sensor networks can be used for environmental monitoring, security and surveillance, logistics and transportation, control and automation, and traffic monitoring. Sensor networks consist of sensor nodes that communicate with a central server via a network. This allows the devices to store and process sensor data using more resources. However, some types of sensors generate large amounts of sensor data (without modifying the data), which can be difficult to transmit to a central server or platform that processes the sensor data for use by software applications.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
在附图中的各图中以实例方式而非以限制方式图解说明各种实施例,在附图中:Various embodiments are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which:
图1A是适合在各种实施例中使用的照明传感器网络的图式。FIG. 1A is a diagram of a lighting sensor network suitable for use in various embodiments.
图1B图解说明根据实例性实施例的与服务数据平台通信的照明节点的框图。1B illustrates a block diagram of a lighting node in communication with a service data platform, according to an example embodiment.
图2A图解说明根据实例性实施例的从传感器接收高带宽数据且向网络提供低带宽数据的服务端点平台的图式。2A illustrates a diagram of a service endpoint platform that receives high-bandwidth data from sensors and provides low-bandwidth data to a network, according to an example embodiment.
图2B图解说明根据实例性实施例的具有多个服务器的服务数据平台的框图。2B illustrates a block diagram of a service data platform having multiple servers, according to an example embodiment.
图3A图解说明根据实例性实施例的使得端点应用程序框架能够与服务数据平台通信以在照明节点处处理传感器数据的示范性软件架构的图式。3A illustrates a diagram of an exemplary software architecture that enables an endpoint application framework to communicate with a service data platform to process sensor data at a lighting node, according to an example embodiment.
图3B图解说明根据实例性实施例的具有多个容器的端点应用程序框架的图式。3B illustrates a diagram of an endpoint application framework with multiple containers, according to an example embodiment.
图4A图解说明根据实例性实施例的具有多个照明器具的照明网络的框图。4A illustrates a block diagram of a lighting network having multiple lighting fixtures, according to an example embodiment.
图4B图解说明根据实例性实施例的具有与传感器通信的服务端点平台的照明节点的框图。4B illustrates a block diagram of a lighting node with a service endpoint platform in communication with sensors, according to an example embodiment.
图4C图解说明根据实例性实施例的照明节点的框图。4C illustrates a block diagram of a lighting node, according to an example embodiment.
图5A图解说明根据实例性实施例的具有多个组件的照明节点的图式。5A illustrates a diagram of a lighting node having multiple components, according to an example embodiment.
图5B图解说明根据实例性实施例的具有多个组件的服务数据平台的图式。5B illustrates a diagram of a service data platform having multiple components, according to an example embodiment.
图5C是根据实例性实施例的用于在照明节点处处理传感器数据的示范性软件应用程序的图式。5C is a diagram of an exemplary software application for processing sensor data at a lighting node, according to an example embodiment.
图6图解说明由服务数据平台用于组织及管理照明网络内的照明节点的树的实例。6 illustrates an example of a tree used by a service data platform to organize and manage lighting nodes within a lighting network.
图7图解说明根据实例性实施例的使用应用程序编程接口(API)及照明网络与用户通信的服务数据平台的图式。7 illustrates a diagram of a service data platform using an application programming interface (API) and a lighting network to communicate with users, according to an example embodiment.
图8图解说明根据实例性实施例的与照明网络内的照明节点通信的服务数据平台的框图。8 illustrates a block diagram of a service data platform in communication with lighting nodes within a lighting network, according to an example embodiment.
图9A是图解说明根据实例性实施例的用于在网络内的照明节点处处理传感器数据的方法的流程图。9A is a flow chart illustrating a method for processing sensor data at a lighting node within a network, according to an example embodiment.
图9B是图解说明根据实例性实施例的用于将软件部署到网络中的照明节点的方法的流程图。9B is a flow diagram illustrating a method for deploying software to lighting nodes in a network, according to an example embodiment.
图10是图解说明根据一些实例性实施例的可安装在机器上的软件架构的实例的框图。10 is a block diagram illustrating an example of a software architecture that may be installed on a machine, according to some example embodiments.
图11图解说明根据实例性实施例的呈计算机系统的形式的机器的图解表示,在所述机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多者的一组指令。11 illustrates a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed according to an example embodiment.
本文中所提供的标题仅为方便起见且未必影响所使用的术语的范围或意义。The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the terms used.
具体实施方式DETAILED DESCRIPTION
以下说明包含体现本发明的说明性实施例的系统、方法、技术、指令序列及计算机器程序产品。在以下说明中,出于解释目的,陈述众多特定细节以便提供对发明性标的物的各种实施例的理解。然而,所属领域的技术人员将明了,可在不具有这些特定细节的情况下实践发明性标的物的实施例。一般来说,不必详细展示众所周知的指令实例、协议、结构及技术。The following description includes systems, methods, techniques, instruction sequences, and computer program products that embody illustrative embodiments of the present invention. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the inventive subject matter. However, it will be apparent to those skilled in the art that embodiments of the inventive subject matter may be practiced without these specific details. Generally, well-known instruction examples, protocols, structures, and techniques need not be presented in detail.
在照明传感器网络中,传感器数据在照明节点内的端点(称为服务端点平台)处被收集且将传感器数据(例如,经处理传感器数据及原始传感器数据)转发到中心服务器(称为服务数据平台),所述中心服务器收集并存储基于节点的经处理传感器数据及原始传感器数据。中心服务器还可处理传感器数据且提供对传感器数据或利用所述传感器数据的应用程序的存取。下文所描述的各种实施例使得能够在照明节点(或其它节点)处执行第三方软件应用程序。第三方软件应用程序可用于利用专用试探法来定制照明传感器网络的端点处的数据结果。In a lighting sensor network, sensor data is collected at endpoints within lighting nodes (referred to as service endpoint platforms). The sensor data (e.g., processed and raw sensor data) is forwarded to a central server (referred to as a service data platform), which collects and stores the processed and raw sensor data from the nodes. The central server can also process the sensor data and provide access to the sensor data or applications that utilize it. Various embodiments described below enable the execution of third-party software applications at lighting nodes (or other nodes). Third-party software applications can be used to customize data results at endpoints of the lighting sensor network using specialized heuristics.
本说明书中所描述的照明传感器网络的各种实施例提供以下特征中的许多特征:在照明节点处为第三方软件应用程序提供安全的应用程序执行环境;将基于节点的传感器数据提供给第三方软件应用程序同时在照明节点处管理数据安全与隐私;将基于站点的传感器数据提供给第三方应用程序同时管理数据安全与隐私;使用编程接口来提供对第三方应用程序软件的管理功能的支持;管理第三方软件应用程序脚本与上传到云中的服务数据平台的第三方应用程序之间的数据通信;管理第三方应用程序软件到照明节点的部署;及管理端点(例如,服务端点平台)上的多个第三方软件应用程序的共存。The various embodiments of the lighting sensor networks described in this specification provide many of the following features: providing a secure application execution environment for third-party software applications at lighting nodes; providing node-based sensor data to third-party software applications while managing data security and privacy at the lighting nodes; providing site-based sensor data to third-party applications while managing data security and privacy; using programming interfaces to provide support for management functions of third-party application software; managing data communication between third-party software application scripts and third-party applications uploaded to a service data platform in the cloud; managing the deployment of third-party application software to lighting nodes; and managing the coexistence of multiple third-party software applications on endpoints (e.g., a service endpoint platform).
揭示使得第三方(例如,应用程序开发者等)能够存取传感器数据(包含原始传感器数据及传感器数据事件)及在照明传感器网络内的照明节点上执行第三方软件的各种技术。所执行的第三方软件可包含应用程序、脚本、例程、程序等。Various techniques are disclosed that enable third parties (e.g., application developers, etc.) to access sensor data (including raw sensor data and sensor data events) and execute third-party software on lighting nodes within a lighting sensor network. The executed third-party software may include applications, scripts, routines, programs, etc.
第三方应用程序开发者可能够制定用于产生对在照明传感器网络内的各种照明节点处所收集的特定类型的传感器数据的试探及其它分析的规则集。传感器数据的实例包含运动检测数据、周围光传感器数据、音频数据、图像数据、视频数据及加速度计数据。Third-party application developers may be able to formulate rule sets for generating heuristics and other analyses of specific types of sensor data collected at various lighting nodes within the lighting sensor network. Examples of sensor data include motion detection data, ambient light sensor data, audio data, image data, video data, and accelerometer data.
运用对在照明节点处可获得的最低级传感器数据(例如,尚未由光传感器网络内的各种装置过滤、聚合或以其它方式改变的传感器数据)的存取,第三方可开发出于各种目的利用此最低级传感器数据的第三方软件。With access to the lowest level sensor data available at the lighting nodes (eg, sensor data that has not been filtered, aggregated, or otherwise altered by the various devices within the light sensor network), third parties may develop third party software that utilizes this lowest level sensor data for various purposes.
在各种实施例中,照明节点可经配置以在其中各种应用程序可不彼此影响或不影响照明节点的常规操作的操作环境中执行第三方软件。换句话说,照明节点可提供用于安全地允许第三方软件执行而不影响照明节点输出或操作的沙盒。In various embodiments, the lighting node may be configured to execute third-party software in an operating environment in which various applications may not affect each other or the normal operation of the lighting node. In other words, the lighting node may provide a sandbox for safely allowing third-party software to execute without affecting the output or operation of the lighting node.
在一些实施例中,服务数据平台内的计算装置(例如,云服务器等)可经配置以接纳目标是用于部署在照明节点处的第三方软件。服务数据平台内的计算装置可在将第三方软件分布到各种照明节点以供执行之前扫描、剖析、调试、处理及/或以其它方式分析所述软件以识别问题或可能有害内容。举例来说,第三方软件可被识别为可能恶意软件或者能够产生网络攻击或装备关闭的其它软件。In some embodiments, a computing device within the service data platform (e.g., a cloud server, etc.) can be configured to accept third-party software targeted for deployment at lighting nodes. The computing device within the service data platform can scan, profile, debug, process, and/or otherwise analyze the third-party software to identify issues or potentially harmful content before distributing the software to the various lighting nodes for execution. For example, the third-party software can be identified as potentially malicious software or other software capable of generating a network attack or equipment shutdown.
照明传感器网络可提供其中第三方可存取从照明节点所收集的详细传感器数据并对详细传感器数据执行基于节点的处理而不给照明网络增添不必要拥塞的应用程序脚本环境。此外,第三方可提供可经定制以提供不同实体或追求相关或所要的信息的第三方软件(例如,脚本)。The lighting sensor network can provide an application scripting environment in which third parties can access detailed sensor data collected from lighting nodes and perform node-based processing on the detailed sensor data without adding unnecessary congestion to the lighting network. In addition, third parties can provide third-party software (e.g., scripts) that can be customized to provide different entities or pursuits with relevant or desired information.
在各种实施例中,照明网络(包含照明节点)可设在客户站点处。客户可授权第三方在付费或不付费的情况下在位于客户站点处的照明网络内的照明节点处存取并处理原始传感器数据。一个实例可是想要在客户站点处的停车库内的照明节点处对原始传感器数据进行存取的停车库服务公司。停车库客户站点授权停车库服务公司:将第三方软件应用程序部署在位于客户停车库站点处的照明节点处,且接着通过在位于停车库客户站点处的照明节点处执行第三方软件应用程序而存取并处理原始传感器数据。In various embodiments, a lighting network (including lighting nodes) may be located at a customer site. The customer may authorize a third party to access and process raw sensor data at the lighting nodes within the lighting network located at the customer site, with or without payment. An example may be a parking garage service company that desires to access raw sensor data at lighting nodes within a parking garage located at the customer site. The parking garage customer site authorizes the parking garage service company to deploy a third-party software application at the lighting nodes located at the customer parking garage site and then access and process the raw sensor data by executing the third-party software application at the lighting nodes located at the parking garage customer site.
在实例性实施例中,部署第三方软件应用程序及存取基于节点的经处理传感器数据是经由驻存于云计算环境内的服务数据平台而进行。各种实施例提供在照明传感器网络内所利用的关于应用程序脚本环境的方法、装置、系统及非暂时性处理器可读存储媒体。In an exemplary embodiment, deployment of third-party software applications and access to node-based processed sensor data is performed via a service data platform residing in a cloud computing environment. Various embodiments provide methods, devices, systems, and non-transitory processor-readable storage media for an application scripting environment utilized within a lighting sensor network.
以下各项内描述此类照明传感器网络的实例:2013年9月11日提出申请的标题为“用于感测应用的联网照明基础设施(Networked Lighting Infrastructure for SensingApplications)”的美国非临时专利申请案第14/024,561号;及2012年9月12日提出申请的其相关美国临时申请案第61/699,968号,所述申请案的内容以其全文引用的方式并入。Examples of such lighting sensor networks are described in U.S. non-provisional patent application Ser. No. 14/024,561, filed Sep. 11, 2013, and entitled “Networked Lighting Infrastructure for Sensing Applications,” and in its related U.S. provisional application Ser. No. 61/699,968, filed Sep. 12, 2012, the contents of which are incorporated by reference in their entireties.
加利福尼亚州桑尼维尔市的Sensity Systems公司开发的NetSense光传感器网络平台提供可用于实施所描述的各种实施例的照明传感器网络的实例。NetSense框架使用允许应用程序存取节点处的传感器数据的照明基础设施而实现多种传感器的部署。The NetSense light sensor network platform developed by Sensity Systems, Inc. of Sunnyvale, Calif., provides an example of a lighting sensor network that can be used to implement the various described embodiments. The NetSense framework enables deployment of a variety of sensors using a lighting infrastructure that allows applications to access sensor data at the nodes.
图1A图解说明适合在各种实施例中使用的光传感器网络160的实施方案。照明传感器网络160使用允许在与照明基础设施相关联的照明节点上运行的应用程序安全地存取传感器数据以供处理的照明基础设施而实现多种传感器的部署。1A illustrates an implementation of a light sensor network 160 suitable for use in various embodiments. The lighting sensor network 160 enables deployment of a variety of sensors using a lighting infrastructure that allows applications running on lighting nodes associated with the lighting infrastructure to securely access sensor data for processing.
图1A展示照明传感器网络160的各种组件。照明传感器网络160表示与服务数据平台140联网的照明基础设施。照明节点105(根据一个实施例,其包含传感器416及服务端点平台110)可经由网络(例如广域网络(WAN)130)而通信以与可驻存于云计算环境中的服务数据平台140通信。1A shows various components of a lighting sensor network 160. The lighting sensor network 160 represents a lighting infrastructure networked with a service data platform 140. The lighting nodes 105 (which, according to one embodiment, include sensors 416 and a service endpoint platform 110) can communicate via a network, such as a wide area network (WAN) 130, to communicate with the service data platform 140, which can reside in a cloud computing environment.
照明器具包含于照明基础设施内。照明基础设施可称为客户站点或位于客户站点处。在各种实施例中,服务数据平台140可为一实体(例如,Sensity Systems公司)所有且由所述实体操作,且照明基础设施的所有人可为所述实体的客户。服务端点平台140可安装在每一照明器具处。在替代实施例中,照明基础设施内的照明器具中的仅一些照明器具包含服务端点平台140。服务端点平台140可提供下文所描述的功能性。Lighting fixtures are included within the lighting infrastructure. The lighting infrastructure may be referred to as or located at a customer site. In various embodiments, the service data platform 140 may be owned and operated by an entity (e.g., Sensity Systems), and the owner of the lighting infrastructure may be a customer of that entity. The service endpoint platform 140 may be installed at each lighting fixture. In alternative embodiments, only some of the lighting fixtures within the lighting infrastructure include the service endpoint platform 140. The service endpoint platform 140 may provide the functionality described below.
服务端点平台110包含连接照明器具(在照明基础设施内)与云中的服务数据平台140的联网能力且支持照明器具或照明节点105之间的通信。服务端点平台110提供用于管理照明节点105处的通信、传感器数据及处理的计算平台。服务端点平台110进一步提供允许传感器416被连接到照明节点105内的服务端点平台110的传感器接口。The service endpoint platform 110 includes networking capabilities that connect light fixtures (within the lighting infrastructure) with the service data platform 140 in the cloud and supports communications between light fixtures or lighting nodes 105. The service endpoint platform 110 provides a computing platform for managing communications, sensor data, and processing at the lighting nodes 105. The service endpoint platform 110 further provides a sensor interface that allows sensors 416 to be connected to the service endpoint platform 110 within the lighting nodes 105.
服务数据平台140提供下文所描述的功能性。在实例性实施例中,服务数据平台140表示云中的与具有服务端点平台110的照明节点105通信的集中式服务器。由照明节点105所提供的传感器数据被收集并存储于服务数据平台140中。由照明节点105所提供的传感器数据可具有由传感器应用程序120中的一或多者在照明节点105处执行的一些处理。明确地说,在照明节点105处以高带宽速率接收的传感器数据(在此情况下,可难以经由网络(例如,WAN 130)发射此大量原始传感器数据)可在照明节点105处进行处理。基于节点的经处理传感器数据的结果可接着经由WAN 130发射到服务数据平台140(基于节点的经处理传感器数据被收集并存储于此处),且可由经授权用户或应用程序存取。The service data platform 140 provides the functionality described below. In an exemplary embodiment, the service data platform 140 represents a centralized server in the cloud that communicates with the lighting nodes 105 having the service endpoint platform 110. Sensor data provided by the lighting nodes 105 is collected and stored in the service data platform 140. The sensor data provided by the lighting nodes 105 may have some processing performed at the lighting nodes 105 by one or more of the sensor applications 120. In particular, sensor data received at the lighting nodes 105 at high bandwidth rates (in which case it may be difficult to transmit such large amounts of raw sensor data over a network (e.g., WAN 130)) may be processed at the lighting nodes 105. The results of the node-based processed sensor data may then be transmitted over WAN 130 to the service data platform 140 (where the node-based processed sensor data is collected and stored) and may be accessed by authorized users or applications.
服务数据平台140可处理由照明节点105所提供的传感器数据。由服务数据平台140所处理的传感器数据包含经节点处理传感器数据及未被照明节点105处理的传感器数据。在一些实例中,由服务数据平台140所接收的数据可包含经压缩数据或其它形式的经更改原始传感器数据。由服务数据平台140所接收的传感器数据还可由服务数据平台140进行处理。在各种实施例中,服务数据平台140进行的处理可包含:由图2B中所展示的分析服务器266对传感器数据执行分析,所述分析服务器经由数据库服务器290从数据库291存取传感器数据。The service data platform 140 can process the sensor data provided by the lighting nodes 105. The sensor data processed by the service data platform 140 includes node-processed sensor data and sensor data that has not been processed by the lighting nodes 105. In some examples, the data received by the service data platform 140 may include compressed data or other forms of altered raw sensor data. The sensor data received by the service data platform 140 may also be processed by the service data platform 140. In various embodiments, the processing performed by the service data platform 140 may include: performing analysis on the sensor data by the analysis server 266 shown in Figure 2B, which accesses the sensor data from the database 291 via the database server 290.
服务数据平台140还提供对存储于服务数据平台140中的数据进行的经由API服务器的编程存取及经由web服务器的web存取两者。举例来说,服务数据平台140可为第三方应用程序提供聚合数据API 141以存取存储于服务数据平台140中的传感器数据。在另一实例中,服务数据平台140还可提供经由web服务器280进行的对传感器数据的存取。服务数据平台140还可提供应用程序管理API 142以上传将部署在照明节点105处的应用程序。图1B中展示聚合数据API 141及应用程序管理API 142。The service data platform 140 also provides both programmatic access via an API server and web access via a web server to data stored in the service data platform 140. For example, the service data platform 140 may provide an aggregated data API 141 for third-party applications to access sensor data stored in the service data platform 140. In another example, the service data platform 140 may also provide access to sensor data via a web server 280. The service data platform 140 may also provide an application management API 142 for uploading applications to be deployed at the lighting nodes 105. The aggregated data API 141 and the application management API 142 are shown in FIG. 1B .
图1B图解说明根据实例性实施例的图解说明照明传感器网络160的高级框图。照明传感器网络160可包含与服务数据平台140通信的照明节点105。在实例性实施例中,照明节点105中的服务端点平台110(图1A中所展示)中的每一者可执行由服务数据平台140所部署的一或多个传感器应用程序120以用于基于节点的传感器处理。基于节点的传感器处理通常用于对在照明节点105处可获得的传感器数据执行分析,且特别适合于提供在不对传感器数据进行压缩或其它修改的情况下不易于经由网络发射的高带宽数据的传感器。FIG1B illustrates a high-level block diagram illustrating a lighting sensor network 160, according to an example embodiment. The lighting sensor network 160 may include lighting nodes 105 in communication with a service data platform 140. In an example embodiment, each of the service endpoint platforms 110 (shown in FIG1A ) in the lighting nodes 105 may execute one or more sensor applications 120 deployed by the service data platform 140 for node-based sensor processing. Node-based sensor processing is commonly used to perform analysis on sensor data available at the lighting nodes 105 and is particularly well-suited for sensors that provide high-bandwidth data that is not easily transmitted over a network without compression or other modifications to the sensor data.
在照明节点105上运行的传感器应用程序120可由想要存取传感器数据的第三方开发并对从照明传感器网络160可获得的传感器数据(明确地说,用于在照明节点105处进行分析处理的传感器数据)执行分析。照明节点105处的分析处理的结果经由WAN 130发射到服务数据平台140以供存储。The sensor applications 120 running on the lighting nodes 105 can be developed by third parties that want to access sensor data and perform analytics on the sensor data available from the lighting sensor network 160 (specifically, sensor data for analytical processing at the lighting nodes 105). The results of the analytical processing at the lighting nodes 105 are transmitted via the WAN 130 to the service data platform 140 for storage.
一个以上传感器应用程序120可在照明节点105中的每一者上执行。在各种实施例中,传感器应用程序120可使用脚本语言来实施。照明节点105上的每一传感器应用程序120在单独容器内执行以为传感器应用程序120中的每一者创建安全操作环境。在各种实施例中,传感器应用程序120中的一者的执行不干扰在照明节点105处运行的其它传感器应用程序120的操作,且也不干扰或妨碍照明节点105或与照明节点105相关联的任何照明器具的正常操作。传感器应用程序120中的每一者可在沙盒中执行以为将在照明节点105处执行的传感器应用程序120提供安全环境。One or more sensor applications 120 may be executed on each of the lighting nodes 105. In various embodiments, the sensor applications 120 may be implemented using a scripting language. Each sensor application 120 on the lighting node 105 executes within a separate container to create a secure operating environment for each of the sensor applications 120. In various embodiments, the execution of one of the sensor applications 120 does not interfere with the operation of other sensor applications 120 running at the lighting node 105, nor does it interfere with or hinder the normal operation of the lighting node 105 or any lighting fixtures associated with the lighting node 105. Each of the sensor applications 120 may be executed in a sandbox to provide a secure environment for the sensor application 120 to be executed at the lighting node 105.
参考图3B,根据实施例,端点应用程序框架310包含分别在单独容器320到322内的多个传感器应用程序220到222。传感器应用程序220到222可表示传感器应用程序120。容器320管理用于运行传感器应用程序的资源,所述传感器应用程序可使用脚本语言(有时称为应用程序脚本)分别实施。举例来说,容器可用于界定与资源(例如,中央处理单元(CPU)、存储器、对数据及文件的存取)相关的其相关联传感器应用程序的极限,且防止坏的代码破坏其它容器中的传感器应用程序。在实例性实施例中,每一应用程序脚本在单独应用程序容器(例如,容器320)中运行。传感器应用程序220到222表示应用程序脚本或在端点应用程序框架310内可执行的其它软件程序。图3B中还展示可用于提供管理API 340、应用程序API350及传感器数据API 330的接口360。Referring to FIG3B , according to an embodiment, an endpoint application framework 310 includes multiple sensor applications 220 through 222, each within a separate container 320 through 322. Sensor applications 220 through 222 may represent sensor application 120. Container 320 manages resources for running sensor applications, which may be implemented using a scripting language (sometimes referred to as an application script). For example, a container can be used to define resource limits for its associated sensor application (e.g., central processing unit (CPU), memory, access to data and files), and prevent corrupted code from corrupting sensor applications in other containers. In an exemplary embodiment, each application script runs in a separate application container (e.g., container 320). Sensor applications 220 through 222 represent application scripts or other software programs executable within endpoint application framework 310. FIG3B also shows an interface 360 that can be used to provide a management API 340, an application API 350, and a sensor data API 330.
端点应用程序框架310提供用于执行传感器应用程序220到222或其它软件程序的框架,所述其它软件程序通过管理容器320到322及接口360而提供传感器数据的基于节点的处理。在各种实施例中,照明节点105可经配置以在其中各种应用程序可不彼此影响或不影响照明节点105的常规操作的操作环境中执行各种第三方软件。换句话说,照明节点105可提供用于安全地允许第三方软件执行而不影响照明节点105的输出或照明节点105的操作的沙盒。The endpoint application framework 310 provides a framework for executing sensor applications 220-222 or other software programs that provide node-based processing of sensor data by managing the containers 320-322 and the interface 360. In various embodiments, the lighting node 105 may be configured to execute various third-party software in an operating environment in which the various applications may not affect each other or the regular operation of the lighting node 105. In other words, the lighting node 105 may provide a sandbox for securely allowing third-party software to execute without affecting the output of the lighting node 105 or the operation of the lighting node 105.
返回参考图1B,照明节点105包含于照明网络100中。照明网络100可包含照明器具。照明节点105可直接或间接连接到照明器具。在实例性实施例中,一些照明节点105可不与照明器具直接连接或相关联。在其它实施例中,照明网络100内的照明节点105可彼此通信以将传感器数据从一个照明节点105发射到另一照明节点105以用于传感器数据的基于节点的处理及到WAN 130的发射。在其它实施例中,照明节点105中的一些或全部照明节点可通过传感器应用程序120而提供传感器数据的基于节点的处理。Referring back to FIG. 1B , lighting nodes 105 are included in a lighting network 100. The lighting network 100 may include lighting fixtures. The lighting nodes 105 may be directly or indirectly connected to the lighting fixtures. In example embodiments, some lighting nodes 105 may not be directly connected or associated with a lighting fixture. In other embodiments, the lighting nodes 105 within the lighting network 100 may communicate with each other to transmit sensor data from one lighting node 105 to another lighting node 105 for node-based processing of the sensor data and transmission to the WAN 130. In other embodiments, some or all of the lighting nodes 105 may provide node-based processing of the sensor data via the sensor application 120.
照明节点105可通过直接或间接附接到照明器具而与照明器具相关联,或可与照明器具远程地连接。在各种实施例中,照明节点105中的一些照明节点可不与照明器具相关联且可经由其它照明节点105而通信。在替代实施例中,可使用包含不具有灯的器具的基础设施,假设基础设施可给节点(其接收传感器数据)提供电力及联网能力。举例来说,基础设施可是具有公用电线杆的公用基础设施或具有空气调节机组的空气调节基础设施。在这些实例中,节点可附接(直接或间接)到公用电线杆或空气调节机组。在各种实施例中,照明节点105表示不与灯具或光传感器相关联的传感器节点。The lighting nodes 105 may be associated with lighting fixtures by being directly or indirectly attached to the lighting fixtures, or may be remotely connected to the lighting fixtures. In various embodiments, some of the lighting nodes 105 may not be associated with lighting fixtures and may communicate via other lighting nodes 105. In alternative embodiments, an infrastructure including fixtures without lights may be used, provided that the infrastructure can provide power and networking capabilities to the nodes (which receive sensor data). For example, the infrastructure may be a utility infrastructure with utility poles or an air conditioning infrastructure with air conditioning units. In these examples, the nodes may be attached (directly or indirectly) to the utility poles or air conditioning units. In various embodiments, the lighting nodes 105 represent sensor nodes that are not associated with light fixtures or light sensors.
如图1B中所展示,服务数据平台140使用应用程序管理API 142提供用于将上传到服务数据平台140的传感器应用程序的平台。应用程序管理API 142为第三方提供API以将传感器应用程序120上传到服务数据平台140上。由服务数据平台140所提供的API可是一般API或定制API。1B , the service data platform 140 provides a platform for sensor applications to be uploaded to the service data platform 140 using an application management API 142. The application management API 142 provides an API for third parties to upload sensor applications 120 to the service data platform 140. The API provided by the service data platform 140 may be a general API or a custom API.
服务数据平台140包含部署模块(例如,图5B中所展示的部署模块520),所述部署模块提供用以将传感器应用程序120部署到各种照明节点105的功能性。部署模块520单独地或与节点管理模块(例如,图5B中所展示的节点管理模块540)组合地确定哪些照明网络100内的哪些照明节点105将部署传感器应用程序120中的哪些传感器应用程序。传感器应用程序120中的一或多者可部署在照明节点105中的每一者处。The service data platform 140 includes a deployment module (e.g., the deployment module 520 shown in FIG5B ) that provides functionality to deploy the sensor applications 120 to the various lighting nodes 105. The deployment module 520, alone or in combination with a node management module (e.g., the node management module 540 shown in FIG5B ), determines which lighting nodes 105 within which lighting networks 100 will deploy which of the sensor applications 120. One or more of the sensor applications 120 may be deployed at each of the lighting nodes 105.
在各种实施例中,在传感器应用程序120通过服务数据平台140进行部署之前,服务数据平台140评估或筛选传感器应用程序120以确定传感器应用程序120在于照明节点105上执行或部署时不可能对照明节点105造成损害。In various embodiments, before the sensor application 120 is deployed via the service data platform 140 , the service data platform 140 evaluates or screens the sensor application 120 to determine that the sensor application 120 is unlikely to cause harm to the lighting node 105 when executed or deployed on the lighting node 105 .
图1B还展示用于用户或应用程序的聚合数据API 141以存取传感器数据(基于节点的经处理传感器数据或基于服务器的经处理传感器数据)。传感器数据的基于服务器的处理可由图2B中所展示的分析服务器266执行。如上文所论述,传感器数据的基于节点的处理由在照明节点105上运行的传感器应用程序120执行。在各种实施例中,传感器数据可使用聚合数据API 141而存取。FIG1B also shows an aggregated data API 141 for users or applications to access sensor data (node-based processed sensor data or server-based processed sensor data). Server-based processing of sensor data can be performed by the analysis server 266 shown in FIG2B. As discussed above, node-based processing of sensor data is performed by the sensor application 120 running on the lighting node 105. In various embodiments, sensor data can be accessed using the aggregated data API 141.
参考图2B,经处理传感器数据存储于数据库291中且通过数据库服务器290而存取。在实例性实施例中,应用程序服务器260经由API服务器270或Web服务器280通过WAN130与其它联网装置通信。2B , the processed sensor data is stored in a database 291 and accessed through a database server 290. In an example embodiment, the application server 260 communicates with other networked devices over the WAN 130 via an API server 270 or a Web server 280.
在各种实施例中,照明网络100的所有人授权第三方在照明网络100内的照明节点105处安装并执行传感器应用程序120。传感器应用程序100利用在照明节点105处所收集及处理以供由经授权第三方使用的传感器数据。基于节点的经处理传感器数据的结果被发射到服务数据平台140。在各种实施例中,经授权第三方经由传感器数据API通过服务数据平台140而存取基于节点的经处理传感器数据。在各种实施例中,服务数据平台140为服务提供者或其它实体所有且由服务提供者或其它实体操作,所述其它实体管理照明节点105的各种方面、由照明节点105所提供的数据以及传感器应用程序120在照明节点105处的部署与执行。In various embodiments, the owner of the lighting network 100 authorizes a third party to install and execute the sensor application 120 at the lighting nodes 105 within the lighting network 100. The sensor application 120 utilizes sensor data collected and processed at the lighting nodes 105 for use by the authorized third party. The results of the node-based processed sensor data are transmitted to the service data platform 140. In various embodiments, the authorized third party accesses the node-based processed sensor data through the service data platform 140 via a sensor data API. In various embodiments, the service data platform 140 is owned and operated by a service provider or other entity that manages various aspects of the lighting nodes 105, the data provided by the lighting nodes 105, and the deployment and execution of the sensor application 120 at the lighting nodes 105.
下文连同图2B、图5B及图6到8一起将进一步详细论述服务数据平台140。The service data platform 140 will be discussed in further detail below in conjunction with FIG. 2B , FIG. 5B , and FIG. 6 - 8 .
图2A图解说明根据实例性实施例的从传感器接收高带宽数据(或大量数据)且提供能够经由网络发射的低带宽数据的服务端点平台210。如上文所论述,照明节点105可包含多个传感器416,传感器416还称为传感器装置。传感器416的实例包含照明传感器、音频传感器、摄像机传感器、视频传感器等。FIG2A illustrates a service endpoint platform 210 that receives high-bandwidth data (or large amounts of data) from sensors and provides low-bandwidth data that can be transmitted over a network, according to an example embodiment. As discussed above, a lighting node 105 may include a plurality of sensors 416, also referred to as sensor devices. Examples of sensors 416 include lighting sensors, audio sensors, camera sensors, video sensors, and the like.
图2A图解说明根据实例性实施例的从传感器接收传感器数据且使用传感器数据API 330来将高带宽传感器数据提供给应用程序220及221的传感器驱动器230及231。传感器驱动器230及231可实施为在服务端点平台210中在传感器数据API 330之下的软件。传感器应用程序220及221从传感器数据的基于节点的处理产生多个结果。所述结果作为低带宽数据经由路径250及251发射到WAN 130。在各种实施例中,低带宽数据可表示来自由使用高带宽数据的传感器应用程序220及221产生的传感器数据的洞察力。FIG2A illustrates sensor drivers 230 and 231 receiving sensor data from sensors and providing high-bandwidth sensor data to applications 220 and 221 using a sensor data API 330, according to an example embodiment. Sensor drivers 230 and 231 may be implemented as software within the service endpoint platform 210, underlying the sensor data API 330. Sensor applications 220 and 221 generate multiple results from node-based processing of the sensor data. These results are transmitted as low-bandwidth data to WAN 130 via paths 250 and 251. In various embodiments, the low-bandwidth data may represent insights from the sensor data generated by sensor applications 220 and 221 using high-bandwidth data.
在各种实施例中,由传感器应用程序220及221所实施的算法表示可在照明节点105处执行的分析处理。摄像机可表示能够拍摄具有音频及图像数据的视频的传感器装置。来自摄像机的图像数据可表示原始传感器数据,所述原始传感器数据表示处于兆位/秒或千兆位/秒范围的高带宽数据。来自摄像机的图像数据在图像数据未经压缩或未以其它方式减小大小以适合于高效发射的情况下难以经由网络(例如,WAN 130)进行发射。尽管压缩图像数据是可能的,但此压缩可导致图像数据细节中的一些细节的损失。传感器应用程序220或221可对原始图像数据执行分析且接着将基于节点的经处理原始图像数据的结果发送到网络(例如,WAN 130),而非发射原始图像数据。原始图像数据的基于节点的处理可保持来自原始图像数据的几乎100%细节。In various embodiments, the algorithms implemented by sensor applications 220 and 221 represent analytical processing that can be performed at a lighting node 105. A camera may represent a sensor device capable of capturing video with audio and image data. The image data from the camera may represent raw sensor data, representing high-bandwidth data in the megabits per second or gigabit per second range. Image data from a camera is difficult to transmit over a network (e.g., WAN 130) without compressing the image data or otherwise reducing its size for efficient transmission. While compressing the image data is possible, such compression may result in a loss of some detail in the image data. Instead of transmitting the raw image data, sensor application 220 or 221 may perform analysis on the raw image data and then send the results of the node-based processed raw image data to the network (e.g., WAN 130). Node-based processing of the raw image data can preserve nearly 100% of the detail from the raw image data.
产生高带宽数据的传感器装置的另一实例是测量振动的加速度计。加速度计可以快取样速率(举例来说,100个样本/秒)测量振动。原始传感器数据可太大或以太快速率进行接收以致无法经由无线网络高效地传输其,以便洞察原始传感器数据。举例来说,来自原始传感器数据的所要洞察力可包含峰值加速度或频谱内容。传感器应用程序220及221可执行基于节点的传感器处理以确定偶然峰值或快照,其中基于节点的处理的结果可传输到网络(例如,WAN 130)。Another example of a sensor device that generates high-bandwidth data is an accelerometer that measures vibration. An accelerometer can measure vibration at a fast sampling rate (e.g., 100 samples/second). The raw sensor data may be too large or received at too fast a rate to be efficiently transmitted over a wireless network in order to gain insight into the raw sensor data. For example, the desired insight from the raw sensor data may include peak acceleration or spectral content. Sensor applications 220 and 221 may perform node-based sensor processing to determine occasional peaks or snapshots, where the results of the node-based processing may be transmitted to the network (e.g., WAN 130).
来自音频传感器的音频数据还可提供高带宽传感器数据。音频分析可包含监听人的尖叫、玻璃破碎、小汽车碰撞、枪响等。音频分析确定特定事件发生的时间。传感器应用程序220或221可执行基于节点的传感器处理以检测特定事件的发生,而非经由网络(例如,WAN 130)发送音频记录(在一些情形中,表示高带宽数据)以供分析处理以确定特定事件是否已发生。来自基于节点的传感器处理的结果接着经由网络(例如,WAN 130)传输到服务数据平台140以供由经授权用户存取。Audio data from audio sensors can also provide high-bandwidth sensor data. Audio analysis can include listening for a person screaming, breaking glass, a car crash, a gunshot, and the like. Audio analysis determines when a specific event occurred. Instead of sending audio recordings (which, in some cases, represent high-bandwidth data) over a network (e.g., WAN 130) for analysis and processing to determine whether a specific event occurred, sensor applications 220 or 221 can perform node-based sensor processing to detect the occurrence of a specific event. The results from the node-based sensor processing are then transmitted over the network (e.g., WAN 130) to the service data platform 140 for access by authorized users.
在上文所描述的各种高带宽数据实例中,数据分析结果(由应用程序220或221产生)经由网络传输到其处驻存有服务数据平台140的云。服务数据平台140可表示用于照明传感器网络160的集中式服务器。所述结果接着存储于服务数据平台140中。经处理传感器数据可由经授权用户使用web API或编程API从服务数据平台140进行存取。服务数据平台140的所有人可向经授权用户提供用以存取经处理传感器数据的web应用程序。一些用户可创建其自己的应用程序并经由其它API存取经处理传感器数据。In the various high-bandwidth data examples described above, the data analysis results (generated by application 220 or 221) are transmitted via the network to the cloud where service data platform 140 resides. Service data platform 140 may represent a centralized server for lighting sensor network 160. The results are then stored in service data platform 140. Processed sensor data can be accessed from service data platform 140 by authorized users using a web API or a programmatic API. The owner of service data platform 140 may provide authorized users with a web application for accessing processed sensor data. Some users may create their own applications and access processed sensor data via other APIs.
图2B图解说明根据实例性实施例的服务数据平台140。服务数据平台140包含API服务器270及web服务器280,API服务器270及web服务器280可耦合到一或多个应用程序服务器260且分别给一或多个应用程序服务器260提供编程接口及web接口。服务数据平台140可托管于经通信地耦合以实现服务器机器之间的通信的专用或共享服务器机器。服务器中的每一者可包括一或多个模块或应用程序,且所述一或多个模块或应用程序中的每一者可体现为硬件、软件、固件或其任何组合。FIG2B illustrates a service data platform 140 according to an exemplary embodiment. The service data platform 140 includes an API server 270 and a web server 280, which can be coupled to one or more application servers 260 and provide a programming interface and a web interface, respectively, to the one or more application servers 260. The service data platform 140 can be hosted on dedicated or shared server machines that are communicatively coupled to enable communication between the server machines. Each of the servers can include one or more modules or applications, and each of the one or more modules or applications can be embodied in hardware, software, firmware, or any combination thereof.
应用程序服务器260又展示为耦合到促进对一或多个信息存储库或数据库291的存取的一或多个数据库服务器290。在实例性实施例中,数据库291是存储传感器信息及传感器分析信息的存储装置。应用程序服务器260包含图形服务器262、装置服务器264和分析服务器266。连同图7到8一起将进一步详细论述这些服务器。The application server 260 is further shown coupled to one or more database servers 290 that facilitate access to one or more information repositories or databases 291. In the exemplary embodiment, the database 291 is a storage device that stores sensor information and sensor analysis information. The application server 260 includes a graphics server 262, a device server 264, and an analysis server 266. These servers will be discussed in further detail in conjunction with Figures 7-8.
图3A图解说明根据实例性实施例的在照明节点105处所实施的端点应用程序框架310内的软件组件。图4A到4C图解说明照明节点105的各种硬件实施例。在示范性实施例中,端点应用程序框架310管理用于支持应用程序脚本功能性或光传感器网络160内的传感器数据的基于节点的处理的功能性。Figure 3A illustrates software components within an endpoint application framework 310 implemented at a lighting node 105, according to an example embodiment. Figures 4A-4C illustrate various hardware embodiments of a lighting node 105. In an exemplary embodiment, the endpoint application framework 310 manages functionality for supporting application scripting functionality or node-based processing of sensor data within the light sensor network 160.
图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。FIG3A illustrates various software components within the endpoint application framework 310 layer of a lighting node 105, according to an example embodiment. Within the endpoint application framework 310 resides a container 320 for sensor applications 220, a management API 340, an application API 350, and a sensor data API 330. The container 320 for sensor applications 220 manages the sensor applications 220. In various embodiments, the sensor applications 220 are implemented using a scripting language. For example, the container 320 is used to start, stop, restart, download, or reload scripts based on requests 366 made to the container 320 via the management API 340. The management API 340 provides requests from the service data platform 140 via path 365. These requests may be referred to as management or configuration requests. The service data platform 140 is responsible for deploying software applications to the lighting node 105. Sensor applications 220 can be deployed by sending files from the service data platform 140 to the sensor applications 220 using the management API 340.
由第三方提供的传感器应用程序220可由服务数据平台140使用应用程序管理API142而接收,且接着经下载或经上传(使用管理API 340)以用于传感器数据及传感器事件的基于节点的处理。Sensor applications 220 provided by third parties may be received by the service data platform 140 using the application management API 142 and then downloaded or uploaded (using the management API 340 ) for node-based processing of sensor data and sensor events.
端点应用程序框架310还负责管理包含管理API 340、应用程序API 350及传感器数据API 330的各种接口。The endpoint application framework 310 is also responsible for managing various interfaces including a management API 340 , an application API 350 , and a sensor data API 330 .
如上文所论述,管理或配置请求366是使用管理API 340而提供。服务数据平台140管理请求366且经由路径365将包含请求366的通信发送到端点应用程序框架310。As discussed above, management or configuration request 366 is provided using management API 340. Service data platform 140 manages request 366 and sends a communication including request 366 to endpoint application framework 310 via path 365.
传感器使用传感器数据API 330将原始传感器数据363及传感器数据事件364提供到传感器应用程序220。传感器应用程序220可将请求368提供到传感器数据API以检索原始传感器数据363及传感器事件364。原始传感器数据363及传感器事件364经由响应369而提供到传感器应用程序220。传感器应用程序220可运行对经由传感器数据API 330而接收的原始传感器数据363及传感器数据事件364的分析以产生基于节点的经处理传感器数据的结果。The sensors provide raw sensor data 363 and sensor data events 364 to the sensor application 220 using the sensor data API 330. The sensor application 220 may provide a request 368 to the sensor data API to retrieve the raw sensor data 363 and sensor events 364. The raw sensor data 363 and sensor events 364 are provided to the sensor application 220 via a response 369. The sensor application 220 may run analytics on the raw sensor data 363 and sensor data events 364 received via the sensor data API 330 to generate results based on the processed sensor data of the node.
基于节点的经处理传感器数据的结果在路径367上经由应用程序API 350而发射到服务数据平台140。用户可使用聚合数据API 141来存取基于节点的经处理传感器数据的结果。The results of the node-based processed sensor data are transmitted to the service data platform 140 via the application API 350 on path 367. A user can use the aggregated data API 141 to access the results of the node-based processed sensor data.
图4A图解说明根据实例性实施例的照明网络100。照明网络100图解说明多个照明器具305及425。照明网络100中的照明器具的数目可取决于客户端的需要而变化。此外,并非所有照明器具均包含直接或间接附接到其的照明节点415。举例来说,照明器具425不包含附接到其的照明节点415。然而,在一些实施例中,照明器具425可与远程照明节点通信。在替代实施例中,可使用给照明节点415提供电源及联网能力的其它类型的器具。在其它实施例中,照明节点415可称为传感器节点或节点。FIG4A illustrates a lighting network 100 according to an example embodiment. The lighting network 100 illustrates a plurality of lighting fixtures 305 and 425. The number of lighting fixtures in the lighting network 100 may vary depending on the needs of the client. Furthermore, not all lighting fixtures include a lighting node 415 attached thereto, either directly or indirectly. For example, the lighting fixture 425 does not include a lighting node 415 attached thereto. However, in some embodiments, the lighting fixture 425 may communicate with a remote lighting node. In alternative embodiments, other types of fixtures may be used that provide power and networking capabilities to the lighting nodes 415. In other embodiments, the lighting nodes 415 may be referred to as sensor nodes or nodes.
照明器具305两者均包含光源411、支撑结构412、电力供应器413及照明节点415。在一些实施例中,照明节点415可包含用于存储传感器数据(包含原始传感器数据及经处理传感器数据)的本地存储装置(未展示)。照明节点415包含服务端点平台210及传感器416以提供用于检测各种条件及事件的传感器数据。Both lighting fixtures 305 include a light source 411, a support structure 412, a power supply 413, and a lighting node 415. In some embodiments, the lighting node 415 may include a local storage device (not shown) for storing sensor data (including raw sensor data and processed sensor data). The lighting node 415 includes the service endpoint platform 210 and sensors 416 to provide sensor data for detecting various conditions and events.
图4B图解说明根据实例性实施例的照明节点415内的服务端点平台210。服务端点平台210包含用于接收传感器数据(原始传感器数据及传感器数据事件)的传感器数据API330、用于在照明节点415处处理传感器数据的计算平台450以及网络接口440。网络接口440可用于经由网络(例如,WAN 130)将由计算平台450处理的传感器数据发送到服务数据平台140。4B illustrates a service endpoint platform 210 within a lighting node 415 according to an example embodiment. The service endpoint platform 210 includes a sensor data API 330 for receiving sensor data (raw sensor data and sensor data events), a computing platform 450 for processing the sensor data at the lighting node 415, and a network interface 440. The network interface 440 can be used to send the sensor data processed by the computing platform 450 to the service data platform 140 via a network (e.g., WAN 130).
在实例性实施例中,计算平台450负责在照明节点415处处理传感器数据。图4C中所展示的一或多个硬件组件(例如,节点应用程序控制器470)连同由端点应用程序框架310及传感器应用程序120表示的软件一起可用于实施图4B中所展示的计算平台450。In an example embodiment, the computing platform 450 is responsible for processing sensor data at the lighting nodes 415. One or more hardware components shown in FIG4C (e.g., the node application controller 470) along with software represented by the endpoint application framework 310 and the sensor application 120 may be used to implement the computing platform 450 shown in FIG4B.
图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供电。FIG4C shows an exemplary block diagram of an embodiment of a lighting node 415. In some embodiments, the lighting node 415 may be controlled by a node application controller 470, which may consist of software running on a microcontroller (referred to as node application controller 470) connected to volatile and non-volatile memory (not shown). In various embodiments, the sensor application 220 is installed on memory in the node application controller 470 and executed by the node application controller 470. The node application controller 470 may provide functionality for executing the software application 120. In another embodiment, the node application controller 470 may consist of firmware running on a field programmable gate array (FPGA). The node application controller 470 may communicate over a LAN via a network interface 440 compatible with a selected LAN network protocol. The node application controller 470 may read data from the sensor 416 and may store the data in its memory (not shown). The node application controller 470 may also forward the data to the service data platform 140 over the LAN. The node application controller 470 can also send output signals to the controller 480 to change the settings of the connected controlled device (e.g., LED light 411). The node application controller 470 can also be connected to the network interface 440 (e.g., the uplink transceiver 164 that communicates with the service data platform 140 using a wireless uplink antenna). In various embodiments, the devices on the lighting node 305 can be powered by the power input terminal 490 that provides power to one or more power supplies 413 within the lighting node 305.
图5A图解说明根据实例性实施例的具有多个组件的照明节点415。照明节点415包含端点应用程序框架310,端点应用程序框架310通过传感器应用程序120而提供用于实现传感器数据的基于节点的处理的框架。端点应用程序框架310管理管理传感器数据的基于节点的处理的各种功能。如上文所论述,端点应用程序框架310管理多个接口,举例来说,所述多个接口具有传感器416与传感器应用程序120之间的接口以及照明节点415与服务数据平台140之间的接口。传感器驱动器505使用传感器数据API 330提供来自传感器416的传感器数据以供由传感器应用程序120处理。网络接口440提供照明节点415与服务数据平台140之间的接口。FIG5A illustrates a lighting node 415 having multiple components, according to an example embodiment. The lighting node 415 includes an endpoint application framework 310, which provides a framework for implementing node-based processing of sensor data by the sensor application 120. The endpoint application framework 310 manages various functions for managing node-based processing of sensor data. As discussed above, the endpoint application framework 310 manages multiple interfaces, such as an interface between the sensor 416 and the sensor application 120 and an interface between the lighting node 415 and the service data platform 140. The sensor driver 505 uses the sensor data API 330 to provide sensor data from the sensor 416 for processing by the sensor application 120. The network interface 440 provides an interface between the lighting node 415 and the service data platform 140.
图5B图解说明根据实例性实施例的具有多个组件的服务数据平台140。应用程序管理API 142为用户(例如第三方)提供用以上传用户想要部署在照明网络100内的照明节点415处的传感器应用程序120的接口。一旦传感器数据由部署在照明节点105处的传感器应用程序120处理,用户便可经由聚合数据API 141从服务数据平台140存取基于节点的经处理传感器数据的结果。应用程序数据库530存储经处理传感器数据的结果。应用程序数据库530可表示图2B中所展示的数据库291中的一或多者。返回到图5B,部署模块520可提供用以将传感器应用程序120部署到一或多个选定照明节点或照明节点群组的功能性。下文连同图6到8一起将进一步详细论述部署模块520及节点管理模块540。FIG5B illustrates a service data platform 140 having multiple components, according to an example embodiment. An application management API 142 provides an interface for users (e.g., third parties) to upload sensor applications 120 that the user wants to deploy at lighting nodes 415 within the lighting network 100. Once the sensor data is processed by the sensor applications 120 deployed at the lighting nodes 105, the user can access the node-based results of the processed sensor data from the service data platform 140 via the aggregated data API 141. An application database 530 stores the results of the processed sensor data. The application database 530 may represent one or more of the databases 291 shown in FIG2B. Returning to FIG5B, a deployment module 520 may provide functionality for deploying the sensor applications 120 to one or more selected lighting nodes or groups of lighting nodes. The deployment module 520 and the node management module 540 will be discussed in further detail below in conjunction with FIG6-8.
图5C是使得端点应用程序框架310能够在照明网络100内的照明节点105处管理传感器数据的处理的示范性传感器应用程序的图式。传感器数据API 330及应用程序API 350表示端点应用程序框架310中的组件中的一些组件。传感器应用程序120包含各种软件组件。5C is a diagram of an exemplary sensor application that enables the endpoint application framework 310 to manage the processing of sensor data at a lighting node 105 within the lighting network 100. The sensor data API 330 and the application API 350 represent some of the components in the endpoint application framework 310. The sensor application 120 includes various software components.
根据图5C,传感器应用程序120可安装在两个照明节点105(称为第一照明节点及第二照明节点)处。传感器数据API 330为传感器应用程序120提供用以接收传感器数据的接口。原始传感器数据被发送(经由路径583)到传感器分析部560以用于对传感器数据执行分析。原始传感器数据被发送(经由路径584)到传感器分析部565以用于对传感器数据执行分析。5C , the sensor application 120 can be installed on two lighting nodes 105 (referred to as a first lighting node and a second lighting node). The sensor data API 330 provides an interface for the sensor application 120 to receive sensor data. The raw sensor data is sent (via path 583) to the sensor analysis unit 560 for analysis. The raw sensor data is sent (via path 584) to the sensor analysis unit 565 for analysis.
传感器分析部560及565表示负责处理原始传感器数据并应用算法来对信息进行定位、分类或相关以产生传感器数据的基于节点的处理的结果的软件层。在各种实例中,由第三方应用程序开发者提供的传感器软件501可表示用于产生对在照明传感器网络160内的各种照明节点105处所收集的特定类型的传感器数据(例如,运动检测数据、周围光传感器数据等)的试探或其它分析的规则集。由传感器分析部560及565处理的传感器数据的实例包含:来自环境传感器的数据(例如,温度及湿度)、气体(例如,C02及CO)、来自加速度计的数据(例如,振动)、微粒、功率、RF信号、周围光以及运动检测、静止图像、视频及音频。由传感器分析部560及565产生的信息经由通信路径580提供给应用程序API 350,且进一步经由通信路径581提供给服务数据平台140。Sensor analysis units 560 and 565 represent software layers responsible for processing raw sensor data and applying algorithms to locate, classify, or correlate the information to produce node-based processed results for the sensor data. In various examples, sensor software 501 provided by third-party application developers may represent a set of rules for generating heuristics or other analyses of specific types of sensor data (e.g., motion detection data, ambient light sensor data, etc.) collected at various lighting nodes 105 within the lighting sensor network 160. Examples of sensor data processed by sensor analysis units 560 and 565 include data from environmental sensors (e.g., temperature and humidity), gases (e.g., CO2 and CO), data from accelerometers (e.g., vibration), particulates, power, RF signals, ambient light, and motion detection, still images, video, and audio. The information generated by sensor analysis units 560 and 565 is provided to application API 350 via communication path 580 and further to service data platform 140 via communication path 581.
容器(图5C中未展示)管理传感器应用程序501的执行,其中针对每一软件应用程序具有一单独容器。A container (not shown in FIG. 5C ) manages the execution of sensor applications 501 , with a separate container for each software application.
图6图解说明由服务数据平台140用于组织及管理照明网络100内的照明节点的树的实例。树600是由服务数据平台140产生及利用以管理许多照明网络100中的照明节点105的数据结构。图形服务器262可用于管理分层树结构(例如,树600)中的节点的分组。树内的节点可用于通过地理位置及用户信息以及其它信息而跟踪关于照明网络100内的照明节点105的信息。所述树在跟踪许可中是有用的以确定(举例来说)哪些照明节点105将部署传感器应用程序220。FIG6 illustrates an example of a tree used by the service data platform 140 to organize and manage lighting nodes within a lighting network 100. The tree 600 is a data structure generated and utilized by the service data platform 140 to manage the lighting nodes 105 in many lighting networks 100. The graph server 262 may be used to manage the grouping of nodes in a hierarchical tree structure, such as the tree 600. The nodes within the tree may be used to track information about the lighting nodes 105 within the lighting network 100 by geographic location and user information, among other information. The tree is useful in tracking permissions to determine, for example, which lighting nodes 105 will deploy sensor applications 220.
树600包含节点601,节点601表示树600中的根节点。树中的节点的数目及类型可变化。节点610、611及612表示具有位置信息的节点。举例来说,节点610表示加利福尼亚州(CA),节点611表示圣克拉拉市,且节点612表示硅谷韦斯特菲尔德购物中心(WestfieldMall Valley Fair)。在一个实例中,通过借助客户端装置(未展示)上的呈现给用户(例如,服务数据平台140的系统管理员)的用户接口选择节点612,选择包含在硅谷韦斯特菲尔德购物中心处的相关联照明节点105的照明网络100。通过选择节点612,服务数据平台140的系统管理员可将传感器应用程序220部署到位于硅谷购物中心处的照明网络100处的照明节点105。Tree 600 includes node 601, which represents the root node in tree 600. The number and type of nodes in the tree can vary. Nodes 610, 611, and 612 represent nodes with location information. For example, node 610 represents California (CA), node 611 represents Santa Clara, and node 612 represents Westfield Mall Valley Fair. In one example, by selecting node 612 via a user interface presented to a user (e.g., a system administrator of service data platform 140) on a client device (not shown), a lighting network 100 including an associated lighting node 105 at Westfield Mall Valley Fair is selected. By selecting node 612, the system administrator of service data platform 140 can deploy sensor application 220 to lighting node 105 located at Westfield Mall Valley Fair in lighting network 100.
节点620、621及622表示用户信息。在一个实例中,节点620可表示经授权以请求服务数据平台140的系统管理员将传感器应用程序220部署到硅谷购物中心处的照明网络100处的照明节点105的用户。节点621及622分别表示经授权用户群组中的特定用户肯特(Kent)及鲍勃(Bob)。Nodes 620, 621, and 622 represent user information. In one example, node 620 may represent a user authorized to request a system administrator of the service data platform 140 to deploy a sensor application 220 to a lighting node 105 in the lighting network 100 at a Silicon Valley shopping center. Nodes 621 and 622 represent specific users, Kent and Bob, respectively, in the authorized user group.
在各种实施例中,树600可作为图形用户接口呈现给用户以允许系统管理员通过地理位置、客户或照明节点105的所有人而查看照明节点105,从而跟踪许可(例如,授予第三方的用以部署传感器应用程序220的许可)及用于管理具有在跨越不同地理位置的各种客户站点处的多个照明节点105的许多照明网络100的其它信息。In various embodiments, the tree 600 may be presented to a user as a graphical user interface to allow a system administrator to view the lighting nodes 105 by geographic location, customer, or owner of the lighting node 105, thereby tracking permissions (e.g., permissions granted to a third party to deploy the sensor application 220) and other information for managing many lighting networks 100 having multiple lighting nodes 105 at various customer sites across different geographic locations.
如上文所指示,服务数据平台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。As indicated above, the service data platform 140 can deploy one or more sensor applications 220 to each lighting node 105, assuming that the administrator of the service data platform 140 is authorized by the owner of the lighting network 100 at the customer site. Third-party application developers of sensor applications 220 can specify which devices (e.g., lighting nodes 105, service endpoint platform 210, and endpoint application framework 310, as well as components within these devices) are compatible with the sensor applications 220 that the third-party application developers want to deploy at the lighting nodes 105. System administrators of the service data platform 140 manage the deployment of sensor applications 220 to various nodes. The service data platform 140 allows third-party application developers (or other users) to upload sensor applications 220 and assign the sensor application code to devices (e.g., lighting nodes 105) within range. The service data platform 140 (for example) provides users with the ability to group lighting nodes 105 by assigning one or more sensor applications 220 to groups of lighting nodes 105 using a tree 600. The service data platform 140 further provides users with the ability to push sensor applications 220 to assigned lighting nodes 105. In various embodiments, the service data platform 140 uses the management API 340 (shown in FIG3A ) to upload the sensor applications 220. Once the sensor applications 220 are deployed by the service data platform 140, the lighting nodes 105 execute the sensor applications 220.
图7图解说明根据实例性实施例的具有各种组件的服务数据平台140的框图。服务数据平台140包含聚合数据API 141及应用程序管理API 142、耦合到图形数据库291a的图形服务器262以及装置管理器710。在一些实施例中,图形数据库291a表示图2B中所展示的数据库291中的一或多者。7 illustrates a block diagram of a service data platform 140 having various components according to an example embodiment. The service data platform 140 includes an aggregate data API 141 and an application management API 142, a graph server 262 coupled to a graph database 291 a, and a device manager 710. In some embodiments, the graph database 291 a represents one or more of the databases 291 shown in FIG 2B.
在各种实施例中,聚合数据API 141及应用程序管理API 142使用API服务器270来实施。API 141及142向服务数据平台140的经授权用户提供外部API以分别存取基于节点的经处理传感器数据或上传用于部署在照明节点105处的传感器应用程序120。API 141及142通信地耦合到图形服务器262。In various embodiments, the aggregated data API 141 and the application management API 142 are implemented using the API server 270. The APIs 141 and 142 provide external APIs to authorized users of the service data platform 140 to access node-based processed sensor data or upload sensor applications 120 for deployment at lighting nodes 105, respectively. The APIs 141 and 142 are communicatively coupled to the graph server 262.
图形服务器262提供用以按由分层树结构(例如,树600)所提供的地理信息及用户信息而对照明节点105进行分组的功能性。照明网络100内的照明节点105由群组使用图形服务器262来管理。在各种实施例中,举例来说在传感器应用程序220的部署期间,传感器应用程序220由群组管理。The graph server 262 provides functionality to group the lighting nodes 105 by geographic information and user information provided by a hierarchical tree structure, such as the tree 600. The lighting nodes 105 within the lighting network 100 are managed by groups using the graph server 262. In various embodiments, the sensor applications 220 are managed by the groups, for example, during deployment of the sensor applications 220.
装置管理器710提供用以管理照明节点105(其可称为装置)的功能性。装置管理器710包含装置服务器264且与照明节点105a到105c介接。装置管理器710可经由网络(例如,WAN)与照明网络100通信。The device manager 710 provides functionality to manage the lighting nodes 105 (which may be referred to as devices). The device manager 710 includes a device server 264 and interfaces with the lighting nodes 105a-105c. The device manager 710 may communicate with the lighting network 100 via a network (eg, a WAN).
图8图解说明根据实例性实施例的具有彼此通信的各种服务器的服务数据平台140的框图。API服务器270与图形服务器262通信,图形服务器262与装置服务器264通信。装置服务器264与网络(例如,WAN 130,未展示)通信。在图8中所展示的实例中,API服务器270a到270c各自与图形服务器262a到262b通信。图形服务器262a到262b各自与装置服务器264a到264b通信。装置服务器264a到264b与照明节点105a到105c通信。FIG8 illustrates a block diagram of a service data platform 140 having various servers in communication with each other, according to an example embodiment. An API server 270 communicates with a graphics server 262, which communicates with a device server 264. The device server 264 communicates with a network (e.g., WAN 130, not shown). In the example shown in FIG8 , API servers 270 a through 270 c each communicate with graphics servers 262 a through 262 b. Graphics servers 262 a through 262 b each communicate with device servers 264 a through 264 b. The device servers 264 a through 264 b communicate with lighting nodes 105 a through 105 c.
图9A到9B图解说明各种实施例中所实施的方法900及910的流程图。在一些实施例中,可将额外操作添加到方法900及910中的每一者,或可从方法900及910中的每一者删除一或多个操作。在其它实施例中,可组合方法900与910或者这些方法的变体。方法900及910中所执行的操作可由照明传感器网络160内的一或多个组件或模块执行。9A-9B illustrate flow diagrams of methods 900 and 910 implemented in various embodiments. In some embodiments, additional operations may be added to each of methods 900 and 910, or one or more operations may be deleted from each of methods 900 and 910. In other embodiments, methods 900 and 910, or variations thereof, may be combined. The operations performed in methods 900 and 910 may be performed by one or more components or modules within lighting sensor network 160.
图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。FIG9A depicts a method 900 for processing sensor data at a lighting node 105 within a network (e.g., lighting network 100), according to an example embodiment. Method 900 includes operations 901 through 905. At operation 901, a first request is received from a service data platform 140 using a management API 340 to upload a sensor application 220 to a lighting node 105. At operation 902, a second request is received from a service data platform 140 using a management API 340 to execute a sensor application 220. At operation 903, sensor data representing high-bandwidth data is collected from sensor devices (e.g., 416) using a sensor data API 330. At operation 904, the sensor application 220 is executed to generate analytics data at the lighting node 105 based on the sensor data, the generated analytics data representing low-bandwidth data. At operation 905, the generated analytics data is transmitted to the service data platform 140 using an application API 350.
在其它实例性实施例中,用于在照明节点105处处理传感器数据的方法900包含:使用管理API 340从服务数据平台140接收要对传感器应用程序执行管理功能的额外请求。In other example embodiments, the method 900 for processing sensor data at a lighting node 105 includes receiving, using the management API 340 , additional requests from the service data platform 140 to perform management functions on the sensor application.
在实例性实施例中,传感器数据包含传感器原始数据及传感器事件数据中的至少一者。在其它实施例中,传感器数据表示尚未由网络内的装置过滤、聚合或以其它方式改变的所收集传感器数据。在一些实施例中,传感器应用程序220表示脚本。在另一实施例中,照明节点105表示传感器节点。在一些实施例中,传感器应用程序220表示由第三方开发的用以在照明节点105上运行以对在照明节点105处所收集的未经更改传感器数据执行基于节点的处理的软件。In an exemplary embodiment, the sensor data includes at least one of raw sensor data and sensor event data. In other embodiments, the sensor data represents collected sensor data that has not been filtered, aggregated, or otherwise altered by devices within the network. In some embodiments, the sensor application 220 represents a script. In another embodiment, the lighting node 105 represents a sensor node. In some embodiments, the sensor application 220 represents software developed by a third party to run on the lighting node 105 to perform node-based processing on the unaltered sensor data collected at the lighting node 105.
在其它实施例中,使用管理API 340从服务数据平台140接收要将传感器应用程序220上传于照明节点105处的第一请求包含:接收包含传感器应用程序220的文件并将传感器应用程序220从所述文件安装到照明节点105上。在实例性实施例中,使用传感器数据API330来收集传感器数据包含:使用传感器数据API 330向传感器装置请求传感器数据、从传感器装置(例如,416)接收包含所请求的传感器数据的响应。在其它实施例中,使用传感器数据API 330来收集传感器数据包含:以数据传送速率收集传感器数据,使得所收集传感器数据的量太大以致不能经由网络(例如,WAN 130)接近实时地高效传送到服务数据平台140。在另一实施例中,使用传感器数据API从传感器装置进行收集包含:从位于照明节点处或位于远程照明节点处的传感器装置(例如,416)收集传感器数据。In other embodiments, receiving a first request from the service data platform 140 using the management API 340 to upload the sensor application 220 to the lighting node 105 includes receiving a file containing the sensor application 220 and installing the sensor application 220 from the file onto the lighting node 105. In an example embodiment, collecting sensor data using the sensor data API 330 includes requesting sensor data from a sensor device using the sensor data API 330 and receiving a response from the sensor device (e.g., 416) containing the requested sensor data. In other embodiments, collecting sensor data using the sensor data API 330 includes collecting sensor data at a data transfer rate such that the amount of collected sensor data is too large to be efficiently transferred to the service data platform 140 via a network (e.g., WAN 130) in near real time. In another embodiment, collecting from a sensor device using the sensor data API includes collecting sensor data from a sensor device (e.g., 416) located at the lighting node or at a remote lighting node.
在其它实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据包含:基于未经更改传感器数据以数据传送速率产生分析数据,使得所产生分析数据的量能够经由网络(例如,WAN 130)接近实时地传送到服务数据平台140。在各种实施例中,执行传感器应用程序220以基于在照明节点105处所接收的传感器数据而在照明节点105处产生分析数据包含:基于未经更改传感器数据而产生分析数据以产生低带宽数据。In other embodiments, executing the sensor application 220 to generate analytics data at the lighting node 105 based on the sensor data includes generating the analytics data based on the unaltered sensor data at a data transfer rate such that the amount of generated analytics data can be transmitted in near real-time to the service data platform 140 via a network (e.g., WAN 130). In various embodiments, executing the sensor application 220 to generate analytics data at the lighting node 105 based on the sensor data received at the lighting node 105 includes generating the analytics data based on the unaltered sensor data to generate low-bandwidth data.
在各种实施例中,执行传感器应用程序220以基于传感器数据而在照明节点处产生分析数据包含:在容器320内执行传感器应用程序220以限制由传感器应用程序220所利用的资源且为传感器应用程序220提供安全操作环境。在实例性实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据包含:通过应用算法来对信息进行定位、分类及相关而产生分析数据。在另一实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据包含:在不影响正在照明节点105处执行的其它软件的情况下执行传感器应用程序220。在又一实施例中,执行传感器应用程序220以基于传感器数据而在照明节点105处产生分析数据进一步包含:在不影响照明节点105的正常操作的情况下产生分析数据。In various embodiments, executing the sensor application 220 to generate analytics data at the lighting node based on the sensor data includes executing the sensor application 220 within a container 320 to limit resources utilized by the sensor application 220 and provide a secure operating environment for the sensor application 220. In an exemplary embodiment, executing the sensor application 220 to generate analytics data at the lighting node 105 based on the sensor data includes generating analytics data by applying algorithms to locate, classify, and correlate information. In another embodiment, executing the sensor application 220 to generate analytics data at the lighting node 105 based on the sensor data includes executing the sensor application 220 without affecting other software executing at the lighting node 105. In yet another embodiment, executing the sensor application 220 to generate analytics data at the lighting node 105 based on the sensor data further includes generating analytics data without affecting normal operation of the lighting node 105.
图9B描述根据实例性实施例的用于将软件部署到网络(例如,照明传感器网络160)中的照明节点105的方法910。方法910包含操作911到914。在操作911处,通过服务数据平台140接收由第三方使用由服务数据平台140所提供的管理应用程序API 142所上传的软件。在操作912处,识别用以分布所上传软件的照明节点105群组。在操作913处,确定所上传软件对于部署到照明节点105的所识别群组是安全的。在操作914处,使用管理API 340将所上传软件分布到照明节点105的所识别群组。9B depicts a method 910 for deploying software to lighting nodes 105 in a network (e.g., lighting sensor network 160) according to an example embodiment. Method 910 includes operations 911 through 914. At operation 911, software uploaded by a third party using a management application API 142 provided by the service data platform 140 is received by the service data platform 140. At operation 912, a group of lighting nodes 105 to which the uploaded software is to be distributed is identified. At operation 913, a determination is made that the uploaded software is safe for deployment to the identified group of lighting nodes 105. At operation 914, the uploaded software is distributed to the identified group of lighting nodes 105 using the management API 340.
在各种实施例中,将软件部署到照明节点105的方法910包含:通过提供管理功能请求而使用管理API 340来管理安装在照明节点105的所识别群组上的软件的执行。In various embodiments, the method 910 of deploying software to lighting nodes 105 includes managing the execution of software installed on an identified group of lighting nodes 105 using the management API 340 by providing management function requests.
在其它实施例中,将软件部署到照明节点105的方法910包含:使用应用程序API350从照明节点105的所识别群组接收由照明节点105的所识别群组产生的经节点处理传感器数据;及将来自照明节点105的所识别群组的经节点处理传感器数据存储于位于服务数据平台140处的数据库(例如,291)中。在又一实施例中,将软件部署到照明节点105的方法包含:提供对由经授权第三方使用聚合数据API 141请求的所存储经节点处理传感器数据的存取。在一些实施例中,软件表示传感器应用程序220。在其它实施例中,传感器应用程序220是用脚本语言而编写。In other embodiments, the method 910 of deploying software to a lighting node 105 includes: receiving node-processed sensor data generated by an identified group of lighting nodes 105 from the identified group of lighting nodes 105 using the application API 350; and storing the node-processed sensor data from the identified group of lighting nodes 105 in a database (e.g., 291) located at the service data platform 140. In yet another embodiment, the method of deploying software to a lighting node 105 includes: providing access to the stored node-processed sensor data requested by an authorized third party using the aggregated data API 141. In some embodiments, the software represents a sensor application 220. In other embodiments, the sensor application 220 is written in a scripting language.
图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。FIG10 is a block diagram 1000 illustrating a software architecture 1002 that may be installed on any one or more of the devices described above. FIG10 is merely a non-limiting example of a software architecture, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software 1002 may be executed on hardware (e.g., the machine 1100 of FIG11 , which includes a processor 1110, a memory 1130, and I/O components 1150). In the example architecture of FIG10 , the software 1002 may be conceptualized as a stack of layers, each of which may provide specific functionality. For example, the software 1002 may include multiple layers, such as an operating system 1004, a library 1006, a framework 1008, and an application 1010. In operation, the application 1010 may invoke application programming interface (API) calls 1012 via the software stack and receive messages 1014 in response to the API calls 1012.
操作系统1004可管理硬件资源且提供常见服务。举例来说,操作系统1004可包含内核1020、服务1022及驱动器1024。内核1020可用作硬件与其它软件层之间的抽象层。举例来说,内核1020可负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设定等等。服务1022可为其它软件层提供其它常见服务。驱动器1024可负责控制底层硬件或与底层硬件介接。举例来说,驱动器1024可包含显示器驱动器、摄像机驱动器、驱动器、快闪存储器驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、功率管理驱动器等等。The operating system 1004 can manage hardware resources and provide common services. For example, the operating system 1004 can include a kernel 1020, services 1022, and drivers 1024. The kernel 1020 can serve as an abstraction layer between the hardware and other software layers. For example, the kernel 1020 can be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, and the like. Services 1022 can provide other common services for other software layers. Drivers 1024 can be responsible for controlling or interfacing with the underlying hardware. For example, drivers 1024 can include a display driver, a camera driver, a driver, a flash memory driver, a serial communication driver (e.g., a universal serial bus (USB) driver), a driver, an audio driver, a power management driver, and the like.
库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。Libraries 1006 may provide low-level, common infrastructure that can be utilized by applications 1010. Libraries 1006 may include system libraries 1030 (e.g., the C standard library), which may provide functionality such as memory allocation, string manipulation, and mathematical functions. Additionally, libraries 1006 may include API libraries 1032, such as media libraries (e.g., libraries to support rendering and manipulation of various media formats such as MPREG4, H.264, MP3, AAC, AMR, JPG, and PNG), graphics libraries (e.g., the OpenGL framework that can be used to render 2D and 3D graphics content on a display), database libraries (e.g., SQLite that can provide various relational database functions), web libraries (e.g., WebKit that can provide web browsing functionality), and the like. Libraries 1006 may also include a variety of other libraries 1034 that provide many other APIs to applications 1010.
框架1008可提供可由应用程序1010利用的高级常见基础设施。举例来说,框架1008可提供各种图形用户接口(GUI)功能、高级资源管理、高级位置服务等等。框架1008可提供可由应用程序1010利用的广泛的其它API,所述其它API中的一些API可特定用于特定操作系统或平台。The framework 1008 may provide a high-level, common infrastructure that may be utilized by the applications 1010. For example, the framework 1008 may provide various graphical user interface (GUI) functions, advanced resource management, advanced location services, etc. The framework 1008 may provide a wide range of other APIs that may be utilized by the applications 1010, some of which may be specific to a particular operating system or platform.
应用程序1010包含浏览器应用程序1054、分析应用程序1056、传感器应用程序1058及各类其它应用程序(例如第三方应用程序1066)。图11是图解说明根据一些实例性实施例的能够从机器可读媒体(例如,机器可读存储媒体)读取指令并执行本文中所论述的方法中的任何一或多者的机器1100的组件的框图。具体来说,图11展示呈计算机系统的实例形式的机器1100的图解表示,在所述机器内可执行用于致使机器1100执行本文中所论述的方法中的任何一或多者的指令1116(例如,软件、程序、应用程序、小程序、应用软件或其它可执行代码)。在替代实施例中,机器1100作为独立装置操作或可耦合(例如,联网)到其它机器。在联网部署中,机器1100可在服务器-客户端网络环境中以服务器机器或客户端机器的角色进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1100可包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝式电话、智能电话、移动装置、随身装置(例如,智能手表)、智能家居装置(例如,智能电器)、其它智能装置、web电器、网络路由器、网络交换机、网桥或能够依序或以其它方式执行规定将由机器1100采取的动作的指令1116的任何机器。此外,虽然仅图解说明单个机器1100,但术语“机器”还应视为包含个别地或联合地执行用以执行本文中所论述的方法中的任何一或多者的指令1116的机器1100的集合。Applications 1010 include a browser application 1054, an analytics application 1056, a sensor application 1058, and various other applications (e.g., third-party applications 1066). FIG11 is a block diagram illustrating components of a machine 1100 capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium) and performing any one or more of the methodologies discussed herein, in accordance with some example embodiments. Specifically, FIG11 shows a diagrammatic representation of a machine 1100 in the form of an example computer system within which instructions 1116 (e.g., software, programs, applications, applets, application software, or other executable code) may be executed for causing the machine 1100 to perform any one or more of the methodologies discussed herein. In alternative embodiments, the machine 1100 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1100 may operate in the role of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1100 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook computer, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular phone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, web appliances, a network router, a network switch, a network bridge, or any machine capable of executing, sequentially or otherwise, the instructions 1116 that specify actions to be taken by the machine 1100. Further, while a single machine 1100 is illustrated, the term "machine" shall also be taken to include any machine 1100 that individually or jointly executes instructions 1116 to perform any one or more of the methodologies discussed herein.
机器1100可包含可经配置以经由总线1102彼此通信的处理器1110、存储器1130及I/O组件1150。在实例性实施例中,处理器1110(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器,或其任何适合组合)可包含(举例来说)可执行指令1116的处理器1112及处理器1114。术语“处理器”打算包含多核处理器,所述多核处理器可包括可同时执行指令的两个或两个以上独立处理器(还称为“核心”)。尽管图11展示多个处理器,但机器1100可包含具有单个核心的单个处理器、具有多个核心的单个处理器(例如,多核处理)、具有单个核心的多个处理器、具有多个核心的多个处理器,或其任何组合。The machine 1100 may include a processor 1110, memory 1130, and I/O components 1150 that may be configured to communicate with each other via a bus 1102. In an exemplary embodiment, the processor 1110 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 1112 and a processor 1114 that may execute instructions 1116. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (also referred to as "cores") that may execute instructions simultaneously. Although FIG11 shows multiple processors, the machine 1100 may include a single processor with a single core, a single processor with multiple cores (e.g., multi-core processing), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.
存储器1130可包含可经由总线1102对处理器1110进行存取的主存储器1132、静态存储器1134及存储单元1136。存储单元1136可包含其上存储有体现本文中所描述的方法或功能中的任何一或多者的指令1116的机器可读媒体1138。指令1116在其由机器1100执行期间还可完全地或至少部分地驻存于主存储器1132内、驻存于静态存储器1134内、驻存于处理器1110中的至少一者内(例如,在处理器的高速缓冲存储器内),或驻存于其任何适合组合内。因此,主存储器1132、静态存储器1134及处理器1110可视为机器可读媒体1138。The memory 1130 may include a main memory 1132, a static memory 1134, and a storage unit 1136, which are accessible to the processor 1110 via the bus 1102. The storage unit 1136 may include a machine-readable medium 1138 having stored thereon instructions 1116 embodying any one or more of the methodologies or functions described herein. The instructions 1116 may also reside, completely or at least partially, within the main memory 1132, within the static memory 1134, within at least one of the processors 1110 (e.g., within a cache memory of the processor), or within any suitable combination thereof during execution thereof by the machine 1100. Thus, the main memory 1132, the static memory 1134, and the processor 1110 may be considered to be a machine-readable medium 1138.
如本文中所使用,术语“存储器”是指能够暂时地或永久地存储数据的机器可读媒体1138,且可视为包含但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、快闪存储器及高速缓冲存储器。虽然机器可读媒体1138在实例性实施例中展示为单个媒体,但术语“机器可读媒体”应视为包含能够存储指令1116的单个媒体或多个媒体(例如,集中式或分布式数据库,或者相关联高速缓冲存储器及服务器)。术语“机器可读媒体”还应视为包含能够存储供由机器(例如,机器1100)执行的指令(例如,指令1116)使得所述指令在由机器1100的一或多个处理器(例如,处理器1110)执行时致使机器1100执行本文中所描述的方法中的任何一或多者的任何媒体或多个媒体的组合。因此,“机器可读媒体”是指单个存储设备或装置以及包含多个存储设备或装置的“基于云的”存储系统或存储网络。术语“机器可读媒体”据此应视为包含但不限于呈固态存储器(例如,快闪存储器)的形式的一或多个数据存储库、光学媒体、磁性媒体、其它非易失性存储器(例如,可擦除可编程只读存储器(EPROM))或其任何适合组合。具体来说,术语“机器可读媒体”本身不包含非法定信号。As used herein, the term "memory" refers to a machine-readable medium 1138 capable of storing data, either temporarily or permanently, and may be considered to include, but not be limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. Although the machine-readable medium 1138 is shown as a single medium in the exemplary embodiment, the term "machine-readable medium" should be considered to include a single medium or multiple media (e.g., a centralized or distributed database, or associated cache memory and servers) capable of storing instructions 1116. The term "machine-readable medium" should also be considered to include any medium or combination of multiple media capable of storing instructions (e.g., instructions 1116) for execution by a machine (e.g., machine 1100), such that when executed by one or more processors (e.g., processor 1110) of machine 1100, the instructions cause machine 1100 to perform any one or more of the methodologies described herein. Thus, "machine-readable medium" refers to both a single storage device or apparatus as well as a "cloud-based" storage system or storage network comprising multiple storage devices or apparatuses. The term "machine-readable medium" shall accordingly be taken to include, but not be limited to, one or more data storage libraries in the form of solid-state memory (e.g., flash memory), optical media, magnetic media, other non-volatile memory (e.g., erasable programmable read-only memory (EPROM)), or any suitable combination thereof. In particular, the term "machine-readable medium" itself does not include non-statutory signals.
I/O组件1150可包含用以接收输入、提供输出、产生输出、发射信息、交换信息、获取测量等等的各种各样的组件。将了解,I/O组件1150可包含图11中未展示的许多其它组件。为简化以下论述,仅根据功能性对I/O组件1150进行分组,且所述分组绝不具限制性。在各种实例性实施例中,I/O组件1150可包含输出组件1152及输入组件1154。输出组件1152可包含视觉组件(例如,显示器,例如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如,扬声器)、触感组件(例如,振动电机)、其它信号产生器等等。输入组件1154可包含字母数字输入组件(例如,键盘、经配置以接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指向仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置及力的触摸屏或其它触觉输入组件)、音频输入组件(例如,麦克风)等等。I/O components 1150 may include a variety of components for receiving input, providing output, generating output, transmitting information, exchanging information, acquiring measurements, and the like. It will be appreciated that I/O components 1150 may include many other components not shown in FIG. 11 . To simplify the following discussion, I/O components 1150 are grouped solely by functionality, and such grouping is in no way limiting. In various exemplary embodiments, I/O components 1150 may include output components 1152 and input components 1154. Output components 1152 may include visual components (e.g., displays such as plasma display panels (PDPs), light emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tubes (CRTs)), acoustic components (e.g., speakers), tactile components (e.g., vibration motors), other signal generators, and the like. Input components 1154 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, touch pad, trackball, joystick, motion sensor, or other pointing instrument), tactile input components (e.g., physical buttons, a touch screen or other tactile input components that provide location and force of a touch or touch gesture), audio input components (e.g., a microphone), and so on.
在其它实例性实施例中,I/O组件1150可包含生物计量组件1156、运动组件1158、环境组件1160或位置组件1162,以及大量其它组件。举例来说,生物计量组件1156可包含用以进行以下操作的组件:检测多种表现(例如,手表现、面部表情、声音表现、体态或眼跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,话音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等等。运动组件1158可包含加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等等。举例来说,环境组件1160可包含光照传感器组件(例如,光度计)、温度传感器组件(例如,检测周围温度的一或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪音的一或多个麦克风)、接近传感器组件(例如,检测附近物件的红外传感器)、气体传感器(例如,为安全起见用以检测有害气体的浓度或用以测量大气中的污染物的气体检测传感器),或可提供对应于周围物理环境的指示、测量或信号的其它组件。位置组件1162可包含位置传感器组件(例如,全球定位系统(GPS)接收器组件)、海拔高度传感器组件(例如,高度计或检测空气压力的气压计,空气压力可依据海拔高度而导出)、定向传感器组件(例如,磁力计)等等。In other exemplary embodiments, the I/O components 1150 may include a biometric component 1156, a motion component 1158, an environmental component 1160, or a positional component 1162, among numerous other components. For example, the biometric component 1156 may include components for detecting various expressions (e.g., hand expressions, facial expressions, voice expressions, body posture, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), and the like. The motion component 1158 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), and the like. For example, the environment component 1160 may include a light sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects the concentration of hazardous gases for safety purposes or measures pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The location component 1162 may include a location sensor component (e.g., a global positioning system (GPS) receiver component), an altitude sensor component (e.g., an altimeter or a barometer that detects air pressure, which can be derived based on altitude), an orientation sensor component (e.g., a magnetometer), and the like.
可使用各种各样的技术而实施通信。I/O组件1150可包含可操作以分别经由耦合1182及耦合1172将机器1100耦合到网络130或装置1170的通信组件1164。举例来说,通信组件1164可包含用以与网络130介接的网络接口组件或其它适合装置。在其它实例中,通信组件1164可包含有线通信组件、无线通信组件、蜂窝式通信组件、近场通信(NFC)组件、组件(例如,低功耗)、组件及用于经由其它模态提供通信的其它通信组件。装置1170可是另一机器或各种各样的外围装置(例如,经由通用串行总线(USB)耦合的外围装置)中的任一者。Communication can be implemented using a variety of technologies. I/O components 1150 may include a communication component 1164 operable to couple machine 1100 to network 130 or device 1170 via coupling 1182 and coupling 1172, respectively. For example, communication component 1164 may include a network interface component or other suitable device for interfacing with network 130. In other examples, communication component 1164 may include a wired communication component, a wireless communication component, a cellular communication component, a near-field communication (NFC) component, a component (e.g., low power), a component, and other communication components for providing communication via other modalities. Device 1170 may be another machine or any of a variety of peripheral devices, such as a peripheral device coupled via a universal serial bus (USB).
此外,通信组件1164可检测识别符或包含可操作以检测识别符的组件。举例来说,通信组件1164可包含射频识别(RFID)标签阅读器组件、NFC智能标签检测组件、光学阅读器组件(例如,用以检测例如通用产品代码(UPC)条形码的一维条形码、例如快速响应(QR)代码的多维条形码、阿兹特克代码(Aztec code)、数据矩阵(Data Matrix)、Dataglyph、MaxiCode、PDF417、Ultra Code、UCC RSS-2D条形码及其它光学代码的光学传感器)或声学检测组件(例如,用以识别经标记音频信号的麦克风)。另外,可经由通信组件1164导出多种信息,例如经由因特网协议(IP)地理位置而得到的位置、经由信号三角测量而得到的位置、经由检测可指示特定位置的NFC信标信号而得到的位置等等。Furthermore, the communication component 1164 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 1164 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying tagged audio signals). Furthermore, various information can be derived via the communication component 1164, such as location via Internet Protocol (IP) geolocation, location via signal triangulation, location via detection of NFC beacon signals that can indicate a specific location, and the like.
在各种实例性实施例中,网络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)标准、由各种标准设定组织定义的其它技术、其它长期协议或其它数据传送技术。In various exemplary embodiments, one or more portions of network 130 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a portion of the Internet, a portion of a public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a network, another type of network, or a combination of two or more such networks. For example, network 130 or a portion of network 130 may include a wireless or cellular network, and coupling 1182 may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or other type of cellular or wireless coupling. In this example, coupling 1182 may implement any of a variety of types of data transfer technologies, such as single-carrier radio transmission technology (1xRTT), evolution-data-optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the 3rd Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), high-speed packet access (HSPA), worldwide interoperability for microwave access (WiMAX), long-term evolution (LTE) standards, other technologies defined by various standards-setting organizations, other long-term agreements, or other data transfer technologies.
指令1116可经由网络接口装置(例如,通信组件1164中所包含的网络接口组件)使用发射媒体及利用若干众所周知的传送协议(例如,超文本传送协议(HTTP))中的任一者在网络130上进行发射或接收。类似地,指令1116可经由到装置1170的耦合1172(例如,对等耦合)使用发射媒体而发射或接收。术语“发射媒体”应视为包含能够存储、编码或载运供由机器1100执行的指令1116的任何无形媒体,且包含数字或模拟通信信号或者用以促进此软件的通信的其它无形媒体。The instructions 1116 may be transmitted or received over the network 130 via a network interface device (e.g., a network interface component included in the communication component 1164) using a transmission medium and utilizing any of several well-known transfer protocols, such as the Hypertext Transfer Protocol (HTTP). Similarly, the instructions 1116 may be transmitted or received using a transmission medium via a coupling 1172 (e.g., a peer-to-peer coupling) to the device 1170. The term "transmission medium" shall be taken to include any intangible medium capable of storing, encoding, or carrying the instructions 1116 for execution by the machine 1100, and includes digital or analog communication signals or other intangible media used to facilitate communication of such software.
此外,机器可读媒体1138是非暂时性的(换句话说,不具有任何暂时性信号),这是因为机器可读媒体1138不体现传播信号。然而,将机器可读媒体1138标示为“非暂时性”不应理解为意指媒体无法移动;媒体应视为可从一个物理位置传输到另一物理位置。另外,由于机器可读媒体1138是有形的,因此媒体可视为机器可读装置。Furthermore, machine-readable medium 1138 is non-transitory (in other words, does not possess any transitory signals) because it does not embody a propagating signal. However, designating machine-readable medium 1138 as "non-transitory" should not be construed to mean that the medium cannot be moved; the medium should be considered transportable from one physical location to another. Furthermore, because machine-readable medium 1138 is tangible, the medium can be considered a machine-readable device.
在本说明书通篇中,复数实例可实施描述为单个实例的组件、操作或结构。尽管一或多种方法的个别操作图解说明且描述为单独操作,但所述个别操作中的一或多者可同时执行,且不需要以图解说明的次序执行所述操作。在实例性配置中呈现为单独组件的结构及功能性可实施为经组合结构或组件。类似地,呈现为单个组件的结构及功能性可实施为单独组件。这些及其它变化、修改、添加及改进均属于本文中的标的物的范围内。Throughout this specification, multiple examples may implement components, operations, or structures described as a single example. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations can be performed simultaneously, and the operations need not be performed in the order illustrated. Structures and functionality presented as separate components in the example configurations may be implemented as combined structures or components. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter herein.
尽管已参考特定实例性实施例描述发明性标的物的概述,但可在不背离本发明的实施例的较宽广范围的情况下对这些实施例做出各种修改及改变。发明性标的物的此些实施例在本文中可个别地或共同地由术语“发明”指代,此仅为方便起见且并不打算在事实上揭示一个以上发明或发明性概念的情况下将本申请案的范围自发地限制到任何单个发明或发明性概念。Although an overview of the inventive subject matter has been described with reference to specific exemplary embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of the embodiments of the present invention. Such embodiments of the inventive subject matter may be referred to herein individually or collectively by the term "invention," which is merely for convenience and is not intended to automatically limit the scope of this application to any single invention or inventive concept if more than one invention or inventive concept is actually disclosed.
充分详细地描述本文中所图解说明的实施例以使得所属领域的技术人员能够实践所揭示的教示内容。可使用其它实施例且可从本发明导出其它实施例,使得可在不背离本发明的范围的情况下做出结构及逻辑替代及改变。因此,具体实施方式不应视为具有限制意义,且各种实施例的范围仅由所附权利要求书连同此权利要求书授权的等效物的全部范围来定义。The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived from the present invention, such that structural and logical substitutions and changes may be made without departing from the scope of the present invention. Therefore, the detailed description should not be taken in a limiting sense, and the scope of the various embodiments is defined solely by the appended claims, along with the full scope of equivalents to which such claims are entitled.
如本文中所使用,术语“或”可理解为包含性或排他性意义。此外,复数实例可提供在本文中描述为单个实例的资源、操作或结构。另外,各种资源、操作、模块、引擎及数据存储之间的边界是稍微任意的,且在特定说明性配置的上下文中图解说明特定操作。其它功能性分配被设想且可属于本发明的各种实施例的范围内。一般来说,在实例性配置中呈现为单独资源的结构及功能性可实施为经组合结构或资源。类似地,呈现为单个资源的结构及功能性可实施为单独资源。这些及其它变化、修改、添加及改进均属于如由所附权利要求书表示的本发明的实施例的范围内。因此,应将说明书及图式视为说明性意义而非限制性意义。As used herein, the term "or" may be understood as inclusive or exclusive. In addition, multiple instances may provide resources, operations, or structures described herein as single instances. In addition, the boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and specific operations are illustrated in the context of a specific illustrative configuration. Other functional allocations are envisioned and may fall within the scope of various embodiments of the present invention. In general, structures and functionality presented as separate resources in an exemplary configuration may be implemented as combined structures or resources. Similarly, structures and functionality presented as single resources may be implemented as separate resources. These and other variations, modifications, additions, and improvements all fall within the scope of embodiments of the present invention as represented by the appended claims. Therefore, the specification and drawings should be regarded as illustrative rather than restrictive.
Claims (10)
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201461948856P | 2014-03-06 | 2014-03-06 | |
| US61/948,856 | 2014-03-06 | ||
| US14/639,872 | 2015-03-05 | ||
| US14/639,872 US10362112B2 (en) | 2014-03-06 | 2015-03-05 | Application environment for lighting sensory networks |
| PCT/US2015/019296 WO2015134937A1 (en) | 2014-03-06 | 2015-03-06 | Application environment for lighting sensor networks |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1232355A1 HK1232355A1 (en) | 2018-01-05 |
| HK1232355B true HK1232355B (en) | 2020-12-04 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11616842B2 (en) | Application environment for sensory networks | |
| US12265822B2 (en) | Customizable cloud-based software platform | |
| US11228546B2 (en) | Processing media content in a messaging system | |
| KR20190120419A (en) | Geo-fence authorization provisioning | |
| KR102090372B1 (en) | Centralized client application management | |
| US20230421563A1 (en) | Managing access control using policy evaluation mode | |
| US11888799B2 (en) | Adding images via MMS to a draft document | |
| US20250227074A1 (en) | Role-based access control system for managing access to resources | |
| US10108519B2 (en) | External storage device security systems and methods | |
| HK1232355B (en) | Application environment for lighting sensor networks | |
| US20250251948A1 (en) | BRANCH PREDICTION FOR APIs | |
| US20240281820A1 (en) | Transaction processing device authentication |