<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def registered(self, driver, executorInfo, frameworkInfo, agentInfo):
 """ Invoked once the executor driver has been able to successfully connect with Mesos. """

        
        # Get the ID we have been assigned, if we have it
        self.id = executorInfo.executor_id.get('value', None)
        
        log.debug("Registered executor %s with framework", self.id)
        self.address = socket.gethostbyname(agentInfo.hostname)
        nodeInfoThread = threading.Thread(target=self._sendFrameworkMessage, args=[driver])
        nodeInfoThread.daemon = True
        nodeInfoThread.start()