Analytics pipeline management systems for local analytics devices and remote server analytics engines

Information

  • Patent Grant
  • 11985447
  • Patent Number
    11,985,447
  • Date Filed
    Friday, June 30, 2023
    a year ago
  • Date Issued
    Tuesday, May 14, 2024
    6 months ago
Abstract
A computing system is described. The computing system is configured to receive, from a portal device of a premises monitoring system, a first request for a list of compatible pipelines for a premises analytics device of the premises monitoring system, identify a plurality of pipelines that are compatible with the premises analytics device based on a parameter, and transmit the list of compatible pipelines to the portal device. The computing system is further configured to receive, from the portal device, a second request to deploy a user selected pipeline of the plurality of pipelines referenced in the list of compatible pipelines, transmit a command, to a third-party system, to obtain a pipeline deployment based on the user selected pipeline, and receive, from the third-party system, the pipeline deployment based on the user selected pipeline. The pipeline deployment is transmitted to the premises analytics device.
Description
TECHNICAL FIELD

The present disclosure relates to analytics pipeline management systems.


BACKGROUND

Systems that perform video analytics may use computer-based pattern recognition techniques to detect objects or activities depicted in video. For example, some video analytics systems use so-called “artificial intelligence,” such as systems that apply object detection models that have been trained using artificial neural networks, to perform video analytics functionality. Computing devices that perform video analytics often have a graphic processing unit (GPU) to facilitate video processing.





BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present disclosure, and the attendant advantages and features thereof, may be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:



FIG. 1 is a schematic diagram of a representation of an example of a pipeline according to various embodiments of the present disclosure;



FIG. 2 is a schematic diagram of an example system according to various embodiments of the present disclosure;



FIG. 3 is a block diagram of an example premises analytics device of FIG. 2 according to various embodiments of the present disclosure;



FIG. 4 is a block diagram of an example computing environment of FIG. 2 according to various embodiments of the present disclosure;



FIG. 5 is a flowchart of an example process according to some embodiments of the present disclosure;



FIG. 6 is a flowchart of another example process according to some embodiments of the present disclosure;



FIG. 7 is a signaling diagram of an example process performed by various components of the system according to some embodiments of the present disclosure; and



FIG. 8 is a signaling diagram of another example process performed by various components of the system according to some embodiments of the present disclosure.





DETAILED DESCRIPTION

The present disclosure relates to systems in which a pipeline management platform may be used to develop, deploy and/or manage analytics functionality, such as video and/or audio analytics functionality. Some embodiments may facilitate users adding and/or modifying video and/or audio analytics functionality performed in their premises monitoring systems.


With reference to FIG. 1, shown is a diagram depicting an example analytics pipeline 2 according to various embodiments. A pipeline 2 may be, for example, a chain of data processing operations that are applied to a data stream comprising, for example, video data, audio data, textual data, tabular data, etc. In various embodiments, a pipeline 2 may include multiple nodes that represent data processing operations performed in the pipeline. For example, the pipeline 2 illustrated in FIG. 1 is a video analytics pipeline that includes various nodes 4a-n (collectively referred to as nodes 4). For example, nodes 4 include a video source inputting node 4a, a people detecting node 4b, a face blurring node 4c, a people counting node 4d, a metadata saving node 4e, a video encoding node 4f, a video stream outputting node 4g, and a video file saving node 4h. Some nodes 4, such as the video source inputting node 4a, metadata saving node 4e, video stream outputting node 4g, video encoding node 4f, and video file saving node 4h, may perform operations that input, output and/or save video stream data associated with the pipeline 2. Other nodes 4, such as the people detecting node 4b, the face blurring node 4c, and the people counting node 4d, may perform analytics operations that, for example, detect objects, manipulate video data, and/or count objects depicted in video. Each node 4 in pipeline 2 that performs analytics operations may apply one or more models that have been trained using artificial neural networks or other model training techniques. Other embodiments of pipelines 2 may include different types and/or arrangements of nodes 4 other than the nodes 4 illustrated in FIG. 1.


In various embodiments, a pipeline 2 may be created and/or modified using a graphical pipeline editor. The graphical pipeline editor may include a user interface in which a visual representation of a pipeline 2 is rendered. The user interface of the graphical pipeline editor may also facilitate a user adding nodes 4 by dragging-and-dropping the nodes 4 into a pipeline 2. The user may also remove nodes 4 and/or rearrange nodes 4 using the user interface. Furthermore, the user may define or change various parameters for the nodes 4. In other embodiments, nodes 4 can be created and/or modified using a text-based pipeline editor. According to various embodiments, a pipeline editor may be provided in the customer's pipeline management portal 30 (FIG. 2), the pipeline management portal 52 (FIG. 2), as a dedicated pipeline editor application, or through another type of application.


