System and method for managing refresh rate of applications presented on a display

Through computing devices managing visual information on client displays, dynamically adjusting the application's refresh rate and video compression solutions, the network traffic and CPU load problems caused by KVM displays under multi-client connections are solved, and more efficient network resource utilization and device life extension are achieved.

CN117795478BActive Publication Date: 2025-04-25VERTIV IT SYST INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280054237.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-08-03
Filing Date
2022-08-02
Publication Date
2025-04-25
Estimated Expiration
2042-08-02

AI Technical Summary

Technical Problem

Existing KVM displays result in unnecessary increase in network traffic under multi-client connections and excessive CPU load on client computers, resulting in a shorter device service life.

Method used

Manage visual information on the client display through computing devices, dynamically adjust the refresh rate of multiple applications, and select appropriate video compression schemes based on network bandwidth and user interaction to reduce network load and CPU usage.

Benefits of technology

It effectively reduces network traffic and CPU load on client computers, extends the service life of the device, and improves the monitoring efficiency of multiple servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117795478B_ABST
    Figure CN117795478B_ABST
Patent Text Reader

Abstract

A system and method for managing refresh rates of applications running on a display device is disclosed. A computing device is designed to monitor and slow down / reduce the refresh rates of some applications running on the display device, while also allowing other applications to run at fast / increased refresh rates. Each application is associated with a target device (e.g., a server). The computing device can regulate a continuous stream of data, allowing some applications to access data while restricting / blocking other applications from accessing data. Applications that can access data can run at a fast refresh rate, while the remaining applications are updated at a slow refresh rate. Thus, applications running at a fast refresh rate allow a user viewing the display device to actively monitor various servers associated with fast-running applications, while reducing network load based on relatively slow-running applications.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This PCT international patent application claims the benefit of and priority to U.S. Provisional Patent Application Serial No. 63 / 229,055, filed on August 3, 2021, the entire disclosure of which is incorporated herein by reference. Technical Field

[0003] The following description relates to managing multiple applications running on a client display. In particular, the description relates to a computing device designed to change the polling rate / sampling rate of multiple applications running on a client display to allow some applications to run at a faster refresh rate than other applications. Background Art

[0004] Conventional keyboard / video / mouse ("KVM") redirection mechanisms over Internet Protocol ("IP") networks rely on managing differential screen changes on displays of multiple target devices. These screen changes are transmitted in a continuous stream of network packets. This transmission is performed to all connected client computers that want to display the data, regardless of whether a particular client computer user utilizes the data presented on the display, or whether the user in front of the client computer is interested in viewing the data. Due to the nature of network packets containing differential data, a single client cannot decide to skip or bypass receiving these packets. Therefore, there is a relationship with previously received packets. Therefore, in conventional KVM displays, the exact same continuous data stream is transmitted to all connected clients, resulting in a large amount of potentially unnecessary network traffic. This problem is multiplied for each additional client display device added to the network. In addition, the KVM display (or the computer running the KVM display) is subjected to additional CPU usage, which shortens the useful life of the KVM display. Summary of the invention

[0005] According to some embodiments of the present disclosure, a computing device configured to manage visual information on a client display is described. The computing device may include a memory device storing executable instructions for running an application on a client display. The computing device may also include a processor communicatively coupled to the memory device, the processor configured to perform steps including running a first application and a second application at a first refresh rate. The step may also include receiving an instruction to select the first application. The step may also include causing the first application to run at a second refresh rate different from the first refresh rate based on the instruction.

[0006] According to other embodiments of the present disclosure, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium is configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to manage visual information on a client display by performing the following steps, the steps including running a first application and a second application at a first refresh rate. The steps may also include receiving an instruction to select the first application. The steps may also include causing the first application to run at a second refresh rate different from the first refresh rate based on the instruction.

[0007] According to other embodiments of the present disclosure, a method for managing visual information on a client display is described. The method may be performed by a computing device including a processor. The method may include running a first application and a second application at a first refresh rate. The method may also include receiving an instruction to select the first application. The method may include causing the first application to run at a second refresh rate different from the first refresh rate based on the instruction.

[0008] Other systems, methods, features and advantages of the various embodiments will be or will become apparent to one of ordinary skill in the art by examining the following drawings and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description and this summary, be within the scope of the embodiments, and be protected by the following claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The present disclosure will be readily understood through the following detailed description in conjunction with the accompanying drawings, in which like reference numerals represent like structural elements, and in which:

[0010] Figure 1 A system diagram illustrating a plurality of KVM devices in communication with a computing device according to some described embodiments;

