Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SENSOR DATA VISUALIZATION SERVER DEVICE, SYSTEM AND METHOD
Document Type and Number:
WIPO Patent Application WO/2020/009601
Kind Code:
A1
Abstract:
A visualization server device comprises: a first entity to receive a number of raw data streams including sensor data of an industrial facility; a second entity to compute a visualization data stream from the raw data streams; a third entity to receive a set of subscriber parameters from a subscriber via a network; a fourth entity to render a video stream from the visualization data stream based on the set of subscriber parameters; and a fifth entity to transmit the video stream to the subscriber via the network. When the third entity receives an altered set of subscriber parameters from the subscriber, the fourth entity continues rendering the video stream based on the altered set of subscriber parameters. Stable, interactive, web-based, on-line sensor data visualization is enabled with reduced bandwidth requirements. A corresponding system, method and computer program product are also proposed.

Inventors:
KALINKIN MIKHAIL ALEXANDROVICH (RU)
ZOBNIN SERGEY SERGEEVICH (RU)
LOGINOV ALEXANDER VLADIMIROVICH (RU)
MELNIKOV VITALY SERGEEVICH (RU)
Application Number:
PCT/RU2018/000444
Publication Date:
January 09, 2020
Filing Date:
July 05, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G01D21/00; H04L29/08; H04W4/38
Foreign References:
US20160325680A12016-11-10
US20100278086A12010-11-04
Other References:
KWAN-LIU MA ET AL: "High performance visualization of time-varying volume data over a wide-area network status", SUPERCOMPUTING, ACM/IEEE 2000 CONFERENCE 04-10 NOV. 2000, PISCATAWAY, NJ, USA,IEEE, 1730 MASSACHUSETTS AVE., NW WASHINGTON, DC20036-1992USA, 1 November 2000 (2000-11-01), pages 29 - es, XP058374529, ISBN: 978-0-7803-9802-3
"Rendering Techniques '98", 1 January 2000, SPRINGER VIENNA, Vienna, ISBN: 978-3-70-916453-2, ISSN: 0946-2767, article KLAUS ENGEL ET AL: "A Framework for Interactive Hardware Accelerated Remote 3D-Visualization", pages: 167 - 177, XP055130521, DOI: 10.1007/978-3-7091-6783-0_17
Download PDF:
Claims:
Patent claims

1. A sensor data visualization server device (1) comprising: a first entity (11) configured to receive a number of raw data streams including sensor data acquired in an industrial facility (2) ;

a second entity (12) configured to compute a visualization data stream from the number of raw data streams;

a third entity (13) configured to receive a set of subscriber parameters from a subscriber (3) via a network (4) ; a fourth entity (14) configured to render a video stream from the computed visualization data stream based on the received set of subscriber parameters; and

a fifth entity (15) configured to transmit the video stream to the subscriber (3) via the network (4) ;

wherein, when the third entity (13) receives an altered set of subscriber parameters from the subscriber (3) via the network (4) , the fourth entity (14) is configured to continue rendering the video stream based on the altered set of subscriber parameters .

2. The server device of claim 1, wherein the video stream includes an encoded series of video frames, and a bandwidth of the video stream is lower than a bandwidth of the visualization data stream.

3. The server device according to claim 1 or 2 , wherein the set of subscriber parameters includes a number of parameters defining a portion of the visualization data stream to be incorporated into the rendered video stream.

4. The server device according to one of claims 1-3, wherein the visualization data stream includes a series of visualization data frames, each visualization data frame including a two- or three-dimensional plot of the sensor data included in the number of raw data streams .

5. The server device according to claim 4, wherein each plot includes a plurality of Fast Fourier spectra of a respective portion of the sensor data, the plurality of Fast Fourier spectra being plotted against an operating parameter of the industrial facility (2) .

6. The server device according to one of claims 1 to 5, wherein the second entity (12) is configured to:

- compute the visualization data stream from the number of raw data streams based on the set of subscriber parameters; and

- when the third entity (13) receives the altered set of subscriber parameters from the subscriber (3) via the network (4) , continue computing the visualization data stream from the number of raw data streams based on the altered set of subscriber parameters .

7. The server device according to one of claims 1 to 6, wherein the second entity (12), the fourth entity (14) and the fifth entity (15) are configured to compute the visualization data stream, render the video stream and transmit the video stream, respectively, in real time. *

8. A sensor data visualization system (10) comprising:

the sensor data visualization server device (1) according to one of claims 1-7 and a sensor data visualization client device (3) being the subscriber, the client device (3) comprising :

a first unit (31) configured to receive the video stream from the server device (1) via the network (4) ;

a second unit (32) configured to display a visualization object (6) based on the received video stream;

a third unit (33) configured to alter the set of subscriber parameters based on a user input received while the visualization object (6) is displayed; and

a fourth unit (34) configured to transmit the altered set of subscriber parameters to the server device (1) .

9. The system according to claim 8,

wherein the second unit (32) is further configured to display a control overlay (7) on top of the visualization object adapted to enable a user to perform a manipulation operation of the visualization object (6) using the control overlay (7) ; and

the third unit (33) is configured to alter the set of subscriber parameters based on the manipulation operation performed by the user using the control overlay (7) .

10. The system according to claim 8 or 9, wherein the video stream and the altered set of subscriber parameters are transmitted between the server device (1) and the client device (3) over a same bidirectional communication channel.

11. The system according to one of claims 8-10, wherein, in response to the client device (3) transmitting the altered set of subscriber parameters to the server device (1) , the server device (1) responds by continuing to transmit the video stream rendered based on the altered set of subscriber parameters to the client device (3) .

12. A sensor data visualization method comprising:

