Program update method and information processing system

The system automates program updates to restricted versions during emergencies, addressing the inability of existing methods to enforce function restrictions during critical events, ensuring timely security measures.

JP2025141719APending Publication Date: 2025-09-29SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024055675
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-13
Filing Date
2024-03-29
Publication Date
2025-09-29

AI Technical Summary

Technical Problem

Existing program update methods fail to restrict certain functions during specific events, such as emergencies, if users decline updates, leading to potential security vulnerabilities.

Method used

A server device determines and enforces program updates to restricted versions, automatically transitioning from a first program to a second program with limited functions during specific events, without user intervention.

Benefits of technology

Enables quick restriction of program functions during emergencies by automating updates, reducing communication overhead and user-dependent delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025141719000001_ABST
    Figure 2025141719000001_ABST
Patent Text Reader

Abstract

To quickly restrict a specific function of a program when a specific event occurs.SOLUTION: A second server 200 capable of communicating with a first server 100 and a terminal device 300 stores a first program PG1 as a web application executed in response to a request from the terminal device 300, the second server 200 determines whether or not to update the first program PG1 to a second program PG2 in which a part of functions of the first program PG1 is restricted, and when it is determined to update the first program PG1 to the second program PG2, the second server 200 transmits update request information REQu for requesting to update the first program PG1 to the second program PG2 to the first server 100, the first server 100 transmits the second program PG2 to the second server 200 based on the update request information REQu, and the second server 200 updates the first program PG1 to the second program PG2.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program update method and an information processing system. [Background technology]

[0002] Updating application programs used by users has been a common practice. Patent Document 1 discloses that if a program update is highly important, an update notification is displayed on the display unit of the user's mobile terminal device. For example, when an update notification is displayed on the display unit of the mobile terminal device, the user performs an operation to update the program stored in the mobile terminal device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2020-170230 Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, it may be desirable to restrict certain functions of an application program during the occurrence of a specific event, such as an emergency. For example, it is conceivable to update a program to one with limited functions during the occurrence of a specific event. However, in the method of Patent Document 1, in which a user confirms an update notification and performs an operation to update the program, if the user does not permit the program update, the limited functions are not restricted. For this reason, it is desirable to quickly restrict certain functions of a program when a specific event occurs. [Means for solving the problem]

[0005] In the program update method of the present invention, a second server device capable of communicating with a first server device and a terminal device stores a first program as a program to be executed in response to a request from the terminal device, the second server device determines whether to update the first program to a second program in which some of the functions of the first program are restricted, and if it determines that the first program should be updated to the second program, the second server device sends update request information to the first server device requesting that the first program be updated to the second program, the first server device sends the second program to the second server device based on the update request information, and the second server device updates the first program to the second program.

[0006] In addition, in the program update method of the present invention, a server device capable of communicating with a terminal device stores a first program to be executed in response to a request from the terminal device and restriction information indicating which of the functions of the first program are to be restricted, and when it is determined that some of the functions of the first program should be restricted, the server device restricts the functions of the first program based on the restriction information.

[0007] Furthermore, an information processing system according to the present invention includes a first server device including a first communication device, a first storage device that stores a first program and a second program in which some functions of the first program are limited, and a first control device that transmits the first program and the second program via the first communication device, a second communication device, and a second storage device that stores the first program and the second program as programs that are executed in response to a request from a terminal device, and when the second communication device receives execution request information requesting execution of the programs, the second communication device determines which of the first program and the second program to execute as the program, and when it determines that the second program should be executed, a second server device comprising: a second control device that executes the second program, transmits result information indicating the execution result of the program via the second communication device, and, if it is determined that the first program should be updated to the second program, transmits update request information requesting that the first program be updated to the second program to the first server device via the second communication device; a third communication device; a display device; and a third control device that transmits the execution request information to the second server device via the third communication device, and, when the third communication device receives the result information from the second server device, displays the execution result of the program on the display device based on the result information. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of an information processing system according to a first embodiment. [Figure 2] FIG. 2 is an explanatory diagram illustrating an example of the operation of the information processing system according to the first embodiment. [Figure 3] 6 is a flowchart showing an example of an operation of the first server according to the first embodiment. [Figure 4] 6 is a flowchart showing an example of an operation of the second server according to the first embodiment. [Figure 5] FIG. 10 is an explanatory diagram illustrating an example of an information processing system according to a second embodiment. [Figure 6] FIG. 10 is an explanatory diagram illustrating an example of the operation of the information processing system according to the second embodiment. [Figure 7] 10 is a flowchart showing an example of the operation of the terminal device according to the second embodiment. [Figure 8] FIG. 10 is an explanatory diagram illustrating an example of a screen displayed on a terminal device as a result of execution of a web application. [Figure 9] FIG. 10 is an explanatory diagram illustrating an example of an information processing system according to a third embodiment. [Figure 10] FIG. 11 is an explanatory diagram illustrating an example of the operation of the information processing system according to the third embodiment. [Figure 11] 11 is a flowchart showing an example of an operation of the second server according to the third embodiment. [Figure 12] FIG. 10 is an explanatory diagram illustrating an example of an information processing system according to a fourth embodiment. [Figure 13] FIG. 10 is an explanatory diagram illustrating an example of the operation of the information processing system according to the fourth embodiment. [Figure 14] 13 is a flowchart showing an example of an operation of the second server according to the fourth embodiment. [Figure 15] FIG. 13 is an explanatory diagram illustrating an example of an information processing system according to a fifth embodiment. [Figure 16] FIG. 13 is an explanatory diagram illustrating an example of the operation of the information processing system according to the fifth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, in each drawing, the dimensions and scale of each part are appropriately different from those of the actual parts. Furthermore, since the embodiments described below are preferred examples of the present invention, various technically preferable limitations are applied, but the scope of the present invention is not limited to these embodiments unless otherwise specified in the following description to the effect that the present invention is limited.

[0010] [1. First embodiment] First, an overview of an information processing system 10 according to the first embodiment will be described with reference to FIG.

[0011] FIG. 1 is an explanatory diagram illustrating an example of an information processing system 10 according to a first embodiment. In this embodiment, it is assumed that the information processing system 10 is used to execute a web application, etc. A web application is an application program used on a website via a network NW such as the Internet. The web application is an example of a "program."

[0012] The information processing system 10 includes a first server 100, a second server 200, and a terminal device 300. The first server 100, the second server 200, and the terminal device 300 are connected to, for example, a network NW. The first server 100 is an example of a "first server device," and the second server 200 is an example of a "second server device." Each of the first server 100, the second server 200, and the terminal device 300 may be realized as a single device, or may be realized as multiple devices configured separately from each other.

[0013] The first server 100 may be, for example, any information processing device. For example, the first server 100 is an information processing device that provides at least one of a first program PG1 and a second program PG2 stored in a first storage unit 140 (described later) to the second server 200 as a web application. In this embodiment, it is assumed that the first server 100 provides one of the first program PG1 and the second program PG2 to the second server 200. The second program PG2 is a program in which some of the functions of the first program PG1 are restricted. For example, the second program PG2 is executed instead of the first program PG1 during a specific period when a specific event, such as an emergency, occurs. Hereinafter, periods other than the specific period may be referred to as a normal period. Hereinafter, some of the functions of the first program PG1 that are restricted during a specific period are also referred to as specific functions. The number of specific functions may be one or more.

[0014] The first server 100 includes, for example, a first control unit 120, a first storage unit 140, and a first communication unit 160, which is hardware for communicating with other devices such as the second server 200. The first communication unit 160 communicates via a wired or wireless method. The first communication unit 160 includes, for example, a communication terminal or antenna, and a communication circuit. The first communication unit 160 is an example of a first communication device.

[0015] The first control unit 120 includes, for example, one or more processors such as a central processing unit (CPU). The first control unit 120 is an example of a first control device. The first control unit 120 may include a programmable logic device such as a field-programmable gate array (FPGA) instead of or in addition to a CPU. The first control unit 120 executes, for example, a first control program CPG1 stored in the first storage unit 140 and operates in accordance with the first control program CPG1 to control the entire first server 100. The first control unit 120 also has a function of transmitting one of the first program PG1 and the second program PG2 to the second server 200 via the first communication unit 160 by executing the first control program CPG1. The operation of the first control unit 120 and the like when the first control unit 120 executes the first control program CPG1 is described in FIGS. 2 and 3. The first control program CPG1 may be transmitted from another device via a network NW. Furthermore, a program that controls the entire first server 100 may be stored in the first storage unit 140 as a program separate from the first control program CPG1.

[0016] The first storage unit 140 stores various programs executed by the first control unit 120 and various data processed by the first control unit 120. The first storage unit 140 is an example of a first storage device. The first storage unit 140 includes, for example, one or both of semiconductor memories: a volatile memory such as a RAM (Random Access Memory) and a non-volatile memory such as a ROM (Read Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), or a PROM (Programmable ROM). Note that a part or all of the first storage unit 140 may be included in the first control unit 120.

[0017] The second server 200 may be, for example, any information processing device. For example, the second server 200 is an information processing device that manages a web application that is executed in response to a request from the terminal device 300. In this embodiment, it is assumed that one of the first program PG1 and the second program PG2 is stored as the web application in the second storage unit 240, which will be described later. Note that FIG. 1 illustrates an example in which the first program PG1 is stored as the web application in the second storage unit 240.

[0018] The second server 200 includes, for example, a second control unit 220, a second storage unit 240, and a second communication unit 260, which is hardware for communicating with other devices such as the first server 100. The second communication unit 260 communicates via a wired or wireless method. The second communication unit 260 has the same configuration as the first communication unit 160. The second communication unit 260 is an example of a second communication device.

[0019] The second control unit 220 has the same configuration as the first control unit 120 of the first server 100 described above. The second control unit 220 is an example of a second control device. For example, the second control unit 220 executes a second control program CPG2 stored in the second storage unit 240 and operates in accordance with the second control program CPG2 to control the entire second server 200. The second control unit 220 also has a function of executing a web application in response to a request from the terminal device 300 by executing the second control program CPG2. The operation of the second control unit 220 and other components when the second control unit 220 executes the second control program CPG2 is described in FIGS. 2 and 4. The second control program CPG2 may be transmitted from another device via the network NW. The program that controls the entire second server 200 may be stored in the second storage unit 240 as a program separate from the second control program CPG2.

[0020] The second storage unit 240 is configured in the same manner as the first storage unit 140 of the first server 100 described above. The second storage unit 240 is an example of a second storage device. For example, the second storage unit 240 stores various programs executed by the second control unit 220, various data processed by the second control unit 220, etc.

[0021] The terminal device 300 may be, for example, any information processing device. For example, the terminal device 300 may be a stationary information device such as a personal computer, or may be a portable information terminal such as a smartphone, a laptop computer, a wearable device, or a tablet device. In this embodiment, it is assumed that the terminal device 300 is a smartphone. The terminal device 300 requests the second server 200 to execute a web application, for example.

[0022] The terminal device 300 includes, for example, a third control unit 320, a third storage unit 340, a third communication unit 360 which is hardware for communicating with other devices such as the second server 200, and a display unit 380. The third communication unit 360 communicates via a wired or wireless method. The third communication unit 360 may be configured similarly to the first communication unit 160. The third communication unit 360 is an example of a third communication device.

[0023] The third control unit 320 has the same configuration as the first control unit 120 of the first server 100 described above. The third control unit 320 is an example of a third control device. For example, the third control unit 320 executes a third control program CPG3 stored in the third storage unit 340 and operates in accordance with the third control program CPG3 to control the entire terminal device 300. The third control unit 320 also has a function of requesting the second server 200 to execute a web application by executing a terminal program TPG stored in the third storage unit 340. The operation of the third control unit 320 and other components when the third control unit 320 executes the terminal program TPG is described in FIG. 2. The third control program CPG3 and the terminal program TPG may be transmitted from another device via the network NW. The third control program CPG3 may include the terminal program TPG.

[0024] The third storage unit 340 has the same configuration as the first storage unit 140 of the first server 100 described above. The third storage unit 340 is an example of a third storage device. For example, the third storage unit 340 stores various programs executed by the third control unit 320, various data processed by the third control unit 320, and the like.

