A constellation is determined in reference to a particular combination of devices and/or software, some or all of which may be coupled with a network. A constellation addresses aggregate capabilities provided by a combination of devices and/or software available on the network. The network may define multiple constellations. Services are written for constellations, and the services may be pulled from external sources for use on the network. A server on the network, such as a service host, may coordinate and manage obtaining services from the external sources, and removing or disabling services for constellations no longer valid.

Patent
   RE49505
Priority
Oct 24 2002
Filed
Jan 12 2015
Issued
Apr 25 2023
Expiry
Oct 24 2022
Assg.orig
Entity
Large
0
87
currently ok
0. 148. A method for controlling an aggregate service, the method comprising:
accessing a resource context identifying a plurality of devices in a peer-to-peer network;
identifying at least one aggregate service based on the resource context, wherein the at least one aggregate service corresponds to a plurality of service descriptions of a subset of the devices of the resource context; and
returning executable instructions to cause the subset of the devices of the resource context to collectively perform the at least one aggregate service in the peer-to-peer network.
0. 146. A non-transitory computer storage medium comprising stored instructions that, when executed by one or more processors of a first device, cause the one or more processors to at least:
receive a resource context which identifies a plurality of devices in a peer-to-peer network;
identify at least one aggregate service based on the resource context, the at least one aggregate service corresponding to a plurality of service descriptions of a subset of the devices of the resource context; and
return executable instructions to control the subset of the devices of the resource context to collectively perform the at least one aggregate service to implement a virtual device in the peer-to-peer network.
0. 161. A method of service identification within a network, the method comprising:
receiving information indicating at least one of a device or service change within a resource context;
based upon the information indicating the at least one of the device or service change, determining a new constellation of a plurality of independent resources in the resource context;
searching a catalog to determine at least one catalogued service collectively executable by the plurality of independent resources of the new constellation to emulate a device having functionality made possible by the at least one of the device or service change; and
storing information identifying the at least one catalogued service.
0. 152. A non-transitory computer storage medium comprising stored instructions that, when executed by one or more processors, cause the one or more processors to at least:
obtain information indicating at least one of a device or service change within a resource context;
based upon the information indicating the device or service change, determine a new constellation of a plurality of separate resources in the resource context;
search a catalog to determine at least one catalogued service collectively executable by the plurality of the separate resources of the new constellation to emulate a device having functionality enabled by the at least one of the device or service change; and
store information identifying the at least one catalogued service.
0. 150. A system for controlling an aggregate service within a peer-to-peer network, the system comprising:
a memory including computer-executable instructions; and
one or more processors to execute the instructions to:
access a resource context which identifies a plurality of devices in the peer-to-peer network;
identify at least one aggregate service based on the resource context, the at least one aggregate service corresponding to a plurality of service descriptions of a subset of the devices of the resource context; and
return instructions to control the subset of the devices of the resource context to collectively perform the at least one aggregate service in the peer-to-peer network, the aggregate service to emulate a device different than the devices of the subset.
0. 138. A method for joining a first device to an aggregate service within a peer-to-peer network, the method comprising:
accessing a resource context within the peer-to-peer network, wherein the resource context includes the first device and a plurality of devices that are accessible to the first device in the peer-to-peer network;
identifying software to provision a logical platform including the first device and at least one of the plurality of devices to implement at least one aggregated functionality within the peer-to-peer network; and
transmitting to a second device within the peer-to-peer network at least one request to identify the at least one first service description of the first device to identify the aggregated functionality enabled by the joining of the first device to the aggregate service.
0. 142. A system to identify an aggregate service to be performed within a peer-to-peer network, the system comprising:
a memory including computer-executable instructions; and
one or more processors to execute the instructions to:
access a resource context identifying a first device added to the peer-to-peer network and a plurality of devices that are accessible to the first device in the peer-to-peer network;
identify at least one virtual device to be executed by the first device and the devices of the resource context; and
cause transmission to a second device within the peer-to-peer network at least one request to update the aggregate service with at least one first service description of the first device, wherein the at least one first service description describes functionality of the at least one virtual device.
0. 82. A system for identifying aggregate services of a peer-to-peer network, the system comprising:
means for identifying a resource context specifying a plurality of devices in the peer-to-peer network, different combinations of the devices corresponding to different constellations;
means for accessing a plurality of service descriptions corresponding to the devices of the resource context, the plurality of service descriptions describing functionality of the devices; and
means for storing information identifying at least one virtual device corresponding to at least one of the constellations, wherein the at least one virtual device is constructed utilizing the accessed plurality of service descriptions, and wherein the service description for the at least one virtual device is discoverable in response to a first request from a device in the peer-to-peer network.
0. 170. A system for identifying services accessible by a peer device within a network, the system comprising:
a memory including computer-executable instructions; and
one or more processors to execute the instructions to:
obtain a resource context identifying a plurality of peer devices or services networked in a local network;
obtain information indicating at least one of a device or service change within the resource context;
based upon the information indicating the device change, determine a constellation of a plurality of networked peer resources in the resource context;
search a catalog to determine at least one catalogued service collectively executable by the plurality of networked peer resources of the constellation to emulate a device having functionality not available in the local network prior to the at least one of the device or service change; and
store information identifying the at least one catalogued service.
0. 85. A non-transitory computer storage medium comprising stored instructions that, when executed, cause one or more processors external to a peer-to-peer network to at least:
access a plurality of service descriptions corresponding to a plurality of devices of a resource context, wherein the resource context at least identifies the devices that are in the peer-to-peer network, the plurality of service descriptions describe functionality of the devices;
identify a first aggregate service corresponding to an aggregation of the functionality of a first subset of the devices in the peer-to-peer network based on corresponding ones of the service descriptions;
identify a second aggregate service corresponding to an aggregation of the functionality of a second subset of the devices in the peer-to-peer network based on corresponding ones of the service descriptions; and
provide software to the peer-to-peer network, the software to enable at least one of the first aggregate service or the second aggregate service within the peer-to-peer network.
0. 30. A non-transitory computer storage medium comprising stored instructions that, when executed, cause one or more processors to at least:
identify, at a first device, a resource context, wherein the resource context identifies a plurality of devices that are accessible to the first device in a peer-to-peer network;
access a plurality of service descriptions corresponding to the devices of the resource context, a first one of the plurality of service descriptions corresponding to software that may be executed to combine functionality of at least two of the devices in the peer-to-peer network to implement a second device in the peer-to-peer network, the second device having functionality different than the functionality of the at least two devices; and
store information identifying the software,
wherein the second device is implemented utilizing the software and the at least two of the devices in the peer-to-peer network, and
wherein the service descriptions are discoverable in response to a first request from a third device in the peer-to-peer network.
0. 61. A method of identifying virtual devices to be delivered in a peer-to-peer network, the method comprising:
obtaining a resource context identifying a plurality of devices that are accessible to a first device in the peer-to-peer network, a first constellation of the devices to collectively implement a first virtual device and a second constellation of the devices to collectively implement a second virtual device different than the first virtual device, the first constellation different than the second constellation;
accessing a plurality of service descriptions corresponding to the devices, the plurality of service descriptions describing functionality of the devices; and
storing information identifying at least one of the first or the second virtual devices, wherein the at least one of the first or the second virtual device is constructed utilizing the accessed plurality of service descriptions, and wherein a service description for the at least one of the first or the second virtual device is discoverable in response to a first request from a second device in the peer-to-peer network.
0. 132. A first device for delivering an aggregate service to a peer-to-peer network, the first device comprising:
a memory including computer-executable instructions; and
at least one processor to execute the instructions to:
access a plurality of service descriptions corresponding to a plurality of devices of the peer-to-peer network, the plurality of service descriptions describing functionality of the devices;
deliver a first aggregate service to provision the peer-to-peer network to implement a first virtual device corresponding to a first constellation of two or more of the devices based on one or more of the accessed plurality of service descriptions, the two or more devices of the first constellation respectively having corresponding functionalities, the first virtual device having an aggregated functionality different from the functionalities corresponding to the two or more devices of the first constellation; and
deliver a second aggregate service to provision a second constellation to implement a second virtual device, the second constellation including a different set of the devices than the first constellation.
0. 134. A non-transitory computer storage medium comprising stored instructions that, when executed by one or more processors of a first device, cause the one or more processors to at least:
access a resource context identifying resources of a peer-to-peer network, wherein the resources identified by the resource context includes the first device and a plurality of devices that are accessible to the first device in the peer-to-peer network;
identify at least one virtual device to be constructed from a plurality of service descriptions corresponding to the resources of the resource context including at least one first service description of the first device, the first device and the plurality of the devices having corresponding functionalities, the first virtual device having an aggregated functionality different from the corresponding functionalities; and
transmit to a second device within the peer-to-peer network at least one request to update the at least one virtual device with the at least one first service description of the first device, wherein the at least one first service description describes functionality of devices or services accessible to the first device.
0. 114. A method of provisioning software within a peer-to-peer network, the method comprising:
accessing a plurality of service descriptions corresponding to a plurality of devices of a resource context, wherein the resource context identifies the devices that are accessible to a first device in the peer-to-peer network, the plurality of service descriptions describe functionality of the devices;
operating one or more processors to provision the peer-to-peer network with first software to implement a first virtual device corresponding to a first constellation of two or more of the devices based on one or more of the accessed plurality of service descriptions, the two or more devices of the first constellation respectively having corresponding functionalities, the first virtual device having an aggregated functionality different from the functionalities corresponding to the two or more devices of the first constellation; and
operating the one or more processors to provision the peer-to-peer network with second software to implement a second virtual device corresponding to a second constellation of two or more of the devices, the two or more devices of the second constellation including a different set of the devices than the first constellation.
1. A method for a service source to provision resources communicatively coupled with a first local area network, said resources including devices or web services associated with in an environment, the method comprising:
receiving from a service host a resource context identifying constellations of the resources for the environment constellation of resources in response to an addition of a first electronic device to the first local area network, different sets of the devices included in different constellations;
accessing service descriptions of services offered by the service source as well as services offered by other service sources communicatively coupled with the service source;
mapping the resource context constellations against the accessed service descriptions to determine at least one service operable on selected ones of the resources in the resource context, said selected ones corresponding to a constellation to aggregate a first function of the first electronic device and a second function of a second electronic device, the first and second electronic devices corresponding to at least one of the constellations; and
providing an identification of the at least one determined service to the service host to facilitate provisioning of the first and second electronic devices in at least one of the at least one constellations to collectively perform an aggregated function utilizing the first and second functions of the first and second electronic devices in the first local area network, the aggregated function corresponding to a third device which is different from the first electronic device and different from the second electronic device.
11. A non-transitory computer-readable storage medium storing comprising stored data thereon for a service source to provision resources communicatively coupled with a first network, said resources including devices or web services associated with an environment, wherein the data, when accessed, results in causes a machine performing to:
receiving receive from a service host a resource context for to identify said devices of the environment in response to an addition of a first device to the first network;
accessing access service descriptions of services offered by the service source as well as services offered by service cataloging agents or brokers representing sources communicatively coupled with the service source;
mapping map the resource context against the accessed service descriptions to determine at least one service operable on to aggregate functions of selected ones of the resources including a first function of the first device and a second function of a second device, said selected resources corresponding to a constellation including the first device and the second device, the second function different from the first function, the selected resources to collectively implement an aggregated function utilizing the first and second functions of the first and second devices in the first network, the aggregated function corresponding to a third device which is different from the first device and different from the second device; and
providing provide an identification of the at least one determined service to the source service host.
0. 80. A system for identifying aggregate services of a peer-to-peer network, the system comprising:
a first device of the peer-to-peer network, the first device including:
a memory including computer-executable instructions; and
a processor to execute the instructions to:
generate a resource context identifying a plurality of devices that are accessible to the first device in the peer-to-peer network, different combinations of the devices corresponding to different constellations, the processor to update the resource context in response to at least one of: an addition of a new device, an addition of a new service, a removal of an existing device, or a removal of an existing service; and
a second device including:
memory including computer-executable instructions; and
a processor to execute the instructions to:
obtain the resource context from the first device;
access a plurality of service descriptions corresponding to the devices of the resource context, the plurality of service descriptions describing functionality of the devices;
return information identifying a first aggregate service corresponding to a first of the constellations to the first device, wherein the first aggregate service is to provide a first virtual device via the first constellation; and
return information identifying a second aggregate service corresponding to a second of the constellations to the first device, the second aggregate service to provide a second virtual device via the second constellation, the second virtual device different than the first virtual device.
0. 22. A non-transitory computer storage medium comprising instructions that, when executed by one or more processors, cause the one or more processors to at least:
obtain a resource context identified by a first device, the resource context corresponding to a plurality of electronic devices in a peer-to-peer network, different combinations of the electronic devices corresponding to different constellations, different constellations providing different logical platforms, at least one of the logical platforms including at least a first electronic device and a second electronic device, the first electronic device different than the second electronic device, the first electronic device having a first function, the second electronic device having a second function different than the first function, the resource context to be updated in response to at least one of:
an addition of a new device to the peer-to-peer network,
an addition of a new service to the peer-to-peer network,
a removal of an existing device from the electronic devices, or
a removal of an existing service from the peer-to-peer network;
access a plurality of service descriptions corresponding to the resource context, the plurality of service descriptions describing additional services at least one of which corresponds to an aggregated function which may be implemented by the at least one of the logical platforms;
store information identifying the at least one additional service, the at least one additional service is discoverable in response to a first request from a second device in the peer-to-peer network;
utilize a supervisory pull system to automatically obtain software to provision at least the first and second electronic devices in the at least one logical platform to implement the aggregated function in the peer-to-peer network, the aggregated function utilizing the first function and the second function, the aggregated function different from the first function and different from the second function, wherein the software defines services that are pre-written for interfaces of the resource context; and
wherein the first device and the second device are configurable as both:
(i) a service host within the peer-to-peer network, wherein the service host is operative as a local or remote server to monitor at least one communication channel communicatively coupling the devices to detect the at least one of: the addition of the new device, the addition of the new service, the removal of the existing device, or the removal of the existing service; and,
(ii) a peer device within the peer-to-peer network, wherein the peer device is operative as a local or remote server to monitor the at least one communication channel to detect the at least one of: the addition of the new device, the addition of the new service, the removal of the existing device, or the removal of the existing service.
2. The method of claim 1, wherein the resource context is received over a second network different from the first local area network.
3. The method of claim 1, wherein the resource context is determined based at least in part on a monitoring of communicative couplings of machines to the first local network.
4. The method of claim 1, wherein the accessing of the service descriptions of the services offered by the service sources comprises:
cataloging, prior to receiving the resource context, services provided by the service sources.
5. The method of claim 1, wherein the accessing of the service descriptions of the services offered by the service hosts sources comprises:
cataloging services provided by the service sources.
6. The method of claim 1, further comprising:
responsive to receiving the resource context, querying a service catalog for descriptions of services currently offered by the service sources.
7. The method of claim 1, further comprising:
receiving a request to use the at least one determined service; and
facilitating access to program code required to use the at least one determined service.
8. The method of claim 7, wherein the facilitating of the access to program code comprises a selected one of:
providing a Uniform resource Locator (URL) to the program code; or
providing a Web service URI (Uniform resource Identifier) for accessing and downloading the program code.
9. The method of claim 7, wherein the facilitating of the access to the program code comprises:
copying the program code from a storage containing the at least one determined service; and
sending the program code to the service host.
10. The method of claim 1, further comprising:
charging the service host a fee associated with the determined service.
12. The non-transitory computer readable storage medium of claim 11 further including data which wherein the data, when accessed, results in causes the machine performing to:
receiving receive the resource context over a second network different from the first network.
13. The non-transitory computer readable storage medium of claim 11 further including data which wherein the data, when accessed, results in causes the machine performing to:
determining determine the resource context based at least in part on a monitoring of communicative couplings of machines to the first network.
14. The non-transitory computer readable storage medium of claim 11 wherein the datafor accessing, when accessed, causes the machine to access the service descriptions of services offered by the service sources further includes data which, when accessed, results in the machine performing by:
cataloging, prior to receiving the resource context, services provided by the service sources.
15. The non-transitory computer readable storage medium of claim 11 further including wherein the datawhich, when accessed, results in causes the machine performing to:
cataloging catalog services provided by the service sources.
16. The non-transitory computer readable storage medium of claim 11 further including wherein the datawhich, when accessed, results in causes the machine performing to:
responsive to receiving the resource context, querying query the service sources for descriptions of services currently offered by the service sources.
17. The non-transitory computer readable storage medium of claim 11 further including wherein the datawhich, when accessed, results in causes the machine performing to:
receiving receive a request to use the at least one determined service; and
facilitating facilitate access to program code required to use the at least one determined service.
18. The non-transitory computer readable storage medium of claim 17, wherein the datafor facilitating access to the program further includes data which, when accessed, results in causes the machine performing to facilitate access to the program code at least by:
providing a Uniform resource Locator (URL) to the program code.
19. The non-transitory computer readable storage medium of claim 11 further including wherein the datawhich, when accessed, results in causes the machine performing to:
charging charge the source a fee associated with the at least one determined service.
0. 20. The method of claim 1, wherein the resource context includes at least one service and the at least one constellation includes at least one of the at least one service.
0. 21. The non-transitory computer-readable storage medium of claim 11, wherein the resource context includes at least one additional service and the constellation includes at least one of the at least one additional service.
0. 23. The non-transitory computer storage medium of claim 22 wherein the instructions cause the one or more processors to access the plurality of service descriptions at least by receiving one or more service descriptions from the peer device.
0. 24. The non-transitory computer storage medium of claim 23 wherein the instructions cause the one or more processors to at least catalog one or more of the plurality of service descriptions corresponding to the electronic devices.
0. 25. The non-transitory computer storage medium of claim 24 wherein the second device is charged for access to the information identifying the at least one additional service.
0. 26. The non-transitory computer storage medium of claim 25 wherein the instructions cause the one or more processors to access the plurality of service descriptions corresponding to the electronic devices of the resource context at least by querying a service catalog accessible to the peer-to-peer network.
0. 27. The non-transitory computer storage medium of claim 26 wherein the at least one additional service is software executable to cause at least the first and second electronic devices to collectively perform the aggregated function to implement a third device.
0. 28. The non-transitory computer storage medium of claim 27 wherein the instructions cause the one or more processors to access the plurality of service descriptions corresponding to the electronic devices of the resource context at least by:
accessing the service catalog of available services for the resource context.
0. 29. The non-transitory computer storage medium of claim 22, wherein the resource context includes the existing service and the at least one constellation includes the existing service.
0. 31. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
receive from the first device an indication of at least one device or service added to or removed from the peer-to-peer network; and
access at least one of the service descriptions corresponding to the at least one device or service added to or removed from the peer-to-peer network.
0. 32. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to access the plurality of service descriptions at least by receiving one or more service descriptions from a peer device.
0. 33. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to access the plurality of service descriptions at least by receiving a link to one or more service descriptions.
0. 34. The non-transitory computer storage medium of claim 33 wherein the instructions cause the one or more processors to receive the link to the one or more service descriptions at least by receiving a Uniform resource Locator (URL) or Web service Uniform resource Indicator (URI).
0. 35. The non-transitory computer storage medium of claim 33 wherein the link is received predictively.
0. 36. The non-transitory computer storage medium of claim 33 wherein the link is a link to a constellation.
0. 37. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to identify the resource context at least by receiving an identification of at least one of the plurality of the devices.
0. 38. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least transmit a response to a discovery protocol request.
0. 39. The non-transitory computer storage medium of claim 38 wherein the instructions cause the one or more processors to transmit the response utilizing a Web Services protocol.
0. 40. The non-transitory computer storage medium of claim 39 wherein the Web Services protocol is a tag-based markup language comprising an extensible markup language (XML), Web Services description Language (WSDL), Simple Object Access Protocol (SOAP), or Universal description Discovery and Integration (UDDI) protocol.
0. 41. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least track addition and removal of devices of the resource context.
0. 42. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least catalog one or more of the plurality of service descriptions corresponding to the devices.
0. 43. The non-transitory computer storage medium of claim 30 wherein the first device is charged for access to the second device.
0. 44. The non-transitory computer storage medium of claim 30 wherein the first device is charged for access to the information identifying the second device.
0. 45. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to access the plurality of service descriptions corresponding to the devices of the resource context at least by querying a service catalog accessible to the peer-to-peer network.
0. 46. The non-transitory computer storage medium of claim 30 wherein the first device and the third device are peer devices.
0. 47. The non-transitory computer storage medium of claim 46 wherein the first device controls operation of the second device by executing the software.
0. 48. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
utilize a supervisory pull system to automatically obtain the software to provision the at least two devices to implement the second device.
0. 49. The non-transitory computer storage medium of claim 48 wherein the software defines services that are pre-written for interfaces of the resource context.
0. 50. The non-transitory computer storage medium of claim 49 wherein the software is suspended, removed, or updated automatically.
0. 51. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to access the plurality of service descriptions corresponding to the devices of the resource context by at least accessing a catalog of available services for the resource context.
0. 52. The non-transitory computer storage medium of claim 51 wherein the instructions cause the one or more processors to access the catalog of available services in response to a real-time query.
0. 53. The non-transitory computer storage medium of claim 51 wherein the accessed plurality of service descriptions includes service descriptions corresponding to devices or services that are predicted to be part of the resource context.
0. 54. The non-transitory computer storage medium of claim 51 wherein the instructions cause the one or more processors to at least receive a subset of the available services for the resource context within the catalog.
0. 55. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
store information identifying at least one predicted aggregate service.
0. 56. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
store information identifying at least one additional aggregate service for an additional device to amalgamate two or more functions available in the peer-to-peer network.
0. 57. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
control the second device.
0. 58. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
receive one or more commands for controlling the second device.
0. 59. The non-transitory computer storage medium of claim 30 wherein the instructions cause the one or more processors to at least:
transmit one or more commands for controlling the second device.
0. 60. The non-transitory computer storage medium of claim 30, wherein the resource context includes at least one service and the at least one constellation includes at least one of the at least one service.
0. 62. The method of claim 61 further comprising:
receiving an indication of at least one device or service added to or removed from the peer-to-peer network;
accessing at least one service description corresponding to the at least one device or service added to or removed from the peer-to-peer network; and
storing a service description for at least one subsequent virtual device different from the first and the second virtual devices, wherein the at least one subsequent virtual device is constructed utilizing the at least one service description corresponding to the at least one device or service added to or removed from the peer-to-peer network, and wherein a service description for the at least one subsequent virtual device is discoverable in response to a second request from the second device in the peer-to-peer network.
0. 63. The method of claim 61 wherein the accessing of the plurality of service descriptions comprises receiving one or more service descriptions from a peer device.
0. 64. The method of claim 61 wherein the accessing of the plurality of service descriptions comprises receiving a link to one or more service descriptions.
0. 65. The method of claim 61 wherein the identifying of the resource context comprises receiving an identification of at least one of the plurality of devices.
0. 66. The method of claim 61 further comprising transmitting a response to a discovery protocol request received from the second device.
0. 67. The method of claim 61 further comprising tracking the addition and removal of devices of the resource context.
0. 68. The method of claim 61 further comprising cataloging the plurality of service descriptions corresponding to the devices.
0. 69. The method of claim 61 wherein the second device is charged for access to the first virtual device.
0. 70. The method of claim 61 wherein the second device is charged for access to the information identifying the at least one first or second virtual device.
0. 71. The method of claim 61 wherein the accessing of the plurality of service descriptions corresponding to the devices of the resource context comprises querying a service catalog accessible to the peer-to-peer network.
0. 72. The method of claim 61 wherein the first device and the second device are peer devices.
0. 73. The method of claim 61 further comprising utilizing a supervisory pull system to automatically obtain software to provision the devices of the first constellation to implement the first virtual device.
0. 74. The method of claim 73 wherein the software defines services that are pre-written for interfaces of the resource context.
0. 75. The method of claim 74 wherein the software is suspended, removed, or updated automatically.
0. 76. The method of claim 61 wherein the accessing of the plurality of service descriptions corresponding to the devices of the resource context comprises accessing a catalog of available services for the resource context.
0. 77. The method of claim 76 wherein a real-time query is utilized for accessing the catalog of available services.
0. 78. The method of claim 76 wherein the accessed plurality of service descriptions includes services descriptions corresponding to devices or services that are predicted to be part of the resource context.
0. 79. The method of claim 61, wherein the resource context includes at least one service and the at least one constellation includes at least one of the at least one service.
0. 81. The system, of claim 80, wherein the resource context includes the existing service and the first constellation includes the existing service.
0. 83. The system of claim 82 further comprising:
means for tracking addition and removal of devices within the peer-to-peer network, the identifying means to update the resource context in response to the tracking means detecting at least one of: an addition of a new device to the peer-to-peer network, an addition of a new service to the peer-to-peer network, a removal of an existing device from the peer-to-peer network, or a removal of an existing service from the peer-to-peer network.
0. 84. The system of claim 82, wherein the resource context includes at least one service and the at least one of the constellations includes at least one of the at least one service.
0. 86. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least:
receive an indication of at least one device or service added to or removed from the peer-to-peer network;
access at least one service description corresponding to the at least one device or service added to or removed from the peer-to-peer network; and
store a service description for at least one subsequent aggregate service,
wherein the at least one subsequent aggregate service is selected utilizing the at least one service description corresponding to the at least one device or service added to or removed from the peer-to-peer network, and
wherein the service description for the at least one subsequent aggregate service is discoverable in response to a second request from the device in the peer-to-peer network.
0. 87. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to access the plurality of service descriptions at least by receiving one or more service descriptions from a peer device.
0. 88. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to access the plurality of service descriptions at least by receiving a link to one or more service descriptions.
0. 89. The non-transitory computer storage medium of claim 88 wherein the instructions cause the one or more processors to receive the link to the one or more service descriptions at least by receiving a Uniform resource Locator (URL) or Web service Uniform resource Indicator (URI).
0. 90. The non-transitory computer storage medium of claim 88 wherein the link is received predictively.
0. 91. The non-transitory computer storage medium of claim 88 wherein the link is a link to a constellation.
0. 92. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least transmit a response to a discovery protocol request.
0. 93. The non-transitory computer storage medium of claim 92 wherein the instructions cause the one or more processors to transmit the response utilizing a Web Services protocol.
0. 94. The non-transitory computer storage medium of claim 93 wherein the Web Services protocol is a tag-based markup language comprising an extensible markup language (XML), Web Services description Language (WSDL), Simple Object Access Protocol (SOAP), or Universal description Discovery and Integration (UDDI) protocol.
0. 95. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least track the addition and removal of devices of the resource context.
0. 96. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least catalog one or more of the plurality of service descriptions corresponding to the devices.
0. 97. The non-transitory computer storage medium of claim 85 wherein a device within the peer-to-peer network is charged for access to the at least one of the first aggregate service or the second aggregate service.
0. 98. The non-transitory computer storage medium of claim 85 wherein a device within the peer-to-peer network is charged for access to the information identifying the at least one of the first aggregate service or the second aggregate service.
0. 99. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to access the plurality of service descriptions corresponding to the devices of the resource context by at least querying a service catalog accessible to the peer-to-peer network.
0. 100. The non-transitory computer storage medium of claim 85 wherein the first aggregate service is different than the second aggregate service.
0. 101. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to access the plurality of service descriptions by at least:
utilizing a supervisory pull system to automatically obtain the software for the at least one of the first or the second aggregate service.
0. 102. The non-transitory computer storage medium of claim 101 wherein the software defines services that are pre-written for interfaces of the resource context.
0. 103. The non-transitory computer storage medium of claim 102 wherein the software for the at least one of the first or the second aggregate service is suspended, removed, or updated automatically.
0. 104. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to access the plurality of service descriptions corresponding to the devices of the resource context by at least accessing a catalog of available services for the resource context.
0. 105. The non-transitory computer storage medium of claim 104 wherein the instructions cause the one or more processors to access the catalog of available services in response to a real-time query.
0. 106. The non-transitory computer storage medium of claim 104 wherein the accessed plurality of service descriptions includes services descriptions corresponding to devices or services that are predicted to be part of the resource context.
0. 107. The non-transitory computer storage medium of claim 104 wherein the instructions cause the one or more processors to at least obtain a subset of the available services for the resource context within the catalog.
0. 108. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least store information identifying at least one predicted aggregate service.
0. 109. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least store information identifying at least one additional aggregate service for an additional identified constellation.
0. 110. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least control the at least one of the first or the second aggregate service.
0. 111. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least obtain one or more commands to control the at least one of the first or the second aggregate service.
0. 112. The non-transitory computer storage medium of claim 85 wherein the instructions cause the one or more processors to at least transmit one or more commands to control the at least one of the first or the second aggregate service.
0. 113. The non-transitory computer storage medium of claim 85, wherein the resource context includes at least one service accessible in the peer-to-peer network and the first virtual device utilizes the at least one service.
0. 115. The method of claim 114 further comprising:
receiving at the first device an indication of at least one device or service added to or removed from the peer-to-peer network;
accessing at least one service description corresponding to the at least one device or service added to or removed from the peer-to-peer network; and
storing a service description for at least one subsequent aggregate service corresponding to a subsequent constellation,
wherein the at least one subsequent aggregate service is constructed utilizing the at least one service description corresponding to the at least one device or service added to or removed from the peer-to-peer network, and wherein the service description for the at least one subsequent aggregate service is discoverable in response to a request from a second device in the peer-to-peer network.
0. 116. The method of claim 115 wherein the method further comprises transmitting a response to a discovery protocol request received from a second device.
0. 117. The method of claim 116 wherein the first device is charged for access to the first virtual device.
0. 118. The method of claim 116 wherein the first device is charged for access to the information identifying the first virtual device.
0. 119. The method of claim 115 wherein the first device and a second device are peer devices.
0. 120. The method of claim 114 wherein the accessing of the plurality of service descriptions comprises receiving one or more service descriptions from a peer device.
0. 121. The method of claim 114 wherein the accessing of the plurality of service descriptions comprises receiving a link to one or more service descriptions.
0. 122. The method of claim 114 wherein the method further comprises tracking the addition and removal of devices of the resource context.
0. 123. The method of claim 114 wherein the method further comprises cataloging the plurality of service descriptions corresponding to the devices.
0. 124. The method of claim 114 wherein the accessing of the plurality of service descriptions corresponding to the devices or services of the resource context comprises querying a service catalog accessible to the peer-to-peer network.
0. 125. The method of claim 114 further comprising utilizing a supervisory pull system to automatically obtain the software to provision the first constellation.
0. 126. The method of claim 125 wherein the at least one constellation defines services that are pre-written for interfaces of the resource context.
0. 127. The method of claim 126 wherein the software for the first constellation is suspended, removed, or updated automatically.
0. 128. The method of claim 114 wherein the accessing of the plurality of service descriptions corresponding to the devices of the resource context comprises accessing a catalog of available services for the resource context.
0. 129. The method of claim 128 wherein a real-time query is utilized for accessing the catalog of available services.
0. 130. The method of claim 128 wherein the accessed plurality of service descriptions includes services descriptions corresponding to devices or services that are predicted to be part of the resource context.
0. 131. The method of claim 114, wherein the resource context includes at least one service and the first constellation includes at least one of the at least one service.
0. 133. The first device of claim 132, wherein the first constellation includes at least one service.
0. 135. The non-transitory computer storage medium of claim 134 wherein the instructions cause the one or more processors to at least receive a response from the second device in response to the at least one request.
0. 136. The non-transitory computer storage medium of claim 135 wherein the response indicates that the at least one virtual device is further constructed from the at least one first service description.
0. 137. The non-transitory computer storage medium of claim 134, wherein the resource context includes at least one of the services accessible to the first device.
0. 139. The method of claim 138 wherein the method further comprises receiving a response from the second device in response to the at least one request.
0. 140. The method of claim 139 wherein the response indicates that the at least one virtual device is further constructed from the at least one first service description.
0. 141. The method of claim 138, wherein the resource context includes at least one service that is accessible to the first device within the peer-to-peer network.
0. 143. The system of claim 142 wherein the one or more processors are to receive a response from the second device in response to the at least one request.
0. 144. The system of claim 143 wherein the response indicates that the at least one virtual device is further constructed from the at least one first service description.
0. 145. The system of claim 142, wherein the resource context includes at least one service that is accessible to the first device within the peer-to-peer network, and the first service description describes functionality of at least one of the at least one service.
0. 147. The non-transitory computer storage medium of claim 146, wherein the resource context includes at least one service and the at least one aggregate service corresponds to at least one service description of at least one of the at least one service.
0. 149. The method of claim 148, wherein the resource context includes at least one service and the at least one aggregate service corresponds to at least one service description of at least one of the at least one service.
0. 151. The system of claim 150, wherein the resource context includes at least one service and the at least one aggregate service corresponds to at least one service description of at least one of the at least one service.
0. 153. The non-transitory computer storage medium of claim 152 wherein the at least one catalogued service is a common service or popular service.
0. 154. The non-transitory computer storage medium of claim 152 wherein the instructions further cause one or more processors to at least:
predictively obtain at least one predicted service not yet available for a second constellation; and
store information identifying the at least one predicted service.
0. 155. The non-transitory computer storage medium of claim 152 wherein the one or more processors execute the instructions continuously.
0. 156. The non-transitory computer storage medium of claim 152 wherein the catalog is dynamically generated through a real-time query.
0. 157. The non-transitory computer storage medium of claim 152 wherein the instructions cause the one or more processors to at least:
present via a user interface the at least one catalogued service.
0. 158. The non-transitory computer storage medium of claim 152 wherein the instructions cause the one or more processors to at least:
obtain a selection or information indicating an inspection of the at least one catalogued service.
0. 159. The non-transitory computer storage medium of claim 152 wherein the at least one catalogued service includes access requirements.
0. 160. The non-transitory computer storage medium of claim 159 wherein the access requirements comprise licensing terms or payment terms.
0. 162. The method of claim 161 wherein the at least one catalogued service is a common service or popular service.
0. 163. The method of claim 161 wherein the method further comprises:
predictively obtaining at least one predicted service not yet available for a second constellation; and
storing information identifying the at least one predicted service.
0. 164. The method of claim 161 wherein the method operates continuously.
0. 165. The method of claim 161 wherein the catalog is dynamically generated through a real-time query.
0. 166. The method of claim 161 wherein the method further comprises:
presenting via a user interface the at least one catalogued service.
0. 167. The method of claim 161 wherein the method further comprises:
receiving a selection or information indicating an inspection of the at least one catalogued service.
0. 168. The method of claim 161 wherein the at least one catalogued service includes access requirements.
0. 169. The method of claim 168 wherein the access requirements comprise licensing terms or payment terms.
0. 171. The system of claim 170 wherein the catalog is dynamically generated through a real-time query.
0. 172. The system of claim 170 wherein the at least one catalogued service includes access requirements.
0. 173. The system of claim 172 wherein the access requirements comprise licensing terms or payment terms.
hosts sources are illustrated, it will be appreciated that an arbitrary number of service hosts sources may be utilized. Service host 100 may be pre-configured with the identity of the service hosts sources, or a discovery protocol, such as UDDI, may be used to discover their presence.

