WO2016098376A1 - 監視レコーダ及びその起動方法 - Google Patents

監視レコーダ及びその起動方法 Download PDF

Info

Publication number
WO2016098376A1
WO2016098376A1 PCT/JP2015/071472 JP2015071472W WO2016098376A1 WO 2016098376 A1 WO2016098376 A1 WO 2016098376A1 JP 2015071472 W JP2015071472 W JP 2015071472W WO 2016098376 A1 WO2016098376 A1 WO 2016098376A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
activation
main program
program
log
Prior art date
Application number
PCT/JP2015/071472
Other languages
English (en)
French (fr)
Inventor
丸山 清泰
正英 小池
敬志 上村
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2016564696A priority Critical patent/JP6177461B2/ja
Publication of WO2016098376A1 publication Critical patent/WO2016098376A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to a monitoring recorder and a starting method thereof, and more particularly, to a monitoring recorder having a plurality of processors and a starting method thereof.
  • the surveillance recorder system transmits the video captured by the surveillance camera to the recorder as compressed video data compressed using a video compression technique such as Motion JPEG or MPEG (Moving Picture Experts Group).
  • the recorder stores and reproduces the compressed video data.
  • the surveillance recorder all the compressed video data from the surveillance camera is stored in the hard disk, and the plurality of stored compressed video data is simultaneously decompressed and reproduced by an MPEG decoder or the like, and 4, 9, or 16 videos are monitored, etc. It is required to display the images on the display at the same time.
  • the processing load increases as the number of divided displays increases. If processing as a surveillance recorder including storage processing for storing compressed video data from a surveillance camera on a hard disk is realized with a single processor, depending on the number of divided displays, the storage processing may not be in time, and compression sent from the surveillance camera The storage process of the video data is not in time, and the problem of missing the data occurs.
  • Patent Document 1 writes information indicating how far the startup processing of each processor has progressed as startup information in a memory device of another processor, and each processor refers to the memory device connected to itself. By doing so, it is possible to grasp the activation status of another processor and detect whether or not an abnormality has occurred in the activation of another processor (for example, Patent Document 1).
  • Patent Document 1 has a configuration in which a memory device is connected to each of two processors, and each startup log is stored in a memory managed by another processor. For this reason, it is necessary to mount a bus bridge so that one processor can directly access a memory device connected to another processor.
  • the bus bridge is often connected using a general-purpose interface such as PCI (Peripheral Component Interconnect) or PCIe (PCI Express), and the general-purpose interface is operated. It is necessary to make settings. Such a setting is generally realized by executing a program, but if the program does not operate correctly, the bus bridge does not operate normally and one processor is connected to another processor. There is a problem that it becomes impossible to access the memory device. Also, when configuring a monitoring recorder using a processor that is already configured as an IC (Integrated Circuit), if the IC does not have a bus bridge function, an additional bus bridge is installed to share the memory device. It is necessary to make it. For this reason, there is a problem that the system configuration becomes complicated.
  • PCI Peripheral Component Interconnect
  • PCIe PCI Express
  • the present invention is configured such that a plurality of processors are connected by a simple communication method so that the logs at the time of startup are stored in each other, and even when one processor fails to start, it is stored in another processor.
  • the purpose is to be able to analyze the cause of startup failure by referring to the log at the time of startup failure.
  • a monitoring recorder includes a first main program and a first non-volatile memory that stores a first start program for starting the first main program, a first volatile memory, and the first start program.
  • a second processor that reads the first volatile memory and executes it to start the first main program, and stores a second main program and a second start program that starts the second main program.
  • An activation management unit that manages activation of two processors, and an instruction to activate the second processor.
  • a first activation program and the first processor executes the first activation program to configure a history of processes for activating the first main program when the first main program is activated.
  • the first startup log is sent to the second processor, and the second processor executes the second startup program, thereby receiving the first startup log sent from the first processor and receiving the received first startup log.
  • 1 activation log is stored in the second volatile memory, and the activation management unit instructs the second processor to start activation of the second main program when the activation of the first main program in the first processor is completed.
  • the second processor starts starting the second main program, and when starting the second main program, the second main program A second activation log that constitutes a history of the process of starting the program is sent to the first processor, and the first processor is sent from the second processor by executing the first main program that has been activated.
  • the second startup log received is received, the received second startup log is stored in the first volatile memory, and the forcible startup unit executes the first main program in the first processor within a predetermined time.
  • the activation management unit is instructed to start the second main program by the second processor.
  • a startup method is a startup method of a monitoring recorder including a first processor and a second processor, wherein the first processor executes a first startup program for starting the first main program.
  • the first main program is started, and when the first main program is started, a first start log constituting a history of processing for starting the first main program is sent to the second processor,
  • the second processor executes the second start program for starting the second main program, thereby receiving the first start log sent from the first processor and storing the received first start log.
  • the second processor starts up the second main program.
  • the second main program By executing the second start program for performing the second start program, the second main program is started, and when starting the second main program, the second start that constitutes a history of processing for starting the second main program
  • the log is sent to the first processor, and the first processor receives the second startup log sent from the second processor by executing the first main program whose startup has been completed.
  • a second activation log is stored, and when the activation of the first main program is not completed in the first processor within a predetermined time, the second processor starts activation of the second main program.
  • a plurality of processors are connected by a simple communication method and configured to store each other's log at startup, even when one processor fails to start, By referring to the log at the time of startup failure stored in another processor, the cause of the startup failure can be analyzed.
  • FIG. 1 It is a block diagram which shows roughly the structure of the monitoring recorder which concerns on Embodiment 1 and 2.
  • FIG. The sequence diagram explaining the flow of a process of the 1st processor in the Embodiment 1, a 2nd processor, and a control part (the 1).
  • 3 is a schematic diagram illustrating an example of arrangement of programs stored in a first ROM according to Embodiment 1.
  • FIG. 3 is a schematic diagram illustrating an arrangement example of a program in a first RAM when the first processor in the first embodiment is executing an OS.
  • FIG. 6 is a schematic diagram illustrating an arrangement example of a program in a second RAM when the second processor in the first embodiment acquires an activation log transmitted from the first processor through a serial communication path.
  • 6 is a schematic diagram illustrating a first example of an OS boot completion flag in the first embodiment.
  • FIG. 6 is a schematic diagram showing an example of arrangement of programs stored in a second ROM in Embodiment 1.
  • FIG. FIG. 6 is a schematic diagram (part 1) illustrating an example of using the second RAM in the first embodiment;
  • FIG. 6 is a schematic diagram (part 2) illustrating a usage example of the second RAM in the first embodiment;
  • FIG. 6 is a schematic diagram (part 3) illustrating a usage example of the second RAM in the first embodiment; 6 is a schematic diagram illustrating a second example of an OS activation completion flag in the first embodiment.
  • FIG. 10 is a schematic diagram illustrating a usage example of a second RAM in the second embodiment. It is a block diagram which shows roughly the structure of the monitoring recorder which concerns on Embodiment 3.
  • FIG. 1 is a block diagram schematically showing a configuration of a monitoring recorder 100 as an information processing apparatus according to the first embodiment.
  • reference numeral 100 is a surveillance recorder
  • reference numeral 140 is a surveillance camera.
  • the surveillance camera 140 is connected to the surveillance recorder 100 via a network 141.
  • the surveillance camera 140 transmits the captured video to the surveillance recorder 100 as compressed video data compressed using a video compression technique such as MPEG.
  • the monitoring recorder 100 includes a first processor 101, a first ROM (Read Only Memory) 102, a first RAM (Random Access Memory) 103, a network controller 104, an HDD (Hard Disk Drive) 105, and a first LAN (Local Area). (Network) controller 106, second processor 111, second ROM 112, second RAM 113, second LAN controller 114, control unit 121, reset control unit 122, timer 123, error LED 124, and program activation surface storage unit 125, an OS activation completion flag storage unit 126, an activation failure number storage unit 127, a serial communication path 130, and a LAN 131.
  • Reference numerals in parentheses in FIG. 1 indicate configurations in the second embodiment.
  • the first processor 101 is a processor that mainly performs storage processing.
  • the first processor 101 has a serial communication function in order to perform serial communication with the second processor 111.
  • the first ROM 102 is a storage device (nonvolatile memory) that stores a program for operating the first processor 101.
  • the first ROM 102 stores at least two types of main programs (a first main program and a second main program) in order to implement program update. In other words, when one of the two main programs is used for execution, the other main program can be updated (rewritten). Further, after the program update, the system can be updated by restarting the system and executing the new version of the main program stored in the first ROM 102.
  • the first processor 101 is restarted and started using the original main program by a method for detecting a start-up problem described later.
  • the first ROM 102 is a read only memory, but is a ROM (so-called flash ROM) in which data can be rewritten by a special command.
  • the first processor 101 performs a storage process in the monitoring recorder 100 and a start-up log acquisition process of the second processor 111 by executing the main program.
  • the start log is data constituting a history of processing for starting the main program.
  • the first ROM 102 also stores a boot loader that is a start program for starting the main program of the first processor 101.
  • the first processor 101 reads the boot loader into the first RAM 103 and executes it to start the main program. Then, the first processor 101 sends an activation log constituting a processing history when the main program is activated to the second processor 111 via the serial communication path 130. For example, when the first processor 101 performs a predetermined process when starting the main program, the first processor 101 sends a predetermined start log to the second processor 111 via the serial communication path 130. In the second processor 111, the activation log from the first processor 101 is accumulated via the serial communication path 130, whereby the history of processing at the time of activation of the main program of the first processor 101 can be acquired.
  • the first RAM 103 is a temporary storage device (volatile memory) for the first processor 101 to execute a program.
  • the network controller 104 is a communication unit that performs communication with the network 141.
  • the network controller 104 receives compressed video data from the monitoring camera 140.
  • the HDD 105 is a storage device that stores data necessary for the monitoring recorder 100.
  • the HDD 105 stores the compressed video data received by the network controller 104.
  • the HDD 105 is a storage device with no limit on the number of times of writing.
  • the first LAN controller 106 transmits the compressed video data to the second processor 111.
  • the second processor 111 is a processor that mainly performs reproduction display processing in the monitoring recorder 100.
  • the second processor 111 receives the compressed video data from the first processor 101 via the LAN 131, expands the compressed video data, and causes the display device 150 as a display unit to display the compressed video data.
  • the second processor 111 has a serial communication function in order to perform serial communication with the first processor 101.
  • the second ROM 112 is a storage device (nonvolatile memory) that stores a program for operating the second processor 111.
  • the second ROM 112 stores at least two types of main programs (a first main program and a second main program) in order to implement program update. In other words, when one of the two main programs is used for execution, the other main program can be updated (rewritten).
  • the system can be updated by restarting the system and executing the new version of the main program stored in the second ROM 112. If the new version of the main program has some problem and cannot be started normally, the first processor 101 is restarted and started using the original main program by a method for detecting a start-up problem described later.
  • the second ROM 112 is a read only memory, but is a ROM (so-called flash ROM) that can rewrite data by a special command.
  • the second processor 111 performs a reproduction display process in the monitoring recorder 100 by executing the main program.
  • the second ROM 112 stores a boot loader that is a start program for starting the main program of the second processor 111.
  • the second processor 111 reads the boot loader into the second RAM 113 and executes it, thereby performing the acquisition process of the startup log transmitted from the first processor 101 via the serial communication path 130. Further, the second processor 111 reads the boot loader into the second RAM 113 and executes it to start the main program. Then, the second processor 111 sends an activation log constituting a history of processing at the time of activation of the main program to the first processor 101 via the serial communication path 130. For example, when the second processor 111 performs a predetermined process when the main program is activated, the second processor 111 sends a predetermined activation log to the first processor 101 via the serial communication path 130. The first processor 101 can acquire a history of processing at the time of starting the main program of the second processor 111 by accumulating the start log transmitted from the second processor 111 via the serial communication path 130.
  • the second RAM 113 is a temporary storage device (volatile memory) for the second processor 111 to execute a program.
  • the second LAN controller 114 receives the compressed video data transmitted from the first LAN controller 106.
  • the serial communication path 130 is a communication path for connecting the first processor 101 and the second processor 111 by serial communication.
  • the LAN 131 is a communication path for connecting the first LAN controller 106 and the second LAN controller 114.
  • the control unit 121 manages the first processor 101 and the second processor 111.
  • the control unit 121 includes an activation management unit 121a and a forced activation unit 121b.
  • the activation management unit 121 a manages activation of the first processor 101 and the second processor 111.
  • the activation management unit 121a performs reset control of the first processor 101 and the second processor 111, monitoring of an activation state, an instruction of a main program to be activated, and the like.
  • the forced activation unit 121b instructs the activation management unit 121a to activate the second processor 111 to activate the main program.
  • the forced activation unit 121b is activated so that the second processor 111 starts activation of the second main program when activation of the first main program is not completed in the first processor 101 within a predetermined time.
  • the management unit 121a is instructed.
  • the reset control unit 122 performs reset control on the activation management unit 121a when the power is turned on.
  • the timer 123 measures time. For example, the timer 123 counts down from the time set by the activation management unit 121a, and notifies the activation management unit 121a when it becomes “0”.
  • the error LED 124 is a display device for displaying an error state when both the first processor 101 and the second processor 111 have a start failure.
  • the program activation surface storage unit 125 stores activation surface information that specifies an activation surface to be activated from either of the two types of main programs stored in the first ROM 102 and the second ROM 112.
  • the instruction of the main program to be activated is based on the activation surface information stored in the program activation surface storage unit 125 by the first processor 101 or the second processor 111 inquiring the activation management unit 121a. This is done by telling the main program to be started.
  • the OS activation completion flag storage unit 126 stores an OS activation completion flag indicating whether the OS activation has been completed or the OS activation has failed.
  • the startup failure count storage unit 127 stores a startup failure count indicating the number of times the OS startup has failed.
  • control unit 121 and the reset control unit 122 can be realized by CPLD (Complex Programmable Logic Device) or FPGA (Field Programmable Gate Array).
  • the program startup surface storage unit 125 and the startup failure frequency storage unit 127 can be realized by a rewritable nonvolatile memory such as a ROM, and the OS startup completion flag storage unit 126 can be realized by a volatile memory such as a RAM.
  • FIGS. 2 to 4 are sequence diagrams for explaining the flow of processing of the first processor 101, the second processor 111, and the control unit 121. 2 to 4, an OS (Operating System) is started as the main program.
  • OS Operating System
  • the control unit 121 releases the reset according to the control of the reset control unit 122 (S601). At this time, the first processor 101 and the second processor 111 are in a reset state under the control of the control unit 121.
  • the activation management unit 121a of the control unit 121 releases the reset of the first processor 101 and the second processor 111 (S502, S701), sets a time of 5 seconds for the timer 123, and counts down.
  • Start S602
  • the first processor 101 activates an activation program called a boot loader (S503).
  • the second processor 111 also activates the boot loader (S702) when the activation management unit 121a cancels the reset (S701).
  • the boot loader is a program that performs settings necessary for the operation of the processor and reads and executes an operating system (OS) that is a main program necessary for the system.
  • OS operating system
  • the first processor 101 activates the boot loader to set the processor clock, cache settings, access parameters of the first ROM 102, initialization of the first RAM 103, controller settings necessary for the serial communication path 130, and the first After performing only the necessary minimum settings such as the input / output port settings of the processor 101, the boot management unit 121a is notified of the boot loader boot completion (S504). In other words, when the boot loader activation is completed before the OS is read, the first processor 101 notifies the activation management unit 121a of the boot loader activation completion. Thereafter, the first processor 101 activates the boot loader, reads the OS from the first ROM 102, copies it to the first RAM 103, and executes the OS (S505). Then, the processing in the first processor 101 proceeds to step S506 in FIG.
  • a boot loader activation completion notification is made (S703).
  • the second processor 111 also notifies the activation management unit 121a of the boot loader activation completion.
  • the second processor 111 starts the boot loader, reads the OS from the second ROM 112, copies it to the second RAM 113, and executes the OS (S704). Then, the processing in the second processor 111 proceeds to step S705 in FIG.
  • the boot loader activation completion notification can be realized by, for example, the activation management unit 121a monitoring specific terminals of the first processor 101 and the second processor 111. Specifically, the activation management unit 121a can recognize that a specific terminal of the first processor 101 has changed from a high level to a low level after reset release. The same applies to the case where the second processor 111 notifies the activation management unit 121a.
  • the network controller 104, the HDD 105, the first LAN controller 106, and the second LAN controller 114 have many programs necessary for operating them, and are not necessary until the OS is started. First, initialization, setting, etc. are performed when the OS is started, and the system becomes usable.
  • the activation management unit 121a checks whether or not the time has been notified from the timer 123 (S603).
  • the time of 5 seconds set in step S602 has passed before the boot loader start completion notification of the first processor 101 and the second processor 111 (Yes in S603), in other words, within 5 seconds, the boot loader If the activation is not completed, it is determined that some problem has occurred, and the error LED 124 is blinked to notify the user (S604). Since the boot loader is a program that performs only basic hardware settings such as clock initialization and RAM initialization as described above, boot loader activation is not completed (the process until boot loader activation completion notification is completed).
  • the activation management unit 121a stops the subsequent processing and causes the error LED 124 to display that effect.
  • the predetermined time elapses before the predetermined processing is performed after the first processor 101 and the second processor 111 start the execution of the boot loader, the boot loader start error As a notification.
  • the activation management unit 121a checks whether or not a boot loader activation completion notification has been received from the first processor 101 and the second processor 111 (S605). If not received (No in S605), the process of the activation management unit 121a returns to Step S603. When the boot roller activation completion notifications are received from both (Yes in S605), the activation management unit 121a proceeds to Step S606 in FIG.
  • step S506 the first processor 101 executes the activation program and instructs the activation management unit 121a to confirm the activation surface of the program.
  • the activation management unit 121a notifies the first processor 101 of information for designating the activation surface stored in the program activation surface storage unit 125, and the first processor 101 is designated based on the information for designating the activation surface.
  • the OS to be read is read from the first ROM 102, and the OS is activated (S507).
  • FIG. 5 is a schematic diagram illustrating an arrangement example of programs stored in the first ROM 102.
  • the first ROM 102 stores a boot loader 10, a first main program 11 for the first processor, a second main program 12 for the first processor, and a startup log 13 of the second processor.
  • the boot loader 10 is a boot loader for the first processor 101. Since the first processor 101 is always configured to read and execute the program from the address 0x00000000 after the reset release of the first processor 101, the boot loader 10 is arranged from the address 0x00000000.
  • the first main program 11 for the first processor and the second main program 12 for the first processor include an OS for the first processor 101.
  • the first processor 101 confirms the program activation surface by instructing the activation management unit 121a, and is included in the first main program 11 for the first processor 11 or the second main program 12 for the first processor according to the instruction. Read and execute the OS.
  • the activation log 13 of the second processor is an activation log sent from the second processor 111 as described later.
  • the first processor 101 reads the boot loader into the first RAM 103 and executes it to confirm the OS startup surface (S506) and start the OS (S507).
  • the OS is a basic system of programs that operate on the first processor 101.
  • the first processor 101 initializes the network controller 104, the HDD 105, and the first LAN controller 106, and necessary programs. Initialize the.
  • the startup log at that time is output to the serial communication path 130 and received by the second processor 111 (S508).
  • FIG. 6 is a schematic diagram showing an example of program arrangement (memory map) in the first RAM 103 when the first processor 101 is executing the OS.
  • the first RAM 103 is arranged from the address 0xC0000000 and is mounted for 1 GByte up to the address 0xFFFFFFFF.
  • Note that how the OS operates in the memory is as follows. Of the 1 GB memory, a 512 Mbyte area 20 from address 0xC0000000 to address 0xBFFFFFFF is allocated to the OS. In such a case, the OS is allocated from the top of the memory area in order to use the memory effectively, and the OS is secured up to a usable range.
  • a buffer 21 for the network controller 104, a buffer 22 for the LAN controller 106, a buffer 23 for accessing the HDD drive, and the like are appropriately arranged.
  • step S ⁇ b> 705 of FIG. 3 the second processor 111 reads the boot loader into the second RAM 113 and executes it, thereby receiving the startup log transmitted from the first processor 101 via the serial communication path 130 and storing it in the second RAM 113.
  • FIG. 7 is a schematic diagram illustrating an example of program arrangement (memory map) in the second RAM 113 when the second processor 111 acquires a start log transmitted from the first processor 101 through the serial communication path 130.
  • the second RAM 113 is arranged from the address 0x80000000 and is mounted for 2 GB up to the address 0xFFFFFFFF.
  • the boot loader can use all of this 2 GB, but considering the execution of the OS, the boot loader uses the 16 MByte area 30 from the address 0x81000000 to 0x81FFFFFF as a work memory.
  • 16 Mbytes from address 0x08200000 are secured as an area 31 for temporarily copying the OS stored in the second ROM 112.
  • the second processor 111 sequentially writes the activation log transmitted from the first processor 101 via the serial communication path 130 in the area 32 after the address 0x88000000 in the second RAM 113.
  • step S606 of FIG. Set the time and start the countdown.
  • the time of 30 seconds is a time for determining failure of the OS startup in the first processor 101. If the OS activation of the first processor 101 is not completed within 30 seconds, the activation management unit 121a determines that there is some problem in the OS activation.
  • step S607 the activation management unit 121a checks whether or not the time has been notified from the timer 123 (S607). If the elapse of time has not been notified (No in S607), the process proceeds to step S608. If the elapse of time has been notified (Yes in S607), the process proceeds to step S611. In step S608, the activation management unit 121a checks whether or not the activation of the OS is completed in the first processor 101. If the activation of the OS has not been completed (No in S608), the process returns to step S607. If the activation of the OS has been completed (Yes in S608), the process proceeds to step S609.
  • the first processor 101 When the activation of the OS is completed (S509), the first processor 101 notifies the activation manager 121a of the completion of OS activation (S510).
  • This notification can be realized by the activation management unit 121a monitoring a specific terminal of the first processor 101 in the same manner as when the boot loader activation is completed. For example, the activation management unit 121a monitors that a specific terminal of the first processor 101 (apart from the boot loader activation completion notification terminal) has changed from a high level to a low level after reset release. Can do.
  • step S608 when the OS startup completion of the first processor 101 can be confirmed (Yes in S608), in step S609, the startup management unit 121a stores the OS of the first processor 101 stored in the OS startup completion flag storage unit 126. Set the start complete flag to “start complete”. Next, the activation management unit 121a gives such an instruction (S706) in order to cause the second processor 111 to activate the OS (S610).
  • FIG. 8 is a schematic diagram illustrating an example of the OS startup completion flag 126a stored in the OS startup completion flag storage unit 126.
  • the OS activation completion flag 126a includes a flag storage area 126b for the first processor 101 and a flag storage area 126c for the second processor 111.
  • information indicating “start-up completion” is stored in the flag storage area 126b for the first processor 101.
  • step S ⁇ b> 611 the activation management unit 121 a stores the OS stored in the OS activation completion flag storage unit 126.
  • the activation completion flag 126a information indicating “activation failure” is stored in the flag storage area 126b for the first processor 101.
  • the forced startup unit 121b determines that the OS of the first processor has failed to start up, and instructs the startup management unit 121a to perform such an instruction in order to force the second processor 111 to start up the OS (S612). (S707).
  • the start log of the first processor 101 temporarily stored in the second RAM 113 is stored in the first processor start log area of the second ROM 112 (see FIG. 9). It becomes possible to memorize.
  • the activation management unit 121a sets a time of 30 seconds for the timer 123 to start a countdown (S613).
  • the time of 30 seconds is a time for determining a failure of the OS startup in the second processor 111. If the second processor 111 does not complete the startup of the OS within 30 seconds, the startup management unit 121a determines that there is some problem with the startup of the OS.
  • the second processor 111 reads the boot program into the second RAM 113, executes it, and instructs the activation management unit 121a to confirm the activation surface of the program (S708).
  • the activation management unit 121a notifies the second processor 111 of information for designating the activation surface stored in the program activation surface storage unit 125, and the second processor 111 is designated based on the information for designating the activation surface.
  • the OS to be read is read from the second ROM 112, and the OS is activated (S709).
  • FIG. 9 is a schematic diagram showing an example of the arrangement of programs stored in the second ROM 112.
  • the second ROM 112 stores a boot loader 40, a first main program 41 for the second processor, a second main program 42 for the second processor, and an activation log 43 of the first processor.
  • the boot loader 40 is a boot loader for the second processor 111. Since the second processor 111 is configured to read and execute a program from the address 0x00000000 whenever the OS activation instruction is received, the boot loader 40 is arranged from the address 0x00000000.
  • the first main program 41 for the second processor and the second main program 42 for the second processor include an OS for the second processor 111.
  • the second processor 111 confirms the activation surface of the program by instructing the activation management unit 121a, and is included in the first main program 41 for the second processor or the second main program 42 for the second processor according to the instruction. Read and execute the OS.
  • the activation log 43 of the first processor is an activation log sent from the first processor 101 as described later.
  • the OS also referred to as a kernel
  • the OS actually has one execution program running, and in order to run at high speed, all the programs are arranged and executed on the RAM. At this time, since the continuous memory area can operate efficiently and at high speed, the OS is arranged from the top of the RAM.
  • the boot loader once copies an execution image of the OS (kernel) from the ROM to the RAM and executes it, and thereafter, the OS is arranged at the top of the RAM. As the OS operates, the memory arrangement is changed to the memory arrangement designated by the OS. Therefore, the memory layout arranged by the boot loader is until the OS starts up and the program operates in the memory layout specified by the OS.
  • the boot loader copies the OS 51 to the OS download area 50. Then, the boot loader executes the OS 51.
  • the OS 51 When executed, the OS 51 places a program in the top area 52 of the second RAM 113. Further, for example, when the OS 51 allocates the log storage area 53 (16 Mbytes after the address 0x88000000) storing the activation log of the first processor 101 as the graphic memory area, the activation log disappears. Therefore, the OS 51 copies the startup log 54 to the area 55 used by the OS before using the log storage area 53 as the graphic memory area, as shown in FIG.
  • the OS 51 allocates the log storage area as the graphic memory area 56, and allocates other memory areas to the decoder use area 57, for example.
  • the startup log 54 is stored in the area 55 used by the OS, but is not limited to such an example.
  • the activation log 54 may be stored in a RAM disk temporarily generated on the second RAM 113 or an activation log storage area (see FIG. 5) prepared in the second ROM 112.
  • the memory capacity reserved as the activation log 54 may be a fixed amount (for example, about 1 MByte).
  • the second processor 111 when the second processor 111 saves the boot log of the first processor 101 in an area that can be confirmed after the OS is booted and completes the booting of the OS (S711), the second processor 111 transmits a completion notification to the boot management unit 121a. (S712). Then, the processing in the second processor 111 proceeds to step S713 in FIG.
  • the first processor 101 has completed the startup of the OS in step S509, and acquires the startup log of the second processor 111 (S511).
  • the second processor 111 transmits an activation log to the first processor 101 via the serial communication path 130 (S710). Since the first processor 101 has already started the OS, the first processor 101 acquires a startup log of the second processor 111 with a program for acquiring serial communication data operating on the OS, and the startup log May be stored in the already operating HDD 105 as it is.
  • the first processor 101 stores the startup log in a RAM disk that is temporarily generated on the first RAM 103, and when the second processor 111 determines that the OS startup has failed, the first processor 102 stores the first log in the first ROM 102. You may preserve
  • FIG. the processing in the first processor 101 proceeds to step S513 in FIG.
  • step S613 the activation management unit 121a sets a time of 30 seconds in the timer 123, and then checks whether or not the timer 123 has notified the elapse of time (S614). If the passage of time is not notified (No in S614), the process proceeds to step S615. If the passage of time is notified (Yes in S614), the process proceeds to step S617. In step S615, the activation management unit 121a checks whether or not the activation of the OS is completed in the second processor 111. If the activation of the OS has not been completed (No in S615), the process returns to Step S614. If the activation of the OS has been completed (Yes in S615), the process proceeds to Step S616.
  • step S615 when the completion of OS activation of the second processor 111 can be confirmed (Yes in S615), in step S616, the activation management unit 121a stores the OS of the second processor 111 stored in the OS activation completion flag storage unit 126. Set the start complete flag to “start complete”. As shown in FIG. 13, by performing the process of step S616, the OS boot completion flag 126a stored in the OS boot completion flag storage unit 126 is stored in the flag storage area 126c for the second processor 111. , Information indicating “start-up completion” is stored.
  • the activation management unit 121a stores the OS stored in the OS activation completion flag storage unit 126 in step S617.
  • the activation completion flag 126a information indicating “activation failure” is stored in the flag storage area 126c for the second processor 111.
  • the activation management unit 121a notifies the first processor 101 of an instruction to complete the activation log acquisition of the second processor 111 (S618). Upon receiving such a completion notification (S512), the first processor 101 stops the activation log acquisition of the second processor 111.
  • This notification can be realized by the activation management unit 121a monitoring a specific terminal of the first processor 101 in the same manner as when the boot loader activation is completed. For example, the activation management unit 121a can recognize that a specific terminal of the first processor 101 has changed from a high level to a low level. Then, the processing in the control unit 121 proceeds to step S619 in FIG.
  • step S619 of FIG. 4 the activation management unit 121a determines the OS activation states of the first processor 101 and the second processor 111 based on the OS activation completion flag stored in the OS activation completion flag storage unit 126. If at least one of the first processor 101 and the second processor 111 has successfully started the OS (No in S619), the boot process in the boot management unit 121a is terminated (S620). On the other hand, if the OS has failed to start in both the first processor 101 and the second processor 111 (Yes in S619), the process proceeds to step S621.
  • step S621 the activation management unit 121a updates the activation surface information stored in the program activation surface storage unit 125 so that the activation surface is opposite to the current activation surface. Then, the start management unit 121a adds “1” to the number of start failures in the start failure number storage unit 127, and restarts both the first processor 101 and the second processor 111.
  • the first processor 101 confirms the OS activation state of the second processor 111.
  • the first processor 101 inquires of the activation management unit 121a whether the activation state of the OS of the second processor 111 is activation completion or activation failure.
  • the activation management unit 121a refers to the OS activation completion flag 126a stored in the OS activation completion flag storage unit 126 and notifies the first processor 101 of the OS activation state of the second processor 111. To do.
  • the first processor 101 determines the OS activation state of the second processor 111 based on such notification. If the second processor 111 has failed to start (Yes in S513), the process proceeds to step S514. If the second processor 111 has completed starting (No in S513), the process proceeds to step S515.
  • step S514 the first processor 101 stores the startup log of the second processor 111 temporarily stored in the first RAM 103 in the HDD 105 or the second processor startup log area of the first ROM 102 (see FIG. 5). To do. Then, the process proceeds to step S621. On the other hand, in step S515, the first processor 101 executes a program necessary for the monitoring recorder 100.
  • step S713 the second processor 111 confirms the OS activation state of the first processor 101.
  • the second processor 111 inquires of the activation management unit 121a whether the activation state of the OS of the first processor 101 is the activation completion or the activation failure.
  • the activation management unit 121a refers to the OS activation completion flag 126a stored in the OS activation completion flag storage unit 126 to notify the second processor 111 of the activation state of the first processor 101. .
  • the second processor 111 determines the OS activation state of the first processor 101 based on such notification. If the first processor 101 has failed to start (Yes in S713), the process proceeds to step S714. If the first processor 101 has completed starting (No in S713), the process proceeds to step S715.
  • step S714 the second processor 111 stores the activation log of the first processor 101 temporarily stored in the second RAM 113 in the first processor activation log area (see FIG. 9) of the second ROM 112. With the processing up to this point, even when the OS of the first processor 101 fails to start, it is possible to store the startup log of the first processor 101, and it is possible to easily investigate the cause of the OS startup failure. can get. In addition, this effect makes it possible to investigate the cause when the OS fails to start up on the monitoring recorder installed at the customer and speed up the countermeasures, thereby improving the service response to the customer. . Then, the process proceeds to step S621. On the other hand, in step S715, the second processor 111 executes a program necessary for the monitoring recorder 100.
  • step S621 the first processor 101 is started up using another main program in the first ROM 102, and the second processor 111 is started up using another main program in the second ROM 112. If it is not a start-up failure caused by, the probability of normal start is very high. For this reason, the quality of the system in the monitoring recorder 100 can be improved. After the activation, for example, the first processor 101 or the second processor 111 can recognize that some activation failure occurred at the previous activation when the number of activation failures in the activation failure number storage unit 127 is not zero.
  • the first processor 101 or the second processor 111 uses the startup log of the second processor 111 stored in the HDD 105 or the first ROM 102 or the startup log of the first processor 101 stored in the second ROM 112 as a user. Or the user can be notified that the startup log is stored.
  • the second processor 111 can display a screen for displaying a startup log on the display device 150 or a screen indicating that the startup log is stored.
  • the first processor 101 can generate an e-mail including information indicating that the activation log is stored, and can transmit the e-mail to a predetermined user terminal via the network controller 104.
  • the activation management unit 121a may notify the user that the activation log is stored by blinking the error LED 124.
  • the monitoring recorder 200 includes a first processor 101, a first ROM 102, a first RAM 103, a network controller 104, an HDD 105, a first LAN controller 106, 2 processor 211, 2nd ROM112, 2nd RAM113, 2nd LAN controller 114, control part 121, reset control part 122, timer 123, error LED124, program starting side storage part 125, and OS starting completion flag
  • a storage unit 126, a startup failure frequency storage unit 127, a serial communication path 130, and a LAN 131 are provided.
  • the monitoring recorder 200 according to the second embodiment is configured in the same manner as the monitoring recorder 100 according to the first embodiment, except that the method of using the second RAM 113 of the second processor 211 is different.
  • the address 0x88000000 or later is set as the log area. For this reason, in Embodiment 1, it is not possible to determine how far the acquired activation log has been written. Therefore, the second processor 211 in the second embodiment counts the total data size of the startup log when the startup log is acquired, and uses the total of the counted data size as header information when the startup log acquisition ends. Write at the beginning of.
  • the second processor 211 writes the activation log in the area 60 after the address 0x88000010 of the second RAM 113, and writes the data size of the activation log in the area 61 of the address 0x88000000 after the data is written.
  • the second processor 211 refers to the data size of the activation log described in the area 61 of the address 0x88000000, Data for that size is written into the second ROM 112. With this configuration, the size of data written to the second ROM 112 can be reduced, and the processing time for writing to the second ROM 112 can be reduced.
  • the processing when the second processor 211 stores the activation log of the first processor 101 in the second RAM 113 is described.
  • the first processor 101 stores the activation log of the second processor 211 in the first RAM 103. Similar processing may be performed when storing the activation log.
  • FIG. 15 is a block diagram schematically showing the configuration of the monitoring recorder 300 according to the third embodiment.
  • the monitoring recorder 300 according to the third embodiment includes a first processor 301, a first ROM 102, a first RAM 103, a network controller 104, an HDD 105, a first LAN controller 106, 2 processor 311, second ROM 112, second RAM 113, second LAN controller 114, control unit 121, reset control unit 122, timer 123, error LED 124, program startup surface storage unit 125, OS startup completion flag A storage unit 126, a startup failure frequency storage unit 127, a serial communication path 130, and a LAN 131 are provided.
  • the monitoring recorder 300 according to the third embodiment is configured in the same manner as the monitoring recorder 100 according to the first embodiment, except for the processing in the first processor 301 and the second processor 311.
  • a server 360 is connected to the network 141.
  • the startup log of the first processor 101 acquired by the second processor 111 is stored in the second ROM 112.
  • the second ROM 112 is composed of a Flash ROM, the number of data writing is limited.
  • the HDD 105 has no write restriction.
  • the entire start log of the first processor 301 acquired by the second processor 311 is added to the start log when the second processor 311 starts the OS, and is transmitted to the first processor 301. .
  • the first processor 301 can acquire its own startup log, and the startup logs of the first processor 301 and the second processor 311 can be consolidated into one.
  • the first processor 301 or the second processor 311 can store a startup log in the HDD 105 each time the startup is performed even when the startup is normally performed. For this reason, it is possible to acquire a startup log that starts up but is different from the usual, or a startup log that includes a sign that it will not start up, and the startup log can be used effectively.
  • the first processor 301 temporarily stores in the server 360 connected to the network 141 the startup log stored in the HDD 105, the startup log stored in the first ROM 102 and the second ROM 112, or the first RAM 103 and the second RAM 113.
  • a saved startup log may be transmitted and stored.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

 第1プロセッサ(101)は、メインプログラムを起動させる際に、メインプログラムを起動する処理の履歴を構成する第1起動ログを第2プロセッサ(111)に送り、第2プロセッサ(111)は、第1プロセッサ(101)から送られてきた第1起動ログを第2RAM(113)に記憶させるとともに、メインプログラムを起動させる際に、メインプログラムを起動する処理の履歴を構成する第2起動ログを第1プロセッサ(101)に送り、第1プロセッサ(101)は、第2起動ログを第1RAM(103)に記憶させ、予め定められた時間内に、第1プロセッサ(101)で第1メインプログラムの起動が完了しないときには、第2プロセッサ(111)が第2メインプログラムの起動を開始する。