With reference to FIG. 2, shown is a schematic diagram of system 10 for managing one or more pipelines 2 in, for example, premises monitoring system 12. In particular, system may include a premises monitoring system 12 (e.g., a premises security system), a computing environment or computing system (referred to as “computing environment 14”), a third-party computing environment or third-party computing system (referred to as “third-party computing environment 16”), and a network 18. Premises monitoring system 12 may include one or more of each of the following: media device 20, portal device 22, premises analytics device 24, and network 26. Media device 20 may be configured to collect and transmit data, such as video and audio data and/or any other type of data. In some other embodiments, media devices 20, such as UAVs, robots, fixed cameras, and other sources, may be configured to collect video and audio data and other information associated with the premises.


In a nonlimiting example, media device 20 may refer to various media devices 20a, 20b, 20c (collectively, media devices 20). Media device 20a may be configured for flight and/or surveillance, such as unmanned aerial vehicles (UAVs) (e.g., UAVs comprising cameras and sensors). Media device 20b may be configured as an autonomous humanoid robot (e.g., a robot resembling a human body in shape and configured for predetermined functional purposes, such as interacting with humans, human tools and environments) and may include surveillance cameras, and other devices that collect video and audio data. Media device 20c may be a video camera (which may include one or more sensors) configured to detect motion and/or captures video of events such as thermal imaging cameras.


Portal device 22 may comprise a personal computer, a phone, such as a mobile phone, a smart phone, a client (such as a thin client configurable to communicate with a server), etc. While portal device 22 is shown as being part of premises monitoring system 12, in one or more embodiments, portal device 22 may be separate from or not part of the premises monitoring system 12. Portal device 22 may be configured to perform one or more actions associated with a customer's pipeline management portal 30. For example, an information technology (IT) administrator or other authorize person may use the portal device 22 to access the customer's pipeline management portal 30 to create, modify, and/or control pipelines 2 associated with the premises monitoring system 12. Actions associated with the customer's pipeline management portal 30 may include providing an interface usable to create and modify pipeline deployment(s) running on a premises analytics device 24, requesting and receiving pipelines 2 such as pipelines 2 that are compatible with premises analytics device 24, obtaining a user selection of pipelines 2, transmitting a request of the user selected pipelines 2, etc.


Further, in some embodiments, portal device 22 (e.g., user personal computer) may be configured to provide a user with a customer's pipeline management portal 30 through a web browser or dedicated software application. The customer's pipeline management portal 30 allows a user to create and/or modify pipeline deployment(s) running on premises analytics devices 24. For example, a user (e.g., customer) may request to add people counting functionality and purchase a node 4 or pipeline 2 that incorporates such functionality. The user can also use the customer's pipeline management portal 30 to browse the pipeline deployments that are available based on existing hardware capabilities of the premises analytics device 24 and/or premises monitoring system 12. Additionally, the user can use the customer's pipeline management portal 30 to select or edit various parameters associated with nodes 4 or pipelines 2.


Premises analytics device 24 may be configured to perform functions associated with an analytics engine 32 such as receiving data from media devices 20, performing video and/or audio analytics on the data received from media devices 20 using pipeline(s) 2 to determine whether various events have occurred, Network 26 may be configured to provide communication, e.g., wired and/or wireless communication, between two or more components associated with premises monitoring system 12, e.g., media devices 20, portal device 22, and premises analytics device 24. For example, network 26 may be an IP network that may be established as a WAN and/or LAN, among other IP-based networks, etc. Although network 26 is shown as an intermediate network between components and/or devices of premises monitoring system 12, any component or device may communicate directly with any other component or device of premises monitoring system 12. According to various embodiments, the premises monitoring system 12 may be, for example, a premises security system and/or a premises automation system.


In some embodiments, premises monitoring system 12 (via one or more of media devices 20, premises analytics device 24, and network 26) may be configured to monitor doors, driveway gates, windows, and other openings, or to control lights, appliances, HVAC systems (e.g., temperature, cooling, heating, exhaust fans, etc.), access control, door locks, lawn sprinklers, etc. For example, premises analytics device 24 may be use media captured by media device 20 to detect motion and other alarm conditions, such as glass breaking, fire, smoke, temperature chemical compositions, water, carbon monoxide, or other hazardous conditions. In some other embodiments, premises monitoring system 12 may be configured to perform functions such as lifestyle and life safety functions.