It will be appreciated that constellation determination may be a resource and communication bandwidth intensive task beyond the capabilities of the service host 100 and/or its local network 114. Consequently, in another embodiment, a service source (or other external resource), such as one of the illustrated service hosts sources 116, 118, is responsible for comparing a resource matrix against available services provided by various service sources. In a still further embodiment, to facilitate the comparing, the service source maintains a “catalog” of available services, e.g., in a database, and performs an intersection of the catalog against the resource matrix to identify applicable services.

FIG. 2 illustrates a flowchart of exemplary operations for managing devices communicatively coupled to a network. In one embodiment, the illustrated operations may be performed by a FIG. 1 service host 100. In another embodiment, resource intensive tasks are offloaded to a high-performance device (or even to servers in a peer-to-peer network).

The service host may be configured to perform the illustrated operations continuously, or periodically. When the service host discovers 200 a device change, e.g., such as a power-up event or addition of a device to a resource context, the service host determines 202 a new resource matrix. It will be appreciated that resource matrices may be identified incrementally and retained, such that adding a new device results in identifying only the newly defined matrices.

After determining 202 the new resource matrix, constellations applicable to the resource matrix may be identified 204. It will be appreciated that with sufficient resources, one may skip the operation of identifying constellations, and simply map a resource context against all possible services to see which will operate in a given resource context.