Description

監視レコーダ及びその起動方法
 本発明は、監視レコーダ及びその起動方法に関し、特に、複数のプロセッサを有する監視レコーダ及びその起動方法に関する。
 近年、デジタル映像技術、映像圧縮技術及び映像データ蓄積技術等が進展し、それら技術を応用して構成する監視レコーダシステムも急速に普及している。監視レコーダシステムは、監視カメラで撮影した映像を、Motion JPEGやMPEG(Moving Picture Expets Group)等の映像圧縮技術を用いて圧縮した圧縮映像データとしてレコーダに送信する。レコーダは、その圧縮映像データの記憶及び再生を行う。
 監視レコーダでは、監視カメラからの圧縮映像データを全てハードディスクに記憶し、その記憶した複数の圧縮映像データをMPEGデコーダ等で同時に伸張再生し、4個、9個、あるいは16個の映像をモニタ等の表示器上に同時に分割表示することが求められる。
 複数の圧縮映像データを再生し表示する再生表示処理においては、分割表示数が多くなればなるほど処理負荷も高くなる。監視カメラからの圧縮映像データをハードディスクに記憶する記憶処理を含めた監視レコーダとしての処理を単一のプロセッサで実現すると、分割表示数によっては、記憶処理が間に合わなくなり、監視カメラから送信される圧縮映像データの記憶処理が間に合わず、データを取りこぼす問題が発生する。
 このような記憶処理が間に合わない状況に陥らないようにするために、記憶処理を担当するプロセッサとは別に、再生表示処理を担当するプロセッサを設けることで、再生表示処理負荷の影響を、記憶処理に及ぼさないようにすることができる。
 このように、複数のプロセッサを搭載して監視レコーダを構成する場合、それぞれのプロセッサが確実に起動する必要がある。特許文献1に記載された情報処理装置は、プロセッサ各々の起動処理がどこまで進んだかという情報を起動情報として別のプロセッサのメモリデバイスに書き込み、それぞれのプロセッサは、自己に接続されたメモリデバイスを参照することで、別のプロセッサの起動状況を把握し、別のプロセッサの起動に異常が発生したか否かを検知することができる(例えば、特許文献1)。