[0011] Figure 2 shows a block diagram of a computing device according to some described implementations;

[0012] FIG. 3A to FIG. 3D shows a display in which exemplary visual information is presented on the display according to some described embodiments;

[0013] Figure 4 A display device presenting visual information received from a plurality of displays is shown according to some described embodiments;

[0014] Figure 5 A schematic diagram of a display device showing several windows and associated refresh rates is shown, according to some described implementations.

[0015] Figure 6A flowchart illustrating a process for managing visual information on a client display according to some described implementations is shown; and

[0016] Figure 7 Shown are detailed views of computing devices that can be used to implement the various apparatuses.

[0017] Those skilled in the art will recognize and understand that, according to common practice, the various features of the drawings discussed below are not necessarily drawn to scale and that the sizes of the various features and elements of the drawings may be expanded or reduced to more clearly illustrate the embodiments of the invention described herein. DETAILED DESCRIPTION

[0018] Reference will now be made in detail to the representative embodiments shown in the accompanying drawings. It should be understood that the following description is not intended to limit the embodiments to a preferred embodiment. Instead, it is intended to cover the alternatives, modifications and equivalents that may be included within the spirit and scope of the described embodiments defined by the appended claims.

[0019] In the following detailed description, reference is made to the accompanying drawings, which form a part of the description and in which are shown by way of illustration specific embodiments in accordance with the described embodiments. Although these embodiments are described in sufficient detail to enable those skilled in the art to practice the described embodiments, it is to be understood that these examples are not limiting, and other embodiments may be used and changes may be made without departing from the spirit and scope of the described embodiments.

[0020] The following disclosure relates to a computing device that changes the continuous data stream used on a client display device. For example, one or more target devices (e.g., server) provide a continuous data stream to a computing device, and then the continuous data stream is sent to the client display device. In order to view the data stream from each server, the client display device represents each server as an application or window (e.g., a web browser or some other network applications) on the display screen of the client display device. In this regard, the client display device can run the application about each server, and imitate the miniature version of the display (connected to a single server) as a window. Therefore, for n servers, the client display device can run n applications at a time, presenting n applications as visual information (e.g., video / motion image, still image and / or text information) for monitoring n servers. Based on various activity levels and real-time use between servers, the client display device receives visual information and presents visual information in the form of differential changes on the corresponding application. In other words, based on the differential activity level of each server, one or more applications can be different from the rest of the applications for updating / changing. However, using the computing device as an intermediate hardware device between the server and the client display device, the client display device can stop receiving the continuous data stream with differential changes for some applications and continue to receive the data stream of selected some applications.

[0021] The computing device may include a keyboard / video / mouse ("KVM") device. When the video is compressed using some type of compression engine within the KVM device, it must be decompressed using the same type of decompression engine after the video is received by the user's browser. There are many different video compression protocols currently used by different manufacturers. For example, Dambrackas Video Compression ("DVC") or Run Length Encoding ("RLE") can be used to transmit video signals. Other well-known compression schemes are JPEG and PNG. However, JPEG and PNG are typically used for still images due to bandwidth requirements when compared to specialized video compression engines. Those skilled in the art will appreciate that various other compression protocols also exist. For example, in a data center, one video server may provide video content encoded with DVC, while another video server uses RLE to encode the video file content it provides.

[0022] As an example, when multiple applications are running on a client display device, the computing device may reduce the refresh rate (also referred to as the polling rate or sampling rate) of the application measured in Hertz ("Hz") or frames per second ("fps") to a rate below the specification of the client display device (and below the refresh rate specification of the application). In addition, when the computing device detects that a threshold refresh rate is required, the computing device may request to use another compression engine to send the video. For example, when the requested refresh rate requires updates on the order of several seconds, still image compression technology may be utilized. When at least one application is selected, the computing device allows the selected application to run at a faster refresh rate than the remaining applications. In this regard, it may be desirable to monitor a specific server for various reasons. The selected application may represent a specific server of interest to the user viewing the client display device. Therefore, in order to monitor the server in the manner expected by the server (i.e., in real time and at a higher possible refresh rate or close to a higher possible refresh rate), the selected applications each associated with a specific server are allowed to receive a continuous data stream and run at a higher refresh rate on the client display device. In contrast, the unselected applications updated at a slower refresh rate represent servers (or servers) that are less interesting to the user. Unselected applications may be represented by an image comprising a compressed image file that is updated based on a (relatively) slow refresh rate. Alternatively, an application may be considered "unselected" when it is minimized on the client display screen, since the application is typically not visible on the client display screen. By reducing the refresh rate of several applications, or even switching these applications to a compression scheme based on still images, and increasing the refresh rate of a selected number of applications, the overall network load may be significantly reduced. Thus, the reduced network load reduces the load on certain hardware components (e.g., CPU, GPU) of the computing system running the client display device, thereby increasing the life of the computing system.

