Image generation system, method of controlling image generation system, control method of virtual machine, and program

The image generation system addresses the issue of virtual machine failure in cloud browsers by enabling a second virtual machine to read and execute stored operation information, allowing seamless continuation of the cloud browser operation.

JP2025000425APending Publication Date: 2025-01-07CANON KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023100270
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-19
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In cloud browsers, if a virtual machine terminates abnormally due to memory issues, the application on the communication device cannot restart from the previously displayed drawing result, as the operation contents of the web page are stored in each virtual machine, and other virtual machines cannot obtain the previous state of the web page.

Method used

An image generation system with a first and second virtual machine, where the first virtual machine receives operation information from the communication device, stores it for use by the second virtual machine, and includes mechanisms for the second virtual machine to read and execute this information to restart processing from the state before abnormal termination.

Benefits of technology

Enables the system to restart processing from the state before abnormal termination even if a virtual machine fails, allowing a normal virtual machine to take over and continue the cloud browser operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025000425000001_ABST
    Figure 2025000425000001_ABST
Patent Text Reader

Abstract

To provide a technique for allowing a virtual machine, which has aborted, to resume a process executed before the abort, on a cloud browser.SOLUTION: In an image generation system including a first virtual machine and a second virtual machine, the first virtual machine includes: receiving means which receives operation information on a web page from a communication device; and storage means which sores the operation information so that the second virtual machine may use the operation information.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image generation system, a control method for an image generation system, a control method for a virtual machine, and a program. [Background technology]

[0002] Communication devices equipped with a web browser (hereafter referred to as a browser) that can view web pages on the browser are becoming widespread. By displaying the web pages of external services through the browser, the communication device can link with the external services.

[0003] Incidentally, one type of browser is called a cloud browser, in which a browser engine that generates the rendering results of a web page is placed on a virtual machine in the cloud. A cloud browser is a method for browsing a web page by transmitting the rendering results rendered by the browser engine on the virtual machine in the cloud to a communication device and displaying them on the communication device. Since the browser engine is responsible for high-load processes such as web page analysis and execution, the use of a cloud browser can reduce the load on the communication device (Patent Document 1).

[0004] In addition, in a thin client server system, in consideration of the load on the server due to an increase in the number of accesses from communication devices to the server, there is a method of distributing the processing and distributing the server load by preparing multiple virtual machines on the cloud (Patent Document 2). In the cloud browser, it is also possible to distribute the server load by preparing multiple virtual machines on the cloud as in Patent Document 2. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2014-182793 A [Patent Document 2] JP 2013-20553 A Summary of the Invention [Problem to be solved by the invention]

[0006] Here, in a cloud browser, if a virtual machine on the cloud abnormally terminates due to insufficient memory or the like, an application on the communication device cannot resume from the previously displayed rendering result. This is because the operation contents of the web page of the communication device are stored on a virtual machine basis, and other virtual machines cannot obtain the previous state of the web page. Patent Documents 1 and 2 do not consider how to resume processing when an error occurs in the virtual machine.

[0007] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a technology in the form of a cloud browser for resuming processing from the state before the virtual machine abnormally terminated, even if the virtual machine abnormally terminated. [Means for solving the problem]

[0008] An image generating system according to one aspect of the present invention that achieves the above object comprises: An image generating system comprising a first virtual machine and a second virtual machine, The first virtual machine comprises: A receiving means for receiving operation information of a web page from a communication device; a storage unit for storing the operation information so that the second virtual machine can use the operation information; The present invention is characterized by comprising: Effect of the Invention

[0009] According to the present invention, in the form of a cloud browser, even if a virtual machine terminates abnormally, it is possible to resume processing from the state before the abnormal termination. [Brief description of the drawings]

[0010] [Figure 1] System configuration diagram according to an embodiment [Diagram 2] 1 is a diagram illustrating a hardware configuration of a communication device according to an embodiment. [Diagram 3] 1 is a software configuration diagram of a communication device according to an embodiment; [Figure 4] Hardware configuration diagram of a virtual machine according to an embodiment [Diagram 5] A software configuration diagram of a virtual machine according to an embodiment. [Figure 6] FIG. 1 is a diagram showing a software configuration of a database according to an embodiment. [Figure 7] FIG. 1 is a diagram illustrating an example of database registration information according to an embodiment. [Figure 8] 1 is a flowchart showing a process flow of a communication device according to a first embodiment. [Figure 9] 1 is a flowchart showing a process flow of a virtual machine and a browser engine according to the first embodiment. [Figure 10] 1 is a flowchart showing a process for determining whether or not a virtual machine is continuously accessed according to the first embodiment. [Figure 11] 11 is a flowchart showing the flow of processing by a virtual machine and a browser engine according to the second embodiment. [Figure 12] FIG. 1 is a diagram showing an example of a processing sequence according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe a number of features, not all of these features are essential to the invention, and the features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicated descriptions are omitted.