In one or more embodiments, premises monitoring system 12 may be located at a premises, such as home. However, the term “premises” as used herein is not limited to a home and may refer to an office suite, industrial building, warehouse, or any other indoor or outdoor area where the functions provided by premises monitoring system 12 are desired and may include any associated vehicles, such as boats, recreational vehicles (RVs), etc., that may also be monitored as part of premises monitoring system 12.


Computing environment 14 comprises pipeline management platform 42 for performing one or more functions, such as providing an electronic marketplace to purchase and/or license pipelines 2 and/or nodes 4, receiving requests to determine available and/or compatible pipelines 2, determining available and/or compatible pipelines 2, transmitting a list including available and/or compatible pipelines 2, managing pipeline deployment(s) such as requesting and receiving pipeline deployments, managing customer subscription tiers, communicating with third-party entities, etc.


In particular, in some other embodiments, pipeline management platform 42 may be configured to manage a pipeline marketplace and/or determine what pipelines 2 are available for users of the pipeline marketplace based on one or more conditions or parameters, such as hardware at the user's premises, existing pipeline deployment(s) already running on premises analytics device 24, pipeline marketplace subscription service, etc. Further, pipeline management platform 42 may also be configured to communicate with premises analytics device 24 and/or third-party computing environment 16 to facilitate pipeline deployments being sent from third-party computing environment 16 to premises analytics devices 24 (e.g., indirectly via a server).


Computing environment 14 may further comprise rules engine 44, cloud analytics engine 46, computing device 48, and data store 50. Rules engine 44 may be configured to execute various actions in response to various conditions, such as transmitting a notification to a customer or first responders in response to receiving an alarm event indication, such as an indication that smoke or a break-in is detected the premises associated with premises monitoring system 12. Cloud analytics engine 46 may be configured to perform video and/or audio analytics (e.g., one or more pipelines 2) on data provided from premises analytics device 24. Computing device 48 may be configured to perform pipeline management portal 52 functions, such as providing an interface (e.g., by an operator associated with remoting monitoring of premise monitoring system 12) to create, modify, and deploy pipelines 2. Data store 50 (e.g., a pipeline repository) may be configured to store data such as data associated with capabilities of premises analytics devices 24, pipeline deployments being used on premises analytics devices 24, etc.


Rules engine 44, cloud analytics engine 46, and data store 50 may be comprised in one or more servers of computing environment 14, as described with respect to FIG. 4, and/or the functions associated with rules engine 44, cloud analytics engine 46, and/or data store 50 may be performed by one or more servers (and/or one or more of its components). Similarly, computing device 48 may be a computer or server and the functions associated with computing device 48 may be performed by a computer or server (e.g., server and/or one or more of its components).


Third-party computing environment 16 may comprise pipeline management and deployment platform 62 that is configured to perform one or more functions described herein, such as receiving a request to deploy pipelines 2, managing conversion of pipelines 2 into pipeline deployments, transmitting pipeline deployments, etc. Third-party computing environment 16 may provide an application programming interface (API) to facilitate communication with the computing environment 14 and/or other systems. Third-party computing environment 16 may further comprise third-party data store 64 (e.g., a pipeline repository) configured to store data associated with pipelines 2 and deployments. Third-party computing environment may be provided by one or more third-party servers (not shown) that may have the same or similar hardware as servers shown in FIG. 4.


In one or more embodiments, premises monitoring system 12, computing environment 14 and third-party computing environment 16 may be configured to communicate with each other via one or more communication links and/or protocols via network 18. In particular, network 18 may be configured to provide direct and/or indirect communication, e.g., wired and/or wireless communication, between any two or more components of system 10, e.g., premises monitoring system 12, computing environment 14, and third-party computing environment 16, etc. For example, network 18 may be an internet protocol (IP) network that may be established as a wide area network (WAN) and/or local area network (LAN), among other IP-based networks, etc. Although network 18 is shown as an intermediate network between components/devices of system 10, any component or device may communicate directly with any other component or device of system 10.


In some other embodiments, as more computing resources are available to the cloud analytics engine 46 than the analytics engine 32 of premises analytics device 24, premises analytics device 24 may delegate the performing of at least some analytics (e.g., one or more nodes 4 and/or pipelines 2) to the cloud analytics engine 46.