receiving (SI) a number of raw data streams including sensor data acquired in an industrial facility (2) ;

computing (S2) a visualization data stream from the number of raw data streams;

receiving (S3) a set of subscriber parameters from a subscriber (3) via a network (4) ;

rendering (S4) a video stream from the computed visualization data stream based on the received set of subscriber parameters; and

transmitting (S5) the video stream to the subscriber (3) via the network (4) ;

wherein, when an altered set of subscriber parameters is received from the subscriber (3) via the network (4) , rendering of the video stream continues based on the altered set of subscriber parameters .

13. The visualization method according to claim 12, further comprising the steps, executed by the subscriber (3), of:

receiving (S31) the video stream via the network (4) from a server device (1) transmitting the video stream;

displaying (S32) a visualization object (6) based on the received video stream;

altering (S33) the set of subscriber parameters based on a user input received while the visualization object (6) is displayed; and

transmitting (S34) the altered set of subscriber parameters via the network (4) to the server device (1) .

14. A method of operating an industrial facility (2), the method comprising:

performing the method according to claim 12 or 13; and altering an operating parameter, an operating condition, an operating schedule and/or a component of the industrial facility (2) based on the displayed visualization object (6) . 15. A computer program product comprising a program code for executing the method according to one of claims 12-14 when run on at least one computer.

Description:
SENSOR DATA VISUALIZATION SERVER DEVICE, SYSTEM AND METHOD

The present invention relates to the field of remote monitoring and operation of industrial facilities, in particular to the field of remote on-line visualization of sensor data acquired in an industrial facility, and specifically, to a sensor data visualization server device, system and method.

A necessity to remotely monitor and operate an industrial facility arises when an industrial facility under development is tested by engineers around the globe, or when analyzing an industrial facility installed at a remote customer site.

Industrial facilities, such as gas turbines, are typically equipped with thousands of sensors measuring physical parameters and supplying sensor data sampled with rates of up to several kilohertz. In order to enable an engineer to assess the sensor data, the sensor data is visualized in various high-resolution plots and graphs on a display device.

To give a remote operator access to visualized sensor data, the sensor data may be transmitted to a client device at the remote operator's site. Large amounts of data need to be transmitted, custom visualization software needs to be installed on the client device, and a large processing load is generated on the client device. In case of limited bandwidth and/or processing power, on-line visualization may stall.

However, when reducing an amount of data transmitted to the client computer according to an available bandwidth, an attainable level of visualization detail may be insufficient.

It is one object of the present invention to provide improved techniques for remote on-line visualization of sensor data.

According to a first aspect, a sensor data visualization server device comprises: a first entity configured to receive a number of raw data streams including sensor data acquired in an industrial facility; a second entity configured to compute a visualization data stream from the number of raw data streams; a third entity configured to receive a set of subscriber parameters from a subscriber via a network; a fourth entity configured to render a video stream from the computed visualization data stream based on the received set of subscriber parameters; and a fifth entity configured to transmit the video stream to the subscriber via the network. When the third entity receives an altered set of subscriber parameters from the subscriber via the network, the fourth entity is configured to continue rendering the video stream based on the altered set of subscriber parameters .

Accordingly, a subscriber, such as a client device operated by a remote operator, may receive the rendered video stream from the server device via the network without incurring a processing load caused by client-side visualization computations and without requiring installation of custom client-side visualization software. A bandwidth of the rendered video stream may be suitably adjusted to an available bandwidth of the network. Further, the subscriber may transmit altered sets of subscriber parameters to control how the server device renders the video stream, for example, which parts of it are rendered at which resolution. Thereby, the subscriber may access any desired level of sensor data detail included in the visualization data stream without having to transmit the visualization data stream as a whole. Advantageously, stable, web-based, interactive on-line sensor data visualization is enabled while reducing a bandwidth requirement of the network.

The industrial facility may be a gas turbine, a wind turbine or any other piece of machinery, a plant and the like, that may be equipped with a number of sensors .

The sensor data visualization server device ("server device" hereinbelow) may be embodied by a number of server-side computing entities. In particular, one or more of the entities of the server device may be embodied as a cloud, as data lake such as Apache HDFS, as a streaming platform such as Apache Kafka, and the like.

A "number" shall mean a number of one or more. "Server-side", herein, refers to the fact that the number of computing entities embodying the server device may be located at one or more server sites which are physically separate from a client site where the subscriber is located. The number of computing entities embodying the server device may be interconnected such that they can handle the data rate and amount of data conveyed by the number of raw data streams .

The server device (at least the third and fifth entity thereof) and the subscriber may be separated by a physical distance. The server device (third and fifth entity) and the subscriber may be linked by the network. The subscriber may thus be a remote subscriber.

A "stream" may refer to data in motion. "In motion", herein, may refer to the data being transmitted as signals over the network between different devices and/or the data being transferred internally between different entities of a same device .

In particular, a respective stream may include a series of consecutive data frames.

More particularly, the number of raw data streams may each include, as sensor data, a time -series of data frames, each data frame including a sensor reading indicative of a physical parameter prevailing in the industrial facility such as temperature, pressure, vibration, noise and the like.

A respective raw data stream may be sampled with a fixed sampling rate, wherein a number of data frames per second is fixed. It is contemplated that a sampling rate of a respective raw data stream may be in the range of several hundreds or even thousands of samples per second. Alternatively, a sampling rate of a respective raw data stream may be variable.

A respective reading included in a respective data frame of a respective raw data stream may be associated with a time when the reading was acquired and/or an operating parameter of the industrial facility at the time when the reading was acquired, such as a rotational speed and the like. The time and/or the operating parameter may be included in the same or in a different data frame.