[0023] In some embodiments, the computing device monitors the network bandwidth from one or more targets. When the network bandwidth drops below the threshold network bandwidth, the computing device can act as a switch to close the live video data of each web browser running on one or more client devices. In addition, the computing device can provide a still image instead of the live video data, and periodically update. On the contrary, the computing device can open the live video data of one or more client electronic devices when the threshold network bandwidth or higher than the threshold network bandwidth. Alternatively or in combination, the computing device can receive (for example, from one or more client electronic devices) instructions to limit or prevent continuous data flow. For example, when multiple applications are running on a client display device, the user can choose which (which) application to monitor, and the selection provides instructions to the computing device, so that the computing device increases the refresh rate of the selected application. In addition, in some embodiments, the computing device can first cut off the live video streams of all applications running on the corresponding client electronic device, and then open the selected application.

[0024] The need for such computing devices arises in large data center management situations where a system administrator (i.e., user) may be interested in viewing the contents of a large number of remote targets (e.g., servers) simultaneously, but is actively managing and operating a specific target system and therefore inefficiently using network load and the client computer's CPU load due to the fast refresh rate of the client display screen.

[0025] Refer to the following Figures 1 to 7 These and other embodiments are discussed. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for illustration purposes only and should not be construed as limiting.

[0026] Figure 1A diagram of a keyboard / video / mouse ("KVM") system 100 for multiple target devices (e.g., servers) communicating with a computing device according to some described embodiments is shown. As shown, the system 100 includes multiple servers, represented as server 102-1, server 102-2, server 102-3, and server 102-n, where n is an integer. Servers 102-1, 102-2, 102-3 to 102-n are designed to perform various services to client devices, such as storing, sending, and receiving data (as non-limiting data). Although not shown, servers 102-1, 102-2, 102-3 to 102-n can be connected to a network accessible to multiple client devices. System 100 includes display devices 104-1, display devices 104-2, display devices 104-3, display devices 104-n, respectively connected (e.g., communicatively coupled) to servers 102-1, 102-2, 102-3 to 102-n. Display devices 104-1, 104-2, 104-3 through 104-n may run applications (eg, software applications) on respective display screens (shown, not labeled) to monitor servers 102-1, 102-2, 102-3 through 102-n, respectively.

[0027] System 100 also includes display device 106 (e.g., client display device or client electronic device). Display device 106 can be part of a computing system (e.g., a desktop device or laptop device, a combined computing system and display). When a specific device is shown, display device 106 can include any number of devices, including multiple devices such as workstation PCs, tablet computing devices, smart phones and laptop computing devices as non-limiting examples. Display device 106 includes display screen 108 (e.g., monitor), which is designed to present visual information running on one or more software applications (e.g., web browsers or other installed applications) in the form of motion / video images, still images and / or text information. As shown, input device 109-1 (e.g., keyboard) and input device 109-2 (e.g., mouse) are connected to display device 106, thereby allowing a user to interact with display device 106, thereby changing visual information. Visual information presented on display devices 104-1, 104-2, 104-3 to 104-n can be viewed on display device 106 or at least partially viewed. In this regard, the application (eg, web browser) representing each server may be minimized to fit on the display screen 108 .

[0028] System 100 also includes computing device 110. Computing device 110 is connected to servers 102-1, 102-2, 102-3 to 102-n, display devices 104-1, 104-2, 104-3 to 104-n, and display device 106. In some implementations, computing device 110 is integrated into display device 106 (or a computing system running display device 106). Figure 1 In the illustrated embodiment, computing device 110 is a stand-alone KVM appliance that functions as a data management system.

[0029] When running, servers 102-1, 102-2, 102-3 to 102-n can provide data including continuous data streams to display device 106. Additionally, display device 106 can run n applications to monitor data and present data on display screen 108, wherein each application is associated with a corresponding server. Therefore, display device 106 represents a single device for monitoring the activities of n servers. Continuous data streams can represent important data and relatively high network flows, which may slow down the operation speed of display device 106 and reduce the overall network bandwidth available for other devices. Additionally, the hardware components of display device 106 (or the computing system running display device 106) must allocate a large amount of processing to update applications, even when some applications are not in use, relatively less important or rarely used. However, the computing device 110 used as an intermediate device for receiving continuous data streams and then distributing the data streams to display device 106 is designed to reduce or prevent the continuous data stream to display device 106, except for one or more selected applications. This allows the selected application to run at a faster refresh rate than other non-selected applications. Thus, the network traffic to the display device 106 is reduced. This will be shown and described below.