特開2012-234483号公報(段落0019~0119、図1~図7)
 特許文献1に記載の情報処理装置は、2つのプロセッサにそれぞれメモリデバイスを接続し、それぞれの起動ログを別のプロセッサの管理するメモリに保存する構成になっている。このため、一方のプロセッサから別のプロセッサに接続されているメモリデバイスに直接アクセスできるようにバスブリッジを搭載する必要がある。
 しかしながら、一般にバスブリッジは、例えばPCI(Peripheral Component Interconnect)や、PCIe(PCI Express)等の汎用インターフェースを用いて接続されることが多く、汎用インターフェースを動作させるため、動作クロックの設定及びアクセスタイミングの設定等を行う必要がある。このような設定は、一般的にはプログラムを実行することで実現されるが、プログラムが正しく動作しない場合には、バスブリッジが正常に動作せず、一方のプロセッサから別のプロセッサに接続されているメモリデバイスにアクセスできなくなるという問題がある。
 また、既にIC(Integrated Circuit)として構成されているプロセッサを使用して、監視レコーダを構成する場合、ICにバスブリッジの機能が搭載されていなければ、バスブリッジを追加搭載してメモリデバイスを共有化する必要がある。このため、システム構成が複雑になるという問題がある。
 そこで、本発明は、複数のプロセッサを簡易的な通信方法で接続して、起動時のログをお互いが記憶するように構成し、一方のプロセッサが起動失敗した場合でも、別のプロセッサに記憶されている起動失敗時のログを参照することで、起動不具合原因を解析できるようにすることを目的とする。
 本発明の一態様に係る監視レコーダは、第1メインプログラム及び当該第1メインプログラムの起動を行う第1起動プログラムを記憶する第1不揮発メモリと、第1揮発メモリと、前記第1起動プログラムを前記第1揮発メモリに読み出して、実行することで、前記第1メインプログラムを起動させる第1プロセッサと、第2メインプログラム及び当該第2メインプログラムの起動を行う第2起動プログラムを記憶する第2不揮発メモリと、第2揮発メモリと、前記第2起動プログラムを前記第2揮発メモリに読み出して、実行することで、前記第2メインプログラムを起動させる第2プロセッサと、前記第1プロセッサ及び前記第2プロセッサの起動を管理する起動管理部と、第2プロセッサを起動させる指示を前記起動管理部に行わせる強制起動部と、を備え、前記第1プロセッサは、前記第1起動プログラムを実行することで、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、前記第2プロセッサは、前記第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを前記第2揮発メモリに記憶させ、前記起動管理部は、前記第1プロセッサでの第1メインプログラムの起動完了時に、前記第2プロセッサに前記第2メインプログラムの起動開始を指示し、前記第2プロセッサは、前記第2メインプログラムの起動を開始し、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、前記第1プロセッサは、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを前記第1揮発メモリに記憶させ、前記強制起動部は、予め定められた時間内に、前記第1プロセッサで第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムを起動開始するように、前記起動管理部に指示させることを特徴とする。
 本発明の一態様に係る起動方法は、第1プロセッサ及び第2プロセッサを備える監視レコーダの起動方法であって、第1プロセッサが、第1メインプログラムの起動を行う第1起動プログラムを実行することで、前記第1メインプログラムを起動するとともに、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを記憶し、前記第1プロセッサでの前記第1メインプログラムの起動完了時に、前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第2メインプログラムを起動するとともに、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、前記第1プロセッサが、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを記憶し、予め定められた時間内に、前記第1プロセッサで前記第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムの起動を開始することを特徴とする。
 本発明の一態様によれば、複数のプロセッサを簡易的な通信方法で接続して、起動時のログをお互いが記憶するように構成されているため、一方のプロセッサが起動失敗した場合でも、別のプロセッサに記憶されている起動失敗時のログを参照することで、起動不具合原因を解析することができる。
