CONTAINERIZED GATEWAY FOR INTEGRATING A WORKSTATION AND CLOUD MANAGEMENT SERVICE
CLAIM OF PRIORITY UNDER 35 U.S.C §119
[0001] The present Application for Patent claims priority to Indian Provisional Application No. 202411002474 entitled “CONTAINERIZED GATEWAY FOR INTEGRATING A WORKSTATION AND CLOUD MANAGEMENT SERVICE” filed January 12, 2024, assigned to the assignee hereof and hereby expressly incorporated herein by reference.
BACKGROUND
[0002] Many emergency response systems employ cloud services to provide remote access to users. For example, fire emergency events collected by a fire panel may be remotely accessed via a cloud service. However, in many systems, a physical hardware gateway must be used per fire panel to make the fire emergency events accessible via a cloud service. Such limitation significantly reduces the adoption of cloud services in emergency responses systems and prevents users from fully leveraging the potential benefits of cloud applications, leading to missed opportunities for enhancing overall user experience and promptly response to emergencies. Moreover, many local applications employed within emergency response systems currently lack push notification functionality. This feature is particularly critical for emergency systems that require immediate response. Without real-time alerts and updates, users may remain unaware of critical situations or changes that demand urgent attention within the application.
SUMMARY
[0003] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
[0004] In some aspects, the techniques described herein relate to a method including: receiving, by an event management application on an on-premises device, an event from one or more control devices locally managed by the on-premises device, generating, by the event management application on the on-premises device, workstation event information based on the event, receiving, by a containerized software gateway on the on-premises device, the workstation event information from the event management application, generating, by the containerized software gateway on the on-premises device, cloud event information based on the workstation event information, and transmitting, by the containerized software gateway on the on-premises device, the cloud event information to a cloud computing device via an application programming interface (API) service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device.
[0005] In some aspects, the techniques described herein relate to an apparatus including: one or more memories storing executable instructions; and one or more processors coupled with the one or more memories and configured to execute the instructions to: receive, by an event management application on an on-premises device, an event from one or more control devices locally managed by the on-premises device; generate, by the event management application on the onpremises device, workstation event information based on the event; receive, by a containerized software gateway on the on-premises device, the workstation event information from the event management application; generate, by the containerized software gateway on the on-premises device, cloud event information based on the workstation event information; and transmit, by the containerized software gateway on the on-premises device, the cloud event information to a cloud computing device via an API service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device.
[0006] In some aspects, the techniques described herein relate to an apparatus including: means for receiving, by an event management application on an on-premises device, an event from one or more control devices locally managed by the on-premises device; means for generating, by the event management application on the on-premises device, workstation event information based on the event; means for receiving, by a containerized software gateway on the onpremises device, the workstation event information from the event management application; means for generating, by the containerized software gateway on the on-premises device, cloud event information based on the workstation event information; and means for transmitting, by the containerized software gateway on the on-premises device, the cloud event information to a cloud computing device via an API service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device [0007] The present disclosure includes a system having devices, components, and modules corresponding to the steps of the described methods, and a computer-readable medium (e.g., a non-transitory computer-readable medium) having instructions executable by a processor to perform the described methods.
[0008] To the accomplishment of the foregoing and related ends, the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed, and this description is intended to include all such aspects and their equivalents.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The disclosed aspects will hereinafter be described in conjunction with the appended drawings, provided to illustrate and not to limit the disclosed aspects, wherein like designations denote like elements, and in which:
[0010] FIG. 1 is a block diagram of a system for implementing a containerized gateway for integrating a workstation and cloud service, in accordance with an aspect of the present invention.
[0011] FIG. 2 is a flow diagram of an example of a method of implementing a containerized gateway for integrating a workstation and cloud service, in accordance with an aspect of the present invention.
[0012] FIG. 3 is a block diagram of an example of a computer device configured to implement a containerized gateway for integrating a workstation and cloud service, in accordance with an aspect of the present invention.
[0013] FIG. 4 is a block diagram of a core architecture of Next Generation Fire Workstation (NGFW/GFW), in accordance with an aspect of the present invention.
DETAILED DESCRIPTION
[0014] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known components may be shown in block diagram form in order to avoid obscuring such concepts.
[0015] Implementations of the present disclosure provide for integrating a workstation and cloud service via a containerized software gateway. In some implementations, some problems solved by the present solution is lack of push notification in emergency response systems and scaling inefficiencies. For example, this present disclosure describes systems and methods for employing a containerized software gateway on an on-premises device to automatically generate cloud event information based on the workstation event information received from multiple control devices, and transmit the cloud event information to a cloud computing device via an application programming interface (API) service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device. The present solution provides an efficient, scalable, prompt, and platform agnostic approach to providing remote access to emergency response events via cloud-based monitoring applications.
[0016] Referring to FIG. 1, in one non-limiting aspect, a system 100 is configured to integrate an onsite workstation and cloud service via a containerized gateway. For example, system 100 is an emergency response system configured to employ a containerized software gateway to provide comprehensive remote access with push notification to emergency response information of the onsite workstation via a cloud service. The system 100 may monitor a property 102 by monitoring for environmental hazards and enabling emergency response. As illustrated in FIG. 1, the system 100 may include a plurality of control devices 106, a plurality of sensors 108(1)- (n), a plurality of alarms 110(l)-(n), an on-premises device 112, a cloud service 114, one or more remote monitoring devices 116(l)-(n), and one or more communication networks 118(1)- (n). Further, the control device 106, the one or more sensors 108(1 )-(n), the one or more alarms 110(l)-(n), the on-premises device 112, the cloud service 114, and the remote monitoring devices 116(l)-(n) may communicate via the one or more communication networks 118(1)- (n). In some aspects, the one or more communication networks 118 may include a radio network, a cellular network, a wired and/or wireless private network, a personal area network, and/or a local area network. [0017] Each control device 106 (e.g., a fire panel, a security panel, a control device, an alarm panel) may be configured to manage a subset of the plurality of sensors 108(l)-(n) and the plurality of alarms 110(l)-(n), process communications received from the sensors 108(l)-(n) and alarms 110(l)-(n) managed by the control device 106, and trigger alarms or notifications at the sensors 108(l)-(n) and alarms 110(l)-(n) managed by the control device 106. The one or more sensors 108(l)-(n) may include smoke detectors, carbon monoxide detectors, door and window sensors, motion sensors, glass break sensors, flood sensors, temperature sensors, panic buttons, and security cameras. In some aspects, the smoke detectors alert the occupants 104 and activate an alarm in case of fire, while carbon monoxide detectors monitor the air for hazardous levels of the odorless gas. In some aspects, the door and window sensors use magnetic or contact technology to detect when an entry point is opened, activating an alarm if the system is armed. In some aspects, the motion sensors employ infrared technology to identify movement in a specific area, triggering an alarm or security camera as needed. In some aspects, the glass break sensors are designed to detect the sound of breaking glass, and sound an alarm if a window is shattered. In some aspects, the flood sensors help the occupants 104 identify potential leaks or flooding by detecting the presence of water. In some aspects, the temperature sensors keep track of temperature fluctuations in a space, and send alerts if values go beyond a set range, which may signal a malfunctioning HVAC system or a fire risk. In some aspects, the panic buttons enable residents to manually activate an alarm or call for help during emergencies. In some aspects, the security cameras can be installed both indoors and outdoors for activity monitoring and video recording. As described herein, each sensor 108 is assigned to a control device 106 within the system 100.
[0018] In some aspects, management of the sensor 108 or the alarms 110 by a control device 106 includes managing the state of the managed sensors 108 or alarms 110. For example, in some aspects, the control device 106 periodically receives sensor events 122(l)-(n) (e.g., heartbeat communications) from the sensors 108 or alarms 110, and determines state information 124(1)- (n) of the sensors 108 or the alarms 110 based upon the sensor events 122(l)-(n). For example, the sensor 108(1) may be a smoke sensor and transmit sensor event 122(1) to the control device 106 indicating that sensor 108(1) has detected a fire. As another example, the sensor 108(1) may be a smoke sensor and transmit sensor events 122(1) to the control device 106 indicating that sensor 108(1) is online, offline, or malfunctioning. [0019] In some aspects, the on-premises device 112 is located within the property 102, and provides local management of the one or more control devices 106 within the property 102. For example, in some aspects, the on-premises device 112 receives control device information 126(l)-(n) from the control devices 106 within the property 102. Further, the control device information 126 may include the sensor events 122 and state information 124 corresponding to the sensors 108 and the alarms 110 managed by the control device 106. Further, the onpremises device 112 may display action messages or visual notifications corresponding to the control device information 126, reproduce audio notifications based on the control device information 126, and present step-by-step instructions on how to respond to specific conditions identified within the control device information 126.
[0020] In some aspects, the cloud service 114 is a cloud-based data-hosting system that permits users to remotely access and gather actionable data from the control devices 106 within the property 102 and other properties. For example, in some aspects, the monitoring applications 128(1)- (n) and/or web browsers installed on the monitoring devices 116(l)-(n) may be employed to remotely view the status of the control devices 106(l)-(n), check for current active events at the sensors 108(l)-(n) and alarms 110(l)-(n), examine status readouts from the sensors 108(1)- (n) and alarms 110(l)-(n) at the property 102 and other properties, and view and search historical events, access reports, and manage user accounts and devices (e.g., the control devices 106(l)-(n), the on-premises device 112, the sensors 108(l)-(n), and the alarms 110(1)- (n)). Moreover, as described in detail herein, the cloud service 114 may also forward notifications 130(l)-(n) to the monitoring applications 128(l)-(n) and/or web browsers installed on the monitoring devices 116(l)-(n) that alert users of the state (e.g., most current readings) of the control device 106(l)-(n), the sensors 108(l)-(n), and the alarms 110(l)-(n). In some aspects, components of the cloud service 114 may be local and/or remote.
[0021] As illustrated in FIG. 1 , the on-premises device 112 includes an event management application
132 and a containerized software gateway 134. In some aspects, the event management application 132 is configured to provide local management of the one or more control devices 106 within the property 102. In particular, the event management application 132 may be configured to present the control device information 126 via a graphical user interface and provide remote management of the control devices 106(l)-(n), the plurality of sensors 108(1)- (n), and the plurality of alarms 110(l)-(n). [0022] As illustrated in FIG. 1, the event management application (EMA) 132 may further include a formatting component 136. Further, the formatting component (FC) 136 may be configured to automatically generate workstation event information 138(l)-(n) from the control device information 126 and transmit the workstation event information 138( 1 )-(n) to the containerized software gateway (CSG) 134. For example, the formatting component 136 generates first workstation event information 138(1) from the first control device information 126(1), nth workstation information 138(n) from the nth control device information 126(n), and so forth. In some aspects, the workstation event information 138 may include an identifier (e.g., a globally unique identifier amongst events received from the plurality of control devices 106(1)- (n)) of the workstation event information 138, containerization configuration information, and the event data of the workstation event information 138. In some aspects, the containerization configuration information includes one or more configuration parameters for the containerized software gateway 134, and the event data may be in a JavaScript Object Notation (JSON) format or another serialization format.
[0023] In some aspects, a “containerized application” refers to an application that has been packaged along with its required dependencies, libraries, and configurations. In some instances, containerization ensures that the application can run reliably and consistently across different computing environments. Containers are typically lightweight, standalone, and executable software packages which ensure that software runs the same way, regardless of the environment. This makes it easier for developers to develop, deploy, and debug applications in different platforms and environments.
[0024] The containerized software gateway 134 may include one or more dependencies (Deps) 140 employed by the containerized software gateway 134 to execute within the on-premises device 112, a cloud data generation component (CDGC) 142, and an API service 144. In some aspects, the API service is a Remote Procedure Call (RPC) service (e.g., gRPC ®). In some aspects, the cloud data generation component 142 automatically generates cloud event information 146 from the workstation event information 138 in accordance with the containerization configuration information received from the event management application 132 in response to receipt of the workstation event information 138. In particular, some aspects, the cloud data generation component 142 generates the cloud event information 146 by converting the event data of the workstation event information 138 from a first format of the event management application 132 to a second format of the cloud service 114. In some aspects, the second format of the cloud service 114 may be the global fire panel data model (gfpdm). Further, the API service 144 may be used to provide remote access to the event management application (EMA) 132 and/or the control devices 106(l)-(n). For example, the API service 144 may transmit the cloud data generation component 142 to the cloud service 114. Upon receipt of the cloud event information 146, the cloud service 114 may automatically push the notifications 130 including the cloud event information 146 to the monitoring devices 116. For example, the cloud service 114 may automatically transmit a notification 130 to a monitoring device 116(1) of an administrator of the control device 106 in response to the cloud service 114 identifying that the cloud event information 146 is associated with the control device 106 and/or the monitoring device 116(1). In some aspects, the cloud service 114 transmits the notification 130 based upon one or more event types represented within the cloud event information 146.
[0025] Referring to FIG. 2, in operation, the on-premises device 112 or computing device 300 may perform an example method 200 for integrating a workstation and cloud service via a containerized gateway. The method 200 may be performed by one or more components of the on-premises device 112, the event management application 132, the containerized software gateway 134, the formatting component 136, the dependencies 140, the cloud data generation component 142, the API service 144, or any device/component described herein according to the techniques described with reference to FIG. 1.
[0026] At block 202, the method 200 includes receiving, by an event management application on an on-premises device, an event from one or more control devices locally managed by the onpremises device. For example, the event management application 132 receives control device information 126(1) from the control device 106 that describes an event at a sensor (e.g., a fire panel). Accordingly, the on-premises device 112, the computing device 300, and/or the processor 302 executing the event management application 132 may provide means for receiving, by an event management application on an on-premises device, an event from one or more control devices locally managed by the on-premises device.
[0027] At block 204, the method 200 includes generating, by the event management application on the on-premises device, workstation event information based on the event. For example, the event management application 132 generates the workstation event information 138(1) from the control device information 126(1). In some aspects, the workstation event information 138(1) include a unique identifier of the event, a configuration file, and a JSON description of the event. Accordingly, the on-premises device 112, the computing device 300, and/or the processor 302 executing the formatting component 136 may provide means for generating, by the event management application on the on-premises device, workstation event information based on the event.
[0028] At block 206, the method 200 includes receiving, by a containerized software gateway on the on-premises device, the workstation event information from the event management application. For example, the containerized software gateway 134 receives the workstation event information 138(1) from the event management application 132. Accordingly, the onpremises device 112, the computing device 300, and/or the processor 302 executing the cloud data generation component 142 may provide means for receiving, by a containerized software gateway on the on-premises device, the workstation event information from the event management application.
[0029] At block 208, the method 200 includes generating, by the containerized software gateway on the on-premises device, cloud event information based on the workstation event information. For example, the containerized software gateway 134 generates the cloud event information 146(1) based on the workstation event information 138(1). Accordingly, the on-premises device 112, the computing device 300, and/or the processor 302 executing the cloud data generation component 142 may provide means for generating, by the containerized software gateway on the on-premises device, cloud event information based on the workstation event information.
[0030] At block 210, the method 200 includes transmitting, by the containerized software gateway on the on-premises device, the cloud event information to a cloud computing device via an application programming interface (API) service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device. For example, the containerized software gateway 134 transmits the cloud event information 146(1) to the cloud service 114. Further, upon receipt of the cloud event information 146(1), the cloud service 114 may transmit a notification 130(1) including the cloud event information 146(1) to the monitoring applications 128(l)-(n) installed on the monitoring devices 116(l)-(n). Accordingly, the on-premises device 112, the computing device 300, and/or the processor 302 executing the API service 144 may provide means for transmitting, by the containerized software gateway on the on-premises device, the cloud event information to a cloud computing device via an application programming interface (API) service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device.
[0031] Referring to FIG. 3, a computing device 300 may implement all or a portion of the functionality described herein. The computing device 300 may be or may include or may be configured to implement the functionality of at least a portion of the system 100, or any component therein. For example, the computing device 300 may be or may include or may be configured to implement the functionality of control device 106. The computing device 300 includes a processor 302 which may be configured to execute or implement software, hardware, and/or firmware modules that perform any functionality described herein. For example, the processor 302 may be configured to execute or implement software, hardware, and/or firmware modules that perform any functionality described herein with reference to the event management application 132, the containerized software gateway 134, the formatting component 136, the dependencies 140, the cloud data generation component 142, the API service 144, or any other component/system/device described herein.
[0032] The processor 302 may be a micro-controller, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), or a field-programmable gate array (FPGA), and/or may include a single or multiple set of processors or multi-core processors. Moreover, the processor 302 may be implemented as an integrated processing system and/or a distributed processing system. The computing device 300 may further include a memory 304, such as for storing local versions of applications being executed by the processor 302, related instructions, parameters, etc. The memory 304 may include a type of memory usable by a computer, such as random-access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof. Additionally, the processor 302 and the memory 304 may include and execute an operating system executing on the processor 302, one or more applications, display drivers, etc., and/or other components of the computing device 300.
[0033] Further, the computing device 300 may include a communications component 306 that provides for establishing and maintaining communications with one or more other devices, parties, entities, etc. utilizing hardware, software, and services. The communications component 306 may carry communications between components on the computing device 300, as well as between the computing device 300 and external devices, such as devices located across a communications network and/or devices serially or locally connected to the computing device 300. In an aspect, for example, the communications component 306 may include one or more buses, and may further include transmit chain components and receive chain components associated with a wireless or wired transmitter and receiver, respectively, operable for interfacing with external devices.
[0034] Additionally, the computing device 300 may include a data store 308, which can be any suitable combination of hardware and/or software, that provides for mass storage of information, databases, and programs. For example, the data store 308 may be or may include a data repository for applications and/or related parameters not currently being executed by processor 302. In addition, the data store 308 may be a data repository for an operating system, application, display driver, etc., executing on the processor 302, and/or one or more other components of the computing device 300.
[0035] The computing device 300 may also include a user interface component 310 operable to receive inputs from a user of the computing device 300 and further operable to generate outputs for presentation to the user (e.g., via a display interface to a display device). The user interface component 310 may include one or more input devices, including but not limited to a keyboard, a number pad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, or any other mechanism capable of receiving an input from a user, or any combination thereof. Further, the user interface component 310 may include one or more output devices, including but not limited to a display interface, a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.
[0036] It is understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed is an illustration of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of blocks in the processes / flowcharts may be rearranged. Further, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in a sample order, and are not meant to be limited to the specific order or hierarchy presented. [0037] Referring to FIG. 4, in one non-limiting aspect, a core architecture 400 of a Next Generation Fire Workstation (NGFW/GFW) configured to provide comprehensive remote access with push notification to emergency response information of the onsite workstation via a cloud service, such as cloud service 114 of FIG. 1. In some implementations, the core architecture 400 of the NGFW/GFW may be a part of the on-premises device 112 of FIG. 1. For example, core architecture 400 includes various interconnected modules that facilitate point processing, authorization, historical data management, and real-time diagnostics similar to containerized software gateway 134.
[0038] In an aspect, core architecture 400 includes NGFW common components 402 configured to provide processing, data management, communication, and visualization capabilities. NGFW common components 402 include an Application Programming Interface Server (ApiSrv), Event Server (ES) diagnostic, launcher, and graphics editor. For example, the ApiSrv provides microservices for real-time data, logging, authentication, and diagnostics. The ES diagnostic monitors system health, detects network issues, visualizes connectivity. The launcher ensures system stability, restarts failed processes, logs failures. The graphics editor manages Scalable Vector Graphics (SVG)-based graphics, integrates visualizations with real-time data.
[0039] In an aspect, core architecture 400 includes a number of panels 404 including, but not limited to, panels from the same company or from two or more companies. For example, panels 404 may include Simplex panels, Johnson Control International (JCI) panels, and third-party panels corresponding to different types of fire alarm control panels (FACPs), such as control devices 106(l)-(n), and monitoring hardware that the NGFW/GFW system interacts with. These panels 402 serve as data sources for the system, providing alarm signals, event logs, and realtime status updates that are processed via NGFW common components 402, and displayed through the UI display options 416.
[0040] In some implementations, each of the panels 404 (Simplex panels, JCI panels, and third-party panels) may be configured to detect and process fire alarm events, sending them to the NGFW common components 402 for monitoring and response. The fire alarm events may be sent via one or more adapters. For example, the different adapters include a Digital Alarm Communication Receiver (DACR) adapter 406, European Union (EU) adapter 410, North America (NA) adapter 408 and/or a chosen adapter 412. Each of the adapters include a logic component and a configurator component configured to receive the fire alarm events and perform protocol translation and network communication with the NGFW common components 402. Since panels 404 from different manufacturers use different communication protocols, the NGFW/GFW system needs to support multiple protocol translation methods to ensure seamless data integration. The EU adapter 410 and NA adapter 408 also modify data processing and compliance rules to meet regulatory requirements. All of the translated data from the adapters is processed through ApiSrv and ES diagnostics of NGFW common components 402, making it accessible in real-time via one of the UI display options 416.
[0041] In some implementations, NGFW common components 402 interconnect with database 414 to perform archive operations, store historical information such as logs of sensor events 122(1)- (n) and/or CDI 126(l)-(n). For example, database 414 may include, but not be limited to, USB thumb drive, local drive, and/or remote drive. NGFW common components 402 may store historical information such as logs of sensor events 122(l)-(n), state information 124(l)-(n), and/or CDI 126(l)-(n) in database 414.
[0042] In some implementations, NGFW common components 402 interconnect with user interface (UI) display options 416 to provide real-time and historical data to the UI display options within the NGFW/GFW system. For example, the UI display options 416 may include WebUI, third party UI, and supervised client wrapper with up to 60 possible connections. In an instance, the AprSrv of NGFW common components 402 may receive and process sensor events 122(l)-(n), state information 124(l)-(n), and/or CDI 126(l)-(n) and communicate them to the WebUI of display options 416 which can then update the display in real-time using the received information. The display options 416 and/or WebUI may also enable users to query past events through API requests via the ApiSrv. The display options 416 and/or WebUI may also enable displaying and validating user credentials via the ApiSrv.
[0043] In another instance, ES diagnostics of NGFW common components 402 may provide a realtime overview of the system 100 network structure for display options 416 and/or WebUI to display. For example, display options 416 and/or WebUI visualizes network nodes, active connections, and errors using interactive graphical elements. Additionally, display options 416 and/or WebUI displays CPU usage, memory utilization, and process health along with warning messages.
[0044] The core architecture 400 includes application layer 418 for enabling end-user functionalities in relation to the display options 416 and NGFW common components 402. For example, application layer 418 corresponds to a user interface and operation interaction layer that includes alarm lists of alarms 110(l)-(n), graphic floor plans of premise 102, action messages, points, reports, event log of sensor events 122(l)-(n), control windows, point simulate, network, test mode, and configurator. A user is able to interact with the NGFW via the application layer 418 and the UI display options 416 in order to gain remote access and manage emergency responses.
[0045] The following numbered clauses provide an overview of aspects of the present disclosure:
[0046] Clause 1. A method comprising: receiving, by an event management application on an onpremises device, an event from one or more control devices locally managed by the onpremises device; generating, by the event management application on the on-premises device, workstation event information based on the event; receiving, by a containerized software gateway on the on-premises device, the workstation event information from the event management application; generating, by the containerized software gateway on the onpremises device, cloud event information based on the workstation event information; and transmitting, by the containerized software gateway on the on-premises device, the cloud event information to a cloud computing device via an application programming interface (API) service, the cloud computing device configured to push the cloud event information to a monitoring application installed on a user device.
[0047] Clause 2. The method of clause 1, wherein the one or more control devices include a fire panel.
[0048] Clause 3. The method of any preceding clause, wherein the API service is a remote procedure call (RPC) service.
[0049] Clause 4. The method of any preceding clause, wherein the workstation event information includes a JavaScript Object Notation (JSON) representation of the event, configuration information for generating the cloud event information, and an identifier of the event.
[0050] Clause 5. The method of any preceding clause, wherein generating cloud event information further comprises converting the workstation event information from a first format of the event management application to a second format of the containerized software gateway.
[0051] Clause 6. The method of any preceding clause, wherein the second format corresponds to a global fire panel data model (gfpdm). [0052] Clause 7. The method of any preceding clause, wherein the API is configured to provide remote access to the event management application and the one or more control devices.
[0053] Clause 8. The method of any preceding clause, where the cloud computing device configured to push the cloud event information to the monitoring application installed on the user device further comprises transmitting a notification to the monitoring application of an administrator of the user device in response to the identification that the cloud event information is associated with at least one of the one or more control device and the user device.
[0054] Clause 9. The method of any preceding clause, wherein transmitting the notification to the monitoring application of the administrator of the user device further comprises transmitting the notification to the monitoring application of the administrator of the user device based on one or more event types represented within the cloud event information.
[0055] Clause 10. The method of any preceding clause, wherein the containerized software gateway corresponds to a Next Generation Fire Workstation (NGFW/GFW).
[0056] Clause 11. An apparatus comprising: a transceiver; a memory; and one or more processors coupled with the transceiver and the memory, wherein the one or more processors and the memory are configured to perform the method of any of clauses 1-10.
[0057] Clause 12. An apparatus comprising means for performing the method of any of clauses 1-10.
[0058] Clause 13. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a processor, cause the processor to perform the method of any of clauses 1-10.
[0059] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects. Unless specifically stated otherwise, the term “some” refers to one or more. Combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof’ include any combination of A, B, and/or C, and may include multiples of A, multiples of B, or multiples of C. Specifically, combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof’ may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, where any such combinations may contain one or more member or members of A, B, or C. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. The words “module,” “mechanism,” “element,” “device,” and the like may not be a substitute for the word “means.” As such, no claim element is to be construed as a means plus function unless the element is expressly recited using the phrase “means for.”