The visualization data stream may refer to a stream of data resulting from visualization computations performed by the second entity. The visualization computations may include one or more of aggregating, ordering, correlating, averaging, binning, plotting and the like. The data included in a respective data frame (visualization data frame) of the visualization data stream may be raw image data suitable for being used to render an image, the image being indicative of a condition of the industrial facility indicated by the sensor data included in the number of raw data streams . One data frame of the visualization data stream may be generated each time a visualization computation performed by the second entity completes. A sampling rate (number of data frames per second) of the visualization data stream may be fixed or variable .

Rendering, as performed by the fourth entity, may refer to generating a video stream based on the raw image data comprised in the visualization data stream. A video stream may comprise a series of consecutive video frames. A frame rate of the video stream may preferably be between 1 and 50 video frames per second. More preferably, the frame rate of the video stream may be one of 1 video frame per second, 24 video frames per second, 25 video frames per second or 50 video frames per second.

A respective video frame may comprise two-dimensional pixel- based rendered image data according to a defined resolution of the video stream. Preferred defined resolutions of the video stream include 640x480 pixels, 1024x576 pixels, 1280x700 pixels, 1920x1080 pixels, 2560x1440 pixels, 4096x2160 pixels.

The set of subscriber parameters received from the network by the third entity may include a number of parameters configured to control how the fourth entity is to render the video stream from the computed visualization data stream. For example, the number of parameters may control a level of detail and the like. It is noted that herein, "based on the receive set of subscriber parameters" shall mean "based on at least one or more of the received set of subscriber parameters".

By transmitting an altered set of subscriber parameters, the subscriber may interactively alter how the video stream is rendered by the fourth entity. Thereby, the subscriber may advantageously be enabled to interactively control, or alter, the video stream received by the subscriber.

In particular, it is noted that the fourth entity continues to render the video stream upon reception of the altered set of parameters. That is, the video stream is not required to be interrupted, reconfigured, set up a-new or the like. Thereby, a level of flexibility of interactive control of the video stream by the remote subscriber is enhanced.

According to an embodiment, the video stream includes an encoded series of video frames, and a bandwidth of the video stream is lower than a bandwidth of the visualization data stream .

The video stream may be encoded using a video codec. The video codec may be a lossy or a lossless codec. The video codec may be configured to compress the video stream such that a defined bandwidth is not exceeded during transmission. The video codec may be one of x.264, OpenH264, x265, Xvid, libvpx, FFmpeg, Lagarth, libtheora, Dirac, Huffyuv, Daala, Thor, for example.

The bandwidth of the video stream may be lower than a bandwidth of the visualization data stream not only by virtue of the video stream being encoded.

The bandwidth of the video stream may also be lower than a bandwidth of the visualization data stream due to the fourth entity rendering only a portion of the content of the visualization data stream based on the received of subscriber parameters .

A bandwidth may refer to an amount of data to be transferred or transmitted per time unit when the respective stream is to be transferred between any two entities and/or transmitted over the network. Thereby, advantageously a remote subscriber may receive the video stream even in the case where a bandwidth of the network connection the remote subscriber to the server device is limited.

According to a further embodiment, the set of subscriber parameters includes a number of parameters defining a portion of the visualization data stream to be incorporated into the rendered video stream.

In particular, the set of subscriber parameters may include a number of parameters defining a subframe of a respective visualization data frame of the visualization data stream. For example, the number of parameters may be x and y coordinates of a top left corner and x and y coordinates of a bottom right corner. Alternatively, the number of parameters may be x and y coordinates of a top left corner and a zoom level. The respective coordinates may refer to a coordinate system of the visualization data frames included in the visualization data stream .

Thereby, a remote subscriber may advantageously, merely by transmitting corresponding altered sets of parameters, cause the fourth entity to continue rendering the video stream while zooming in, zooming out and panning the video stream.

Thereby, even if a bandwidth of the network is limited to a video stream resolution that is lower than a resolution of the visualization data stream, a remote subscriber may be enabled to access, portion by portion, any desired level of detail of any portion of the visualization of the raw sensor data.

According to a further embodiment, the visualization data stream includes a series of visualization data frames, each visualization data frame including a two- or three-dimensional plot of the sensor data included in the number of raw data streams .

That is, the second entity may use raw data included in the number of raw data streams to generate a two- or three- dimensional plot, such as an x-y plot, an x-y-z plot, an r-phi plot, an r- theta-phi plot and the like. A visualization data frame may be generated in fixed time intervals, such as one or more times per second or minute, may be generated whenever there is a change (a sufficient amount of change) in the raw data .

A respective visualization data frame may comprise raw image data suitable for rendering therefrom a video frame of the video stream. In particular, the visualization data frame may include high-resolution pixel-based raw image data and/or may include vector-based raw image data.

It is noted that, depending on what kind of visualization is required, a respective visualization data stream may include a plot of the sensor data included in the number of raw data streams for all times received so far, or may include a plot of a respective portion of the sensor data included in the number of raw data streams, such as a plot of a predetermined number of data frames of the number of raw data streams.

It will be appreciated that calculating an intricated two- or three-dimensional plot may involve complicated computations. By having the second entity of the server device perform these computations, a processing load incurred at the subscriber side (client side) may be advantageously reduced.

According to a further embodiment, each plot includes a plurality of Fast Fourier spectra of a respective portion of the sensor data, the plurality of Fast Fourier spectra being plotted against an operating parameter of the industrial facility.