実施の形態1及び2に係る監視レコーダの構成を概略的に示すブロック図である。 実施の形態1における、第1プロセッサ、第2プロセッサ及び制御部の処理の流れを説明するシーケンス図(その1)。 実施の形態1における、第1プロセッサ、第2プロセッサ及び制御部の処理の流れを説明するシーケンス図(その2)。 実施の形態1における、第1プロセッサ、第2プロセッサ及び制御部の処理の流れを説明するシーケンス図(その3)。 実施の形態1における第1ROMに記憶されているプログラムの配置例を示す概略図である。 実施の形態1における第1プロセッサがOSを実行しているときの第1RAMのプログラムの配置例を示す概略図である。 実施の形態1における第2プロセッサが、第1プロセッサからシリアル通信路で送信される起動ログを取得しているときの第2RAMのプログラムの配置例を示す概略図である。 実施の形態1におけるOS起動完了フラグの第1の例を示す概略図である。 実施の形態1における第2ROMに記憶されているプログラムの配置例を示す概略図である。 実施の形態1における第2RAMの利用例を示す概略図(その1)である。 実施の形態1における第2RAMの利用例を示す概略図(その2)である。 実施の形態1における第2RAMの利用例を示す概略図(その3)である。 実施の形態1におけるOS起動完了フラグの第2の例を示す概略図である。 実施の形態2における第2RAMの利用例を示す概略図である。 実施の形態3に係る監視レコーダの構成を概略的に示すブロック図である。
実施の形態1.
 図1は、実施の形態1に係る情報処理装置としての監視レコーダ100の構成を概略的に示すブロック図である。
 図1において、符号100は、監視レコーダであり、符号140は、監視カメラである。監視カメラ140は、監視レコーダ100とネットワーク141で接続されている。監視カメラ140は、撮影された映像をMPEG等の映像圧縮技術を用いて圧縮した圧縮映像データとして監視レコーダ100に送信する。
 監視レコーダ100は、第1プロセッサ101と、第1ROM(Read Only Memory)102と、第1RAM(Random Access Memory)103と、ネットワークコントローラ104と、HDD(Hard Disk Drive)105と、第1LAN(Local Area Network)コントローラ106と、第2プロセッサ111と、第2ROM112と、第2RAM113と、第2LANコントローラ114と、制御部121と、リセット制御部122と、タイマ123と、エラーLED124と、プログラム起動面記憶部125と、OS起動完了フラグ記憶部126と、起動失敗回数記憶部127と、シリアル通信路130と、LAN131とを備える。
 図1の括弧内の符号は、実施の形態2における構成を示す。
 第1プロセッサ101は、主に記憶処理を行うプロセッサである。第1プロセッサ101は、第2プロセッサ111とシリアル通信を行うため、シリアル通信機能を備えている。
 第1ROM102は、第1プロセッサ101を動作させるためのプログラムを記憶した記憶装置(不揮発メモリ)である。第1ROM102は、プログラムアップデートを実現するために、少なくとも2種類のメインプログラム(第1メインプログラム及び第2メインプログラム)を記憶する。言い換えると、2種類のメインプログラムのうち、一方を使って実行しているときには、もうひとつのメインプログラムをアップデート(書き換え)することができる。また、プログラムアップデート後に、システムを再起動して、第1ROM102に記憶されている新しいバージョンのメインプログラムを実行することでシステムの更新を行うことができる。仮に新しいバージョンのメインプログラムに何らかの不具合があって、正常に起動できない場合には、後述する起動不具合の検出方法によって、第1プロセッサ101を再起動し、元のメインプログラムを使って起動させる。なお、第1ROM102は、Read Only Memoryではあるが、特別なコマンドによりデータを書き換え可能なROM(いわゆるFlashROM)である。ここで、第1プロセッサ101は、メインプログラムを実行することで、監視レコーダ100における記憶処理及び第2プロセッサ111の起動ログの取得処理を行う。起動ログは、メインプログラムを起動する処理の履歴を構成するデータである。
 また、第1ROM102は、第1プロセッサ101のメインプログラムの起動を行う起動プログラムであるブートローダを記憶する。第1プロセッサ101は、ブートローダを第1RAM103に読み出して、実行することで、メインプログラムを起動させる。そして、第1プロセッサ101は、メインプログラムを起動する際の処理の履歴を構成する起動ログを第2プロセッサ111にシリアル通信路130を介して送る。例えば、第1プロセッサ101は、メインプログラムの起動時に予め定められた処理を行うと、予め定められた起動ログをシリアル通信路130を介して第2プロセッサ111に送る。第2プロセッサ111では、第1プロセッサ101からの起動ログをシリアル通信路130を介して蓄積することにより、第1プロセッサ101のメインプログラムの起動時の処理の履歴を取得することができる。
 第1RAM103は、第1プロセッサ101がプログラムを実行するための一時記憶装置(揮発メモリ)である。
 ネットワークコントローラ104は、ネットワーク141との間で通信を行う通信部である。例えば、ネットワークコントローラ104は、監視カメラ140からの圧縮映像データを受信する。
 HDD105は、監視レコーダ100で必要なデータを記憶する記憶装置である。例えば、HDD105は、ネットワークコントローラ104で受信された圧縮映像データを記憶する。なお、HDD105は、書き込み回数に制限のない記憶装置である。
 第1LANコントローラ106は、第2プロセッサ111に圧縮映像データを送信する。
 第2プロセッサ111は、監視レコーダ100において、主に再生表示処理を行うプロセッサである。例えば、第2プロセッサ111は、第1プロセッサ101から、LAN131を介して圧縮映像データを受信して、圧縮映像データを伸張し、表示部としての表示装置150に表示させる。第2プロセッサ111は、第1プロセッサ101とシリアル通信を行うため、シリアル通信機能を備えている。
 第2ROM112は、第2プロセッサ111を動作させるためのプログラムを記憶した記憶装置(不揮発メモリ)である。第2ROM112は、プログラムアップデートを実現するために、少なくとも2種類のメインプログラム(第1メインプログラム及び第2メインプログラム)を記憶する。言い換えると、2種類のメインプログラムのうち、一方を使って実行しているときには、もうひとつのメインプログラムをアップデート(書き換え)することができる。また、プログラムアップデート後に、システムを再起動して、第2ROM112に記憶されている新しいバージョンのメインプログラムを実行することでシステムの更新を行うことができる。仮に新しいバージョンのメインプログラムに何らかの不具合があって、正常に起動できない場合には、後述する起動不具合の検出方法によって、第1プロセッサ101を再起動し、元のメインプログラムを使って起動させる。なお、第2ROM112は、Read Only Memoryではあるが、特別なコマンドによりデータを書き換え可能なROM(いわゆるFlashROM)である。ここで、第2プロセッサ111は、メインプログラムを実行することで、監視レコーダ100における再生表示処理を行う。
 また、第2ROM112は、第2プロセッサ111のメインプログラムの起動を行う起動プログラムであるブートローダを記憶する。第2プロセッサ111は、ブートローダを第2RAM113に読み出して、実行することで、第1プロセッサ101から、シリアル通信路130を介して送信される起動ログの取得処理を行う。また、第2プロセッサ111は、ブートローダを第2RAM113に読み出して、実行することで、メインプログラムを起動させる。そして、第2プロセッサ111は、メインプログラムの起動時の処理の履歴を構成する起動ログを第1プロセッサ101にシリアル通信路130を介して送る。例えば、第2プロセッサ111は、メインプログラムの起動時に予め定められた処理を行うと、予め定められた起動ログをシリアル通信路130を介して第1プロセッサ101に送る。第1プロセッサ101では、第2プロセッサ111からシリアル通信路130を介して送信される起動ログを蓄積することにより、第2プロセッサ111のメインプログラムの起動時の処理の履歴を取得することができる。
 第2RAM113は、第2プロセッサ111がプログラムを実行するための一時記憶装置(揮発メモリ)である。
 第2LANコントローラ114は、第1LANコントローラ106から送信された圧縮映像データを受信する。
 シリアル通信路130は、第1プロセッサ101及び第2プロセッサ111をシリアル通信で接続するための通信路である。
 LAN131は、第1LANコントローラ106と、第2LANコントローラ114とを接続するための通信路である。
 制御部121は、第1プロセッサ101及び第2プロセッサ111の管理を行う。
 制御部121は、起動管理部121aと、強制起動部121bとを備える。
 起動管理部121aは、第1プロセッサ101及び第2プロセッサ111の起動を管理する。例えば、起動管理部121aは、第1プロセッサ101と、第2プロセッサ111のリセット制御、起動状態監視、及び、起動するメインプログラムの指示等を行う。
 強制起動部121bは、第1プロセッサ101にてメインプログラムの起動が完了しないとき、起動管理部121aに指示して、第2プロセッサ111にメインプログラムを起動させる。言い換えると、強制起動部121bは、予め定められた時間内に、第1プロセッサ101で第1メインプログラムの起動が完了しないときには、第2プロセッサ111が第2メインプログラムを起動開始するように、起動管理部121aに指示させる。
 リセット制御部122は、電源ON時に起動管理部121aに対してリセット制御を行う。
 タイマ123は、時間を計測する。例えば、タイマ123は、起動管理部121aから設定された時間からカウントダウンして、「0」になると起動管理部121aに通知する。
 エラーLED124は、第1プロセッサ101及び第2プロセッサ111のいずれも起動不具合となった場合のエラー状態を表示するための表示デバイスである。
 プログラム起動面記憶部125は、第1ROM102及び第2ROM112に記憶されている2種類のメインプログラムのうち、どちらから起動するかの起動面を指定する起動面情報を記憶する。起動するメインプログラムの指示は、第1プロセッサ101又は第2プロセッサ111が、起動管理部121aに問合せを行い、起動管理部121aが、プログラム起動面記憶部125に記憶されている起動面情報に基づいて、起動するメインプログラムを伝えることで行われる。
 OS起動完了フラグ記憶部126は、OSの起動が完了したか、OSの起動が失敗したかを示すOS起動完了フラグを記憶する。
 起動失敗回数記憶部127は、OSの起動に失敗した回数を示す起動失敗回数を記憶する。
 ここで、制御部121及びリセット制御部122は、CPLD(Complex Programmable Logic Device)又はFPGA(Field Programmable Gate Array)等で実現することができる。なお、プログラム起動面記憶部125及び起動失敗回数記憶部127は、ROM等の書き換え可能な不揮発メモリ、OS起動完了フラグ記憶部126は、RAM等の揮発メモリにより実現することができる。
 次に、システム起動時の動作について、図2~図4のフロー図を用いて説明する。
 図2~図4は、第1プロセッサ101、第2プロセッサ111及び制御部121の処理の流れを説明するシーケンス図である。なお、図2~図4では、メインプログラムとしてOS(Operating System)が起動される。
 まず、監視レコーダ100の電源がONにされることで、第1プロセッサ101、第2プロセッサ111及び制御部121の電源がONになる(S501)。
 制御部121は、電源ON(S501)の後、リセット制御部122の制御に従って、リセットが解除される(S601)。この時、第1プロセッサ101及び第2プロセッサ111は、制御部121からの制御でリセット状態となっている。
 次に、制御部121の起動管理部121aは、第1プロセッサ101と第2プロセッサ111のリセット解除を行う(S502、S701)とともに、タイマ123に対して、5秒の時間を設定し、カウントダウンをスタートさせる(S602)。
 第1プロセッサ101は、起動管理部121aがリセットを解除すると(S502)、ブートローダと呼ばれる起動プログラムを起動させる(S503)。
 また、第2プロセッサ111も、起動管理部121aがリセットを解除すると(S701)、ブートローダを起動させる(S702)。
 ここで、ブートローダは、プロセッサの動作に必要な設定を行い、システムに必要なメインプログラムであるオペレーティングシステム(OS)を読み出して実行することまでを行うプログラムである。
 第1プロセッサ101は、ブートローダを起動することで、プロセッサのクロック設定、キャッシュ設定、第1ROM102のアクセスパラメータの設定、第1RAM103の初期化、シリアル通信路130に必要なコントローラの設定、及び、第1プロセッサ101の入出力ポートの設定等、必要最小限の設定のみを行ったあと、ブートローダの起動完了通知を起動管理部121aに行う(S504)。言い換えると、第1プロセッサ101は、ブートローダの起動がOSを読み出す前まで完了すると、起動管理部121aにブートローダ起動完了の通知を行う。
 その後、第1プロセッサ101は、ブートローダを起動することで、OSを第1ROM102から読み出して、第1RAM103にコピーし、OSを実行するところまでを行う(S505)。そして、第1プロセッサ101での処理は、図3のステップS506に進む。
 第2プロセッサ111でも同様に、ブートローダを起動することで、プロセッサのクロック設定、キャッシュ設定、第2ROM112のアクセスパラメータの設定、第2RAM113の初期化、シリアル通信路130に必要なコントローラの設定、及び、第2プロセッサ111の入出力ポートの設定等、必要最小限の設定のみを行ったあと、ブートローダの起動完了通知を行う(S703)。言い換えると、第2プロセッサ111も、ブートローダの起動がOSを読み出す前まで完了すると、起動管理部121aにブートローダ起動完了の通知を行う。
 その後、第2プロセッサ111は、ブートローダを起動することで、OSを第2ROM112から読み出して、第2RAM113にコピーし、OSを実行するところまでを行う(S704)。そして、第2プロセッサ111での処理は、図3のステップS705に進む。
 なお、ブートローダの起動完了通知は、例えば、第1プロセッサ101及び第2プロセッサ111の特定の端子を起動管理部121aが監視することで実現できる。具体的には、第1プロセッサ101の特定の端子が、リセット解除後に、HighレベルからLowレベルに変化したことを起動管理部121aが監視することで、把握することができる。第2プロセッサ111から起動管理部121aに通知する場合も同様である。
 なお、ネットワークコントローラ104、HDD105、第1LANコントローラ106及び第2LANコントローラ114については、それらを動作させるために必要なプログラムが多く、OSを起動させるまでは必要ではないので、ブートローダでは初期化等を行わず、OS起動時に初期化及び設定等が行われ、使用可能になる。
 第1プロセッサ101及び第2プロセッサ111がブートローダを起動させている間、起動管理部121aは、タイマ123から時間の経過が通知されたか否かを確認する(S603)。ここで、第1プロセッサ101及び第2プロセッサ111のブートローダの起動完了通知の前に、ステップS602で設定した5秒の時間が経過した場合(S603でYes)、言い換えると、5秒以内に、ブートローダの起動が完了しなかった場合には、何らかの問題が発生したと判断し、エラーLED124を点滅させて利用者に知らせる(S604)。ブートローダは、前述の通り、クロックの初期化及びRAMの初期化等、ハードウエアの基本的な設定のみをおこなっているプログラムであるため、ブートローダの起動が完了しない(ブートローダの起動完了通知まで処理が進まない)場合は、ハードウエア故障の可能性が高い。このため、起動管理部121aは、それ以降の処理を中止し、その旨をエラーLED124に表示させる。言い換えると、第1プロセッサ101及び第2プロセッサ111が、ブートローダの実行を開始してから、予め定められた処理が行われる前に、予め定められた時間が経過した場合には、ブートローダの起動エラーとして、通知が行われる。
 次に、起動管理部121aは、第1プロセッサ101及び第2プロセッサ111からブートローダ起動完了通知を受信したか否かを確認する(S605)。受信していない場合(S605でNo)には、起動管理部121aの処理はステップS603に戻る。両方からのブートローラ起動完了通知を受信した場合(S605でYes)には、起動管理部121aの処理は、図3のステップS606に進む。
 図3のステップS506では、第1プロセッサ101は、起動プログラムを実行して、起動管理部121aに指示することで、プログラムの起動面を確認する。起動管理部121aは、プログラム起動面記憶部125に記憶されている起動面を指定する情報を第1プロセッサ101に通知し、第1プロセッサ101は、起動面を指定する情報に基づいて、指定されるOSを第1ROM102から読み出して、OSを起動する(S507)。
 図5は、第1ROM102に記憶されているプログラムの配置例を示す概略図である。
 第1ROM102は、ブートローダ10と、第1プロセッサ用第1メインプログラム11と、第1プロセッサ用第2メインプログラム12と、第2プロセッサの起動ログ13とを記憶する。
 ブートローダ10は、第1プロセッサ101用のブートローダである。第1プロセッサ101のリセット解除後は、第1プロセッサ101は、必ず、アドレス0x00000000番地からプログラムを読み出し、実行するように構成されているため、ブートローダ10は、アドレス0x00000000番地から配置される。
 第1プロセッサ用第1メインプログラム11及び第1プロセッサ用第2メインプログラム12は、第1プロセッサ101用のOSを含む。第1プロセッサ101は、起動管理部121aに指示することで、プログラムの起動面を確認し、その指示に従って、第1プロセッサ用第1メインプログラム11又は第1プロセッサ用第2メインプログラム12に含まれるOSを読み出し、実行する。
 第2プロセッサの起動ログ13は、後述のようにして、第2プロセッサ111から送られてきた起動ログである。
 図3に戻り、第1プロセッサ101は、ブートローダを第1RAM103に読み出して、実行することで、OSの起動面を確認(S506)し、OSを起動する(S507)。OSは、第1プロセッサ101上で動作するプログラムの基本システムであり、OSを起動することで、第1プロセッサ101は、ネットワークコントローラ104、HDD105及び第1LANコントローラ106の初期設定、並びに、必要なプログラムの初期化を行う。その時の起動ログについては、シリアル通信路130に出力され、第2プロセッサ111が受信する(S508)。
 図6は、第1プロセッサ101がOSを実行しているときの第1RAM103のプログラムの配置(メモリマップ)例を示す概略図である。
 第1RAM103は、アドレス0xC0000000から配置され、アドレス0xFFFFFFFFまでの1GByte分搭載されているとする。なお、OSがメモリ内でどのように動作していくかについては、次の通りである。
 OSには、1GByteあるメモリのうち、アドレス0xC0000000から、アドレス0xBFFFFFFFまでの512MByteの領域20が割り当てられている。このような場合、OSは、メモリを有効に使用するため、メモリ領域の先頭から配置され、OSが利用可能な範囲まで確保する。その領域20の中に、ネットワークコントローラ104用のバッファ21や、LANコントローラ106用のバッファ22及びHDDドライブにアクセスするためのバッファ23等が適宜配置される。
 図3のステップS705では、第2プロセッサ111は、ブートローダを第2RAM113に読み出して、実行することで、第1プロセッサ101からシリアル通信路130を介して送信された起動ログを受信し、第2RAM113に記憶する。
 図7は、第2プロセッサ111が、第1プロセッサ101からシリアル通信路130で送信される起動ログを取得しているときの第2RAM113のプログラムの配置(メモリマップ)例を示す概略図である。
 第2RAM113は、アドレス0x80000000から配置され、アドレス0xFFFFFFFFまでの2GByte分搭載されているとする。
 ブートローダは、この2GByteを全て利用することが可能であるが、OSの実行を考慮すると、アドレス0x81000000から0x81FFFFFFまでの16MByteの領域30をワークメモリとして使用する。また、第2ROM112に記憶されているOSを一旦コピーする領域31として、アドレス0x08200000からの16MByteが確保されている。
 そして、第1プロセッサ101がシリアル通信路130を介して送信してくる起動ログを、第2プロセッサ111は、第2RAM113のアドレス0x88000000以降の領域32に順次書き込んでいく。
 図2において、第1プロセッサ101及び第2プロセッサ111からブートローダ起動完了通知を受けた後(S605でYes)、図3のステップS606において、起動管理部121aは、タイマ123に対して、30秒の時間を設定して、カウントダウンをスタートさせる。この30秒の時間は、第1プロセッサ101でのOSの起動の失敗を判断する時間である。30秒以内に第1プロセッサ101のOS起動が完了しなければ、起動管理部121aは、OSの起動に何らかの問題があったと判断する。
 そして、起動管理部121aは、タイマ123から時間の経過が通知されたか否かを確認する(S607)。時間の経過が通知されていなければ(S607でNo)、処理はステップS608に進み、時間の経過が通知されていれば(S607でYes)、処理はステップS611に進む。
 ステップS608では、起動管理部121aは、第1プロセッサ101でOSの起動が完了したか否かを確認する。OSの起動が完了していなければ(S608でNo)、処理はステップS607に戻り、OSの起動が完了していれば(S608でYes)、処理はステップS609に進む。
 第1プロセッサ101は、OSの起動が完了すると(S509)、起動管理部121aにOS起動完了の通知を行う(S510)。この通知は、ブートローダ起動完了のときと同様に、第1プロセッサ101の特定の端子を起動管理部121aが監視することで実現できる。例えば、第1プロセッサ101の特定の端子(ブートローダ起動完了通知の端子とは別)が、リセット解除後に、HighレベルからLowレベルに変化したことを起動管理部121aが監視することで、把握することができる。
 ステップS608において、第1プロセッサ101のOS起動完了が確認できると(S608でYes)、ステップS609において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されている第1プロセッサ101のOS起動完了フラグを「起動完了」にセットする。次に、起動管理部121aは、第2プロセッサ111にOSを起動させるため(S610)、そのような指示を行う(S706)。
 図8は、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aの一例を示す概略図である。
 OS起動完了フラグ126aは、第1プロセッサ101用のフラグ格納領域126bと、第2プロセッサ111用のフラグ格納領域126cとを備える。ステップS609での処理により、第1プロセッサ101用のフラグ格納領域126bに、「起動完了」を示す情報が格納されている。
 図3に戻り、ステップS607で、30秒の時間が経過している場合(S607でYes)には、ステップS611において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aにおいて、第1プロセッサ101用のフラグ格納領域126bに「起動失敗」を示す情報を格納する。このとき、強制起動部121bは、第1プロセッサのOSが起動失敗したと判断し、第2プロセッサ111にOSを強制的に起動させるため(S612)、起動管理部121aにそのような指示を行わせる(S707)。これにより、第1プロセッサのOSが起動失敗した場合においても、第2RAM113上に一時的に記憶していた第1プロセッサ101の起動ログを、第2ROM112の第1プロセッサ起動ログ領域(図9参照)に記憶することが可能となる。
 次に、起動管理部121aは、タイマ123に対して、30秒間の時間を設定してカウントダウンをスタートさせる(S613)。この30秒の時間は、第2プロセッサ111でのOSの起動の失敗を判断する時間である。30秒以内に第2プロセッサ111がOSの起動を完了しなければ、起動管理部121aは、OSの起動に何らかの問題があったと判断する。
 第2プロセッサ111は、ブートプログラムを第2RAM113に読み出して、実行し、起動管理部121aに指示することで、プログラムの起動面を確認する(S708)。起動管理部121aは、プログラム起動面記憶部125に記憶されている起動面を指定する情報を第2プロセッサ111に通知し、第2プロセッサ111は、起動面を指定する情報に基づいて、指定されるOSを第2ROM112から読み出して、OSを起動する(S709)。
 図9は、第2ROM112に記憶されているプログラムの配置例を示す概略図である。
 第2ROM112は、ブートローダ40と、第2プロセッサ用第1メインプログラム41と、第2プロセッサ用第2メインプログラム42と、第1プロセッサの起動ログ43とを記憶する。
 ブートローダ40は、第2プロセッサ111用のブートローダである。第2プロセッサ111は、OSの起動指示を受けると、必ず、アドレス0x00000000番地からプログラムを読み出し、実行するように構成されているため、ブートローダ40は、アドレス0x00000000番地から配置される。
 第2プロセッサ用第1メインプログラム41及び第2プロセッサ用第2メインプログラム42は、第2プロセッサ111用のOSを含む。第2プロセッサ111は、起動管理部121aに指示することで、プログラムの起動面を確認し、その指示に従って、第2プロセッサ用第1メインプログラム41又は第2プロセッサ用第2メインプログラム42に含まれるOSを読み出し、実行する。
 第1プロセッサの起動ログ43は、後述のようにして、第1プロセッサ101から送られてきた起動ログである。
 ここで、ブートローダが動作した後、OSが起動するときのメモリ(RAM)内での動作について説明する。OS(カーネルともいう)も実態はひとつの実行プログラムが動作しており、高速で動作するためにRAM上にプログラムを全て配置して実行される。この時、連続したメモリ領域のほうが効率的、かつ高速に動作することができるため、RAMの先頭からOSが配置される。
 ブートローダは、OS(カーネル)の実行イメージをROMからRAM上に一旦コピーして、それを実行することで、その後は、OSがRAMの先頭に配置される。そして、OSが動作していくに従って、メモリ配置は、OSが指定するメモリ配置に変更されていく。従って、ブートローダの配置したメモリ配置は、OSが起動し、OSの指定するメモリ配置でプログラムが動作するまでである。
 以上の動作を、第2プロセッサ111の例として、図10及び図11を用いて説明する。
 図10において、ブートローダは、OSダウンロード領域50にOS51をコピーする。そして、ブートローダは、OS51を実行する。
 OS51は、実行されると第2RAM113の先頭の領域52にプログラムを配置する。また、OS51は、例えば、第1プロセッサ101の起動ログを保存したログ記憶領域53(アドレス0x88000000以降の16MByte)についても、グラフィック用メモリ領域として割り当てる場合、起動ログが消えてしまう。このため、OS51は、図11に示されているように、ログ記憶領域53をグラフィック用メモリ領域として使用する前に、起動ログ54を、OSが使用する領域55にコピーする。
 その後、図12に示されているように、OS51は、ログ記憶領域をグラフィック用メモリ領域56として割り当て、それ以外のメモリ領域についても、例えば、デコーダ使用領域57等に割り当てる。
 この起動ログ54は、OSの使用する領域55に保存されているが、このような例に限定されない。例えば、起動ログ54は、第2RAM113上に一時的に生成されるRAMディスク、第2ROM112内に用意される起動ログ保存領域(図5参照)に保存されてもよい。
 また、起動不具合時に多くの起動ログが出力されることが多いが、起動不具合解析に必要な情報は、不具合発生直後に含まれることがほとんどで、不具合状態になってから出力される起動ログについては、あまり意味がない場合も多い。このため、起動ログ54として確保しておくメモリ容量は一定量(例えば、1MByte程度)でもかまわない。
 図3に戻り、第2プロセッサ111は、第1プロセッサ101の起動ログをOS起動後に確認可能な領域に退避させ、OSの起動を完了させると(S711)、完了通知を起動管理部121aに送信する(S712)。そして、第2プロセッサ111での処理は、図4のステップS713に進む。
 一方、第1プロセッサ101は、ステップS509でOSの起動を完了しており、第2プロセッサ111の起動ログの取得を行う(S511)。第2プロセッサ111は、第1プロセッサ101にシリアル通信路130を介して起動ログを送信する(S710)。
 第1プロセッサ101では、既にOSが起動した後であるため、第1プロセッサ101は、OS上で動作するシリアル通信データを取得するプログラムで、第2プロセッサ111の起動ログを取得し、その起動ログを、そのまま、既に動作しているHDD105に記憶してもよい。また、第1プロセッサ101は、起動ログを、第1RAM103上に一時的に生成するRAMディスクに保存し、第2プロセッサ111がOS起動に失敗したと判定されたときに、第1ROM102内の、第2プロセッサ111の起動ログの格納領域に保存してもよい。そして、第1プロセッサ101での処理は、図4のステップS513に進む。
 起動管理部121aは、ステップS613で、タイマ123に30秒の時間を設定した後、タイマ123から時間の経過が通知されたか否かを確認する(S614)。時間の経過が通知されていなければ(S614でNo)、処理はステップS615に進み、時間の経過が通知されていれば(S614でYes)、処理はステップS617に進む。
 ステップS615では、起動管理部121aは、第2プロセッサ111でOSの起動が完了したか否かを確認する。OSの起動が完了していなければ(S615でNo)、処理はステップS614に戻り、OSの起動が完了していれば(S615でYes)、処理はステップS616に進む。
 ステップS615において、第2プロセッサ111のOS起動完了が確認できると(S615でYes)、ステップS616において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されている第2プロセッサ111のOS起動完了フラグを「起動完了」にセットする。
 図13に示されているように、ステップS616の処理が行われることにより、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aにおいて、第2プロセッサ111用のフラグ格納領域126cに、「起動完了」を示す情報が格納される。
 図3に戻り、ステップS614で、30秒の時間が経過している場合(S614でYes)には、ステップS617において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aにおいて、第2プロセッサ111用のフラグ格納領域126cに「起動失敗」を示す情報を格納する。
 次に、起動管理部121aは、第1プロセッサ101に対して、第2プロセッサ111の起動ログ取得を完了する指示を通知する(S618)。このような完了通知を受けて(S512)、第1プロセッサ101は、第2プロセッサ111の起動ログ取得を停止する。この通知は、ブートローダ起動完了のときと同様に、第1プロセッサ101の特定の端子を起動管理部121aが監視することで実現できる。例えば、第1プロセッサ101の特定の端子が、HighレベルからLowレベルに変化したことを起動管理部121aが監視することで、把握することができる。そして、制御部121での処理は、図4のステップS619に進む。
 図4のステップS619では、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグに基づいて、第1プロセッサ101及び第2プロセッサ111のOS起動状態を判定する。そして、第1プロセッサ101及び第2プロセッサ111の少なくとも何れか一方において、OSの起動に成功している場合(S619でNo)には、起動管理部121aにおける起動処理を終了する(S620)。一方、第1プロセッサ101及び第2プロセッサ111の両方でOSの起動に失敗している場合(S619でYes)には、処理はステップS621に進む。
 ステップS621では、起動管理部121aは、プログラム起動面記憶部125に記憶されている起動面情報を、現在の起動面とは逆の起動面となるように更新する。そして、起動管理部121aは、起動失敗回数記憶部127の起動失敗回数に「1」を加算して、第1プロセッサ101及び第2プロセッサ111の両方を再起動する。
 また、図4のステップS513では、第1プロセッサ101は、第2プロセッサ111のOSの起動状態を確認する。例えば、第1プロセッサ101は、起動管理部121aに、第2プロセッサ111のOSの起動状態が起動完了か、起動失敗か、を問い合わせる。このような問い合わせを受けた起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aを参照して、第2プロセッサ111のOS起動状態を第1プロセッサ101に通知する。そして、第1プロセッサ101は、このような通知に基づいて、第2プロセッサ111のOSの起動状態を判定する。第2プロセッサ111が起動失敗の場合(S513でYes)には、処理はステップS514に進み、第2プロセッサ111が起動完了の場合(S513でNo)には、処理はステップS515に進む。
 ステップS514では、第1プロセッサ101は、第1RAM103上に一時的に記憶していた第2プロセッサ111の起動ログを、HDD105、又は、第1ROM102の第2プロセッサ起動ログ領域(図5参照)に記憶する。そして、処理はステップS621に進む。
 一方、ステップS515では、第1プロセッサ101は、監視レコーダ100に必要なプログラムを実行する。
 図4のステップS713では、第2プロセッサ111は、第1プロセッサ101のOSの起動状態を確認する。例えば、第2プロセッサ111は、起動管理部121aに、第1プロセッサ101のOSの起動状態が起動完了か、起動失敗か、を問い合わせる。このような問い合わせを受けた起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aを参照して、第1プロセッサ101の起動状態を第2プロセッサ111に通知する。そして、第2プロセッサ111は、このような通知に基づいて、第1プロセッサ101のOSの起動状態を判定する。第1プロセッサ101が起動失敗の場合(S713でYes)には、処理はステップS714に進み、第1プロセッサ101が起動完了の場合(S713でNo)には、処理はステップS715に進む。
 ステップS714では、第2プロセッサ111は、第2RAM113上に一時的に記憶していた第1プロセッサ101の起動ログを、第2ROM112の第1プロセッサ起動ログ領域(図9参照)に記憶する。ここまでの処理により、第1プロセッサ101のOSが起動失敗した場合においても、第1プロセッサ101の起動ログを保管しておくことが可能となり、OS起動失敗の原因調査を容易化できるという効果が得られる。また、この効果により、客先に設置された監視レコーダにてOSが起動失敗したときの原因調査及び対策の迅速化を図ることが可能となり、顧客へのサービス対応を向上できるという効果も得られる。そして、処理はステップS621に進む。
 一方、ステップS715では、第2プロセッサ111は、監視レコーダ100に必要なプログラムを実行する。
 ステップS621の再起動によって、第1プロセッサ101は、第1ROM102のもう一つのメインプログラムを用いて起動し、第2プロセッサ111は、第2ROM112のもう一つのメインプログラムを用いて起動するため、ハードウエアが原因の起動不具合でなければ、正常起動する確率は非常に高くなる。このため、監視レコーダ100におけるシステムの品質を高めることができる。
 起動後、例えば、第1プロセッサ101又は第2プロセッサ111は、起動失敗回数記憶部127の起動失敗回数がゼロでない場合、何らかの起動失敗が前回の起動時にあったと認識することができる。このため、第1プロセッサ101又は第2プロセッサ111は、HDD105又は第1ROM102に記憶されている第2プロセッサ111の起動ログ、又は、第2ROM112に記憶されている第1プロセッサ101の起動ログを利用者に表示したり、起動ログが記憶されていることを利用者に告知したりすることができる。例えば、第2プロセッサ111は、表示装置150に起動ログを表示する画面、又は、起動ログが記憶されていることを示す画面を表示させることができる。また、第1プロセッサ101は、起動ログが記憶されていることを示す情報を含む電子メールを生成し、ネットワークコントローラ104を介して、予め定められた利用者の端末に送信することができる。さらに、起動管理部121aは、エラーLED124を点滅させることで、起動ログが記憶されていることを利用者に通知してもよい。