[0012] (Embodiment 1) 1 is a diagram showing an example of a system configuration according to an embodiment. An information processing system 100 includes a communication device 101 and an image generation system 103.

[0013] Reference numeral 101 denotes a communication device. A user views and operates the screen of the communication device 101. The communication device 101 is connected to a load balancer 104 and a storage 109 via a network. The network in this embodiment may be, for example, the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), or a combination of several of these. The communication device 101 also transmits operation information of a Web page to the load balancer 104 and acquires image information from the storage 109.

[0014] Reference numeral 102 denotes a web server. The web server 102 is connected to a gateway 110 via a network. The web server 102 holds web content. In this embodiment, the web content refers to HTML, CSS, JavaScript (registered trademark), image files such as jpeg and png, and video files such as mp4 and webm.

[0015] An image generation system 103 provides a cloud browser function. The image generation system 103 may include a load balancer 104, a virtual machine A 105, a browser engine A 106, a virtual machine B 107, a browser engine B 108, a storage 109, a gateway 110, and a database 111. The image generation system 103 may include at least the virtual machine A 105, the browser engine A 106, the virtual machine B 107, and the browser engine B 108.

[0016] Reference numeral 104 denotes a load balancer. The load balancer 104 relays communication between the communication device 101 and the virtual machine A 105, and between the communication device 101 and the virtual machine B 107. When relaying communication, the load balancer 104 can fix the communication partner of the communication device 101 based on cookie information. The load balancer 104 may monitor whether an error state occurs in the virtual machine A 105 and / or the virtual machine B 107. For example, when an error occurs in the virtual machine A 105, the load balancer 104 may be configured to select the virtual machine B 107 even if cookie information has been added.

[0017] Reference numeral 105 denotes a virtual machine A. The virtual machine A 105 is equipped with a browser engine A 106. The virtual machine A 105 is connected to a load balancer 104, a virtual machine B 107, a storage 109, a gateway 110, and a database 111 via a network. The virtual machine A 105 receives Web page operation information from the load balancer 104, transmits image information to the storage 109, and transmits a request to acquire Web content to the gateway 110.

[0018] Reference numeral 106 denotes a browser engine A. The browser engine A 106 runs on the virtual machine A 105, and analyzes Web content, generates rendering results of the Web content, and converts the rendering results into image information.

[0019] Reference numeral 107 denotes a virtual machine B. The virtual machine B 107 is equipped with a browser engine B 108. The virtual machine B 107 is connected to the load balancer 104, the virtual machine A 105, the storage 109, the gateway 110, and the database 111 via a network. The virtual machine B 107 receives Web page operation information from the load balancer 104, transmits image information to the storage 109, and transmits a request to acquire Web content to the gateway 110.

[0020] Reference numeral 108 denotes a browser engine B. The browser engine B 108 runs on the virtual machine B 107, and analyzes Web content, generates rendering results of the Web content, and converts the rendering results into image information.

[0021] Reference numeral 109 denotes a storage. The storage 109 receives and stores image information sent from the virtual machine A 105 and the virtual machine B 107. Reference numeral 110 denotes a gateway. The gateway 110 relays communications between the virtual machine A 105 and the virtual machine B 107 and the Web server 102. Reference numeral 111 denotes a database. The database 111 stores information received from the virtual machine A 105 and the virtual machine B 107.

[0022] <Hardware configuration of communication device> 2 is a diagram showing a hardware configuration of a computer device constituting a communication device 101 according to an embodiment. Reference numeral 201 denotes a Central Processing Unit (CPU) that controls the communication device 101. Reference numeral 202 denotes a Read Only Memory (ROM) that stores programs and parameters that do not require modification.

[0023] Reference numeral 203 denotes a random access memory (RAM) that temporarily stores programs and data supplied from an external device, etc. Reference numeral 204 denotes a graphical interface related to graphics. The graphical interface 204 may include a screen for displaying stored data and supplied data, a pointing device such as a mouse that inputs data in response to a user's operation, an input device such as a keyboard, and a touch panel. Reference numeral 205 denotes a network interface for connecting to a network.

[0024] Also, there may be a hard disk or a memory card that is fixedly installed in the communication device 101. Alternatively, there may be an external storage device that is detachable from the communication device 101 and includes an optical disk such as a flexible disk (FD) or a compact disk (CD), a magnetic or optical card, an IC card, a memory card, and the like.