[0025] The display unit 380 is an output device such as a display that outputs to the outside. The display unit 380 displays an image, for example, under the control of the third control unit 320. The display unit 380 is an example of a display device. For example, various display panels such as a liquid crystal display panel and an organic EL (Electro Luminescence) display panel are suitably used as the display unit 380. Note that this embodiment assumes a case where the display unit 380 also functions as an input device that accepts input from the outside. That is, this embodiment assumes a case where the display unit 380 has a configuration in which an input device and an output device are integrated, for example, a touch panel.

[0026] The configuration of the information processing system 10 is not limited to the example shown in Fig. 1. For example, the network connecting the first server 100 and the second server 200 may be a different network from the network connecting the second server 200 and the terminal device 300. Also, for example, each of the first server 100 and the second server 200 may have at least one of an input device and an output device. Also, the terminal device 300 may have an input device separate from the output device.

[0027] Next, an example of the operation of the information processing system 10 will be described with reference to FIG.

[0028] Fig. 2 is an explanatory diagram for explaining an example of the operation of the information processing system 10 according to the first embodiment. In Fig. 2, it is assumed that an emergency occurs at the timing indicated by the star in Fig. 2. That is, the star in Fig. 2 indicates the start of a specific period.

[0029] In addition, this embodiment assumes a case where authentication is required for the first server 100 to access the second server 200. For example, the second server 200 stores authentication information required for authenticating the first server 100 in the second storage unit 240. Then, if the authentication information acquired from the first server 100 is correct, the second server 200 permits the first server 100 to access the second server 200. In the example shown in FIG. 2, it is assumed that authentication for the first server 100 to access the second server 200, for example, login to the second server 200, is completed before the processing of step S120 is executed. In addition, this embodiment assumes a case where the third control unit 320 of the terminal device 300 executes the terminal program TPG, thereby allowing the terminal device 300 to access the second server 200.

[0030] First, in step S100, the first control unit 120 of the first server 100 stores the first program PG1 and the second program PG2 in the first storage unit 140. Next, in step S120, the first control unit 120 transmits the first program PG1 to the second server 200 via the first communication unit 160.

[0031] As a result of the processing of step S120 being executed, the second server 200 receives the first program PG1. Then, in step S200, the second control unit 220 of the second server 200 stores the first program PG1 in the second storage unit 240 as a web application to be executed in response to a request from the terminal device 300.

[0032] Here, the series of processes from step S100 to step S200 corresponds to, for example, an initial process for making a web application provided by first server 100 available via network NW. The initial process is executed, for example, when a first program PG1 is newly created, as well as when the contents of first program PG1 are changed. After the initial process is completed, for example, the process of step S240 is executed.

[0033] For example, in step S240, the second control unit 220 of the second server 200 determines whether the current time is within a specific period. Specifically, for example, the second control unit 220 may determine whether the current time is within a specific period based on information such as breaking news reporting the occurrence of a specific event such as an emergency. Alternatively, the second control unit 220 may determine whether the current time is within a specific period based on a notification by an operator of the second server 200. The notification by the operator of the second server 200 is realized, for example, by the operator inputting information indicating that a specific event such as an emergency has occurred or information indicating that the specific period has ended into the second server 200.

[0034] Note that, when the first program PG1 is stored in the second storage unit 240 as a web application, the determination of whether the current time is within the specific period corresponds to a determination of whether to update the first program PG1 stored in the second storage unit 240 to the second program PG2. In FIG. 2, as described above, the determination of step S240 is performed after the specific period has started. Therefore, the result of the determination in step S240 is positive. That is, in FIG. 2, the second control unit 220 determines in step S240 to update the first program PG1 to the second program PG2. Therefore, in step S262, the second control unit 220 transmits update request information REQu requesting that the first program PG1 be updated to the second program PG2 to the first server 100 via the second communication unit 260.

[0035] By executing the process of step S262, the first server 100 receives update request information REQu requesting that the first program PG1 be updated to the second program PG2. Therefore, in step S160, the first control unit 120 of the first server 100 transmits the second program PG2 to the second server 200 via the first communication unit 160.

[0036] As a result of the processing of step S160 being executed, the second server 200 receives the second program PG2. Then, in step S264, the second control unit 220 of the second server 200 updates the first program PG1 with the second program PG2. Specifically, the second control unit 220 stores the second program PG2 in the second storage unit 240 as a web application. For example, the second control unit 220 replaces the first program PG1 stored in the second storage unit 240 with the second program PG2.

[0037] Next, in step S266, second control unit 220 updates the update history of the web application. Then, in step S268, second control unit 220 transmits update completion information Cinf indicating that the update of the web application has been completed to first server 100 via second communication unit 260. In the example shown in Figure 2, update completion information Cinf indicates that the web application has been updated from first program PG1 to second program PG2.

[0038] By executing the process of step S268, the first server 100 receives the update completion information Cinf. Then, in step S180, the first control unit 120 of the first server 100 updates the update history of the web application.

[0039] Furthermore, in step S300, the third control unit 320 of the terminal device 300 transmits execution request information REQe requesting execution of a web application to the second server 200 via the third communication unit 360. For example, the third control unit 320 may execute the terminal program TPG to cause an operation icon or the like for requesting execution of the web application to be displayed on the display unit 380. Then, when the operation icon for requesting execution of the web application is selected, the third control unit 320 may transmit the execution request information REQe to the second server 200 via the third communication unit 360.

[0040] As a result of the processing of step S300 being executed, the second server 200 receives the execution request information REQe. Then, in step S280, the second control unit 220 of the second server 200 executes the second program PG2 stored in the second storage unit 240 as a web application. In FIG. 2, the processing of step S300 is executed after the specific period has started, and therefore, as described above, the second program PG2 is executed as a web application.

[0041] Next, in step S282, the second control unit 220 transmits result information Rinf indicating the execution result of the second program PG2 to the terminal device 300 via the second communication unit 260 as result information indicating the execution result of the web application.

[0042] By executing the process of step S282, the terminal device 300 receives the result information Rinf. Then, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the second program PG2 as the execution result of the web application based on the result information Rinf.

[0043] As described above, in this embodiment, a web application can be updated, for example, from the first program PG1 to the second program PG2, without updating the terminal program TPG stored in the third storage unit 340 of the terminal device 300. That is, in this embodiment, when a specific event occurs, a specific function of the first program PG1 can be quickly restricted. Also, in this embodiment, a web application can be updated without communication between the terminal device 300 and the second server 200. Therefore, in this embodiment, an increase in communication processing between the terminal device 300 and the second server 200 when updating a web application can be suppressed.

[0044] 2 illustrates an example in which the processing of step S300 is executed during a specific period, but when the processing of step S300 is executed during a normal period, the first program PG1 is stored as a web application in the second storage unit 240 of the second server 200. Therefore, when the processing of step S300 is executed during a normal period, for example, the second control unit 220 of the second server 200 omits steps S262 to S268 and executes the first program PG1 stored in the second storage unit 240 as a web application in step S280. Then, in step S282, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1 to the terminal device 300 via the second communication unit 260 as result information indicating the execution result of the web application. Therefore, when the processing of step S300 is executed during a normal period, the third control unit 320 of the terminal device 300, in step S340, causes the execution result of the first program PG1 to be displayed on the display unit 380 as the execution result of the web application based on the result information Rinf.

[0045] 2. For example, the processing of steps S240 and S262 by the second server 200 may be omitted, and the first control unit 120 of the first server 100 may execute processing similar to the processing of step S240. For example, in this embodiment, the first control unit 120 executes a series of processing of steps S100 and S120, and then determines whether the current time is within a specific period. If the first control unit 120 determines that the current time is within the specific period, then in step S160, the first control unit 120 transmits the second program PG2 to the second server 200 via the first communication unit 160.

[0046] Next, an example of the operation of the first server 100 will be described with reference to FIG.

[0047] Fig. 3 is a flowchart showing an example of the operation of the first server 100 according to the first embodiment. Fig. 3 shows the operation of the first server 100 after the initial processing described in Fig. 2 is completed. That is, before the processing of step S140 is executed, the processing of steps S100 and S120 shown in Fig. 2 is executed. Note that detailed description of processing similar to the processing described in Fig. 2 will be omitted.

[0048] First, in step S140, the first control unit 120 determines whether the first communication unit 160 has received update request information REQu requesting an update of the web application to the second program PG2 from the second server 200. If the first control unit 120 determines that the first communication unit 160 has received update request information REQu requesting an update of the web application to the second program PG2 from the second server 200, that is, if the result of the determination in step S140 is positive (step S140 / YES), the first control unit 120 proceeds to step S142. On the other hand, if the first control unit 120 determines that the first communication unit 160 has not received update request information REQu requesting an update of the web application to the second program PG2 from the second server 200, that is, if the result of the determination in step S140 is negative (step S140 / NO), the first control unit 120 ends the operation shown in FIG.

[0049] In step S142, the first control unit 120 determines whether to update the web application from the first program PG1 to the second program PG2 based on the update request information REQu. For example, if the update request information REQu is information requesting transmission of the second program PG2, the result of the determination in step S142 will be positive. On the other hand, if the update request information REQu is information requesting transmission of the first program PG1, the result of the determination in step S142 will be negative. Note that the update request information REQu is information requesting transmission of either the first program PG1 or the second program PG2.

[0050] If the first control unit 120 determines that the web application should be updated from the first program PG1 to the second program PG2, that is, if the result of the determination in step S142 is positive (step S142 / YES), then in step S160, the first control unit 120 sends the second program PG2 to the second server 200 via the first communication unit 160.

[0051] On the other hand, if the first control unit 120 determines not to update the web application from the first program PG1 to the second program PG2, that is, if the result of the determination in step S142 is negative (step S142 / NO), in step S162, it sends the first program PG1 to the second server 200 via the first communication unit 160.

[0052] After executing the process of step S160 or S162, the first control unit 120 moves the process to step S180.

[0053] In step S180, first control unit 120 updates the update history of the web application. For example, first control unit 120 updates the update history of the web application based on update completion information Cinf transmitted from second server 200, as described in FIG.

[0054] Thus, in this embodiment, after the initial processing described in FIG. 2 is completed, a series of processes from step S142 to step S180 is executed each time the first communication unit 160 receives update request information REQu from the second server 200.

[0055] The operation of the first server 100 is not limited to the example shown in Fig. 3. For example, the process of step S140 and the process of step S142 do not need to be strictly distinguished.

[0056] Next, an example of the operation of the second server 200 will be described with reference to FIG.

[0057] Fig. 4 is a flowchart showing an example of the operation of the second server 200 according to the first embodiment. Fig. 4 shows the operation of the second server 200 after the initial processing described in Fig. 2 is completed. That is, before the processing of step S240 is executed, the processing of step S200 shown in Fig. 2 is executed. Note that detailed description of the same processing as that described in Fig. 2 will be omitted.

[0058] First, in step S240, the second control unit 220 determines whether the current time is within the specific period. If the second control unit 220 determines that the current time is within the specific period, that is, if the result of the determination in step S240 is positive (step S240 / YES), the second control unit 220 proceeds to step S260. On the other hand, if the second control unit 220 determines that the current time is not within the specific period, that is, if the result of the determination in step S240 is negative (step S240 / NO), the second control unit 220 proceeds to step S270.

[0059] In step S260, the second control unit 220 determines whether the second storage unit 240 stores the first program PG1. That is, the second control unit 220 determines whether the first program PG1 is stored in the second storage unit 240 as a web application. If the second control unit 220 determines that the second storage unit 240 stores the first program PG1, that is, if the result of the determination in step S260 is positive (step S260 / YES), the second control unit 220 proceeds to step S262. On the other hand, if the second control unit 220 determines that the second storage unit 240 does not store the first program PG1, that is, if the result of the determination in step S260 is negative (step S260 / NO), the second control unit 220 terminates the operation shown in FIG. 4. Step S260 may constitute a process of determining whether to update the first program PG1 to the second program PG2 together with step S240.

[0060] In step S262, the second control unit 220 transmits update request information REQu requesting transmission of the second program PG2 to the first server 100 via the second communication unit 260. That is, the second control unit 220 transmits update request information REQu requesting updating of the first program PG1 to the second program PG2 to the first server 100 via the second communication unit 260. In this way, when the specific period starts with the first program PG1 stored in the second storage unit 240 as a web application, update request information REQu requesting transmission of the second program PG2 is transmitted to the first server 100.

[0061] Next, in step S264, the second control unit 220 updates the first program PG1 to the second program PG2. For example, as described in FIG. 2, the second control unit 220 updates the first program PG1 to the second program PG2 by replacing the first program PG1 stored in the second storage unit 240 with the second program PG2 transmitted from the first server 100.

