WO2020101475A1 - A system and method for displaying widget on a dashboard - Google Patents

A system and method for displaying widget on a dashboard Download PDF

Info

Publication number
WO2020101475A1
WO2020101475A1 PCT/MY2019/050090 MY2019050090W WO2020101475A1 WO 2020101475 A1 WO2020101475 A1 WO 2020101475A1 MY 2019050090 W MY2019050090 W MY 2019050090W WO 2020101475 A1 WO2020101475 A1 WO 2020101475A1
Authority
WO
WIPO (PCT)
Prior art keywords
profile
widget
effective
event
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/MY2019/050090
Other languages
French (fr)
Inventor
Hoey Yew OOI
Chrishanton VETHANAYAGAM
Dahlia BINTI DIN
Se Keng NGOI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mimos Bhd
Original Assignee
Mimos Bhd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimos Bhd filed Critical Mimos Bhd
Publication of WO2020101475A1 publication Critical patent/WO2020101475A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to a system and method for displaying widget on a dashboard. More particularly, the present invention relates to a system and method for displaying widget on a dashboard based on event triggered and user’s request.
  • a dashboard is required to monitor all the readings from the sensors.
  • the data from the sensors are displayed in a form of widgets, wherein widgets are elements of graphical user interface that display information or provide a specific way for interaction between a user and an operating system or an application.
  • widgets are elements of graphical user interface that display information or provide a specific way for interaction between a user and an operating system or an application.
  • the data from the sensors are displayed by the widgets, it is difficult to display all the required data from all the sensors at the same time on a fixed structure dashboard. Therefore, systems and methods are developed to dynamically visualise all data from all of the sensors.
  • the digital dashboard application extracts data, performs data processing on the extracted data, and displays the analysed data as widgets in a dashboard format.
  • the digital dashboard application may access a widget library whereby an end user may download a widget from the widget library to add the widget into the digital dashboard application.
  • the digital dashboard application may be installed, set up and maintained by the end user.
  • the system includes a processor which interacts with a user interface to provide two dashboard environments.
  • the first dashboard environment is invoked from the user interface, while the second dashboard environment is invoked from the first dashboard environment.
  • Each dashboard environment includes a layer relative to a desktop and is separately displayable over the desktop. The desktop is inactivated in such a way that the visible elements on the desktop cannot be interacted with when the selected dashboard environment is displayed.
  • the present invention relates to a system (100) and method for displaying widget on a dashboard.
  • the system (100) for displaying widget on a dashboard comprising a server (20) configured to provide a service to at least one client (10) that initiates requests for such services and the at least one client (10) that accesses the service made available by the server (20).
  • the server (20) comprising an event generator (21) configured to trigger profile change event when a predetermined condition is fulfilled and a profile manager (22) configured to validate the profile change request or profile change event, and prepare, generate and publish the effective profile.
  • the client (10) comprising a widget container (13) configured to conform to an effective profile and caches at least one widget, wherein the effective profile is a data structure that comprises description of user interface elements and configuration and a profile selector module (11) configured to generate profile change request based on user’s choice of widget container identification, wherein the profile change request comprises the widget container identification, configuration data, widget identification and requestor identification.
  • the method for displaying widget on a dashboard includes the steps of determining if a profile change is detected, generating a profile change event by the event generator (21) if a profile change is detected and the profile change is caused by an event triggered configuration and validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid.
  • the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13).
  • the widget container (13) validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads a uniform resource locator, URL of the widget content into the widget container (13) if the effective profile is valid.
  • the steps include selecting the widget container identification of the widget container (13) to be configured, selecting a widget template of intended widget type for the widget container (13) to be displayed, selecting and configuring relevant widget configuration data, compiling all of the selected widget configuration data by the profile selector module (11) and generating a profile change request by the profile selector module (11).
  • the profile change request is sent to the profile manager (22) for validation by ensuring all key-value pairs of the profile change request are valid.
  • the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13).
  • the widget container (13) validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads the URL of the widget content into the widget container (13) if the effective profile is valid.
  • FIG. 1 illustrates a system (100) for displaying widget on a dashboard according to an embodiment of the present invention.
  • FIG. 2 illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention.
  • FIG. 3 illustrates an example of visualisation of the widgets on the dashboard.
  • FIG. 4 illustrates a flowchart of sub-steps for generating a profile change event by an event generator (21) of the method of FIG. 2.
  • FIG. 5 illustrates a flowchart of sub-steps for generating a profile change request by a profile selector module (11) of the method of FIG. 2.
  • FIG. 6 illustrates an example of the dashboard with user configuration on a profile selector widget.
  • FIG. 1 illustrates a block diagram of a system (100) for displaying widget on a dashboard according to an embodiment of the present invention.
  • the system (100) comprises at least one client (10) and a server (20), wherein the client (10) is connected to the server (20).
  • the system (100) employs a transport protocol such as representational state transfer architecture, REST transactions, WebSockets protocol, and publish-subscribe messaging protocols.
  • the server (20) provides a service to the client (10) which initiates requests for such services.
  • the service refers to the functionality performed by the server (20), whereby examples of the service include but not limited to sharing data or resources among multiple clients (10), and performing computation for the client (10).
  • the client (10) may be a hardware or software that accesses the service made available by the server (20).
  • the system (100) displays one or more widgets on the dashboard based on whether a configuration is done by a user at the client (10) or an event occurred in the system (100) is detected by the server (20).
  • the client (10) comprises a profile selector module (11), an event agent module (12), and at least one widget container (13).
  • the widget container (13), which is connected to the event agent module (12), is a web-based application configured to conform to an effective profile.
  • the effective profile is a data structure which comprises a description of user interface elements and configuration.
  • the widget container (13) is also configured to update the user interface and configuration upon receiving the effective profile.
  • Each widget container (13) caches at least one widget (not shown), wherein each widget container (13) and each widget has a unique identification, ID.
  • the profile selector module (11) is configured to generate a profile change request based on user’s choice of widget container ID.
  • the profile change request comprises the widget container ID, configuration data, widget ID and requestor ID, wherein the configuration data includes but not limited to list of devices, measurement types, icons and arbitrary data provisioned in the server (20).
  • a format structure of the profile change request contains key-value pairs describing the profile change that is intended.
  • the key-value pair is a set of two linked data items, wherein the key is a unique identifier for some item of data, while the value is either the data that is identified or a pointer to the location of that data.
  • the profile selector module (11) stores a list of widget container ID of the widget container (13) in the dashboard.
  • the profile selector module (11) also stores a list of widget templates available in a widget template repository (25) of the server (20).
  • the profile selector module (11) may further be filled with desired configuration data.
  • the event agent module (12) which is connected to the profile selector module (11), widget container (13) and server (20).
  • the event agent module (12) is configured to convert the transport protocol employed in transmitting the profile change request or effective profile to and from the server (20).
  • the event agent module (12) is also configured to send the profile change request from the profile selector module (11) to the server (20) and distribute the effective profile to the widget container (13).
  • the server (20) comprises an event generator (21), a profile manager (22), a notification module (23), a profile queue manager (24), and the widget template repository (25).
  • the server (20) is connected to the event agent module (12) of the client (10) via the notification module (23).
  • the notification module (23) is connected to the event agent module (12) and profile queue manager (24).
  • the notification module (23) receives the profile change request from the event agent module (12) and converts the transport protocol employed in transmitting the profile change request from the event agent module (12).
  • the notification module (23) is also configured to convert the transport protocol employed in transmitting the effective profile to the event agent module (12) and forward the effective profile received from the profile manager (22) to the event agent module (12).
  • the profile queue manager (24) is connected to the event generator (21), profile manager (22) and notification module (23).
  • the profile queue manager (24) is used as a communication channel for the event generator (21), profile manager (22) and profile selector module (11) to exchange the profile change request, profile change event and effective profile.
  • a format structure of the profile change event contains key-value pairs describing the change that is intended.
  • the event generator (21) that is connected to the profile queue manager (24) is configured to trigger a profile change event when a predetermined condition is fulfilled. Examples of the conditions are a particular timing or a reading threshold.
  • the event generator (21) may trigger the profile change event if the reading threshold exceeds a predetermined threshold.
  • the profile change event comprises the widget container ID, configuration data, widget ID and requestor ID.
  • the profile manager (22) that is connected to the profile queue manager (24) is further connected to the widget template repository (25).
  • the profile manager (22) is configured to prepare, generate and publish the effective profile.
  • the profile manager (22) prepares the effective profile by collecting selected widget template from the widget template repository (25), collecting necessary data based on configuration data points and creating widget content.
  • the widget content is a web resource and is stored in a web server (not shown).
  • the widget content is supplied with a uniform resource locator, URL address as a widget payload key within the effective profile, wherein the URL refers to the address of the widget content.
  • the profile manager (22) generates the effective profile by packing all effective profile parameter value into the effective profile.
  • the profile manager (22) also publishes the effective profile to the profile queue manager (24).
  • the profile manager (22) is further configured to validate the profile change request and profile change event.
  • the profile manager (22) validates both profile change request or profile change event by ensuring all key-value pairs are valid.
  • the profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request or profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
  • the widget template repository (25) which is connected to the profile manager (22) is configured to store the preconfigured widget profile, wherein the widget profile may comprise user interface and selection configuration detail.
  • the widget template repository (25) also stores widget template which contains executable codes such as JavaScript and Hypertext Markup Language, HTML.
  • FIG. 2 illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention.
  • the system (100) determines if a profile change is detected as in decision 1005. If the profile change is detected and the profile change is caused by an event triggered configuration, the event generator (21) generates a profile change event as in step 1110. The profile change event is generated based on a set of conditions that are met. The sub-steps for generating the profile change event by the event generator (21) are further explained in relation to FIG. 4. Thereon, the profile manager (22) validates the profile change event as in step 1120. The profile manager (22) obtains the profile change event and determines if the contents of the profile change event are valid.
  • the profile manager (22) validates the profile change event by ensuring all key-value pairs of the profile change event are valid.
  • the profile manager (22) ensures all key-value pairs are valid by comparing the key-value pair of the profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
  • the profile selector module (11) generates a profile change request as in step 1210.
  • the profile change request is generated based on the user’s choice of widget container ID.
  • the sub-steps for generating the profile change request by the profile selector module (11) are further explained in relation to FIG. 5.
  • the profile manager (22) validates the profile change request as in step 1220.
  • the profile manager (22) obtains the profile change request and determines if the contents of the profile change request are valid.
  • the profile manager (22) validates the profile change request by ensuring all key-value pairs of the profile change request are valid.
  • the profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request with available widget template and combinations of configuration data suitable for the relevant widget template.
  • the profile manager (22) prepares the effective profile as in step 1300.
  • the profile manager (22) prepares the effective profile by extracting widget template, configuration data, and requestor ID from the key-value pair in the profile change event or profile change request format. If the widget template exists in the widget template repository (25), the profile manager (22) obtains the widget template from the widget template repository (25). The profile manager (22) then obtains the configuration data from the extracted profile change and combines the configuration data with the widget template to create a widget content.
  • the widget content is stored in the web server and the URL of the widget content is generated.
  • the profile manager (22) generates the effective profile as in step 1400.
  • the profile manager (22) fills the widget container ID within the effective profile with the same value of similar key from the profile change event or profile change request.
  • the profile manager (22) combines the data collected from the widget template such as HTML elements, fonts, colours, and JavaScripts to generate a widget on the server (20).
  • the URL of the widget content is inserted into a widget payload key within the effective profile.
  • the profile manager (22) then publishes the effective profile to the profile queue manager (24) as in step 1500.
  • the notification module (23) retrieves the effective profile from the profile queue manager (24) and relays the effective profile to the event agent module (12).
  • the event agent module (12) sends the effective profile to the widget container (13).
  • the widget container (13) Upon receiving the effective profile, the widget container (13) validates the effective profile by determining whether the widget container ID matches with the ID in the effective profile as in decision 1650. The URL of the widget content finally is loaded into the widget container (13) only if the widget container ID matches with the ID in the effective profile as in step 1700.
  • FIG. 3 An example of visualisation of the widget on the dashboard is illustrated in FIG. 3.
  • the dashboard displays a profile selector widget and a widget with a widget container ID 123.
  • the profile selector widget is a widget for the profile selector module (11), wherein the profile selector widget receives user’s configuration and thereon the profile selector module (11) generates the profile change request based on the user’s configuration.
  • the widget with the widget container ID 123 displays the widget content from the URL loaded into the widget container (13) if the widget container ID matches with the ID in the effective profile.
  • the relevant widget template to be used is a gauge meter. Additionally, as the widget content contains an additional alert data due to the temperature has exceed a threshold temperature, the relevant widget template to be used is an alert animation.
  • the widget with the widget container ID 123 displays the widget content using the relevant widget template.
  • the widget with the widget container ID 123 displays the temperature value on the gauge meter and the alert data in the alert animation.
  • the alert animation is displayed below the gauge meter.
  • the widget container ID does not match with the ID in the effective profile as in decision 1650 or if there is no profile change detected as in decision 1005, the widget container remains unchanged or unmodified.
  • the widget container may remain empty as there is no matching effective profile arriving from the server (20).
  • FIG. 4 illustrates a flowchart of sub-steps for generating the profile change event by the event generator (21) of the step 1110 of the method of FIG. 2.
  • the event generator (21) waits for an event to be triggered. If an event is triggered, the event generator (21) gathers all condition sets as in step 1112.
  • a condition set is a logical statement defining conditions which when met, an action will be taken.
  • An example of the condition set is measurement reading from a temperature sensor. When the temperature sensor detects that the temperature has gone over 100°C which is the threshold temperature, an action has to be executed to update a widget container with the gauge meter template. The temperature gauge meter is used to display the temperature reading with an alert animation.
  • the event generator (21) determines if any conditions are met as decision 1113. If at least one condition is met, the event generator (21) implements condition configuration as in step 1114.
  • the condition configuration establishes a list of target device, measurement type, icon selection and any arbitrary data relevant to widget template selected.
  • the alert animation is executed by gathering and applying relevant configuration details into the format structure of the profile change event.
  • the configuration details include but not limited to listing the targeted device, measurement type, widget template to be used, container ID to be affected and additional arbitrary data which is relevant to the widget in the widget template repository (25).
  • the event generator (21) then generates the profile change event as in step 1115 and the profile change event is sent to the profile queue manager (24) as in step 1116.
  • the profile queue manager (24) sends the profile change event to the profile manager (22) for validation as in step 1120 of the method of FIG. 2.
  • FIG. 5 Illustrates a flowchart of sub-steps for generating the profile change request by the profile selector module (11) of the step 1210 of the method of FIG. 2.
  • the user selects the widget container ID of the widget container (13) to be configured as in step 1211.
  • the user selects the widget template of intended widget type for the widget container (13) to display as in step 1212.
  • the user also selects and configures relevant widget configuration data as in step 1213.
  • the widget configuration data comprises the list of target device, measurement type, icon selection and any arbitrary data relevant to the widget template selected.
  • the user selects the widget container ID to be configured, widget template of intended widget type and relevant widget configuration from the profile selector widget on the dashboard as shown in FIG. 6.
  • FIG. 6 illustrates an example of the dashboard with the user configuration on the profile selector widget.
  • the profile selector module (11) receives the user’s configuration via the profile selector widget, the profile selector module (11) compiles all of the selected widget configuration data and generates the profile change request as in step 1214. The profile selector module (11) then sends the profile change request to the event agent module (12) which then sends the profile change request to the notification module (23). The profile change request is then sent to the profile queue manager (24) as in step 1215 which then forwards the profile change request to the profile manager (22) for validation as in step 1220 of FIG. 2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a system (100) and method for displaying widget on a dashboard. The system (100) comprises a client (10) and a server (20), wherein the client (10) is connected to the server (20). The server (20) provides a service to one or many clients (10) which initiates requests for such services. On the other hand, the client (10) may be a hardware or software that accesses the service made available by the server (20). The system (100) displays one or more widgets on the dashboard based on whether a configuration is done by a user at the client (10) or if an event which occurred in the system (100) is detected by the server (20).

