Information processing device, information processing method, and program
The information processing device maintains functionality integrity by using a sub-board to store additional function information, preventing added functions from becoming unusable due to circuit board replacement or software downgrade, thus ensuring sustainable billing schemes.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SHARP KK
- Filing Date
- 2023-01-25
- Publication Date
- 2026-07-30
AI Technical Summary
High-performance devices face issues where added functionality becomes unusable due to circuit board replacement or software downgrade, leading to unsustainable billing schemes.
An information processing device with a main board and a sub-board that stores additional function information, allowing the main board to control operations based on the sub-board's information, ensuring added functions are supported and preventing unrestricted execution upon board replacement or software downgrade.
Prevents added functions from becoming unusable by maintaining functionality integrity through board replacement or software downgrade, ensuring billing schemes remain sustainable.
Smart Images

Figure 0007897963000001 
Figure 0007897963000002 
Figure 0007897963000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, an information processing method, and a program.
Background Art
[0002] By upgrading the software installed in a device such as an electronic device, functions supported by the device or services provided by the device may be added (for example, Patent Document 1). As functions added in this way, for example, there is a function for implementing a charging scheme. In the charging scheme, for example, the execution of some processing in the device is restricted according to the charging situation, and it cannot be executed when no charge is made, and it is controlled so that the processing can be executed when a charge is made. Alternatively, in the charging scheme, the execution time is measured so that a price corresponding to the time when a specific process is executed can be recovered in a charging format. Such a charging scheme is applied to, for example, a business model in which a high-function device is sold at a low price to promote sales and funds are recovered according to subsequent charges.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, high-performance devices have long maintenance periods, and the circuit boards installed in the devices may fail and be replaced during these periods. If, as a result of the circuit board replacement, the software version installed on the replacement circuit board is older than the one previously installed, it is conceivable that the functions of the billing scheme that was previously applied to the device will no longer be recognized or supported. In this case, regardless of whether billing is performed or not, restrictions that were imposed on specific processes in the device may be lifted, and the billing scheme may become unsustainable. Furthermore, even if the circuit board is not replaced, if the software installed on the device is downgraded by the user or others, the billing scheme may also become unsustainable. Therefore, it was necessary to be able to deal with situations where the billing scheme that was previously applied to the device becomes unsustainable due to circuit board replacement or software downgrade.
[0005] In view of the above-mentioned problems, the present invention aims to provide an information processing device, an information processing method, and a program that can address situations where, after adding functionality by upgrading the software installed in an electronic device or the like, the added functionality becomes unusable due to the replacement of the circuit board or the downgrade of the software. [Means for solving the problem]
[0006] One aspect of the present invention is an information processing apparatus comprising a main board and a sub-board capable of communicating with the main board, wherein the sub-board has a sub-storage unit that stores additional information indicating whether or not additional functions corresponding to an update of a program executed on the main board have been added, and the main board has a main storage unit that stores the program, an acquisition unit that acquires the additional information stored in the sub-board when the information processing apparatus is started, and an operation control unit that controls the operation of the information processing apparatus to be restricted if the additional information acquired by the acquisition unit indicates that the additional functions have been added and it is determined that the additional functions are not supported based on the version of the program.
[0007] Furthermore, one aspect of the present invention is an information processing method performed by a computer which is an information processing device comprising a main board and a sub-board capable of communicating with the main board, wherein the sub-board has a sub-storage unit that stores additional information indicating whether or not additional functions corresponding to updates of a program executed on the main board have been added or not, and the main board has a main storage unit that stores the program, wherein an acquisition unit of the main board acquires the additional information stored in the sub-board when the information processing device is started up, and the operation control unit of the main board controls the operation of the information processing device to be restricted if the additional information acquired by the acquisition unit indicates that the additional functions have been added and the operation control unit determines that the additional functions are not supported based on the program version.
[0008] Furthermore, one aspect of the present invention is a program that causes a computer, which is an information processing device having a main storage unit that stores the program, to acquire the additional information stored in the subboard when the information processing device is started up, and if the acquired additional information indicates that the additional function has been added and it is determined that the additional function is not supported based on the version of the program, the operation of the information processing device is restricted. [Effects of the Invention]
[0009] According to the present invention, when a function is added by upgrading the software installed in an electronic device or the like, it is possible to address the situation where the added function becomes unusable due to the replacement of the circuit board or the downgrade of the software. [Brief explanation of the drawing]
[0010] [Figure 1] This figure shows an example of the hardware configuration of an information processing device in an embodiment. [Figure 2] This figure shows an example of information stored on the sub-board in the first embodiment. [Figure 3] This figure shows an example of additional information in the first embodiment. [Figure 4] This is a flowchart showing the processing flow performed by the operation control unit in the first embodiment. [Figure 5] This is a flowchart showing the processing flow performed by the operation control unit in the first embodiment. [Figure 6] This figure shows the basic configuration of the information processing device in the embodiment. [Figure 7] This figure shows an example of information stored on the sub-board in the second embodiment. [Figure 8] This figure shows an example of additional information in the second embodiment. [Figure 9] This is a flowchart showing the processing flow performed by the operation control unit in the second embodiment. [Figure 10] This is a flowchart showing the processing flow performed by the operation control unit in the second embodiment. [Modes for carrying out the invention]
[0011] The following describes one embodiment of the present invention.
[0012] Figure 1 shows an example of the hardware configuration of the information processing device 1 in the first embodiment. The information processing device 1 is a computer equipped with the function of processing information. For example, the information processing device 1 can be an image display device, a personal computer, a tablet terminal, a smartphone, or a mobile phone.
[0013] The information processing device 1 includes, for example, a main board 10 and a sub-board 20.
[0014] The main board 10 performs the functions of the information processing device 1. The main board 10 comprises a CPU 11, a ROM 12, and a RAM 13. These elements (CPU 11, ROM 12, and RAM 13) are connected to each other so as to be able to communicate with one another via a bus or the like. In other words, the CPU 11, ROM 12, and RAM 13 are implemented on the main board 10 in a way that allows them to communicate with each other.
[0015] The ROM 12 is a read-only memory (Read-Only Memory) that stores programs for executing the functions of the information processing device 1. The ROM 12 in the present embodiment is a programmable ROM and can rewrite information using a dedicated writing device (ROM writer). For example, the ROM 12 is a NOR-type or NAND-type flash memory. The RAM 13 is a readable and writable memory (Random Access Memory) that stores working data used when the CPU 11 executes processing. The CPU 11 executes the programs stored in the ROM 12 and stores temporary data used when executing the programs in the RAM 13.
[0016] The sub-board 20 includes an EEPROM 21. The EEPROM 21 is connected to be mutually communicable with the main board 10 via a communication interface such as I2C. That is, the EEPROM 21 is mounted on the sub-board 20 so as to be communicable with the main board 10.
[0017] The EEPROM 21 is an electrically erasable programmable read-only memory, which is a rewritable non-volatile memory. The EEPROM 21 stores the information notified from the main board 10 according to the control by the main board 10. Also, the EEPROM 21 outputs the information stored in the EEPROM 21 to the main board 10 according to the control.
[0018] Here, the information stored in the sub-board 20 will be described using FIGS. 2 and 3. FIGS. 2 and 3 are diagrams showing examples of the information stored in the EEPROM 21 of the sub-board 20 in the first embodiment.
[0019] As shown in FIG. 2, information necessary for maintaining the information processing device 1, such as information regarding SN (serial number), usage time, license, etc., is written in the EEPROM 21.
[0020] In this embodiment, a specific region 21A is further reserved in the EEPROM 21, and information regarding additional functions (additional information 202, described later) can be written to the specific region 21A.
[0021] The additional functionality here is added by upgrading the program stored in the ROM 12 of the main board 10, and is, for example, a function to implement a billing scheme.
[0022] In the billing scheme, the execution of processes (hereinafter referred to as "target processes") that realize all or part of the functions provided by the information processing device 1 is controlled according to the billing status. In this case, for example, the billing scheme is controlled so that target processes are not executed when no billing has occurred, and are executed when billing has occurred. Alternatively, the billing scheme determines the amount of time that can be used to execute target processes according to the amount billed. In this case, when a target process is executed, its execution time is measured, and the system is controlled so that the target process continues to run until the remaining balance of the billing, i.e., the amount billed minus the cost equivalent to the execution time, reaches 0 (zero).
[0023] Here, the main board 10 has a more complex circuit configuration and a larger number of components mounted on it compared to the other boards mounted on the information processing device 1. For this reason, the risk of the main board 10 needing to be replaced due to a failure of any component or circuit on the main board 10 is considered to be higher than that of the other boards.
[0024] From this perspective, the main board 10 may be replaced during the maintenance period of the information processing device 1. If the main board 10 is replaced, and the version of the program stored in the ROM 12 of the replaced main board 10 is older than the one previously implemented, the functions of the billing scheme that was previously applied to the device may no longer be recognized or supported, potentially allowing the target process to be executed indefinitely even though no billing is occurring.
[0025] As a countermeasure, the information processing device 1 of this embodiment is configured to store information related to additional functions on a board (sub-board 20) that is physically different from the main board 10.
[0026] Specifically, information regarding additional functions is stored in a specific area 21A of the EEPROM 21 on the sub-board 20. This allows the system to control the execution of target processes so that they are not executed indefinitely, even if the main board 10 is replaced and the functions of the billing scheme are no longer recognized or supported, based on the information regarding additional functions (in this case, functions of the billing scheme) stored in the specific area 21A.
[0027] Figure 3 shows an example of information stored in a specific area 21A of the EEPROM 21. As shown in the example in Figure 3, for example, a 1-byte (8-bit) storage area is allocated as the specific area 21A.
[0028] This section presents an example where eight functions (referred to as Add1 to Add8) are anticipated to be added in the future during the manufacturing of the information processing device 1. Furthermore, it is assumed that, regardless of the program version, a unified specification is applied to ensure that the eight functions (Add1 to Add8) are mapped to each bit of one byte (8 bits) in a specific area 21A in the program stored in the ROM 12 of the main board 10.
[0029] As shown in the example in Figure 3, for example, each bit of a byte (8 bits) in a specific region 21A stores binary information indicating whether or not an additional function associated with that bit has been added.
[0030] Specifically, during the manufacturing of the information processing device 1, each bit in the specific area 21A is initially set to "0 (zero)" as the default value, indicating that no additional functions have been added. Subsequently, when the program is updated and additional functions are added in the updated program, the bit corresponding to the added additional function in the specific area 21A is written to "1" to indicate that the additional function has been added.
[0031] More specifically, bit0 in area 21A is initially set to "0 (zero)" as the default value, indicating that the additional function Add1 has not yet been added. If the additional function Add1 is added in a subsequent program update, bit0 in area 21A will be set to "1" to indicate that the additional function Add1 has been added.
[0032] Furthermore, bit1 in specific area 21A is initially set to "0 (zero)" as the default value, indicating that the additional function Add2 has not yet been added. If the additional function Add2 is added in a subsequent program update, bit1 in specific area 21A will be set to "1" to indicate that the additional function Add2 has been added. The same applies to the other bits (bits 2 to 7).
[0033] Here, the processing flow performed by the information processing device 1 will be explained using Figures 4 and 5. Figures 4 and 5 are flowcharts showing the processing flow performed by the information processing device 1 of the first embodiment.
[0034] Figure 4 shows the flow of processing performed by the information processing device 1 when it is restarted after a software update, for example, when the information processing device 1 is restarted immediately after the software has been updated.
[0035] The information processing device 1 reads a specific area 21A of the sub-board 20 (step S10). At startup, the information processing device 1 refers to the EEPROM 21 on the sub-board 20 and obtains 8 bits of information (additional information 202) stored in the specific area 21A of the EEPROM 21. The information processing device 1 also sets the internal variable x to an initial value of 0 (zero) (step S11).
[0036] The information processing device 1 determines whether or not it supports the additional function associated with the bit (bitx) corresponding to the variable x in a specific area 21A (step S12). The information processing device 1 obtains the version of the program stored in the ROM 12 and determines whether or not it supports the additional function based on the obtained version. For example, if the obtained version is the version of the program that includes the additional function, the information processing device 1 determines that it supports the additional function. On the other hand, if the obtained version is not the version of the program that includes the additional function, the information processing device 1 determines that it does not support the additional function.
[0037] If additional functions are supported, the information processing device 1 determines whether the initial value "0" is set in bit x of a specific area 21A (step S13). If an initial value is set in bit x, the information processing device 1 writes "1" to bit x to indicate that the additional functions have been added and stores it (step S14).
[0038] The information processing device 1 determines the value set in variable x (step S15), and if the value set in variable x is less than 7, that is, (x < 7), it increments variable x by 1 (step S16) and executes the process shown in step S12.
[0039] On the other hand, if the information processing device 1 does not support the additional function associated with bitx of the specific area 21A in step S12, and if "1" is set in bitx of the specific area 21A in step S13 to indicate that the additional function has already been added, the information processing device 1 executes the process shown in step S15.
[0040] Furthermore, if a value of 7 or greater is set for variable x in step S15, the process is terminated.
[0041] Figure 5 shows the processing flow performed by the information processing device 1 when the software is started. The processes shown in steps S20 and S21 in Figure 5 are the same as the processes shown in steps S10 and S11 in Figure 4, so their explanation is omitted.
[0042] The information processing device 1 determines whether bit x in the specific area 21A is set to "1" and whether the information processing device 1 supports the additional function (step S22). The method by which the information processing device 1 determines whether the information processing device 1 supports the additional function is the same as the method used in the process shown in step S12.
[0043] If bitx is set to "1" and the information processing device 1 supports the additional function, the information processing device 1 determines the value set in variable x (step S23), and if the value set in variable x is less than 7, that is, (x < 7), it increments variable x by 1 (step S24) and executes the process shown in step S22.
[0044] On the other hand, if bitx is set to "1" but the information processing device 1 does not support that additional function, the information processing device 1 restricts its own operation (step S25) and terminates the process. For example, the information processing device 1 controls itself so that it cannot be powered on, preventing it from starting up. In this way, the additional function added to the information processing device 1 is prevented from being arbitrarily set to "not added" due to replacement of the main board 10, etc., which would cause the billing scheme and other functions to stop working.
[0045] Here, if bitx is set to "1" but the information processing device 1 does not support the additional function, the information processing device 1 does not execute the process of writing "0" to bitx. In other words, after writing "1" to bitx, the operation control unit 103 does not execute the process of returning bitx to its initial value of "0", regardless of whether the program written to ROM 12 supports the additional function or not. This causes an inconsistency to occur between the program written to ROM 12 and the additional information written to the specific area 21A if the additional function is no longer supported, such as when the circuit board is replaced. Therefore, the information processing device 1 can detect that an additional function that was previously executable is no longer supported when the additional function is no longer supported, such as when the circuit board is replaced.
[0046] Furthermore, if bit x is set to "0" in step S22 and the information processing device 1 does not support the additional function corresponding to bit x, the information processing device 1 proceeds to step S23. Also, if bit x is set to "0" in step S22 and the information processing device 1 supports the additional function, the information processing device 1 writes "1" to bit x and stores it, similar to step S14, and proceeds to step S23.
[0047] This makes it possible to control the information processing device 1 so as not to start up if an inconsistency occurs, such as when the main board 10 is replaced and the information processing device 1 does not support the additional function, even though it is indicated that an additional function has been added to a specific area 21A. Therefore, even if an additional function such as a billing scheme that was previously applied to the information processing device 1 is no longer supported due to the replacement of the main board 10, it is possible to prevent a situation where the target process subject to billing can be executed indefinitely.
[0048] Figure 6 shows the basic configuration of the information processing device 1 according to the present invention. The information processing device 1 comprises a main board 10 and a sub-board 20.
[0049] The sub-board 20 includes a sub-storage unit 201. The sub-storage unit 201 corresponds to an EEPROM 21. The sub-storage unit 201 stores additional information 202. The additional information 202 is information indicating whether additional functions have been added or not in accordance with updates to the program executed on the main board 10. In other words, the sub-board 20 has a sub-storage unit 201 that stores additional information 202 indicating whether additional functions have been added or not in accordance with updates to the program executed on the main board 10.
[0050] The main board 10 comprises a main storage unit 101, an acquisition unit 102, and an operation control unit 103. The main storage unit 101 corresponds to the ROM 12. The main storage unit 101 stores the program to be executed on the main board 10.
[0051] The acquisition unit 102 and the operation control unit 103 are realized when the CPU 11 executes a program stored in the main memory unit 101. The acquisition unit 102 acquires additional information 202 stored in the sub-board 20 when the information processing device 1 is started. If the additional information 202 acquired by the acquisition unit 102 indicates that an additional function has been added, and the operation control unit 103 determines that the additional function is not supported based on the version of the program stored in the main memory unit 101, it controls the information processing device 1 not to start.
[0052] As described above, the information processing device 1 according to the first embodiment is a device comprising a main board 10 and a sub-board 20 that can communicate with the main board 10. The sub-board 20 has a sub-storage unit 201 that stores additional information 202 indicating whether additional functions have been added or not in accordance with updates to the program executed on the main board 10. The acquisition unit 102 acquires the additional information 202 stored in the sub-board 20 when the information processing device 1 is started up. If the additional information 202 acquired by the acquisition unit 102 indicates that additional functions have been added, and the operation control unit 103 determines that the additional functions are not supported based on the version of the program stored in the main storage unit 101, it controls the operation of the information processing device 1 to be restricted.
[0053] As a result, in the information processing device 1 of the first embodiment, additional information 202 can be stored on a sub-board 20, which is a physically different board from the main board 10. If the additional function is no longer supported due to the replacement of the main board 10, it is possible to detect that the additional function is no longer supported by creating an inconsistency between the information stored in the additional information 202 and the function supported by the program of the main board 10. Furthermore, even if the additional function was added through an update, if the additional function is no longer supported due to a subsequent board replacement, the operation of the information processing device 1 can be controlled to be restricted, for example, by preventing the information processing device 1 from starting up. Therefore, when a function is added by upgrading the software installed on an electronic device or the like, it is possible to suppress situations in which the information processing device 1 starts up without the additional function (for example, a function related to the billing scheme) being executed due to the board being replaced or the software being downgraded.
[0054] Furthermore, in the information processing device 1 according to the first embodiment, the additional information 202 is initially set to indicate that no additional functions have been added. The operation control unit 103, if the additional information 202 acquired by the acquisition unit 102 indicates that no additional functions have been added, and if a program supporting those additional functions has been written to the main storage unit 101, executes an update process to rewrite the additional information 202 to indicate that the additional functions have been added. This makes it possible to reflect the addition of additional functions in the additional information 202 when the program is updated and additional functions are added.
[0055] Furthermore, in the information processing device 1 according to the first embodiment, an update process is performed when the information processing device 1 is restarted after the program has been updated. This makes it possible to quickly reflect any additional functions added as a result of the program update in the additional information 202.
[0056] Furthermore, in the information processing device 1 according to the first embodiment, when the operation control unit 103 stores information indicating that an additional function has been added in the additional information 202, it stores information indicating either the additional function has been added or not, as a binary value. For example, when the operation control unit 103 stores information indicating that an additional function has been added in the additional information 202, if the additional function associated with each bit in the specific area 21A has been added, it stores a "1" in that bit to indicate that it has been added. On the other hand, if the additional function has not been added, that is, if it has not been added, it stores a "0 (zero)" in that bit to indicate that it has not been added. As a result, in the information processing device 1 according to the first embodiment, it is possible to indicate whether an additional function has been added or not, as a binary value, and it is possible to store appropriate information as additional information 202 without increasing the memory capacity reserved as the specific area 21A.
[0057] A second embodiment will now be described. In this embodiment, a 32-byte (4-byte x 8) storage area is reserved as a specific area 21B. When additional functions are added, the version of the program supporting each of the additional functions Add1 to Add8 is written to the specific area 21B. This makes it possible to prompt the restoration of the additional functions even if inconsistencies occur with the previous state, such as when the main board 10 is replaced, by presenting the version of the program written to the specific area 21B.
[0058] Figures 7 and 8 show examples of information stored in the EEPROM 21 of the sub-board 20 in the second embodiment.
[0059] As shown in the example in Figure 7, a 32-byte (4-byte x 8) memory area is allocated as a specific area 21B. The specific area 21B is divided into eight areas of 4 bytes each, and each area is allocated to write information about the additional function, specifically the version of the program that supports the additional function.
[0060] As shown in the example in Figure 8, for example, in the 32-byte area in a specific region 21B, the version of the program that supports the additional function associated with each 4-byte area is stored in each 4-byte area.
[0061] Specifically, during the manufacturing of the information processing device 1, each 4-byte area in the specific area 21B is initially set to "0xFFFFFFFF," which indicates that no additional functions have been added. Subsequently, when the program is updated and additional functions are added in the updated program, a value different from the initial value (default), specifically the version of the updated program (the program that supports the additional functions), is written to the 4-byte area in the specific area 21B corresponding to the added additional functions, indicating that the additional functions have been added.
[0062] More specifically, the first four bytes (1st 4 bytes) in the specific area 21B are initially set to "0xFFFFFFFF" as the default value, indicating that the additional function Add1 has not yet been added. If the additional function Add1 is added in a subsequent version upgrade of the program, information indicating the version of the upgraded program (the program that supports the additional function), such as "0x31, 0x2E, 0x32, 0x33" representing the version in ASCII code, is written to the (1st 4 bytes) in the specific area 21B. In other words, information indicating that the version is "1.23" is set.
[0063] Furthermore, the second four bytes (2nd 4 bytes) in specific area 21B are initially set to "0xFFFFFFFF" as the default value, indicating that the Add2 feature has not yet been added. If the Add2 feature is added in a subsequent program update, information indicating the version of the updated program (the program that supports the additional feature), such as "0x32, 0x2E, 0x30, 0x30" representing the version in ASCII code, is written to the (2nd 4 bytes) in specific area 21B. In other words, information indicating that the version is "2.00" is set. The same applies to the other four-byte areas (3rd 4 bytes, 4th 4 bytes, 5th 4 bytes, 6th 4 bytes, 7th 4 bytes, and 8th 4 bytes).
[0064] Here, the processing flow performed by the information processing device 1 will be explained using Figures 9 and 10. Figures 9 and 10 are flowcharts showing the processing flow performed by the information processing device 1 in the second embodiment.
[0065] Figure 9 shows the processing flow performed by the information processing device 1 when it is restarted after a software update, for example, when the information processing device 1 is restarted immediately after the software has been updated.
[0066] The information processing device 1 reads a specific area 21B of the sub-board 20 (step S30). At startup, the information processing device 1 refers to the EEPROM 21 on the sub-board 20 and obtains 32 bytes of information (additional information 202) stored in the specific area 21B of the EEPROM 21. The information processing device 1 also sets the internal variable x to an initial value of 0 (zero) (step S31).
[0067] The information processing device 1 determines whether or not it supports the additional function associated with the x-th 4 bytes in a specific area 21B (for example, the 1st 4 bytes when x=0, the 2nd 4 bytes when x=1, etc.) (step S32). The method for determining whether or not the information processing device 1 supports the additional function is the same as in step S12, so its explanation is omitted.
[0068] If additional functions are supported, the information processing device 1 determines whether a value indicating that additional functions have been added, i.e., a value different from the initial value (0xFFFFFFFF), is set in the x-th 4 bytes (step S33). If the initial value is set in the x-th 4 bytes, the information processing device 1 writes and stores the version of the program that has been updated in the x-th 4 bytes (step S34).
[0069] The information processing device 1 determines the value set in variable x (step S35), and if the value set in variable x is less than 7, that is, (x < 7), it increments variable x by 1 (step S36) and executes the process shown in step S32.
[0070] On the other hand, if the information processing device 1 does not support the additional function associated with the x-th 4 bytes in step S32, and if a value different from the initial value is set for the x-th 4 bytes in step S33, the information processing device 1 executes the process shown in step S35.
[0071] Furthermore, if a value of 7 or greater is set for variable x in step S35, the process is terminated.
[0072] Figure 10 shows the flow of processing performed by the information processing device 1 when the software is started. The processes shown in steps S40 and S41 in Figure 10 are the same as the processes shown in steps S30 and S31 in Figure 9, so their explanation is omitted.
[0073] The information processing device 1 determines whether a value different from the initial value (0xFFFFFFFF) (the program version) is set in the x-th 4 bytes of a specific area 21B, and whether the information processing device 1 supports that additional function (step S42). The method by which the information processing device 1 determines whether or not it supports the additional function is the same as the method used in the process shown in step S12.
[0074] If the x-th 4 bytes contain a value different from the initial value (the program version), and the information processing device 1 supports this additional function, the information processing device 1 determines the value set in variable x (step S45). If the value set in variable x is less than 7, i.e., (x < 7), it increments variable x to increase the set value of variable x by 1 (step S46), and executes the process shown in step S42.
[0075] On the other hand, if a value different from the initial value (program version) is set in the x-th 4 bytes, but the information processing device 1 does not support that additional function, the information processing device 1 restricts its operation (step S43). For example, the information processing device 1 controls itself so that it cannot be powered on or otherwise prevented from starting up. The information processing device 1 retrieves the program version information (version information) stored in the x-th 4 bytes (step S44). The information processing device 1 proceeds to step S45.
[0076] Here, if a value different from the initial value (the program version) is set in the x-th 4 bytes, but the information processing device 1 does not support that additional function, the information processing device 1 does not execute the process of writing the initial value to the x-th 4 bytes. In other words, after the operation control unit 103 writes the "program version" to the x-th 4 bytes, it does not execute the process of returning the x-th 4 bytes to the initial value "0xFFFFFFFF", regardless of whether the program written to ROM 12 supports the additional function or not. This causes an inconsistency to occur between the program written to ROM 12 and the additional information written to the specific area 21B if the additional function is no longer supported, such as when the circuit board is replaced. Therefore, the information processing device 1 can detect that an additional function that was previously executable is no longer supported when the additional function is no longer supported, such as when the circuit board is replaced.
[0077] Furthermore, if an initial value is set in the x-th 4 bytes in step S42 and the information processing device 1 does not support the additional function corresponding to the x-th 4 bytes, the process proceeds to step S45. Also, if an initial value is set in the x-th 4 bytes in step S42 and the information processing device 1 supports the additional function, the information processing device 1 writes the version of the program stored in ROM 12 to the x-th 4 bytes, similar to step S34, and proceeds to step S45.
[0078] On the other hand, in step S45, if a value of 7 or greater is set for variable x, the information processing device 1 determines whether the version information obtained in step S44 exists, that is, whether it is a released version (step S47). If the version information obtained in step S44 exists, the information processing device 1 displays the latest version among the versions obtained in step S44 (step S48) and terminates the process. For example, the information processing device 1 displays the latest version on a display device (not shown) by outputting information indicating the latest version to the display device. At this time, the information processing device 1 may also display a comment indicating that the software cannot be started because it has been downgraded, along with the information indicating the latest version.
[0079] On the other hand, if in step S47 the version information obtained in step S44 does not exist, the information processing device 1 terminates the process.
[0080] As described above, in the information processing device 1 according to the second embodiment, when the operation control unit 103 stores information in the additional information 202 indicating that an additional function has been added, it stores the version of the program that supports that additional function. As a result, the information processing device 1 according to the second embodiment can maintain the version of the program that supports the additional function, and in cases where an added function (for example, a function related to the billing scheme) cannot be executed due to a board replacement or the like, it becomes possible to determine which version of the program supports the additional function.
[0081] Furthermore, in the information processing device 1 according to the second embodiment, if the additional information 202 acquired by the acquisition unit 102 indicates that an additional function has been added, and the additional function is not supported in the version of the ROM 12 program, the operation control unit 103 displays the information shown in the additional information 202 (the version of the program that supports the additional function). As a result, the information processing device 1 according to the second embodiment can display a version that supports the additional function. Therefore, if an added function (for example, a function related to the billing scheme) cannot be executed due to a board replacement or the like, it is possible to present the user with a version that supports the additional function and prompt them to restore the additional function.
[0082] Furthermore, in the information processing device 1 of this embodiment, the additional function is a function related to the billing scheme (a function that controls whether or not the information processing device 1 executes a process that can be executed in accordance with the billing). As a result, in the information processing device 1 of this embodiment, it is possible to suppress situations in which, for example, the circuit board is replaced and processes that were previously permitted to be executed in accordance with the billing become executable without limit.
[0083] Furthermore, in the information processing device 1 of this embodiment, the operation control unit 103 does not perform a process to reset the additional information 202 to its initial value after executing the update process, regardless of whether the program written to the ROM 12 supports the additional function or not. This makes it possible for the information processing device 1 of this embodiment to create an inconsistency between the program written to the ROM 12 and the additional information written to the specific area 21A (21B) when the additional function is no longer supported, such as when the circuit board is replaced. Therefore, the operation control unit 103 can detect when an additional function that has been executed up to that point can no longer be executed due to a subsequent reason such as the replacement of the circuit board.
[0084] Alternatively, a program for realizing each function of the information processing device 1 shown in Figure 1 may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be loaded into a computer system and executed to perform position detection. The term "computer system" here includes hardware such as the operating system and peripheral devices.
[0085] Furthermore, "computer system" includes the homepage provisioning environment (or display environment) if a WWW system is being used. "Computer-readable recording medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs, CD-ROMs, and storage devices such as hard disks built into computer systems. "Computer-readable recording medium" also includes volatile memory within server and client computer systems that retain programs for a certain period of time. The above program may only implement a part of the aforementioned functions, and may also be implemented in combination with programs already recorded in the computer system. The above program may also be stored on a designated server and distributed (downloaded, etc.) via a communication line in response to requests from other devices.
[0086] While embodiments of this invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments and includes designs and the like that do not depart from the spirit of this invention. [Explanation of Symbols]
[0087] 1. Information Processing Device 10 Main board 101 Main Memory Unit 102 Acquisition Department 103 Operation Control Unit 20 Sub-boards 201 Sub-memory Unit 202 Additional Information
Claims
1. An information processing apparatus comprising a main board and a sub-board capable of communicating with the main board, The aforementioned sub-board is A sub-storage unit that stores additional information indicating whether or not additional functions corresponding to program updates executed on the main board have been added, It has, The aforementioned main board is A main memory unit that stores the aforementioned program, When the information processing device is started up, an acquisition unit acquires the additional information stored on the sub-board, If the additional information acquired by the acquisition unit indicates that the additional function has been added, and the system determines that the additional function is not supported based on the program version, the operation control unit controls the operation of the information processing device to be restricted. Having, Information processing device.
2. The aforementioned additional information includes, as an initial setting, information indicating that the aforementioned additional function has not been added. The operation control unit, if the additional information acquired by the acquisition unit indicates that the additional function has not been added, and the program supporting the additional function has been written to the main storage unit, executes an update process to rewrite the additional information to information indicating that the additional function has been added. The information processing apparatus according to claim 1.
3. The operation control unit executes the update process when the information processing device is restarted after the program has been updated. The information processing apparatus according to claim 2.
4. When the operation control unit stores information indicating that the additional function has been added in the additional information, it stores information indicating in binary terms whether the additional function has been added or not. The information processing apparatus according to claim 2.
5. When the operation control unit stores information indicating that the additional function has been added in the additional information, it stores the version of the program that supports the additional function. The information processing apparatus according to claim 2.
6. If the additional information acquired by the acquisition unit indicates that the additional function has been added, and the additional function is not supported in the program version, the operation control unit will display the program version indicated in the additional information. The information processing apparatus according to claim 5.
7. After executing the update process, the operation control unit does not perform the process of restoring the additional information to the initial setting value, regardless of whether the program supports the additional function. The information processing apparatus according to any one of claims 2 to 6.
8. The aforementioned additional function is a function that controls whether or not the information processing device executes an executable process in response to a charge. The information processing apparatus according to claim 1.
9. An information processing method performed by a computer which is an information processing device comprising a main board and a sub-board capable of communicating with the main board, wherein the sub-board has a sub-storage unit that stores additional information indicating whether or not additional functions corresponding to updates of the program executed on the main board have been added or not, and the main board has a main storage unit that stores the program, The acquisition unit of the main board acquires the additional information stored on the sub-board when the information processing device is started up. If the operation control unit of the main board indicates that the additional function has been added to the additional information acquired by the acquisition unit, and determines that the additional function is not supported based on the program version, it controls the operation of the information processing device to be restricted. Information processing methods.
10. A computer is an information processing device comprising a main board and a sub-board capable of communicating with the main board, wherein the sub-board has a sub-storage unit that stores additional information indicating whether or not additional functions corresponding to updates to the program executed on the main board have been added, and the main board has a main storage unit that stores the program. When the information processing device is started up, the additional information stored on the sub-board is retrieved. If the acquired additional information indicates that the additional function has been added, and it is determined that the additional function is not supported based on the program version, the operation of the information processing device is controlled to be restricted. program.