[0062] Then, in step S266, second control unit 220 updates the update history of the web application.

[0063] Next, in step S268, the second control unit 220 transmits, to the first server 100 via the second communication unit 260, update completion information Cinf indicating that the update from the first program PG1 to the second program PG2 has been completed.

[0064] Furthermore, in step S270, the second control unit 220 determines whether the second storage unit 240 stores the second program PG2. That is, the second control unit 220 determines whether the second program PG2 is stored in the second storage unit 240 as a web application. If the second control unit 220 determines that the second storage unit 240 stores the second program PG2, that is, if the result of the determination in step S270 is positive (step S270 / YES), the second control unit 220 proceeds to step S272. On the other hand, if the second control unit 220 determines that the second storage unit 240 does not store the second program PG2, that is, if the result of the determination in step S270 is negative (step S270 / NO), the second control unit 220 ends the operation shown in FIG. 4.

[0065] In step S272, the second control unit 220 transmits update request information REQu requesting transmission of the first program PG1 to the first server 100 via the second communication unit 260. That is, the second control unit 220 transmits update request information REQu requesting updating of the second program PG2 to the first program PG1 to the first server 100 via the second communication unit 260. In this way, when the specific period has ended with the second program PG2 stored in the second storage unit 240 as a web application, update request information REQu requesting transmission of the first program PG1 is transmitted to the first server 100.

[0066] Next, in step S274, the second control unit 220 updates the second program PG2 to the first program PG1. For example, the second control unit 220 replaces the second program PG2 stored in the second storage unit 240 with the first program PG1 transmitted from the first server 100, thereby updating the second program PG2 to the first program PG1.

[0067] Then, in step S276, second control unit 220 updates the update history of the web application.

[0068] Next, in step S278, the second control unit 220 transmits, to the first server 100 via the second communication unit 260, update completion information Cinf indicating that the update from the second program PG2 to the first program PG1 has been completed.

[0069] When the process of step S268 or S278 ends, the operation shown in FIG. 4 ends.

[0070] In this way, when a specific period begins while the first program PG1 is stored in the second storage unit 240 as a web application, a series of processes from step S262 to step S268 are executed. As a result, the web application is updated from the first program PG1 to the second program PG2. Also, when the specific period ends while the second program PG2 is stored in the second storage unit 240 as a web application, a series of processes from step S272 to step S278 are executed. As a result, the web application is updated from the second program PG2 to the first program PG1.

[0071] The operation of the second server 200 is not limited to the example shown in Fig. 4. For example, the second control unit 220 may return the process to step S240 after executing the process of step S260 or S268.

[0072] As described above, in this embodiment, the information processing system 10 includes a first server 100 having a first control unit 120, a first storage unit 140, and a first communication unit 160; a second server 200 having a second control unit 220, a second storage unit 240, and a second communication unit 260; and a terminal device 300 having a third control unit 320, a third communication unit 360, and a display unit 380. The first storage unit 140 stores a first program PG1 and a second program PG2 that has some of the functions of the first program PG1 restricted. The second storage unit 240 stores one of the first program PG1 and the second program PG2 as a web application that is executed in response to a request from the terminal device 300. When the first communication unit 160 receives update request information REQu from the second server 200, requesting that the first program PG1 be updated to the second program PG2, the first control unit 120 transmits the second program PG2 to the second server 200 via the first communication unit 160. When the second communication unit 260 receives execution request information REQe from the terminal device 300, requesting that a web application be executed, the second control unit 220 executes the web application stored in the second storage unit 240 and transmits result information Rinf indicating the execution result of the web application to the terminal device 300 via the second communication unit 260. Furthermore, the second control unit 220 determines whether to update the first program PG1 stored in the second storage unit 240 as a web application to the second program PG2, and if it determines to update the first program PG1 to the second program PG2, it sends update request information REQu to the first server 100 via the second communication unit 260. If the second communication unit 260 receives the second program PG2 from the first server 100, it updates the first program PG1 to the second program PG2 sent from the first server 100. The third control unit 320 sends execution request information REQe to the second server 200 via the third communication unit 360, and if the third communication unit 360 receives result information Rinf from the second server 200, it causes the display unit 380 to display the execution result of the web application based on the result information Rinf.

[0073] Furthermore, in the program update method according to this embodiment, the second server 200, which can communicate with the first server 100 and the terminal device 300, stores the first program PG1 as a web application that is executed in response to a request from the terminal device 300, and the second server 200 determines whether to update the first program PG1 to a second program PG2 in which some of the functions of the first program PG1 are restricted. If it is determined that the first program PG1 should be updated to the second program PG2, the second server 200 sends update request information REQu to the first server 100 requesting that the first program PG1 be updated to the second program PG2. Based on the update request information REQu, the first server 100 sends the second program PG2 to the second server 200, and the second server 200 updates the first program PG1 to the second program PG2.

[0074] As described above, in this embodiment, the second server 200 updates the web application and executes the web application in response to the execution request information REQe from the terminal device 300. As a result, in this embodiment, the first program PG1 can be updated to the second program without the user of the terminal device 300 having to decide whether or not to update the program. That is, in this embodiment, delays in updating from the first program PG1 to the second program that depend on the user's decision can be suppressed. As a result, in this embodiment, when a specific event, such as an emergency, occurs, specific functions of the first program PG1 can be quickly restricted.

[0075] [2. Second Embodiment] Next, an overview of an information processing system 10A according to the second embodiment will be described with reference to FIG.

[0076] FIG. 5 is an explanatory diagram for explaining an example of an information processing system 10A according to a second embodiment. Elements similar to those explained in FIGS. 1 to 4 are given the same reference numerals, and detailed explanations will be omitted. The information processing system 10A shown in FIG. 5 is similar to the information processing system 10 shown in FIG. 1, except that it has a projector 400. The projector 400 is connected to, for example, a network NW. In this embodiment, it is assumed that the projector 400 is capable of communicating with the first server 100 and the terminal device 300.

[0077] The first server 100 shown in FIG. 5 is similar to the first server 100 shown in FIG. 1. For example, the first server 100 includes a first control unit 120, a first storage unit 140, and a first communication unit 160. However, the first server 100 shown in FIG. 5 differs from the first server 100 shown in FIG. 1 in that the first storage unit 140 stores a first control program CPG1a instead of the first control program CPG1, and that the first control program CPG1a is executed by the first control unit 120. The operation of the first server 100 when the first control unit 120 executes the first control program CPG1a will be described with reference to FIG. 6.

[0078] 5 is similar to the second server 200 shown in FIG. 1. For example, the second server 200 includes a second control unit 220, a second storage unit 240, and a second communication unit 260. However, the second server 200 shown in FIG. 5 differs from the second server 200 shown in FIG. 1 in that the second storage unit 240 stores a second control program CPG2a instead of the second control program CPG2, and that the second control program CPG2a is executed by the second control unit 220. The operation of the second server 200 when the second control unit 220 executes the second control program CPG2a will be described with reference to FIG. 6.

[0079] The terminal device 300 shown in FIG. 5 is similar to the terminal device 300 shown in FIG. 1. For example, the terminal device 300 includes a third control unit 320, a third storage unit 340, a third communication unit 360, and a display unit 380. However, the terminal device 300 shown in FIG. 5 differs from the terminal device 300 shown in FIG. 1 in that the third storage unit 340 stores a terminal program TPGa instead of the terminal program TPG, and the third control unit 320 executes the terminal program TPGa. The operation of the terminal device 300 when the third control unit 320 executes the terminal program TPGa is described in FIGS. 6 and 7. Note that, in this embodiment, the terminal device 300 functions as an operation device for operating the projector 400 by displaying the execution result of a web application on the display unit 380 of the terminal device 300. An example of a screen displayed on the display unit 380 of the terminal device 300 as the execution result of the web application is described in FIG. 8.

[0080] The projector 400 displays the display screen PSC on the projection surface PS, such as a screen, by projecting light based on frame data representing the display screen PSC onto the projection surface PS. The projector 400 is an example of a "display device," and the display screen PSC is an example of a "first screen." In this embodiment, a case is assumed in which the projector 400 displays a display screen PSC that can be rendered on the projection surface PS. For example, the projector 400 displays the display screen PSC including the image IMG represented by the image data on the projection surface PS by projecting light based on frame data and image data onto the projection surface PS. The rendering of the display screen PSC includes, for example, decorating the frame of the display screen PSC and decorating the background of the image IMG. Note that the rendering of the display screen PSC is not limited to the above-described example.

[0081] The projector 400 has an optical system device (not shown) that projects light. Although not shown in Fig. 5, the projector 400 also has a control unit, a storage unit, and a communication unit that are configured similarly to the first control unit 120, the first storage unit 140, and the first communication unit 160 of the first server 100, respectively.

[0082] In this embodiment, it is assumed that the first program PG1 is a web application having a first function for displaying the display screen PSC on the projector 400 and a second function for rendering the display screen PSC. Furthermore, in this embodiment, it is assumed that the second program is a web application in which the second function of the first program PG1 is restricted. Therefore, in this embodiment, it is possible to restrict only the second function for rendering the display screen PSC during a specific period. This allows the user to use the projector 400 during the specific period. The second function may also be, for example, "a part of the functions of the first program." Note that if the first program PG1 has multiple functions, the second function may be at least one of the multiple functions. The second function may also be a part of one of the functions of the first program PG1.

[0083] The display device is not limited to the projector 400. The display device may be, for example, a display such as a flat panel display (FPD). The FPD is, for example, a liquid crystal display, a plasma display, or an organic electroluminescence (EL) display.

[0084] Next, an example of the operation of the information processing system 10A will be described with reference to FIG.

[0085] Fig. 6 is an explanatory diagram for explaining an example of the operation of the information processing system 10A according to the second embodiment. Operations similar to those explained in Fig. 2 are given the same reference numerals, and detailed explanations will be omitted. The star symbols in Fig. 6 have the same meanings as those in Fig. 2.

[0086] The series of processes from step S100 to step S180 shown in Fig. 6 is the same as the series of processes from step S100 to step S180 shown in Fig. 2. Furthermore, the series of processes from step S200 to step S268 shown in Fig. 6 is the same as the series of processes from step S200 to step S268 shown in Fig. 2. In Fig. 6, it is assumed that the process of step S400 is executed after the process of step S180.

[0087] In step S400, the projector 400 turns on the power in response to an operation to turn on the power of the projector 400 by the terminal device 300 or the user of the projector 400. Then, in step S420, the projector 400 transmits confirmation request information REQc to the first server 100 to confirm whether the period during which the web application is to be executed is a specific period.

[0088] By executing the process of step S420, the first server 100 receives confirmation request information REQc. Then, in step S186, the first control unit 120 of the first server 100 transmits period information Pinf indicating whether the period during which the web application is to be executed is the specific period to the projector 400 via the first communication unit 160. For example, the first control unit 120 may determine whether the period during which the web application is to be executed is the specific period based on the update history of the web application, or may inquire of the second server 200 whether the period during which the web application is to be executed is the specific period. Alternatively, the first control unit 120 may determine whether the current time is the specific period by performing a process similar to the process of step S240, thereby determining whether the current time is the specific period.

[0089] By executing the process of step S186, the projector 400 receives the period information Pinf. In the example shown in FIG. 6, the projector 400 was powered on during a specific period. Therefore, the period information Pinf that the projector 400 received from the first server 100 indicates that the period during which the web application is executed is the specific period. Therefore, the projector 400 executes a startup sequence for the specific period in step S440. In this embodiment, it is assumed that the startup sequence for the specific period differs from the startup sequence for the normal period. For example, the projector 400 that has executed the startup sequence for the specific period does not accept a command to execute the second function that renders the display screen PSC.

[0090] Furthermore, in step S300, the third control unit 320 of the terminal device 300 transmits execution request information REQe, which requests execution of a web application, to the second server 200 via the third communication unit 360.

[0091] As a result of the processing of step S300 being executed, the second server 200 receives the execution request information REQe. Then, in step S269, the second control unit 220 of the second server 200 transmits connection confirmation information CCinf, which confirms whether the terminal device 300 is connected to the projector 400, to the terminal device 300 via the second communication unit 260.