Description

A SYSTEM AND METHOD FOR DISPLAYING WIDGET ON A DASHBOARD
FIELD OF INVENTION
The present invention relates to a system and method for displaying widget on a dashboard. More particularly, the present invention relates to a system and method for displaying widget on a dashboard based on event triggered and user’s request.
BACKGROUND OF THE INVENTION
In a sensor monitoring system, a plurality of sensors are used to provide different readings, whereby a dashboard is required to monitor all the readings from the sensors. The data from the sensors are displayed in a form of widgets, wherein widgets are elements of graphical user interface that display information or provide a specific way for interaction between a user and an operating system or an application. Although the data from the sensors are displayed by the widgets, it is difficult to display all the required data from all the sensors at the same time on a fixed structure dashboard. Therefore, systems and methods are developed to dynamically visualise all data from all of the sensors.
An example of such system and method is disclosed in a United States Patent Publication No. 2015/0153918 A1 which relates to a digital dashboard application. The digital dashboard application extracts data, performs data processing on the extracted data, and displays the analysed data as widgets in a dashboard format. The digital dashboard application may access a widget library whereby an end user may download a widget from the widget library to add the widget into the digital dashboard application. The digital dashboard application may be installed, set up and maintained by the end user.
Another example of a system and method for displaying widget on a dashboard is disclosed in a United States Patent No. 7,954,064 B2 which relates to systems and methods for organising, managing and presenting widgets in display area. The system includes a processor which interacts with a user interface to provide two dashboard environments. The first dashboard environment is invoked from the user interface, while the second dashboard environment is invoked from the first dashboard environment. Each dashboard environment includes a layer relative to a desktop and is separately displayable over the desktop. The desktop is inactivated in such a way that the visible elements on the desktop cannot be interacted with when the selected dashboard environment is displayed.
Although there are many systems and method for displaying widget on a dashboard, most of the systems and methods allow user to position the widgets in a desired arrangement such as overlapping, minimising, maximising and the like. Although such flexibility may be useful to the user, the arrangement may result in a cluttered display screen. Additionally, the cluttered screen may lead to information overload, thus, preventing the user from efficiently using the computer equipment due to difficulty in locating the relevant data. Therefore, there is a need for a system and method for displaying widget on a dashboard which addresses the mentioned problems.
SUMMARY OF INVENTION
The present invention relates to a system (100) and method for displaying widget on a dashboard. The system (100) for displaying widget on a dashboard comprising a server (20) configured to provide a service to at least one client (10) that initiates requests for such services and the at least one client (10) that accesses the service made available by the server (20). The server (20) comprising an event generator (21) configured to trigger profile change event when a predetermined condition is fulfilled and a profile manager (22) configured to validate the profile change request or profile change event, and prepare, generate and publish the effective profile. The client (10) comprising a widget container (13) configured to conform to an effective profile and caches at least one widget, wherein the effective profile is a data structure that comprises description of user interface elements and configuration and a profile selector module (11) configured to generate profile change request based on user’s choice of widget container identification, wherein the profile change request comprises the widget container identification, configuration data, widget identification and requestor identification.
The method for displaying widget on a dashboard includes the steps of determining if a profile change is detected, generating a profile change event by the event generator (21) if a profile change is detected and the profile change is caused by an event triggered configuration and validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid. Thereon, the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13). The widget container (13) then validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads a uniform resource locator, URL of the widget content into the widget container (13) if the effective profile is valid.
Preferably, if the profile change is detected and the profile change is caused by a configuration done by a user, the steps include selecting the widget container identification of the widget container (13) to be configured, selecting a widget template of intended widget type for the widget container (13) to be displayed, selecting and configuring relevant widget configuration data, compiling all of the selected widget configuration data by the profile selector module (11) and generating a profile change request by the profile selector module (11). The profile change request is sent to the profile manager (22) for validation by ensuring all key-value pairs of the profile change request are valid. Thereon, the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13). The widget container (13) then validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads the URL of the widget content into the widget container (13) if the effective profile is valid.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIG. 1 illustrates a system (100) for displaying widget on a dashboard according to an embodiment of the present invention.
FIG. 2 illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention. FIG. 3 illustrates an example of visualisation of the widgets on the dashboard.
FIG. 4 illustrates a flowchart of sub-steps for generating a profile change event by an event generator (21) of the method of FIG. 2.
FIG. 5 illustrates a flowchart of sub-steps for generating a profile change request by a profile selector module (11) of the method of FIG. 2.
FIG. 6 illustrates an example of the dashboard with user configuration on a profile selector widget.
DESCRIPTION OF THE PREFERRED EMBODIMENT
A preferred embodiment of the present invention will be described herein below with reference to the accompanying drawings. In the following description, well known functions or constructions are not described in detail since they would obscure the description with unnecessary detail.
Initial reference is made to FIG. 1 which illustrates a block diagram of a system (100) for displaying widget on a dashboard according to an embodiment of the present invention. The system (100) comprises at least one client (10) and a server (20), wherein the client (10) is connected to the server (20). In order for the client (10) and the server (20) to communicate with each other, the system (100) employs a transport protocol such as representational state transfer architecture, REST transactions, WebSockets protocol, and publish-subscribe messaging protocols.
The server (20) provides a service to the client (10) which initiates requests for such services. The service refers to the functionality performed by the server (20), whereby examples of the service include but not limited to sharing data or resources among multiple clients (10), and performing computation for the client (10). On the other hand, the client (10) may be a hardware or software that accesses the service made available by the server (20). The system (100) displays one or more widgets on the dashboard based on whether a configuration is done by a user at the client (10) or an event occurred in the system (100) is detected by the server (20). The client (10) comprises a profile selector module (11), an event agent module (12), and at least one widget container (13). The widget container (13), which is connected to the event agent module (12), is a web-based application configured to conform to an effective profile. The effective profile is a data structure which comprises a description of user interface elements and configuration. The widget container (13) is also configured to update the user interface and configuration upon receiving the effective profile. Each widget container (13) caches at least one widget (not shown), wherein each widget container (13) and each widget has a unique identification, ID.
The profile selector module (11) is configured to generate a profile change request based on user’s choice of widget container ID. The profile change request comprises the widget container ID, configuration data, widget ID and requestor ID, wherein the configuration data includes but not limited to list of devices, measurement types, icons and arbitrary data provisioned in the server (20). A format structure of the profile change request contains key-value pairs describing the profile change that is intended. The key-value pair is a set of two linked data items, wherein the key is a unique identifier for some item of data, while the value is either the data that is identified or a pointer to the location of that data.
The profile selector module (11) stores a list of widget container ID of the widget container (13) in the dashboard. The profile selector module (11) also stores a list of widget templates available in a widget template repository (25) of the server (20). The profile selector module (11) may further be filled with desired configuration data.
The event agent module (12) which is connected to the profile selector module (11), widget container (13) and server (20). The event agent module (12) is configured to convert the transport protocol employed in transmitting the profile change request or effective profile to and from the server (20). The event agent module (12) is also configured to send the profile change request from the profile selector module (11) to the server (20) and distribute the effective profile to the widget container (13). The server (20) comprises an event generator (21), a profile manager (22), a notification module (23), a profile queue manager (24), and the widget template repository (25). The server (20) is connected to the event agent module (12) of the client (10) via the notification module (23).
The notification module (23) is connected to the event agent module (12) and profile queue manager (24). The notification module (23) receives the profile change request from the event agent module (12) and converts the transport protocol employed in transmitting the profile change request from the event agent module (12).
The notification module (23), which is further connected to the profile manager (22) and profile queue manager (24), forward the profile change request received from the event agent module (12) to the profile queue manager (24). The notification module (23) is also configured to convert the transport protocol employed in transmitting the effective profile to the event agent module (12) and forward the effective profile received from the profile manager (22) to the event agent module (12).
The profile queue manager (24) is connected to the event generator (21), profile manager (22) and notification module (23). The profile queue manager (24) is used as a communication channel for the event generator (21), profile manager (22) and profile selector module (11) to exchange the profile change request, profile change event and effective profile. A format structure of the profile change event contains key-value pairs describing the change that is intended.
The event generator (21) that is connected to the profile queue manager (24) is configured to trigger a profile change event when a predetermined condition is fulfilled. Examples of the conditions are a particular timing or a reading threshold. The event generator (21) may trigger the profile change event if the reading threshold exceeds a predetermined threshold. The profile change event comprises the widget container ID, configuration data, widget ID and requestor ID.
The profile manager (22) that is connected to the profile queue manager (24) is further connected to the widget template repository (25). The profile manager (22) is configured to prepare, generate and publish the effective profile. The profile manager (22) prepares the effective profile by collecting selected widget template from the widget template repository (25), collecting necessary data based on configuration data points and creating widget content. The widget content is a web resource and is stored in a web server (not shown). The widget content is supplied with a uniform resource locator, URL address as a widget payload key within the effective profile, wherein the URL refers to the address of the widget content.
The profile manager (22) generates the effective profile by packing all effective profile parameter value into the effective profile. The profile manager (22) also publishes the effective profile to the profile queue manager (24).
The profile manager (22) is further configured to validate the profile change request and profile change event. The profile manager (22) validates both profile change request or profile change event by ensuring all key-value pairs are valid. The profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request or profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
The widget template repository (25) which is connected to the profile manager (22) is configured to store the preconfigured widget profile, wherein the widget profile may comprise user interface and selection configuration detail. The widget template repository (25) also stores widget template which contains executable codes such as JavaScript and Hypertext Markup Language, HTML.
Reference is now made to FIG. 2 which illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention. Initially, the system (100) determines if a profile change is detected as in decision 1005. If the profile change is detected and the profile change is caused by an event triggered configuration, the event generator (21) generates a profile change event as in step 1110. The profile change event is generated based on a set of conditions that are met. The sub-steps for generating the profile change event by the event generator (21) are further explained in relation to FIG. 4. Thereon, the profile manager (22) validates the profile change event as in step 1120. The profile manager (22) obtains the profile change event and determines if the contents of the profile change event are valid. The profile manager (22) validates the profile change event by ensuring all key-value pairs of the profile change event are valid. The profile manager (22) ensures all key-value pairs are valid by comparing the key-value pair of the profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
However, if the profile change is detected and the profile change is caused by a configuration done by the user as in decision 1005, the profile selector module (11) generates a profile change request as in step 1210. The profile change request is generated based on the user’s choice of widget container ID. The sub-steps for generating the profile change request by the profile selector module (11) are further explained in relation to FIG. 5.
Thereon, the profile manager (22) validates the profile change request as in step 1220. The profile manager (22) obtains the profile change request and determines if the contents of the profile change request are valid. The profile manager (22) validates the profile change request by ensuring all key-value pairs of the profile change request are valid. The profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request with available widget template and combinations of configuration data suitable for the relevant widget template.
Once the profile manager (22) has validated either the profile change event or profile change request as in step 1120 or step 1220 respectively, the profile manager (22) prepares the effective profile as in step 1300. The profile manager (22) prepares the effective profile by extracting widget template, configuration data, and requestor ID from the key-value pair in the profile change event or profile change request format. If the widget template exists in the widget template repository (25), the profile manager (22) obtains the widget template from the widget template repository (25). The profile manager (22) then obtains the configuration data from the extracted profile change and combines the configuration data with the widget template to create a widget content. The widget content is stored in the web server and the URL of the widget content is generated.
Afterward, the profile manager (22) generates the effective profile as in step 1400. The profile manager (22) fills the widget container ID within the effective profile with the same value of similar key from the profile change event or profile change request. The profile manager (22) combines the data collected from the widget template such as HTML elements, fonts, colours, and JavaScripts to generate a widget on the server (20). The URL of the widget content is inserted into a widget payload key within the effective profile.
The profile manager (22) then publishes the effective profile to the profile queue manager (24) as in step 1500. The notification module (23) retrieves the effective profile from the profile queue manager (24) and relays the effective profile to the event agent module (12). The event agent module (12) sends the effective profile to the widget container (13).
Upon receiving the effective profile, the widget container (13) validates the effective profile by determining whether the widget container ID matches with the ID in the effective profile as in decision 1650. The URL of the widget content finally is loaded into the widget container (13) only if the widget container ID matches with the ID in the effective profile as in step 1700.
An example of visualisation of the widget on the dashboard is illustrated in FIG. 3. As shown in FIG. 3, the dashboard displays a profile selector widget and a widget with a widget container ID 123. The profile selector widget is a widget for the profile selector module (11), wherein the profile selector widget receives user’s configuration and thereon the profile selector module (11) generates the profile change request based on the user’s configuration.
The widget with the widget container ID 123 displays the widget content from the URL loaded into the widget container (13) if the widget container ID matches with the ID in the effective profile. As the widget content contains the temperature value detected by a sensor, the relevant widget template to be used is a gauge meter. Additionally, as the widget content contains an additional alert data due to the temperature has exceed a threshold temperature, the relevant widget template to be used is an alert animation.
Therefore, the widget with the widget container ID 123 displays the widget content using the relevant widget template. In this case, the widget with the widget container ID 123 displays the temperature value on the gauge meter and the alert data in the alert animation. The alert animation is displayed below the gauge meter.
Referring back to FIG. 2, if the widget container ID does not match with the ID in the effective profile as in decision 1650 or if there is no profile change detected as in decision 1005, the widget container remains unchanged or unmodified. The widget container may remain empty as there is no matching effective profile arriving from the server (20).
FIG. 4 illustrates a flowchart of sub-steps for generating the profile change event by the event generator (21) of the step 1110 of the method of FIG. 2. Initially, the event generator (21) waits for an event to be triggered. If an event is triggered, the event generator (21) gathers all condition sets as in step 1112. A condition set is a logical statement defining conditions which when met, an action will be taken. An example of the condition set is measurement reading from a temperature sensor. When the temperature sensor detects that the temperature has gone over 100°C which is the threshold temperature, an action has to be executed to update a widget container with the gauge meter template. The temperature gauge meter is used to display the temperature reading with an alert animation.
Thereon, the event generator (21) determines if any conditions are met as decision 1113. If at least one condition is met, the event generator (21) implements condition configuration as in step 1114. The condition configuration establishes a list of target device, measurement type, icon selection and any arbitrary data relevant to widget template selected.
Referring to the earlier example, once the temperature sensor detects that the temperature has gone over 100°C, the alert animation is executed by gathering and applying relevant configuration details into the format structure of the profile change event. The configuration details include but not limited to listing the targeted device, measurement type, widget template to be used, container ID to be affected and additional arbitrary data which is relevant to the widget in the widget template repository (25).
The event generator (21) then generates the profile change event as in step 1115 and the profile change event is sent to the profile queue manager (24) as in step 1116. The profile queue manager (24) sends the profile change event to the profile manager (22) for validation as in step 1120 of the method of FIG. 2.
FIG. 5. Illustrates a flowchart of sub-steps for generating the profile change request by the profile selector module (11) of the step 1210 of the method of FIG. 2. Initially, the user selects the widget container ID of the widget container (13) to be configured as in step 1211. Thereon, the user selects the widget template of intended widget type for the widget container (13) to display as in step 1212.
The user also selects and configures relevant widget configuration data as in step 1213. The widget configuration data comprises the list of target device, measurement type, icon selection and any arbitrary data relevant to the widget template selected. The user selects the widget container ID to be configured, widget template of intended widget type and relevant widget configuration from the profile selector widget on the dashboard as shown in FIG. 6. FIG. 6 illustrates an example of the dashboard with the user configuration on the profile selector widget.
Once the profile selector module (11) receives the user’s configuration via the profile selector widget, the profile selector module (11) compiles all of the selected widget configuration data and generates the profile change request as in step 1214. The profile selector module (11) then sends the profile change request to the event agent module (12) which then sends the profile change request to the notification module (23). The profile change request is then sent to the profile queue manager (24) as in step 1215 which then forwards the profile change request to the profile manager (22) for validation as in step 1220 of FIG. 2.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specifications are words of description rather than limitation and various changes may be made without departing from the scope of the invention.