[0025] <Software configuration of communication device> 3 is a diagram showing the software configuration of a computer device constituting the communication device 101 according to an embodiment. Reference numeral 301 denotes a communication unit that controls communication performed by the communication device 101 via the network interface 205. Reference numeral 302 denotes a storage unit that stores information. The stored information is, for example, image information and cookie information. Reference numeral 303 denotes an operation detection unit that detects the content of an operation performed when the graphical interface 204 is operated.

[0026] Reference numeral 304 denotes a screen generation unit that generates and displays a screen to be displayed on the graphical interface 204. Reference numeral 305 denotes a response analysis unit that analyzes the contents of information received by the communication unit 301 from the load balancer 104. Reference numeral 306 denotes an application unit that starts and ends an application for performing processing as a cloud browser.

[0027] <Hardware configuration of the computer device that configures the virtual machine> Next, FIG. 4 is a diagram showing a hardware configuration of a computer device that constitutes the virtual machine A 105 and the virtual machine B 107 according to an embodiment.

[0028] Reference numeral 401 denotes a Central Processing Unit (CPU) that controls the virtual machine A 105 and the virtual machine B. Reference numeral 402 denotes a Read Only Memory (ROM) that stores programs and parameters that do not require modification. Reference numeral 403 denotes a Random Access Memory (RAM) that temporarily stores programs and data supplied from an external device, etc. Reference numeral 404 denotes a network interface for connecting to a network.

[0029] <Software configuration of the computer device that configures the virtual machine> 5 is a diagram showing software configurations of virtual machine A 105, virtual machine B 107, browser engine A 106, and browser engine B 108 according to an embodiment. Virtual machine A 105 has a similar configuration to virtual machine B 107, and browser engine A 106 has a similar configuration to browser engine B 108.

[0030] Reference numeral 501 denotes a communication unit that controls communication performed by the virtual machine A 105 or the virtual machine B 107 via the network interface 404. Reference numeral 502 denotes a storage unit in which the virtual machine A 105 or the virtual machine B 107 stores Web content, Web drawing information, images of the drawing results, user information, and operation information. Reference numeral 503 denotes a request determination unit that determines the contents of a request received by the communication unit 501 from the load balancer 104.

[0031] Reference numeral 504 denotes a browser application unit that starts and ends a browser application for performing processing as a cloud browser. Reference numeral 505 denotes a Web content analysis unit that analyzes Web content by the browser engine A 106 or the browser engine B 108. In addition, the Web content analysis unit 505 performs Web operations, operation information reflection processing, read information execution processing, and operation information rewriting processing for the analyzed Web content.

[0032] A Web content drawing unit 506 draws the analyzed Web content. An image generating unit 507 converts the drawing result of the Web content drawing unit 506 into image information.

[0033] <Database configuration> 6 is a diagram showing the software configuration of the database 111 of this embodiment. Reference numeral 601 denotes a communication unit that controls communication performed by the database 111 via a network. Reference numeral 602 denotes a storage unit that stores database registration information 700 (described later with reference to FIG. 7).

[0034] FIG. 7 is a diagram showing an example of database registration information 700 according to an embodiment. States 701 to 704 represent states of the database registration information 700, with the initial state being state 701. The database registration information 700 stores a user ID and Web operation information. The user ID and the Web operation information are stored in association with each other. For example, when the database registration information 700 is in state 702, this indicates that the user ID: user1 is associated with the uri: https: / / www.xxxxx.com. Here, uri is an abbreviation for Uniform Resource Identifier. States 703 and 704 will be described later.

[0035] <Communication Device Processing> 8 is a flowchart illustrating a process flow of the communication device 101 according to this embodiment. The process starts when the application unit 306 of the communication device 101 starts an application and the operation detection unit 303 receives operation information by a user operation.

[0036] In S801, the communication unit 301 transmits operation information of the Web page to the load balancer 104. The operation information of the Web page in this embodiment can include URI information of the Web page and coordinate information of the click. In addition, the transmission information is transmitted including a user ID for identifying the user who transmitted the information. In addition, if cookie information is stored in the storage unit 302, the transmission information is transmitted including the cookie information.

[0037] In S802, the communication unit 301 receives the operation information result from the load balancer 104. Then, the response analysis unit 305 analyzes the contents of the operation information result. At this time, the response analysis unit 305 stores in the storage unit 302 the cookie information included in the analysis result.