A catalog may be searched 206 for software that is available for the constellations of the resource context. The catalog can be dynamically generated, such as through real-time queries to FIG. 1 service sources 116, 118, and/or the service host may advance query service sources for their service offerings and store results in a local storage, e.g., a database, etc., for later searching/matching. It will be appreciated the service host may catalog services for various constellations, including those not yet seen in a particular resource context. For example, common services, or popular services, may be predictively obtained in advance of an appropriate constellation being present.

In one embodiment, each available service may be presented 206 208 to a user with an interface allowing inspection and/or selection of the service. It will be appreciated that the service may have access requirements, such as agreeing to licensing terms, arranging for payment for the software, or the like, and that the interface may be configured to prevent access to the software for the service until required terms are met. It will be appreciated that various cryptographic techniques may be employed to prevent tampering with software.

As noted above, resource intensive tasks, such as identifying 204 constellations, and search searching 206 catalogs for services, may be are offloaded to higher-performance devices that operate on behalf of the service host. For example, in a typical home environment, it is likely the service host will have inferior capabilities in comparison to a service source. Consequently, in one embodiment, a service source operates on behalf of a home network's service host to perform difficult tasks such as constellation identification and mapping against available services. The results of these intensive operations are provided to the service host.

FIG. 3 illustrates a flowchart of exemplary operations performed by the FIG. 1 service host 100 from which managed devices are decoupled. The service host may be configured to perform the illustrated operations continuously, or periodically, and may operate in conjunction with FIG. 2, or separately.

