An information processing apparatus, comprising: a sub controller including a sub memory and a sub processor, the sub memory configured to store a proxy response database including a name resolution RR,Resource Record, that is used to generate a response in response to a name resolution query based on an mDNS, Multicast Domain Name System, protocol; the sub memory further configured to store an unsupported service database registering a service unsupported by the information processing apparatus; a main controller including a main memory and a main processor, the main memory configured to store a service discovery RR that is used to generate a response in response to a service discovery query based on the mDNS protocol, the main controller configured to inform the sub processor that the main controller shifts to a sleep mode and recovers from the sleep mode; and a communication interface configured to communicate with an external device connected to a network, the sub processor being configured to, in the sleep mode: receive an mDNS query from the external device via the communication interface, and then determine whether or not the mDNS query is a service discovery query, if determining that the mDNS query is not a service discovery query, determine that the mDNS query is a name resolution query; if QNAME and QTYPE in the mDNS query are completely the same as NAME and TYPE in the name resolution RR, generate the response based on the name resolution RR and send the response tc the external device via the communication interface; and if the QNAME and the QTYPE in the mDNS query are not completely the same as the NAME and the TYPE in the name resolution RR, discard the mDNS query packet; if determining that the mDNS query is a service discovery query, determine whether or not a service described in the mDNS query is registered in the unsupported service database; if determining that the service described in the mDNS query is not registered in the unsupported service database, request the main processor to recover from the sleep mode, and transfer the mDNS query to the main processor; and if determining that a service described in the mDNS query is registered in the unsupported service database, discard the mDNS query. a sub controller including a sub memory and a sub processor, the sub memory configured to store a proxy response database including a name resolution RR,Resource Record, that is used to generate a response in response to a name resolution query based on an mDNS, Multicast Domain Name System, protocol; the sub memory further configured to store an unsupported service database registering a service unsupported by the information processing apparatus; a main controller including a main memory and a main processor, the main memory configured to store a service discovery RR that is used to generate a response in response to a service discovery query based on the mDNS protocol, the main controller configured to inform the sub processor that the main controller shifts to a sleep mode and recovers from the sleep mode; and a communication interface configured to communicate with an external device connected to a network, the sub processor being configured to, in the sleep mode: receive an mDNS query from the external device via the communication interface, and then determine whether or not the mDNS query is a service discovery query, if determining that the mDNS query is not a service discovery query, determine that the mDNS query is a name resolution query; if QNAME and QTYPE in the mDNS query are completely the same as NAME and TYPE in the name resolution RR, generate the response based on the name resolution RR and send the response tc the external device via the communication interface; and if the QNAME and the QTYPE in the mDNS query are not completely the same as the NAME and the TYPE in the name resolution RR, discard the mDNS query packet; if determining that the mDNS query is a service discovery query, determine whether or not a service described in the mDNS query is registered in the unsupported service database; if determining that the service described in the mDNS query is not registered in the unsupported service database, request the main processor to recover from the sleep mode, and transfer the mDNS query to the main processor; and if determining that a service described in the mDNS query is registered in the unsupported service database, discard the mDNS query. receive an mDNS query from the external device via the communication interface, and then determine whether or not the mDNS query is a service discovery query, if determining that the mDNS query is not a service discovery query, determine that the mDNS query is a name resolution query; if QNAME and QTYPE in the mDNS query are completely the same as NAME and TYPE in the name resolution RR, generate the response based on the name resolution RR and send the response tc the external device via the communication interface; and if the QNAME and the QTYPE in the mDNS query are not completely the same as the NAME and the TYPE in the name resolution RR, discard the mDNS query packet; if determining that the mDNS query is a service discovery query, determine whether or not a service described in the mDNS query is registered in the unsupported service database; if determining that the service described in the mDNS query is not registered in the unsupported service database, request the main processor to recover from the sleep mode, and transfer the mDNS query to the main processor; and if determining that a service described in the mDNS query is registered in the unsupported service database, discard the mDNS query.