In particular, and merely as an example, a respective plot may be a Campbell diagram, wherein a first axis indicates an rpm value with which the industrial facility (or a component thereof) is operated, a second axis indicates frequency, and a Fast Fourier transformation of a time-series of sensor data into frequency domain is plotted in lines, one line corresponding to each operating parameter (one discretized operating parameter range), wherein an amplitude of the Fast Fourier transformation is plotted along a third axis. A Campbell plot may be beneficial in performing vibrational analysis of the industrial facility. It will be appreciated that a detailed Campbell plot based on raw sensor data may include mpre data than can be reasonably displayed at once on a display device for human review. Therefore, zooming and panning capabilities when reviewing the Campbell plot are desired. Further, the Campbell plot may be time-dependent . For example, the Campbell plot may be based on changing portions, such as moving windows, of the raw data streams, and may change with time. Therefore, the visualization data stream may have a high bandwidth.

By allowing the remote subscriber to receive the video stream and to zoom and pan with respect to a coordinate system of the visualization data frames included in the visualization data stream, the proposed server device may enable the remote subscriber to zoom in on a smaller area of interest of the two- or three -dimension plot, such as the Campbell diagram. As a result, more details of a smaller region of interest of the plot may be sent to the remote subscriber as the video stream having a bandwidth that is smaller than the bandwidth of the visualization data stream. The remote subscriber may interactively alter the region of interest visualized by the video stream by transmitting an altered set of parameters to the server device, without interrupting transmission of the video stream.

According to a further embodiment, the second entity is configured to: compute the visualization data stream from the number of raw data streams based on the set of subscriber parameters; and, when the third entity receives the altered set of subscriber parameters from the subscriber via the network, continue computing the visualization data stream from the number of raw data streams based on the altered set of subscriber parameters .

Merely as an example, the set of subscriber parameters may include, in addition to a number of parameters such as zoom level and the like, also a number of parameters of a Fast Fourier transformation performed by the second entity as part of its computations.

That is, by transmitting an altered set of subscriber parameters, the subscriber may interactively alter not only how the video stream is rendered from the visualization data stream by the fourth entity, but also how the visualization data stream is computed from the number of raw data streams by the second entity.

Thereby, the subscriber may be provided advantageously with yet more flexible control over the video stream transmitted to the subscriber.

According to a further embodiment, the second entity, the fourth entity and the fifth entity are configured to compute the visualization data stream, render the video stream and transmit the video stream, respectively, in real time.

That is, the server device of the present embodiment may advantageously enable on-line, real-time monitoring of the industrial machine by a remote subscriber. In particular, the remote subscriber may receive a video stream visualizing a portion of an on-line or live plot or the like of the sensor data included in the number of raw data streams and may interactively, on-line and in real-time, zoom and pan the received video stream.

According to a further embodiment, a sensor data visualization system is provided. The sensor data visualization system comprises the above-described sensor data visualization server device and a sensor data visualization client device being the subscriber, the client device comprising: a first unit configured to receive the video stream from the server device via the network; a second unit configured to display a visualization object based on the received video stream; a third unit configured to alter the set of subscriber parameters based on a user input received while the visualization object is displayed; and fourth unit configured to transmit the altered set of subscriber parameters to the server device. Herein, the term "visualization object" may describe content that is actually displayed. The visualization object may be a visualization-computation-based indication of a condition of the industrial facility. Merely as an example, the visualization object may refer to a portion of a plot, such as a Campbell diagram, as displayed by the client device.

The client device may display the visualization object by consecutively displaying each video frame included in the received video stream.

The client device may comprise a display device or may be connected to a display device via a port, and may display the visualization object (a respective video frame) on the display device. In other variants, the client device may display the visualization object (a respective video frame) by outputting output data indicative of the visualization object via an internal bus, and external bus or a network.

The third unit may receive the user input from an input device, such as a keyboard, mouse, tablet, touch-screen or the like, or via an internal or external bus or via network. The user input may be a command, a gesture or the like.

The user input may be related to the visualization object currently displayed. Examples for a user input are various digital representations of commands such as "pan left", "pan down", "zoom in", "zoom out" and the like.

The client device may be embodied in software and/or hardware. In particular, the client device may be embodied as a web browser executing program code configured to enable the functionality of the client device, such as HTML5 code, a plugin, and the like.

Thus, advantageously, a standard computer or workstation may be used to interactively and remotely examine the visualization object. A necessity to install custom visualization software on the client device may be obviated.

Further features and benefits described for the server device and its embodiments apply, mutatis mutandis, to the proposed sensor data visualization system. According to a further embodiment, the second unit of the client device is further configured to display a control overlay on top of the visualization object adapted to enable a user to perform a manipulation operation of the visualization object using the control overlay; and the third unit is configured to alter the set of subscriber parameters based on the manipulation operation performed by the user using the control overlay.

The control overlay may be content overlaid over the visualization object. For example, the control overlay may comprise a zoom button, a set of pan buttons and the like displayed on top of the current video frame. Additionally, or alternatively, the control overlay may be an interactive layer that is responsive to touch gestures and the like.

The manipulation operation performed by the user using the control overlay may for example be the pressing of a button or a touch gesture performed in relation to the displayed visualization object, and may be one example of a user input.

Intuitive and interactive navigation of the visualization object is enabled.

According to a further embodiment, the video stream and the altered set of subscriber parameters are transmitted between the server device and the client device over a same bidirectional communication channel.

For example, the same bidirectional communication channel may be a web sockets connection established over the network between the server device and the client device.

Thereby, a round trip time between sending the altered parameters and receiving a corresponding altered video stream may be reduced. The present embodiment may allow for efficient and responsive navigation, panning, zooming, and the like of the video stream.

According to a further embodiment, in response to the client device transmitting the altered set of subscriber parameters to the server device, the server device responds by continuing to transmit the video stream rendered based on the altered set of subscriber parameters to the client device.