[0030] Figure 2 A block diagram of a computing device 210 is shown in accordance with some described embodiments. As shown, the computing device 210 includes one or more processors 212. The one or more processors 212 are coupled to a memory 214, which represents one or more memory circuits storing algorithms and other executable functions. The one or more processors 212 are designed to communicate with computing devices (e.g., display device 106 and servers 102-1, 102-2, 102-3 to 102-n, both of which are connected to the computing device 210) via one or more input-output ("I / O") ports 216. Figure 12 (shown in FIG. 2 ) to send information and receive information. One or more I / O ports 216 represent one or more physical connection points to device 210. Using one or more I / O ports 216, computing device 210 can communicate with a wide area network (“WAN”) (e.g., the Internet). Different types of client computing devices, such as, but not limited to, workstation PCs, tablet computing devices, smartphones, and laptop computing devices, can communicate with computing device 210 via the WAN, and each of the various client electronic devices can run an application (e.g., a web browser) thereon.

[0031] The computing device 210 may include a web server 218 and a video server 222 separate from the web server 218. The web server 218 may store client code 220 including HTML5 client code that may form an HTML page with JavaScript code that may be provided to the display device 106 (in the case of a web browser) when a web browser makes a request for content stored on any of the servers 102-1, 102-2, 102-3 to 102-n. Figure 1 ) or any one of the applications on the client electronic device described in the other. Video server 222 can incorporate multiple different video compression schemes to process compressed video content requested by any one of the applications running on the client electronic device. As an example, video server 222 can have DVC, JPEG, PNG and RLE compression engines capable of compressing video content. Web server 218 can include HTML5 client code, which can be provided to any one of the applications running on the client electronic device that requests content from any one of servers 102-1, 102-2, 102-3 to 102-n.

[0032] In addition, the video server 222 can monitor the network bandwidth from the servers 102-1, 102-2, 102-3 to 102-n, and determine which servers are above or below the threshold network bandwidth, and change the refresh rate of the application running on the client display device based on the determined network bandwidth. Using the web server 218, the video server 222 can provide video or image data to the client electronic device. For example, the video server 222 can compress the video stream when it is lower than the network bandwidth, and compress the video data to run / update with a relatively slow refresh rate (e.g., 0.10 to 0.50 Hz or fps). The compressed video data can be represented as an image that is periodically updated. At the same time, the video server 222 can run a live video stream at or above the network bandwidth, thereby allowing the live video to run / update with a relatively fast refresh rate (e.g., 30 to 60 Hz or fps or higher, depending on the display specifications). The web server 218 can transmit the corresponding video data (e.g., compressed or live) to the appropriate client electronic device. In addition, other factors can be used to determine the refresh rate of the application running on the client electronic device. For example, when the application is not in focus (i.e., the user has not selected the application to be in the foreground and active on the display screen of the client display device), or the application is minimized and generally not even visible on the client display device, a relatively slow refresh can be achieved. At the same time, when the application is in focus or selected by the user, a relatively fast refresh rate can be achieved.

[0033] Using web server 218 and video server 222, computing device 210 can be used as a management system to display a matrix of several small windows or rectangles on a display screen suitable for a client display device, wherein each rectangle shows video data of a single video target to be managed (e.g., a single display connected to a server). Each window can define an application such as a web browser. In addition, each window can update its respective screen content at the same refresh rate (e.g., 0.1 to 0.5 Hz or fps). If a user viewing the display screen presenting the window observes an interesting situation, the user can select the window (presenting the interesting situation) or maximize it, so that the window is updated at the full refresh rate, presenting a live experience to the user. For example, the refresh rate can be the same or similar to the exemplary fast refresh rate described above.

[0034] FIG. 3A to FIG. 3D A display is shown in which exemplary visual information is presented on the display according to some described implementations. The examples show different displays monitoring information received from a target device (eg, a server) and describe associated refresh rates. Figure 3AA display 330a is shown with a display screen 332a and an application 334a represented by an icon at the bottom of the display screen 332a. The icon represents the application 334a minimized on the display screen 332a, and accordingly, the application 334a is generally not visible to a user in front of the display screen 332a. Figure 3B A display 330b is shown with a display screen 332b and an application 334b ​​presented on the display screen 332b. However, the application 334b ​​is generally static and provides minimal information related to the server. Figure 3A and Figure 3B The display screens 332a and 332b shown in FIG. 3 are examples of displays that present a relatively low level of activity from the server. Therefore, the computing device can reduce the refresh rate of the window or application showing the visual information of the screens 332a and 332b on the client display device.