Claims

1 . A system (100) for displaying widget on a dashboard comprising:
a) a server (20) configured to provide a service to at least one client (10) that initiates requests for such services, wherein the service refers to the functionality performed by the server (20), and wherein the server
(20) further comprising:
i. an event generator (21) configured to trigger profile change event when a predetermined condition is fulfilled; and b) the at least one client (10) that accesses the service made available by the server (20), wherein the client (10) further comprising:
i. a widget container (13) configured to conform to an effective profile and caches at least one widget, wherein the effective profile is a data structure that comprises description of user interface elements and configuration; and ii. a profile selector module (11) configured to generate profile change request based on user’s choice of widget container identification, wherein the profile change request comprises the widget container identification, configuration data, widget identification and requestor identification;
characterised in that the server (20) further comprising:
iii. a profile manager (22) configured to validate the profile change request or profile change event, and prepare, generate and publish the effective profile. 2. The system (100) as claimed in claim 1 , wherein the server (20) further comprising:
a) a notification module (23) configured to convert transport protocol employed in transmitting the profile change request or effective profile to or from the at least one client (10);
b) a profile queue manager (24) configured to be used as a communication channel for the event generator (21), profile manager (22) and profile selector module (11) to exchange the profile change request, profile change event and effective profile; and c) a widget template repository (25) configured to store a preconfigured widget profile and a widget template that contains executable codes, wherein the widget profile comprises user interface and selection configuration detail.
3. The system (100) as claimed in claim 1 , wherein the client (10) further comprising an event agent module (12) configured to convert transport protocol employed in transmitting the profile change request or effective profile to and from the server (20) and send the profile change request from the profile selector module (11) to the server (20), and format and distribute the effective profile to the widgets installed in the widget container (13).
4. A method for displaying widget on a dashboard is characterised by the steps of:
a) determining if a profile change is detected;
b) generating a profile change event by the event generator (21) if a profile change is detected and the profile change is caused by an event triggered configuration;
c) validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid; d) preparing an effective profile by the profile manager (22); e) generating the effective profile by the profile manager (22); f) publishing the effective profile to a widget container (13) by the profile manager (22);
g) validating the effective profile by determining whether the widget container identification matches with an identification in the effective profile by the widget container (13); and
h) loading a uniform resource locator, URL of the widget content into the widget container (13) if the effective profile is valid.
5. The method as claimed in claim 4, wherein if the profile change is detected and the profile change is caused by a configuration done by a user, the steps include;
a) selecting the widget container identification of the widget container (13) to be configured;
b) selecting a widget template of intended widget type for the widget container (13) to be displayed; c) selecting and configuring relevant widget configuration data;
d) compiling all of the selected widget configuration data by the profile selector module (11);
e) generating a profile change request by the profile selector module (11);
f) sending the profile change request to the profile manager (22);
g) validating the profile change request by a profile manager (22) by ensuring all key-value pairs of the profile change request are valid; h) preparing the effective profile by the profile manager (22); i) generating the effective profile by the profile manager (22); j) publishing the effective profile to a widget container (13) by the profile manager (22);
k) validating the effective profile by determining whether the widget container identification matches with an identification in the effective profile by the widget container (13); and
L) loading the URL of the widget content into the widget container (13) if the effective profile is valid.
6. The method as claimed in claim 5, wherein validating the profile change request by a profile manager (22) by ensuring all key-value pairs of the profile change request are valid includes the step of comparing the key-value pair of profile change request with available widget template and combination of configuration data suitable for relevant widget template. 7. The method as claimed in claim 5, wherein preparing the effective profile by the profile manager (22) includes the steps of:
a) extracting widget template, configuration data and requestor identification from key-value pair in the profile change request, wherein configuration data includes list of devices, measurement types, icons and arbitrary data provisioned in the server (20);
b) obtaining widget template from a widget template repository (25) if the widget template exists in the widget template repository (25);
c) obtaining configuration data from extracted profile change; d) creating a widget content by combining the configuration data with the widget template; and e) generating the URL of the widget content.
8. The method as claimed in claim 5, wherein generating the effective profile by the profile manager (22) includes the steps of:
a) filling widget container identification with same value of similar key from the profile change request;
b) generating a widget on the server (20) by combining data collected from widget template, wherein the data include Hypertext Markup Language, HTML elements, fonts, colours, and JavaScripts; and c) inserting the URL of the widget content into a widget payload key.
9. The method as claimed in claim 4, wherein generating the profile change event by the event generator (21) if an event occurred in the system (100) is detected by the event generator (21) and the profile change is caused by an event triggered configuration includes the steps of:
a) gathering all condition sets;
b) determining if any conditions are met; and
c) implementing condition configuration if at least one condition is met. 10. The method as claimed in claim 4, wherein validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid includes the step of comparing the key-value pair of profile change event with available widget template and combination of configuration data suitable for relevant widget template.
1 1. The method as claimed in claim 4, wherein preparing the effective profile by the profile manager (22) includes the steps of:
a) extracting widget template, configuration data and requestor identification from key-value pair in the profile change event, wherein configuration data includes list of devices, measurement types, icons and arbitrary data provisioned in the server (20);
b) obtaining widget template from a widget template repository (25) if the widget template exists in the widget template repository (25);
c) obtaining configuration data from extracted profile change; d) creating a widget content by combining the configuration data with the widget template; and
e) generating the URL of the widget content. 12. The method as claimed in claim 4, wherein generating the effective profile by the profile manager (22) includes the steps of:
a) filling widget container identification with same value of similar key from the profile change event;
b) generating a widget on the server (20) by combining data collected from widget template, wherein the data include Hypertext Markup
Language, HTML elements, fonts, colours, and JavaScripts; and c) inserting the URL of the widget content into a widget payload key.
PCT/MY2019/050090 2018-11-14 2019-11-13 A system and method for displaying widget on a dashboard Ceased WO2020101475A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2018001928A MY193227A (en) 2018-11-14 2018-11-14 A system and method for displaying widget on a dashboard
MYPI2018001928 2018-11-14