In the proposed server device, system and their respective embodiments of the first aspect, the respective entity, e.g. the first to fourth entity and/or the first to fourth unit, may each be implemented in hardware and/or in software. If said entity is implemented in hardware, it may be embodied as a device, e.g. as a computer or as a processor or as a part of a system, e.g. a computer system. If said entity is implemented in software it may be embodied as a computer program product, as a function, as a routine, as a program code or as an executable object.

Any embodiment of the first aspect may be combined with any embodiment of the first aspect to obtain another embodiment of the first aspect.

According to second aspect, a sensor data visualization method is proposed. The method comprises the steps of: receiving a number of raw data streams including sensor data acquired in an industrial facility; computing a visualization data stream from the number of raw data streams; receiving a set of subscriber parameters from a subscriber via a network; rendering a video stream from the computed visualization data stream based on the received set of subscriber parameters; and transmitting the video stream to the subscriber via the network. When an altered set of subscriber parameters is received from the subscriber via the network, rendering of the video stream continues based on the altered set of subscriber parameters .

In particular, the above steps may be executed by a server device .

According to an embodiment, the proposed sensor data visualization method further comprises the steps, executed by the subscriber, of: receiving the video stream via the network from a server device transmitting the video stream; displaying a visualization object based on the received video stream; altering the set of subscriber parameters based on a user input received while the visualization object is displayed; and transmitting the altered set of subscriber parameters via the network to the server device .

According to a further embodiment, the sensor data visualization method according to the second aspect or an embodiment thereof is executed in real-time.

According to a further embodiment, a method of operating an industrial facility comprises performing the above-describe sensor data visualization method; and altering an operating parameter, an operating condition, an operating schedule and/or a component of the industrial facility based on the displayed visualization object.

Said altering may be performed by an operator in response to viewing the visualization object on the client device. Said altering may also be initiated automatically by program code for monitoring the visualization object on the client device.

Visualization-based remote control and operation of the industrial facility may be enabled even over a network with limited bandwidth.

Further, the embodiments and features described with reference to the server device and system of the first aspect to the method of the second aspect .

According to a third aspect, the invention relates to a computer program product comprising a program code for executing the above-described visualization method and/or the above-described method of operating an industrial facility when run on at least one computer.

A computer program product, such as a computer program means, may be embodied as a memory card, USB stick, CD-ROM, DVD or as a file which may be downloaded from a server in a network. For example, such a file may be provided by transferring the file comprising the computer program product from a wireless communication network. Further possible implementations or alternative solutions of the invention also encompass combinations - that are not explicitly mentioned herein - of features described above or below with regard to the embodiments. The person skilled in the art may also add individual or isolated aspects and features to the most basic form of the invention.

Further embodiments, features and advantages of the present invention will become apparent from the subsequent description and dependent claims, taken in conjunction with the accompanying drawings, in which:

Fig. 1 shows a sensor data visualization server device according to a first exemplary embodiment.

Fig. 2 illustrates a sensor data visualization method according to the first exemplary embodiment.

Fig. 3 shows a sensor data visualization system according to a second exemplary embodiment .

Fig. 4 illustrates a sensor data visualization method according to the second exemplary embodiment .

Fig. 5 shows a simplified example of a Campbell plot.

Fig. 6 illustrates part of a server device and user interface layers displayed by a client device of a sensor data visualization system according to a third exemplary embodiment .

In the Figures, like reference numerals designate like or functionally equivalent elements, unless otherwise indicated.

Fig. 1 shows a sensor data visualization server device 1 according to the first exemplary embodiment.

The sensor data visualization server device 1 ("server device" in the following) comprises a landing zone 11 (example of a first entity) , a computation engine 12 (example of a second entity), a reception layer 13 (example of a third entity), a rendering engine 14 (example of a fourth entity) and a transmission layer 15 (example of a fifth entity) . The server device 1 is connected with a number of data sources (not shown) installed in an industrial facility 2. The server device 1 is further connected to a client device (example of a subscriber) 3 via a network 4.

Operation of the server device 1 will now be described with reference to Fig. 1 and Fig. 2, wherein Fig. 2 illustrates a sensor data visualization method according to the first exemplary embodiment .

In step SI, the landing zone 11 receives a number of raw data streams including sensor data acquired from the number of data sources (not shown) installed in the industrial facility 2.

In step S2 , the computation engine 12 computes a visualization data stream from the number of data streams (or from the sensor data thereof received and stored and/or forwarded by the landing zone 11) .

In step S3, the reception layer 13 receives a set of subscriber parameters from the client device 3 via the network

4.

In step S4 , the rendering engine 14 renders a video stream from the visualization data stream computed by the computation engine 12. Herein, the rendering engine 14 performs rendering in accordance with at least a number of parameters included in the set of subscriber parameters received by the reception layer 13.

In step S5, the transmission layer 15 transmits the rendered video stream to the client device 3 via the network 4.

When the reception layer 13 receives an altered set of subscriber parameters from the client device 3 via the network 4, the rendering engine 14 continues rendering the video stream from the visualization data stream in accordance with at least a number of parameters included in the altered set of subscriber parameters received by the reception layer 13.

According to a preferred variant, steps SI, S2, S4 and S5 are carried out continuously and concurrently, that is, the incoming number of raw data streams are continuously received by the landing zone 11, the visualization data stream (further visualization data frames thereof) is continuously computed from the number of raw data streams (further data frames thereof) by the computation engine 12, and the video stream to be transmitted to the client device 3 is continuously rendered by the computation engine 12 and transmitted by the transmission layer 15. In contrast, step S3 is executed whenever the reception layer 13 receives an altered set of subscriber parameters from the client device 3 via the network 4. That is, reception of the altered set of subscriber parameters can be said to alter the video stream (the rendering thereof, i.e. the contents thereof) that is transmitted from the server device 1 to the client device 3, however, the altered video stream may continue to be transmitted without interruption.

