Terminal device and computer program
The terminal device addresses the communication failure issue by selectively activating a secondary operating system stored in a separate storage unit, ensuring operational continuity without network communication.
Patent Information
- Application Number
- JP2023144828
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-06
- Publication Date
- 2025-03-18
AI Technical Summary
Existing remote maintenance management systems fail to start the maintenance management operating system if the information terminal device cannot communicate with the remote maintenance management terminal device.
A terminal device is configured with multiple operating systems stored in separate storage units, allowing selective activation of a secondary operating system based on the usage status of the primary operating system, thereby avoiding the need for network communication.
Enables the terminal device to start the secondary operating system without network communication, ensuring operational continuity even when the primary operating system fails or cannot communicate with the remote maintenance system.
Smart Images

Figure 2025037727000001_ABST
Abstract
Description
[Technical field]
[0001] The technology disclosed in this specification relates to a terminal device that utilizes multiple operating systems and a computer program for the terminal device. [Background technology]
[0002] Patent Document 1 discloses a remote maintenance management system that can remotely perform maintenance management when a problem occurs in an information processing device. In the remote maintenance management system, when the original operating system of the information processing device to be maintained and managed does not start up normally, the information processing device is started up using a maintenance management operating system stored in an information terminal device connected to the information processing device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2012-155712 A Summary of the Invention [Problem to be solved by the invention]
[0004] In the above technology, when the information terminal device storing the maintenance management operating system is to start the maintenance management operating system, the information terminal device is communicatively connected to the remote maintenance management terminal device by executing communication via a network. Therefore, if the information terminal device cannot execute communication with the remote maintenance management terminal device, the maintenance management operating system cannot be started.
[0005] This specification provides a technique for selectively booting a plurality of operating systems on a terminal device. [Means for solving the problem]
[0006] A first aspect of the technology disclosed in this specification relates to a terminal device. The terminal device includes a first storage unit that stores a plurality of operating systems including a first operating system and a second operating system, and a control unit that executes a process using one of the plurality of operating systems selectively, and the control unit may start the second operating system based on status information regarding a usage status of the first operating system.
[0007] In the above configuration, a plurality of operating systems are stored in the first storage unit of the terminal device. The terminal device selectively starts up a second OS in place of a first operating system (hereinafter simply referred to as "OS") depending on the usage status of the first OS. Therefore, the terminal device does not need to execute communication via a network when starting up the second OS in place of the first OS.
[0008] In a second aspect, in the above first aspect, the first storage unit may include a first storage device that stores the first operating system, and a second storage device that stores the second operating system, the second storage device being different from the first storage device.
[0009] By storing the first OS and the second OS in different storage devices, even if the first storage device in which the first OS is stored does not function normally, the second OS stored in the second storage device can be started.
[0010] In a third aspect, in the first or second aspect above, the status information may include specific information indicating that a process using the first operating system cannot be executed normally.
[0011] According to this configuration, when the process using the first OS cannot be executed normally, the second OS is started up, thereby making it possible to operate the terminal device.
[0012] In a fourth aspect, in the third aspect above, the control unit may store information necessary for the processing using the multiple operating systems in each of the first storage unit and a second storage unit that stores backup data related to the data stored in the first storage unit.
[0013] According to this configuration, when the first storage section in which the first OS is stored cannot be used normally, the terminal device can be operated using the backup data stored in the second storage section.
[0014] In a fifth aspect, in the fourth aspect described above, when the status information includes the specific information, the control unit may use the backup data stored in the second storage unit to execute a recovery process for normally executing processing using the first operating system.
[0015] According to this configuration, the backup data stored in the second storage unit is used to operate the terminal device and execute a recovery process, thereby restoring the terminal device to a state in which processing using the first OS can be normally executed.
[0016] In a sixth aspect, in the fifth aspect described above, the control unit may be capable of obtaining an execution instruction from a user to execute the recovery processing, and may switch to either a first execution state in which, in the specific case, the recovery processing is executed when the execution instruction is obtained, or a second execution state in which, in the specific case, the recovery processing is executed even if the execution instruction is not obtained.
[0017] According to this configuration, whether or not to automatically execute the recovery process can be switched according to the user's instruction. As a result, for example, when the user needs to investigate the cause of the first OS not being able to execute the process normally, the first execution state can be set to avoid a situation where the recovery process is executed automatically without the user's instruction.
[0018] In a seventh aspect, in the fifth or sixth aspect above, the control unit may receive data transmitted from an external device communicatively connected via a network, and execute the recovery process when relevant data related to the execution of the recovery process is obtained from the external device.
[0019] According to this configuration, the recovery process can be executed using the external device, whereby the user can remotely cause the terminal device to execute the recovery process using the external device.
[0020] In an eighth aspect, in the above seventh aspect, the control unit may establish a connection capable of communicating with the external device when the second operating system is started.
[0021] According to this configuration, the user does not need to establish a connection between the external device and the terminal device.
[0022] In a ninth aspect, in any one of the fifth to eighth aspects above, the control unit may communicate with a management device that is communicatively connected via a network, and in the specific case, transmit the status information to the management device.
[0023] According to this configuration, the user can know, on the management device, that the terminal device cannot normally execute a process using the first OS.
[0024] In a tenth aspect, in any one of the first to ninth aspects above, the control unit may attempt to start the first operating system, and if the first operating system cannot be started, store the status information indicating that the first operating system cannot be started, and if the status information has been stored, start the second operating system.
[0025] According to this configuration, the control unit stores the result of an attempt to start the first OS, and can start the second OS based on the situation information that is the result of the attempt.
[0026] A computer program and a method for a terminal device for implementing the above aspects are also novel and useful. [Brief description of the drawings]
[0027] [Figure 1] FIG. 2 shows a configuration block diagram of a terminal device according to the present embodiment. [Diagram 2] 1 shows a flowchart of a backup process according to this embodiment. [Diagram 3] 4 shows a flowchart of a startup process according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028] The terminal device 10 of this embodiment shown in Fig. 1 is an information processing device such as a desktop computer, a laptop computer, a tablet terminal, etc. The terminal device 10 mainly uses the first OS 52 out of two operating systems (hereinafter referred to as "OS"), a first operating system 52 and a second operating system 54, to execute processing. When the terminal device 10 is unable to execute processing normally using the first OS 52 due to malware or the like, it executes recovery processing of the first OS 52 using the second OS 54 so that processing using the first OS 52 becomes executable.
[0029] The terminal device 10 includes a control unit 12, a storage unit 14, a display unit 16, an operation unit 18, an external memory interface (hereinafter, "interface" is referred to as "I / F") 20, and a communication I / F 22. The control unit 12, the storage unit 14, the display unit 16, the operation unit 18, the external memory I / F 20, and the communication I / F 22 are communicatively connected by wiring (not shown).
[0030] The external memory I / F 20 includes an interface for connecting the terminal device 10 and the external memory 100 so that they can communicate with each other. For example, if the external memory 100 is a USB memory, the external memory I / F 20 has a receptacle that accepts a USB plug. The external memory 100 may be a storage device other than a USB memory, such as an SD card or an external hard disk drive. For example, if the external memory is an SD card, the external memory I / F 20 may be a slot for the card. Furthermore, the external memory I / F 20 may not be an I / F dedicated to a storage device, but may be a general-purpose I / F for connecting other external devices to the terminal device 10.
[0031] The communication I / F 22 is an I / F for the terminal device 10 to communicate with other devices such as the management server 200 via a network such as the Internet or an intranet. The communication I / F 22 is used by the terminal device 10 to perform at least one of wired communication and wireless communication.
[0032] The control unit 12 includes a main CPU 32 and a sub CPU 34. The control unit 12 executes various processes according to computer programs stored in the storage unit 14. The number of CPUs mounted on the control unit 12 is not particularly limited. The control unit 12 further includes a memory (not shown). The memory is a volatile memory that is temporarily used while the main CPU 32 and the sub CPU 34 are executing processes. The memory includes a RAM.
[0033] The storage unit 14 includes a plurality of storage devices including a first storage device 42, a second storage device 44, and a third storage device 46. Each of the plurality of storage devices includes a flash memory. The first storage device 42 is an eMMC (embedded Multi Media Card), the second storage device 44 is a NAND flash memory, and the third storage device 46 is a NOR flash memory. In the second storage device 44, the storage area is divided into a normal storage area and a backup area by a partition. When the control unit 12 executes a process, data stored in the normal storage area is used. The backup area is used to back up the normal storage area. The type of flash memory of the plurality of storage devices is not limited to the above. The plurality of storage devices may also be non-volatile memories other than flash memories.
[0034] The first storage device 42 stores the first OS 52. Debian GNU / LInux is used for the first OS 52. The first storage device 42 further stores one or more data files used in the file system of the first OS 52. The second storage device 44 stores the second OS 54 in a normal storage area. Debian is used for the second OS 54. The normal storage area further stores one or more data files used in the file system of the second OS 54. The backup area of the second storage device 44 stores backup data used in the recovery process described later. The third storage device 46 stores a boot loader 56. U-Boot is used for the boot loader 56. The first OS 52, the second OS 54, and the boot loader 56 are not particularly limited.
[0035] The display unit 16 is a display for displaying various information. The display unit 16 is, for example, a liquid crystal display. The operation unit 18 includes buttons for accepting user operations such as a keyboard and a mouse. The display unit 16 is a so-called touch panel, and may also function as the operation unit 18.
[0036] (Processing performed by the control unit) The main CPU 32 uses the first OS 52 to execute processing in accordance with one or more application programs stored in the storage unit 14. While the main CPU 32 is executing processing, the sub CPU 34 realizes a sub CPU virtual machine in accordance with firmware (not shown) stored in the storage unit 14 (e.g., a second storage device).
[0037] (Backup process) 2, while the main CPU 32 is using the first OS 52, i.e., while the first OS 52 is running, the control unit 12 executes backup of data files at least periodically and / or in response to a backup instruction from the user. The backup timing at which the backup process is executed periodically is stored in the first storage device 42.
[0038] In the backup process, in S12, the main CPU 32 monitors whether the backup condition is satisfied. Specifically, the main CPU 32 determines that the backup condition is satisfied when the backup timing stored in the first storage device 42 arrives (YES in S12). The main CPU 32 also determines that the backup condition is satisfied when a backup instruction is received from the user (YES in S12). The backup instruction is a predetermined operation executed by the user on the operation unit 18.
[0039] If YES in S12, in S14, the main CPU 32 notifies the sub-CPU virtual machine that the second OS 54 is to be used in the backup mode. The sub-CPU virtual machine stores that the second OS 54 should be started in the backup mode. In S16, the main CPU 32 reboots the first OS 52. Next, in S18, the main CPU 32 uses the boot loader 56 to select the OS and mode to be started. Specifically, the main CPU 32 inquires of the sub-CPU virtual machine about the OS and mode to be started. The main CPU 32 selects the OS and mode to be started by obtaining a response from the sub-CPU virtual machine that the second OS 54 will be used in the backup mode notified in S14.
[0040] In S20, the main CPU 32 uses the boot loader 56 to start up the selected second OS 54 in backup mode. The processes of S18 and S20 may be executed by the sub CPU 34 using the boot loader 56. Next, in S22, the sub CPU 34 uses the second OS 54 to check the consistency of the file system of the first OS 52, which is a file system stored in the first storage device 42. Similarly, the sub CPU 34 uses the second OS 54 to check the consistency of the file system of the second OS 54, which is a file system stored in the normal storage area of the second storage device 44.
[0041] The sub CPU 34 checks the consistency of the file systems, for example, by executing an fsck command. If the consistency of the file systems of both storage devices 42, 44 is normal (YES in S22), in S24, the sub CPU 34 executes backup of the first storage device 42 and the second storage device 44, and proceeds to S26. Specifically, the sub CPU 34 uses the second OS 54 to copy each file of the file system of the first storage device 42 to the external memory 100. In addition, the sub CPU 34 uses the second OS 54 to copy each file of the file system stored in the normal storage area of the second storage device 44 to the backup area of the second storage device 44.
[0042] On the other hand, if the consistency of the file system of either of the storage devices 42, 44 is not normal in S22 (NO in S22), the process of S24, ie, the backup of the first storage device 42 and the second storage device 44, is skipped and the process proceeds to S26.
[0043] In S26, the sub CPU 34 ends the second OS 54 and notifies the sub CPU virtual machine of a reset. In S28, the main CPU 32, similar to S18, uses the boot loader 56 to inquire of the sub CPU virtual machine about the OS and mode to be started. In response to the reset (i.e., to start the first OS 52) from the sub CPU virtual machine, the main CPU 32 starts the first OS 52 and returns to S12.
[0044] (Startup process) Next, the startup process executed by the control unit 12 will be described with reference to Fig. 3. When the power supply of the terminal device 10 is switched from off to on or the terminal device 10 is restarted, the control unit 12 causes the sub CPU 34 to execute the sub CPU virtual machine according to the firmware. The sub CPU 34 executes reset release of the main CPU 32, causing the main CPU 32 to execute processing.
[0045] When the reset of the main CPU 32 is released, in S42, the main CPU 32 uses the boot loader 56 to determine whether or not to start the first OS 52. Specifically, similar to S18, the main CPU 32 inquires of the sub-CPU virtual machine about the OS and mode to be started. The sub-CPU virtual machine stores the OS and mode to be started. The main CPU 32 obtains a response of the OS and mode to be started from the sub-CPU virtual machine. The main CPU 32 uses the response from the sub-CPU virtual machine to determine whether or not to start the first OS 52.
[0046] If it is determined that the first OS 52 should be started (YES in S42), then in S44 the main CPU 32 attempts to start the first OS 52. If the start-up of the first OS 52 is successful (YES in S44), then in S46 the main CPU 32 uses the first OS 52 to check the consistency of the file system of the first OS 52, which is a file system stored in the first storage device 42, in the same manner as in S22. If the consistency of the file system is normal (YES in S46), the start-up process is terminated. This enables the main CPU 32 to execute processing using the first OS 52.
[0047] On the other hand, if it is determined that the consistency of the file system is not normal (NO in S46), in S48 the main CPU 32 notifies the sub-CPU virtual machine that the second OS 54 should be started in the second recovery mode indicating that the file system of the first OS 52 is not normal, and the process returns to S42. Upon receiving the notification, the sub-CPU virtual machine stores information indicating the notification in the second storage device 44.
[0048] In S44, if the first OS 52 does not start normally due to malware or the like, the main CPU 32 determines that the start of the first OS 52 has not been successful (NO in S44). If NO in S44, in S50, the main CPU 32 notifies the sub-CPU virtual machine that the second OS 54 should be started in the first recovery mode, which indicates that the first OS 52 has not started, and returns to S42. Upon receiving the notification, the sub-CPU virtual machine stores information indicating the notification in the second storage device 44.
[0049] In S42, the notification stored by the sub-CPU virtual machine in S48 or S50 is acquired as a response to the inquiry. As a result, if it is determined that the second OS 54 should be started (NO in S42), in S54 the main CPU 32 starts the second OS 54. Next, in S56, the sub-CPU 34 is communicatively connected to the management server 200 via the communication I / F 22. In S58, the sub-CPU 34 transmits an error notification to the management server 200 indicating the error notified in S48 or S50, i.e., that the consistency of the file system is not normal (S48) or that the first OS 52 will not start (S50).
[0050] When the management server 200 receives the error notification, it stores it in a storage unit of the management server 200. The user can know that an error has occurred in the terminal device 10 by having the management server 200 output (for example, display, output as sound, etc.) the error notification stored in the management server 200. When the sub-CPU 34 starts the second OS 54, it establishes a connection with the management server 200, so that the user does not have to take the trouble of connecting the terminal device 10 to the management server 200.
[0051] Next, in S60, the sub CPU 34 judges whether or not the manual mode is set. If the user does not wish the recovery process of S62 to be automatically executed when the first OS 52 cannot be started normally, the user can set the manual mode. The user can set the manual mode by performing a predetermined operation on the operation unit 18 while the first OS 52 is started. When the predetermined operation is executed, the main CPU 32 notifies the sub CPU virtual machine that the manual mode is set. The sub CPU virtual machine stores the information that the manual mode is set in the normal storage area of the second storage device 44. The user can cancel the set manual mode by performing a predetermined operation on the operation unit 18 while the first OS 52 is started. When the predetermined operation is executed, the main CPU 32 notifies the sub CPU virtual machine that the manual mode is canceled. The sub CPU virtual machine erases the information that the manual mode is set from the normal storage area of the second storage device 44.
[0052] The sub CPU 34 executes an inquiry as to whether the manual mode is stored in the sub CPU virtual machine. When the sub CPU 34 receives a response to the inquiry indicating that the manual mode is stored from the sub CPU virtual machine, it determines that the manual mode is set (YES in S60). If YES in S60, the start-up process is terminated.
[0053] On the other hand, when the sub CPU 34 receives a response from the sub CPU virtual machine to the inquiry indicating that the manual mode is not stored, the sub CPU 34 determines that the manual mode is not set (NO in S60). If NO in S60, the sub CPU 34 executes a recovery process in S62 and returns to S42.
[0054] In the recovery process, the sub CPU 34 copies the data files stored in the backup area of the second storage device 44 to the first storage device 42 in accordance with the second OS 54. If the copy is successful, the sub CPU 34 shuts down the second OS 54 and causes the sub CPU virtual machine to execute a reset operation. By executing the reset operation, it is stored that the OS to be started is the first OS 52. With this configuration, the user does not have to take the trouble of executing the recovery process.
[0055] When the manual mode is set, the sub-CPU 34 may display an image indicating that the first OS 52 cannot be started normally on the display unit 16. The user executes a predetermined execution instruction operation on the operation unit 18 to manually execute the recovery process. Alternatively, the user executes the recovery process manually using an external terminal communicably connected to the management server 200 via the communication I / F 22. The user operates the management server 200 to cause the management server 200 to transmit an execution instruction for executing the recovery process to the terminal device 10. Upon receiving the execution instruction, the terminal device 10 may execute the recovery process. According to this configuration, the user can analyze the cause of the inability to start the first OS 52 by executing the recovery process.
[0056] In the terminal device 10, the second OS 54 used for recovery processing when the first OS 52 cannot be started is stored in the storage unit 14 of the terminal device 10. Therefore, when performing the recovery processing, it is not necessary to perform communication via a network. As a result, the recovery processing can be performed even in a situation where communication via a network cannot be performed.
[0057] In the terminal device 10, storage devices 42, 44 are arranged separately for storing two OSs 52, 54. With this configuration, a file system can be stored in each of the storage devices 42, 44 for each of the OSs 52, 54. As a result, even if the first storage device 42 is not functioning properly and the first OS 52 cannot be started, the second OS 54 stored in the second storage device 44 can be started.
[0058] In S42, the second OS 54 is selected as the OS to be started based on a notification indicating that the first OS 52 cannot be started normally in the previous start-up process. This allows the second OS 54 to be started when the first OS 52 cannot actually be started by starting the second OS 54 as a result of one attempt to start the first OS 52.
[0059] In the backup process, the data files stored in the first storage device 42 are copied to the external memory 100, so that when the first storage device 42 cannot be used normally, the terminal device 10 can be operated by using the data files in the external memory 100.
[0060] (Correspondence) The recovery mode in S48 and S50 and the notification to start the second OS 54 are examples of "status information" and "specific information". The external memory 100 is an example of a "second storage unit". The state in which the manual mode is set is an example of a "first execution state", and the state in which the manual mode is not set is an example of a "second execution state". The execution instruction received from the management server 200 is an example of "related data".
[0061] Although the embodiments of the present invention have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples exemplified above.
[0062] (1) In the startup process, the sub-CPU 34 may have a watchdog timer function in the sub-CPU virtual machine. The sub-CPU virtual machine may measure the period during which each step of the startup process is executed. The main CPU 32 or the sub-CPU 34 may determine that the step being measured is not executed normally, depending on the period measured by the watchdog timer, and may notify the sub-CPU virtual machine that the step cannot be executed normally. In the startup process, a recovery process may be executed in response to the notification to the sub-CPU virtual machine.
[0063] (2) In the case where the second OS 54 cannot be started in S54 of the start-up process, a recovery process may be executed to recover the start-up of the second OS 54. In this case, the recovery process of the second OS 54 may be executed using a backup data file stored in the backup area of the second storage device 44.
[0064] (3) The number of OSs stored in the terminal device 10 is not particularly limited. For example, three or more OSs may be selectively usable. For example, three OSs may be stored, and the recovery process for the first OS 52 may be executed using the second OS 54, and the recovery process for the second OS 54 may be executed using the third OS.
[0065] (4) There is no particular limitation on the number of storage devices arranged in the storage unit 14. The storage unit 14 may be provided with a plurality of storage devices for individually storing a plurality of OSes to be stored in the terminal device.
[0066] (5) A storage device built into the terminal device 10 may be provided instead of the external memory 100. In this case, in the backup process, the data files of the file system of the first OS 52 may be stored in the built-in storage device. In this case, the storage device is an example of a "second storage unit."
[0067] In addition, the technical elements described in this specification or drawings exert technical utility alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies exemplified in this specification or drawings achieve multiple objectives simultaneously, and achieving one of those objectives is itself technically useful. [Explanation of symbols]
[0068] 10: terminal device, 12: control unit, 14: storage unit, 20: external memory I / F, 22: communication I / F, 32: main CPU, 34: sub CPU, 42: first storage device, 44: second storage device, 46: third storage device, 52: first operating system, 54: second operating system, 56: boot loader, 100: external memory, 200: management server
Claims
1. A terminal device, a first storage unit for storing a plurality of operating systems including a first operating system and a second operating system; a control unit that executes a process using any one of the plurality of operating systems, The control unit activates the second operating system based on status information relating to a usage status of the first operating system.
2. The first storage unit is a first storage device storing the first operating system; 2. The terminal device of claim 1, further comprising: a second storage device storing the second operating system, the second storage device being different from the first storage device.
3. The terminal device according to claim 1 , wherein the status information includes specific information indicating that a process using the first operating system cannot be normally executed.
4. 4. The terminal device according to claim 3, wherein the control unit stores information necessary for the processing using the multiple operating systems in each of the first storage unit and a second storage unit that stores backup data related to the data stored in the first storage unit.
5. The terminal device according to claim 4, wherein the control unit, when the status information includes the specific information, uses the backup data stored in the second storage unit to perform a recovery process to normally execute processing using the first operating system.
6. The control unit is An instruction to execute the recovery process can be obtained from a user; The terminal device according to claim 5, wherein the terminal device switches to either a first execution state in which the recovery process is executed when the execution instruction is obtained in the specific case, or a second execution state in which the recovery process is executed even if the execution instruction is not obtained in the specific case.
7. The control unit is receiving data transmitted from an external device communicatively connected via a network; The terminal device according to claim 5 , wherein the recovery process is executed when associated data relating to the execution of the recovery process is acquired from the external device.
8. The terminal device according to claim 7 , wherein the control unit establishes a connection capable of communicating with the external device when the second operating system is started.
9. The control unit is Executing communication with a management device communicatively connected via a network; The terminal device according to claim 5 , further comprising: a terminal device configured to transmit, in the particular case, the status information to the management device.
10. The control unit is attempting to boot the first operating system, and if the first operating system cannot be booted, storing the status information indicating that the first operating system cannot be booted; 3. The terminal device according to claim 1, wherein the second operating system is started when the status information is stored.
11. A computer program for a terminal device, comprising: the terminal device includes a storage unit that stores a plurality of operating systems including a first operating system and a second operating system; The computer program is configured to: Executing a process using any one of the plurality of operating systems; A computer program product that launches a second operating system of the plurality of operating systems based on status information relating to usage of the first operating system.
Citation Information
Patent Citations
Remote maintenance management method and system for information processing apparatus and personal digital assistant and program used therefor
JP2012155712A