Load reduction terminal, load reduction server, load reduction system device, control method for load reduction terminal, control method for load reduction server, program, and recording medium
The load reduction terminal and server system addresses the server-side load concentration in VDI by launching terminal applications as pseudo-windows, effectively distributing the load and utilizing terminal resources, thus enhancing system performance.
Patent Information
- Application Number
- JP2022181662
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-14
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2042-11-14
AI Technical Summary
In existing virtual desktop infrastructure (VDI) systems, the load is concentrated on the server side, leading to slow operations and underutilization of terminal-side resources due to factors like application types and connected client terminals.
A load reduction terminal and server system that includes communication, application control, and display units to establish virtual desktop connections, generate startup instruction information, and display synchronization, allowing terminal applications to be launched and displayed as pseudo-windows on the virtual desktop, distributing the load across both server and terminal sides.
This system reduces the load on virtual desktop environments by enabling efficient use of both server and terminal hardware resources, maintaining usability and distributing processing loads.
Smart Images

Figure 0007910845000001 
Figure 0007910845000002 
Figure 0007910845000003
Abstract
Description
Technical Field
[0001] The present invention relates to a load reduction terminal, a load reduction server, a load reduction system device, a control method for a load reduction terminal, a control method for a load reduction server, a program, and a recording medium.
Background Art
[0002] In remote work or the like, a technique is known in which a virtual desktop (VDI: Virtual Desktop Infrastructure) is used to remotely operate applications of a device located remotely, such as a server, from a terminal (see Patent Document 1, etc.).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the technology of Patent Document 1, since the server and the client terminal are connected by a communication line and the processing of the application is performed on the server side, the load is concentrated on the server side, and due to factors such as the types of applications used and the number of client terminals to be connected, there are problems such as the operation becoming slow when viewed from the client terminal. At this time, the device resources on the terminal side are hardly used and are underutilized.
[0005] Therefore, an object of the present invention is to provide a load reduction terminal, a load reduction server, a load reduction system device, a control method for a load reduction terminal, a control method for a load reduction server, a program, and a recording medium that can reduce the load in a virtual desktop environment.
Means for Solving the Problems
[0006] To achieve the above objective, the load reduction terminal of the present invention is It includes a communication unit, a terminal application control unit, and a display control unit, The communication unit establishes a virtual desktop connection with the server and obtains terminal-side startup instruction information from the server to launch a terminal application. The terminal application control unit controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication unit transmits the display synchronization information to the server and obtains a virtual desktop screen from the server, which includes a pseudo-window that displays the terminal application window. The display control unit generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen.
[0007] The load reduction server of the present invention is Includes a communication unit, an application control unit, and a display control unit, The aforementioned communication unit connects to the terminal and the virtual desktop, The application control unit generates terminal-side startup instruction information to start the terminal application of the terminal, The communication unit transmits the terminal-side startup instruction information to the terminal and obtains the display synchronization information for the terminal application from the terminal. The display control unit generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The communication unit transmits the virtual desktop screen to the terminal.
[0008] The load reduction system device of the present invention is Including terminals and servers, The terminal and the server are connected to each other via virtual desktop connections. The aforementioned terminal is a load reduction terminal according to the present invention, The server is the load reduction server of the present invention. This is a system device for reducing the load on virtual desktops.
[0009] The control method for a load reduction terminal of the present invention is: This includes a communication process, a terminal application control process, and a display control process. The aforementioned communication process involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The terminal application control step controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication step involves transmitting the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control step generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen.
[0010] The control method for a load reduction server of the present invention is: This includes a communication process, an application control process, and a display control process. The aforementioned communication process connects the load reduction terminal and the server via a virtual desktop connection. The application control step generates terminal-side startup instruction information to start the terminal application of the terminal, The communication process involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control step generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The communication step involves transmitting the virtual desktop screen to the terminal.
[0011] The first program of the present invention is It includes a communication procedure, a terminal application control procedure, and a display control procedure, The communication procedure connects a load reduction terminal to a server via a virtual desktop connection, and obtains terminal-side startup instruction information for starting a terminal application from the server, The terminal application control procedure controls a terminal application based on the terminal-side startup instruction information, and generates display synchronization information for the terminal application, The communication procedure transmits the display synchronization information to the server, and obtains a virtual desktop screen including a pseudo window for displaying a window of the terminal application from the server, The display control procedure generates a display screen in which a window of the terminal application is displayed in the pseudo window of the virtual desktop screen, It is a program for causing a computer to execute each of the above procedures.
[0012] The second program of the present invention is, It includes a communication procedure, an application control procedure, and a display control procedure, The communication procedure connects a load reduction terminal and a server via a virtual desktop connection, The application control procedure generates terminal-side startup instruction information for starting a terminal application of the terminal, The communication procedure transmits the terminal-side startup instruction information to the terminal, and obtains display synchronization information for the terminal application from the terminal, The display control procedure generates a pseudo window for displaying a window of the terminal application based on the display synchronization information, and generates a virtual desktop screen including the pseudo window, The communication procedure transmits the virtual desktop screen to the terminal, It is a program for causing a computer to execute each of the above procedures.
[0013] The recording medium of the present invention is a computer-readable recording medium that records the first program or the second program of the present invention (hereinafter, the first program and the second program may be collectively referred to as "the program of the present invention").
Advantages of the Invention
[0014] According to the present invention, it is possible to reduce the load in a virtual desktop environment.
Brief Description of the Drawings
[0015] [Figure 1] FIG. 1 is a block diagram showing a configuration example of a load reduction system device according to Embodiment 1. [Figure 2] FIG. 2 is a block diagram showing an example of the hardware configuration of a load reduction terminal according to Embodiment 1. [Figure 3] FIG. 3 is a block diagram showing an example of the hardware configuration of a load reduction server according to Embodiment 1. [Figure 4] FIG. 4 is a flowchart showing an example of processing in a load reduction terminal and a load reduction server included in the load reduction system device according to Embodiment 1. [Figure 5] FIG. 5 is a schematic diagram for explaining an example of the use of the load reduction system device according to Embodiment 1. [Figure 6] FIG. 6 is a schematic diagram for explaining an example of the use of the load reduction system device according to Embodiment 1.
Modes for Carrying Out the Invention
[0016] Next, embodiments of the present invention will be described with reference to the drawings. The present invention is not limited to the following embodiments. In the following figures, the same parts are denoted by the same reference numerals. Also, unless otherwise specified, the descriptions of the respective embodiments can be mutually applied, and the configurations of the respective embodiments can be combined unless otherwise specified.
[0017] [Embodiment 1] The load reduction system device of this embodiment will be described with reference to Figure 1. Figure 1 is a block diagram showing the configuration of an example of a load reduction system device 100 including a load reduction terminal 10 and a load reduction server 20 of this embodiment. As shown in Figure 1, the load reduction terminal 10 and the load reduction server 20 are connected, for example, via a communication network 30. The communication network 30 is not particularly limited and can use a known network, for example, it may be wired or wireless. Examples of communication networks 30 include the Internet, WWW (World Wide Web), telephone lines, LAN (Local Area Network), SAN (Storage Area Network), DTN (Delay Tolerant Networking), LPWA (Low Power Wide Area), L5G (Local 5G), etc. Examples of wireless communication include Wi-Fi (registered trademark), Bluetooth (registered trademark), Local 5G, LPWA, etc. The wireless communication may be in the form of direct communication between each device (Ad Hoc communication), infrastructure communication, indirect communication via an access point, etc. The load reduction system device 100 includes a load reduction terminal 10 and a load reduction server 20, and is therefore also referred to as, for example, a load reduction system 100. Although not shown in the figures, the load reduction terminal 10 and the load reduction server 20 can also be connected to an external terminal of a system administrator via, for example, a communication network, and the system administrator may manage the load reduction terminal 10 and the load reduction server 20 from the external terminal. The load reduction system device 100 may include, for example, multiple load reduction terminals 10 and load reduction servers 20.
[0018] The load reduction terminal 10 included in the load reduction system device 100 will be described below. As shown in Figure 1, the load reduction terminal 10 (hereinafter also referred to as "this terminal 10") includes a communication unit 11, a terminal application control unit 12, and a display control unit 13. Although not shown, this terminal 10 may also include, for example, an input unit, an output unit, a display unit, and / or a storage unit.
[0019] The terminal 10 may be, for example, a single device including the aforementioned parts, or each of the aforementioned parts may be a device that can be connected via a communication network. Furthermore, the terminal 10 can be connected to an external device described later via a communication network. The communication network is not particularly limited and a known network can be used, for example, wired or wireless. The communication network is, for example, as described above. Examples of wireless communication include Wi-Fi®, Bluetooth®, local 5G, LPWA, etc. The wireless communication may be in the form of direct communication between devices (Ad Hoc communication), infrastructure communication, indirect communication via an access point, etc. The terminal 10 may be, for example, incorporated into a server as a system. Furthermore, the terminal 10 may be, for example, a personal computer (PC, e.g., desktop or notebook type), smartphone, tablet terminal, etc., on which the program of the present invention is installed. Moreover, the terminal 10 may be in the form of cloud computing or edge computing, for example, in which at least one of the aforementioned parts is on a server and the other parts are on the terminal.
[0020] Figure 2 illustrates a block diagram of the hardware configuration of the terminal 10. The terminal 10 includes, for example, a central processing unit (CPU, GPU, etc.) 101, memory 102, bus 103, storage device 104, input device 105, output device 106, communication device 107, etc. Each part of the terminal 10 is interconnected via the bus 103 through its respective interface (I / F).
[0021] The central processing unit 101 operates in cooperation with other components via controllers (system controller, I / O controller, etc.) and is responsible for the overall control of the terminal 10. In the terminal 10, the central processing unit 101 executes, for example, the program of the present invention or other programs, and also reads and writes various types of information. Specifically, for example, the central processing unit 101 functions as a communication unit 11, a terminal application control unit 12, and a display control unit 13. The terminal 10 may also be equipped with other computing devices such as a CPU, GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), or a combination thereof.
[0022] Bus 103 can also be connected to external devices, for example. Examples of such external devices include external storage devices (external databases, etc.), printers, external input devices, external display devices, and external imaging devices. Terminal 10 can connect to an external network (the aforementioned communication network) via a communication device (communication unit) 107 connected to bus 103, and can also connect to other devices via the external network.
[0023] Memory 102 may be, for example, main memory. When the central processing unit 101 performs processing, memory 102 reads various operational programs, such as the program of the present invention, stored in the storage device 104 (described later), and the central processing unit 101 receives data from memory 102 and executes the program. The main memory may be, for example, RAM (random access memory). Alternatively, memory 102 may be, for example, ROM (read-only memory).
[0024] The storage device 104 is also called an auxiliary storage device, for example, in relation to the main memory (primary memory). As described above, the storage device 104 stores an operating program including the program of the present invention. The storage device 104 may be, for example, a combination of a recording medium and a drive for reading and writing to the recording medium. The recording medium is not particularly limited and may be internal or external, for example, an HD (hard disk), CD-ROM, CD-R, CD-RW, MO, DVD, flash memory, memory card, etc. The storage device 104 may be, for example, a hard disk drive (HDD) in which the recording medium and the drive are integrated, or a solid state drive (SSD). If the terminal 10 includes the storage unit, for example, the storage device 104 functions as the storage unit.
[0025] In this terminal 10, the memory 102 and storage device 104 can also store various types of information, such as log information, information obtained from an external database (not shown) or external devices, information generated by this terminal 10, and information used by this terminal 10 when executing processing. In this case, the memory 102 and storage device 104 may store, for example, the user information of this device mentioned above. At least some of the information may be stored on an external server other than the memory 102 and storage device 104, or it may be stored in a distributed manner across multiple terminals using blockchain technology or the like.
[0026] The terminal 10 further includes, for example, an input device 105 and an output device 106. The input device 105 may include, for example, a pointing device such as a touch panel, trackpad, or mouse; a keyboard; imaging means such as a camera or scanner; a card reader such as an IC card reader or magnetic card reader; an audio input means such as a microphone; and so on. The output device 106 may include, for example, a display device such as an LED display or liquid crystal display; an audio output device such as a speaker; a printer; and so on. In this embodiment, the input device 105 and the output device 106 are configured separately, but the input device 105 and the output device 106 may be configured as an integrated unit, such as a touch panel display.
[0027] The load reduction server 20 (load reduction server 20) included in the load reduction system device 100 will be described below. As shown in Figure 1, the load reduction server 20 (hereinafter also referred to as "this server 20") includes a communication unit 21, an application control unit 22, and a display control unit 23. Although not shown, this server 20 may also include, for example, an input unit, an output unit, a display unit, and / or a storage unit.
[0028] The server 20 may be, for example, a single device including the aforementioned components, or each of the aforementioned components may be a device that can be connected via a communication network. Furthermore, the server 20 can be connected to external devices described later via a communication network. The communication network is not particularly limited and can use a known network, such as a wired or wireless network. The communication network is, for example, as described above. Examples of wireless communication include Wi-Fi®, Bluetooth®, local 5G, LPWA, etc. The wireless communication may be in the form of direct communication between devices (Ad Hoc communication), infrastructure communication, or indirect communication via an access point. The server 20 may, for example, be incorporated into a server as a system. The server 20 may also be, for example, a personal computer (PC, e.g., desktop or notebook), smartphone, tablet terminal, etc., on which the program of the present invention is installed. Furthermore, the server 20 may be in the form of cloud computing or edge computing, for example, where at least one of the aforementioned components is on the server and the other components are on a terminal.
[0029] Figure 3 illustrates a block diagram of the hardware configuration of the server 20. The server 20 includes, for example, a central processing unit (CPU, GPU, etc.) 201, memory 202, bus 203, storage device 204, input device 205, output device 206, communication device 207, etc. Each part of the server 20 is interconnected via the bus 203 through its respective interface (I / F).
[0030] The central processing unit 201 operates in coordination with other components via controllers (system controller, I / O controller, etc.) and is responsible for the overall control of the server 20. In the server 20, the central processing unit 201 executes, for example, the program of the present invention and other programs, and also reads and writes various types of information. Specifically, for example, the central processing unit 201 functions as a communication unit 21, an application control unit 22, and a display control unit 23. The server 20 may also be equipped with other computing devices such as a CPU, GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), or a combination thereof.
[0031] Bus 203 can also be connected to external devices, for example. Examples of such external devices include external storage devices (external databases, etc.), printers, external input devices, external display devices, and external imaging devices. The server 20 can connect to an external network (the aforementioned communication network) via a communication device (communication unit) 207 connected to bus 203, and can also connect to other devices via the external network.
[0032] Memory 202 may be, for example, main memory. When the central processing unit 201 performs processing, memory 202 reads various operational programs, such as the program of the present invention, stored in the storage device 204 (described later), and the central processing unit 201 receives data from memory 202 and executes the program. The main memory may be, for example, RAM (random access memory). Alternatively, memory 202 may be, for example, ROM (read-only memory).
[0033] The storage device 204 is also called an auxiliary storage device, for example, in relation to the main memory (primary memory). As described above, the storage device 204 stores an operating program including the program of the present invention. The storage device 204 may be, for example, a combination of a recording medium and a drive for reading and writing to the recording medium. The recording medium is not particularly limited and may be internal or external, for example, an HD (hard disk), CD-ROM, CD-R, CD-RW, MO, DVD, flash memory, memory card, etc. The storage device 204 may be, for example, a hard disk drive (HDD) in which the recording medium and the drive are integrated, or a solid state drive (SSD). If the server 20 includes the storage unit, for example, the storage device 204 functions as the storage unit.
[0034] In this server 20, the memory 202 and storage device 204 can also store various types of information, such as log information, information obtained from an external database (not shown) or external devices, information generated by this server 20, and information used by this server 20 when executing processing. In this case, the memory 202 and storage device 204 may store, for example, the user information of this device mentioned above. At least some of the information may be stored in an external server other than the memory 202 and storage device 204, or it may be stored in a distributed manner across multiple terminals using blockchain technology or the like.
[0035] The server 20 further includes, for example, an input device 205 and an output device 206. The input device 205 may include, for example, a pointing device such as a touch panel, trackpad, or mouse; a keyboard; imaging means such as a camera or scanner; a card reader such as an IC card reader or magnetic card reader; an audio input means such as a microphone; and so on. The output device 206 may include, for example, a display device such as an LED display or liquid crystal display; an audio output device such as a speaker; a printer; and so on. In this embodiment, the input device 205 and the output device 206 are configured separately, but the input device 205 and the output device 206 may be configured as an integrated unit, such as a touch panel display.
[0036] Next, an example of the load reduction method of this embodiment will be explained based on the flowchart in Figure 4. The load reduction method of this embodiment is implemented as follows, for example, using the load reduction system device 100 shown in Figure 1. Note that the load reduction method of this embodiment is not limited to the use of the load reduction system device 100 shown in Figure 1. Figure 4 is a flowchart showing an example of the processing of the load reduction terminal 10, i.e., the control method of the load reduction terminal 10, from S11 to S14 on the left, and a flowchart showing an example of the processing of the load reduction server 20, i.e., the control method of the load reduction server 20, from S21 to S24 on the right.
[0037] First, prior to processing by the load reduction terminal 10 and the load reduction server 20, a virtual desktop connection is established between the terminal 10 and the server 20. This virtual desktop connection is not particularly limited and can be established using known virtual desktop infrastructure (VDI) technology. Since the load reduction terminal 10 and the load reduction server 20 are connected via a virtual desktop connection, for example, a user operating the load reduction terminal 10 can indirectly operate the load reduction server 20 through the operation of the load reduction terminal 10.
[0038] Next, the application control unit 22 of the load reduction server 20 generates terminal-side startup instruction information to start the terminal application on terminal 10 (S21, application control step). The terminal-side startup instruction information includes, for example, information specifying the path where the terminal application to be started on terminal 10 is stored. The terminal-side startup instruction information may also include, for example, information referenced by the started terminal application and information specifying the storage location of said information. The terminal application may be, for example, an application (program) stored in the memory 102 or storage device 104 of terminal 10, or an application (program) on another server or cloud accessible to terminal 10. Specific examples of the terminal application include, but are not limited to, a web browser, word processing software, spreadsheet software, video playback software, communication software, and CAD (Computer Aided Design), image editing software, etc. The application control unit 22 can generate the terminal-side startup instruction information, for example, by operation of a user connected to a virtual desktop. The user's operation is not particularly limited and may include, for example, an operation that directly instructs the launch of the terminal application, or an operation that indirectly instructs the launch of the terminal application. An example of an operation that directly instructs the launch of the terminal application is selecting a shortcut file that specifies the path to the terminal application. In this case, a shortcut file containing the path information of the terminal application can be placed on the server 20 in advance. An example of an operation that indirectly instructs the launch of the terminal application is launching it from the interface of the server 20 (for example, the right-click menu of the Shell), and selecting a file with a predetermined extension associated with the terminal application. The predetermined extension is not particularly limited and can be set to any extension, for example. Next, the communication unit 21 of the server 20 transmits the terminal-side launch instruction information to the terminal 10 (S22A, communication process).
[0039] The load reduction terminal 10 obtains terminal-side startup instruction information from the server 20 to launch a terminal application via the communication unit 11 (S11, communication process). Next, the terminal application control unit 12 controls the terminal application based on the terminal-side startup instruction information (S12A, terminal application control process). Specifically, the application control unit 12 can identify the terminal application to be launched based on the terminal application path included in the terminal-side startup instruction information, and launch the identified application. The terminal application control unit 12 also generates display synchronization information for the terminal application (S12B, terminal application control process). Specifically, the terminal application control unit 12 obtains status information for the terminal application from the terminal application. This status information includes, for example, information such as the position information of the window displaying the terminal application (e.g., X coordinate, Y coordinate on the screen, layer information (e.g., whether it is in the foreground or not)); window size information (e.g., width, height); and window status information (e.g., minimized window, maximized window, or standard window). The terminal application control unit 12 then generates the acquired state information as the display synchronization information. The communication unit 11 then transmits the display synchronization information to the server 20 (S13A, communication process).
[0040] The communication unit 21 of the load reduction server 20 acquires display synchronization information for the terminal application from the terminal 10 (S22B, communication process). Next, the display control unit 23 generates a pseudo-window that displays the terminal application window based on the display synchronization information (S23A, display control process), and generates a virtual desktop screen including the pseudo-window (S23B, display control process). Specifically, the display control unit 23 can generate a pseudo-window that synchronizes the display with the state of the terminal application by referring to the position, size, state, etc. of the terminal application window from the display synchronization information, and generate a virtual desktop screen including the pseudo-window. Then, the communication unit 21 transmits the virtual desktop screen to the terminal 10 (S24, communication process). This makes it possible to simulate the display of the terminal application window on the virtual desktop screen.
[0041] The communication unit 11 of the load reduction terminal 10 acquires a virtual desktop screen from the server, which includes a pseudo-window that displays the terminal application window (S13B, communication process). Next, the display control unit 13 generates a display screen in which the terminal application window is displayed in the pseudo-window of the virtual desktop screen (S14, display control process). As a result, the user of the load reduction terminal 10 can operate the virtual desktop of the server 20 via the terminal 10 through a virtual desktop connection, while simultaneously launching and operating the terminal application on the terminal 10.
[0042] Furthermore, in the server 20, for example, the server application of the server may acquire predetermined information, and the application control unit 22 may, based on the predetermined information, perform at least one of controlling the server application and generating the terminal-side startup instruction information. In this case, the server application may be the server's web browser, and the application control unit 22 may, based on the URL acquired by the web browser, perform at least one of controlling the web browser and generating the terminal-side startup instruction information. In this case, the communication unit 21 acquires server-side startup instruction information from the terminal 10 to start the server application, and the application control unit 22 controls the server application based on the server-side startup instruction information.
[0043] Furthermore, the terminal application control unit 12 of the terminal 10 may generate server-side startup instruction information to start the server application of the server. In this case, the communication unit 11 may transmit the server-side startup instruction information to the server. Alternatively, the terminal 10 may be configured such that, for example, the terminal application acquires predetermined information, and the terminal application control unit 12 performs at least one of controlling the terminal application and generating the server-side startup instruction information based on the predetermined information. Specifically, for example, it is preferable that the terminal application is the terminal's web browser, and the terminal application control unit 12 performs at least one of controlling the web browser and generating the server-side startup instruction information based on the URL acquired by the web browser.
[0044] An example of the use of the load reduction system of this embodiment will be explained using Figure 5. As shown in Figure 5, the client terminal (load reduction terminal) 10 and the VDI server (load reduction server) 20 are connected via remote desktop and communicate using the Remote Desktop Protocol. The client terminal 10 and the VDI server 10 communicate various information acquired and generated by each other through their respective communication units (communication unit 11 and communication unit 21) and perform synchronization processing. The user operates the virtual desktop of the VDI server 20 by operating the client terminal 10. For example, the user selects a shortcut to launch a terminal application on the client terminal 10 from the desktop shortcuts on the VDI server 20, and the application control unit 22 of the VDI server 20 generates terminal-side startup instruction information to launch the selected terminal application. As shown in Figure 5, the application control unit 22 and the display control unit 23 of the VDI server 20 are collectively referred to as the application control program (AP control PG). The terminal application control unit 12 of the client terminal 10 starts the specified terminal application (AP) based on the terminal-side startup instruction information, monitors the status of the terminal application, and generates various status information, including the location and status of the application, as display synchronization information. The display control unit 23 of the VDI server 20 generates a virtual desktop screen including a pseudo-window based on the display synchronization information. The display control unit 13 of the client terminal 10 acquires the virtual desktop screen and displays the terminal application window in the pseudo-window.
[0045] Next, another example of the use of the load reduction system of this embodiment will be described using Figure 6. In this example, for example, first, the application control unit 22 receives a page transition notification when the web browser of the VDI server 20 performs a page transition. The page transition notification includes, for example, a URL that identifies the web page of the web server 40 that the web browser was attempting to transition to. The application control unit 22 obtains the URL that identifies the target web page from the page transition notification. Then, if the URL obtained by the web browser is, for example, a URL that specifies a web page within the intranet to which the VDI server 20 belongs, the application control unit 22 controls the web browser of the VDI server 20 to perform the page transition. On the other hand, if, for example, the URL specifies a web page outside the intranet, the application control unit 22 outputs an instruction to the web browser of the VDI server 20 to cancel the page transition and controls the web browser to cancel the page transition. Then, the application control unit 22 generates terminal-side startup instruction information that instructs the terminal web browser of the client terminal 10 to open the website specified by the URL. The terminal application control unit 12 of the client terminal 10 controls the terminal web browser, which is identified based on the browser path included in the terminal-side startup instruction information, to transition to the website of the web server 40 identified by the terminal URL. The application control unit 12 also monitors the state of the terminal web browser and generates various state information, including the position and state of the web browser window, as display synchronization information. The display control unit 23 of the VDI server 20 generates a virtual desktop screen including a pseudo-window based on the display synchronization information. The display control unit 13 of the client terminal 10 acquires the virtual desktop screen and displays the terminal web browser window in the pseudo-window. In this example, the case in which the web browser of the VDI server 20 or the web browser of the client terminal 10 is controlled based on the URL acquired by the web browser of the VDI server 20 has been described, but the present invention is not limited to the above example.Specifically, for example, the present invention can also control the web browser of the VDI server 20 or the web browser of the client terminal 10 based on the URL acquired by the web browser of the client terminal 10. By controlling the load reduction terminal and load reduction server in this way, the present invention can limit the device that actually accesses the website that a user is trying to access to either the client or the VDI, thus improving the security of the VDI side.
[0046] According to the load reduction system device (load reduction terminal and load reduction server) of this embodiment, for example, in a virtual desktop environment, not only applications on the server but also terminal applications on the terminal can be launched. Furthermore, it becomes possible to display and operate terminal application windows on the virtual desktop screen. As a result, the processing load can be distributed by launching and controlling applications on the terminal side that would otherwise place a high load when launched in the virtual desktop environment. Therefore, for example, the load on the virtual desktop environment can be reduced without impairing usability. In addition, according to the present invention, for example, not only the hardware resources on the server side but also the hardware resources on the terminal side can be used, enabling efficient use of hardware resources.
[0047] [Embodiment 2] The program of this embodiment is a program that causes a computer to execute each step of the control method for the load reduction terminal described above. Specifically, the program of this embodiment is a program that causes a computer to execute a communication procedure, a terminal application control procedure, and a display control procedure.
[0048] The aforementioned communication procedure involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The aforementioned terminal application control procedure controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication procedure involves sending the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control procedure generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen.
[0049] Furthermore, the program of this embodiment can also be described as a program that causes a computer to function as a communication procedure, a terminal application control procedure, and a display control procedure.
[0050] The program of this embodiment can be based on the description in the above-mentioned load-reducing terminal and control method for the load-reducing terminal. In each of the above steps, for example, "step" can be read as "process". The program of this embodiment may also be recorded on a computer-readable recording medium, for example. The recording medium is, for example, a non-transitory computer-readable storage medium. The recording medium is not particularly limited and includes, for example, random access memory (RAM), read-only memory (ROM), hard disk (HD), flash memory (e.g., SSD (Solid State Drive), USB flash memory, SD / SDHC card, etc.), optical disc (e.g., CD-R / CD-RW, DVD-R / DVD-RW, BD-R / BD-RE, etc.), magneto-optical disk (MO), floppy disk (FD), etc. The program of this embodiment (for example, also called a programming product or program product) may also be distributed from an external computer, for example. The aforementioned "distribution" may be, for example, distribution via a communication network, or distribution via a wired connected device. The program of this embodiment may be installed and executed on the distributed device, or it may be executed without being installed.
[0051] [Embodiment 3] The program of this embodiment is a program that causes a computer to execute each step of the control method for the load reduction server described above. Specifically, the program of this embodiment is a program that causes a computer to execute a communication procedure, an application control procedure, and a display control procedure.
[0052] The aforementioned communication procedure connects the load reduction terminal and the server via a virtual desktop connection. The application control procedure generates terminal-side startup instruction information to start the terminal application of the terminal, The communication procedure involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control procedure generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The aforementioned communication procedure transmits the virtual desktop screen to the terminal.
[0053] Furthermore, the program of this embodiment can also be described as a program that causes a computer to function as a communication procedure, an application control procedure, and a display control procedure.
[0054] The program of this embodiment can be based on the description in the load reduction server and control method for the load reduction server of the present invention. Each of the above procedures can be read as, for example, "procedure" or "process". The program of this embodiment may also be recorded on, for example, a computer-readable storage medium. The storage medium is, for example, a non-transitory computer-readable storage medium. The storage medium is not particularly limited and includes, for example, random access memory (RAM), read-only memory (ROM), hard disk (HD), flash memory (e.g., SSD (Solid State Drive), USB flash memory, SD / SDHC card, etc.), optical disc (e.g., CD-R / CD-RW, DVD-R / DVD-RW, BD-R / BD-RE, etc.), magneto-optical disk (MO), floppy disk (FD), etc. The program of this embodiment (for example, also called a programming product or program product) may also be distributed from, for example, an external computer. The aforementioned "distribution" may be, for example, distribution via a communication network, or distribution via a wired connected device. The program of this embodiment may be installed and executed on the distributed device, or it may be executed without being installed.
[0055] Although the present invention has been described above with reference to embodiments, the present invention is not limited to the above embodiments. Various modifications to the configuration and details of the present invention can be understood by those skilled in the art within the scope of the present invention.
[0056] <Note> Some or all of the above embodiments may be described as follows, but are not limited to the following: (Note 1) It includes a communication unit, a terminal application control unit, and a display control unit, The communication unit establishes a virtual desktop connection with the server and obtains terminal-side startup instruction information from the server to launch a terminal application. The terminal application control unit controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication unit transmits the display synchronization information to the server and obtains a virtual desktop screen from the server, which includes a pseudo-window that displays the terminal application window. The display control unit generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen. A terminal used to reduce the load on virtual desktops. (Note 2) The terminal application control unit generates server-side startup instruction information to start the server application of the server, The communication unit is a load-reducing terminal as described in Appendix 1, which transmits the server-side startup instruction information to the server. (Note 3) The terminal application acquires predetermined information, The terminal application control unit, as described in Appendix 2, performs at least one of the following based on the predetermined information: control of the terminal application and generation of server-side startup instruction information. (Note 4) The aforementioned terminal application is the terminal's web browser, The terminal application control unit, as described in Appendix 3, controls the web browser and generates server-side startup instruction information based on the URL acquired by the web browser, thereby reducing the load on the terminal. (Note 5) Includes a communication unit, an application control unit, and a display control unit, The aforementioned communication unit connects to the terminal and the virtual desktop, The application control unit generates terminal-side startup instruction information to start the terminal application of the terminal, The communication unit transmits the terminal-side startup instruction information to the terminal and obtains the display synchronization information for the terminal application from the terminal. The display control unit generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The communication unit transmits the virtual desktop screen to the terminal. A server used to reduce the load on virtual desktops. (Note 6) The server application on the server retrieves the specified information. The load reduction server described in Appendix 5, wherein the application control unit performs at least one of the following based on the predetermined information: control of the server application and generation of terminal-side startup instruction information. (Note 7) The aforementioned server application is the server's web browser, The application control unit is a load-reducing server as described in Appendix 6, which performs at least one of controlling the web browser and generating terminal-side startup instruction information based on the URL acquired by the web browser. (Note 8) The communication unit obtains server-side startup instruction information from the terminal to start the server application, The application control unit controls the server application based on the server-side startup instruction information, and is a load-reducing server as described in Appendix 6 or 7. (Note 9) Including terminals and servers, The terminal and the server are connected to each other via virtual desktop connections. The aforementioned terminal is a load reduction terminal as described in any of the appendices 1 to 4. The aforementioned server is a load-reducing server as described in any of the appendices 5 to 8. A system device for reducing the load on virtual desktops. (Note 10) This includes a communication process, a terminal application control process, and a display control process. The aforementioned communication process involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The terminal application control step controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication step involves transmitting the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control step generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen. A method for controlling terminals used to reduce the load on virtual desktops. (Note 11) The terminal application control step generates server-side startup instruction information to start the server application of the server, The communication step is a control method for a load reduction terminal as described in Appendix 10, which transmits the server-side startup instruction information to the server. (Note 12) The terminal application acquires predetermined information, The terminal application control step is a control method for a load-reducing terminal according to Appendix 11, wherein the terminal application control step performs at least one of controlling the terminal application and generating server-side startup instruction information based on the predetermined information. (Note 13) The aforementioned terminal application is the terminal's web browser, The terminal application control step is a control method for a load-reducing terminal as described in Appendix 12, wherein the terminal application control step performs at least one of controlling the web browser and generating server-side startup instruction information based on the URL acquired by the web browser. (Note 14) This includes a communication process, an application control process, and a display control process. The aforementioned communication process connects the load reduction terminal and the server via a virtual desktop connection. The application control step generates terminal-side startup instruction information to start the terminal application of the terminal, The communication process involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control step generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The communication process involves transmitting the virtual desktop screen to the terminal. A method for controlling servers used to reduce the load on virtual desktops. (Note 15) The server application on the server retrieves the specified information. The load reduction server control method described in Appendix 14, wherein the application control step performs at least one of controlling the server application and generating terminal-side startup instruction information based on the predetermined information. (Note 16) The aforementioned server application is the server's web browser, The application control step is a control method for a load reduction server as described in Appendix 15, wherein the application control step performs at least one of controlling the web browser and generating terminal-side startup instruction information based on the URL acquired by the web browser. (Note 17) The communication process involves obtaining server-side startup instruction information from the terminal to start the server application, The application control step is a control method for a load-reducing server as described in Appendix 15 or 16, which controls the server application based on the server-side startup instruction information. (Note 18) Includes communication procedures, terminal application control procedures, and display control procedures. The aforementioned communication procedure involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The aforementioned terminal application control procedure controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication procedure involves sending the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control procedure generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen, A program that causes a computer to perform each of the above steps. (Note 19) The terminal application control procedure generates server-side startup instruction information to start the server application of the server, The aforementioned communication procedure is the program described in Appendix 18, which transmits the server-side startup instruction information to the server. (Note 20) The terminal application acquires predetermined information, The terminal application control procedure is a program according to Appendix 19, which performs at least one of the following based on the predetermined information: control of the terminal application and generation of server-side startup instruction information. (Note 21) The aforementioned terminal application is the terminal's web browser, The terminal application control procedure is the program described in Appendix 20, which performs at least one of the following based on the URL obtained by the web browser: control of the web browser and generation of server-side startup instruction information. (Note 22) Includes communication procedures, application control procedures, and display control procedures, The aforementioned communication procedure connects the load reduction terminal and the server via a virtual desktop connection. The application control procedure generates terminal-side startup instruction information to start the terminal application of the terminal, The communication procedure involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control procedure generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The aforementioned communication procedure transmits the virtual desktop screen to the terminal, A program that causes a computer to perform each of the above steps. (Note 23) The server application on the server retrieves the specified information. The application control procedure is a program as described in Appendix 22, which performs at least one of the following based on the predetermined information: control of the server application and generation of terminal-side startup instruction information. (Note 24) The aforementioned server application is the server's web browser, The application control procedure is the program described in Appendix 23, which performs at least one of the following based on the URL obtained by the web browser: control of the web browser and generation of terminal-side startup instruction information. (Note 25) The aforementioned communication procedure obtains server-side startup instruction information from the terminal to start the server application, The application control procedure is a program according to Appendix 23 or 24 that controls the server application based on the server-side startup instruction information. (Note 26) Includes communication procedures, terminal application control procedures, and display control procedures. The aforementioned communication procedure involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The aforementioned terminal application control procedure controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication procedure involves sending the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control procedure generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen, A computer-readable recording medium containing a program that causes a computer to perform each of the aforementioned steps. (Note 27) The terminal application control procedure generates server-side startup instruction information to start the server application of the server, The communication procedure involves transmitting the server-side startup instruction information to the server, using the recording medium described in Appendix 26. (Note 28) The terminal application acquires predetermined information, The recording medium described in Appendix 27, wherein the terminal application control procedure performs at least one of the following based on the predetermined information: control of the terminal application and generation of server-side startup instruction information. (Note 29) The aforementioned terminal application is the terminal's web browser, The recording medium described in Appendix 28, wherein the terminal application control procedure performs at least one of controlling the web browser and generating server-side startup instruction information based on the URL acquired by the web browser. (Note 30) Includes communication procedures, application control procedures, and display control procedures, The aforementioned communication procedure connects the load reduction terminal and the server via a virtual desktop connection. The application control procedure generates terminal-side startup instruction information to start the terminal application of the terminal, The communication procedure involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control procedure generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The aforementioned communication procedure transmits the virtual desktop screen to the terminal, A computer-readable recording medium containing a program that causes a computer to perform each of the aforementioned steps. (Note 31) The server application on the server retrieves the specified information. The recording medium described in Appendix 30, wherein the application control procedure performs at least one of the following based on the predetermined information: control of the server application and generation of terminal-side startup instruction information. (Note 32) The aforementioned server application is the server's web browser, The recording medium described in Appendix 31, wherein the application control procedure performs at least one of controlling the web browser and generating terminal-side startup instruction information based on the URL acquired by the web browser. (Note 33) The aforementioned communication procedure obtains server-side startup instruction information from the terminal to start the server application, The application control procedure is a recording medium according to Appendix 31 or 32, which controls the server application based on the server-side startup instruction information. [Industrial applicability]
[0057] According to the present invention, for example, in a virtual desktop environment, not only applications on the server but also terminal applications on the terminal can be launched. Furthermore, it becomes possible to display and operate terminal application windows on the virtual desktop screen. This allows for the distribution of processing load by launching and controlling applications that would otherwise place a high load on the virtual desktop environment from the terminal side. Therefore, the present invention can reduce the load on the virtual desktop environment without compromising usability. Moreover, according to the present invention, not only the hardware resources on the server side but also the hardware resources on the terminal side can be utilized, enabling efficient use of hardware resources. For this reason, the present invention can be suitably used in the fields of communications, IT, and the like. [Explanation of Symbols]
[0058] 100 Load Reduction System Device 10. Terminals for reducing load 11 Communications Department 12 Terminal Application Control Unit 13 Display Control Unit 101 Central Processing Unit 102 memory 103 Bus 104 Storage device 105 Input device 106 Output device 20 Servers for load reduction 21 Communications Department 22 Application Control Unit 23 Display Control Unit 201 Central Processing Unit 202 memory Bus 203 204 Storage device 205 Input device 206 Output device
Claims
1. It includes a communication unit, a terminal application control unit, and a display control unit, The communication unit establishes a virtual desktop connection with the server and obtains terminal-side startup instruction information from the server to launch a terminal application. The terminal application control unit controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication unit transmits the display synchronization information to the server and obtains a virtual desktop screen from the server, which includes a pseudo-window that displays the terminal application window. The display control unit generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen. A terminal used to reduce the load on virtual desktops.
2. The terminal application control unit generates server-side startup instruction information to start the server application of the server, The communication unit transmits the server-side startup instruction information to the server, as described in claim 1, for load reduction terminal.
3. The terminal application acquires predetermined information, The terminal application control unit performs at least one of controlling the terminal application and generating server-side startup instruction information based on the predetermined information, as described in claim 2 for load reduction terminals.
4. Includes a communication unit, an application control unit, and a display control unit, The aforementioned communication unit connects to the terminal and the virtual desktop, The application control unit generates terminal-side startup instruction information to start the terminal application of the terminal, The communication unit transmits the terminal-side startup instruction information to the terminal and obtains the display synchronization information for the terminal application from the terminal. The display control unit generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The communication unit transmits the virtual desktop screen to the terminal. A server used to reduce the load on virtual desktops.
5. The server application on the server retrieves the specified information. The load reduction server according to claim 4, wherein the application control unit performs at least one of controlling the server application and generating terminal-side startup instruction information based on the predetermined information.
6. The communication unit obtains server-side startup instruction information from the terminal to start the server application, The load-reducing server according to claim 5, wherein the application control unit controls the server application based on the server-side startup instruction information.
7. This includes a communication process, a terminal application control process, and a display control process. The aforementioned communication process involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The terminal application control step controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication step involves transmitting the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control step generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen. A method for controlling terminals used to reduce the load on virtual desktops.
8. This includes a communication process, an application control process, and a display control process. The aforementioned communication process connects the load reduction terminal and the server via a virtual desktop connection. The application control step generates terminal-side startup instruction information to start the terminal application of the terminal, The communication process involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control step generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The communication process involves transmitting the virtual desktop screen to the terminal. A method for controlling servers used to reduce the load on virtual desktops.
9. Includes communication procedures, terminal application control procedures, and display control procedures. The aforementioned communication procedure involves connecting a load reduction terminal to the server via a virtual desktop connection, and obtaining terminal-side startup instruction information from the server to launch a terminal application. The aforementioned terminal application control procedure controls the terminal application based on the terminal-side startup instruction information and generates information for display synchronization of the terminal application. The communication procedure involves sending the display synchronization information to the server and obtaining a virtual desktop screen from the server that includes a pseudo-window displaying the terminal application window. The display control procedure generates a display screen in which the terminal application window is displayed in a pseudo-window of the virtual desktop screen, A program that causes a computer to perform each of the above steps.
10. Includes communication procedures, application control procedures, and display control procedures, The aforementioned communication procedure connects the load reduction terminal and the server via a virtual desktop connection. The application control procedure generates terminal-side startup instruction information to start the terminal application of the terminal, The communication procedure involves transmitting the terminal-side startup instruction information to the terminal and obtaining the display synchronization information for the terminal application from the terminal. The display control procedure generates a pseudo-window that displays the terminal application window based on the display synchronization information, and generates a virtual desktop screen including the pseudo-window. The aforementioned communication procedure transmits the virtual desktop screen to the terminal, A program that causes a computer to perform each of the above steps.
Citation Information
Patent Citations
Server-client system and its execution method
JP2002244855A
Information processing terminal and client server system
JP2010015475A
Server device, client device, server based computing system, and program
JP2010182176A
Control server, control method, and control program
JP2013183203A
Reverse Seamless Integration Between Local and Remote Computing Environments
US20160044088A1