The present invention relates to an embedded device including a CPU or an electronic device similar to the CPU and an embedded system where a part of functions of the embedded device is arranged in a network. More particularly, the present invention relates to an embedded device and an embedded system suitable for a consumer electronics product.
Conventionally, in a processing system using a computer, a redundant system is employed to prevent a reduction of availability due to system failure. For example, Patent document 1 discloses a system that reconstructs a combination of hardware and software in a network constructed with a plurality of redundant system. The redundant system includes multiplexed hardware units where the same processing function is assigned to a plurality of units. Even when failures are occurred and some portion fails, another portion continues the operation. This allows the whole system to continue the operation.
Patent document 1: Japanese Patent Application Laid-Open Publication No. 2005-251055
In a conventional redundant method, the redundancy of hardware with a function generally requires an additional hardware unit that has the same function.
In contrast, a development of an embedded device typified by consumer electronics including a CPU or a similar electronic device faces severe cost competition. This puts importance on reduction in production cost and makes it difficult to provide a plurality of hardware units with the same configuration, similarly to the conventional redundancy scheme. It has been difficult to develop a system product with redundant configuration. However, from the aspect of a user, if a part of hardware unit of an electronic device fails and ends up with the disabled product, the user has to repurchase the product or replace with the expensive whole component or substrate. This leads to excessive loss in cost and time period. The failed function includes a considerably important function and a function of less importance for the user. Accordingly, from the standpoint of a user, if a given embedded unit fails, the user needs to continue using the embedded unit insofar as the important function is maintained even if another function deteriorates a little bit without immediately repurchasing and replacing the product.
A problem addressed by the present invention is to provide an embedded device and an embedded system with high availability at low cost by reducing in cost caused by the increased number of components.
Another technical problem addressed by the present invention is to provide an embedded device and an embedded system that performs a fall back operation according to the user needs.
A typical example of the present invention will be described as follows. An embedded device of the present invention includes: a plurality of hardware units, each of the hardware units achieving respective specific function; a storage device; and a failure diagnosis device configured to monitor functions of the respective hardware units, the failure diagnosis device executing an alternative process of a function when the hardware unit fails. The plurality of hardware units include: at least one dedicated hardware unit configured to function a specific function; and at least one CPU configured to change a content of processing at application level. The storage device stores: a rule definition file that defines one of the other hardware units when a failure is detected as an alternative processor of a function for the hardware unit where the failure is detected; and a software group that is used to execute the alternative process of the function with the other hardware unit. The failure diagnosis device is configured to select the other hardware unit that alternatively performs the function of the hardware unit and the software required for the alternative process of the function by the other hardware unit based on the rule definition file and the software group if the failure of the function of one of the hardware units is detected.
In the present invention, if the failed hardware unit is detected in the embedded device, another hardware unit such as the dedicated hardware unit, a CPU, and a rewritable FPGA is used to achieve an alternative function of the failed hardware unit. This ensures redundancy without adding any extra device, thus promising cost reduction.
If the function of the failed hardware unit is considerably important for a user, a function that is not necessary for the user among usually prepared functions is degraded. Then the system is changed such that the system continues to perform the failed function, thus executing fall back of the embedded device operation considering user needs.
The present invention achieves a redundant function implemented in a hardware unit not using the same hardware unit, but using a different hardware unit constituting a system. This reduces an increase in cost caused by the increased number of components and provides an embedded device with high availability at low price. That is, if the present invention detects a failure of function implemented in a hardware unit on a device that includes a CPU (including multiple cores), which can change a content of processing at application level, or an FPGA and the like, which can change a content of processing, the present invention refers to device configuration information on the device or on a network. The present invention then selects an alternative device and a software program required for achieving the function. The present invention executes a procedure (for example, downloading software program and deploying it in a memory region to be accessed by a hardware unit) to allow the alternative hardware unit to use the software program, thus alternatively performing the processing.
First, a first embodiment where an embedded device of the present invention applied to a digital television receiver with functions of recording and playback will be described.
The main body 100 of the digital television receiver receives, for example, TV broadcast wave through an antenna 014, a tuner 015 and the like, and receives operation input of a user through a remote control 016. Received data of TV broadcast is displayed on a television display screen 017, recorded in an external memory 018, or played back and displayed after recording by, for example, program selection from a user.
In the main body 100 of the digital television receiver in this embodiment, the first moving image decoder 001 and the second moving image decoder 002 are dedicated hardware units that each execute a specific processing only. The first CPU 003 and the second CPU 004 each execute a processing corresponding to an embedded software program, in other words, the first CPU 003 and the second CPU 004 are hardware units to execute a general-purpose processing. The FPGA 005 is a dedicated hardware unit to execute a specific processing and is allowed to change a content of processing afterward. The failure diagnosis device 008 regularly transmits a signal to respective hardware units 001 to 005, 012 and 013 through the bus 009, and determines whether the devices fail based on replied information. In the case where a determination result is returned as failure, the failure diagnosis device 008 selects an appropriate software program from the software group 011 stored in the ROM 006 based on the rule definition file 010 stored in the ROM 006. The failure diagnosis device 008 executes a procedure to start a processing of software program that executes an alternative process on a defined hardware unit.
Thus, the hardware units are each different in main function (application) and specification (characteristic) and also include some alternative functions. For example, the first moving image decoder 001 and the second moving image decoder 002 are different in specification, but are mutually alternative. Functions of the first moving image decoder 001 and the second moving image decoder 002 become alternative to the first CPU 003 or the second CPU 004 by embedding each predetermined program in the first CPU 003 or the second CPU 004. Functions of the first moving image decoder 001 and the second moving image decoder 002 also become alternative to the FPGA 005 by rewriting a logic program of the FPGA 005. The first CPU 003 and the second CPU 004 are different in specification, but are mutually alternative. The first moving image encoder 012 and the second moving image encoder 013 are different in specification, but are mutually alternative to each other.
Type, number, and specification of hardware devices illustrated in
The failure diagnosis device 008 regularly transmits a signal to respective hardware units 001 to 005, 012, and 013 through the bus 009 for failure diagnosis. The failure diagnosis device 008 determines whether the respective devices fail based on replied information.
If the result signal indicates failure, the process proceeds to step S06. In step S06, the rule definition file 010 is used to determine an alternative device among alternative devices for the device as the failure diagnosis target based on the alternative order. The process proceeds to step S07. In step S07, an alternative software program is determined based on the monitoring target device information and the alternative device information determined in step S06. The process proceeds to step S08. In step S08, a processing is executed to initiate the alternative software program on the alternative device based on the alternative device information determined in step S06 and the alternative software information determined in step S07. The process proceeds to step S09. In step S09, the processing result of the alternative software program executed in step S08 is received. The process proceeds to step S10. In step S10, it is determined whether the initiation of the alternative process has been completed based on the initiation result of the alternative software program received in step S09. If the initiation has been completed, the processing terminates. If the initiation of the alternative process has not been completed, the process returns to step S06, thus retrying the processing from the selection of an alternative device.
A processing for associating a monitoring signal in step S02 may not be a type of processing for transmitting a preliminarily registered monitoring signal, and may be a type of processing for generating a monitoring signal using information of, for example, a target device.
In the embodiment, for example, if the second moving image decoder 002 fails, a function to be provided by the second moving image decoder 002 is alternatively performed by the first moving image decoder 001 or the first CPU 003 or the like, which has a similar decoding function. At this time, a device such as the first moving image decoder 001 or the first CPU 003, which is in charge of the alternative function, time-divisionally provides both of a function originally provided by the device and the alternative function. Accordingly, performance of, for example, processing speed or image quality is slightly decreased during the alternation. On the other hand, the digital television receiver with functions of recording and playback nearly maintains its functions as a whole.
The ROM 006 illustrated in
The failure diagnosis device 008 illustrated in
Thus, with the embodiment, in a digital television receiver with functions of recording and playback including a CPU, which changes a content of processing at application level, an FPGA, which changes a content of processing, and the like, if the failure diagnosis device detects a function failure implemented in a hardware unit, an alternative device and a software program required to achieve the function are selected referring to configuration information on the device or on a device in a network. Then the embodiment executes a procedure (for example, downloading software program and deploying it in a memory region accessed by a hardware unit) to allow an alternative hardware unit to use the software program, thus alternatively performing the processing. This ensures alternation of, for example, functions of receiving and displaying a program, which are main functions of a television receiver without implementing an extra hardware unit to achieve the same function. Thus, this reduces an increase in cost caused by an increased number of components and provides a digital television receiver with functions of recording and playback at low price with high availability. For a user, important functions are maintained even if a part of the device fails. This allows the user to continue using the digital television receiver for a time without immediate repurchase or replacement of the part.
Next, a second embodiment where an embedded device of the present invention is applied to a mobile phone will be described.
The main body 200 of the mobile phone receives radio wave of, for example, telephone, mail, web site, and One Seg through an antenna 213 or the like, and receives operation input of a user through a numerical keypad (not shown), an image through the camera 214, and a sound voice input through the microphone 215. Received signal-processed information is displayed on a display screen 216, recorded in an external memory 217, or displayed after recording and playback by a selection instruction from a user. Transmission information of, for example, telephone mail is transmitted from the antenna 213 after signal processing is executed on the transmission information of telephone, email or the like.
In the main body 200 of the mobile phone of the embodiment, the first moving image decoder 201 and the second moving image decoder 202 are dedicated hardware units that each execute a specific processing only. The first core and the second core 204 each execute a processing corresponding to respective embedded software programs, in other words, the first core 203 and the second core 204 are hardware units to execute a general-purpose processing. The FPGA 205 is a dedicated hardware unit to execute a specific processing and is allowed to change a content of processing afterward. The failure diagnosis device 208 regularly transmits a signal to respective hardware units 201 to 205, and 212 through the bus 209, and determines whether the respective devices fail based on replied information. If the determination result is returned as failure, the failure diagnosis device 208 selects an appropriate software program from the software group 211 stored in the ROM 206 based on the rule definition file 210 stored in the ROM 006, and executes procedure to start a processing of a software program that executes an alternative process on a defined hardware unit.
Core 2 in multiple cores has a main function of processing relating to multimedia, mail, and Internet. Thus, as the specification, processing capacity and performance may be comparatively low or low-price. Specifically, core 2 executes communication processing (for example, TCP/IP protocol processing) of Internet.
The FPGA 205 performs processing for improving image quality of respective moving image and still image contents, and is constituted of a dedicated logic program. Thus, the FPGA 205 has low performance at low price compared with a general-purpose CPU.
The moving image encoder 212 has main functions of compressing and recording for data of, for example, a broadcast program, a moving image, and a still image. Thus, as the specification, the moving image encoder 212 is necessary to be a high compression multi-encoder that supports a plurality of standards.
In view of this, a plurality of hardware units that constitute a mobile phone are different in main function, but also include some alternative functions.
For example, the first moving image decoder 201 and the second moving image decoder 202 are different in specification, but are mutually alternative in function. Functions of the first moving image decoder 201 and the second moving image decoder 202 become alternative to the first core 203 or the second core 204 by embedding each predetermined program in the first core 203 or the second core 204. Functions of the first moving image decoder 201 and the second moving image decoder 202 also become alternative to the FPGA 205 by rewriting a logic program of the FPGA 205. The first core 203 and the second core 204 are different in specification, but are mutually alternative. Functions of the moving image decoder 212 become alternative to the first core 203 or the second core 204 by embedding a predetermined program in the first core 203 or the second core 204.
Functions of the moving image decoder 212 also become alternative to the FPGA 205 by rewriting a logic program of the FPGA 205.
For example, kind of hardware devices, the number and specification of those illustrated in
The failure diagnosis device 208 regularly transmits a signal to respective hardware units 201 to 205, and 212 through the bus 209 for failure diagnosis. The failure diagnosis device 208 determines whether the respective devices fail based on replied information. A processing sequence of the failure diagnosis device is similar to that illustrated in
In the embodiment, for example, devices such as the first moving image decoder 201 and the first core 203, which is in charge of the alternative function, also provide both of a function that those devices originally provide and an alternative function. Accordingly, performance of, for example, processing speed or image quality is slightly decreased during the alternation. On the other hand, the mobile phone nearly maintains its functions as a whole.
The ROM 206 is configured to store data, which may change into every device for which a general-purpose or dedicated CPU or the like is available. The failure diagnosis device 208 may be constituted of hardware units or a combination of software and hardware. The failure diagnosis device 208 may not be an independent device and may be constituted of one software program or a plurality of software programs implemented in a general-purpose CPU.
Thus, with the embodiment, in a mobile phone including another device, which has the similar function such as a moving image decoder, a multiple cores or multi-CPU, which can change a content of processing at application level, or an FPGA, which changes a content of processing, if the failure diagnosis device detects a function failure implemented in a hardware unit, an alternative device and a software program required to achieve the function are selected referring to configuration information on the device or on a device in a network. Then the embodiment executes a procedure (for example, downloading a software program and deploying it in a memory region accessed by a hardware unit) to allow an alternative hardware unit to use the software, thus alternatively performing the processing. This ensures alternation of, for example, a function of phone call, which is a main function of a mobile phone without implementing an extra hardware unit to achieve the same function. Thus, this reduces an increase in cost caused by an increased number of components and provides a mobile phone at low price with high availability. For a user, important functions are maintained even if a part of the device fails. This allows the user to continue using the mobile phone for a time without immediate repurchase or replacement of the part.
An embedded device of the present invention may also be applied to a car navigation device including a CPU or an electronic device similar to the CPU. A car navigation device generally provides information as services relating to multimedia, mail, Internet in addition to an original navigation function. Accordingly, the car navigation device is achieved by embedding a software program and a failure diagnosis device, which are similar to those described above, in an embedded device with a hardware unit, which is similar to those described in the first embodiment and the second embodiment. A configuration of the rule definition file is similar to those illustrated in
In the embodiment, use of another device that has a similar function, a CPU, multiple cores, or an FPGA which is rewritable, ensures redundancy without adding any extra device, thus promising cost reduction. If the failed function is the navigation function, which is considerably important for a user, a function that is not necessary for the user among usually prepared functions is degraded. Then the system is changed such that the navigation function continues to perform, thus executing fall back operation considering user needs.
Next, an embedded system where a part of the function arranged in a network according to a fourth embodiment of the present invention will be described.
In the management server, the failure diagnosis device 008 has a function similar to those in the first to third embodiments. The rule definition file 010 has a similar configuration to the rule definition file in the first to third embodiment. The software group 011 has a similar configuration to the file group in the first to third embodiment.
In this embodiment, the communication device 019 delivers a monitoring signal received from the failure diagnosis device 008 to hardware units 001 to 005 of the device main body 000 that achieve functions. The communication device 019 receives a result signal returned from hardware units that achieve a function, thus delivering the failure diagnosis device 008 in a network. The management server 023 is a server for the failure diagnosis device 008 to perform.
The storage unit 024 in
In this embodiment, the rule definition file 010 and the software group 011 are stored in the external storage unit 024. The function of the failure diagnosis device is placed in the management server 023. This allows the ROM 006 and the RAM 007 of the device main body 000 to have small capacity. This ensures cost reduction of the device main body.
Next, an embedded system according to a fifth embodiment of the present invention will be described.
In this embodiment, the frequently-used diagnosis function and software group 011 are included in the device main body 000 (008-1) while the less frequently used functions and software group 011 are included in the network (008-2) outside the device main body 000. This ensures cost reduction of the device main body.
The present invention is not limited to the above-described embodiments, and may be applied to other consumer electronics products and an industrial system including a CPU. For example, the present invention may be applied to a smart grid system to establish an intelligent power transmission network between an electric power provider and respective houses. An electric power meter for respective houses may be constituted of the embedded device and the embedded system of the present invention.
In the above embodiments of the present invention, a portion coupled to devices through a bus may not be the bus, and may be alternatively performed by another information transmitting means such as a network to exchange information.
The rule definition file 010 and the software group 011 in the device main body 000 or outside the device main body 000 may be upgraded through a network.
In the respective embodiments, the failure diagnosis device may be divided into a failure diagnosis unit and an alternative processing unit. Respective devices themselves may include the failure diagnosis unit that has a function of failure diagnosis. The device main body may include the alternative processing unit corresponding to respective devices. In this case, following configuration may be employed. In some devices, each device itself regularly performs failure diagnosis. If at least a part of the function fails, a notification is provided to the alternative processing unit. The alternative processing unit receives the notification and then selects a device that alternatively performs a function included in the failed device. The alternative processing unit executes an initiation of the alternative process. In this case, advantageous effects similar to the above-described embodiments are also provided.
Number | Date | Country | Kind |
---|---|---|---|
2010-007052 | Jan 2010 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2011/050354 | 1/12/2011 | WO | 00 | 8/20/2012 |