Information processing device and program therefor
The information processing device with dual operating systems and coordinated update processes ensures seamless operation and service continuity by maintaining synchronized version information across multiple OS and program sets.
Patent Information
- Application Number
- JP2024088958
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-31
- Publication Date
- 2025-12-11
AI Technical Summary
Existing recovery management devices are not designed to handle multiple operating systems and programs running on those systems, leading to potential service disruptions when recovery is performed.
An information processing device configured with two operating systems and corresponding program sets, where an update process ensures version information matching and coordination between the systems, allowing both to operate seamlessly post-recovery.
Enables normal service provision even after recovery by ensuring that both operating systems and their programs maintain a coordinated and up-to-date state.
Smart Images

Figure 2025181150000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device that executes various processes, and a program for the information processing device that is executed by the information processing device. [Background technology]
[0002] In various information processing devices, when there is a problem with the processing operation, the device is temporarily restored to its factory default state to fix the problem. Patent Document 1 discloses a recovery management device that performs update work such as applying patches or upgrading the software to restore each software to an appropriate state after recovery.
[0003] In the recovery management device described in Patent Document 1, an update management unit stores and retains the contents of each update to software such as an OS or a group of applications as update information in a recovery area of a HDD, and when each piece of software is restored to its factory default state through recovery processing by a recovery processing unit, a restoration processing unit reproduces the update using the update information stored and retained in the recovery area of the HDD, restoring the software to its state before the recovery processing. Based on this configuration, the recovery management device described in Patent Document 1 can reduce the user's burden of update work after recovery. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-304768 Summary of the Invention [Problem to be solved by the invention]
[0005] Attempts are being made to use two operating systems in karaoke machines. When two operating systems are used, programs run on each operating system. The recovery management device described in Patent Document 1 performs updates on a single operating system, and is not intended for the above-mentioned multiple operating systems and programs running on that operating system.
[0006] In an information processing device such as a karaoke machine that uses multiple operating systems, both operating systems and the programs that run on those operating systems must work together to provide normal service. In such an information processing device, if at least one of the operating systems or the programs that run on that operating system is recovered, it is possible that the service will not be able to be provided normally.
[0007] The present invention has been developed in consideration of such circumstances, and one of its objectives is to enable normal service provision even when recovery is performed on multiple operating systems or programs running on those operating systems. [Means for solving the problem]
[0008] Therefore, the information processing device according to the present invention employs the following configuration. An information processing device that operates based on a first OS and a second OS, a storage unit that stores a first program set and a second program set; the first program set includes at least one of a first OS and a first group of programs that run on the first OS; the second program set includes at least one of a second OS and a second program group that runs on the second OS; a recovery process for making at least one of the first program set and the second program set operable; After the recovery process is executed, an update process is executed to update the version information of the first program set and the version information of the second program set so that they have a predetermined correspondence relationship.
[0009] Furthermore, in the information processing device according to the present invention, The first program set operates in the first control unit, The second program set operates in the second control unit.
[0010] Furthermore, in the information processing device according to the present invention, The update process updates the version information of the first program set so that it matches the version information of the second program set.
[0011] Furthermore, in the information processing device according to the present invention, The update process refers to the reference table and updates the version information of the first program set so that it matches the version information of the second program set.
[0012] Furthermore, in the information processing device according to the present invention, The update process updates the version information of the first program set and the version information of the second program set so that they have a predetermined correspondence and are up to date.
[0013] Furthermore, in the information processing device according to the present invention, The update process updates at least one of the first program set and the second program set.
[0014] Furthermore, in the information processing device according to the present invention, The recovery process is executed when an operation is performed on the input means of the information processing device, or when the first OS or the second OS does not start up.
[0015] Furthermore, in the information processing device according to the present invention, the storage unit has a plurality of storage areas for each of the first program set and the second program set; The update process updates the first program set or the second program set using a storage area different from the storage area in which the first program set or the second program set has been changed to an operable state in the recovery process.
[0016] Furthermore, in the information processing device according to the present invention, The update process includes a version acquisition process and an update instruction process. In the version determination process, the first OS requests version information from the second OS, acquires the version information, and In the update instruction process, the first OS determines whether or not the second OS needs to be updated based on the acquired version information, and if the second OS needs to be updated, transmits an update instruction to the second OS.
[0017] Furthermore, in the information processing device according to the present invention, The update process includes the first OS acquiring information required to update the first program set and the second program set from the server device and storing the information in the storage unit.
[0018] Furthermore, in the information processing device according to the present invention, The information processing device is a karaoke device.
[0019] The information processing device program according to the present invention further comprises: A program for an information processing device executed by an information processing device that operates based on a first OS and a second OS, a storage unit that stores a first program set and a second program set; the first program set includes at least one of a first OS and a first group of programs that run on the first OS; the second program set includes at least one of a second OS and a second program group that runs on the second OS; a recovery process for making the first program set or the second program set operable; After the recovery process is executed, an update process is executed to update the version information of the first program set and the version information of the second program set so that they have a predetermined correspondence relationship. [Effects of the Invention]
[0020] According to the information processing device and the program for the information processing device of the present invention, even if a recovery process occurs, the first program set and the second program set can be updated to have an appropriate relationship after the recovery process, thereby making it possible to provide services normally. [Brief explanation of the drawings]
[0021] [Figure 1] FIG. 1 shows the configuration of a karaoke system according to an embodiment of the present invention. [Figure 2] FIG. 4 is a flowchart showing an update process according to the present embodiment. [Figure 3] FIG. 10 is a diagram showing an example of processing executed by the karaoke device of the present embodiment. [Figure 4] FIG. 10 is a diagram showing an example of processing executed by the karaoke device of the present embodiment. [Figure 5] FIG. 1 is a flowchart showing a first OS process executed by the karaoke device of the present embodiment. [Figure 6] FIG. 1 is a flowchart showing an update process executed in the karaoke device of the present embodiment. [Figure 7] FIG. 1 is a flowchart showing a second OS process executed by the karaoke device of the present embodiment. [Figure 8] FIG. 10 is a diagram showing a version update table used in another embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0022] 1 is a diagram showing the configuration of a karaoke system according to this embodiment. The karaoke system according to this embodiment includes a karaoke device 2 (sometimes called a commander) and a remote control device 1. In this embodiment, the karaoke device 2 and the remote control device 1 are communicatively connected to a LAN 100 via wired or wireless communication to form a network.
[0023] A karaoke device 2 installed in a store such as a karaoke booth includes an acoustic control unit 25 that plays music (accompaniment). The acoustic control unit 25 of this embodiment applies acoustic effects such as echo to the audio signals input from the microphones 43a and 43b, adds a playback signal that is played back based on music data, and outputs the result to a speaker 42. Although FIG. 1 shows only one speaker 42 for convenience, various configurations can be adopted, such as multiple speakers 42, stereo output, or surround output.
[0024] The karaoke device 2 has two control units (a first SoC 20a (first control unit) and a second SoC 20b (second control unit)) as its control configuration. An SoC (System on a Chip) is a chip also known as a one-chip computer, which integrates functions such as a CPU, memory, a video chip, and I / O (Input / Output), which are the core of a computer. Note that, in addition to using such an SoC as the control configuration, the CPU, memory, video chip, etc., which are functions possessed by the SoC, may also be prepared as components.
[0025] The first SoC 20a (first control unit) is a control unit that is mainly responsible for various applications (application programs) executed by the karaoke device 2 and external communications with the Internet, etc. Possible applications executed by the karaoke device 2 include karaoke, games, video viewing, web conferencing, etc. The video formed by the first SoC 20a is displayed on the monitor 41 via the switch 28.
[0026] In this embodiment, the switch 28 is configured to input the images of the first SoC 20a and the second SoC 20b and display one of them on the monitor 41, but the two may be combined and displayed on the monitor 41. A hard disk 29, which is one of the storage units, is mounted on the first SoC 20a, and the first SoC 20a is responsible for reading and writing to the hard disk 29. An external storage unit such as the hard disk 29 may also be provided for the second SoC 20b, and reading and writing may be performed by the second SoC 20b. The first SoC 20a and the second SoC 20b are connected to each other via an internal LAN hub 27 (internal LAN (Local Area Network)) so as to be able to communicate with each other.
[0027] The first SoC 20a and the second SoC 20b have memories 201a and 201b, which are one of the storage units. The memories 201a and 201b have a first area and a second area, and one of the areas is used as a startup area for the OS (Operating System). In this embodiment, the first SoC 20a and the second SoC 20b use different types of OS. The second SoC 20b uses a second OS ("Linux (registered trademark)" in this embodiment) that is used in the conventional karaoke device 2.
[0028] In this way, by using the second OS, it is possible to use various programs and data, such as music playback, that were used in the old karaoke device 2. On the other hand, for apps executed in the karaoke device 2, by using the new first OS (in this embodiment, "Android (registered trademark) OS"), it is possible to use existing apps or to create a diverse development environment.
[0029] As described above, the karaoke device 2 of this embodiment employs two control units, the first SoC 20a and the second SoC 20b, which are different first and second OSs, respectively. The first SoC 20a and the second SoC 20b are connected via the internal LAN hub 27, and therefore can easily cooperate with each other by communicating using a general communication protocol.
[0030] The second SoC 20b (second control unit) is mainly responsible for functions related to the playback of music. Similar to the first SoC 20a, the second SoC 20b can output audio and video. The audio generated by the second SoC 20b is output to the audio control unit 25, and the video is output and displayed on the monitor 41 via the switch 28.
[0031] In this embodiment, the second SoC 20b controls the infrared communication unit 21, the LED 22, and the operation unit 23. The LED 22 functions as a status display unit that displays various states of the karaoke device 2. The operation unit 23 is composed of switches, a touch panel, etc., and accepts various operations from the user. In this embodiment, the control of the LED 22 and the operation unit 23 by the second SoC 20b is performed via a microcomputer 26.
[0032] With this configuration, the karaoke device 2 executes various processes, but its main functions include song reservation processing, song playback processing (overall control processing, video processing, and audio processing) for playing songs, etc. The song reservation processing is a process for specifying and reserving a song based on a user's specification, and is executed in cooperation with the remote control device 1. Reservation information formed by the song selection processing of the remote control device 1 is sent to the karaoke device 2. The karaoke device 2 registers the received reservation information in a reservation table stored and managed in the memory within SoC 20a. In the song playback processing, video processing, audio processing, and lyric display processing are executed under the overall control processing.
[0033] The audio processing is audio-related processing, and includes an audio playback process in which the audio control unit 25 executes a performance based on data (MIDI data, audio data) included in the music data. The music played by the audio control unit 25 is mixed with audio signals input from microphones 43a and 43b and output from the speaker 42. The lyric display process is a process that provides singing assistance by displaying a lyric video (telop) based on the lyric data included in the music data on the monitor 41. The background video played in the video playback process is superimposed on the lyric video displayed in the lyric display process to enhance the atmosphere of the singing.
[0034] Meanwhile, the remote control device 1 is capable of performing a song selection process, which searches for songs based on instructions from the user and transmits reservation information for the song instructed to be played to the karaoke device 2. The remote control device 1 is capable of receiving various information from the karaoke device 2 or a server device 5 connected to the Internet and performing various processes. In this embodiment, the remote control device 1 is provided with an operation unit 17 and a touch panel monitor 11 as a user interface for receiving various instructions from the user. The touch panel monitor 11 is configured with a display unit 11a and a touch panel 11b, and displays various information on the display unit 11a and is capable of receiving touch inputs from the user.
[0035] Furthermore, the remote control device 1 is configured with a memory 14 as a storage unit for storing databases required for music selection processing, various programs, and various information generated as the programs are executed, and a remote control control unit for controlling these components in an integrated manner. The remote control control unit includes a CPU 15, an image control unit 13 that forms images to be displayed on the touch panel monitor 11, a video RAM 12 that temporarily stores image data for the images to be displayed, and an operation processing unit 18 that interprets inputs from the touch panel monitor 11 or the operation unit 17 and transmits them to the CPU 15.
[0036] The remote control device 1 is connected to the network formed by the LAN 100 by wirelessly connecting to the access point 130 via the wireless LAN communication unit 16. Each remote control device 1 is pre-associated with a specific karaoke device 2. Various commands output from the remote control device 1 are received by the associated karaoke device 2.
[0037] With this configuration of the remote control device 1, various inputs from the user can be received from the touch panel monitor 11 or the operation unit 17, and various information can be provided by displaying it on the touch panel monitor 11, making it possible to perform various processes such as song selection processing, which transmits reservation information to be output to the karaoke device 2.
[0038] As described in FIG. 1, the karaoke device 2 of this embodiment uses different types of first and second OSs in the first SoC 20a and second SoC 20b. Previously constructed assets are processed in the first OS, while new programs and data are processed using the second OS. By using the first and second OSs in this way, it is possible to take advantage of the advantages of both, reducing development costs and time.
[0039] In a karaoke machine 2 that uses a first OS and a second OS, it is necessary for both OSs and the programs that run on those OSs to work in cooperation with each other. In such a karaoke machine 2, if one of the OSs is recovered, it is conceivable that the two will no longer be able to work together and that normal service will not be provided. The present invention has been made in consideration of such circumstances, and one of its objectives is to enable normal service to be provided even when recovery is performed on multiple OSs.
[0040] The first OS and the second OS are updated at appropriate times, and updates are performed via the Internet or using a storage medium brought by a service technician. Figure 2 is a flow diagram showing an update process executed when an update is performed on at least one of the first OS and the second OS. The update process is executed in the server device 5 or the like.
[0041] In the update process, the version information of the first OS and the second OS is updated. Here, the version information of the first OS and the second OS is not the version of the OS itself (e.g., Android 12), but information assigned to enable the first OS and the second OS to cooperate with each other.
[0042] In the update process, it is determined whether update information has been created for at least one of the first OS and the second OS (S001). If update information has been created for at least one of them (S001: Yes), a determination is made as to which OS to update (S002, S005). If update information has been created for only the first OS (S002: Yes), the updated version information of the first OS is acquired (S003). Then, the version information of the second OS is updated with the acquired version information of the first OS (S004). Therefore, when the version information of the first OS is updated, the version information of the second OS that has not been updated is also updated. Then, the version information of the first OS and the version information of the second OS become identical values.
[0043] On the other hand, if update information has been created only for the second OS (S005: Yes), the updated version information of the second OS is acquired (S006). Then, the version information of the first OS is updated with the acquired version information of the second OS (S007). Therefore, when the version information of the second OS is updated, the version information of the first OS, which has not been updated, is also updated, and the version information of both OSs becomes the same value.
[0044] If update information for both the first OS and the second OS has been created (S005: No), the version information for the first OS and the second OS is updated so that the version information for the first OS and the second OS matches.
[0045] The update process has been described above. In this embodiment, when at least one of the first OS and the second OS is updated, the version information of the first OS and the second OS is made to match. In this embodiment, a state in which the version information of the first OS and the second OS match is defined as a state in which both OSs and programs executed on those OSs can work together in an appropriate manner. Therefore, in a karaoke device 2 using the first OS and the second OS, by checking the version information of the first OS and the second OS and matching them, it is possible to provide appropriate services.
[0046] 3 and 4 are tables showing examples of processes executed by the karaoke device 2. In FIGS. 3 and 4, the vertical axis indicates processes over time, such as "Running," "Recovery," "Check OS version information," "Update," and "After reboot." On the other hand, the horizontal axis indicates OS version information related to the use or update of memories 201a and 201b of the first SoC 20a and second SoC 20b. In the boxes showing the version information, the white box is the startup area, and the karaoke device 2 starts up using the OS in the area shown in the white box.
[0047] On the other hand, the box with the diagonal line is a non-boot area, and the karaoke device 2 uses this non-boot area to update the OS. Also, the cross mark in the box indicating "in operation" indicates that the OS written in the boot area could not be booted.
[0048] 3(a) shows an example in which both the first OS and the second OS cannot be started and the latest versions of the first OS and the second OS are being used. Note that the second area (non-startable area) of the first SoC 20a stores information on the first OS (version information (v2)), and the second area (non-startable area) of the second SoC 20b stores information on the second OS (version information (v2)).
[0049] In this case, the first SoC 20a performs recovery by changing the first OS from version information (v3) to the first OS with preset version information (v1). The second SoC 20b performs recovery by changing the second OS from version information (v3) to the second OS with preset version information (v1). The first OS and second OS with version information (v1) are stored in advance on the hard disk 29 or in the memories 201a and 201b. After the recovery, the karaoke device 2 is restarted, and both the first SoC 20a and the second SoC 20b start up with the first OS and second OS with version information (v1).
[0050] After restarting, the karaoke device 2 checks whether the version information of the first OS and the second OS used for startup match, and then queries the server device 5 to check whether the first OS and the second OS used for startup are the latest versions. In this example, it is confirmed that the version information (v1) of the first OS and the second OS used for startup match, but is older than the latest version information (v3). Therefore, the karaoke device 2 updates the first OS and the second OS using the non-startup area (in this case, the second area) of the memories 201a and 201b.
[0051] In this embodiment, the first OS (first SoC 20a), which controls communication, downloads information about the latest version (version information (v3)) of the first OS and information about the second OS to the hard disk 29. The first SoC 20a then writes the information about the latest version of the first OS stored on the hard disk 29 to the second area of the memory 201a, thereby performing an update. Meanwhile, the second SoC 20b writes the information about the latest version of the second OS stored on the hard disk 29 to the second area of the memory 201b, thereby performing an update.
[0052] After the update is complete, the karaoke device 2 switches the startup areas of the memories 201a and 201b from the first area to the second area and restarts. After the restart, the first SoC 20a executes various processes using the first OS (version information (v3)) stored in the second area of the memory 201a. Then, the second SoC 20b executes various processes using the second OS (version information (v3)) stored in the second area of the memory 201b.
[0053] In this manner, in this embodiment, by matching the version information of the first OS and the second OS, it is possible to normally perform various services provided by the karaoke device 2. Furthermore, since the first OS and the second OS are updated to the latest version information, it is also possible to provide the latest services.
[0054] 3(b) shows an example in which both the first OS and the second OS cannot be started and the first OS and the second OS are not the latest versions. Note that the second area (non-startable area) of the first SoC 20a stores information on the latest version information (v3) of the first OS, and the second area (non-startable area) of the second SoC 20b stores information on the latest version information (v3) of the second OS.
[0055] In this case, the first SoC 20a performs recovery by changing the first OS version information (v2) to version information (v1). The second SoC 20b performs recovery by changing the second OS version information (v2) to version information (v1). After recovery, the karaoke device 2 is restarted, and both the first SoC 20a and the second SoC 20b start up with the first OS and the second OS version information (v1).
[0056] Regarding the confirmation of the version information, in this example, it can be confirmed that the version information (v1) of the first OS and the second OS used for startup matches, but is older than the latest version information (v3). Therefore, the karaoke device 2 updates the first OS and the second OS using the non-startup areas (in this case, the second areas) of the memories 201a and 201b. Note that in this example, although the latest version information (v3) of the first OS and the second OS information is stored in the non-startup areas of the memories 201a and 201b before the update, the karaoke device 2 updates the first OS and the second OS information with the same version information (v3). In this way, in this embodiment, even if the first OS and the second OS are the latest versions, by updating them with the latest versions of the first OS and the second OS, reliability after restart is improved.
[0057] After the update is complete, the karaoke device 2 switches the startup areas of the memories 201a and 201b from the first area to the second area and restarts. After the restart, the first SoC 20a executes various processes using the first OS (version information (v3)) stored in the second area of the memory 201a. Then, the second SoC 20b executes various processes using the second OS (version information (v3)) stored in the second area of the memory 201b.
[0058] In this way, in this embodiment, even if the information on the first OS and the second OS of the latest version is stored in the non-startup area, the information on the first OS and the second OS of the latest version is downloaded from the server device 5 and used to perform the update, thereby improving the reliability of startup of the karaoke device 2.
[0059] 3(c) shows an example in which the second OS cannot be started and the latest versions of the first OS and second OS are being used. Note that the second area (non-startable area) of the first SoC 20a stores information on the first OS (version information (v2)), and the second area (non-startable area) of the second SoC 20b stores information on the second OS (version information (v2)).
[0060] In this case, the second SoC 20b performs recovery by changing the second OS from version information (v3) to version information (v1). After recovery, the karaoke device 2 restarts, and the first SoC 20a starts up with the first OS with version information (v3), and the second SoC 20b starts up with the second OS with version information (v1).
[0061] Regarding the confirmation of the version information, in this example, the version information of the first OS and the second OS used for activation will be different. Therefore, in order to match the version information of the first OS and the second OS, the karaoke device 2 updates the first OS and the second OS using the non-activation area (in this case, the second area) of the memory 201a, 201b. The update is to update to the latest version information (v3).
[0062] After the update is complete, the karaoke device 2 switches the startup areas of the memories 201a and 201b from the first area to the second area and restarts. After the restart, the first SoC 20a executes various processes using the first OS (version information (v3)) stored in the second area of the memory 201a. Then, the second SoC 20b executes various processes using the second OS (version information (v3)) stored in the second area of the memory 201b.
[0063] 4(d) shows an example in which the second OS cannot be started and the first OS and the second OS are not the latest versions. The second area (non-startup area) of the first SoC 20a stores the first OS with the latest version information (v3), and the second area (non-startup area) of the second SoC 20b stores the second OS with the latest version information (v3).
[0064] In this case, the second SoC 20b performs recovery by changing the second OS from version information (v2) to version information (v1). After recovery, the karaoke device 2 is restarted, and the first SoC 20a starts up with the first OS with version information (v2), and the second SoC 20b starts up with the second OS with version information (v1).
[0065] Regarding the confirmation of version information, in this example, the version information of the first OS and the second OS used for activation will be different. Therefore, in order to match the version information of the first OS and the second OS, the karaoke device 2 updates the first OS and the second OS using the non-activation area (in this case, the second area) of the memories 201a and 201b. Note that, as in the case of FIG. 3(b), the first OS information and the second OS information of the latest version information (v3) are stored in the non-activation area of the memories 201a and 201b before the update, but the update is deliberately performed using the first OS information and the second OS information of the same version information (v3).
[0066] After the update is complete, the karaoke device 2 switches the startup areas of the memories 201a and 201b from the first area to the second area and restarts. After the restart, the first SoC 20a executes various processes using the first OS (version information (v3)) stored in the second area of the memory 201a. Then, the second SoC 20b executes various processes using the second OS (version information (v3)) stored in the second area of the memory 201b.
[0067] 4(e) shows an example in which the first OS cannot be started and the latest versions of the first OS and second OS are being used. Note that the second area (non-startup area) of the first SoC 20a stores information about the first OS (version information (v2)), and the second area (non-startup area) of the second SoC 20b stores information about the second OS (version information (v2)).
[0068] In this case, the first SoC 20a performs recovery by changing the version information (v3) of the first OS to version information (v1). After the recovery, the karaoke device 2 is restarted, and the first SoC 20a starts up with the first OS with version information (v1), and the second SoC 20b starts up with the second OS with version information (v3).
[0069] In this example, the first OS and the second OS used for activation have different version information, so the karaoke device 2 updates the first OS and the second OS using the non-activation area (the second area in this case) of the memories 201a and 201b to match the version information of the first OS and the second OS.
[0070] After the update is complete, the karaoke device 2 switches the startup areas of the memories 201a and 201b from the first area to the second area and restarts. After the restart, the first SoC 20a executes various processes using the first OS (version information (v3)) stored in the second area of the memory 201a. Then, the second SoC 20b executes various processes using the second OS (version information (v3)) stored in the second area of the memory 201b.
[0071] 4(f) shows an example in which the first OS cannot be started and the first OS and the second OS are not the latest versions. The second area (non-startable area) of the first SoC 20a stores information about the first OS (version information (v3)), and the second area (non-startable area) of the second SoC 20b stores information about the second OS (version information (v3)).
[0072] In this case, the first SoC 20a performs recovery by changing the first OS from version information (v2) to version information (v1). After recovery, the karaoke device 2 reboots, whereby the first SoC 20a starts up with the first OS with version information (v1), and the second SoC 20b starts up with the second OS with version information (v2).
[0073] Regarding the confirmation of version information, in this example, the version information of the first OS and the second OS used for activation will be different. Therefore, in order to match the version information of the first OS and the second OS, the karaoke device 2 updates the first OS and the second OS using the non-activation area (in this case, the second area) of the memories 201a and 201b. Note that, as in the cases of Figures 3(b) and 4(d), information on the first OS and information on the second OS with the latest version information (v3) are stored in the non-activation area of the memories 201a and 201b before the update, but the update is deliberately performed using the first OS and the second OS with the same version information (v3).
[0074] After the update is complete, the karaoke device 2 switches the startup areas of the memories 201a and 201b from the first area to the second area and restarts. After the restart, the first SoC 20a executes various processes using the first OS (version information (v3)) stored in the second area of the memory 201a. Then, the second SoC 20b executes various processes using the second OS (version information (v3)) stored in the second area of the memory 201b.
[0075] The process examples executed by the karaoke device have been explained above using Figures 3 and 4. Next, the process for executing these process examples will be explained using a flow diagram. Figure 5 is a flow diagram showing the first OS process executed by the karaoke device of this embodiment.
[0076] The first OS process is a process executed by the first SoC 20a of the karaoke device 2. When power is supplied to the karaoke device 2 (S101: Yes), the first SoC 20a starts up using the first OS stored in a designated startup area in the memory 201a (S102).
[0077] If the startup of the first OS is confirmed (S103: Yes), the first SoC 20a notifies the second SoC 20b that the first OS has started (S104), and then confirms that the second OS has started (S106). If the startup of the first OS is not confirmed (S103: No), the first SoC 20a notifies the second SoC 20b that the first OS cannot start (S105), and the first SoC 20a performs recovery on the boot area of the memories 201a and 201b (S106). The recovery is performed by changing the first OS to the version information (v1) stored on the hard disk 29 or in the memory 201a.
[0078] After the recovery is completed, the karaoke device 2 restarts (S108) and executes the process from S102 onwards again. If the start of the second OS cannot be confirmed, that is, if the start-up NG is notified in S206 of the second OS process (S107: No), the karaoke device 2 restarts (S108).
[0079] On the other hand, if the start-up of the second OS is confirmed, that is, if the start-up OK is notified in S204 of the second OS processing described later (S107: Yes), a signal requesting version information is sent to the second OS (S109). Then, the version information is received from the second OS (S110). Furthermore, the first OS acquires version information of the first OS that is currently running.
[0080] If the acquired version information of the first OS and the version information of the second OS match (S111: Yes), the device version information is set to the version information of the first OS and the second OS. Here, the device version information is information provided to confirm whether or not to perform update processing. The device version information is provided with a value ("0" in this embodiment) that the first OS and the second OS cannot take, and if the version information of the first OS and the second OS do not match (S111: No), the device version information is set to "0" (S113).
[0081] Next, the karaoke machine 2 accesses the server 5 and acquires the latest version information from the server 5 (S114). Then, it is confirmed whether the acquired latest version information matches the machine version information (S115). If they match (S115: Yes), the first SoC 20a starts providing services as the karaoke machine 2 (S116). On the other hand, if they do not match (S115: No), the first SoC 20a executes the update process (S150).
[0082] After starting the service provision, the first SoC 20a continues to provide the service until a shutdown request is received (S117: Yes). If a shutdown request is received (S117: Yes), the first SoC 20a executes the shutdown process (S118) and ends the process.
[0083] 6 is a flow diagram showing the update process executed by the karaoke apparatus of this embodiment. When the update process (S150) starts, the first SoC 20a displays an update screen on the monitor 41 (S151). Then, the first SoC 20a obtains the latest first OS information and second OS information from the server device 5 and writes them to the hard disk 29 (S152).
[0084] The first SoC 20a then instructs itself and the second SoC 20b to perform an update using the latest first OS information and second OS information written to the hard disk 29 (S153). Based on the update instruction, the first SoC 20a reads the latest first OS information from the hard disk 29 and writes it to a non-boot area of the memory 201a (S154). The first SoC 20a then receives the update result from the second SoC 20b (S155).
[0085] If the updates of the first OS and the second OS are not completed in the first SoC 20a and the second SoC 20b (S157: No), the first SoC 20a executes a retry (S158) and repeats the processes of S152 to S155 a predetermined number of times (for example, three times). Although not shown in the flowchart, if the updates of the first OS and the second OS are not completed even after the retry (S158) is repeated a predetermined number of times, the retry (S158) is interrupted and an error screen is displayed on the monitor 41.
[0086] On the other hand, if the update of the first OS and the second OS is completed (S157: Yes), the first SoC 20a displays an update completion screen on the monitor 41 (S159). Then, the first SoC 20a instructs itself and the second SoC 20b to swap the active and non-active areas of the memories 201a and 201b (S160) and restarts them (S161). When the update process (S150) described above is completed, the processes from S102 onwards in FIG. 5 are executed. If the first OS and the second OS have been successfully started, the service on the karaoke device 2 is started.
[0087] FIG. 7 is a flowchart showing the second OS process executed by the karaoke device of this embodiment. The second SoC 20b executes the second OS process. In the second OS process, when power is supplied to the karaoke device 2 (S201: Yes), the second SoC 20b starts booting up using the information of the second OS stored in the designated boot area in the memory 201b (S202).
[0088] If the second SoC 20b confirms that the second OS has started (S203: Yes), the second SoC 20b notifies the first SoC 20a that the second OS has started (S204). On the other hand, if the second OS cannot start on the second SoC 20b (S203: No), the second SoC 20b executes recovery on the boot area of the memory 201b (S205). The recovery is performed by changing the second OS from the version information currently running to the second OS with preset version information (v1) stored on the hard disk 29 or in the memory 201b. Thereafter, the second SoC 20b notifies the first SoC 20a that the second OS could not start (S206).
[0089] If the startup of the first OS is confirmed, i.e., if the startup OK is notified in S104 of the first OS processing (S207: Yes), the second SoC 20b waits for a request for version information from the first SoC 20a (S208). On the other hand, if the startup of the first OS is not confirmed, i.e., if the startup NG is notified in S105 of the first OS processing (S207: No), the process returns to S202. If there is a request for version information from the first SoC 20a (S208: Yes), the second SoC 20b notifies the first SoC 20a of the version information of the currently running second OS (S209).
[0090] Thereafter, if the first SoC 20a is providing a service (S210: Yes), the second SoC 20b starts providing the service (S211). After starting the service, the second SoC 20b continues providing the service until a shutdown request is received (S212: Yes). If a shutdown request is received (S212: Yes), the second SoC 20b executes a shutdown process (S213) and ends the process.
[0091] On the other hand, if an update instruction is received from the first SoC 20a (S214: Yes), the second SoC 20b reads the latest second OS information stored on the hard disk 29 and writes it to the non-startup area of the memory 201b (S215). Then, the second SoC 20b notifies the first OS of the update result (S216). Furthermore, if an update instruction is received from the first SoC 20a to swap the startup area and non-startup area (S217: Yes), the second SoC 20b swaps the startup area and non-startup area of the memory 201b (S218) and restarts (S219).
[0092] 5 to 7 on the first SoC 20a and the second SoC 20b, it is possible to realize the processes in the various states described in FIGS. 3 and 4. In particular, in this embodiment, after the karaoke device 2 is started, the version information of the first OS executed on the first SoC 20a and the version information of the second OS executed on the second SoC 20b are matched, thereby enabling the services provided by the karaoke device 2 to be performed normally. Furthermore, in this embodiment, it is also possible to provide the latest services on the karaoke device 2 by updating the first OS and the second OS to the latest versions.
[0093] The present invention is not limited to the above-described embodiment, and various modifications can be adopted. Various modifications will be described below.
[0094] [First Modification] In the above-described embodiment, whether the version information of the first OS and the version information of the second OS are in an appropriate correspondence relationship (predetermined correspondence relationship) is determined based on whether the version information of both OSs matches. However, other methods may be used to determine whether the version information of the first OS and the version information of the second OS are in an appropriate correspondence relationship.
[0095] 8 is a diagram showing a version update table (corresponding to a "reference table") used in the first modified example. The version update table is a table in which, when an update is made to the first OS or the second OS, the version information of the first OS and the version information of the second OS are recorded in association with the update date. Note that the version update table does not necessarily need to record the update date, as long as it shows the chronological correspondence between the version information of the first OS and the version information of the second OS.
[0096] By storing this version update table in the server device 5 or the hard disk 29 of the karaoke device 2, the karaoke device 2 can refer to the version update table and determine whether the version information of the first OS and the version information of the second OS are in an appropriate relationship. For example, as of 2024 / 09 / 02 (latest), it can be seen that the version information of the first OS (v5) and the version information of the second OS (v12) are in an appropriate correspondence relationship.
[0097] [Second Modification] In the above embodiment, the first OS and the second OS have been described as examples. In a karaoke device 2 using two OSs, it is conceivable that not only the OSs but also the programs running on each OS will be updated. Therefore, not only the first OS and the second OS, but also the first program group running on the first OS or the second program group running on the second OS may be subject to recovery and update.
[0098] Here, a set including at least one of the first OS or the first program group running on the first OS will be referred to as a first program set, and a set including at least one of the second OS or the second program group running on the second OS will be referred to as a second program set. Recovery and updating may be performed not only when the first OS or the second OS does not start, but also when a program running on the first OS or the second OS does not start or has a malfunction.
[0099] In addition, in the above-described embodiment, recovery and updating are performed automatically on the condition that the first OS and the second OS are not started, but these may also be performed manually by a service technician.
[0100] [Third Modification] In the above-described embodiment, even if the version information matches and the latest first OS and second OS information is stored in the non-startup area, the first OS and second OS stored in the non-startup area are updated. The update is not limited to this form, and if the latest first OS and second OS information is stored in the non-startup area, the stored first OS and second OS may be used as is. Also, if only one of the non-startup areas is the latest (for example, the first OS is the latest), only the non-latest one (the second OS) may be updated.
[0101] Furthermore, if the version information of the first OS and the second OS has an appropriate relationship (a predetermined correspondence), the karaoke device 2 may operate normally even if the version is old. Therefore, if the version information of the first OS and the second OS has an appropriate relationship after recovery, there is no need to perform an update.
[0102] For example, in the case of Figure 3(a), at the time of recovery, the first OS with version information (v2) is stored in the non-boot area of the first SoC 20a, and the second OS with version information (v2) is stored in the non-boot area of the second SoC 20b. Therefore, after recovery, the non-boot area may be changed to the boot area without performing an update, and both the first OS and the second OS may be used with version information (v2). Furthermore, even if an update is performed, it is not necessary to update to the latest first OS and second OS.
[0103] [Fourth Modification] In the above-described embodiment, the first OS runs on the first SoC 20a and the second OS runs on the second SoC 20b. In addition to this configuration, the first OS and the second OS may run on a single control unit.
[0104] In the above embodiment, the karaoke machine 2 has been taken as an example for explanation, but the present invention is not limited to the karaoke machine 2 and can be applied to various information processing devices that operate using multiple OSs. In addition, programs for information processing devices that are executed by various information processing devices, including the karaoke machine 2, and that realize the functions of the present invention also fall within the scope of the present invention. [Explanation of symbols]
[0105] 1: Remote control device 20b: Second SoC 2: Karaoke device 201a, 201b: Memory 5: Server device 21: Infrared communication unit 11: Touch panel monitor 22: LED 11a:Display section 23:Operation section 11b: Touch panel 25: Sound control unit 12: Video RAM 26: Microcomputer 13: Video control unit 27: Internal LAN hub 14: Memory 28: Switch 15:CPU 29:Hard disk 16: Wireless LAN communication unit 41: Monitor 17: Operation unit 42: Speaker 18: Operation processing unit 43a, 43b: Microphone 20a: First SoC 130: Access point
Claims
1. An information processing apparatus that operates based on a first OS and a second OS, a storage unit that stores a first program set and a second program set; the first program set includes at least one of a first OS and a first program group that runs on the first OS; the second program set includes at least one of a second OS and a second program group that runs on the second OS; a recovery process for making at least one of the first program set and the second program set operable; After the recovery process is executed, an update process is executed to update the version information of the first program set and the version information of the second program set so that they have a predetermined correspondence relationship. Information processing device.
2. The first program set operates in the first control unit, The second program set operates in the second control unit. The information processing device according to claim 1 .
3. The update process updates the version information of the first program set so that it matches the version information of the second program set. The information processing device according to claim 1 .
4. The update process refers to the reference table and updates the version information of the first program set so that it matches the version information of the second program set. The information processing device according to claim 1 .
5. The update process updates the version information of the first program set and the version information of the second program set so that they have a predetermined correspondence and are up to date. The information processing device according to claim 1 .
6. The update process updates at least one of the first program set and the second program set. The information processing device according to claim 1 .
7. The recovery process is executed when an operation is performed on the input means of the information processing device, or when the first OS or the second OS does not start. The information processing device according to claim 1 .
8. the storage unit has a plurality of storage areas for each of the first program set and the second program set; The update process updates the first program set or the second program set using a storage area different from the storage area in which the first program set or the second program set was changed to an operable state in the recovery process. The information processing device according to claim 1 .
9. The update process includes a version acquisition process and an update instruction process. The version determination process includes the first OS requesting version information from the second OS and acquiring the version information; The update instruction process includes the first OS determining whether or not an update of the second OS is necessary based on the acquired version information, and transmitting an update instruction to the second OS if an update of the second OS is necessary. The information processing device according to claim 1 .
10. The update process includes the first OS acquiring information necessary for updating the first program set and the second program set from the server device and storing the information in the storage unit. The information processing device according to claim 1 .
11. The information processing device is a karaoke device. The information processing device according to claim 1 .
12. A program for an information processing device executed by an information processing device that operates based on a first OS and a second OS, a storage unit that stores a first program set and a second program set; the first program set includes at least one of a first OS and a first program group that runs on the first OS; the second program set includes at least one of a second OS and a second program group that runs on the second OS; a recovery process for making the first program set or the second program set operable; After the recovery process is executed, an update process is executed to update the version information of the first program set and the version information of the second program set so that they have a predetermined correspondence relationship. A program for an information processing device.
Citation Information
Patent Citations
Recovery management device
JP2007304768A