When the service host discovers 300 a device change, e.g., such as a power-down event or removal of a device from a resource context, currently known constellations for the resource context are inspected to determine 302 which contexts, if any, have been invalidated by the device removal. It will be appreciated that invalid contexts may be deleted from storage, or simply marked as unavailable.

Assuming an invalid constellation is marked 304 as being unavailable, the services associated with the now-invalid constellation are appropriately updated 306. For example, if a now-invalid service had a monthly fee, in one embodiment, the service host providing the service may be notified that charges should be suspended while the service is unavailable. Alternatively, updating 306 may be, or may include, displaying a dialog box or user-interface allowing a user to determine what action to take with respect to now-invalid services.

FIG. 4 illustrates a high-level view of a home network according to one embodiment. The FIG. 4 embodiment is a detailed variation of the FIG. 1 embodiment. Illustrated are various devices, such as a printer 402, computer 404, telephone 406, stereo 408, television 410, and storage 412. It will be appreciated that the illustrated devices are for exemplary purposes only and are not intended to limit the invention.

Devices 402-412 are communicatively coupled to a service host 400 by way of a communication channel 414, which may be a combination of different wired and/or wireless communication technologies. In the illustrated embodiment, devices unable to directly communicate over the channel 414, such as telephone 406, stereo 408, television 410, etc., may be coupled to the channel by way of an adapter 416-420. In the illustrated embodiment, it is assumed that the communication channel 414 is a network, such as a Transmission Control Protocol/Internet Protocol (TCP/IP) based network, and that a discovery protocol, such as Universal Plug and Play (UPNP), is utilized to track addition and removal of devices from a hardware context. Thus, as illustrated, adapters 416-420 include UPNP adapters that identify the presence of, and integrate communication with, the devices in the resource context.