[0035] Figure 3C A display 330c is shown with a display screen 332c and an application 334c presented on the display screen 332c. As shown, a cursor 336 (moved by a user of the display 330c through the KVM device) is hovering over the application 334c, causing an update to occur (e.g., in one or more drop-down menus). Thus, the user is interacting with the application 334c associated with the server to, for example, view different parameters of the server. Figure 3D A display 330d is shown having a display screen 332d and an application 334d presented on the display screen 332d. As shown, the application 334d provides data and statistics related to the server. The data and statistics can be actively updated based on the running server. Figure 3C and Figure 3D The display screens 332c and 332d shown in FIG. 3 are examples of displays that present a relatively high level of activity from the server. Thus, the computing device may increase the refresh rate of the window or application showing the visual information of the screens 332c and 332d on the client display device because the display screens 332c and 332d are particularly interesting due to the changing / updating information.

[0036] Figure 4 A display device 406 is shown that presents visual information received from multiple displays according to some described embodiments. Display device 406 may be similar to display device 106 (in Figure 1 In addition, the display device 406 can be connected to the computing system (for example, respectively in Figure 1 and Figure 2 Thus, display screen 408 may present windows and further change windows to display information at different refresh rates.

[0037] As shown, display device 406 includes a display screen 408 that presents multiple windows in the form of visual information. For example, display screen 408 is presenting window 440a, window 440b, window 440c and window 440d. The number of windows is exemplary and can increase or decrease. In addition, the number of windows can correspond to the number of servers communicating with display device 406. In some embodiments, each of windows 440a, 440b, 440c and 440d represents an application (for example, a web browser) that shows a virtual display connected to a corresponding server. In this way, each of windows 440a, 440b, 440c and 440d communicates with their respective servers, and provides information from the data stream of information provided by the server and received by display device 406 via a computing device.

[0038] Before any manipulation by the computing device, each of windows 440a, 440b, 440c and 440d can present information from its respective server in real time using the refresh rate allowed by the specifications of the display device 406. However, using the computing device described herein, the refresh rate of each of windows 440a, 440b, 440c and 440d can be reduced to a relatively slow refresh rate (e.g., 0.1 to 0.5 Hz or fps). However, subsequently, based on user preferences, the refresh rate of at least one of windows 440a, 440b, 440c and 440d can be increased. For example, when window 440b is selected using a cursor 436 presented on the display screen 408, the selection can be provided as an instruction to the computing device to increase the refresh rate of window 440b relative to the refresh rate of windows 440a, 440c and 440d (e.g., increased to 30 to 60 Hz or fps). In addition, when cursor 436 is used to later deselect window 440b and / or select another window, additional instructions to the computing device can reduce the refresh rate of window 440b to within the previous (slower) value range, and increase the refresh of other windows to a faster value range. Alternatively, merely hovering cursor 436 over window 440b without actual selection (e.g., a mouse click) can also trigger instructions to the computing device to increase the refresh rate of window 440b, and removing hovering cursor 436 over window 440b can trigger subsequent instructions to the computing device to reduce the refresh rate of window 440b.

[0039] In addition, windows 440a and 440d represent display screen 332a (in Figure 3A ), and window 440c represents display screen 332b (in Figure 3BThus, windows 440a, 440c, and 440d are associated with low or no activity on their respective servers. Meanwhile, window 440b represents display screen 332d (shown in Figure 3D ), and thus window 440b is associated with a relatively high activity of the associated server. In some implementations, the computing device analyzes the continuous data stream to determine which server(s) are relatively active and inactive, and uses the relative activity levels as an instruction to increase the refresh rate of windows associated with relatively active servers and decrease the refresh rate of windows associated with relatively inactive servers. In other words, the computing device can refresh the rate based on the data stream analysis.

[0040] Figure 5 A schematic diagram of a display device 506 and a computing device 510 showing several windows and associated refresh rates according to some described embodiments is shown. As shown, the display device 506 includes a display screen 508 that presents a window 540a, a window 540b, a window 540c, and a window 540d. In addition, using the computing device 510, a refresh rate 542a, a refresh rate 542b, a refresh 542c, and a refresh rate 542d are shown with windows 540a, 540b, 540c, and 540d, respectively. The refresh rates 542a, 542b, 542c, and 542d can each change based on a user's selection of windows 540a, 540b, 540c, and 540d, respectively.

[0041] Figure 6 A flow chart illustrating a process 600 for managing visual information on a client display is shown, according to some described implementations. The steps of flow chart 600 may be performed by a computing device, such as a computing device designed to change the refresh rate of a window presented on a display device.

[0042] At step 602, the first application and the second application each run at a first refresh rate. The first application and the second application may each include a window defined by a web browser or some other application. In addition, the first application and the second application may be presented on a client display device. In some embodiments, the first refresh rate and the second refresh rate may each represent a relatively slow refresh rate, that is, a refresh rate that is slower than a specific refresh rate of the client display device. This may be controlled by the computing device described herein.

[0043] At step 604, an instruction to select a first application is received. The instruction may include an on-demand instruction provided by a user of a KVM device interacting with a client display device. Alternatively, the instruction may be obtained from a computing device that monitors a continuous stream of data from several servers and determines the relative activity levels of the servers.

[0044] At step 606, based on the instruction, the first application is caused to run at a second refresh rate different from the first refresh rate. For example, the first application (i.e., the selected application) can be increased from a relatively slow refresh rate to a relatively fast refresh rate, while the second application remains at a relatively slow refresh rate.

[0045] Figure 7 Detailed views of a computing device 700 are shown, according to some described embodiments, which may be used to implement various apparatuses and / or methods described herein. In particular, the detailed views show that a computing device 700 may be included in Figure 1 and Figure 2 Various components of computing devices shown and / or described herein. For example, computing devices described herein may include components of computing device 700.

[0046] like Figure 7 As shown, the computing device 700 includes a processor 702, which represents a microprocessor or controller for controlling the overall operation of the computing device 700. The computing device 700 may also include a user input device 708, which allows a user of the computing device 700 to interact with the computing device 700. For example, the user input device 708 can take various forms, such as buttons, keyboards, dials, touch screens, audio input interfaces, visual / image capture input interfaces, inputs in the form of sensor data, etc. In addition, the computing device 700 may include a display 710 (screen display), which can be controlled by the processor 702 to present visual information to the user. The data bus 716 can facilitate data transfer between at least the storage device 740, the processor 702 and the controller 713. The controller 713 can be used to interface with different devices and control different devices through the device control bus 714. The computing device 700 may also include a network / bus interface 711 coupled to the data link 712. In the case of a wireless connection, the network / bus interface 711 may include a wireless transceiver.

[0047] In some embodiments, the processor 702 may be embodied in various forms. For example, the processor 702 may be embodied as various processing hardware-based devices, such as microprocessors, coprocessors, controllers, or various other computing or processing devices, including integrated circuits such as application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), some combinations thereof, etc. Although shown as a single processor, it will be understood that the processor 702 may include two or more processors. The processors may be in operational communication with each other and may be collectively configured to perform one or more functions of the computing device 700 as described herein. In some embodiments, the processor 702 may be configured to execute instructions that may be stored in a random access memory (RAM) 720 or that may otherwise be accessed by the processor 702.

[0048] The computing device 700 also includes a storage device 740, which may include a single disk or multiple disks (e.g., a hard drive), and includes a storage management module that manages one or more partitions within the storage device 740. In some embodiments, the storage device 740 may include flash memory, semiconductor (solid-state) memory, etc. The computing device 700 may also include a random access memory (RAM) 720 and a read-only memory (ROM) 722. The ROM 722 may store programs, utilities, or processes to be executed in a non-volatile manner. The RAM 720 may provide volatile data storage and store instructions related to the operation of the computing device 700.

[0049] In some implementations, a computing device configured to manage visual information on a client display includes a memory device storing executable instructions for running an application on the client display. The computing device also includes a processor communicatively coupled to the memory device. The processor is configured to perform the following steps, the steps including: running a first application and a second application at a first refresh rate; receiving an instruction to select the first application; and, based on the instruction, causing the first application to run at a second refresh rate different from the first refresh rate.

[0050] In some embodiments, the processor is further configured to perform the following steps, the steps comprising: instructing the client display to present the first application according to the second refresh rate, and presenting the second application according to the first refresh rate. In some embodiments, the second refresh rate is faster than the first refresh rate. In some embodiments, the processor is configured to perform the following steps, the steps comprising: after receiving the instruction, receiving a second instruction to deselect the first application; and based on the second instruction, causing the first application to run at the first refresh rate. In some embodiments, the processor is configured to perform steps including representing the second application with an image file, and wherein the image file is updated according to the first refresh rate. In some embodiments, the instruction includes selecting from a group including one of: selecting the first application using a cursor; hovering the cursor over the first application; and selecting the first application using a keyboard. In some embodiments, the processor is configured to perform the following steps, the steps comprising: receiving a data stream from i) a first target device monitored by the first application and ii) a second target device monitored by the second application; and based on the data stream, determining that the first application is updated faster than the second application.