[0038] In S803, the response analysis unit 305 determines whether or not error information has been received as a result of the analysis. Error information in this embodiment refers to, for example, an error in the 500 range of HTTP status codes. If error information has been received (Yes in S803), the process proceeds to S804. On the other hand, if error information has not been received (No in S803), the process proceeds to S805.

[0039] In S804, the communication unit 301 retransmits the operation information transmitted in S801 to the load balancer 104. For example, when the load balancer 104 receives error information of the virtual machine A 105 (browser engine A 106) in S803, it retransmits the operation information to the virtual machine B 107 (browser engine B 108).

[0040] In S805, the communication unit 301 acquires image information from the storage 109 based on the analysis result of the operation information result. In S806, the screen generation unit 304 generates a screen based on the image information received in S805. In addition, the screen generation unit 304 displays the generated screen via the graphical interface 204.

[0041] In S807, the application unit 306 determines whether the application has been terminated. If the application has been terminated (Yes in S807), this process ends. On the other hand, if operation information for terminating the application has not been received (No in S807), the process returns to S801.

[0042] <Image Generation System Processing> 9 is a flowchart illustrating the flow of processing performed by the virtual machine A 105 and the browser engine A 106, and the virtual machine B 107 and the browser engine B 108 according to this embodiment. The processing starts when the virtual machine A 105 or the virtual machine B 107 has started a browser application.

[0043] In S901, the request determination unit 503 determines whether or not the communication unit 501 has received operation information from the load balancer 104. If the determination result indicates that operation information has been received (Yes in S901), the process proceeds to S902. On the other hand, if operation information has not been received (No in S901), the process proceeds to S910.

[0044] In S902, the request determination unit 503 determines whether the operation information received in S901 is a continuous access. The processing of this step will be described later with reference to Fig. 10. If the determination result indicates a continuous access (Yes in S902), the process proceeds to S903. On the other hand, if the determination result indicates a non-continuous access (No in S902), the process proceeds to S907.

[0045] In S903, the Web content analysis unit 505 performs a process of reflecting the operation information based on the operation information received in S901. In this embodiment, when the received operation information includes URI information of a Web page, the communication unit 501 makes a Web page request of the target URI to the gateway 110 and receives the Web content from the Web server 102. Thereafter, the Web content analysis unit 505 analyzes the acquired Web content, the Web content drawing unit 506 generates a drawing result based on the reflected process, and the image generation unit 507 converts the drawing result into image information and stores it in the storage unit 502.

[0046] If the received operation information includes click coordinate information, the Web content analysis unit 505 performs a click process on the target coordinates on the Web page. After that, the Web content drawing unit 506 generates a drawing result based on the reflected process, and the image generation unit 507 converts the drawing result into image information and stores it in the storage unit 502.

[0047] In S904, the communication unit 501 transmits image information to the storage 109. The image information transmitted here is image information stored in the storage unit 502.

[0048] In S905, the communication unit 501 transmits the operation information result to the load balancer 104. The load balancer 104 that has received the operation information result adds cookie information and transmits the operation information result to the communication device 101. At this time, the user ID of the operation information received in S901 is stored in the storage unit 502. The user ID stored in the storage unit 502 is deleted after a certain period of time has elapsed and / or when operation information to terminate use of the cloud browser is received from the user.

[0049] In S906, the communication unit 501 transmits the operation information received in S901 to the database 111. Upon receiving the operation information, the communication unit 601 of the database 111 updates and stores the database registration information 700.

[0050] As an example, when database registration information 700 is in state 701, assume that user ID: user1 and web page URI information: uri "https: / / www.xxxxx.com" are received in S901. In that case, the database registration information becomes state 702. Also, when database registration information 700 is in state 702, assume that user ID: user1 and click information: click: "200, 300" are received in S901. In that case, the database registration information becomes state 703.

[0051] In S907, the communication unit 501 transmits the user ID received in S901 to the database 111, and reads information from the database 111. As an example, when the database registration information 700 is in the state 703, reading information using the user ID: user1 can read information of uri "https: / / www.xxxxx.com" and click "200, 300".

[0052] In S908, based on the information read in S907, the Web content analysis unit 505 performs execution processing on the read information. As an example, consider the case where the information read in S907 is uri "https: / / www.xxxxx.com" and click "200, 300". At this time, first, a Web page request for https: / / www.xxxxx.com is sent to the gateway 110, and Web content is received from the Web server 102. Then, the Web content analysis unit 505 analyzes the acquired Web content. After that, the Web content analysis unit 505 performs click processing on the coordinates 200 and 300 of the Web page.

