P
USRE43392EExpiredUtilityPatentIndex 51

Capability spoofing using a local proxy server

Assignee: MEENAN PATRICKPriority: Dec 30, 2002Filed: Jan 4, 2010Granted: May 15, 2012
Est. expiryDec 30, 2022(expired)· nominal 20-yr term from priority
Inventors:MEENAN PATRICKCHILES DAVID CLYDEDAMICK JEFFREY J
H04L 67/59H04L 67/56H04L 69/00H04L 67/51H04L 69/16H04L 63/126
51
PatentIndex Score
0
Cited by
41
References
100
Claims

Abstract

A home-networking gateway may provide a service to a device on a home network by transparently accessing (or spoofing) a capability of a different device on the home network. The device capabilities may be automatically detected and used. A home-networking gateway also may transparently provide a service from a host system to a device on a home network by accessing a service on a host system.

Claims

exact text as granted — not AI-modified
1. A method for performing a requested function through a local proxy server, the method comprising:
 establishing a communications session between a first device in a home network and a local proxy server in the home network; 
 establishing a communications session between a second device in the home network and the local proxy server in the home network; 
 advertising, to the first device, a function that the second device is capable of performing as a function that the local proxy server is capable of performing; 
 receiving, at the local proxy server, a request to perform the function from the first device; 
 in response to receiving, from the first device, the request to perform the function, using the local proxy server to coordinate with the second device, thereby performing the function requested by the first device; and 
 spoofing the first device such that it appears to the first device that the local proxy server performed the requested function. 
 
     
     
       2. The method of  claim 1  wherein using the proxy server to coordinate with the second device comprises using the local proxy server to coordinate with the second device and enabling the second device to perform the function requested by the first device at the second device in a manner that makes the first device unaware that the second device is performing the function. 
     
     
       3. The method of  claim 1  further comprising detecting the device. 
     
     
       4. The method of  claim 1  further comprising: 
 accessing a set of rules, each rule associating a function with a device, to determine the capability of a device to perform a function for the first device, 
 wherein using the local proxy server to coordinate with the second device comprises: 
 using the local proxy server to coordinate with the second device an; and  
 enabling the second device to perform the function requested by the first device at the second device based on the accessed set of rules. 
 
 
     
     
       5. The method of  claim 1  further comprising determining whether the local proxy server is capable of performing the function requested by the first device without use of the second device, wherein the local proxy server coordinates with the second device only when the local proxy server is not capable of performing the function requested by the first device without the use of the second device. 
     
     
       6. The method of  claim 1  further comprising determining whether the second device is capable of performing the function requested by the first device. 
     
     
       7. The method of  claim 6  further comprising accessing capability information, wherein determining whether the second device is capable of performing the function requested by the first device comprises determining whether the second device is capable of performing the function requested by the first device based on the accessed capability information. 
     
     
       8. The method of  claim 6  wherein using the proxy server to coordinate with the second device comprises sending a request to the second device to perform the function requested by the first device, the request being sent to the second device only if the second device is determined to be capable of performing the function requested by the first device. 
     
     
       9. A method for automatically identifying a function of a first device on a home network, the method comprising:
 establishing a communications session between a first device in the home network and a local proxy server in the home network; 
 receiving, at the local proxy server, an indication of a function that the first device is capable of performing; 
 associating the indication of the function that the first device is capable of performing with a first device identifier; 
 advertising, to other devices in the home network, that the local proxy server is capable of performing the function that the first device is capable of performing; and 
 storing, at the local proxy server, the indication of the function that the first device is capable of performing and the association of the indication with the first device identifier for use in using the local proxy server to coordinate with the first device to perform the function at the first device in response to a request from a second device on the home network to perform the function at the local proxy server. 
 
     
     
       10. The method of  claim 9  wherein the indication is received from the first device. 
     
     
       11. The method of  claim 9  wherein the indication is received including a message that announces the presence of the first device on the home network. 
     
     
       12. The method of  claim 9  further comprising:
 associating a priority with the first device identifier; and 
 storing the association of the priority with the first device identifier. 
 
     
     
       13. The method of  claim 9  wherein the other devices comprise devices including the second device. 
     
     
       14. A method for performing a requested function through a local proxy server, the method comprising:
 establishing a communications session between a first device in a home network and a local proxy server in the home network; 
 establishing a communications session between the local proxy server in the home network and a trusted system; 
 advertising, to the first device, a function that the trusted system is capable of performing as a function that the local proxy server is capable of performing; 
 receiving, at the local proxy server, a request to perform the function from the first device; 
 in response to receiving, from the first device, the request to perform the function, using the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system; and 
 spoofing the first device such that it appears to the first device that the local proxy server performed the requested function. 
 
     
     
       15. The method of  claim 14  wherein using the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system comprises performing the function requested by the first device at the trusted system such that the first device is unaware that the trusted system is performing the function requested by the first device. 
     
     
       16. The method of  claim 14  further comprising detecting the trusted system. 
     
     
       17. The method of  claim 14  further comprising accessing a set of rules, each rule associating a function with a device, to determine the capability of a device to perform a function for the first device,
 wherein using the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system comprises leveraging the trusted system to provide the function requested by the first device at the trusted system based on the accessed set of rules. 
 
     
     
       18. The method of  claim 14  further comprising determining whether the local proxy server is capable of performing the function requested by the first device without use of the trusted system,
 wherein the local proxy server coordinates with the trusted system to perform the function requested by the first device at the trusted system only when the local proxy server is not capable of performing the function requested by the first device without the use of the trusted system. 
 
     
     
       19. The method of  claim 14  further comprising determining whether the trusted system is capable of performing the function requested by the first device. 
     
     
       20. The method of  claim 19  further comprising accessing capability information, wherein determining whether the trusted system is capable of performing the function requested by the first device comprises determining whether the trusted system is capable of performing the function requested by the first device based on the accessed capability information. 
     
     
       21. The method of  claim 19  wherein using the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system comprises sending a request to the trusted system to perform the function requested by the first device, the request being sent to the trusted system when the trusted system is determined to be capable of performing the function requested by the first device. 
     
     
       22. The method of  claim 21  further comprising:
 accessing capability information to determine whether a home network device other than the first device is capable of performing the function requested by the first device, and 
 sending a request to the trusted system only if the home network device other than the first device is not capable of performing the function requested by the first device. 
 
     
     
       23. The method of  claim 14  wherein the trusted system comprises an endorsed system of an Internet service provider. 
     
     
       24. The method of  claim 14  wherein the trusted system comprises an endorsed system of an Internet access service. 
     
     
       25. A non-transitory computer-readable storage medium having embodied thereon a computer program configured to perform a function through a local proxy server, the non-transitory computer-readable storage medium comprising one or more code segments configured to:
 establish a communications session between a first device in a home network and a local proxy server in the home network; 
 establish a communications session between a second device in the home network and the local proxy server in the home network; 
 advertise, to the first device, a function that the second device is capable of performing as a function that the local proxy server is capable of performing; 
 receive, at the local proxy server, a request to perform the function from the first device; 
 in response to receiving, from the first device, the request to perform the function, use the local proxy server to coordinate with the second device and thereby perform the function requested by the first device; and 
 spoof the first device such that it appears to the first device that the local proxy server performed the requested function. 
 
     
     
       26. The non-transitory computer-readable storage medium of  claim 25  wherein the one or more code segments configured to use the local proxy server to coordinate with the second device comprise one or more code segments configured to use the proxy server to coordinate with the second device and enable the second device to perform the function requested by the first device at the second device in a manner that makes the first device unaware that the second device is performing the function. 
     
     
       27. The non-transitory computer-readable storage medium of  claim 25  wherein the one or more code segments are further configured to detect the second device. 
     
     
       28. The non-transitory computer-readable storage medium of  claim 25  wherein the one or more code segments are further configured to access a set of rules, each rule associating a function with a device, to determine the capability of a device to perform a function for the first device, wherein the one or more code segments configured to use the local proxy server to coordinate with the second device comprise one or more code segments configured to use the local proxy server to coordinate with the second device and to enable the second device to perform the function requested by the first device at the second device based on the accessed set of rules. 
     
     
       29. The non-transitory computer-readable storage medium of  claim 25  wherein the one or more code segments are further configured to determine whether the local proxy server is capable of performing the function requested by the first device without use of the second device, wherein the local proxy server coordinates with the second device only when the local proxy server is not capable of performing the function requested by the first device without use of the second device. 
     
     
       30. The non-transitory computer-readable storage medium of  claim 25  wherein the one or more code segments are further configured to determine whether the second device is capable of performing the function requested by the first device. 
     
     
       31. The non-transitory computer-readable storage medium of  claim 30  wherein
 the one or more code segments are further configured to access capability information, and 
 the one or more code segments configured to determine whether the second device is capable of performing the function requested by the first device are configured to determine whether the second device is capable of performing the function requested by the first device based on the accessed capability information. 
 
     
     
       32. The non-transitory computer-readable storage medium of  claim 30  wherein the one or more code segments are further configured to send a request to the second device to perform the function requested by the first device, the request being sent to the second device only if the second device is determined to be capable of performing the function requested by the first device. 
     
     
       33. A non-transitory computer-readable storage medium having embodied thereon a computer program configured to automatically identify a function of a first device on a home network, the non-transitory computer-readable storage medium comprising one or more code segments configured to:
 establish a communications session between a first device in the home network and a local proxy server in the home network; 
 receive, at the local proxy server, an indication of a function that the first device is capable of performing; 
 associate the indication of the function that the first device is capable of performing with a first device identifier; 
 advertise, to other devices in the home network, that the local proxy server is capable of performing the function that the first device is capable of performing; and 
 store, at the local proxy server, the indication of the function that the first device is capable of performing and the association of the indication with the first device identifier for use in using the local proxy server to coordinate with the first device to perform the function at the first device in response to a request from a second device on the home network to perform the function at the local proxy server. 
 
     
     
       34. The non-transitory computer-readable storage medium of  claim 33  wherein the one or more code segments configured to receive the indication of the function that the first device is capable of performing are configured to receive the indication from the first device. 
     
     
       35. The non-transitory computer-readable storage medium of  claim 33  wherein the indication includes a message that announces the presence of the first device on the home network. 
     
     
       36. The non-transitory computer-readable storage medium of  claim 33  wherein the one or more code segments are further configured to:
 associate a priority with the first device identifier; and 
 store the association of the priority with the first device identifier. 
 
     
     
       37. The non-transitory computer-readable storage medium of  claim 33  wherein the other devices comprise devices including the second device. 
     
     
       38. A non-transitory computer-readable storage medium having embodied thereon a computer program configured to perform a requested function through a local proxy server, the non-transitory computer-readable storage medium comprising one or more code segments configured to:
 establish a communications session between a first device in a home network and a local proxy server in the home network; 
 establish a communications session between the local proxy server in the home network and a trusted system; 
 advertise, to the first device, a function that the trusted system is capable of performing as a function that the local proxy server is capable of performing; 
 receive, at the local proxy server, a request to perform the function from the first device; 
 in response to receiving, from the first device, the request to perform the function, use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system; and 
 spoof the first device such that it appears to the first device that the local proxy server performed the requested function. 
 
     
     
       39. The non-transitory computer-readable storage medium of  claim 38  wherein the one or more code segments configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system comprise one or more code segments configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system such that the first device is unaware that the trusted system is performing the function requested by the first device. 
     
     
       40. The non-transitory computer-readable storage medium of  claim 38  wherein the one or more code segments are further configured to detect the trusted system. 
     
     
       41. The non-transitory computer-readable storage medium of  claim 38  wherein the one or more code segments are further configured to access a set of rules, each rule associating a function with a device, to determine the capability of a device to perform a function for the first device, wherein the one or more code segments configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system comprise one or more code segments configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system based on the accessed set of rules. 
     
     
       42. The non-transitory computer-readable storage medium of  claim 38  wherein the one or more code segments are further configured to determine whether the local proxy server is capable of performing the function requested by the first device without use of the trusted system, wherein the local proxy server coordinates with the trusted system to perform the function requested by the first device only when the local proxy server is not capable of performing the function requested by the first device without the use of the trusted system. 
     
     
       43. The non-transitory computer-readable storage medium of  claim 38  wherein the one or more code segments are further configured to determine whether the trusted system is capable of performing the function requested by the first device. 
     
     
       44. The non-transitory computer-readable storage medium of  claim 43  wherein the one or more code segments are further configured to access capability information wherein the one or more code segments configured to determine whether the trusted system is capable of performing the function requested by the first device comprise one or more code segments configured to determine whether the trusted system is capable of performing the function requested by the first device based on the accessed capability information. 
     
     
       45. The non-transitory computer-readable storage medium of  claim 43  wherein the one or more code segments configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system comprise one or more code segments configured to send a request to the trusted system to perform the function requested by the first device, the request being sent to the trusted system when the trusted system is determined to be capable of performing the function requested by the first device. 
     
     
       46. The non-transitory computer-readable storage medium of  claim 45  wherein the one or more code segments are further configured to:
 access capability information to determine whether a home network device other than the first device is capable of performing the function requested by the first device, and 
 only send a request to the trusted system if a home network device other than the first device is not capable of performing the function requested by the first device. 
 
     
     
       47. The non-transitory computer-readable storage medium of  claim 38  wherein the trusted system comprises an endorsed system of an Internet service provider. 
     
     
       48. The non-transitory computer-readable storage medium of  claim 38  wherein the trusted system comprises an endorsed system of an Internet access service. 
     
     
       49. An apparatus for performing a requested function through a local proxy server, the apparatus comprising a processor connected to a storage device and one or more input/output devices, wherein the processor is configured to:
 establish a communications session between a first device in a home network and a local proxy server in the home network; 
 establish a communications session between a second device in the home network and the local proxy server in the home network; 
 advertise, to the first device, a function that the second device is capable of performing as a function that the local proxy server is capable of performing; 
 receive, at the local proxy server, a request to perform the function from the first device; 
 in response to receiving, from the first device, the request to perform the function, use the local proxy server to coordinate with the second device and thereby perform the function requested by the first device; and 
 spoof the first device such that it appears to the first device that the local proxy server performed the requested function. 
 
     
     
       50. The apparatus of  claim 49  wherein the processor is configured to use the local proxy server to coordinate with the second device and to enable the second device to perform the function requested by the first device in a manner that makes the first device unaware that the second device is performing the capability. 
     
     
       51. The apparatus of  claim 49  wherein the processor is further configured to detect the second device. 
     
     
       52. The apparatus of  claim 49  wherein the processor is further configured to:
 access a set of rules, each rule associating a function and a device, to determine the capability of a device to perform a function for the first device, 
 wherein the processor is configured to use the local proxy server to coordinate with the second device and to enable the second device to perform the function requested by the first device based on the accessed set of rules. 
 
     
     
       53. The apparatus of  claim 49  wherein the processor is further configured to determine whether the local proxy server is capable of performing the function requested by the first device without use of the second device, wherein the processor is configured to use the local proxy server to coordinate with the second device only when the local proxy server is not capable of performing the function requested by the first device without the use of the second device. 
     
     
       54. The apparatus of  claim 49  wherein the processor is further configured to determine whether the second device is capable of performing the function requested by the first device. 
     
     
       55. The apparatus of  claim 54  wherein the processor is further configured to:
 access capability information, and 
 determine whether the second device is capable of performing the function requested by the first device based on the accessed capability information. 
 
     
     
       56. The apparatus of  claim 54  wherein the processor is configured to use the local proxy server to coordinate with the second device by sending a request to the second device to perform the function requested by the first device only if the second device is determined to be capable of performing the function requested by the first device. 
     
     
       57. An apparatus for automatically identifying a function of a first device on a home network, the apparatus comprising a processor connected to a storage device and one or more input/output devices, wherein the processor is configured to:
 establish a communications session between a first device in the home network and a local proxy server in the home network; 
 receive, at the local proxy server, an indication of a function that the first device is capable of performing; 
 associate the indication of the function that the first device is capable of performing with a first device identifier; 
 advertise, to other devices in the home network, that the local proxy server is capable of performing the function that the first device is capable of performing; and 
 store, at the local proxy server, the indication of the function that the first device is capable of performing and the association of the indication with the first device identifier for use in using the local proxy server to coordinate with the first device to perform the function at the first device in response to a request from a second device on the home network to perform the function at the local proxy server. 
 
     
     
       58. The apparatus of  claim 57  wherein the processor is further configured to receive the indication from the first device. 
     
     
       59. The apparatus of  claim 57  wherein the indication includes a message that announces the presence of the first device on the home network. 
     
     
       60. The apparatus of  claim 57  wherein the processor is further configured to:
 associate a priority with the first device identifier; and 
 store the association of the priority with the first device identifier. 
 
     
     
       61. The apparatus of  claim 57  wherein the other devices comprise devices including the second device. 
     
     
       62. An apparatus for performing a requested function through a local proxy server, the apparatus comprising a processor connected to a storage device and one or more input/output devices, wherein the processor is configured to:
 establish a communications session between a first device in a home network and a local proxy server in the home network; 
 establish a communications session between the local proxy server in the home network and a trusted system; 
 advertise, to the first device, a function that the trusted system is capable of performing as a function that the local proxy server is capable of performing; 
 receive, at the local proxy server, a request to perform the function from the first device; 
 in response to receiving, from the first device, the request to perform the function, use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system; and 
 spoof the first device such that it appears to the first device that the local proxy server performed the requested function. 
 
     
     
       63. The apparatus of  claim 62  wherein the processor is configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system such that the first device is unaware that the trusted system is performing the capability. 
     
     
       64. The apparatus of  claim 62  wherein the processor is further configured to detect the trusted system. 
     
     
       65. The apparatus of  claim 62  wherein the processor is further configured to:
 access a set of rules, each rule associating a function and a device, to determine the capability of a device to perform a function for the first device, and 
 use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system based on the accessed set of rules. 
 
     
     
       66. The apparatus of  claim 62  wherein the processor is further configured to determine whether the local proxy server is capable of performing the function requested by the first device without the use of the trusted system, wherein the processor is configured to use the local proxy server to coordinate with the trusted system to perform the function requested by the first device at the trusted system only when the local proxy server is not capable of performing the function requested by the first device without the use of the trusted system. 
     
     
       67. The apparatus of  claim 62  wherein the processor is further configured to determine whether the trusted system is capable of performing the function requested by the first device. 
     
     
       68. The apparatus of  claim 67  wherein the processor is further configured to:
 access capability information, and 
 determine whether the trusted system is capable of performing the function requested by the first device based on the accessed capability information. 
 
     
     
       69. The apparatus of  claim 67  wherein the processor is further configured to send a request to the trusted system to perform the function requested by the first device only when the trusted system is determined to be capable of performing the function requested by the first device. 
     
     
       70. The apparatus of  claim 69  wherein the processor is further configured to:
 access capability information to determine whether a home network device other than the first device is capable of performing the function requested by the first device, and 
 send a request to the trusted system only if a home network device other than the first device is not capable of performing the function requested by the first device. 
 
     
     
       71. The apparatus of  claim 62  wherein the trusted system comprises an endorsed system of an Internet service provider. 
     
     
       72. The apparatus of  claim 62  wherein the trusted system comprises an endorsed system of an Internet access service. 
     
     
       73. The method of  claim 1  wherein advertising a function that the second device is capable of performing as a function that the local proxy server is capable of performing comprises displaying to an operator of the first device an indicator indicating that the local proxy server is capable of performing the function. 
     
     
       74. The method of  claim 9  further comprising:
 associating a network address with the first device; 
 storing, at the local proxy server, the network address and the association of the network address with the first device, wherein
 storing the indication of the function that the first device is capable of performing and the association of the indication with the first device identifier enables a determination that the first device is capable of performing the function in response to a request for the function, and 
 storing the network address and the association of the network address with the first device enables sending a request to the first device to perform the function based on the determination that the first device is capable of performing the function and in response to the request for the function. 
 
 
     
     
       75. The method of  claim 74  further comprising:
 advertising, to the second device, the function that the first device is capable of performing as a function that the local proxy server is capable of performing, 
 receiving, at the local proxy server, a first request for the advertised function from the second device; 
 in response to receiving the first request from the second device, determining that the first device is capable of performing the requested function based on the stored association of the indication of the function that the first device is capable of performing with the first device identifier; and 
 based on a determination that the first device is capable of performing the requested function and in response to receiving the first request from the second device, sending a second request to the first device to perform the requested function in a manner that is transparent to the second device by sending the second request to the network address associated with the first device. 
 
     
     
       76. The method of  claim 74  wherein the first device identifier comprises a MAC address and the network address comprises an IP address. 
     
     
       77. The method of  claim 14  wherein the trusted system is external to the home network. 
     
     
       78. The method of  claim 14  wherein advertising a function that the trusted system is capable of performing as a function that the local proxy server is capable of performing comprises displaying to an operator of the first device an indicator indicating that the local proxy server is capable of performing the function. 
     
     
       79. A method in a proxy server for performing a requested function, comprising:
 advertising, to a first device, a function that a second device is capable of performing as a function that the proxy server is capable of performing;   receiving, at the proxy server, a request to perform the function from the first device;   in response to receiving, from the first device, the request to perform the function, using the proxy server to coordinate with the second device, thereby performing the function requested by the first device; and   spoofing the first device such that it appears to the first device that the proxy server performed the requested function.   
     
     
       80. The method of claim 79 further comprising:
 accessing a set of rules, each rule associating a function with a device, to determine the capability of a device to perform a function for the first device,   wherein using the proxy server to coordinate with the second device comprises:
 using the proxy server to coordinate with the second device; and 
 enabling the second device to perform the function requested by the first device at the second device based on the accessed set of rules. 
   
     
     
       81. The method of claim 79 further comprising determining whether the proxy server is capable of performing the function requested by the first device without use of the second device, wherein the proxy server coordinates with the second device only when the proxy server is not capable of performing the function requested by the first device without the use of the second device. 
     
     
       82. The method of claim 79 further comprising determining whether the second device is capable of performing the function requested by the first device. 
     
     
       83. The method of claim 82 further comprising accessing capability information, wherein determining whether the second device is capable of performing the function requested by the first device comprises determining whether the second device is capable of performing the function requested by the first device based on the accessed capability information. 
     
     
       84. The method of claim 82 wherein using the proxy server to coordinate with the second device comprises sending a request to the second device to perform the function requested by the first device, the request being sent to the second device only if the second device is determined to be capable of performing the function requested by the first device. 
     
     
       85. The method of claim 79 wherein the second device is a system endorsed by an Internet service provider or by an Internet access service. 
     
     
       86. A non-transitory computer-readable storage medium having instructions stored thereon, that if executed by a proxy server, cause the proxy server to perform acts, including:
 advertising, to a first device, a function that a second device is capable of performing as a function that the proxy server is capable of performing;   receiving a request to perform the function from the first device;   in response to receiving the request to perform the function, coordinating with the second device to perform the function requested by the first device; and   spoofing the first device such that it appears to the first device that the proxy server performed the requested function.   
     
     
       87. The non-transitory computer-readable storage medium of claim 86 wherein the acts further comprise determining whether the second device is capable of performing the function requested by the first device. 
     
     
       88. The non-transitory computer-readable storage medium of claim 87 wherein the acts further comprise accessing capability information, wherein determining whether the second device is capable of performing the function requested by the first device comprises determining whether the second device is capable of performing the function requested by the first device based on the accessed capability information. 
     
     
       89. The non-transitory computer-readable storage medium of claim 86 wherein the second device is a system endorsed by an Internet service provider or by an Internet access service. 
     
     
       90. A proxy server for performing a requested function, comprising:
 a processor; and   a memory that stores instructions usable to control the proxy server, wherein the proxy server is configured to:   advertise, to a first device, a function that a second device is capable of performing as a function that the proxy server is capable of performing;   receive, at the proxy server, a request to perform the function from the first device,   in response to receiving the request to perform the function, coordinate with the second device, to perform the function requested by the first device; and   spoof the first device such that the local proxy server performed the requested function.   
     
     
       91. The proxy server of claim 90 wherein the proxy server is further configured to determine whether the second device is capable of performing the function requested by the first device. 
     
     
       92. The proxy server of claim 91 wherein the proxy server is further configured to access capability information, and to determine whether the second device is capable of performing the function requested by the first device based on based on the accessed capability information. 
     
     
       93. The proxy server of claim 90 wherein the second device is an endorsed system of an Internet service provider or of an Internet access service. 
     
     
       94. A proxy server for performing a requested function, comprising:
 means for advertising, to a first device, a function that a second device is capable of performing as a function that the proxy server is capable of performing;   means for receiving, at the proxy server, a request to perform the function from the first device;   means for, in response to receiving the request to perform the function, coordinating, with the second device, performance of the requested function: and   means for spoofing the first device such that it appears to the first device that the proxy server performed the requested function.   
     
     
       95. A method for identifying a function of a first device, comprising:
 receiving, at the proxy server, an indication of a function that the first device is capable of performing;   associating the indication of the function that the first device is capable of performing with a first device identifier;   advertising, by the proxy server to devices other than the first device and the proxy server, that the proxy server is capable of performing the function that the first device is capable of performing; and   storing, at the proxy server, the indication of the function that the first device is capable of performing and the association of the indication with the first device identifier for use in using the proxy server to coordinate with the first device to perform the function at the first device in response to a request from a second device to perform the function at the proxy server.   
     
     
       96. The method of claim 95 wherein the received indication includes a message that announces the presence of the first device on a home network. 
     
     
       97. The method of claim 95 further comprising:
 associating a priority with the first device identifier; and   storing the association of the priority with the first device identifier.   
     
     
       98. The method of claim 95 further comprising:
 associating a network address with the first device;   storing, at the proxy server, the network address and the association of the network address with the first device, wherein storing the indication of the function that the first device is capable of performing and the association of the indication with the first device identifier enables a determination that the first device is capable of performing the function in response to a request for the function, and storing the network address and the association of the network address with the first device enables sending a request to the first device to perform the function based on the determination that the first device is capable of performing the function and in response to the request for the function.   
     
     
       99. The method of claim 95 wherein the first device identifier comprises a MAC address and the network address comprises an IP address. 
     
     
       100. A method in a first device for providing a function, comprising:
 transmitting, to a proxy server, an indication of the function that the first device is capable of performing;   transmitting, to the proxy server, a first device identifier that is associated with the first device, wherein the proxy server is configured to:
 associate the indication of the function with first device identifier; 
 advertise, to devices other than the first device and the proxy server, that the proxy server is capable of performing the function; and 
 store the indication of the function and the association of the indication with the first device identifier to enable the proxy server to coordinate with the first device to perform the function at the first device in response to a request from a second device on the home network to perform the function at the proxy server; 
 receiving, from the proxy server, a request to perform the function; and 
 performing the requested function.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.