A method of controlling float-out messages in an instant messages system, comprising: setting a fatigue period and a limit on a number of float-out messages received by a recipient within the fatigue period; recording the number of float-out messages received by the recipient; in the event that there is a float-out message that is ready to be sent to the recipient. determining a current status of the recipient of the float-out message; in the event that the current status of the recipient is online, determining, using one or more processors, whether the float-out message should be sent to the recipient, including determining whether an identifier value of the recipient has reached a threshold value, the identifier value being used to indicate whether the recipient is deemed to be currently in a state of fatigue or a level of fatigue the recipient is deemed to be in; in the event that the identifier value has not reached the threshold value, pushing the float-out message to the recipient to be made available for float out by the recipient: and updating the identifier value, comprising: in the event that the recorded number of float-out messages received by the recipient has reached the limit on the number of messages, updating the identifier value, the recorded number of float-out messages received reaching the limit on the number of float-out messages indicating that the recipient is deemed to be currently in a state of fatigue; in the event that the recorded number of float-out messages received by the recipient has not reached the limit on the number of messages, determining whether the fatigue period has expired; and in the event that the fatigue period has expired, updating the identifier value. setting a fatigue period and a limit on a number of float-out messages received by a recipient within the fatigue period; recording the number of float-out messages received by the recipient; in the event that there is a float-out message that is ready to be sent to the recipient. determining a current status of the recipient of the float-out message; in the event that the current status of the recipient is online, determining, using one or more processors, whether the float-out message should be sent to the recipient, including determining whether an identifier value of the recipient has reached a threshold value, the identifier value being used to indicate whether the recipient is deemed to be currently in a state of fatigue or a level of fatigue the recipient is deemed to be in; in the event that the identifier value has not reached the threshold value, pushing the float-out message to the recipient to be made available for float out by the recipient: and updating the identifier value, comprising: in the event that the recorded number of float-out messages received by the recipient has reached the limit on the number of messages, updating the identifier value, the recorded number of float-out messages received reaching the limit on the number of float-out messages indicating that the recipient is deemed to be currently in a state of fatigue; in the event that the recorded number of float-out messages received by the recipient has not reached the limit on the number of messages, determining whether the fatigue period has expired; and in the event that the fatigue period has expired, updating the identifier value. in the event that the recorded number of float-out messages received by the recipient has reached the limit on the number of messages, updating the identifier value, the recorded number of float-out messages received reaching the limit on the number of float-out messages indicating that the recipient is deemed to be currently in a state of fatigue; in the event that the recorded number of float-out messages received by the recipient has not reached the limit on the number of messages, determining whether the fatigue period has expired; and in the event that the fatigue period has expired, updating the identifier value.