実施の形態2
 図1に示されているように、実施の形態2に係る監視レコーダ200は、第1プロセッサ101と、第1ROM102と、第1RAM103と、ネットワークコントローラ104と、HDD105と、第1LANコントローラ106と、第2プロセッサ211と、第2ROM112と、第2RAM113と、第2LANコントローラ114と、制御部121と、リセット制御部122と、タイマ123と、エラーLED124と、プログラム起動面記憶部125と、OS起動完了フラグ記憶部126と、起動失敗回数記憶部127と、シリアル通信路130と、LAN131とを備える。実施の形態2に係る監視レコーダ200は、第2プロセッサ211の第2RAM113の利用方法が異なる他は、実施の形態1に係る監視レコーダ100と同様に構成されている。
 実施の形態1においては、図7に示されているように、第2プロセッサ111のブートローダ動作時における第2RAM113のメモリ配置において、アドレス0x88000000以降がログ領域とされている。このため、実施の形態1では、取得した起動ログが、どこまで書き込まれているかを判断することができない。
 そこで、実施の形態2における第2プロセッサ211は、起動ログ取得時に、起動ログのデータサイズの合計をカウントして、起動ログ取得終了時に、カウントされたデータサイズの合計をヘッダ情報として、起動ログの先頭に書き込んでおく。
 例えば、図14に示すように、第2プロセッサ211は、第2RAM113のアドレス0x88000010以降の領域60に起動ログを書き込んで、そのデータの書き込み後に、アドレス0x88000000の領域61に、起動ログのデータサイズを書き込む。そして、第1プロセッサ101の起動が失敗して、起動ログを第2ROM112に記憶するときには、第2プロセッサ211は、アドレス0x88000000の領域61に記載されている起動ログのデータサイズを参照してから、そのサイズ分のデータを、第2ROM112に書き込む。このように構成することで、第2ROM112に書き込むデータサイズを少なくすることができ、第2ROM112への書き込み処理時間を少なくすることができる。
 以上に記載した実施の形態2においては、第2プロセッサ211が第2RAM113に第1プロセッサ101の起動ログを記憶する際の処理を記載したが、第1プロセッサ101が第1RAM103に第2プロセッサ211の起動ログを記憶する際に同様の処理を行ってもよい。
