Patent ID: 7756928

Claim:
A method for providing interoperability in a home network using a home-networking gateway, the method comprising: receiving, at a home-networking gateway located in a home network and from each of multiple devices located in the home network, an indication of a function capable of being performed by the device; storing, at the home-networking gateway, the received indications of the functions capable of being performed by each of the multiple devices; forwarding, from the home-networking gateway to a plurality of the devices located in the home network, the indications of the functions capable of being performed by each of the multiple devices; receiving, at the home-networking gateway and in response to forwarding the indications of the functions capable of being performed by each of the multiple devices, a request from a requesting device located in the home network for performance of a particular function; determining, at the home-networking gateway and in response to receiving the request from the requesting device for performance of the particular function, that the particular function is not capable of being performed natively by the home-networking gateway; accessing, at the home networking gateway and in response to determining that the particular function is not capable of being performed natively by the home-networking gateway, the stored indications of the functions capable of being performed by each of the multiple devices; determining, at the home-networking gateway and based on having accessed the indications of the functions capable of being performed by each of the multiple devices, that the particular function is not capable of being performed by any of the multiple devices; selecting, at the home-networking gateway, in response to determining that the particular function is not capable of being performed by any of the multiple devices and without user intervention, from among a plurality of external devices, a first external device based on the first external device having characteristics of being: capable of performing the particular function, and available to perform the particular function, wherein the first external device is distinct from the home-networking gateway, external to the home network, and accessible to the home-networking gateway; forwarding, from the home-networking gateway, the request for performance of the particular function to the first external device; receiving, at the home-networking gateway, an indication that the first external device has performed the particular function requested by the requesting device located in the home network; and spoofing the requesting device by sending, from the home-networking gateway to the requesting device, an indication that the home-networking gateway performed the particular function requested even though the first external device performed the particular function.