Referring now to FIG. 3, the system 10 includes premises analytics device 24, which may be included as part of premises monitoring system 12 (shown in FIG. 2). In one or more embodiments, premises analytics device is a specialized single-board device such as an embedded system-on-modules (SOMs). Premises analytics device 24 may include hardware 70, including processing circuitry 72 and/or communication interface 80. The processing circuitry 72 may include a memory 76 and a processor 74. In addition to, or instead of a processor 74, such as a central processing unit (CPU) or GPU, and memory, the processing circuitry 72 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or Field Programmable Gate Arrays (FPGAs) and/or Application Specific Integrated Circuits (ASICs) adapted to execute instructions. The processor 74 may be configured to access (e.g., write to and/or read from) the memory 76, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or random access memory (RAM) and/or read-only memory (ROM) and/or optical memory and/or erasable programmable read-only memory (EPROM). In various embodiments, the processing circuitry 72 may be configured to perform various actions by storing computing instructions in the memory 76 that may be executed by processor 74. Communication interface 80 may comprise and/or be configured to support communication with one or more components of system 10 or other component or device using one or more communication protocol.


Premises analytics device 24 may further include software 90 stored internally in, for example, memory 76 or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by premises analytics device 24 via an external connection. The software 90 may include analytics engine 32. Software 90 (and/or analytics engine 32) may be executable by the processing circuitry 72. The processing circuitry 72 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by premises analytics device 24. Processor 74 corresponds to one or more processors 74 for performing premises analytics device 24 functions described herein. The memory 76 is configured to store data, programmatic software code and/or other information described herein.


In some embodiments, the software 90 may include instructions that, when executed by the processor 74 and/or processing circuitry 72, causes the processor 74 and/or processing circuitry 72 to perform the processes described herein with respect to premises analytics device 24. For example, processing circuitry 72 of the premises analytics device 24 may perform one or more analytics engine 32 functions.


Communication interface 80 may include at least a radio interface configured to set up and maintain a wireless connection with network 18 and/or 26. The radio interface may be formed as, or may include, for example, one or more radio frequency (RF) transmitters, one or more RF receivers, and/or one or more RF transceivers. Communication interface 80 may include a wired communication interface, such as Ethernet, configured to set up and maintain a wired connection with network 18 and/or 26.


Referring now to FIG. 4, computing environment 14 comprises one or more servers configured to perform one or more functions of computing environment 14. Server 40 may include hardware 100, including processing circuitry 102, and/or communication interface 110. The processing circuitry 102 may include a memory 106 and a processor 104. In addition to, or instead of a processor 104, such as a CPU or GPU, and memory, the processing circuitry 102 may comprise integrated circuitry for processing and/or control, e.g., one or more processors 104 and/or processor cores and/or FPGAs and/or ASICs adapted to execute instructions. The processor 104 may be configured to access (e.g., write to and/or read from) the memory 106, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM and/or ROM and/or optical memory and/or EPROM. Communication interface 110 may comprise and/or be configured to support communication with one or more components of system 10 or other component or device using one or more communication protocols.


Server 40 may further include software 126 stored internally in, for example, memory 106 or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by server 40 via an external connection. The software 126 may include pipeline management platform 42. Software 126 (and/or pipeline management platform 42) may be executable by the processing circuitry 102. The processing circuitry 102 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by server 40. Processor 104 corresponds to one or more processors 104 for performing server 40 functions described herein. The memory 106 is configured to store data, programmatic software code and/or other information described herein.


In some embodiments, the software 126 may include instructions that, when executed by the processor 104 and/or processing circuitry 102, causes the processor 104 and/or processing circuitry 102 to perform the processes described herein with respect to server 40. For example, processing circuitry 102 may perform one or more pipeline management platform 42 functions.


In one or more embodiments, the functionality of one or more of rules engine 44 and/or cloud analytics engine 46 and/or pipeline management platform 42 may be performed by server 40 or may be distributed across a plurality of servers 40.


Communication interface 110 may include at least a radio interface configured to set up and maintain a wireless connection with network 18 and/or 26. The radio interface may be formed as, or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers. Communication interface 110 may include a wired communication interface, such as an Ethernet interface, configured to set up and maintain a wired connection with network 18 and/or 26.