[0092] By executing the process of step S269, the terminal device 300 receives connection confirmation information CCinf. In Fig. 6, it is assumed that the terminal device 300 is not connected to the projector 400. Therefore, in step S326, the third control unit 320 of the terminal device 300 connects to the projector 400 via the third communication unit 360. In step S460, the projector 400 connected to the terminal device 300 transmits period information Pinf and identification information IDinf that identifies the projector 400 to the terminal device 300.

[0093] By executing the processing of step S460, the terminal device 300 receives the period information Pinf and the identification information IDinf of the projector 400. Then, in step S330, the third control unit 320 of the terminal device 300 transmits the period information Pinf and the identification information IDinf of the projector 400 to the second server 200 via the third communication unit 360.

[0094] By executing the process of step S330, the second server 200 receives the period information Pinf and the identification information IDinf of the projector 400. As a result, the second server 200 recognizes that the projector 400 indicated by the identification information IDinf is connected to the terminal device 300. Then, in step S280, the second control unit 220 of the second server 200 executes the second program PG2 stored in the second storage unit 240 as a web application. Next, in step S282, the second control unit 220 transmits result information Rinf indicating the execution result of the second program PG2 to the terminal device 300 via the second communication unit 260 as result information indicating the execution result of the web application.

[0095] By executing the process of step S282, the terminal device 300 receives the result information Rinf. Then, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the second program PG2 as the execution result of the web application based on the result information Rinf.

[0096] In this way, in the present embodiment as well, as in the first embodiment described above, the first program PG1 can be updated to the second program PG2 without updating the terminal program TPGa stored in the third storage unit 340 of the terminal device 300. That is, in the present embodiment as well, when a specific event occurs, a specific function of the first program PG1 can be quickly restricted. Furthermore, in the present embodiment, when the projector 400 is turned on during a specific period when a specific event occurs, a startup sequence for the specific period is executed, so that a specific function of the projector 400 can be quickly restricted.

[0097] 6 illustrates an example in which the processing of step S300 is executed during a specific period, as in FIG. 2 . However, when the processing of step S300 is executed during a normal period, the first program PG1 is stored as a web application in the second storage unit 240 of the second server 200. Therefore, when the processing of step S300 is executed during a normal period, for example, the second control unit 220 of the second server 200 omits steps S262 to S268, and in step S280 executes the first program PG1 stored in the second storage unit 240 as a web application. Then, in step S282, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1 to the terminal device 300 via the second communication unit 260 as result information indicating the execution result of the web application. Therefore, when the processing of step S300 is executed during a normal period, the third control unit 320 of the terminal device 300, in step S340, causes the execution result of the first program PG1 to be displayed on the display unit 380 as the execution result of the web application based on the result information Rinf.

[0098] Furthermore, the operation of the information processing system 10A is not limited to the example shown in FIG. 6. For example, the processes of steps S240 and S262 by the second server 200 may be omitted, and the first control unit 120 of the first server 100 may execute a process similar to the process of step S240. For example, in this embodiment, the first control unit 120 may execute the series of processes of steps S100 and S120, and then determine whether the current time is within the specific period. If the first control unit 120 determines that the current time is within the specific period, then in step S160, the first control unit 120 transmits the second program PG2 to the second server 200 via the first communication unit 160. Furthermore, the first server 100 may be configured, for example, with an information processing device that executes the series of processes from step S100 to step S180, and an information processing device that executes processes for the projector 400, such as step S186.

[0099] Next, an example of the operation of the terminal device 300 will be described with reference to FIG.

[0100] Fig. 7 is a flowchart showing an example of the operation of the terminal device 300 according to the second embodiment. Note that detailed description of the same processes as those described in Fig. 6 will be omitted.

[0101] First, in step S300, third control unit 320 transmits execution request information REQe, which requests execution of a web application, to second server 200 via third communication unit 360.

[0102] Next, in step S310, the third control unit 320 determines whether the terminal device 300 has already connected to the projector 400. If the third control unit 320 determines that the terminal device 300 has already connected to the projector 400, that is, if the result of the determination in step S310 is positive (step S310 / YES), the third control unit 320 proceeds to step S330. On the other hand, if the third control unit 320 determines that the terminal device 300 has not already connected to the projector 400, that is, if the result of the determination in step S310 is negative (step S310 / NO), the third control unit 320 proceeds to step S320.

[0103] In step S320, the third control unit 320 searches for the projector 400 that can be connected to the terminal device 300.

[0104] Then, in step S322, the third control unit 320 causes the display unit 380 to display the search results, such as a list of projectors 400 that can be connected to the terminal device 300.

[0105] Next, in step S324, the third control unit 320 determines whether the projector 400 connected to the terminal device 300 has been selected. For example, if the user has performed an operation to select the projector 400 connected to the terminal device 300, the third control unit 320 determines that the projector 400 connected to the terminal device 300 has been selected. If the third control unit 320 determines that the projector 400 connected to the terminal device 300 has been selected, that is, if the result of the determination in step S324 is positive (step S324 / YES), the third control unit 320 proceeds to step S326. On the other hand, if the third control unit 320 determines that the projector 400 connected to the terminal device 300 has not been selected, that is, if the result of the determination in step S324 is negative (step S324 / NO), the third control unit 320 returns the process to step S324.

[0106] In step S326, the third control unit 320 connects the terminal device 300 and the projector 400 using the third communication unit 360. As a result, the projector 400 selected by the user is connected to the terminal device 300. After executing the process of step S326, the third control unit 320 proceeds to step S3330.

[0107] In step S330, the third control unit 320 transmits the period information Pinf and the identification information IDinf of the projector 400 to the second server 200 via the third communication unit 360. Note that the period information Pinf and the identification information IDinf of the projector 400 are transmitted from the projector 400 connected to the terminal device 300 to the terminal device 300, as described in FIG. 6 . Therefore, in step S330, the third control unit 320 transmits the period information Pinf and the identification information IDinf of the projector 400 transmitted from the projector 400 connected to the terminal device 300 to the second server 200 via the third communication unit 360.

[0108] Next, in step S340, third control unit 320 causes display unit 380 to display the execution result of the web application based on result information Rinf received from second server 200. For example, as described in FIG. 6, during the specific period, second program PG2 is executed as a web application, and therefore the execution result of second program PG2 is displayed on display unit 380. Furthermore, during the normal period, first program PG1 is executed as a web application, and therefore the execution result of first program PG1 is displayed on display unit 380.

[0109] Note that the operation of the terminal device 300 is not limited to the example shown in Fig. 7. For example, in step S330, the third control unit 320 may transmit only the identification information IDinf of the period information Pinf and the identification information IDinf of the projector 400 to the second server 200 via the third communication unit 360. Alternatively, in step S330, the third control unit 320 may transmit information indicating that the terminal device 300 and the projector 400 are connected.

[0110] Next, with reference to FIG. 8, an example of a screen displayed on the display unit 380 of the terminal device 300 as a result of executing a web application will be described.

[0111] FIG. 8 is an explanatory diagram illustrating an example of a screen displayed on the terminal device 300 as a result of executing a web application. The upper part of FIG. 8 shows an example of an operation screen SCop and a remote control screen SCr displayed on the display unit 380 of the terminal device 300 when the first program PG1 is executed. That is, the upper part of FIG. 8 shows an example of an operation screen SCop and a remote control screen SCr during a normal period. The lower part of FIG. 8 shows an example of an operation screen SCop and a remote control screen SCr displayed on the display unit 380 of the terminal device 300 when the second program PG2 is executed. That is, the lower part of FIG. 8 shows an example of an operation screen SCop and a remote control screen SCr during a specific period. Note that the operation screen SCop and the remote control screen SCr are each an example of an "execution result screen."

[0112] The operation screen SCop is displayed on the display unit 380 as, for example, an execution result of a web application executed in response to the execution request information REQe. The operation screen SCop shown in FIG. 8 corresponds to a home screen of the web application when the first program PG1 or the second program PG2 is executed as the web application. In the example shown in FIG. 8, the display unit 380 on which the operation screen SCop is displayed also displays, in addition to the operation screen SCop, multiple icons ICN30, ICN40, ICN50, and ICN60, each associated with multiple processes related to the control of the terminal device 300. Hereinafter, the multiple icons ICN30, ICN40, ICN50, ICN60, etc. may be collectively referred to as icons ICN. FIG. 8 illustrates an example in which four icons ICN are displayed on the display unit 380 in addition to the operation screen SCop, but the number of icons ICN displayed on the display unit 380 is not limited to the example shown in FIG. 8. The icons ICN displayed on the display unit 380 may be changed as appropriate by the user.

[0113] First, the operation screen SCop and the remote control screen SCr during the normal period will be described.

[0114] On the operation screen SCop during the normal period, for example, a plurality of icons ICN14, ICN18, ICN19, ICN13, and ICNr associated with a plurality of processes relating to the control of the projector 400 are displayed.

[0115] For example, icon ICN14 is an operation icon for effecting the display screen PSC. When icon ICN14 is selected, for example, a not-shown effect menu for effecting the display screen PSC is displayed on the display unit 380. Also, for example, icon ICNr is a remote control icon for displaying a remote control screen SCr for operating the projector 400 on the display unit 380. Therefore, when icon ICNr is selected, the remote control screen SCr is displayed on the display unit 380.

[0116] Note that, although Fig. 8 illustrates an example in which five icons ICN are displayed on the operation screen SCop, the number of icons ICN displayed on the operation screen SCop is not limited to the example shown in Fig. 8. Furthermore, the icons ICN displayed on the operation screen SCop may be changed as appropriate by the user.

[0117] The remote control screen SCr during the normal period displays a plurality of icons ICN for operating the projector 400. For example, the icon ICNp is an operation icon for turning the power of the projector 400 on or off. The icon ICNv is an operation icon for adjusting the volume output from the speaker of the projector 400. The speaker of the projector 400 may be a speaker built into the projector 400 or a speaker connected to the projector 400. Alternatively, the speaker of the projector 400 may be a speaker of a terminal device 300 connected to the projector 400. The icon ICNs is an operation icon for moving and selecting a cursor or the like displayed on the projection surface PS. The icon ICNm is an operation icon for switching the microphone on and off.

[0118] Furthermore, the icons ICN10 to ICN17 are associated with various functions for operating the projector 400. For example, as described above, the icon ICN14 is an operation icon for rendering the display screen PSC. Of the icons ICN10 to ICN17, the icons ICN other than the icon ICN14 are operation icons associated with functions other than the function for rendering the display screen PSC.

[0119] Next, the operation screen SCop and the remote control screen SCr for a specific period will be described.

[0120] The operation screen SCop for the specific period is the same as the operation screen SCop for the normal period, except that, for example, icon ICN17 is displayed instead of icon ICN14. Also, the remote control screen SCr for the specific period is the same as the remote control screen SCr for the normal period, except that, for example, icon ICN14 is not displayed.

[0121] In this way, the icon ICN14 for producing the display screen PSC is not displayed on the operation screen SCop and the remote control screen SCr during the specific period. Therefore, in this embodiment, for example, it is possible to prevent the user from accidentally performing an operation for producing the display screen PSC during the specific period.

[0122] Here, the operation screen SCop and remote control screen SCr for the specific period are, as described above, the operation screen SCop and remote control screen SCr displayed on the display unit 380 of the terminal device 300 when the second program PG2 is executed. Therefore, the second program PG2 has a function of hiding the icon ICN14 for producing the display screen PSC, among the icons ICN displayed on the display unit 380 when the first program PG1 is executed. In this embodiment as well, it is possible to prevent the user from accidentally performing an operation for producing the display screen PSC during the specific period.

[0123] Note that the operation screen SCop and the remote control screen SCr are not limited to the example shown in FIG. 8. For example, the icon ICN14 may be displayed in an unselectable manner on the operation screen SCop and the remote control screen SCr for a specific period. For example, the icon ICN14 may be displayed in a grayed-out manner so that it cannot be selected even when touched. In this case, the second program PG2 has a function of displaying the icon ICN14, which is used to create the display screen PSC, in an unselectable manner among the icons ICN displayed on the display unit 380 when the first program PG1 is executed. This embodiment also prevents the user from accidentally performing an operation to create the display screen PSC during a specific period.

[0124] Furthermore, for example, the remote control screen SCr for the specific period may display another icon ICN instead of the icon ICN14, as in the operation screen SCop for the specific period. In this case, the second program PG2 has a function of replacing the icon ICN14 for creating the display screen PSC, among the icons ICN displayed on the display unit 380 when the first program PG1 is executed, with another icon ICN. This embodiment also prevents the user from accidentally performing an operation to create the display screen PSC during the specific period. Furthermore, this embodiment makes it possible to effectively utilize the space on the operation screen SCop and the remote control screen SCr.