[0053] In S909, the communication unit 501 sends the processing result of S908 to the communication device 101. At this time, the user ID of the operation information received in S901 is stored in the storage unit 502. In S910, the browser application unit 504 determines whether the browser application has ended. If the browser application has ended (Yes in S910), this process ends. On the other hand, if operation information to end the browser application has not been received (No in S910), the process returns to S901.

[0054] <Detailed processing of S902> Subsequently, the detailed processing of S902 will be described. FIG. 10 is a flowchart for explaining the flow of a process for determining whether it is a continuous access in S902 according to an embodiment.

[0055] In S1001, the request determination unit 503 determines whether the information received in S901 is a new user's access. In this determination process, it is determined whether the user ID of the operation information received in S901 is stored in the storage unit 502. As a result of the determination process, if the user ID is not stored (Yes in S1001), the process proceeds to S1002. On the other hand, if the user ID is stored (No in S1001), the process proceeds to S1004.

[0056] In S1002, the request determination unit 503 determines whether or not the information received in S901 indicates first-time use. The first-time use here refers to the first time the communication device 101 performs the process of S802 on the load balancer 104 after starting the application.

[0057] In this embodiment, whether or not it is the first use is determined based on whether or not cookie information has been added to the operation information received in S901. The cookie information is assumed to have been added by the load balancer 104 during the processing of S802. If the result of the determination is that the operation information includes cookie information (Yes in S1002), the process proceeds to S1003. On the other hand, if the operation information does not include cookie information (No in S1002), the process proceeds to S1004.

[0058] In S1003, the request determination unit 503 determines that the operation information received in S901 is not continuous access. In S1004, the request determination unit 503 determines that the operation information received in S901 is continuous access.

[0059] <Example> For example, if an error occurs in virtual machine A 105 (browser engine A 106) and operation information is retransmitted to virtual machine B 107 (browser engine B 107) in S804 of Fig. 8, the request determination unit 503 of virtual machine B 107 executes the process of Fig. 9. In that case, the result of S902 is No, and the process proceeds to S907. In S907, the communication unit 501 of virtual machine B 107 reads out the operation information from the database 111.

[0060] In S908, the Web content analysis unit 505 of the browser engine B108 of the virtual machine B107 executes the read operation information based on the operation information read in S907. Then, in S909, the execution result of the operation information is transmitted to the communication device 101. In this manner, in S906, the virtual machine A105 (browser engine A106) pre-stores the operation information in the database 111. Then, the virtual machine B107 (browser engine B107) reads and executes the operation information from the database 111, thereby making it possible to reproduce the state of the virtual machine A105 (browser engine A106).

[0061] Here, a processing sequence of the information processing system according to an embodiment will be described with reference to Fig. 12. First, the communication device 101, the virtual machine A 105, and the virtual machine B 107 each run a browser application (F1201 to F1203).

[0062] In F1201, the communication device 101 displays a home screen. In F1205, operation information (for example, the URL of the Yahoo top page) is transmitted. In F1206, the virtual machine A 105 executes and reflects the operation information received from the communication device 101. Then, in F1207, the virtual machine A 105 images the Web page reflecting the operation information, and stores the image information in the storage 109. In F1208, the virtual machine A 105 transmits the operation information result (including cookie information) to the communication device 101 (via the load balancer 104).

[0063] In F1209, the communication device 101 acquires image information from the storage 109. Then, in F1210, the communication device 101 displays an image on a screen based on the acquired image information. Meanwhile, in F1211, the virtual machine A 105 transmits a request to the database 111 to update the operation information of the database 111. In F1212, the database 111 transmits an update completion notification to the virtual machine A 105. In this way, the operation information in the virtual machine A 105 is stored so that it can be used by another virtual machine B 107 later.

[0064] In F1213, the communication device 101 transmits operation information (including cookie information) to the virtual machine A 105. For example, the operation information here is an operation of inputting "printer" in a search box and executing a search. However, in F1214, it is assumed that some kind of error occurs in the virtual machine A 105. In F1215, the virtual machine A 105 transmits, for example, error information (503 response) returned by the communication protocol to the communication device 101.

[0065] In F1216, the communication apparatus 101 retransmits the operation information (including the cookie information). At this time, under the control of the load balancer 104, the operation information is retransmitted to the virtual machine 107, not to the virtual machine A 105 where the error occurred.

[0066] In F1217, the virtual machine B 107 judges whether the access is new or continuing. In this case, it is new access. In F1218, the virtual machine B 107 transmits a read request for operation information to the database 111. In F1219, the database 111 transmits the operation information to the virtual machine B 107 in response to the request.