[0051] In some embodiments, a non-transitory computer-readable storage medium is configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to manage visual information on a client display by performing the following steps, the steps comprising: running a first application and a second application at a first refresh rate; receiving an instruction to select the first application; and based on the instruction, causing the first application to run at a second refresh rate that is different from the first refresh rate.

[0052] In some embodiments, the processor is further configured to perform the following steps, the steps comprising: instructing the client display to perform the following operations: presenting the first application according to the second refresh rate, and presenting the second application according to the first refresh rate. In some embodiments, the second refresh rate is faster than the first refresh rate. In some embodiments, the processor is configured to perform the following steps, the steps comprising: after receiving the instruction, receiving a second instruction to deselect the first application; and based on the second instruction, causing the first application to run at the first refresh rate. In some embodiments, the processor is configured to perform steps including representing the second application with an image file, and wherein the image file is updated according to the first refresh rate. In some embodiments, the instruction includes selecting from a group including one of the following: selection of the first application using a cursor; hovering the cursor over the first application; and selection of the first application using a keyboard. In some embodiments, the processor is configured to perform the following steps, the steps comprising: receiving a data stream from i) a first target device monitored by the first application and ii) a second target device monitored by the second application; and based on the data stream, determining that the first application is updated faster than the second application.

[0053] In some embodiments, a method for managing visual information on a client display includes: performing the following operations by a computing device including a processor: running a first application and a second application at a first refresh rate; receiving an instruction to select the first application; and based on the instruction, causing the first application to run at a second refresh rate different from the first refresh rate.