[0125] Furthermore, for example, the operation screen SCop for the specific period may be displayed on the display unit 380 in a color different from that of the operation screen SCop for the normal period. Similarly, the remote control screen SCr for the specific period may be displayed on the display unit 380 in a color different from that of the remote control screen SCr for the normal period. Specifically, the operation screen SCop and remote control screen SCr for the normal period may be displayed in color, and the operation screen SCop and remote control screen SCr for the specific period may be displayed in black and white. In an aspect in which the operation screen SCop, etc., is displayed on the display unit 380 in different colors between the specific period and the normal period, the second program PG2 has a function of displaying an execution result screen in a color different from that of the execution result screen displayed on the display unit 380 when the first program PG1 is executed. Note that, as described above, the execution result screen is at least one of the operation screen SCop and the remote control screen SCr. In this aspect, the user can easily determine whether the second program PG2 has been executed as a web application by looking at the operation screen SCop or the remote control screen SCr. In this embodiment, the user can easily determine whether the icon ICN14 is not displayed or cannot be selected due to an error in the web application or because the web application was executed during the specific period. The second program PG2 may have, for example, a function to notify the user that the second function is restricted. Even in this case, the same effect as in the embodiment in which the operation screen SCop, etc., is displayed on the display unit 380 in different colors during the specific period and the normal period can be obtained.

[0126] As described above, in this embodiment, the first program PG1 has a first function of displaying the display screen PSC on the projector 400 and a second function of rendering the display screen PSC, and the second program PG2 is a web application in which the second function of the first program PG1 is restricted. Therefore, in this embodiment, by updating the web application executed during a specific period from the first program PG1 to the second program PG2, it is possible to restrict only the second function of rendering the display screen PSC during the specific period. This allows the user to use the projector 400 during the specific period.

[0127] Furthermore, in this embodiment, the second program PG2 may have a function of hiding the icon ICN14 for producing the display screen PSC, among the icons ICN displayed on the terminal device 300 when the first program PG1 is executed. In this case, it is possible to prevent an operation for producing the display screen PSC from being performed during a specific period.

[0128] Furthermore, in this embodiment, the second program PG2 may have a function of displaying the icon ICN14 for rendering the display screen PSC as unselectable, among the icons ICN displayed on the terminal device 300 when the first program PG1 is executed. In this case as well, it is possible to prevent an operation for rendering the display screen PSC from being performed during a specific period.

[0129] Furthermore, in this embodiment, the second program PG2 may have a function of replacing the icon ICN14, which is one of the icons ICN displayed on the terminal device 300 when the first program PG1 is executed, for creating the display screen PSC, with another icon ICN. In this case, too, it is possible to prevent an operation for creating the display screen PSC from being performed during a specific period. Furthermore, when the second program PG2 has a function of replacing the icon ICN14 with another icon ICN, it is possible to effectively use the space on the display unit 380 of the terminal device 300 where the icon ICN is displayed.

[0130] In this embodiment, the second program PG2 may have a function of displaying the execution result screen in a color different from the color of the execution result screen displayed on the terminal device 300 when the first program PG1 is executed. In this case, by viewing the execution result screen, the user can easily determine whether the second program PG2 was executed as a web application. Furthermore, by viewing the execution result screen, the user can easily determine whether an error has occurred in the web application or whether some of its functions have been restricted. For example, the user can easily determine whether the icon ICN14 is not displayed or cannot be selected due to an error in the web application or because the web application was executed during a specific period of time.

[0131] In this embodiment, the second program PG2 may have a function to notify the user that some functions of the first program PG1 have been restricted. Specifically, the second program PG2 may have a function to notify the user that the second function has been restricted. For example, the second program PG2 may output a message indicating that the second function has been restricted using an image or sound. In this case, the user can easily determine whether the second program PG2 has been executed as a web application by checking the notification. Furthermore, the user can easily determine whether an error has occurred in the web application or some functions have been restricted by checking the notification. For example, the user can easily determine whether the icon ICN14 is not displayed or cannot be selected due to an error in the web application or because the web application has been executed for a specific period of time.

[0132] 3. Third Embodiment Next, an overview of an information processing system 10 according to the third embodiment will be described with reference to FIG.

[0133] FIG. 9 is an explanatory diagram illustrating an example of an information processing system 10 according to the third embodiment. Elements similar to those described in FIGS. 1 to 8 are denoted by the same reference numerals, and detailed description thereof will be omitted. The information processing system 10 shown in FIG. 9 is similar to the information processing system 10 shown in FIG. 1. For example, the information processing system 10 shown in FIG. 9 includes a first server 100, a second server 200, and a terminal device 300, similar to the information processing system 10 shown in FIG. 1.

[0134] The first server 100 shown in FIG. 9 is similar to the first server 100 shown in FIG. 1. For example, the first server 100 includes a first control unit 120, a first storage unit 140, and a first communication unit 160. However, the first server 100 shown in FIG. 9 differs from the first server 100 shown in FIG. 1 in that the first storage unit 140 stores a first control program CPG1b instead of the first control program CPG1, and that the first control program CPG1b is executed by the first control unit 120. The operation of the first server 100 when the first control unit 120 executes the first control program CPG1b will be described with reference to FIG. 10.

[0135] The second server 200 shown in FIG. 9 is similar to the second server 200 shown in FIG. 1. For example, the second server 200 includes a second control unit 220, a second storage unit 240, and a second communication unit 260. However, the second server 200 shown in FIG. 9 differs from the second server 200 shown in FIG. 1 in that the second storage unit 240 stores a second control program CPG2b instead of the second control program CPG2, and that the second control unit 220 executes the second control program CPG2b. In the second server 200 shown in FIG. 9, the second storage unit 240 stores both the first program PG1 and the second program PG2. The operation of the second server 200 when the second control unit 220 executes the second control program CPG2b will be described with reference to FIGS. 10 and 11.

[0136] 9 is similar to the terminal device 300 shown in Fig. 1. For example, the terminal device 300 includes a third control unit 320, a third storage unit 340, a third communication unit 360, and a display unit 380.

[0137] Next, an example of the operation of the information processing system 10 will be described with reference to FIG.

[0138] Fig. 10 is an explanatory diagram for explaining an example of the operation of the information processing system 10 according to the third embodiment. Operations similar to those explained in Fig. 2 are denoted by the same reference numerals, and detailed explanations will be omitted. The star symbols in Fig. 10 have the same meanings as those in Fig. 2. Fig. 10 assumes a case where an emergency occurs after the processing of step S122 is executed and before the processing of step S300 is executed.

[0139] First, in step S100, the first control unit 120 of the first server 100 stores the first program PG1 and the second program PG2 in the first storage unit 140. Next, in step S120a, the first control unit 120 transmits the first program PG1 and the second program PG2 to the second server 200 via the first communication unit 160.

[0140] As a result of the processing of step S120a being executed, the second server 200 receives the first program PG1 and the second program PG2. Then, in step S200a, the second control unit 220 of the second server 200 stores the first program PG1 and the second program PG2 in the second storage unit 240 as web applications to be executed in response to a request from the terminal device 300.

[0141] Next, in step S202, second control unit 220 updates the update history of the web application. Then, in step S204, second control unit 220 transmits update completion information Cinf indicating that the update of the web application has been completed to first server 100 via second communication unit 260.

[0142] By executing the process of step S204, the first server 100 receives the update completion information Cinf. Then, in step S122, the first control unit 120 of the first server 100 updates the update history of the web application.

[0143] Here, the series of processes of steps S100, S120a, S122, S200a, S202, and S204 corresponds to, for example, an initial process for making a web application provided by the first server 100 available via the network NW. The initial process is executed, for example, when a first program PG1 is newly created. The initial process is also executed, for example, when the contents of the first program PG1 are changed and when the functions restricted by the second program PG2 are changed. After the initial process is completed, the process of step S300 is executed, for example.

[0144] For example, in step S300, the third control unit 320 of the terminal device 300 transmits execution request information REQe, which requests execution of a web application, to the second server 200 via the third communication unit 360.

[0145] As a result of the processing of step S300 being executed, the second server 200 receives execution request information REQe. Then, in step S240, the second control unit 220 of the second server 200 determines whether the current time is within the specific period. In FIG. 10, the processing of step S300 is executed after the specific period has started, so the second control unit 220 determines that the current time is within the specific period. Therefore, in step S284, the second control unit 220 executes the second program PG2, of the first program PG1 and the second program PG2 stored in the second storage unit 240, as a web application. Then, in step S286, the second control unit 220 transmits result information Rinf indicating the execution result of the second program PG2 to the terminal device 300 via the second communication unit 260 as result information indicating the execution result of the web application.

[0146] By executing the processing of step S286, the terminal device 300 receives the result information Rinf. Then, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the second program PG2 as the execution result of the web application based on the result information Rinf.

[0147] As described above, in this embodiment, too, the second program PG2 can be executed as a web application for a specific period without updating the terminal program TPG stored in the third storage unit 340 of the terminal device 300. That is, in this embodiment, too, a specific function of the first program PG1 can be quickly restricted when a specific event occurs. Furthermore, in this embodiment, the second server 200 determines whether the current time is within the specific period upon receiving the execution request information REQe. Therefore, in this embodiment, the first program PG1 can be prevented from being executed as a web application for a specific period. That is, in this embodiment, it is possible to prevent a specific function of the first program PG1 from being unrestricted when a specific event occurs.

[0148] 10 illustrates an example in which the processing of step S300 is executed during a specific period, but when the processing of step S300 is executed during a normal period, the first program PG1 is executed as a web application. In this case, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the first program PG1 as the execution result of the web application based on the result information Rinf.

[0149] Furthermore, in this embodiment, the second control unit 220 of the second server 200 may determine whether or not to update the first program PG1 to the second program PG2. If the second control unit 220 determines that the first program PG1 should be updated to the second program PG2, the second control unit 220 may transmit update request information REQu requesting that the first program PG1 be updated to the second program PG2 to the first server 100 via the second communication unit 260.

[0150] Next, an example of the operation of the second server 200 will be described with reference to FIG.

[0151] Fig. 11 is a flowchart showing an example of the operation of the second server 200 according to the third embodiment. Fig. 11 shows the operation of the second server 200 after the initial processing described in Fig. 10 is completed. That is, before the processing of step S230 is executed, a series of processing steps S200a, S202, and S204 shown in Fig. 10 are executed. Note that detailed description of processing similar to the processing described in Figs. 4 and 10 will be omitted.

[0152] First, in step S230, second control unit 220 determines whether second communication unit 260 has received execution request information REQe requesting execution of a web application from terminal device 300. If second control unit 220 determines that second communication unit 260 has received execution request information REQe requesting execution of a web application from terminal device 300, that is, if the result of the determination in step S230 is positive (step S230 / YES), second control unit 220 proceeds to step S240. On the other hand, if second control unit 220 determines that second communication unit 260 has not received execution request information REQe requesting execution of a web application from terminal device 300, that is, if the result of the determination in step S230 is negative (step S230 / NO), second control unit 220 ends the operation shown in FIG.

[0153] In step S240, the second control unit 220 determines whether the current time is within the specific period. If the second control unit 220 determines that the current time is within the specific period, that is, if the result of the determination in step S240 is positive (step S240 / YES), the second control unit 220 proceeds to step S284. On the other hand, if the second control unit 220 determines that the current time is not within the specific period, that is, if the result of the determination in step S240 is negative (step S240 / NO), the second control unit 220 proceeds to step S280.

[0154] In step S280, the second control unit 220 executes the first program PG1 of the first program PG1 and the second program PG2 stored in the second storage unit 240 as a web application.

[0155] Then, in step S282, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1 as result information indicating the execution result of the web application to the terminal device 300 via the second communication unit 260. As a result, the execution result of the first program PG1 is displayed on the display unit 380 of the terminal device 300 as the execution result of the web application.

[0156] In this way, in the normal period, a series of processes in steps S280 and S282 is executed, whereas in the specific period, a series of processes in steps S284 and S286 is executed.

[0157] For example, in step S284, the second control unit 220 executes the second program PG2 out of the first program PG1 and the second program PG2 stored in the second storage unit 240 as a web application.