Publications (1)

Publication Number Publication Date
WO2020101475A1 true WO2020101475A1 (en) 2020-05-22

Family

ID=70730718

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2019/050090 Ceased WO2020101475A1 (en) 2018-11-14 2019-11-13 A system and method for displaying widget on a dashboard

Country Status (2)

Country Link
MY (1) MY193227A (en)
WO (1) WO2020101475A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024502898A (en) * 2021-05-21 2024-01-23 中興通訊股▲ふん▼有限公司 Widget generation method, device, electronic device, computer program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058216A1 (en) * 2008-09-01 2010-03-04 Samsung Electronics Co., Ltd. Apparatus and method for providing user interface to generate a menu list
US20110099487A1 (en) * 2006-01-23 2011-04-28 Nokia Corporation End-to-end solution for an end-user to obtain desired information in user interfaces
US20130275890A1 (en) * 2009-10-23 2013-10-17 Mark Caron Mobile widget dashboard
US20150153918A1 (en) * 2013-12-04 2015-06-04 General Electric Company System and method for dashboard software maintained by an end user
US20170199633A1 (en) * 2005-10-27 2017-07-13 Apple Inc. Workflow widgets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170199633A1 (en) * 2005-10-27 2017-07-13 Apple Inc. Workflow widgets
US20110099487A1 (en) * 2006-01-23 2011-04-28 Nokia Corporation End-to-end solution for an end-user to obtain desired information in user interfaces
US20100058216A1 (en) * 2008-09-01 2010-03-04 Samsung Electronics Co., Ltd. Apparatus and method for providing user interface to generate a menu list
US20130275890A1 (en) * 2009-10-23 2013-10-17 Mark Caron Mobile widget dashboard
US20150153918A1 (en) * 2013-12-04 2015-06-04 General Electric Company System and method for dashboard software maintained by an end user

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024502898A (en) * 2021-05-21 2024-01-23 中興通訊股▲ふん▼有限公司 Widget generation method, device, electronic device, computer program
JP7606622B2 (en) 2021-05-21 2024-12-25 中興通訊股▲ふん▼有限公司 Widget generating method, device, electronic device, and computer program