The service host may also have a local bus 422, e.g., a Universal Serial Bus (USB), Personal Computer Memory Card International Association (PCMCIA) or PC-CARD bus, or the like, to which may be attached devices (not illustrated) local to the service host. The local bus may also support attached storage 424, such as a large hard disk, for storing services 426 and related data. The local bus may also include local network adapters 428, such as specialized interfaces built-in to the service host to support communication with various types of devices 430, such as devices using the X10 protocol or equivalent operating over a power-line network, e.g., home electrical wiring.

The service host may be communicatively coupled, at least intermittently, to a network 434, such as the Internet, a wide area network (WAN), broadband network, or other network. In the illustrated embodiment, the service host 400 monitors UPNP events to identify when devices, such as illustrated devices 402-412, are added or removed from communication channel 414. In the illustrated embodiment, the service sources 116, 118 are configured to determine what constellations are defined by the current resource context, e.g., based on which devices are presently available. As discussed above, the service host may implement a supervisory pull system in which the service host automatically obtains from service sources 116, 118 drivers, software, etc. which may be contained within service packages for constellations applicable to the resource context. Acquired services, e.g., services 426, are associated with the service host for later use in various resource contexts.

To demonstrate exemplary operation of the illustrated embodiment, consider an end-user who had a UPNP IP Telephone Adapter 416, a UPNP Audio Adapter, 418, speakers operative in several rooms, and later added storage device 412, such as a UPNP Media Storage Sever or other device capable of being instructed by other UPNP devices to store and retrieve data when needed. The storage 412 and adapters 416, 418 correspond to one logical constellation defined in the context of the illustrated network. As discussed above, whenever a new device is added to the home network, the service host 400 discovers it and adds the device information the resource context. It will be appreciated that various database technology may be employed by the service host to track resource contexts.