[0158] Then, in step S286, the second control unit 220 transmits result information Rinf indicating the execution result of the second program PG2 as result information indicating the execution result of the web application to the terminal device 300 via the second communication unit 260. As a result, the execution result of the second program PG2 is displayed on the display unit 380 of the terminal device 300 as the execution result of the web application.

[0159] When the process of step S282 or S286 ends, the operation shown in FIG. 11 ends.

[0160] Thus, in this embodiment, after the initial processing described in FIG. 10 is completed, a series of processes from step S242 to step S286 are executed each time the second communication unit 260 receives execution request information REQe from the terminal device 300.

[0161] As described above, in this embodiment, when the second server 200 receives execution request information REQe requesting execution of a web application from the terminal device 300, it determines whether to execute the second program PG2 as a web application, and if it determines to execute the second program PG2, it executes the second program PG2 and transmits result information Rinf indicating the execution result of the second program PG2 to the terminal device 300. In this embodiment as well, it is possible to obtain the same effects as in the first embodiment described above.

[0162] In addition, in this embodiment, when the second control unit 220 determines that the first program PG1 should be updated to the second program PG2, it may send update request information REQu requesting that the first program PG1 be updated to the second program PG2 to the first server 100 via the second communication unit 260. In this aspect, the information processing system 10 includes a first server 100 including a first communication unit 160, a first storage unit 140 that stores a first program PG1 and a second program PG2 that has some of the functions of the first program PG1 limited, a first control unit 120 that transmits the first program PG1 and the second program PG2 via the first communication unit 160, a second communication unit 260, and a second storage unit 240 that stores the first program PG1 and the second program PG2 as web applications that are executed in response to a request from a terminal device 300, and when the second communication unit 260 receives execution request information REQe that requests execution of the web application, determines which of the first program PG1 and the second program PG2 to execute as the web application, and executes the second program PG2. The second server 200 includes a second control unit 220 that, if it determines that the first program PG1 should be updated to the second program PG2, executes the second program PG2 and transmits result information Rinf indicating the execution result of the web application via the second communication unit 260, and, if it determines that the first program PG1 should be updated to the second program PG2, transmits update request information REQu requesting that the first program PG1 be updated to the second program PG2 to the first server 100 via the second communication unit 260, the update request information REQu requesting that the first program PG1 be updated to the second program PG2, the second server 200 includes a third communication unit 360, a display unit 380, and a third control unit 320 that transmits execution request information REQe to the second server 200 via the third communication unit 360 and, if the third communication unit 360 receives the result information Rinf from the second server 200, causes the display unit 380 to display the execution result of the web application based on the result information Rinf. In this aspect, the same effects as those of the first embodiment described above can be obtained.

[0163] [4. Fourth Embodiment] Next, an overview of the information processing system 10 according to the fourth embodiment will be described with reference to FIG.

[0164] FIG. 12 is an explanatory diagram illustrating an example of an information processing system 10 according to the fourth embodiment. Elements similar to those described in FIGS. 1 to 11 are assigned the same reference numerals, and detailed description thereof will be omitted. The information processing system 10 shown in FIG. 12 is similar to the information processing system 10 shown in FIG. 9. For example, the information processing system 10 shown in FIG. 12 includes a first server 100, a second server 200, and a terminal device 300, similar to the information processing system 10 shown in FIG. 9.

[0165] The first server 100 shown in FIG. 12 is similar to the first server 100 shown in FIG. 9. For example, the first server 100 includes a first control unit 120, a first storage unit 140, and a first communication unit 160. However, the first server 100 shown in FIG. 12 differs from the first server 100 shown in FIG. 9 in that the first storage unit 140 stores a first control program CPG1c instead of the first control program CPG1b, and that the first control program CPG1c is executed by the first control unit 120. Furthermore, in the first server 100 shown in FIG. 12, the second storage unit 240 stores a stop list Linf instead of the second program PG2. The stop list Linf indicates specific functions of the first program PG1 that are restricted for a specific period of time. That is, in this embodiment, the first program PG1 is a web application that can be executed by switching whether or not to restrict specific functions. The operation of the first server 100 when the first control unit 120 executes the first control program CPG1c is described in Fig. 13. The stop list Linf is an example of restriction information that indicates which functions of the first program are to be restricted.

[0166] The second server 200 shown in FIG. 12 is similar to the second server 200 shown in FIG. 9. The second server 200 is an example of a server device. For example, the second server 200 includes a second control unit 220, a second storage unit 240, and a second communication unit 260. However, the second server 200 shown in FIG. 12 differs from the second server 200 shown in FIG. 9 in that the second storage unit 240 stores a second control program CPG2c instead of the second control program CPG2b, and that the second control unit 220 executes the second control program CPG2c. In addition, the second storage unit 240 stores a stop list Linf instead of the second program PG2 in the second server 200 shown in FIG. 9. The operation of the second server 200 when the second control unit 220 executes the second control program CPG2c will be described with reference to FIGS. 13 and 14.

[0167] 12 is similar to the terminal device 300 shown in Fig. 9. For example, the terminal device 300 includes a third control unit 320, a third storage unit 340, a third communication unit 360, and a display unit 380.

[0168] Next, an example of the operation of the information processing system 10 will be described with reference to FIG.

[0169] Fig. 13 is an explanatory diagram for explaining an example of the operation of the information processing system 10 according to the fourth embodiment. Operations similar to those described in Fig. 2 and Fig. 10 are denoted by the same reference numerals, and detailed description thereof will be omitted. The star symbols in Fig. 13 have the same meanings as those in Fig. 2. Fig. 13 assumes a case where an emergency occurs after the processing of step S123 is executed and before the processing of step S300 is executed.

[0170] First, in step S100, the first control unit 120 of the first server 100 stores the first program PG1 and the stop list Linf in the first storage unit 140. Next, in step S120b, the first control unit 120 transmits the first program PG1 and the stop list Linf to the second server 200 via the first communication unit 160.

[0171] As a result of the processing of step S120b being executed, the second server 200 receives the first program PG1 and the stop list Linf. Then, in step S200b, the second control unit 220 of the second server 200 stores the first program PG1 and the stop list Linf in the second storage unit 240. As a result, the first program PG1 is stored in the second storage unit 240 as a web application that is executed in response to a request from the terminal device 300.

[0172] Next, in step S203, second control unit 220 updates the update history of the web application. Then, in step S205, second control unit 220 transmits update completion information Cinf indicating that the update of the web application has been completed to first server 100 via second communication unit 260.

[0173] By executing the process of step S205, the first server 100 receives the update completion information Cinf. Then, in step S123, the first control unit 120 of the first server 100 updates the update history of the web application.

[0174] Here, the series of processes of steps S100, S120b, S123, S200b, S203, and S205 corresponds to, for example, an initial process for making a web application provided by the first server 100 available via the network NW. The initial process is executed, for example, when a first program PG1 and a stop list Linf are newly created. The initial process is also executed, for example, when the contents of the first program PG1 and the contents of the stop list Linf are changed. After the initial process is completed, the process of step S300 is executed, for example.

[0175] For example, in step S300, the third control unit 320 of the terminal device 300 transmits execution request information REQe, which requests execution of a web application, to the second server 200 via the third communication unit 360.

[0176] By executing the process of step S300, the second server 200 receives the execution request information REQe. Then, in step S240, the second control unit 220 of the second server 200 determines whether the current time is within the specific period. In FIG. 13, the process of step S300 is executed after the specific period has started, so the second control unit 220 determines that the current time is within the specific period. Therefore, in step S281, the second control unit 220 executes the first program PG1 as a web application based on the stop list Linf. For example, the second control unit 220 executes the first program PG1 so that, among the functions of the first program PG1, specific functions indicated by the stop list Linf are restricted. In other words, the second control unit 220 restricts some of the functions of the first program based on the stop list Linf. Then, in step S283, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1 as result information indicating the execution result of the web application to the terminal device 300 via the second communication unit 260. Note that in the example shown in Fig. 13, the result information Rinf indicates the execution result of the first program PG1 in which specific functions have been restricted based on the stop list Linf.

[0177] By executing the processing of step S283, the terminal device 300 receives the result information Rinf. Then, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the first program PG1 as the execution result of the web application based on the result information Rinf.

[0178] As described above, in this embodiment, too, the first program PG1 with specific functions restricted can be executed as a web application for a specific period without updating the terminal program TPG stored in the third storage unit 340 of the terminal device 300. That is, in this embodiment, too, when a specific event occurs, the specific function of the first program PG1 can be quickly restricted. Furthermore, in this embodiment, the second server 200 determines whether the current time is within the specific period upon receiving the execution request information REQe. Therefore, in this embodiment, it is possible to prevent the first program PG1 with specific functions not restricted from being executed as a web application for a specific period. That is, in this embodiment, it is possible to prevent the specific function of the first program PG1 from being unrestricted when a specific event occurs.

[0179] 13 illustrates an example in which the processing of step S300 is executed during a specific period, but when the processing of step S300 is executed during a normal period, the first program PG1, which does not have specific functions restricted, is executed as a web application. In this case, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the first program PG1, which does not have specific functions restricted, as the execution result of the web application, based on the result information Rinf.

[0180] Next, an example of the operation of the second server 200 will be described with reference to FIG.

[0181] Fig. 14 is a flowchart showing an example of the operation of the second server 200 according to the fourth embodiment. Fig. 14 shows the operation of the second server 200 after the initial processing described in Fig. 13 is completed. That is, before the processing of step S230 is executed, a series of processing steps S200b, S203, and S205 shown in Fig. 13 are executed. Note that detailed description of processing similar to the processing described in Figs. 11 and 13 will be omitted.

[0182] First, in step S230, second control unit 220 determines whether second communication unit 260 has received execution request information REQe requesting execution of a web application from terminal device 300. If second control unit 220 determines that second communication unit 260 has received execution request information REQe requesting execution of a web application from terminal device 300, that is, if the result of the determination in step S230 is positive (step S230 / YES), second control unit 220 proceeds to step S240. On the other hand, if second control unit 220 determines that second communication unit 260 has not received execution request information REQe requesting execution of a web application from terminal device 300, that is, if the result of the determination in step S230 is negative (step S230 / NO), second control unit 220 ends the operation shown in FIG.

[0183] In step S240, the second control unit 220 determines whether the current time is within the specific period. If the second control unit 220 determines that the current time is within the specific period, that is, if the result of the determination in step S240 is positive (step S240 / YES), the second control unit 220 proceeds to step S281. On the other hand, if the second control unit 220 determines that the current time is not within the specific period, that is, if the result of the determination in step S240 is negative (step S240 / NO), the second control unit 220 proceeds to step S280.

[0184] In step S280, the second control unit 220 executes the first program PG1 stored in the second storage unit 240 as a web application. For example, the second control unit 220 executes the first program PG1 without restricting specific functions of the first program PG1 that are indicated by the stop list Linf. After executing the process of step S280, the second control unit 220 proceeds to step S283.

[0185] In this way, the process of step S280 is executed during the normal period, whereas the process of step S281 is executed during the specific period.

[0186] For example, in step S281, the second control unit 220 executes the first program PG1 stored in the second storage unit 240 as a web application based on the stop list Linf stored in the second storage unit 240. Specifically, for example, the second control unit 220 executes the first program PG1 in which specific functions of the first program PG1 indicated by the stop list Linf are restricted. After executing the process of step S281, the second control unit 220 proceeds to step S283.

[0187] In step S283, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1 to the terminal device 300 via the second communication unit 260 as result information indicating the execution result of the web application.

[0188] For example, in step S283, which is executed after the processing of step S280 is executed, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1, in which the specific function is not restricted, to the terminal device 300 via the second communication unit 260. As a result, the execution result of the first program PG1, in which the specific function is not restricted, is displayed on the display unit 380 of the terminal device 300 as the execution result of the web application.

[0189] Furthermore, for example, in step S283, which is executed after the processing of step S281 is executed, the second control unit 220 transmits result information Rinf indicating the execution result of the first program PG1 with the specific function restricted to the terminal device 300 via the second communication unit 260. As a result, the execution result of the first program PG1 with the specific function restricted is displayed on the display unit 380 of the terminal device 300 as the execution result of the web application.

[0190] When the process of step S283 ends, the operation shown in FIG. 14 ends.

[0191] Thus, in this embodiment, after the initial processing described in FIG. 13 is completed, a series of processes from step S242 to step S283 are executed each time the second communication unit 260 receives execution request information REQe from the terminal device 300.