That is, in a particularly preferred variant, the subscriber may receive the video stream on-line, in pseudo real-time or in real-time, and a response of the server device 1 to the altered set of subscriber parameters being transmitted to the server device 1 may also occur on-line, in pseudo real-time or in real-time.

According to a further preferred variant, the server device 1 may be embodied by a streaming platform.

Fig. 3 shows a sensor data visualization system according to a second exemplary embodiment .

The sensor data visualization system 10 according to the second exemplary embodiment comprises the sensor data visualization server device 1 according to the first embodiment, and a description thereof will not be repeated. The sensor data visualization system 10 further includes a client device 3.

The client device 3 corresponds to the subscriber 3 of Fig. 1. The client device 3 includes a reception unit 31, a display unit 32, a parameter altering unit 33 and a transmission unit 34. Fig. 4 illustrates a sensor data visualization method according to the second exemplary embodiment . More specifically, the sensor data visualization method according to the second exemplary embodiment includes steps SI to S5 described for the first exemplary embodiment, which are executed by the server device 1, and a description thereof will not be repeated. Further, the sensor data visualization method according to the second exemplary embodiment includes the steps S31 to S34 of Fig. 4, which are carried out by the client device 3.

Operation of the sensor data visualization system 10 according to the second exemplary embodiment will now be described with special focus on the client device 3 and with reference to Fig. 3 and Fig. 4.

In step S31, the reception unit 31 of the client device 3 receives the video stream transmitted by the transmission layer 15 of the server device 1 via the network 4.

In step S32, the display unit 32 of the client device 3 displays a visualization object based on the received video stream. That is, the client device 3 displays the received video stream, frame-by-frame, and thereby displays a rendered representation of the results of the visualization computations performed by the computation engine 12 of the client device 3.

Steps S31 and S32 may be executed concurrently and continuously while the video stream is transmitted by the transmission layer 15 of the server device 1.

An operator of the client device 3 may wish to alter the visualization object displayed by the display unit 32. That is, the operator may wish to increase or decrease a level of detail (perform a zoom operation) , change a displayed image section (perform a pan operation) and the like. In order to do so, the user may input a user input to the parameter altering unit 33 of the client device 3.

When the parameter altering unit 33 of the client device 3 receives the user input while the visualization object is displayed by the display unit 32, in step S33, the parameter altering unit 33 alters, based on the user input, the set of subscriber parameters used by the rendering engine 14 of the server device 1 for rendering the video stream.

It is noted that the parameter altering unit 33 may be made aware of the currently used set of subscriber parameters in one of several ways. According to one variant, before transmission of the video stream starts, the transmission unit 34 of the client device 3 initially transmits, to the reception layer 13 of the server device 1, a set of desired subscriber parameters to specify how the video stream is to be rendered initially. The desired subscriber parameters to be used initially may have been specified by a user input. According to another variant, when transmission of the video stream starts, the rendering engine 14 of the server device 1 may use a predetermined default set of subscriber parameters to render the video stream to be transmitted to the client device 3. The predetermined default set of subscriber parameters may be agreed between the server device 1 and the client device 3. According to still another variant, the transmission layer 15 may transmit the currently used set of subscriber parameters to the client device 3 together with the video stream.

In step S34, the transmission unit 34 of the client device 3 transmits the altered set of subscriber parameters back to the server device 1 via the network 4.

In response to receiving the altered set of subscriber parameters, the server device 1 executes steps S3 to S5 that have been described for the server device 1 of the first embodiment. That is, effectively, the server device 1 responds by transmitting the video stream rendered based on the altered set of subscriber parameters that was transmitted to the server device 1 by the client device 3.

A number of preferred developments of the first and second exemplary embodiment will now be described with further reference to Fig. 3 as needed. According to a preferred development, the industrial facility 2 comprises a rotating component. For example, the industrial facility 2 may be a gas turbine, wind turbine or the like. Inside the industrial facility 2, a large number of sensors (not shown) are installed. Each sensor supplies a data stream including sensor data indicative of a physical condition such as temperature, pressure, strain, vibration etc. prevailing in the industrial facility 2.

During vibrational analysis, an operator of the industrial facility 2 may be interested to learn whether oscillations of readings of a particular sensor correlate with rotations of the rotating component (not shown) of the industrial facility 2. Therefore, the operator may be interested to look at a so- called Campbell plot.

Therefore, according to the preferred development, the computation engine 12 is configured to compute a visualization data stream including a series of visualization data frames, wherein each visualization data frame includes a Campbell plot of the sensor data.

Thus, for example, during a spin-down or spin-up test run of the industrial facility 2, in which the industrial facility 2 is operated over a large range of operating parameters, the computation engine 12 acquires, from a raw data stream of interest received by the landing zone 11, a plurality of sensor readings associated with a rpm value (rotations per minute; an example of an operating parameter of the industrial facility 2) of the industrial facility 2 at the time of acquisition of the corresponding reading.

Having acquired a predetermined number of readings for each of a plurality of discretized operating parameter ranges, the computation engine 12 calculates a time- series of sensor readings acquired during the corresponding operating parameter range. The computation engine 12 then proceeds to perform a Fast Fourier Transform operation to transform each of the calculated time-series into the frequency domain and to obtain a Fast Fourier spectrum for each discretized operating parameter range. From the plurality of Fast Fourier spectra thus obtained, the computation engine 12 generates a Campbell plot .