FIG. 5 is a flowchart of an example process (i.e., method) implemented by a computing environment 14 (i.e., computing system) according to some embodiments of the present disclosure. One or more blocks described herein may be performed by pipeline management platform 42 such as via one or more elements of one or more servers 40 such as by one or more of processing circuitry 102 and/or communication interface 110. The computing system is associated with a premises monitoring system 12 that includes a premises analytics device 24 and a portal device 22. The premises analytics device 24 includes an analytics engine 32 and is located at a premises monitored by the premises monitoring system 12. The portal device 22 is a computing device that is configured to facilitate a user managing the premises analytics device 24.


Starting at Block S100, pipeline management platform 42 is configured to receive, from the portal device 22 of the premises monitoring system 12, a first request for a list of compatible pipelines 2 for the premises analytics device 24 of the premises monitoring system 12. Pipeline management platform 42 is further configured to identify (Block S102) a plurality of pipelines 2 that are compatible with the premises analytics device 24 based on a parameter associated with the premises analytics device 24, and cause transmission (Block S104) of the list of compatible pipelines 2 to the portal device 22, where the list of compatible pipelines 2 references the plurality of pipelines 2 determined to be compatible with the premises analytics device 24.


Pipeline management platform 42 is further configured to receive (Block S106), from the portal device 22, a second request to deploy a user selected pipeline 2 of the plurality of pipelines 2 referenced in the list of compatible pipelines 2, cause transmission (Block S108) of a command, to a third-party system, to obtain a pipeline deployment based on the user selected pipeline 2, and receive (Block S110), from the third-party system, the pipeline deployment based on the user selected pipeline. In addition, pipeline management platform 42 is configured to cause transmission (Block S112) of the pipeline deployment to the premises analytics device 24.


In some embodiments, at least one pipeline 2 is a video processing pipeline that comprises a plurality of nodes 4, and where at least one node 4 of the plurality of nodes 4 is configured to detect an object depicted in video.


In some other embodiments, the first request that is received is sent via a customer portal associated with the premises monitoring system 12.


In some embodiments, the parameter includes one or more of a hardware parameter of the premises analytics device 24, information for another pipeline deployment already running on the premises analytics device 24, or a subscription tier associated with the premises monitoring system 12.


In some other embodiments, the method further includes generating the list of compatible pipelines 2.


In some embodiments, the command to obtain the pipeline deployment comprises an application programming interface (API) call.



FIG. 6 is a flowchart of another example process (i.e., method) implemented by a computing environment 14 (i.e., computing system) according to some embodiments of the present disclosure. One or more blocks described herein may be performed by pipeline management platform 42 such as via one or more elements of one or more servers 40 such as by one or more of processing circuitry 102 and/or communication interface 110. Pipeline management platform 42 is configured to determine (Block S200) one or more pipelines 2 compatible with the premises monitoring system 12 based on a parameter of the premises monitoring system 12 and make (Block S202) the one or more pipelines 2 available to the premises monitoring system 12.


In some embodiments, the parameter is associated with a premises analytics device 24.


In some other embodiments, the parameter comprises one or more of a hardware parameter of one or both of the premises monitoring system 12 and the premises analytics device 24, where a pipeline deployment is already running on the premises analytics device 24. A subscription tier is associated with one or both of the premises monitoring system 12 and the premises analytics device 24.


In some embodiments, the method further comprises receiving, from customer's pipeline management portal 30, a request to provide the one or more pipelines 2 compatible with the premises monitoring system 12.


In some other embodiments, making the one or more pipelines 2 available comprises transmitting one or more pipelines 2 to the pipeline management portal 52.


In some embodiments, the method further comprises receiving, from the pipeline management portal 52, a request to deploy one or more user selected pipelines 2 and transmitting the request, to third-party computing environment 16, to deploy the user selected pipelines 2.


In some other embodiments, the method further comprises receiving a pipeline deployment configuration based on the request to deploy the user selected pipelines 2.


In some embodiments, the method further comprises triggering an analytics engine 32 or 46 to perform analytics using the one or more pipelines 2 in the pipeline deployment.


In some other embodiments, the triggering of the analytics engine 32 or 46 to perform analytics includes relaying the pipeline deployment to the analytics engine 32 or 46, where the analytics engine 32 or 46 is one of an analytics engine 32 and a cloud analytics engine 46.


In some embodiments, the determination of the one or more pipelines 2 that are compatible comprises one or both of: adding one or both of an audio analytics functionality and a video analytics functionality to the premises monitoring system 12, where the added audio and video analytics functionalities are compatible with the premises monitoring system 12, and modifying of one or both of an existing audio analytics functionality and an existing video analytics functionality of the premises monitoring system 12. The modified audio and video analytics functionalities are compatible with the premises monitoring system 12.