[0192] As described above, in this embodiment, when the second server 200 receives execution request information REQe from the terminal device 300 requesting the execution of a web application, it determines whether to execute the first program PG1 with certain functions of the first program PG1 restricted as a web application, and if it determines to execute the first program PG1 with certain functions restricted, it executes the first program PG1 with certain functions restricted based on the stop list Linf, and sends result information Rinf indicating the execution result of the first program PG1 to the terminal device 300.

[0193] Furthermore, in the program update method according to this embodiment, the second server 200, which can communicate with the terminal device 300, stores a first program PG1 to be executed in response to a request from the terminal device 300 and a stop list Linf indicating which of the functions of the first program PG1 are to be restricted, and when it is determined that some of the functions of the first program PG1 should be restricted, the second server 200 restricts the functions of the first program PG1 based on the stop list Linf. This embodiment can also achieve the same effects as the third embodiment described above.

[0194] [5. Fifth Embodiment] Next, an overview of an information processing system 10A according to the fifth embodiment will be described with reference to FIG.

[0195] Fig. 15 is an explanatory diagram for explaining an example of an information processing system 10A according to a fifth embodiment. Elements similar to those explained in Figs. 1 to 14 are given the same reference numerals, and detailed explanations will be omitted. The information processing system 10A shown in Fig. 15 is similar to the information processing system 10 shown in Fig. 9, except that it has a projector 400.

[0196] The first server 100 shown in FIG. 15 is similar to the first server 100 shown in FIG. 9. For example, the first server 100 includes a first control unit 120, a first storage unit 140, and a first communication unit 160. However, the first server 100 shown in FIG. 15 differs from the first server 100 shown in FIG. 9 in that the first storage unit 140 stores a first control program CPG1d instead of the first control program CPG1b, and that the first control program CPG1d is executed by the first control unit 120. The operation of the first server 100 when the first control unit 120 executes the first control program CPG1d will be described with reference to FIG. 16.

[0197] 15 is similar to the second server 200 shown in FIG. 9. For example, the second server 200 includes a second control unit 220, a second storage unit 240, and a second communication unit 260. However, the second server 200 shown in FIG. 15 differs from the second server 200 shown in FIG. 9 in that the second storage unit 240 stores a second control program CPG2d instead of the second control program CPG2b, and that the second control program CPG2d is executed by the second control unit 220. The operation of the second server 200 when the second control unit 220 executes the second control program CPG2d will be described with reference to FIG. 16.

[0198] 15 is similar to the terminal device 300 shown in FIG. 9. For example, the terminal device 300 includes a third control unit 320, a third storage unit 340, a third communication unit 360, and a display unit 380. However, the terminal device 300 shown in FIG. 5 differs from the terminal device 300 shown in FIG. 9 in that the third storage unit 340 stores a terminal program TPGa instead of the terminal program TPG, and that the third control unit 320 executes the terminal program TPGa. That is, the operation of the terminal device 300 shown in FIG. 15 is similar to the operation of the terminal device 300 shown in FIG. 5. For example, the operation of the terminal device 300 shown in FIG. 15 is similar to the operation shown in FIG. 7. Also in this embodiment, the terminal device 300 functions as an operation device that operates the projector 400 by displaying the execution result of the web application on the display unit 380.

[0199] 15 is similar to the projector 400 shown in FIG.

[0200] Also, in this embodiment, as in the second embodiment described above, it is assumed that the first program PG1 is a web application having a first function of displaying the display screen PSC on the projector 400 and a second function of rendering the display screen PSC. Also, in this embodiment, as in the second embodiment described above, it is assumed that the second program is a web application in which the second function of the first program PG1 is restricted. Therefore, in this embodiment, as in the second embodiment described above, it is possible to restrict only the second function of rendering the display screen PSC during a specific period, and the user can use the projector 400 during the specific period.

[0201] Next, an example of the operation of the information processing system 10A will be described with reference to FIG.

[0202] Fig. 16 is an explanatory diagram for explaining an example of the operation of the information processing system 10A according to the fifth embodiment. Operations similar to those described in Fig. 6 and Fig. 10 are denoted by the same reference numerals, and detailed description thereof will be omitted. The star symbols in Fig. 16 have the same meanings as those in Fig. 2. Fig. 16 assumes a case where an emergency occurs after the processing of step S122 is executed and before the processing of step S400 is executed.

[0203] The operation of the first server 100 shown in Fig. 16 is the same as the operation of the first server 100 shown in Fig. 10, except that a series of processes in steps S124 and S126 are executed. That is, the series of processes in steps S100, S120a, and S122 shown in Fig. 16 is the same as the series of processes in steps S100, S120a, and S122 shown in Fig. 10.

[0204] The process of step S124 is executed, for example, when the first server 100 receives the confirmation request information REQc. For example, the first server 100 receives the confirmation request information REQc by executing the process of step S420. Then, in step S124, the first control unit 120 of the first server 100 determines whether the period during which the web application is to be executed is the specific period. For example, the first control unit 120 determines whether the period during which the web application is to be executed is the specific period by determining whether the current time point is the specific period through a process similar to the process of step S240 described with reference to FIG. 2. Then, in step S126, the first control unit 120 transmits period information Pinf, which indicates whether the period during which the web application is to be executed is the specific period, to the projector 400 via the first communication unit 160. In the example shown in FIG. 16, the specific period starts before the process of step S124 is executed, and therefore the first control unit 120 determines in step S124 that the period during which the web application is to be executed is the specific period. Therefore, in step S126, period information Pinf indicating that the period during which the web application is executed is a specific period is transmitted to the projector 400.

[0205] The operation of projector 400 shown in Fig. 16 is similar to the operation of projector 400 shown in Fig. 6. That is, the series of processes in steps S400, S420, S440, and S460 shown in Fig. 16 is similar to the series of processes in steps S400, S420, S440, and S460 shown in Fig. 6.

[0206] Furthermore, the operation of the terminal device 300 shown in Fig. 16 is similar to the operation of the terminal device 300 shown in Fig. 6. That is, the series of processes of steps S300, S326, S330, and S340 shown in Fig. 16 is similar to the series of processes of steps S300, S326, S330, and S340 shown in Fig. 6.

[0207] 16 is similar to the operation of the second server 200 shown in Fig. 10, except that the process of step S269 is executed and that the process of step S240a is executed instead of the process of step S240. That is, the series of processes of steps S200a, S202, and S204 shown in Fig. 16 is similar to the series of processes of steps S200a, S202, and S204 shown in Fig. 10. Also, the series of processes of S284 and S286 shown in Fig. 16 is similar to the series of processes of steps S284 and S286 shown in Fig. 10.

[0208] The process of step S269 is executed, for example, when the second server 200 receives the execution request information REQe. For example, the second server 200 receives the execution request information REQe by executing the process of step S300. Then, in step S269, the second control unit 220 of the second server 200 transmits connection confirmation information CCinf, which confirms whether the terminal device 300 is connected to the projector 400, to the terminal device 300 via the second communication unit 260.

[0209] The process of step S240a is executed, for example, when the second server 200 receives the period information Pinf and the identification information IDinf. For example, the second server 200 receives the period information Pinf and the identification information IDinf of the projector 400 by executing the process of step S330. Then, in step S269, the second control unit 220 of the second server 200 determines whether the period during which the web application is to be executed is a specific period based on the period information Pinf. In the example shown in FIG. 16, the period information Pinf received by the second server 200 from the terminal device 300 indicates that the period during which the web application is to be executed is a specific period. Therefore, in step S284, the second control unit 220 executes the second program PG2 as a web application out of the first program PG1 and the second program PG2 stored in the second storage unit 240. Then, in step S286, the second control unit 220 transmits result information Rinf indicating the execution result of the second program PG2 as result information indicating the execution result of the web application to the terminal device 300 via the second communication unit 260. As a result, in step S340, the execution result of the second program PG2 is displayed on the display unit 380 of the terminal device 300 as the execution result of the web application.

[0210] In this way, in this embodiment as well, similar to the third embodiment described above, the second program PG2 can be executed as a web application for a specific period without updating the terminal program TPG stored in the third storage unit 340 of the terminal device 300. That is, in this embodiment as well, when a specific event occurs, a specific function of the first program PG1 can be quickly restricted. Also in this embodiment as well, similar to the second embodiment described above, when the projector 400 is turned on during a specific period in which a specific event occurs, a specific function of the projector 400 can be quickly restricted.

[0211] 16 illustrates an example in which the processing of step S300 is executed during a specific period, as in Fig. 6, but when the processing of step S300 is executed during a normal period, the first program PG1 is executed as the web application. In this case, in step S340, the third control unit 320 of the terminal device 300 causes the display unit 380 to display the execution result of the first program PG1 as the execution result of the web application based on the result information Rinf.

[0212] 16. For example, before the process of step S126 is executed, the second control unit 220 of the second server 200 may determine whether the current time is within a specific period. In this case, for example, the first control unit 120 may determine whether the period during which the web application is executed is within the specific period in step S124. The first server 100 may be configured with, for example, an information processing device that executes a series of processes from step S100 to step S122, and an information processing device that executes processes for the projector 400, such as steps S124 and S126.

[0213] As described above, in this embodiment as well, it is possible to obtain the same effects as in the second and third embodiments described above.

[0214] [6. Modifications] Each of the above embodiments can be modified in various ways. Specific modified embodiments are exemplified below. Two or more embodiments arbitrarily selected from the following examples can be combined as appropriate within a range that does not contradict each other. In the modified examples exemplified below, elements whose actions and functions are equivalent to those of the embodiments will be designated by the same reference numerals as in the above description, and detailed descriptions of each will be omitted as appropriate.

[0215] [First Modification] In the above-described embodiment, if a specific period begins while the first program PG1 is being executed as a web application, the web application may switch from the first program PG1 to the second program PG2 at the timing exemplified below. For example, the web application may switch from the first program PG1 to the second program PG2 when the screen displayed on the display unit 380 of the terminal device 300 changes. Alternatively, for example, the web application may switch from the first program PG1 to the second program PG2 when the screen displayed on the display unit 380 of the terminal device 300 is updated. Alternatively, for example, the web application may switch from the first program PG1 to the second program PG2 when a process executed by the web application reaches a certain point. Alternatively, for example, the web application may switch from the first program PG1 to the second program PG2 when the web application is restarted. Even if the specific period ends while the second program PG2 is being executed as a web application, the web application may switch from the second program PG2 to the first program PG1 at the timing described above.

[0216] As described above, in this modified example, the same effects as those of the above-described embodiment can be obtained.

[0217] [Second Modification] In the above-described embodiment, the specific function of the first program PG1 may be determined based on, for example, the power consumption when each of the multiple functions of the first program PG1 is executed. In this aspect, for example, if the specific event is power adjustment performed by a power company, functions with high power consumption can be efficiently restricted. Furthermore, the specific function of the first program PG1 may be determined based on the communication load when each of the multiple functions of the first program PG1 is executed. In this aspect, for example, if the specific event is a situation in which a communication network such as a network NW is under pressure, functions with high communication load can be efficiently restricted.

[0218] [Third Modification] In the fourth embodiment described above, the information processing system may include the projector 400, similar to the fifth embodiment described above. As described above, in this modified example, the same effects as those of the fourth and fifth embodiments described above can be obtained.

[0219] [7. Notes] From the above-described exemplary embodiments, the following configurations can be understood, for example.

[0220] A program update method according to aspect 1, which is a preferred aspect, includes the following steps: a second server device capable of communicating with a first server device and a terminal device stores a first program as a program to be executed in response to a request from the terminal device; the second server device determines whether to update the first program to a second program in which some of the functions of the first program are restricted; if it determines to update the first program to the second program, the second server device sends update request information to the first server device requesting that the first program be updated to the second program; the first server device sends the second program to the second server device based on the update request information; and the second server device updates the first program to the second program. According to the first aspect, it is possible to prevent delays in updating the first program to the second program that depend on the user's judgment. As a result, in this aspect, when a specific event such as an emergency occurs, it is possible to quickly restrict some functions of the first program.

[0221] A preferred embodiment of a method for executing a program according to embodiment 1A is a method for executing a program in a system including a first server device having a first memory unit that stores a first program and a second program in which some of the functions of the first program are restricted, and a second server device having a second memory unit that stores the first program and the second program and that is capable of communicating with the first server device and a terminal device, wherein when the second server device receives execution request information from the terminal device requesting execution of the program, the second server device determines whether to execute the second program as the program, and if it determines to execute the second program, executes the second program and sends result information indicating the execution result of the second program to the terminal device. According to aspect 1A, when a specific event such as an emergency occurs, it is possible to quickly restrict some functions of the first program.