Fig. 5 shows a simplified example of the Campbell plot. The vertical axis in Fig. 5 indicates the rpm value (operating parameter) . Thus, there is a discretized operating parameter range from 0 to 300 rpm, a range from 300 to 600 rpm, and so on. The horizontal axis in Fig. 5 indicates a frequency of the frequency domain. Thus, there is a frequency bin from 0 to 100 Hz, a frequency bin from 100 to 200 Hz, and so on.

Thus, each horizontal line in the plot in Fig. 5 corresponds to one Fourier spectrum. An amplitude (sensor reading value) for each frequency bin is visualized by color. In Fig. 5, a shaded square corresponds to a high amplitude and an empty square corresponds to a low amplitude.

As can be appreciated by Fig. 5, high amplitudes of the observed sensor's readings can be observed along a so called PI line 61 and along a so called P2 line 62. These may correspond to a vibrational first order (PI) and second order (P2 ) response of the industrial facility 2 to the rotation of the rotating component according to the rpm value. Further, high amplitudes of the observed sensor's readings can be observed along a vertical line 63. The vertical line 63 may correspond to an eigenfrequency of the industrial facility (a mechanical system thereof) . It will be appreciated that operation of the industrial facility is undesirable at the points where the vertical line 63 crosses the PI line 61 and the P2 line 62 (critical rpm values 300-900 and 1500-2100 in the example in Fig. 5)

An operator may use the knowledge gained from the Campbell plot of Fig. 5 to change the design of the industrial facility 2 in a case where operation at the critical rpm values thereof is required. Alternatively, based on the Campbell plot of Fig. 5 , an operator may change an operating scheme of the industrial facility 2 so as to avoid the critical rpm values.

According to a variant of the preferred development, the client device 3 may be configured to analyze a respective Campbell plot included in the video stream and alter an operating parameter of the industrial facility 2 in response to detecting that the industrial facility 2 is operating at or near a critical rpm value.

It will be appreciated that the Campbell plot shown in Fig. 5 is simplified, and that a real-world Campbell plot may comprise thousands or tens of thousands of frequency bins along the horizontal axis and may comprise thousands or tens of thousands of discretized operating parameter ranges along the vertical axis. Also, a real-world Campbell plot may visualize the amplitude in hundreds or thousands of shadings rather than merely by two shadings (shaded and empty) . Alternatively, the amplitude may also be plotted along a third axis (z axis) in a three-dimensional Campbell plot.

The Campbell plot shown in Fig. 5 is merely an example to illustrate that the visualization of sensor data (be it as a Campbell plot or otherwise) may be a computationally expensive operation that requires processing power, may require special- purpose software, and may generate prohibitively high amounts of output data. Therefore, on the one hand, the visualization computations are preferably carried out on a computationally powerful server or in a cloud, such as the server device 1, however, on the other hand, it is desirable to avoid having to transmit large amounts of data to a remote subscriber wishing to view the Campbell plot or the like.

Reference is again made to Fig. 3, and the description of the operation of the system 10 according to the preferred development is continued. The computation engine 12, having generated the Campbell plot or the like, continues to generate a respective further Campbell plot or the like each time when a predetermined amount of further sensor data has been received by the landing zone 11. That is, the computation engine 12 creates a visualization data stream including a series of consecutive visualization data frames, wherein each visualization data frame includes a respective two- or three- dimensional plot of the sensor data. More specifically, the respective two- or three-dimensional plot may include a plurality of Fast Fourier spectra of a respective portion of the sensor data, the plurality of Fast Fourier spectra being plotted against an operating parameter of the industrial facility 2. In the latter case, the respective two-or three- dimensional plot can be identified as the Campbell plot described above in connection with Fig. 5.

It is emphasized here that the two- or three-dimensional plot of the raw sensor data is not a static visualization, but is a visualization that changes over time as the industrial facility 2 is operated. Therefore, a visualization data stream is formed from a sequence of visualization data frames, each visualization data frame visualizing a condition in the industrial facility 2 at a given point or period in time.

The rendering engine 14 renders a video stream from the computed visualization data stream. As has been discussed above, it may be desirable to transmit only portions of the visualization data stream to a remote subscriber so as to reduce an amount of data transmitted, however, a remote subscriber may be interested in viewing all details of the plots included in the visualization data stream.

Therefore, the rendering engine 14 renders the video stream according to a set of subscriber parameters received from the subscriber 3 by the reception layer 13. The received set of subscriber parameters includes a number of parameters that define a portion of the visualization data stream to be incorporated into the rendered video stream. Merely as an example, the received set of subscriber parameters may define an image section of the plot to be rendered into the video stream. For example, with reference to Fig. 5, a number of the received set of subscriber parameters may define that only an image section ranging from 600 rpm/800 Hz to 1500 rpm/1300 Hz is to be included into the video stream. A further parameter of the received set of subscriber parameters may specify an allowable bandwidth of the video stream that is lower than the bandwidth of the visualization data stream. Based on these parameters, the rendering engine 14 may determine a level of detail or discretization level at which the visualization data frames may be rendered to form video frames of the video stream.

The rendered video stream is transmitted to the subscriber 3 by the transmission layer 15.

When an operator of the client device 3 wants to view a different image section of the plot, the device 3 may transmit an altered set of subscriber parameters specifying the different image section to the reception layer 13 of the server device 1. Herein, if the operator wants to see a respective image section in great detail, the operator may specify a small image section, whereas, if the operator wants to see a gross overview, the operator may specify a larger image section.

In response to reception of the altered set of subscriber parameters, the reception layer 13 continues to render the video stream based on the altered set of subscriber parameter.