実施の形態3
 図15は、実施の形態3に係る監視レコーダ300の構成を概略的に示すブロック図である。
 図15に示されているように、実施の形態3に係る監視レコーダ300は、第1プロセッサ301と、第1ROM102と、第1RAM103と、ネットワークコントローラ104と、HDD105と、第1LANコントローラ106と、第2プロセッサ311と、第2ROM112と、第2RAM113と、第2LANコントローラ114と、制御部121と、リセット制御部122と、タイマ123と、エラーLED124と、プログラム起動面記憶部125と、OS起動完了フラグ記憶部126と、起動失敗回数記憶部127と、シリアル通信路130と、LAN131とを備える。実施の形態3に係る監視レコーダ300は、第1プロセッサ301及び第2プロセッサ311での処理を除いて、実施の形態1に係る監視レコーダ100と同様に構成されている。
 なお、実施の形態3においては、ネットワーク141にサーバ360が接続されている。
 実施の形態1では、第2プロセッサ111で取得された第1プロセッサ101の起動ログは、第2ROM112に記憶している。ここで、第2ROM112は、FlashROMで構成されているため、データの書き込み回数に制限がある。一方、HDD105は、書き込み制限がない。
 実施の形態3では、第2プロセッサ311で取得された第1プロセッサ301の起動ログの全部を、第2プロセッサ311がOSを起動するときの起動ログに追記して、第1プロセッサ301に送信する。これにより、第1プロセッサ301は、自身の起動ログを取得することができ、第1プロセッサ301及び第2プロセッサ311の起動ログを一つに集約することできる。さらに、第1プロセッサ301又は第2プロセッサ311は、起動が正常に行われた場合にも、起動のたびに、HDD105に起動ログを記憶することができる。このため、起動はするが普段と違う起動ログ、又は、起動しなくなる予兆を含む起動ログ等を取得することが可能になり、起動ログを有効に活用することができる。
 また、第1プロセッサ301は、ネットワーク141に接続されているサーバ360に、HDD105に保存されている起動ログ、第1ROM102及び第2ROM112に保存されている起動ログ、又は、第1RAM103及び第2RAM113に一時保存されている起動ログを送信して、記憶させてもよい。
 このように構成することで、監視レコーダ300の起動時の起動ログを遠隔地から監視して、不具合の予兆や、不具合そのものを早期に発見することが可能となり、監視レコーダ300のシステムの品質を向上させることができる。
 100,200,300 監視レコーダ、 101,301 第1プロセッサ、 102 第1ROM、 103 第1RAM、 104 ネットワークコントローラ、 105 HDD、 106 第1LANコントローラ、 111,211,311 第2プロセッサ、 112 第2ROM、 113 第2RAM、 114 第2LANコントローラ、 121 制御部、 121a 起動管理部、 121b 強制起動部、 122 リセット制御部、 123 タイマ、 124 エラーLED、 125 プログラム起動面記憶部、 126 OS起動完了フラグ記憶部、 127 起動失敗回数記憶部、130 シリアル通信路、 131 LAN。

