A controller adapted to be mounted on a construction machine for executing work in accordance with an in-vehicle program, the controller comprising: a communication controller adapted to receive an update program via the external communication means from the server; a normal control controller provided separately from the communication controller, and adapted to perform normal control of the work based on the in-vehicle program; and an internal communication unit adapted to connect the communication controller and the normal control controller with each other, wherein the communication controller includes a data storage unit that stores the received update program, and an update program transfer unit that transfers the update program stored in the data storage unit in response to a transfer request from the normal control controller, and the normal control controller includes an update determining unit that determines that when one of a key switch, a platform-block-lever, and a predetermined switch for starting and stopping an engine is manipulated to a stop position, the program updating can be performed, a transfer requesting unit that requests the communication controller to transfer the update program when the update determining unit determines that updating can be performed, a program updating unit that rewrites the in-vehicle program using the update program transferred from the communication controller, and a normal control processing unit that performs a normal control of the construction machine based on the in-vehicle program, the normal control including controlling of hydraulic pump of the construction machine. a communication controller adapted to receive an update program via the external communication means from the server; a normal control controller provided separately from the communication controller, and adapted to perform normal control of the work based on the in-vehicle program; and an internal communication unit adapted to connect the communication controller and the normal control controller with each other, wherein the communication controller includes a data storage unit that stores the received update program, and an update program transfer unit that transfers the update program stored in the data storage unit in response to a transfer request from the normal control controller, and the normal control controller includes an update determining unit that determines that when one of a key switch, a platform-block-lever, and a predetermined switch for starting and stopping an engine is manipulated to a stop position, the program updating can be performed, a transfer requesting unit that requests the communication controller to transfer the update program when the update determining unit determines that updating can be performed, a program updating unit that rewrites the in-vehicle program using the update program transferred from the communication controller, and a normal control processing unit that performs a normal control of the construction machine based on the in-vehicle program, the normal control including controlling of hydraulic pump of the construction machine. the communication controller includes a data storage unit that stores the received update program, and an update program transfer unit that transfers the update program stored in the data storage unit in response to a transfer request from the normal control controller, and the normal control controller includes an update determining unit that determines that when one of a key switch, a platform-block-lever, and a predetermined switch for starting and stopping an engine is manipulated to a stop position, the program updating can be performed, a transfer requesting unit that requests the communication controller to transfer the update program when the update determining unit determines that updating can be performed, a program updating unit that rewrites the in-vehicle program using the update program transferred from the communication controller, and a normal control processing unit that performs a normal control of the construction machine based on the in-vehicle program, the normal control including controlling of hydraulic pump of the construction machine.