[0222] A preferred embodiment of a program update method according to embodiment 1B is one in which a server device capable of communicating with a terminal device stores a first program to be executed in response to a request from the terminal device and restriction information indicating which of the functions of the first program are to be restricted, and when it is determined that some of the functions of the first program should be restricted, the server device restricts the functions of the first program based on the restriction information. According to aspect 1B, when a specific event such as an emergency occurs, a specific function of the first program can be quickly restricted.

[0223] In the program update method according to aspect 2, which is a specific example of aspect 1, or the program execution method according to aspect 2A, which is a specific example of aspect 1A, the first program has a first function of displaying a first screen on a display device and a second function of presenting the first screen, and the second program is a program in which the second function of the first program is restricted. In addition, in a program update method according to aspect 2B, which is a specific example of aspect 1B, the first program has a first function for displaying a first screen on a display device and a second function for presenting the first screen, and the specific function includes the second function. According to aspects 2, 2A, and 2B, the user can use the display device even when a specific event such as an emergency occurs.

[0224] In the program update method according to aspect 3, which is a specific example of aspect 2, or the program execution method according to aspect 3A, which is a specific example of aspect 2A, the second program has a function of hiding operation icons for producing the first screen from among the icons displayed on the terminal device when the first program is executed. In addition, in the program update method according to aspect 3B, which is a specific example of aspect 2B, the specific function includes a function of hiding operation icons for producing the first screen from among the icons displayed on the terminal device when the first program is executed. According to aspects 3, 3A and 3B, it is possible to prevent the operation for rendering the first screen from being performed when a specific event such as an emergency occurs.

[0225] In the program update method according to aspect 4, which is a specific example of aspect 3, or the program execution method according to aspect 4A, which is a specific example of aspect 3A, the second program has a function of displaying operation icons for producing the first screen as unselectable from among the icons displayed on the terminal device when the first program is executed. In addition, in the program update method according to aspect 4B, which is a specific example of aspect 3B, the specific function includes a function of displaying an operation icon for producing the first screen as unselectable from among the icons displayed on the terminal device when the first program is executed. In the aspects 4, 4A and 4B as well, it is possible to prevent the operation for rendering the first screen from being performed when a specific event such as an emergency occurs.

[0226] In the program update method according to aspect 5, which is a specific example of aspect 2 or 3, or the program execution method according to aspect 5A, which is a specific example of aspect 2A or 3A, the second program has a function of replacing, with another icon, an operation icon for producing the first screen among the icons displayed on the terminal device when the first program is executed. In addition, in the program update method according to aspect 5B, which is a specific example of aspect 2B or 3B, the specific function includes a function of replacing an operation icon for producing the first screen with another icon among the icons displayed on the terminal device when the first program is executed. In aspects 5, 5A, and 5B as well, it is possible to prevent the operation for rendering the first screen from being performed when a specific event such as an emergency occurs. Furthermore, in aspects 5, 5A, and 5B, it is possible to effectively use the display area of ​​the terminal device on which the icons are displayed.

[0227] In the program update method relating to aspect 6, which is a specific example of any one of aspects 1 to 5, or the program execution method relating to aspect 6A, which is a specific example of aspects 1A to 5A, the second program has a function of displaying the execution result screen in a color different from the execution result screen displayed on the terminal device when the first program is executed. In addition, in the program update method according to aspect 6B, which is a specific example of aspects 1B to 5B, the execution result screen displayed on the terminal device when the first program is executed is displayed in different colors depending on whether the first program is executed without restricting the specific function or the first program is executed with the specific function restricted. In aspects 6 and 6A, the user can easily determine whether an error has occurred in the program or whether some of the functions have been restricted by looking at the execution result screen. Also, in aspect 6B, the user can easily determine whether an error has occurred in the program or whether certain functions have been restricted by looking at the execution result screen.

[0228] In the program update method of aspect 7, which is a specific example of any one of aspects 1 to 6, or the program execution method of aspect 7A, which is a specific example of aspects 1A to 6A, the second program has a function of notifying that some of the functions have been restricted. In the program update method according to aspect 7B, which is a specific example of aspects 1B to 6B, the first program has a function of notifying that the partial function has been restricted. In aspects 7 and 7A, the user can easily determine whether an error has occurred in the program or whether some of the functions have been restricted by checking the notification. Also, in aspect 7B, the user can easily determine whether an error has occurred in the program or whether certain functions have been restricted by looking at the execution result screen.

[0229] An information processing system according to aspect 8, which is a preferred aspect, includes a first server device having a first control unit, a first storage unit, and a first communication unit; a second server device having a second control unit, a second storage unit, and a second communication unit; and a terminal device having a third control unit, a third communication unit, and a display unit, wherein the first storage unit stores a first program and a second program in which some functions of the first program are limited, and the second storage unit stores one of the first program and the second program as a program to be executed in response to a request from the terminal device, and when the first communication unit receives update request information from the second server device requesting that the first program be updated to the second program, the first control unit transmits the second program to the second server device via the first communication unit, and the second control unit receives execution request information from the terminal device via the second communication unit requesting that the program be executed. When received, the program stored in the second memory unit is executed, and result information indicating the execution result of the program is sent to the terminal device via the second communication unit, and the program determines whether to update the first program stored in the second memory unit as the program to the second program, and when it is determined that the first program is to be updated to the second program, the update request information is sent to the first server device via the second communication unit, and when the second communication unit receives the second program from the first server device, the first program is updated to the second program sent from the first server device, and the third control unit sends the execution request information to the second server device via the third communication unit, and when the third communication unit receives the result information from the second server device, the execution result of the program is displayed on the display unit based on the result information. According to the eighth aspect, it is possible to prevent delays in updating from the first program to the second program that depend on the user's judgment. As a result, in this aspect, when a specific event such as an emergency occurs, it is possible to quickly restrict some functions of the first program.

[0230] An information processing system according to Aspect 8A, which is a preferred aspect, includes a first server device having a first control unit, a first storage unit, and a first communication unit; a second server device having a second control unit, a second storage unit, and a second communication unit; and a terminal device having a third control unit, a third communication unit, and a display unit, wherein the first storage unit stores a first program and a second program in which some functions of the first program are limited, the second storage unit stores the first program and the second program as programs to be executed in response to a request from the terminal device, and the first control unit transmits the first program and the second program to the second server device via the first communication unit. and when the second communication unit receives execution request information requesting execution of the program from the terminal device, the second control unit determines whether to execute the second program as the program, and when it determines to execute the second program, executes the second program and transmits result information indicating the execution result of the second program to the terminal device via the second communication unit; and the third control unit transmits the execution request information to the second server device via the third communication unit, and when the third communication unit receives the result information from the second server device, causes the display unit to display the execution result of the program based on the result information. According to aspect 8A, when a specific event such as an emergency occurs, it is possible to quickly restrict some functions of the first program.

[0231] An information processing system according to aspect 8B, which is a preferred aspect, includes a first server device having a first control unit, a first storage unit, and a first communication unit; a second server device having a second control unit, a second storage unit, and a second communication unit; and a terminal device having a third control unit, a third communication unit, and a display unit, wherein the first storage unit stores a first program and a stop list indicating specific functions to be restricted from among functions of the first program, the second storage unit stores the first program and the stop list, the first control unit transmits the first program and the stop list to the second server device via the first communication unit, and the second control unit transmits execution request information requesting execution of the program to the second server device via the second communication unit. When the execution request information is received from the terminal device, the third control unit determines whether to execute the first program with the specific function of the first program restricted as the program, and if it determines to execute the first program with the specific function restricted, executes the first program with the specific function restricted based on the stop list, and sends result information indicating the execution result of the first program to the terminal device via the second communication unit, and the third control unit sends the execution request information to the second server device via the third communication unit, and when the third communication unit receives the result information from the second server device, causes the display unit to display the execution result of the program based on the result information. According to aspect 8B, when a specific event such as an emergency occurs, it is possible to quickly restrict some functions of the first program.

[0232] An information processing system according to aspect 8C, which is a preferred aspect, includes a first server device including a first communication device, a first storage device that stores a first program and a second program in which some functions of the first program are limited, and a first control device that transmits the first program and the second program via the first communication device, a second communication device, and a second storage device that stores the first program and the second program as programs to be executed in response to a request from a terminal device, and when the second communication device receives execution request information requesting execution of the program, determines whether the first program or the second program is to be executed as the program, and determines that the second program is to be executed. a second control device that, if it is determined that the first program is to be updated to the second program, executes the second program and transmits result information indicating the execution result of the program via the second communication device, and, if it is determined that the first program is to be updated to the second program, transmits update request information to the first server device via the second communication device, requesting that the first program be updated to the second program; a third communication device; a display device; and a third control device that transmits the execution request information to the second server device via the third communication device, and, if the third communication device receives the result information from the second server device, displays the execution result of the program on the display device based on the result information. According to aspect 8C, when a specific event such as an emergency occurs, it is possible to quickly restrict some functions of the first program. [Explanation of symbols]

[0233] 10, 10A...information processing system, 100...first server, 120...first control unit, 140...first memory unit, 160...first communication unit, 200...second server, 220...second control unit, 240...second memory unit, 260...second communication unit, 300...terminal device, 320...third control unit, 340...third memory unit, 360...third communication unit, 380...display unit, 400...projector, CPG1, CPG1a, CPG1b, CPG1c, CPG1d...first control program, CPG2, CPG2a, CPG2b, CPG2c, CPG2d...second control program, CPG3...third control program, Linf...stop list, PG1...first program, PG2...second program, TPG, TPGa...terminal program, PS...projection surface, PSC...display screen.

Claims

1. a second server device capable of communicating with the first server device and the terminal device stores the first program as a program to be executed in response to a request from the terminal device; the second server device determines whether to update the first program to a second program in which some functions of the first program are limited; When it is determined that the first program is to be updated to the second program, the second server device transmits to the first server device update request information requesting that the first program be updated to the second program; the first server device transmits the second program to the second server device based on the update request information; the second server device updates the first program to the second program; A program updating method comprising:

2. the first program has a first function of displaying a first screen on a display device and a second function of rendering the first screen; the second program is a program in which the second function of the first program is limited; The program updating method according to claim 1 .

3. the second program has a function of hiding operation icons for producing the first screen among icons displayed on the terminal device when the first program is executed, 3. The program updating method according to claim 2.

4. the second program has a function of displaying an operation icon for producing the first screen in an unselectable state among icons displayed on the terminal device when the first program is executed, 3. The program updating method according to claim 2.

5. the second program has a function of replacing an operation icon for producing the first screen with another icon among icons displayed on the terminal device when the first program is executed, 3. The program updating method according to claim 2.

6. the second program has a function of displaying the execution result screen in a color different from that of an execution result screen displayed on the terminal device when the first program is executed; 6. The program updating method according to claim 1.

7. the second program has a function of notifying that the partial function has been restricted; 6. The program updating method according to claim 1.

8. a server device capable of communicating with a terminal device stores a first program to be executed in response to a request from the terminal device and restriction information indicating functions to be restricted among functions of the first program; When it is determined that some functions of the first program are to be restricted, the server device restricts the functions of the first program based on the restriction information. A program updating method comprising:

9. a first communication device; a first storage device that stores a first program and a second program that is a limited version of the first program; a first control device that transmits the first program and the second program via the first communication device; a first server device comprising: a second communication device; a second storage device that stores the first program and the second program as programs that are executed in response to a request from a terminal device; when the second communication device receives execution request information requesting execution of the program, determining whether to execute the first program or the second program as the program; When it is determined that the second program is to be executed, the second program is executed; transmitting result information indicating an execution result of the program via the second communication device, and when it is determined that the first program should be updated to the second program, transmitting update request information requesting that the first program be updated to the second program to the first server device via the second communication device; A second control device; a second server device comprising: a third communication device; and A display device; transmitting the execution request information to the second server device via the third communication device; When the third communication device receives the result information from the second server device, the execution result of the program is displayed on the display device based on the result information. a third control device; An information processing system comprising:

Citation Information

Patent Citations

  • Device control program and portable terminal apparatus

    JP2020170230A