Claims (12)

  1.  第1メインプログラム及び当該第1メインプログラムの起動を行う第1起動プログラムを記憶する第1不揮発メモリと、
     第1揮発メモリと、
     前記第1起動プログラムを前記第1揮発メモリに読み出して、実行することで、前記第1メインプログラムを起動させる第1プロセッサと、
     第2メインプログラム及び当該第2メインプログラムの起動を行う第2起動プログラムを記憶する第2不揮発メモリと、
     第2揮発メモリと、
     前記第2起動プログラムを前記第2揮発メモリに読み出して、実行することで、前記第2メインプログラムを起動させる第2プロセッサと、
     前記第1プロセッサ及び前記第2プロセッサの起動を管理する起動管理部と、
     第2プロセッサを起動させる指示を前記起動管理部に行わせる強制起動部と、を備え、
     前記第1プロセッサは、前記第1起動プログラムを実行することで、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、
     前記第2プロセッサは、前記第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを前記第2揮発メモリに記憶させ、
     前記起動管理部は、前記第1プロセッサでの第1メインプログラムの起動完了時に、前記第2プロセッサに前記第2メインプログラムの起動開始を指示し、
     前記第2プロセッサは、前記第2メインプログラムの起動を開始し、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、
     前記第1プロセッサは、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを前記第1揮発メモリに記憶させ、
     前記強制起動部は、予め定められた時間内に、前記第1プロセッサで第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムを起動開始するように、前記起動管理部に指示させること
     を特徴とする監視レコーダ。
  2.  前記起動管理部は、
     前記第1プロセッサが前記第1メインプログラムの起動に失敗したと判断した場合には、前記第2プロセッサに、前記第2不揮発メモリの記憶されている第1起動ログを前記第2不揮発メモリに記憶させ、
     前記第2プロセッサが前記第2メインプログラムの起動に失敗したと判断した場合には、前記第1プロセッサに、前記第1不揮発メモリに記憶されている第2起動ログを前記第1不揮発メモリに記憶させること
     を特徴とする請求項1に記載の監視レコーダ。
  3.  時間を計測するタイマをさらに備え、
     前記起動管理部は、
     前記第1プロセッサが前記第1メインプログラムの起動を開始してから、前記第1メインプログラムの起動を完了する前に、前記タイマで計測された時間が予め定められた時間を経過した場合に、前記第1メインプログラムの起動に失敗したと判断し、
     前記第2プロセッサが前記第2メインプログラムの起動を開始してから、前記第2メインプログラムの起動を完了する前に、前記タイマで計測された時間が予め定められた時間を経過した場合に、前記第2メインプログラムの起動に失敗したと判断すること
     を特徴とする請求項2に記載の監視レコーダ。
  4.  前記第1不揮発メモリは、前記第1メインプログラムの代わりに実行することのできる第3メインプログラムをさらに記憶し、
     前記第2不揮発メモリは、前記第2メインプログラムの代わりに実行することのできる第4メインプログラムをさらに記憶し、
     前記起動管理部は、
     前記第1メインプログラムの起動に失敗したと判断した場合には、前記第1プロセッサに、前記第1メインプログラムの代わりに前記第3メインプログラムを起動させ、
     前記第2メインプログラムの起動に失敗したと判断した場合には、前記第2プロセッサに、前記第2プロセッサの代わりに前記第4メインプログラムを起動させること、
     を特徴とする請求項2又は3に記載の監視レコーダ。
  5.  前記第1プロセッサ又は前記第2プロセッサの起動失敗回数を記憶する起動失敗回数記憶部をさらに備え、
     前記第2プロセッサは、前記第2メインプログラム又は前記第4メインプログラムの起動完了後に、前記起動失敗回数が1以上である場合には、起動ログが記憶されていることを利用者に告知すること
     を特徴とする請求項4に記載の監視レコーダ。
  6.  エラーを通知するための表示デバイスをさらに有し、
     前記第1プロセッサは、前記監視レコーダに電源が入れられた場合には、前記第1起動プログラムを、前記第1不揮発メモリから前記第1揮発メモリに読み出して起動させ、
     前記第2プロセッサは、前記監視レコーダに電源が入れられた場合には、前記第2起動プログラムを、前記第2不揮発メモリから前記第2揮発メモリに読み出して起動させ、
     前記起動管理部は、前記第1起動プログラムの起動にエラーが生じたと判断した場合、又は、前記第2起動プログラムの起動にエラーが生じたと判断した場合には、前記表示デバイスにエラーを通知させること
     を特徴とする請求項2から5の何れか一項に記載の監視レコーダ。
  7.  前記第2プロセッサは、前記第1プロセッサから送られてきた第1起動ログのデータサイズの合計を算出し、当該合計を前記第2揮発メモリに記憶させること
     を特徴とする請求項1から6の何れか一項に記載の監視レコーダ。
  8.  前記合計は、前記第2揮発メモリにおいて、前記第1起動ログを記憶する領域の直前の領域に記憶されること
     を特徴とする請求項7に記載の監視レコーダ。
  9.  前記第2プロセッサは、前記第2不揮発メモリに記憶されている第1起動ログを前記第2起動ログに含めて、前記第1プロセッサに送信すること
     を特徴とする請求項1から8の何れか一項に記載の監視レコーダ。
  10.  書き込み回数に制限のない記憶装置をさらに備え、
     前記第1プロセッサは、前記第1不揮発メモリに記憶されている第2起動ログを前記記憶装置に記憶させること
     を特徴とする請求項1から9の何れか一項に記載の監視レコーダ。
  11.  サーバと通信を行う通信部をさらに備え、
     前記第1プロセッサは、前記第1不揮発メモリに記憶されている第2起動ログを前記サーバに送信し、前記サーバに記憶させること
     を特徴とする請求項1から10の何れか一項に記載の監視レコーダ。
  12.  第1プロセッサ及び第2プロセッサを備える監視レコーダの起動方法であって、
     第1プロセッサが、第1メインプログラムの起動を行う第1起動プログラムを実行することで、前記第1メインプログラムを起動するとともに、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、
     前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを記憶し、
     前記第1プロセッサでの前記第1メインプログラムの起動完了時に、前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第2メインプログラムを起動するとともに、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、
     前記第1プロセッサが、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを記憶し、
     予め定められた時間内に、前記第1プロセッサで前記第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムの起動を開始すること
     を特徴とする起動方法。
