Servicing device aggregates
AssigneeIntel Corporation
InventorWayne D. Trantow
Life of this patent
Estimating the term…
Abstract
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.
Claims173
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.