[0067] In F1220, the virtual machine B107 takes over the state using the read operation information, and then reflects and executes the operation information received in F1215. As a result, the virtual machine B107 can access a Yahoo page, reproduce the previous state, and then enter "printer" in the search box to perform a search. Then, in F1221, the virtual machine B107 converts the operation result into an image, and stores the image information in the storage 109. Thereafter, in F1222, the virtual machine B107 transmits the operation information result (including cookie information) to the communication device 101.

[0068] In F1223, the communication apparatus 101 acquires image information from the storage 109. In F1224, the communication apparatus 101 displays an image on the screen using the acquired image information.

[0069] As a result, even if the first virtual machine abnormally terminates, the state of the abnormally terminated first virtual machine can be taken over by the normal second virtual machine, and the cloud browser can be resumed.

[0070] As described above, according to this embodiment, even if a virtual machine abnormally terminates, a normal virtual machine can take over the state of the abnormally terminated virtual machine and resume the cloud browser. This is because the virtual machine that takes over reads from the database the operation information that was received by the abnormally terminated virtual machine, and actually executes the read operation information on the virtual machine to reproduce the state before the abnormal termination.

[0071] [Modification of the first embodiment] In addition, in S1002 of the present embodiment, whether or not it is the first use is determined based on whether or not cookie information is added to the operation information, but this is not limited to the above. For example, a method may be used in which the communication device adds information indicating the first use to the operation information, and the virtual machine determines whether or not the information is added. In addition, the cookie information is not limited to the example in which it is generated by the load balancer 104, but may be added by the Web server 102, the virtual machine A 105, and the virtual machine B 107.

[0072] Furthermore, in this embodiment, the error information is an error with an HTTP status code in the 500 range, but this is not limiting, and the error information may be a message indicating that the virtual machine is unable to communicate.

[0073] In addition, in this embodiment, the operation information of the web page is the URI information of the web page and the coordinate information of the click, but it is not limited to this and may be other operation information related to the operation of the web page such as scrolling, zooming, etc. The operation information may include at least one of reading a Uniform Resource Identifier (URI), clicking, scrolling, zooming, text input, back, forward, and update.

[0074] In addition, in this embodiment, in S906 and S907, information is exchanged using a database, but this is not limited to this, and storage 109 may be used, or one virtual machine may send information directly to another virtual machine.

[0075] Furthermore, after determining No in S902 and before performing the process of S907, the communication unit 501 may transmit information indicating that the takeover process is to be started to the communication device 101. That is, before reading out the operation information, information indicating that the readout is to be performed may be transmitted to the communication device 101. This allows the communication device 101 to recognize that the virtual machine has started the takeover process without waiting for the process of S908. Furthermore, the screen generation unit 304 may generate a screen indicating the start of the takeover process and display it via the graphical interface 204. This allows the user to be informed that the takeover process has been started without waiting for the process of S908, improving user convenience.

[0076] In addition, in this embodiment, if the processing of S908 fails, a message indicating execution failure is sent in S909, and the communication device 101 receives this in S802, the screen generation unit 304 may create a screen indicating the execution failure and display it on the graphical interface 204.

[0077] Furthermore, in this embodiment, when reading is performed in S907, the time required for the processing of S908 may be calculated from the read information, and the communication unit 501 of the virtual machine may transmit the calculated result to the communication device 101. The communication device 101 may create a screen showing the calculated time by the screen generation unit 304 of the communication device 101, and display it via the graphical interface 204. This allows the user to recognize how long they will have to wait, improving user convenience.

[0078] (Embodiment 2) In this embodiment, an example of reducing the amount of execution processing of the information read out in S908 of the first embodiment will be described. The system configuration according to this embodiment and the hardware and software configurations of the communication device 101 are the same as those described in Figs. 1 to 3. The hardware and software configurations of the virtual machine A 105 and the virtual machine B 107 are the same as those described in Figs. 4 and 5. The processing flow of the communication device 101 is the same as that described with reference to Fig. 8. The software configuration of the database 111 is the same as that described in Fig. 6, and the configuration of the database registration information 700 is the same as that of the information described in Fig. 7.

[0079] <Processing> 11 is a flowchart illustrating the flow of processing performed by the virtual machine A 105 and the browser engine A 106, and the virtual machine B 107 and the browser engine B 108 according to this embodiment. The processing starts when the virtual machine A 105 or the virtual machine B 107 has started a browser application.

[0080] The processes of S901 to S905 and S907 to S910 in Fig. 11 are the same as the processes of S901 to S905 and S907 to S910 in Fig. 9. The following description will focus on the differences.