[0054] In some embodiments, the method further includes instructing the client display to perform the following operations: presenting the first application according to a second refresh rate, and presenting the second application according to the first refresh rate. In some embodiments, the second refresh rate is faster than the first refresh rate. In some embodiments, the method further includes: after receiving the instruction, receiving a second instruction to deselect the first application; and based on the second instruction, causing the first application to run at the first refresh rate. In some embodiments, the instruction includes selecting from a group including one of the following: selection of the first application using a cursor; hovering the cursor over the first application; and selection of the first application using a keyboard. In some embodiments, the method further includes: receiving a data stream from i) a first target device monitored by the first application and ii) a second target device monitored by the second application; and based on the data stream, determining that the first application is updated faster than the second application.

[0055] Various aspects, embodiments, implementations or features of the described embodiments may be used alone or in any combination. Various aspects of the described embodiments may be implemented by software, hardware, or a combination of hardware and software. The described embodiments may also be embodied as computer-readable code on a computer-readable medium for controlling manufacturing operations, or as computer-readable code on a computer-readable medium for controlling a production line. A computer-readable recording medium is any data storage device that can store data that can be subsequently read by a computer system. Examples of computer-readable media include read-only memory, random access memory, CD-ROM, HDD, DVD, magnetic tape, and optical data storage devices. Computer-readable media may also be distributed on network-coupled computer systems so that computer-readable code is stored and executed in a distributed manner.

[0056] For the purpose of explanation, the foregoing description uses specific terms to provide a thorough understanding of the described embodiments. However, it will be apparent to those skilled in the art that these specific details are not required in order to practice the described embodiments. Therefore, the foregoing descriptions of the specific embodiments described herein are presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. It will be apparent to those of ordinary skill in the art that many modifications and variations are possible in light of the above teachings.

Claims

1. A computing device configured to manage visual information on a client display, the computing device comprising: a memory device storing executable instructions for running an application on said client display; a processor communicatively coupled to the memory device, the processor configured to perform steps comprising: running a first application and a second application at a first refresh rate, wherein the first application represents a first server device and the second application represents a second server device; In response to receiving an instruction to select the first application, Based on the instruction, causing the first application to run at a second refresh rate different from the first refresh rate; monitoring a network bandwidth associated with the first server device and a network bandwidth associated with the second server device; and In response to at least one of a network bandwidth associated with the first server device and a network bandwidth associated with the second server device being less than a threshold bandwidth: identifying which of the first application and the second application is associated with the at least one of a network bandwidth associated with the first server device and a network bandwidth associated with the second server device that is less than the threshold bandwidth; and A refresh rate of the identified one of the first application and the second application is changed.

2. The computing device of claim 1, wherein: The processor is further configured to perform the steps comprising: Instruct the client display to perform the following operations: presenting the first application according to the second refresh rate, and The second application is presented according to the first refresh rate.

3. The computing device of claim 2, wherein: The second refresh rate is faster than the first refresh rate.

