<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _start_node(node):
 """ Start the given node VM. :return: bool -- True on success, False otherwise """

        log.debug("_start_node: working on node `%s`", node.name)
        # FIXME: the following check is not optimal yet. When a node is still
        # in a starting state, it will start another node here, since the
        # `is_alive` method will only check for running nodes (see issue #13)
        if node.is_alive():
            log.info("Not starting node `%s` which is "
                     "already up&running.", node.name)
            return True
        else:
            try:
                node.start()
                log.info("Node `%s` has been started.", node.name)
                return True
            except Exception as err:
                log.exception("Could not start node `%s`: %s -- %s",
                              node.name, err, err.__class__)
                return False