[0081] In S1101, the Web content analysis unit 505 determines whether or not a Web page was loaded in the operation information reflection process in S903. If the result of the determination is that a Web page was loaded (Yes in S1101), the process proceeds to S1102. On the other hand, if a Web page was not loaded (No in S1101), the process proceeds to S1104.

[0082] In the present embodiment, the reading of a web page refers to the reading of a URI. For example, the operation information received in S901 includes URI information of a web page, or the operation information received in S901 includes click coordinate information and, as a result of the operation information reflection process in S903, a process of clicking a URI link is performed.

[0083] In S1102, the communication unit 501 transmits a deletion request to the database 111 to delete the database information. At this time, the user ID included in the operation information received in S901 is also transmitted. When the communication unit 601 of the database 111 receives the deletion request for the database information, it deletes the information of the corresponding user ID from the database registration information. As an example, when the database registration information is in state 703 and a deletion request for the database information of user ID: user1 is received, the database registration information becomes in state 701.

[0084] In S1103, the Web content analysis unit 505 performs a rewrite process on the operation information received in S901. In the rewrite process, the operation information is rewritten to URI information of the Web page. The URI at this time is the URI read in S903. As an example, assume that the operation information received in S901 is user ID: user1, click information: 200, 300, and the reading of URI: https: / / www.yyyyy.com occurs in S903. At this time, as shown in state 704 in FIG. 7, the operation information is rewritten from user ID: user1, click information: 200, 300 to URI: https: / / www.yyyyy.com.

[0085] In S1104, the communication unit 501 transmits the operation information received in S901 or the operation information rewritten in S1103 to the database 111. The communication unit 601 updates the database registration information 700 upon receiving the operation information.

[0086] As described above, according to this embodiment, database information is deleted when a Web page is loaded. In this way, by deleting operation information before the loading of a Web page from among the information registered in the database, the processing executed in S908 can be reduced, and the execution time can be shortened. This is because, when reproducing the state of a Web page, the state of the Web page can be reproduced by performing subsequent processing including the loading of the Web page.

[0087] As an example, assume that after loading Web page A in S903, a transition to Web page B is made by click processing A, and then click processing B is performed. The state of the Web page at that time can be reproduced by loading Web page B and then performing click processing B.

[0088] In this embodiment, the operation information is rewritten in S1103 in order to reproduce the process from the Web page loading in S908.

[0089] As an example, assume that after loading Web page A in S903, a transition to Web page B is made by click processing A. If rewriting is not performed at this time, click processing A will be performed in S908, but a problem occurs in that performing click processing A without loading Web page A will not allow transition to Web page B. For this reason, in S1103, click processing A is rewritten to loading Web page B, making it possible to resume processing from loading the Web page.

[0090] Also, the cookie information created by the Web server may be associated with the user and transmitted in S1104, and read from the database in S907. This makes it possible to reproduce the state according to this embodiment even when a Web page transition involving login is performed.

[0091] The disclosure of this specification includes the following image generation system, a control method for an image generation system, a control method for a virtual machine, and a program.

[0092] (Item 1) An image generating system comprising a first virtual machine and a second virtual machine, The first virtual machine comprises: A receiving means for receiving operation information of a web page from a communication device; a storage unit for storing the operation information so that the second virtual machine can use the operation information; An image generating system comprising:

[0093] (Item 2) The first virtual machine comprises: An execution means for executing the operation information; a transmission means for transmitting a result of the execution by the execution means to the communication device; 2. The image generating system according to item 1, further comprising:

[0094] (Item 3) The second virtual machine comprises: a read means for reading the operation information stored by the storage means; an execution means for executing the read operation information; 3. The image generating system according to item 1 or 2, comprising:

[0095] (Item 4) The second virtual machine comprises: A receiving means for receiving operation information of a Web page from the communication device; a determination unit that, when the operation information is received, determines whether the operation information is a continuous access, 4. The image generating system according to item 3, wherein the reading means performs the reading when it is determined that the operation information is not continuous access.

[0096] (Item 5) The second virtual machine comprises: a determination means for determining whether the operation information received by the receiving means is information related to reading a Web page when the operation information is determined to be continuous access; a deletion means for deleting the information stored by the storage means when the operation information is determined to be information related to loading of a Web page; 5. The image generating system according to item 4, further comprising:

[0097] (Item 6) The second virtual machine comprises: A writing means for writing Uniform Resource Identifier (URI) information of the Web page regarding the reading. 6. The image generating system according to item 5, further comprising:

[0098] (Item 7) 3. The image generating system according to item 2, wherein the transmission means of the first virtual machine further transmits error information if the processing by the execution means of the first virtual machine fails.