Also Published As

Publication number Publication date
MY193227A (en) 2022-09-26

Similar Documents

Publication Publication Date Title
US10667101B2 (en) Contextual deep linking of applications
US11640289B2 (en) Microservices cloud-native architecture for ubiquitous simulation as a service
US9742858B2 (en) Assessment of content delivery services using performance measurements from within an end user client application
CN112748962B (en) Application loading method, device, electronic equipment and computer readable medium
US20100138437A1 (en) User tracking for browser activities
EP2801172B1 (en) Encoding application state in linked resources in a stateless microkernel web server architecture
US8775554B2 (en) Cloud-based web page applications for extending functionality
CN104572968B (en) A kind of method for updating pages and device
US9524147B2 (en) Entity-based cross-application navigation
CN101405723A (en) Estimation of initial dynamic rendering control data
CN110096656B (en) Systems and methods for mapping page states
US20140019517A1 (en) Web-hosted shipping system and method of use thereof
US20120054327A1 (en) Site redirection
CN110958462A (en) Live broadcast activity page display method and device, storage medium and live broadcast system
US20130124971A1 (en) Real time web script refresh using asynchronous polling without full web page reload
CN110674435A (en) Page access method, server, terminal, electronic equipment and readable storage medium
US11048853B2 (en) System and method for resource presentation
WO2020101475A1 (en) A system and method for displaying widget on a dashboard
US20190005155A1 (en) Visualization management device, data management device, data visualization system, visualization management method, and program product
CN119002966A (en) Method and system for automatically updating version based on single-page web front end
US9696885B2 (en) Integrated user interface using linked data
CN112083982A (en) Information processing method and device
CN111597485A (en) Information presentation method and device
US11663117B2 (en) Customizable decision service
US10592476B2 (en) Enabling clients to expose secured files via virtual hosts

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19885760

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19885760

Country of ref document: EP

Kind code of ref document: A1