Having described the general process flow of arrangements of the disclosure and having provided examples of hardware and software arrangements for implementing the processes and functions of the disclosure, the sections below provide details and examples of arrangements for performing one or more actions associated with an analytics pipeline marketplace provided by, for example, pipeline management platform 42 that manages one or more pipelines 2 associated with premises monitoring system 12.



FIG. 7 is a signaling diagram of an example process performed by various components of system 10. More specifically, the example process shows one or more steps for a user to acquire a pipeline deployment for premises analytics device 24 through computing environment 14. Although not shown in FIG. 7, system 10 (and/or one or more of its components) may be configured such that a user can add and/or modify pipeline components (e.g., nodes 4 of pipeline 2) for an existing pipeline 2 of the user. System 10 (and/or one or more of its components) may be configured to allow a user to pay for pipelines 2 on either a per-pipeline or subscription basis, where either one allows the user to access one or more functions described in the present disclosure.


At step S300, portal device 22 (comprised in premises monitoring system 12) transmits a request for a list of compatible pipelines 2 to pipeline management platform 42 of computing environment 14. At step S302, pipeline management platform 42 identifies compatible pipelines 2 (e.g., pipelines 2 that meet a condition, based on a parameter, compatible with predetermined hardware of, for example, premises analytics device 24, etc.). For example, pipeline management platform 42 may determine that a subset of available pipelines 2 are compatible with premises analytics device 24 and/or accessible by customer of premises monitoring system 12 (e.g., customer may subscribe to only a subset of pipelines 2). Continuing the example, pipeline management platform 42 may determine that at least one pipeline 2 is not compatible with and/or accessible by premises analytics device 24 such as if the pipeline 2 requires more computing resources than are available at premises analytics device 24, or the user has not paid for or subscribed to access the pipeline 2. Hence, pipeline management platform 42, in one or more embodiments, may generate a list of compatible pipelines 2.


At step 304, pipeline management platform 42 sends the list of pipelines 2 to portal device 22 (e.g., which can be displayed in the customer's pipeline management portal 30). At step S306, portal device 22 obtains user selection of pipeline(s) 2, and at step S308, portal device 22 requests selected pipeline(s) 2 to pipeline management platform 42. At step S310, pipeline management platform 42 transmits a request to pipeline management and deployment platform 62 of third-party computing environment 16 to deploy pipeline(s) 2. At step S312, pipeline management and deployment platform 62 generates pipeline deployment, and at step 314, transmits a pipeline deployment to pipeline management platform 42 of computing environment 14. At step S316, pipeline management platform 42 transmits the pipeline deployment to premises analytics device 24 (comprised in premises monitoring system 12). At step S318, premises analytics device 24 performs analytics using pipeline(s) 2 (e.g., requested at step S308) in the pipeline deployment.



FIG. 8 is a signaling diagram of another example process performed by various components of system 10. More specifically, the example process of FIG. 8 shows one or more steps for a user to acquire a pipeline deployment for a cloud analytics engine 46 (which may be executed by one or more servers 40 of computing environment 14). Although not shown in FIG. 8, system 10 (and/or any of its components) may be configured such that a user can add and/or modify objects (e.g., nodes 4) for an existing pipeline 2 of the user. System 10 (and/or any of its components) may be configured to allow a user to pay for pipelines 2 on either a per-pipeline or subscription basis, where either one allows the user to access one or more functions described in the present disclosure. In one or more embodiments, steps S300-S314 correspond to steps described with respect to FIG. 7 except that step S302 may not, for example, consider information specific to premises analytics device 24 (e.g., hardware compatibility of one or more pipelines 2 with premises analytics device 24) since cloud analytics engine 46 will receive and implement the pipeline deployment.


Referring to step S320, pipeline management platform 42 transmits the pipeline deployment to cloud analytics engine 46 (comprised in computing environment 14). At step S322, cloud analytics engine 46 performs analytics using pipeline(s) 2 (e.g., requested at step S308) and/or the pipeline deployment.


Hence, in one or more embodiments, pipeline management platform 42 of computing environment 14 is advantageously configured to manage user requested pipeline deployments to, for example, verify whether the user has access to certain pipelines 2 and/or verify premises analytics device 24 can implement the requested pipeline(s) 2, thereby facilitating the deployment of compatible pipeline(s) 2 for in premises monitoring system 12.


The concepts described herein may be embodied as a method, data processing system, computer program product and/or computer storage media storing an executable computer program. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Any process, step, action and/or functionality described herein may be performed by, and/or associated to, a corresponding module and/or unit, which may be implemented in software and/or firmware and/or hardware. Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that can be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD-ROMs, electronic storage devices, optical storage devices, or magnetic storage devices.


Some embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products. Each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions.


These computer program instructions may be provided to a processor of a general purpose computer (to thereby create a special purpose computer), special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions and/or acts specified in the flowchart and/or block diagram block or blocks.


These computer program instructions may also be stored in a computer readable memory or storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function and/or act specified in the flowchart and/or block diagram block or blocks.


The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions and/or acts specified in the flowchart and/or block diagram block or blocks.


The functions and/or acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted mows.


Computer program code for carrying out operations of the concepts described herein may be written in an object-oriented programming language such as Python, Java® or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the “C” programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).


Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments can be combined in any way and/or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.