PCT/JP2015/071472 2014-12-15 2015-07-29 監視レコーダ及びその起動方法 WO2016098376A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016564696A JP6177461B2 (ja) 2014-12-15 2015-07-29 監視レコーダ及びその起動方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014252606 2014-12-15
JP2014-252606 2014-12-15

Publications (1)

Publication Number Publication Date
WO2016098376A1 true WO2016098376A1 (ja) 2016-06-23

Family

ID=56126280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/071472 WO2016098376A1 (ja) 2014-12-15 2015-07-29 監視レコーダ及びその起動方法

Country Status (2)

Country Link
JP (1) JP6177461B2 (ja)
WO (1) WO2016098376A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005586A (ja) * 2016-07-04 2018-01-11 三菱電機株式会社 組み込み装置
JP2018183226A (ja) * 2017-04-24 2018-11-22 株式会社ユニバーサルエンターテインメント 遊技機
WO2020032192A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 電子制御装置、車両用電子制御システム、アクティベートの実行制御方法及びアクティベートの実行制御プログラム
CN112567338A (zh) * 2018-08-10 2021-03-26 株式会社电装 电子控制装置、车辆用电子控制系统、激活的执行控制方法以及激活的执行控制程序

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316918A (ja) * 2006-05-25 2007-12-06 Nec Corp 移動無線通信端末及び異常発生時の情報収集方法とプログラム
JP2013008228A (ja) * 2011-06-24 2013-01-10 Canon Inc 情報処理装置、印刷装置及び監視方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316918A (ja) * 2006-05-25 2007-12-06 Nec Corp 移動無線通信端末及び異常発生時の情報収集方法とプログラム
JP2013008228A (ja) * 2011-06-24 2013-01-10 Canon Inc 情報処理装置、印刷装置及び監視方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005586A (ja) * 2016-07-04 2018-01-11 三菱電機株式会社 組み込み装置
JP2018183226A (ja) * 2017-04-24 2018-11-22 株式会社ユニバーサルエンターテインメント 遊技機
WO2020032192A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 電子制御装置、車両用電子制御システム、アクティベートの実行制御方法及びアクティベートの実行制御プログラム
CN112567338A (zh) * 2018-08-10 2021-03-26 株式会社电装 电子控制装置、车辆用电子控制系统、激活的执行控制方法以及激活的执行控制程序
US11656771B2 (en) 2018-08-10 2023-05-23 Denso Corporation Electronic control unit, vehicle electronic control system, activation execution control method and computer program product
JP7451927B2 (ja) 2018-08-10 2024-03-19 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
JPWO2016098376A1 (ja) 2017-04-27
JP6177461B2 (ja) 2017-08-09

Similar Documents

Publication Publication Date Title
TWI578233B (zh) 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法
TWI571736B (zh) 自動除錯資訊收集之方法及系統
TWI386847B (zh) 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
JP6177461B2 (ja) 監視レコーダ及びその起動方法
US8997090B2 (en) Installing an operating system in a host system
US8914488B2 (en) Method and system for monitoring a monitoring-target process
CN106557344A (zh) 用于自动安装系统软件的计算机可读介质、服务器及方法
TW201828071A (zh) 開關裝置及偵測積體電路匯流排之方法
US20190384666A1 (en) Capturing video data and serial data during an information handling system failure
EP3499373B1 (en) Method and apparatus for processing process
CN108628733B (zh) 批量业务处理操作的测试方法及装置
JP2010009296A (ja) ソフトウェア動作監視装置およびソフトウェア動作監視方法
EP2860633A1 (en) Method for maintaining file system of computer system
CN113190256B (zh) 一种升级方法、装置及设备
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
JP6109340B2 (ja) 情報機器
JP6264879B2 (ja) 情報処理装置、監視プログラム及び監視方法
KR101941105B1 (ko) 컴퓨터 시스템에 포함된 하드웨어의 에러 발생 여부를 통합적으로 관리하여 백업 및 복구를 수행하여 외부 단말에 알리는 방법
US8478975B2 (en) Electronic device and method for detecting operative states of components in the electronic device
KR101938202B1 (ko) 컴퓨터 시스템에 포함된 하드웨어의 에러 발생 여부를 통합적으로 관리하여 백업 및 복구를 수행하여 외부 단말에 알리는 방법
KR101793263B1 (ko) 컴퓨터 시스템에 포함된 하드웨어의 에러 발생 여부를 통합적으로 관리하여 백업 및 복구를 수행하여 외부 단말에 알리는 방법
US20130185460A1 (en) Operating system state communication
CN111857944A (zh) 虚拟机热迁移的方法、装置、系统和计算机可读存储介质
JP6627366B2 (ja) 情報処理システム、情報処理方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15869585

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016564696

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15869585

Country of ref document: EP

Kind code of ref document: A1