Patent ID: 8824321

Claim:
A multi-function device comprising: a processor; an interface configured to be connected to a network; and memory storing a first priority table and a second priority table, wherein the first priority table comprises a plurality of functions of the multi-function device, each of the plurality of functions being associated with a priority value, and the second priority table comprises the plurality of functions of the multi-function device, each of the plurality of the functions being associated with a priority value; wherein the memory further stores instructions that, when executed by the processor, cause the multi-function device to: acquire communication state information relating to a current communication state of the multi-function device, the communication state information comprising an evaluation value determined based on at least a current connection speed of certain data communicated via the interface, the communication state information being acquired by calculating a numerical current communication state of the multi-function device; determine whether the communication state information is in a first range or a second range, the communication state information being in the first range when the calculated communication state information is greater than a first threshold value; and the communication state information being in the second range when the calculated communication state information is less then the first threshold value; store a plurality of packets in a transmission queue, each of the plurality of packets being scheduled to be transmitted in a particular order, each of the plurality of packets being associated with one of the plurality of functions; when determined that the communication state information is in the first range: determine a priority value for each of the plurality of packets in accordance with the function of each packet, by referring to the first priority table stored in the memory, determine a first particular packet having the highest determined priority value, and transmit, from the transmission queue, the first particular packet first regardless the scheduled particular order; and when determined that the communication state information is in the second range: determine a priority value for each of the plurality of packets in accordance with the function of each packet, by referring to the second priority table stored in the memory, determine a second particular packet having the highest determined priority value, and transmit, from the transmission queue, the second particular packet first regardless of the scheduled particular order.