In addition, unless mention was made above to the contrary, the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope and spirit of the present disclosure.

Claims
  • 1. A computing system associated with a premises monitoring system, the premises monitoring system comprising a premises analytics device and a portal device, the premises analytics device comprising an analytics engine and being located at a premises monitored by the premises monitoring system, the portal device being a computing device that is configured to facilitate a user managing the premises analytics device, the computing system comprising: at least one processor; andat least one memory storing a plurality of instructions that, when executed by the at least one processor, causes the at least one processor to: receive, from the portal device of the premises monitoring system, a first request for a list of compatible analytics pipelines for the premises analytics device of the premises monitoring system;identify a plurality of analytics pipelines based on a parameter associated with the premises analytics device, each of the plurality of analytics pipelines: being determined to be compatible with the premises analytics device and being usable by the premises analytics device for performing at least one analytics operation; andincluding a chain of nodes, at least one node of the chain of nodes being preconfigured to perform at least one analytics operation;cause transmission of the list of compatible analytics pipelines to the portal device, the list of compatible analytics pipelines referencing the plurality of analytics pipelines determined to be compatible with the premises analytics device;receive, from the portal device, a second request to deploy a user selected analytics pipeline of the plurality of analytics pipelines referenced in the list of compatible analytic pipelines;cause transmission of a command, to a third-party system, to obtain a pipeline deployment based on the user selected analytics pipeline;in response to the command, receive, from the third-party system, the pipeline deployment based on the user selected analytics pipeline, the pipeline deployment comprising the user selected analytics pipeline; andcause transmission of the pipeline deployment to the premises analytics device for deployment of the user selected analytics pipeline at the premises analytics device for performing the at least one analytics operation.
  • 2. The computing system of claim 1, wherein at least one pipeline is a video processing pipeline, and wherein at least one node of the chain of nodes is configured to detect an object depicted in video.
  • 3. A computing system associated with a premises monitoring system, the premises monitoring system comprising a premises analytics device located at a premises monitored by the premises monitoring system, the computing system comprising: at least one processor; andat least one memory storing a plurality of instructions that, when executed by the at least one processor, causes the at least one processor to: receive, from the premises monitoring system, a request for a list of compatible analytics pipelines for the premises analytics device of the premises monitoring system;identify an analytics pipeline based on a parameter of the premises analytics device, the analytics pipeline: being identified as being compatible with the premises analytics device and being usable by the premises analytics device to perform at least one analytics operation; andincluding a chain of nodes, at least one node of the chain of nodes being preconfigured to perform at least one analytics operation;cause transmission of a command, to a third-party system, to obtain a pipeline deployment that is based on the analytics pipeline;in response to the command, receive, from the third-party system, the pipeline deployment comprising the analytics pipeline; andcause transmission of the pipeline deployment to the premises analytics device for deployment of the analytics pipeline at the premises analytics device for performing the at least one analytics operation.
  • 4. The computing system of claim 3, wherein the plurality of instructions are further configured to cause the at least one processor to identify the analytics pipeline in response to receiving the request from the premises monitoring system.
  • 5. The computing system of claim 4, wherein the request received from the premises monitoring system is sent via a customer portal associated with the premises monitoring system.
  • 6. The computing system of claim 3, wherein the parameter comprises one or more of: a hardware parameter of the premises analytics device;information for another pipeline deployment already running on the premises analytics device; ora subscription tier associated with the premises monitoring system.
  • 7. The computing system of claim 3, wherein: the analytics pipeline identified as being compatible with the premises analytics device is among a plurality of analytics pipelines that are identified as being compatible with the premises analytics device and usable by the premises analytics device for performing the at least one analytics operation; andthe plurality of instructions are further configured to cause the at least one processor to: generate the list of compatible analytics pipelines compatible with the premises analytics device based on the parameter, the list of compatible analytics pipelines referencing the plurality of analytics pipelines;cause transmission of the list of compatible analytics pipelines to the premises monitoring system; andreceive, from the premises monitoring system, a selection of the analytics pipeline prior to causing transmission of the command to the third-party system.
  • 8. The computing system of claim 3, wherein the command to obtain the pipeline deployment comprises an application programming interface (API) call.
  • 9. The computing system of claim 3, wherein the at least one analytics operation is a detection operation.
  • 10. The computing system of claim 3, wherein the at least one analytics operation includes detecting at least one of an object or an activity in video.
  • 11. A method implemented by a computing system associated with a premises monitoring system, the premises monitoring system comprising a premises analytics device located at a premises monitored by the premises monitoring system, the method comprising: receiving, from the premises monitoring system, a request for a list of compatible analytics pipelines for the premises analytics device of the premises monitoring system;identifying an analytics pipeline compatible based on a parameter of the premises analytics device, the analytics pipeline: being identified as being compatible with the premises analytics device and being usable by the premises analytics device to perform at least one analytics operation;including a chain of nodes, at least one node of the chain of nodes being preconfigured to perform at least one analytics operation;causing transmission of a command, to a third-party system, to obtain a pipeline deployment that is based on the analytics pipeline;in response to the command, receiving, from the third-party system, the pipeline deployment comprising the analytics pipeline; andcausing transmission of the pipeline deployment to the premises analytics device for deployment of the analytics pipeline at the premises analytics device for performing the at least one analytics operation.
  • 12. The method of claim 11, further comprising identifying the analytics pipeline in response to receiving the request from the premises monitoring system.
  • 13. The method of claim 12, wherein the request received from the premises monitoring system is sent via a customer portal associated with the premises monitoring system.
  • 14. The method of claim 11, wherein the parameter comprises: a subscription tier associated with the premises monitoring system.
  • 15. The method of claim 11, wherein: the analytics pipeline identified as being compatible with the premises analytics device is among a plurality of analytics pipelines identified as being compatible with the premises analytics device and usable by the premises analytics device for performing the at least one analytics operation; andthe method further comprises: generating the list of compatible analytics pipelines compatible with the premises analytics device based on the parameter, the list of compatible analytics pipelines referencing the plurality of analytics pipelines;causing transmission of the list of compatible analytics pipelines to the premises monitoring system; andreceiving, from the premises monitoring system, a selection of the analytics pipeline prior to causing transmission of the command to the third-party system.
  • 16. The method of claim 11, wherein the command to obtain the pipeline deployment comprises an application programming interface (API) call.
  • 17. The method of claim 11, wherein the at least one analytics operation is a detection operation.
  • 18. The method of claim 11, wherein the at least one analytics operation includes detecting at least one of an object or an activity in video.
CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application is related to and claims priority to U.S. Provisional Patent Application Ser. No. 63/477,407, filed Dec. 28, 2022, entitled ANALYTICS PIPELINE MANAGEMENT SYSTEMS FOR LOCAL ANALYTICS DEVICES AND REMOTE SERVER ANALYTICS ENGINES, the entirety of which is incorporated herein by reference.

US Referenced Citations (13)
Number Name Date Kind
8239705 Qiu et al. Aug 2012 B2
8989006 Jost et al. Mar 2015 B2
9548887 Ashtaputre et al. Jan 2017 B2
9760458 Keremane et al. Sep 2017 B2
10838833 Jibaja et al. Nov 2020 B1
11158177 ElHattab Oct 2021 B1
11263095 Jibaja et al. Mar 2022 B1
11501881 Patil Nov 2022 B2
11616727 Barton Mar 2023 B2
20050207622 Haupt Sep 2005 A1
20160357648 Keremane et al. Dec 2016 A1
20180012463 Chaudhry Jan 2018 A1
20210258564 Newman Aug 2021 A1
Foreign Referenced Citations (3)
Number Date Country
2613477 Jul 2013 EP
2613477 Aug 2018 EP
2014145097 Sep 2014 WO
Provisional Applications (1)
Number Date Country
63477407 Dec 2022 US