Communication terminal
The communication terminal addresses the issue of resuming from abnormal terminations by incorporating image storage and control mechanisms, allowing it to recover the display state before crashes, thus maintaining operation continuity.
Patent Information
- Application Number
- JP2024130202
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-26
- Filing Date
- 2024-08-06
- Publication Date
- 2025-07-08
AI Technical Summary
Existing communication terminals with cloud browsers face issues in resuming from abnormal terminations due to memory shortages, as existing methods do not provide a solution for resuming the display state when the abnormal termination occurs on the communication device side.
The communication terminal includes a receiving unit for image information, a display unit for displaying images based on this information, and a control unit to differentiate between normal and abnormal termination states, allowing the terminal to resume the display from the previous state by storing and retrieving images from a storage unit.
Enables the communication terminal to resume operations from the state before abnormal termination, ensuring continuity of the display and avoiding the need to restart from the beginning, even after memory-related crashes.
Smart Images

Figure 2025102624000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a communication terminal.
Background Art
[0002] Communication devices equipped with a Web browser (hereinafter referred to as a browser) and capable of browsing Web pages on the browser have become widespread. By displaying a Web page of an external service through the browser, the communication device can cooperate with the external service.
[0003] By the way, as a form of the browser, there is a form called a cloud browser in which a browser engine that generates a rendering result of a Web page is placed on a cloud server. The cloud browser is a method of browsing a Web page by transmitting a rendering result drawn by a browser engine on a cloud server to a communication device and displaying it on the communication device.
[0004] Since the browser engine is responsible for high-load processes such as analysis processing and execution processing of Web pages, the load on the communication device can be reduced by using the cloud browser. (Patent Document 1)
[0005] Various device resources required for a PC are virtually allocated to a virtual machine on the cloud. Therefore, the browser engine operating on the virtual machine can operate in the same manner as when operating on a PC.
[0006] However, in the cloud browser, when an application that displays a rendering result on a communication device terminates abnormally due to memory shortage or the like, there is a problem that it cannot resume from the previously displayed rendering result when the application on the communication device is restarted.
[0007] In a form where a communication device having a browser engine communicates with a server to perform a web access, a method for resuming when the server side abnormally terminates has been proposed. (Patent Document 2)
Prior Art Documents
Patent Documents
[0008]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0009] In Patent Document 2, it is disclosed that when the server side abnormally terminates, UI information that allows the communication device to resume processing is presented. However, a resumption method when an abnormal termination occurs on the communication device side is not presented. Also, a case where a communication device such as a cloud browser does not have a browser engine is not presented.
[0010] The present invention has been made in view of such circumstances, and an object thereof is to provide a communication terminal that can resume in the state before the abnormal termination when an abnormal termination occurs on the communication terminal side.
Means for Solving the Problems
[0011] The present invention is grasped by the following configuration in order to achieve the above object. The communication terminal of the present invention includes a receiving unit that receives image information obtained by rendering a web page, a display unit that displays an image based on the image information, and a control unit that makes the displayed image different between a case where the image is displayed by the display unit after the display of the image abnormally terminates and a case where the image is displayed by the display unit by normal startup.
Effects of the Invention
[0012] According to the present invention, it is possible to provide a communication terminal that can resume in the state before abnormal termination when the communication terminal abnormally terminates.
Brief Description of the Drawings
[0013]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
[0014] Hereinafter, embodiments for carrying out the present invention (hereinafter referred to as "embodiments") will be described in detail with reference to the accompanying drawings. However, the following embodiments do not limit the present invention according to the claims. In addition, not all combinations of features described in the embodiments are essential for the solution means of the present invention. Note that the same elements are denoted by the same numbers or symbols throughout the description of the embodiments.
[0015] (First Embodiment) FIG. 1 is a diagram showing the configuration of an information processing system 100 according to the first embodiment of the present invention. The information processing system 100 includes a communication device 101 and an image generation system 103.
[0016] The communication device 101 is a device capable of user screen viewing and operation, and is an example of a communication terminal according to the present invention. For example, the communication device 101 is a printer or a client PC having no high-function browsing function.
[0017] The image generation system 103 includes a virtual machine 104 equipped with a browser engine 105 and a storage 106.
[0018] The browser engine 105 operates on the virtual machine 104 and analyzes web content, renders web content, and images the rendering result.
[0019] The image imaged by the browser engine 105 is stored in the storage 106 by the virtual machine 104.
[0020] The virtual machine 104 is connected to the communication device 101, the web server 102, the storage 106, etc. via a network, and web content is placed on the web server 102.
[0021] For example, examples of web content include HTML, CSS, JavaScript (registered trademark), image files such as jpeg and png, and video files such as mp4 and webm.
[0022] The communication device 101 is also connected to the virtual machine 104, the storage 106, etc. via a network. The network may be, for example, the Internet, a WAN (Wide Area Network), a LAN (Local Area Network), or a combination thereof, and there may be multiple communication devices 101.
[0023] Briefly, the flow until the screen of the communication device 101 is generated will be described, and then a more detailed configuration description and processing flow will be described. The communication device 101 requests the virtual machine 104 to load the URL of the specified web page by sending the URL information of the web page to the virtual machine 104.
[0024] When the virtual machine 104 receives the URL information of the web page sent by the communication device 101, the virtual machine 104 requests the browser engine 105 to load the web page corresponding to the URL from the web server 102.
[0025] In response, the browser engine 105 loads the web page corresponding to the URL from the web server 102. That is, the browser engine 105 acquires web content from the web server 102.
[0026] Subsequently, the browser engine 105 generates a rendering result of rendering the web content and images the rendering result. Then, the imaged image is sent by the virtual machine 104 to the storage 106 and stored in the storage 106. The communication device 101 acquires the image stored in the storage 106 and displays the acquired image, thereby generating the screen of the communication device 101.
[0027] Next, the hardware, software configuration of the communication device 101, the hardware configuration of the virtual machine 104, the virtual machine 104, and the software configuration of the browser engine 105 will be specifically described.
[0028] [Hardware Configuration of Communication Device 101] FIG. 2 is a diagram showing the hardware configuration of a computer device constituting the communication device 101 according to the first embodiment of the present invention. As a hardware configuration, the communication device 101 includes a CPU 201, a ROM 202, a RAM 203, a graphical interface 204, and a network interface 205.
[0029] (CPU 201) The CPU 201 is a Central Processing Unit that controls the communication device 101.
[0030] (ROM 202) The ROM 202 is a Read Only Memory that stores programs and parameters that do not require modification.
[0031] (RAM 203) The RAM 203 is a Random Access Memory that temporarily stores programs and data supplied from external devices and the like.
[0032] (Graphical Interface 204) The graphical interface 204 is a display operation means that can use a screen for displaying data to be held and supplied data, a pointing device such as a mouse and a touch panel for inputting data in response to user operations, and an input device such as a keyboard. Note that the graphical interface 204 is an example of the display means according to the present invention.
[0033] (Network Interface 205) The network interface 205 is for connecting to a network.
[0034] Note that there may be a hard disk, a memory card, etc. fixedly installed in the communication device 101. In addition, there may be an external storage device including a flexible disk (FD), an optical disk such as a Compact Disk (CD), a magnetic or optical card, an IC card, a memory card, etc. that can be attached to and detached from the communication device 101.
[0035] [Software Configuration of Communication Device 101] FIG. 3 is a diagram showing the software configuration of a computer device that constitutes the communication device 101 according to the first embodiment of the present invention.
[0036] The communication device 101 includes, as a software configuration, a communication unit 301, a storage unit 302, an operation detection unit 303, a screen generation unit 304, a response analysis unit 305, an application unit 306, and a state determination unit 307.
[0037] (Communication unit 301) The communication unit 301 controls the communication performed by the communication device 101 via the network interface 205, and is an example of the communication means according to the present invention, and functions as the transmission means and the reception means according to the present invention. In addition, the communication unit 301 switches the operation information transmission flag of the storage unit 302 described later.
[0038] (Storage unit 302) The storage unit 302 stores information such as image information, abnormal end flag, and operation information transmission flag described later. Note that the storage unit 302 is an example of the storage means according to the present invention.
[0039] (Operation detection unit 303) The operation detection unit 303 detects the content of the operation when the graphical interface 204 is operated. In addition, the operation detection unit 303 determines whether the operated screen is an operation on a device-specific screen (described later) unique to the communication device 101. Note that the operation detection unit 303 is an example of the operation detection means according to the present invention.
[0040] (Screen generation unit 304) The screen generation unit 304 generates the screen of the graphical interface 204. Specifically, for example, the screen generation unit 304 generates the screen of the graphical interface 204 by causing an image based on the image information described later to be displayed on the graphical interface 204. Note that the screen generation unit 304 is an example of the screen generation means according to the present invention.
[0041] (Response analysis unit 305) The response analysis unit 305 analyzes the content of the information received by the communication unit 301 from the virtual machine 104. Note that the response analysis unit 305 is an example of the response analysis means according to the present invention.
[0042] (Application Unit 306) The application unit 306 controls the application, such as starting and ending the application for processing as a cloud browser. Also, the application unit 306 switches the abnormal end flag (to be described later) in the storage unit 302. Note that the application unit 306 is an example of the application control means according to the present invention.
[0043] (State Determination Unit 307) The state determination unit 307 determines the abnormal end flag (to be described later) in the storage unit 302 and the operation information transmission flag (to be described later). Note that the state determination unit 307 is an example of the state determination means according to the present invention.
[0044] [Hardware Configuration of Virtual Machine 104] FIG. 4 is a diagram showing the hardware configuration of a computer device that constitutes the virtual machine 104 according to the first embodiment of the present invention. The virtual machine 104 includes, as a hardware configuration, a CPU 401, a ROM 402, a RAM 403, and a network interface 404.
[0045] (CPU 401) The CPU 401 is a Central Processing Unit that controls the virtual machine 104, the browser engine 105, and the like.
[0046] (ROM 402) The ROM 402 is a Read Only Memory that stores programs and parameters that do not require modification.
[0047] (RAM 403) The RAM 403 is a Random Access Memory that temporarily stores programs and data supplied from external devices and the like.
[0048] (Network Interface 404) The network interface 404 is for connecting to a network.
[0049] FIG. 5 is a diagram showing the software configurations of the virtual machine 104 and the browser engine 105 according to the first embodiment of the present invention.
[0050] [Software Configuration of Virtual Machine 104] The virtual machine 104 includes, as a software configuration, a communication unit 501, a storage unit 502, a request determination unit 503, a browser application unit 504, and a browser engine 105.
[0051] (Communication Unit 501) The communication unit 501 controls the communication performed by the virtual machine 104 via the network interface 404. In addition, the communication unit 501 also performs communication between the virtual machine 104 and the browser engine 105. Note that the communication unit 501 is an example of the communication means according to the present invention.
[0052] (Storage Unit 502) The storage unit 502 stores the operation information transmitted from the communication device 101. For example, an example of the operation information transmitted from the communication device 101 is URL information of a web page or the like.
[0053] Based on this URL information of the web page, although details will be described later, the browser engine 105 acquires web content, renders the web content, and images the rendered result, and the storage unit 502 also stores these.
[0054] That is, the storage unit 502 also stores web content, the rendered result of rendering the web content, and the image of the imaged rendered result. Note that the storage unit 502 is an example of the storage means according to the present invention.
[0055] (Request Determination Unit 503) The request determination unit 503 determines the content received by the communication unit 501 from the communication device 101 or the browser engine 105. Note that the request determination unit 503 is an example of the request determination means according to the present invention.
[0056] (Browser application unit 504) The browser application unit 504 controls the browser application, such as starting and ending the browser application for performing processing as a cloud browser. Note that the browser application unit 504 is an example of the browser application control means according to the present invention.
[0057] [Software configuration of browser engine 105] The browser engine 105 includes a Web content analysis unit 505, a Web content drawing unit 506, and an image generation unit 507.
[0058] (Web content analysis unit 505) The Web content analysis unit 505 performs analysis of Web content, execution of operation information reflection processing corresponding to an operation information reflection processing request from the virtual machine 104, etc., and is an example of the Web content analysis means according to the present invention. For example, assume that the operation information reflection processing request is a request to load a Web page of a corresponding URL from the Web server 102. Then, as the operation information reflection processing corresponding to the operation information reflection processing request, the Web content analysis unit 505 loads the Web page of the corresponding URL from the Web server 102 and acquires the Web content. And after finishing the operation information reflection processing, the Web content analysis unit 505 transmits an operation information result notifying the virtual machine 104 that the processing has been completed. Note that the Web content analysis unit 505 may determine whether it has received an operation information reflection processing request from the virtual machine 104, determine the timing of the time-elapsed drawing reflection processing of the Web content, perform Web operations on the analyzed Web content, etc.
[0059] (Web content rendering unit 506) The Web content rendering unit 506 renders the analyzed Web content. For example, the Web content rendering unit 506 generates a rendering result by rendering the Web content loaded by the Web content analysis unit 505. When the Web content analysis unit 505 determines an opportunity for time-elapsed rendering reflection processing of Web content, the Web content rendering unit 506 may perform rendering reflection processing based on the time elapsed based on the determination. Also, after completing the rendering process, the Web content rendering unit 506 may send a rendering completion notification notifying the virtual machine 104 of the completion of the rendering process.
[0060] (Image generation unit 507) The image generation unit 507 converts the rendering result drawn by the Web content rendering unit 506 into an image. Note that the image generation unit 507 is an example of the image generation means according to the present invention.
[0061] Hereinafter, with reference to FIGS. 6 to 10, the processing flow of the communication device 101, the processing of the virtual machine 104, and the processing of the browser engine 105 according to the first embodiment of the present invention will be sequentially described.
[0062] FIG. 6 is an example of an image in which the image generation unit 507 according to the first embodiment of the present invention converts the rendering result of Web content into an image.
[0063] FIG. 7 is a diagram showing an example of a screen of the graphical interface 204 generated by the screen generation unit 304 according to the first embodiment of the present invention by displaying an image on the graphical interface 204.
[0064] FIG. 7(A) shows the screen of the graphical interface 204 when the screen generation unit 304 causes the graphical interface 204 to display a home image for the home screen. In this case, the home screen is displayed.
[0065] FIG. 7(B) shows the screen of the graphical interface 204 when the screen generation unit 304 causes the graphical interface 204 to display the image stored in the storage unit 302, which is the image shown in FIG. 6. Note that the screen shown in FIG. 7(B) has a text input field 700.
[0066] Note that the relationship between the screens of FIGS. 7(A) and 7(B) is that FIG. 7(A) is the search screen that first appears at normal startup, and FIG. 7(B) is another screen or the like that is not the search screen displayed as a result of, for example, a user operation.
[0067] [Processing of Communication Device 101] FIG. 8 is a flowchart for explaining the processing flow of the communication device 101 according to the first embodiment of the present invention. Note that for the start in the flowchart, it is assumed that the communication device 101 has already started an application in the application unit 306. Also, assume that the communication device 101, the virtual machine 104, and the storage 106 are connected by a network, and the operation detection unit 303 has received operation information.
[0068] Note that as will be described later, if the application ended abnormally in the previous process, the abnormal end flag in the storage unit 302 is ON.
[0069] (S801) In S801, the state determination unit 307 determines whether the previous application ended abnormally based on the abnormal end flag in the storage unit 302. As a result of the determination, if the abnormal end flag is ON (Yes in S801), the process proceeds to S802, and if the abnormal end flag is OFF (No in S801), the process proceeds to S804. Here, first, consider the normal startup where the abnormal termination flag is OFF and the process proceeds to S804.
[0070] (S804) In S804, since the termination of the previous application was normal, as usual, the screen generation unit 304 causes the graphical interface 204 to display an image for the home screen shown in FIG. 7(A), thereby generating the home screen shown in FIG. 7(A).
[0071] (S805) In S805, the communication unit 301, as a transmission means, transmits operation information to the virtual machine 104. Examples of this operation information include an end request to terminate the browser application, transmission of URL information of a web page, etc. Here, assume that URL information of a web page is transmitted as the operation information. Note that the URL information of the web page transmitted by this communication unit 301 as a transmission means is also referred to as web page operation information.
[0072] (S806) In S806, the communication unit 301, as a reception means, receives an operation information result from the virtual machine 104, and the response analysis unit 305 analyzes the content of the operation information result as a response analysis means. The operation information result is information on the result of the operation information transmitted in S805. As described above, here, since URL information of a web page is transmitted as the operation information, the corresponding operation information result is to receive web page loading information from the virtual machine 104. Note that this web page loading information, as will be described later, is nothing other than information regarding an image (hereinafter also referred to as image information) notifying that an image obtained by rendering the web page has been stored in the storage 106. On the other hand, when the operation information transmitted at S805 is a transmission of an end request to end the browser application, the corresponding operation information result is information on the end of the browser application from the virtual machine 104.
[0073] (S807) In S807, the application unit 306 determines whether the received operation information result is the end of the browser application. Here, since the web page loading information from the virtual machine 104 is being received, the determination in S807 is No, and the process proceeds to S808. Note that when the received operation information result is information on the end of the browser application (Yes in S807), the application unit 306, as application control means, performs end processing of the application started in the communication device 101 and proceeds to S811. Then, in S811, the application unit 306 determines whether the application has ended. However, when the determination in S807 is Yes and the process proceeds to S811, the determination in S811 is also Yes, and this process ends.
[0074] (S808) In S808, the communication unit 301 acquires an image from the storage 106 based on the web page loading information. As described above, since this web page loading information is image information, the communication unit 301 functions as receiving means for acquiring an image based on the image information from the storage 106.
[0075] (S809) In S809, the screen generation unit 304, as screen generation means, generates a screen based on the image based on the image information received by the communication unit 301 as receiving means in S808. For example, assume that the image shown in FIG. 6 is acquired from the storage 106 in S808. In that case, the screen generation unit 304 causes the graphical interface 204 to display the image shown in FIG. 6 based on the image information, and the screen of the graphical interface 204 shown in FIG. 7(B) is generated.
[0076] (S810) In S810, the storage unit 302 stores the image displayed on the graphical interface 204 in S808, that is, the image shown in FIG. 6. That is, the storage unit 302 functions as a storage means for storing the image for display on the graphical interface 204 based on the image information received by the communication unit 301 as a reception means from the storage 106 in S808.
[0077] (S811) In S811, as described above, the application unit 306 determines whether the application has ended. Here, since the application has not ended yet, the application unit 306 determines that the determination in S811 is No and proceeds to S805.
[0078] By the way, during the period until the determination in S811 becomes Yes, the application may sometimes crash, that is, abnormally terminate due to insufficient memory or the like. For example, for the sake of easy understanding, it is assumed that after the storage unit 302 stores the image shown in FIG. 6 as described above, the application abnormally terminates before the next operation information is input, that is, before the next transmission in S805 is performed. In this case, since the application unit 306 itself is running, the application unit 306 detects the abnormal termination of the application. When detecting the abnormal termination, the application unit 306 then turns on the abnormal termination flag of the storage unit 302. On the other hand, since the application itself has ended in an abnormal termination state, it needs to be restarted again, and at the time of restarting, the determination in S801 is performed again. At the start of this time, due to the abnormal termination last time, the abnormal termination flag in the storage unit 302 is ON. Therefore, the determination by the state determination unit 307 in S801 is the case where the abnormal termination flag is ON (Yes in S801), and the process proceeds to S802.
[0079] (S802) In S802, the screen generation unit 304 generates a screen by causing the graphical interface 204 to display an image based on the image information stored in the storage unit 302. As described above, in the storage unit 302, before abnormal termination, the image shown in FIG. 6 corresponding to the screen shown in FIG. 7(B) is stored. Therefore, the screen generated by causing the screen generation unit 304 to display the image shown in FIG. 6 stored in the storage unit 302 on the graphical interface 204 becomes the screen shown in FIG. 7(B). In this way, as a result of the determination of the abnormal termination flag by the state determination unit 307, it is selected whether to display the image of the home screen shown in FIG. 7(A) or the image of the screen shown in FIG. 7(B). And, in accordance with the selection by the state determination unit 307, it functions as a control means for changing the image to be displayed on the graphical interface 204 by the screen generation unit 304. As a result, the home screen shown in FIG. 7(A) at the time of normal startup and the screen shown in FIG. 7(B) at the time of restart after abnormal termination are displayed.
[0080] (S803) In S803, the application unit 306 turns off the abnormal termination flag in the storage unit 302. Then, again, the process proceeds to S805, and the processes after S805 are repeatedly performed until S811 becomes Yes.
[0081] In this way, at the time of restart after abnormal termination, the screen before abnormal termination shown in FIG. 7(B) will appear.
[0082] [Processing of Virtual Machine 104] Next, the processing flow of the virtual machine 104 according to the first embodiment of the present invention will be described. FIG. 9 is a flowchart for explaining the processing flow of the virtual machine 104 according to the first embodiment of the present invention. Note that the state where the virtual machine 104 has launched a browser application is taken as the start of this flowchart.
[0083] (S901) In S901, the request determination unit 503 determines whether the communication unit 501 has received operation information from the communication device 101. As a result of the determination, if it is operation information (Yes in S901), the process proceeds to S902, and if it is not operation information (No in S901), the process proceeds to S907. As described above, examples of the operation information include an end request for ending the browser application, URL information of a web page, and the like. However, in the previous example, it was assumed that URL information of a web page was transmitted as the operation information, so here it is assumed that the URL of the web page has been received.
[0084] (S902) In S902, the communication unit 501 transmits a request for reflecting operation information to the browser engine 105. The content of the transmission is determined from the operation information received in S901. Here, since it is assumed that the URL of the web page has been received, a request to load the URL of the web page received in S901 will be transmitted. If the operation information is an end request for ending the browser application, the browser application unit 504 performs an end process of the browser application as a request for reflecting operation information and proceeds to S903.
[0085] (S903) In S903, the browser application unit 504 determines whether the request for reflecting operation information transmitted in S902 is an end request for ending the browser application. If it was an end request (Yes in S903), the process proceeds to S906. In S906, the communication unit 501 transmits information on the termination of the browser application as an operation information result to the communication device 101. At this time, as described above, since the termination process of the browser application is being performed, S907 also becomes Yes, and the process ends. Then, in response to this, as described above, in the process of the communication device 101, S807 becomes Yes, and as a result, the termination process of the application running on the communication device 101 is performed. On the other hand, if it is not the termination of the browser application (No in S903), the process proceeds to S904.
[0086] (S904) In S904, the communication unit 501 receives an operation information result from the browser engine 105. Here, as described above, since it is an operation information result obtained by sending a loading request for the URL of the received web page, the web page loading information is received. Although it will be described later, this web page loading information is information on saving an image shown in FIG. 6, which is an image obtained by imaging the rendering result of web content in the storage unit 502, that is, an image obtained by rendering the web page.
[0087] (S905) In S905, the communication unit 501 transmits the image shown in FIG. 6 obtained by rendering the web page stored in the storage unit 502 to the storage 106, and the image shown in FIG. 6 is stored in the storage 106.
[0088] (S906) In S906, the communication unit 501 transmits an operation information result to the communication device 101. Specifically, it transmits the web page loading information, which is the operation information result received in S904. At this time, the image shown in FIG. 6 is stored in the storage 106. Therefore, the operation information result transmitted by the communication unit 501 to the communication device 101 can only be information regarding an image (hereinafter also referred to as image information) that notifies that the image obtained by rendering the web page has been stored in the storage 106.
[0089] (S907) In S907, the browser application unit 504 determines whether the browser application has ended. If the browser application has ended (Yes in S907), this process ends. If the browser application has not ended (No in S907), the process proceeds to S901.
[0090] Note that the processing of this flowchart repeats the processing after S901 until Yes in S907.
[0091] [Processing of Browser Engine 105] Next, the processing flow of the browser engine 105 according to the first embodiment of the present invention will be described. FIG. 10 is a flowchart for explaining the processing flow of the browser engine 105 according to the first embodiment of the present invention. Note that the state where the virtual machine 104 has started the browser engine 105 is taken as the start of this flowchart.
[0092] (S1001) In S1001, the web content analysis unit 505 receives an operation information reflection processing request from the virtual machine 104. As described above, since the operation information reflection processing request transmitted from the virtual machine 104 was a read request for the URL of the web page, here, a read request for the URL of the web page is received.
[0093] (S1002) In S1002, it is determined whether the received operation information reflection processing request is an end request instructing the end of the browser application. Here, since the received operation information reflection processing request is not an end request instructing the termination of the browser application, the determination is No, and the process proceeds to S1003. On the other hand, if the received operation information reflection processing request is an end request, the browser application unit 504 performs the termination process of the browser application and proceeds to S1006. Then, at S1006, a determination is made as to whether the browser engine by the browser application unit 504 has ended. In this case, since the determination at S1006 is Yes, this process ends.
[0094] (S1003) At S1003, the Web content analysis unit 505 performs operation information reflection processing based on the operation information reflection processing request received at S1001. That is, based on the Web page loading request for the received URL of the Web page, the Web content analysis unit 505 reads the Web page (i.e., Web content) of the corresponding URL from the Web server 102 via the communication unit 501.
[0095] (S1004) At S1004, the Web content drawing unit 506 generates a drawing result of the Web content, and the image generation unit 507 images the drawing result. Specifically, the image generation unit 507 generates the image shown in FIG. 6 from the drawing result, and the imaged image is stored in the storage unit 502.
[0096] (S1005) At S1005, the Web content analysis unit 505 transmits the operation information result to the virtual machine 104. That is, the Web content analysis unit 505 transmits the loading information of the Web page (i.e., Web content) of the corresponding URL from the Web server 102 performed at S1003. And at this time, the image shown in FIG. 6, which is the result of imaging the drawing result of the Web content in the storage unit 502, that is, the image obtained by rendering the Web page, is already stored. Therefore, the operation information result transmitted by the Web content analysis unit 505 to the virtual machine 104 is nothing but the information on saving the image obtained by rendering the Web page in the storage unit 502.
[0097] (S1006) In S1006, it is determined whether the browser engine 105 has ended. As a result of the determination, if the browser engine 105 has ended (Yes in S1006), this process ends. If the browser engine 105 has not ended (No in S1006), the process proceeds to S1001.
[0098] Note that the process of this flowchart repeatedly performs the processes after S1001 until Yes is obtained in S1006.
[0099] By performing the above-described processes, when the previous application has ended abnormally, the application can be restarted from the screen displayed at the time of the previous abnormal end, and thus there are the following advantages.
[0100] Even if the application of the communication device 101 has ended abnormally due to insufficient memory or the like, the processes being performed on the virtual machine 104 side remain in a standby state as they are.
[0101] However, after restarting the application of the communication device 101 and accessing the browser application again with the URL, the process will start from loading the URL page.
[0102] On the other hand, as described above, in this embodiment, when the previous application has ended abnormally, the application can be restarted from the screen displayed at the time of the previous abnormal end. Therefore, it is possible to restart not from loading the URL page but from the state before the abnormal end.
[0103] Therefore, it is possible to restart from the continuation of the input information and scroll information that were being performed before the previous abnormal end.
[0104] (Second Embodiment) Next, with reference to FIGS. 11 and 12, the communication device 101 and the virtual machine 104 according to the second embodiment of the present invention will be described. In the second embodiment as well, the configuration of the information processing system 100, the hardware configuration of the communication device 101, and the software configuration are the same as those in FIGS. 1 to 3, respectively. Also, the hardware configuration of the virtual machine 104 and the software configuration of the virtual machine 104 and the browser engine 105 are the same as those in FIGS. 4 and 5, respectively, and the flow of processing of the browser engine 105 is the same as that in FIG. 10.
[0105] The second embodiment is an embodiment considering the case where the application abnormally terminates after the operation information is transmitted in S805 shown in FIG. 8 of the first embodiment and before the image shown in FIG. 6 is stored in the storage unit 302 in S810.
[0106] In this case, the image stored in the storage unit 302 is the one stored before the image shown in FIG. 6. From this, a discrepancy will occur between the screen generated by displaying the image stored in the storage unit 302 on the graphical interface 204 and the state on the side of the virtual machine 104 in the standby state. However, in the second embodiment, this point is also improved.
[0107] [Processing of Communication Device 101] FIG. 11 is a flowchart for explaining the processing flow of the communication device 101 according to the second embodiment of the present invention. Note that since FIG. 11 only has additional items compared to the basic flow shown in FIG. 8, the same reference numerals may be assigned to the same items (S801 to S811), and the description may be omitted.
[0108] Also in this embodiment, the communication device 101 starts an application in the application unit 306, connects to the virtual machine 104, the storage 106, and the network, and this flowchart starts with the state where the operation detection unit 303 has received operation information.
[0109] Also, in this embodiment, when the application unit 306 detects an abnormal termination of the application, the abnormal termination flag is set to ON.
[0110] And in this embodiment, as a result of the state determination unit 307 determining whether the previous application terminated abnormally based on the abnormal termination flag in the storage unit 302, if the abnormal termination flag is ON (Yes in S801), the process proceeds to S1101.
[0111] (S1101) In S1101, the state determination unit 307 determines the operation information transmission flag in the storage unit 302. Here, regarding the operation information transmission flag, to explain in advance, after the transmission of the operation information in S805 of FIG. 11 (for example, in the previous example, the transmission of the URL information of the web page), in S1106, the operation information transmission flag is set to ON. Also, after the storage of the image in the storage unit 302 in S810, that is, after the storage of the image shown in FIG. 6 used for generating the screen of the graphical interface 204 in S808, the operation information transmission flag is set to OFF in S1107. Therefore, if the result of the determination in S1101 is that the operation information transmission flag is OFF (No in S1101), appropriately, after the storage of the image shown in FIG. 6 in the storage unit 302, it means that an abnormal termination of the application has occurred. Therefore, if the operation information transmission flag is OFF (No in S1101), the process proceeds to S802, the image shown in FIG. 6 stored in the storage unit 302 is displayed on the graphical interface 204, and the screen shown in FIG. 7(B) before the abnormal termination is generated. On the other hand, if the result of the determination in S1101 is that the operation information transmission flag is ON (Yes in S1101), it means that an abnormal termination of the application has occurred before the storage of the image in the storage unit 302 in S810. Therefore, the process proceeds to S1102 and corresponding processing is performed. Note that, as described above, by making a determination based on the operation information transmission flag, the state determination unit 307 functions as a determination means for determining whether an image has been stored in the storage unit 302 in S810 after the operation information is transmitted by the communication unit 301 as a transmission means in S805.
[0112] (S1102) In S1102, the communication unit 301 transmits the previous operation result confirmation information to the virtual machine 104. This previous operation result confirmation information is a request for the virtual machine 104 to transmit the previous operation information result, and is information determined in advance between the communication device 101 and the virtual machine 104. That is, the previous operation result confirmation information requests the operation information result (Web page loading information) corresponding to the transmission of the previous operation information (for example, the transmission of the URL information of the Web page). Note that, as described above, when the state determination unit 307 as a determination means determines in S1101 that the image has not been stored in the storage unit 302 in S810, the communication unit 301 functions as a confirmation information request transmission means for transmitting a confirmation information request as the previous operation result confirmation information.
[0113] (S1103) In S1103, the communication unit 301 receives the previous operation result information from the virtual machine 104 (for example, receives the loading information of the previous Web page), and the response analysis unit 305 analyzes the content of the previous operation result information.
[0114] (S1104) In S1104, the communication unit 301 acquires an image from the storage 106. At this time, the image stored in the storage 106 should be the image shown in FIG. 6 that should have been stored in the storage unit 302 if an abnormal termination does not occur, and the image shown in FIG. 6 is acquired. Note that since S1104 is a newly provided item and is assigned a new code, the detailed description is omitted because the processing content is the same as that of S808.
[0115] (S1105) In S1105, the screen generation unit 304 causes the graphical interface 204 to display the image shown in FIG. 6 acquired in S1104 as screen generation means, and the screen of the graphical interface 204 shown in FIG. 7(B) is generated. Note that since S1105 is a newly provided item and is given a new reference sign, the detailed description is omitted because the processing content is the same as that of S809.
[0116] (S1106) In S1106, as described above, the communication unit 301 turns on the operation information transmission flag of the storage unit 302.
[0117] (S1107) In S1107, as described above, the communication unit 301 turns off the operation information transmission flag of the storage unit 302.
[0118] Note that, similar to the first embodiment, this process repeatedly performs the processes after S805 until Yes in S811.
[0119] [Processing of Virtual Machine 104] FIG. 12 is a flowchart for explaining the processing flow of the virtual machine 104 according to the second embodiment of the present invention. Note that since FIG. 12 only has additional items compared to the basic flow shown in FIG. 9, the same reference signs may be given to the same items (S901 to S907) and the description may be omitted.
[0120] Also in this embodiment, the state where the virtual machine 104 has started the browser application is taken as the start of this flowchart.
[0121] As described in the first embodiment, in S901, the request determination unit 503 determines whether the communication unit 501 has received operation information from the communication device 101. Similar to the first embodiment, when the communication unit 501 receives operation information from the communication device 101, the determination in S901 is Yes, and the process proceeds to S902, S903, S904, and S1201.
[0122] On the other hand, in the second embodiment, as described earlier while referring to the flowchart of FIG. 11, there may be a case where the previous operation result confirmation information is received. In this case, since the previous operation result confirmation information is confirmation information, the determination in S901 is No, and the process proceeds to S1202.
[0123] (S1201) In S1201, the browser application unit 504 stores the operation information result received in S904 in the storage unit 502, and the process proceeds to S905, S906, and S1202. In the example described in the first embodiment, the loading information of the web page received in S904 is stored in the storage unit 502. Specifically, the received loading information of the web page is information in which the image shown in FIG. 6, which is an image of the rendering result of the web content, is stored in the storage unit 502.
[0124] (S1202) In S1202, the request determination unit 503 determines whether the communication unit 501 has received the previous operation result confirmation information. When proceeding to S1202 via S1201, since the determination in S901 is operation information, it is not confirmation information, and the determination in S1202 is No, and the process proceeds to S907. On the other hand, in the previous example, since the determination in S901 became No and the process proceeded to S1202 by receiving the confirmation information, in this case, the determination in S1202 is Yes, and the process proceeds to S1203.
[0125] (S1203) In S1203, the browser application unit 504 reads out the operation information result stored in the storage unit 502. According to the previous examples, here, it is assumed that the loading information of the web page is read from the storage unit 502.
[0126] (S1204) In S1204, the communication unit 501 transmits the previous operation result information (the previous web page loading information) to the communication device 101. In response to this, in the communication device 101, the previous operation result information of S1103 described above with reference to FIG. 11 is received, and the acquisition from the storage 106 of the image that cannot be stored in the storage unit 302 is performed in S1104.
[0127] As described above, in the second embodiment, even if an abnormal termination occurs after transmitting the operation information in S805 and before storing the image shown in FIG. 6 in the storage unit 302 in S810, it is possible to surely start up in the screen state generated by the image shown in FIG. 6.
[0128] That is, even if the image shown in FIG. 6 is not stored in the storage unit 302, when the application is restarted, the screen shown in FIG. 7(B) based on the image shown in FIG. 6 that was displayed on the graphical interface 204 before the previous abnormal termination is displayed.
[0129] Moreover, as can be seen from the above processing flow, the operation information transmitted before the previous abnormal termination is not retransmitted. For this reason, in order to obtain the image shown in FIG. 6 that cannot be stored in the storage unit 302, the process of acquiring the web content again does not occur, so it is possible to avoid performing the same operation multiple times on the virtual machine 104.
[0130] (Third Embodiment) Next, a third embodiment of the present invention will be described. The third embodiment is an embodiment in consideration of the fact that in the screen display of the graphical interface 204, there is a screen specific to the communication device (hereinafter also referred to as the device-specific screen) to be further displayed. The device-specific screen is a screen generated by the communication device 101 itself, and examples include a software keyboard and the like. Note that the software keyboard is an example of the user interface according to the present invention, and in some cases, such a device-specific screen may be referred to as "UI".
[0131] FIG. 13 is a diagram showing a state in which a software keyboard as a device-specific screen according to the third embodiment of the present invention is displayed on the graphical interface 204. FIG. 13(A) shows a screen of the graphical interface 204 before input is performed using the software keyboard. FIG. 13(B) shows a screen of the graphical interface 204 after the letter "A" is input using the software keyboard.
[0132] The screen of the graphical interface 204 shown in FIG. 13(A) appears, for example, when the user touches the text input field 700 while the screen shown in FIG. 7(B) is displayed on the graphical interface 204.
[0133] In this embodiment, since the screens of the software keyboards shown in FIGS. 13(A) and 13(B) are displayed superimposed on the image constituting the screen shown in FIG. 7(B), only the software keyboard is visible to the user.
[0134] Also, when the user touches and operates on the screen of the software keyboard, the operation detection unit 303 determines that an operation on the device-specific screen has been performed.
[0135] On the other hand, when the user touches and operates on a screen other than the device-specific screen, for example, the screen shown in FIG. 7(B), the operation detection unit 303 determines that it is not an operation on the device-specific screen.
[0136] However, when an operation of touching the text input field 700 is performed on the screen shown in FIG. 7(B), the screen generation unit 304 determines that it is necessary to generate a software keyboard as a device-specific screen.
[0137] Next, with reference to FIG. 14, the processing flow of the communication device 101 according to the third embodiment will be described. FIG. 14 is a flowchart for explaining the processing flow of the communication device 101 according to the third embodiment of the present invention.
[0138] Also in the third embodiment, the configuration of the information processing system 100, the hardware configuration of the communication device 101, and the software configuration are the same as those in FIGS. 1 to 3, respectively.
[0139] Further, the hardware configuration of the virtual machine 104 and the software configuration of the virtual machine 104 and the browser engine 105 are the same as those in FIGS. 4 and 5, respectively.
[0140] Furthermore, the processing flow of the virtual machine 104 is the same as that in FIG. 9, and the processing flow of the browser engine 105 is the same as that in FIG. 10.
[0141] Note that S801, S803 to S808, and S811 in FIG. 14 are the same processes as S801, S803 to S808, and S811 in FIG. 8, respectively, and the description may be omitted.
[0142] Hereinafter, as before, when starting this flowchart, it is assumed that the communication device 101 has already started an application in the application unit 306 and is connected to the virtual machine 104, the storage 106, and the network.
[0143] However, for the sake of clarity in the following description, it is assumed that the startup of this application is a restart after an abnormal termination and the abnormal termination flag is ON.
[0144] Also, it is assumed that a restart is performed with the image shown in FIG. 6 stored in the storage unit 302.
[0145] In S801, a determination based on the abnormal end flag is performed as before. However, as described above, this time, since the abnormal end flag is ON, the process proceeds to S1401.
[0146] (S1401) In S1401, in the same manner as described in S802, the screen generation unit 304 causes the graphical interface 204 to display the image shown in FIG. 6 stored in the storage unit 302, thereby generating the screen shown in FIG. 7(B). On the other hand, in the present embodiment, although it will be described later, in addition to the image (an image based on web content as exemplified in FIG. 6) in the storage unit 302, there may be cases where device-specific screen information such as a software keyboard is stored. In this case, the screen generation unit 304 generates the screen of the graphical interface 204 based on the image stored in the storage unit 302 and the device-specific screen information. For example, the device-specific screen information stored in the storage unit 302 is the ID of the screen necessary for generating the software keyboard shown in FIG. 13(A). In this case, the screen generation unit 304 generates the screen of the graphical interface 204 by displaying, on the graphical interface 204, an image obtained by adding a software keyboard as a predetermined UI to the image stored in the storage unit 302.
[0147] (S1402) In S1402, the operation detection unit 303 determines whether it is an operation on the device-specific screen. As described above, currently, the screen of the graphical interface 204 is the screen shown in FIG. 7(B). Therefore, here, it is assumed that the user performs an operation of touching the text input field 700, and the determination of the operation information is performed. In this case, as described above, since it is not an operation on the software keyboard, the operation detection unit 303 determines that it is not an operation on the device-specific screen (No in S1402), and sequentially proceeds to S805, S806, S807, S808, and then proceeds to S1404. Thus, when an operation of touching the text input field 700 is performed, in S805, operation information indicating that the operation of touching the text input field 700 has been performed is transmitted to the virtual machine 104. Then, in S806, as a result of the operation information, a result indicating that the text input field 700 has been touched is received. Note that, for the operation of touching the text input field 700, an image corresponding to the operation of touching the text input field 700 may be generated by the processing of the virtual machine 104 and the browser engine 105 and stored in the storage 106. Since the browser application has not ended, S807 is No, and the process proceeds to S808, where the image stored in the storage 106 is acquired, and then the process proceeds to S1404.
[0148] (S1404) In S1404, the screen generation unit 304 determines whether it is necessary to generate a device-specific screen. In S806, as a result of the operation information, a result indicating that the text input field 700 has been touched is received. As described above, when an operation of touching the text input field 700 is performed, the screen generation unit 304 determines that it is necessary to generate a device-specific screen. Therefore, based on the operation information result received in S806, the screen generation unit 304 determines Yes and proceeds to S1405.
[0149] (S1405) In S1405, the screen generation unit 304 generates a device-specific screen. As described above, in the case of the result of touching the text input field 700, the screen generation unit 304 generates a software keyboard as the device-specific screen. Specifically, the screen generation unit 304 generates a software keyboard based on the ID of the screen necessary for generating the software keyboard shown in FIG. 13(A) stored in the storage unit 302.
[0150] (S1406) In S1406, the screen generation unit 304 performs screen display to display on the graphical interface 204 an image obtained by adding the software keyboard (UI) generated in S1405 to the image received in S808. Note that the display on the graphical interface 204 is not necessarily limited to the image obtained by adding the software keyboard (UI) to the image received in S808, and either the software keyboard or the image received in S808 may be used. Note that in this embodiment, as described above, since the software keyboard (UI) is located at the uppermost side, the screen of the graphical interface 204 becomes the screen shown in FIG. 13(A).
[0151] (S1407) In S1407, the storage unit 302 stores the image used to generate the screen in S1406 and the device-specific screen information (for example, the ID of the screen necessary for generating the software keyboard). If S811 is not Yes, the process returns to S1402 again. Note that, as will be described later, when S1402 becomes Yes and the process proceeds to S1407 via S1403, an operation on the device-specific screen information (for example, the software keyboard) is being performed. In such a case, the operation information, which is the content of the operation, may also be stored in the storage unit 302.
[0152] Specifically, regarding the case of proceeding to S1403, assume that the user touches the software keyboard currently displayed on the graphical interface 204 and performs a touch operation for character input. For example, when a touch operation such as inputting the alphabet "A" as shown in FIG. 13(B) is performed, the determination by the operation detection unit 303 in S1402 becomes Yes, and this time, the process proceeds to S1403. Note that as described above, the operation detection unit 303 functions as UI operation determination means for determining whether an operation is performed on the software keyboard which is a UI.
[0153] (S1403) In S1403, the screen generation unit 304 updates the device-specific screen. After that, the screen generation unit 304 displays the generated screen on the graphical interface 204. In this case, the screen of the graphical interface 204 becomes like the screen of FIG. 13(B). Then, again, the process proceeds to S1406 and S1407. In this case, there is operation information indicating that a touch operation for inputting the alphabet "A" is performed on the software keyboard. Therefore, as described above, in S1407, the storage unit 302 stores, in addition to the image and the device-specific screen information (for example, the ID of the screen necessary for generating the software keyboard) used for screen generation in S1406, the operation information of the touch operation of "A" input. In this way, the storage unit 302 also functions as UI operation storage means for storing operations on the software keyboard which is a UI.
[0154] And then, when an abnormal termination occurs and the application is restarted, the processing in S1401 may be as follows.
[0155] In the processing of S1401 at the time of this restart, the screen generation unit 304 automatically executes the processing up to the processing based on the operation information of the touch operation of "A" input stored in the storage unit 302, so that the screen in the state after the operation appears.
[0156] Incidentally, as described above, when the screen generation unit 304 performs display after an abnormal termination, it also functions as a UI operation execution unit that executes operations on the software keyboard, which is the UI stored in the UI operation storage unit.
[0157] As described above, in the third embodiment, when the communication device 101 generates a device-specific screen, combines it with the image of the rendering result of the web content, and displays the screen on the communication device 101, it is possible to resume from the screen display before the abnormal termination when the application abnormally terminates.
[0158] (Fourth Embodiment) Next, the communication device 101, virtual machine 104, and browser engine 105 according to the fourth embodiment of the present invention will be described. Also in the fourth embodiment, the configuration of the information processing system 100, the hardware configuration of the communication device 101, and the software configuration are the same as those in FIGS. 1 to 3, respectively.
[0159] Further, the hardware configuration of the virtual machine 104 and the software configuration of the virtual machine 104 and the browser engine 105 are the same as those in FIGS. 4 and 5, respectively.
[0160] In the fourth embodiment, as will be described later with reference to FIG. 17, after the browser engine 105 performs the operation information reflection process indicated by S1003 and then generates the rendering result indicated by S1004, it is further considered to perform the rendering result generation of S1703 one or more times.
[0161] This is an embodiment that takes into account the case where the application abnormally terminates before the communication device 101 stores the rendering result generated by the browser engine 105 at S810.
[0162] [Processing of Communication Device 101] FIG. 15 is a flowchart for explaining the processing flow of the communication device 101 according to the fourth embodiment of the present invention, and is a figure corresponding to FIG. 11.
[0163] Specifically, S801 to S811, S1104, and S1105 in FIG. 15 are the same processes as S801 to S811, S1104, and S1105 in FIG. 11 respectively. Note that S801 to S811 in FIG. 15 are also the same processes as S801 to S811 in FIG. 8 respectively.
[0164] On the other hand, in FIG. 15, S1101, S1106, and S1107 in FIG. 11 are changed to S1501, S1502, and S1503, and the difference is that a new S1504 is added.
[0165] Therefore, hereinafter, the parts different from FIG. 11 will be mainly described, and the description may be omitted for the parts that are the same.
[0166] As before, at the start of this flowchart, it is assumed that the communication device 101 has already started an application in the application unit 306 and is connected to the virtual machine 104 and the storage 106 via the network.
[0167] (S1501) In S1501, the application unit 306 determines the drawing update end flag in the storage unit 302. As a result of the determination, if the drawing update end flag is OFF (Yes in S1501), the process proceeds to S1104, and if the drawing update end flag is ON (No in S1501), the process proceeds to S802.
[0168] (S1502) In S1502, the application unit 306 sets the drawing update end flag in the storage unit 302 to OFF. By setting the drawing update end flag to OFF, the communication device 101 can determine with the virtual machine 104 that the drawing has not yet ended.
[0169] (S1503) In S1503, the communication unit 301 makes a drawing update end flag update determination based on whether it has received the drawing update end flag ON information from the virtual machine 104. When the drawing update end flag ON information is received, the application unit 306 turns ON the drawing update end flag in the storage unit 302. If the drawing update end flag ON information is not received, do nothing.
[0170] (S1504) In S1504, the application unit 306 determines the drawing update end flag in the storage unit 302. As a result of the determination, if the drawing update end flag is ON (Yes in S1504), the process proceeds to S811, and if the drawing update end flag is OFF (No in S1504), the process proceeds to S808.
[0171] [Processing of Virtual Machine 104] FIG. 16 is a flowchart for explaining the processing flow of the virtual machine 104 according to the fourth embodiment of the present invention, and corresponds to FIG. 9.
[0172] Specifically, S901 to S907 in FIG. 16 are the same processes as S901 to S907 in FIG. 9, respectively.
[0173] On the other hand, in order to match the processing of FIG. 15, in FIG. 16, in addition to the steps of FIG. 9, S1601, S1602, and S1603 are added, which is different.
[0174] Therefore, hereinafter, mainly the parts different from FIG. 9 will be described, and the description of the same parts may be omitted.
[0175] (S1601) In S1601, the communication unit 501 determines whether it has received the drawing result available information from the browser engine 105. If the drawing result available information is received (Yes in S1601), the process proceeds to S1602, and if the drawing result available information is not received (No in S1601), the process proceeds to S1603.
[0176] (S1602) In S1602, the communication unit 501 transmits an image obtained by rendering the web page stored in the storage unit 502 to the storage 106, and the image is stored in the storage 106. Note that since S1602 is a newly provided item, it is assigned a new code. However, the processing content is the same as that of S905, so a detailed description is omitted.
[0177] (S1603) In S1603, the communication unit 501 transmits the drawing update end flag ON information to the communication device 101.
[0178] [Processing of Browser Engine 105] FIG. 17 is a flowchart for explaining the processing flow of the browser engine according to the fourth embodiment of the present invention, and is a figure corresponding to FIG. 10.
[0179] Specifically, S1001 to S1006 in FIG. 17 are the same processes as S1001 to S1006 in FIG. 10, respectively.
[0180] On the other hand, in order to match the processing of FIGS. 15 and 16, in FIG. 17, in addition to the steps in FIG. 10, S1701, S1702, S1703, and S1704 are added, which is different.
[0181] Therefore, hereinafter, mainly the parts different from FIG. 10 will be described, and the description of the same parts may be omitted.
[0182] (S1701) In S1701, the web content analysis unit 505 determines whether there is drawing processing in the web content drawing unit 506. If there is drawing processing (Yes in S1701), the process proceeds to S1702. If there is no drawing processing (No in S1701), the process proceeds to S1704. As an example of determining that there is no drawing processing, for example, when no drawing processing has been performed for a certain period of time since the previous drawing processing.
[0183] (S1702) In S1702, the Web content analysis unit 505 transmits information indicating the presence of a drawing result to the virtual machine 104.
[0184] (S1703) In S1703, the Web content drawing unit 506 generates a drawing result of the Web content, and the image generation unit 507 converts the drawing result into an image. Note that since S1703 is a newly provided item and is given a new code, the detailed description is omitted because the processing content is the same as that of S1004.
[0185] (S1704) In S1704, the Web content analysis unit 505 transmits information indicating the absence of a drawing result to the virtual machine 104.
[0186] As described above, in the fourth embodiment, even after the browser engine 105 transmits the operation result information in S1005, if there is a drawing process in the determination of S1701, the drawing result is generated in S1703.
[0187] At this time, by transmitting the information indicating the presence of a drawing result to the virtual machine 104 in S1702, the virtual machine 104 becomes Yes in S1601 and performs the process of S1602.
[0188] Then, the communication device 101 becomes No in S1504, and the latest drawing result of the browser engine 105 can be displayed by the processes of S808 to S810.
[0189] By the way, before the determination of S1504 becomes Yes, there are times when the application crashes due to insufficient memory or the like, that is, abnormally terminates.
[0190] For example, for easier understanding, after generating an image in S1004, the image is stored in S810.
[0191] After that, assuming that it becomes Yes in S1701, an image is generated in S1703, and an abnormal termination occurs before the result is stored in S810.
[0192] In this case, the drawing update end flag in the storage unit 302 will end abnormally while remaining OFF. At the time of restart, in the determination by S1501, when the drawing update end flag is OFF (Yes in S1501), the process proceeds to S1104.
[0193] In S1104, the communication unit 301 acquires an image from the storage 106, and the screen generation unit 304 displays an image based on the image (image information) received by the communication unit 301 from the storage 106 on the graphical interface 204 (display means).
[0194] At this time, the image stored in the storage 106 is the latest image generated in S1703. If no abnormal termination occurs, the image that should have been stored in the storage unit 302 is acquired in S1104.
[0195] And in S1501, the application unit 306 functions as a rendering state determination means for determining whether or not the rendering performed after transmitting the operation information of the web page has ended, based on the drawing update end flag.
[0196] That is, the communication device 101 (communication terminal) of the fourth embodiment has a rendering state determination means for determining whether or not the rendering has ended after the transmission by the communication unit 301 (transmission means) that transmits the operation information of the web page.
[0197] Also, in S1105, the screen generation unit 304, which functions as a control means for causing the image displayed on the graphical interface 204 (display means) to differ, causes the display means to display an image based on the image (image information) received by the communication unit 301 in S1104.
[0198] Note that the process of S1105 is performed when the display of the image abnormally ends (Yes in S801) due to the abnormal termination of the application and when it is determined by the rendering state determination means that the rendering has not ended (Yes in S1501).
[0199] That is, in the fourth embodiment, when the display of the image abnormally ends and it is determined by the rendering state determination means that the rendering has not ended, the control means causes the display means to display an image based on the image information received by the receiving means.
[0200] As a result, in the fourth embodiment, even if an abnormal termination occurs after the image is generated in S1703 and before the image is stored in the storage unit 302 in S810, it is possible to surely start up in the screen state generated by the latest image generated in S1703.
[0201] Therefore, even when the browser engine 105 continuously performs drawing regardless of operation information such as drawing of an animation, it is possible to resume from the state of the latest drawing drawn by the browser engine 105 at the time of abnormal termination of the application.
[0202] Thereby, it is possible to eliminate the difference between the latest drawing result drawn by the browser engine 105 and the screen displayed when the communication device 101 resumes from the abnormal termination, and it is possible to eliminate an unintended operation by the user due to a UI shift or the like caused by the difference.
[0203] As described above, the present invention has been described based on specific embodiments, but the present invention is not limited to the above embodiments. Those obtained by making changes and improvements to the above embodiments are also included in the technical scope of the invention, which is obvious to those skilled in the art from the description of the claims.
Explanation of Reference Numerals
[0204] 100... Information processing system 101... Communication device 102…Web server 103…Image generation system 104…Virtual machine 105…Browser engine 106…Storage 201, 401…CPU 202, 402…ROM 203, 403…RAM 204…Graphical interface 205, 404…Network interface 301, 501…Communication unit 302, 502…Memory unit 303…Operation detection unit 304…Screen generation unit 305…Response analysis unit 306…Application unit 307…State determination unit 503…Request determination unit 504…Browser application unit 505…Web content analysis unit 506…Web content drawing unit 507…Image generation unit
Claims
1. Receiving means for receiving image information obtained by rendering a web page; Display means for displaying an image based on the image information; Control means for causing the displayed image to differ between a case where the image is displayed by the display means after an abnormal end of the display of the image and a case where the image is displayed by the display means during normal startup; A communication terminal, characterized by comprising the above.
2. Further comprising storage means for storing the image displayed by the display means, wherein when the control means displays an image after an abnormal end of the display of the image, the control means causes the image stored in the storage means before the abnormal end to be displayed. The communication terminal according to claim 1, characterized by the above.
3. The display means displays an image obtained by adding a predetermined UI to the image. The communication terminal according to claim 1, characterized by the above.
4. Transmitting means for transmitting operation information of a web page; Determination means for determining whether or not the image based on the image information received by the receiving means after transmission by the transmitting means is stored in the storage means; Confirmation information request transmitting means for transmitting a confirmation information request when the display of the image ends abnormally and the determination means determines that the image is not stored in the storage means; The communication terminal according to claim 2, further comprising the above.
5. UI operation determination means for determining whether or not an operation is performed on a predetermined UI; UI operation storage means for storing an operation performed on a predetermined UI; UI operation execution means for executing the operation stored in the UI operation storage means when the image is displayed after an abnormal end of the display of the image; The communication terminal according to claim 3, further comprising the above.
6. Transmitting means for transmitting operation information of a web page; Rendering state determination means for determining whether or not rendering has ended after transmission by the transmitting means, and having: when the control means determines that the display of the image has ended abnormally and the rendering state determination means determines that rendering has not ended, the control means causes the display means to display an image based on the image information received by the receiving means. The communication terminal according to claim 1, characterized by the above.
Citation Information
Patent Citations
JP182793A
Server and information processing system having the server and control method thereof
JP2010219792A