Thereby, the operator of the client device 3 is advantageously enabled to pan and zoom the video stream transmitted to the client device 3. The operator may eventually review any portion of plot (sequence of plots) included in the visualization data stream at any desired level of detail without having to install customized software on the client device 3 and without exceeding a bandwidth limitation imposed on the network 4 connecting the client device 3 to the server device 1.

According to a further preferred development, the subscriber parameters transmitted by the client device 3 may further include a number of parameters for parametrizing a visualization computation operation, such as the Fast Fourier transformation, performed by the computation engine 12. In the further preferred development, the computation engine 12 computes the visualization data stream in accordance with the received set (or altered received set) of subscriber parameters. Thereby, the operator of the remote client device 3 may not only control which part of a respective plot is rendered into a video stream transmitted to the client device 3, but may also control how the respective plot is computed. Additional flexibility may be provided in remote monitoring of the industrial facility 2.

Fig. 6 illustrates part of a server device 1 and user interface layers 5, 6, 7 displayed by a client device 3 (Fig. 3) of a sensor data visualization system 10 (Fig. 3) according to a third exemplary embodiment .

The third exemplary embodiment may be based on any of the first or the second exemplary embodiment, and any features described in connection with the first or the second exemplary embodiment will not be described again.

Reference will be made to Fig. 6 in conjunction with Fig. 3.

The server device 1 of the third exemplary embodiment comprises, in addition to the first to fifth entity 11-15, a web server 16 (example of a sixth entity) .

According to the third exemplary embodiment, when an operator of the remote client device 3 wishes to remotely monitor the industrial facility 2, the operator launches a web browser on the client device 3. The web browser causes the client device 3 to display a browser window illustrated schematically at 5 in Fig. 6. The web browser connects to the web server 16 of the server device 1 to retrieve a web page that includes code, such as HTML5 code or the like, which, when executed by the web browser of the client device 3, configures the client device 3 to perform the steps described hereinbelow.

In particular, the received code causes the web browser to display a menu of available visualization data streams in the browser window 5. The operator may then select a visualization data stream of interest. In response the operator's selection, the code executed by the web browser causes the client device 3 to transmit a set of subscriber parameters to the reception layer 13 of the server , device 1. The set of subscriber parameters may identify the visualization data stream of interest and a desired image section of the visualization data stream. In response to reception of the set of subscriber parameters by the reception layer 13, the server device 1 (rendering engine 14) starts to render a video stream from the visualization stream of interest, and the transmission layer 15 starts to transmit the rendered video stream to the client device 3.

Further, the received code causes the web browser to display the visualization object 6 and the control overlay 7 on top of the browser window 5.

Specifically, the visualization object 6 is a window on top of the browser window 5 that displays a respective video frame of the video stream transmitted by the transmission layer 15 of the server device 1 to the client device 3.

The control overlay 7 is an active layer that is displayed on top of the visualization object 6 and that is responsive to a user input such as, for example, one or more of a mouse action, a mouse gesture, a touch gesture, and a keyboard input. Optionally, the control overlay 7 may comprise various buttons and/or menus configured to receive the user input.

Upon receiving a user input via the control layer 7, the parameter altering unit 33 of the client device 3 alters the set of subscriber parameters based on the user input, and the transmission unit 34 of the client device 3 transmits the altered set of subscriber parameters to the reception layer 13 of the server device 1. The server device 1 responds by continuing to render and transmit the video stream, however, the transmitted video stream is now rendered based on the altered set of subscriber parameters. The visualization object 6 displayed in the browser window 5 changes accordingly.

Thereby, the remote operator of the client device 3 is enabled to manipulate (perform a manipulation operation on) the visualization object 6 using the control overlay 7.

Merely as an example, a user may perform a pinch gesture on the control overlay 7, which, through the interaction between client device 3 and server device 1 described above, results in the visualization object 6 displaying an enlarged (zoomed in) section of the series of plots included in the visualization data stream in greater detail. According to a preferred variant of the third exemplary embodiment, the video stream is transmitted from the transmission layer 15 of the server device 1 to the reception unit 31 of the client device 3 using a web socket connection, and the set of subscriber parameters (altered sets of subscriber parameters) are transmitted from the client device 3 to the server device 1 using the same web socket connection. Thereby, a fast response of the server device 1 to the altered set of subscriber parameters may be facilitated.

Although the present invention has been described in accordance with preferred embodiments, it is obvious for the person skilled in the art that modifications are possible in all embodiments.

In particular, the visualization computations to produce the Campbell plot that have been described in connection with Fig. 5 are merely an example, and the present invention is not limited to any particular kind of visualization computations .

For the industrial facility 2, a gas turbine and a wind turbine and a rotational component thereof have been described as an example. However, the present invention is application to any industrial facility or machinery equipped with a number of data sources supplying a number of raw data streams .

The present invention, may, in general terms, be identified as a visualization server device 1 transmitting a video stream representative of a result of visualization computations performed on a number of raw data streams including sensor data acquired in an industrial facility 2, wherein a subscriber 3 of the video stream is enabled to transmit a set of subscriber parameters back to the server device 1 to cause the server device 1 to control aspects, such as zoom level, image section, and the like, of how the video stream is rendered from the visualization data stream by the server device 1. Reference Numerals:

1 sensor data visualization server device

2 industrial facility

3 subscriber, client device

4 network

5 browser window

6 visualization object

7 control overlay

10 sensor data visualization system

11 landing zone (first entity)

12 computation engine (second entity)

13 reception layer (third entity)

14 rendering engine (fourth entity)

15 transmission layer (fifth entity)

16 web server (sixth entity)

31 reception unit (first unit)

32 display unit (second unit)

33 parameter altering unit (third unit)

34 transmission unit (fourth unit)

S1-S5 method steps

S31-S34 method steps