When a user adds storage 412 to the home network, in one embodiment, the service host 400 makes a Web Service invocation to the service source, such as a Simple Object Access Protocol (SOAP) message with input arguments describing the resource matrix, which could include all the UPNP devices in the network, all Web Services the user subscribes to, configuration details of the service host, e.g., software libraries devices local to the service host, and other resources. It will be appreciated that various resource description languages may be used to describe the resource matrix. For example, RDF (Resource Description Framework), an XML-based framework for describing resources, could be used to describe the resource matrix, and be sent as a single XML document argument in the SOAP call. It will be appreciated that other document structures defined by a future XML Schema may be used, e.g., in accord with new document standards. It will also be appreciated that SOAP is identified for exemplary purposes only, and that other technologies may be used to transport a current resource context.

In one embodiment, also identified are services which may be used as resources for other services, e.g., to allow aggregating a service into another service. The Web Service function identified in the SOAP message is received by the service source (or another device acting as a broker for the home network), and when processed (e.g., executed, interpreted, etc.) results in the service source searching through all of the cataloged services of known service sources (e.g., services offered by service sources 116, 118. In one embodiment, the infrastructure between the service host and service sources is based upon Web Services, i.e., extensible Markup Language (XML) based technologies including WSDL, SOAP, and UDDI.

Published operating requirements of different services are compared against the resource context of the home network. It will be appreciated that there may be thousands of cataloged services located on many networked service sources. Matching resource contexts against potentially applicable services may be a resource intensive task. Thus, in one embodiment, specialized intermediaries (e.g., service cataloging agents or service brokers) offload matching operations of the service host. When a match is found, the service information is extracted and saved to a list. In one embodiment, only new or updated services are saved to the list. When all available services have been inspected, a SOAP response including the list may be returned to the service host. The service host may then notify a user of the available services through a user interface, such as by way of a web browser directed towards a web server of the service host, email, or other notification technique.

Thus, for example, the user may receive notification that a Telephone Answering Machine (TAM) service is available for a resource constellation comprised of the telephone 406, storage 412, which the service could use to store outgoing and incoming messages, and stereo 408 which the service could use to play received messages to the user. The user may choose a particular service based on various considerations, including price and performance considerations, as well as the nature of the equipment in the identified constellation. It will be appreciated that various techniques, including a conventional telephone call to a support center, or an online commerce transaction, may be used to allow the user to select a service and satisfy payment requirements or other requirements.

Assume the user is able to use a web browser to purchase the service, and then receive an authorization certificate. This certificate can be given to the service host along with an instruction to install the purchased service. If the software for the service has not already been obtained, the service host can download it from its service source. In one embodiment, the service host gives the certificate to the service source to prove authorization of the service host to obtain a copy of the software. The user now may use the acquired Telephone Answering Machine.

In one embodiment, a service, such as the TAM service, may provide multiple interfaces. For example, the TAM may provide a user interface for a user of the TAM, and a programmatic interface described by a WSDL. A service host could thus host a Web Service locally that other local services could access via local SOAP invocations, or over the WAN, e.g., the service host may operate as a service source for the TAM service. Thus, for example, an end-user could access the home TAM from work via an appropriate control program operating over the WAN.

FIG. 5 and the following discussion are intended to provide a brief, general description of a suitable machine in which certain aspects of the illustrated invention may be implemented. As used herein, the term “machine” includes a single machine, such as a computer, handheld device, transportation device, etc., or a system of communicatively coupled machines or devices.

Typically, a machine 500 includes a system bus 502 to which is attached processors 504, a memory 506, e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium, storage devices 508, a video interface 510, and input/output interface ports 512. The machine may be controlled, at least in part, by input from conventional input devices, such as keyboards, mice, etc., as well as by directives received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input source or signal.

The machine may include embedded controllers, such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits, embedded computers, smart cards, and the like. The machine may utilize connections to one or more remote machines 514, 516, such as through a network interface 518, modem 520, or other communicative coupling. Machines may be interconnected by way of a physical and/or logical network 522, such as the network 120 of FIG. 1. One skilled in the art will appreciate that network 522 may utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 802.11, Bluetooth, optical, infrared, cable, laser, etc.

The invention may be described by reference to or in conjunction with associated data including functions, procedures, data structures, application programs, etc. which when accessed by a machine results in the machine performing tasks or defining abstract data types or low-level hardware contexts. Associated data may be stored in, for example, volatile and/or non-volatile memory 506, or in storage devices 508 and their associated storage media, including hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, etc. Associated data may be delivered over transmission environments, including network 522, in the form of packets, serial data, parallel data, propagated signals, etc., and may be used in a compressed or encrypted format. Associated data may be used in a distributed environment, and stored locally and/or remotely for access by single or multiprocessor machines, portable computers, handheld devices, e.g., Personal Digital Assistants (PDAs), cellular telephones, tablets, etc.

Thus, for example, with respect to the illustrated embodiments, assuming machine 500 embodies the service host 100 of FIG. 1, then remote machines 514, 516 may respectively be two service sources (see, e.g., FIG. 1 service sources 116, 118) providing services to the service host 100. It will be appreciated that remote machines 514, 516 may be configured like machine 500, and therefore include many or all of the elements discussed for machine. It will be appreciated that the service host may optionally be configured to operate as a service control proxy for local control devices on its network, such as handheld devices, where services may be viewed and executed by the local control devices even though they do not actually contain the service itself. That is, a local control device may operate as a front-end providing a convenient mobile user interface, while the service host operates as a back-end where services are actually hosted and managed.

Having described and illustrated the principles of the invention with reference to illustrated embodiments, it will be recognized that the illustrated embodiments can be modified in arrangement and detail without departing from such principles. And, though the foregoing discussion has focused on particular embodiments, other configurations are contemplated. In particular, even though expressions such as “in one embodiment,” “in another embodiment,” or the like are used herein, these phrases are meant to generally reference embodiment possibilities, and are not intended to limit the invention to particular embodiment configurations. As used herein, these terms may reference the same or different embodiments that are combinable into other embodiments.

Consequently, in view of the wide variety of permutations to the embodiments described herein, this detailed description is intended to be illustrative only, and should not be taken as limiting the scope of the invention. What is claimed as the invention, therefore, is all such modifications as may come within the scope and spirit of the following claims and equivalents thereto.

Trantow, Wayne D.

Patent Priority Assignee Title
Patent Priority Assignee Title
3226675,
5826239, Dec 17 1996 Hewlett Packard Enterprise Development LP Distributed workflow resource management system and method
5941947, Aug 18 1995 Rovi Technologies Corporation System and method for controlling access to data entities in a computer network
6038625, Jan 06 1998 Sony Corporation Method and system for providing a device identification mechanism within a consumer audio/video network
6160796, Jan 06 1998 Sony Corporation Method and system for updating device identification and status information after a local bus reset within a home audio/video network
6185491, Jul 31 1998 Oracle America, Inc Networked vehicle controlling attached devices using JavaBeans™
6363417, Mar 31 2000 Sovereign Peak Ventures, LLC Device interfaces for networking a computer and an embedded device
6363434, Mar 30 1999 Sony Corporation Method of managing resources within a network of consumer electronic devices
6377860, Jul 31 1998 Oracle America, Inc Networked vehicle implementing plug and play with javabeans
6437692, Jun 22 1998 SIPCO, LLC System and method for monitoring and controlling remote devices
6452935, Nov 25 1998 Sony Corporation Stream allocation in home networks
6460082, Jun 17 1999 SANDPIPER CDN, LLC Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
6542474, Feb 26 1999 Sony Corporation; Sony Electronics Inc. System and method for incrementally updating remote element lists in an electronic network
6571297, Aug 20 1997 Oracle International Corporation Service interface repository application programming models
6580950, Apr 28 2000 ECHELON CORPORATION, A DELAWARE CORPORATION Internet based home communications system
6618764, Jun 25 1999 Koninklijke Philips Electronics N.V. Method for enabling interaction between two home networks of different software architectures
6636505, May 28 1999 Hewlett Packard Enterprise Development LP Method for service provisioning a broadband modem
6735630, Oct 06 1999 Intellectual Ventures I LLC Method for collecting data using compact internetworked wireless integrated network sensors (WINS)
6826607, Oct 06 1999 Intellectual Ventures I LLC Apparatus for internetworked hybrid wireless integrated network sensors (WINS)
6832251, Oct 06 1999 Intellectual Ventures I LLC Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS)
6859831, Oct 06 1999 Intellectual Ventures I LLC Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes
6889188, Nov 22 2002 TAHOE RESEARCH, LTD Methods and apparatus for controlling an electronic device
6892230, Jun 11 1999 Rovi Technologies Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
6916247, Nov 23 2001 MUDALLA TECHNOLOGY, INC C O THOITS, LOVE HERSHBERGER & MCLEAN Modular entertainment and gaming systems
6948168, Mar 30 2000 ACTIVISION PUBLISHING, INC Licensed application installer
6961941, Jun 08 2001 VMware, Inc. Computer configuration for resource management in systems including a virtual machine
6963784, Oct 16 1998 Sony Corporation Virtual device control modules and function control modules implemented in a home audio/video network
6973473, May 31 2000 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
6985939, Sep 19 2001 International Business Machines Corporation Building distributed software services as aggregations of other services
6990379, Dec 30 1999 Microsoft Technology Licensing, LLC Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system
7020701, Oct 06 1999 Intellectual Ventures I LLC Method for collecting and processing data using internetworked wireless integrated network sensors (WINS)
7039701, Mar 27 2002 International Business Machines Corporation Providing management functions in decentralized networks
7069318, Mar 27 2002 International Business Machines Corporation Content tracking in transient network communities
7072960, Jun 10 2002 Hewlett Packard Enterprise Development LP Generating automated mappings of service demands to server capacities in a distributed computer system
7143139, Mar 27 2002 International Business Machines Corporation Broadcast tiers in decentralized networks
7159007, Aug 31 2000 Schneider Automation Communication system for automation equipment based on the WSDL language
7167920, Jan 22 2001 Oracle America, Inc Peer-to-peer communication pipes
7171471, Aug 15 2002 Cisco Technology, Inc. Methods and apparatus for directing a resource request
7177929, Mar 27 2002 International Business Machines Corporation Persisting node reputations in transient network communities
7181536, Mar 27 2002 International Business Machines Corporation Interminable peer relationships in transient communities
7185342, Jul 24 2001 Oracle International Corporation Distributed service aggregation and composition
7206934, Sep 26 2002 Oracle America, Inc Distributed indexing of identity information in a peer-to-peer network
7207041, Jun 28 2001 QUARTERHILL INC ; WI-LAN INC Open platform architecture for shared resource access management
7251689, Mar 27 2002 International Business Machines Corporation Managing storage resources in decentralized networks
7263560, Aug 30 2002 Oracle America, Inc Decentralized peer-to-peer advertisement
7283811, Feb 23 2001 Alcatel Lucent System and method for aggregation of user applications for limited-resource devices
7325047, May 23 2001 International Business Machines Corporation Dynamic undeployment of services in a computing network
7343428, Sep 19 2001 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
7386860, Jun 28 2002 Microsoft Technology Licensing, LLC Type extensions to web services description language
7412538, Mar 30 1999 Sony Corporation Request event manager and event lists for home and office systems and networks
7426730, Apr 19 2001 DAV SUB, INC D B A CONTINUUM HEALTH TECHNOLOGIES CORP Method and system for generalized and adaptive transaction processing between uniform information services and applications
7472349, Jun 01 1999 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
7519918, May 30 2002 Intel Corporation Mobile virtual desktop
7599827, Jun 06 2000 Microsoft Technology Licensing, LLC Evaluating hardware models having resource contention
7603469, Jan 15 2002 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
7797367, Oct 06 1999 Intellectual Ventures I LLC Apparatus for compact internetworked wireless integrated network sensors (WINS)
7822860, Dec 11 2001 LinkedIn Corporation Method and apparatus for dynamic reconfiguration of web services infrastructure
7844687, Oct 06 1999 Intellectual Ventures I LLC Method for internetworked hybrid wireless integrated network sensors (WINS)
7933945, Jun 27 2002 Microsoft Technology Licensing, LLC Method, system, and computer program product for managing controlled residential or non-residential environments
8140658, Oct 06 1999 Intellectual Ventures I LLC Apparatus for internetworked wireless integrated network sensors (WINS)
8356067, Oct 24 2002 Intel Corporation Servicing device aggregates
20020062417,
20020078259,
20020083143,
20020112058,
20020143819,
20030005090,
20030005130,
20030036917,
20030055624,
20030061256,
20030065756,
20030084156,
20030110334,
20030163513,
20030182394,
20030191802,
20030217139,
20030229900,
20040003033,
20040030740,
20040221001,
20040268407,
20050108354,
CN1267421,
CN1319800,
WO9859478,
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 05 2002TRANTOW, WAYNE D Intel CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0577050582 pdf
Jan 12 2015Intel Corporation(assignment on the face of the patent)
Date Maintenance Fee Events
Sep 02 2024REM: Maintenance Fee Reminder Mailed.


Date Maintenance Schedule
Apr 25 20264 years fee payment window open
Oct 25 20266 months grace period start (w surcharge)
Apr 25 2027patent expiry (for year 4)
Apr 25 20292 years to revive unintentionally abandoned end. (for year 4)
Apr 25 20308 years fee payment window open
Oct 25 20306 months grace period start (w surcharge)
Apr 25 2031patent expiry (for year 8)
Apr 25 20332 years to revive unintentionally abandoned end. (for year 8)
Apr 25 203412 years fee payment window open
Oct 25 20346 months grace period start (w surcharge)
Apr 25 2035patent expiry (for year 12)
Apr 25 20372 years to revive unintentionally abandoned end. (for year 12)