[0099] (Item 8) The second virtual machine comprises: a transmission means for transmitting, to the communication device, information indicating that the reading is to be performed before the reading is performed; 7. The image generating system according to any one of items 3 to 6, further comprising:

[0100] (Item 9) The image generating system according to any one of items 1 to 8, characterized in that the operation information includes at least one of reading a Uniform Resource Identifier (URI), clicking, scrolling, zooming, text input, back, forward, and updating.

[0101] (Item 10) 10. The image generating system according to any one of items 1 to 9, wherein the storage means stores the operation information in a database or a storage for storing image information.

[0102] (Item 11) The first virtual machine comprises: 11. The image generating system according to any one of items 1 to 10, further comprising a transmission unit that transmits the operation information to the second virtual machine.

[0103] (Item 12) A method for controlling an image generating system including a first virtual machine and a second virtual machine, comprising: a receiving step of the first virtual machine receiving operation information of a web page from a communication device; a storing step of storing the operation information by the first virtual machine so that the operation information can be used by the second virtual machine; 13. A method for controlling an image generating system comprising:

[0104] (Item 13) 1. A method for controlling a virtual machine in an image generating system including a virtual machine and another virtual machine, comprising: a receiving step of receiving operation information of a web page from a communication device; a storing step of storing the operation information so that the other virtual machines can use the operation information; 13. A method for controlling a virtual machine, comprising:

[0105] (Item 14) Item 14. A program for causing a computer to execute the virtual machine control method according to item 13.

[0106] (Other embodiments) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

[0107] The invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0108] 101: communication device, 103: image generation system, 105: virtual machine A, 106: browser engine A, 107: virtual machine B, 108: browser engine B, 109: storage, 111: database

Claims

1. An image generating system comprising a first virtual machine and a second virtual machine, The first virtual machine comprises: A receiving means for receiving operation information of a web page from a communication device; a storage unit for storing the operation information so that the second virtual machine can use the operation information; An image generating system comprising:

2. The first virtual machine comprises: An execution means for executing the operation information; a transmission means for transmitting a result of the execution by the execution means to the communication device; The image generating system of claim 1 further comprising:

3. The second virtual machine comprises: a read means for reading the operation information stored by the storage means; an execution means for executing the read operation information; The image generating system according to claim 1 , further comprising:

4. The second virtual machine comprises: a receiving means for receiving operation information of a web page from the communication device; a determination unit that, when the operation information is received, determines whether the operation information is a continuous access, 4. The image generating system according to claim 3, wherein the reading means performs the reading when it is determined that the operation information does not indicate continuous access.

5. The second virtual machine comprises: a determination means for determining whether the operation information received by the receiving means is information regarding reading of a web page when the operation information is determined to be continuous access; a deletion means for deleting the information stored by the storage means when the operation information is determined to be information related to reading a web page; The image generating system of claim 4 further comprising:

6. The second virtual machine comprises: A writing means for writing Uniform Resource Identifier (URI) information of the Web page related to the reading. The image generating system of claim 5 further comprising:

7. 3. The image generating system according to claim 2, wherein the transmission means of the first virtual machine further transmits error information when the processing by the execution means of the first virtual machine fails.

8. The second virtual machine comprises: a transmission means for transmitting, to the communication device, information indicating that the reading is to be performed before the reading is performed; The image generating system of claim 3 further comprising:

9. The image generating system according to claim 1 , wherein the operation information includes at least one of reading a Uniform Resource Identifier (URI), clicking, scrolling, zooming, text input, back, forward, and updating.

10. 2. The image generating system according to claim 1, wherein the storage means stores the operation information in a database or a storage for storing image information.

11. The first virtual machine comprises: The image generating system according to claim 1 , further comprising a transmitting unit for transmitting the operation information to the second virtual machine.

12. A control method for an image generating system including a first virtual machine and a second virtual machine, comprising: a receiving step of the first virtual machine receiving operation information of a web page from a communication device; a storing step of storing the operation information by the first virtual machine so that the operation information can be used by the second virtual machine; 13. A method for controlling an image generating system comprising:

13. 1. A method for controlling a virtual machine in an image generating system including a virtual machine and another virtual machine, comprising: a receiving step of receiving operation information of a web page from a communication device; a storing step of storing the operation information so that the other virtual machines can use the operation information; 13. A method for controlling a virtual machine, comprising:

14. A program for causing a computer to execute the virtual machine control method according to claim 13.

Citation Information

Patent Citations

  • Thin client server system, communication system and screen information transmission method

    JP2013020553A

  • Encoder, video processing server, video processing system, encoding method, and program therefor

    JP2014182793A