4. The computing device of claim 1, wherein: The processor is configured to perform the steps comprising: After receiving the instruction, receiving a second instruction to deselect the first application; as well as Based on the second instruction, the first application is enabled to run at the first refresh rate.

5. The computing device of claim 1, wherein: The processor is configured to perform steps including representing the second application with an image file, and wherein the image file is updated according to the first refresh rate.

6. The computing device of claim 1, wherein: The instructions include selecting from the group consisting of: selecting the first application using a cursor; hovering the cursor over the first application; and Use the keyboard to make a selection for the first application.

7. The computing device of claim 1, wherein: The processor is configured to perform the steps comprising: receiving a data stream from i) a first target device monitored by the first application and ii) a second target device monitored by the second application; as well as It is determined based on the data flow that the first application is updated faster than the second application.

8. A non-transitory computer-readable storage medium configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to manage visual information on a client display by performing steps comprising: Running a first application and a second application at a first refresh rate, wherein: The first application represents a first server device and the second application represents a second server device; In response to receiving an instruction to select the first application, Based on the instruction, causing the first application to run at a second refresh rate different from the first refresh rate; monitoring a network bandwidth associated with the first server device and a network bandwidth associated with the second server device; as well as In response to at least one of a network bandwidth associated with the first server device and a network bandwidth associated with the second server device being less than a threshold bandwidth: identifying which of the first application and the second application is associated with the at least one of a network bandwidth associated with the first server device and a network bandwidth associated with the second server device that is less than the threshold bandwidth; as well as A refresh rate of the identified one of the first application and the second application is changed.

9. The non-transitory computer-readable storage medium of claim 8, wherein: The processor is further configured to perform the steps comprising: Instruct the client display to perform the following operations: presenting the first application according to the second refresh rate, and The second application is presented according to the first refresh rate.

10. The non-transitory computer-readable storage medium of claim 9, wherein: The second refresh rate is faster than the first refresh rate.

11. The non-transitory computer-readable storage medium of claim 8, wherein: The processor is configured to perform the steps comprising: After receiving the instruction, receiving a second instruction to deselect the first application; as well as Based on the second instruction, the first application is enabled to run at the first refresh rate.

12. The non-transitory computer-readable storage medium of claim 8, wherein: The processor is configured to perform steps including representing the second application with an image file, and wherein the image file is updated according to the first refresh rate.

13. The non-transitory computer-readable storage medium of claim 8, wherein: The instructions include selecting from the group consisting of: selecting the first application using a cursor; hovering the cursor over the first application; and Use the keyboard to make a selection for the first application.

14. The non-transitory computer-readable storage medium of claim 8, wherein: The processor is configured to perform the steps comprising: receiving a data stream from i) a first target device monitored by the first application and ii) a second target device monitored by the second application; as well as It is determined based on the data flow that the first application is updated faster than the second application.

15. A method for managing visual information on a client display, the method comprising: The following operations are performed by a computing device including a processor: running a first application and a second application at a first refresh rate, wherein the first application represents a first server device and the second application represents a second server device; In response to receiving an instruction to select the first application, Based on the instruction, causing the first application to run at a second refresh rate different from the first refresh rate; monitoring a network bandwidth associated with the first server device and a network bandwidth associated with the second server device; and In response to at least one of a network bandwidth associated with the first server device and a network bandwidth associated with the second server device being less than a threshold bandwidth: identifying which of the first application and the second application is associated with the at least one of a network bandwidth associated with the first server device and a network bandwidth associated with the second server device that is less than the threshold bandwidth; and A refresh rate of the identified one of the first application and the second application is changed.

16. The method according to claim 15, further comprising: Instruct the client display to perform the following operations: presenting the first application according to the second refresh rate, and The second application is presented according to the first refresh rate.

17. The method according to claim 16, wherein: The second refresh rate is faster than the first refresh rate.

18. The method according to claim 15, further comprising: After receiving the instruction, receiving a second instruction to deselect the first application; as well as Based on the second instruction, the first application is enabled to run at the first refresh rate.

19. The method according to claim 15, wherein: The instructions include selecting from the group consisting of: selecting the first application using a cursor; hovering the cursor over the first application; and Use the keyboard to make a selection for the first application.

20. The method of claim 15, further comprising: receiving a data stream from i) a first target device monitored by the first application and ii) a second target device monitored by the second application; as well as It is determined based on the data flow that the first application is updated faster than the second application.

Citation Information

Patent Citations

  • Processor for use in dynamic refresh rate switching and related electronic device and method

    CN105427785A

  • Two-screen portable terminal device

    JP2013020020A