USRE49505E1 - Servicing device aggregates - Google Patents

Servicing device aggregates Download PDF

Info

Publication number
USRE49505E1
USRE49505E1 US14/594,752 US201514594752A USRE49505E US RE49505 E1 USRE49505 E1 US RE49505E1 US 201514594752 A US201514594752 A US 201514594752A US RE49505 E USRE49505 E US RE49505E
Authority
US
United States
Prior art keywords
service
peer
devices
storage medium
transitory computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US14/594,752
Inventor
Wayne D. Trantow
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US14/594,752 priority Critical patent/USRE49505E1/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TRANTOW, WAYNE D.
Application granted granted Critical
Publication of USRE49505E1 publication Critical patent/USRE49505E1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Definitions

  • the invention generally relates to providing services to devices, and more particularly to aggregating installed devices to define a virtual device, which may then be provisioned according to the capabilities of the virtual device.
  • a device such as a computer, audio player, Compact Disc (CD) recorder, etc.
  • certain drivers and/or software is provided to utilize the device.
  • a user may have, over time, purchased a computer for word processing, a speaker system incident to a game purchase, and a microphone incident to a dictation software purchase.
  • Each of these devices was purchased for a particular purpose, and their associated software is designed for a specific use towards that purpose.
  • these devices in combination, may be used to implement other devices, such as an Internet telephone, answering system, etc.
  • WSDL Web Services Description Language
  • UDDI Universal Description, Discovery and Integration
  • UPNP Universal Plug and Play
  • provisioning services which may use UPNP or another web service description environment, includes the CableHomeTM framework and the Open Service Gateway Initiative (OSGi), both of which are interface specifications defining delivery of services over wide-area networks (WANs) to local area networks (LANs) and devices on the LAN.
  • OSGi Open Service Gateway Initiative
  • these provisioning services lack flexibility in their ability to provision devices.
  • These services restrict a user on a LAN, such as one connected to the Internet by way of a broadband connection such as a cable modem, XDSL (digital subscriber line) modem, etc., by not involving the user in the provisioning of services that may be applicable to the particular LAN devices.
  • these provisioning services implement a supervised service “push” framework in which a technician affiliated with the provisioning service is responsible for identifying aggregate abilities that may exist on a LAN, and then pushing/offering services (perhaps exclusively) accordingly.
  • FIG. 1 illustrates an environment in which certain aspects of the invention may be performed.
  • FIG. 2 illustrates a flowchart of exemplary operations for managing devices communicatively coupled to a network.
  • FIG. 3 illustrates a flowchart of exemplary operations performed by the FIG. 1 service host from which managed devices are decoupled.
  • FIG. 4 illustrates a high-level view of a home network according to one embodiment.
  • FIG. 5 illustrates a suitable computing environment in which certain aspects of the invention may be implemented.
  • a local environment including a network may define a “resource matrix” comprised of web services and devices communicatively coupled in some manner, e.g., wired or wirelessly, to the network.
  • a particular combination of devices and services constitutes a logical platform referenced herein as a resource “constellation.”
  • a “service” is defined as an operation performed by a service host in conjunction with a resource constellation. The operation of the service is defined by a software program that is packaged and made available to the service host by the service source.
  • a service may provide an interface, resources, etc. and thus become a resource within a constellation for another service, e.g., a service may be built on an aggregation of other services, devices, etc.
  • new services may be automatically obtained for constellations now definable with respect to the current state of the network. It is assumed that devices are either directly connectable to the network, or may be operated through an interface device. Thus, as one example, if a network environment already included an Internet link, a computer, and speaker system, and then a microphone were later added, this addition would allow defining a constellation which supports an Internet telephone service. Or, as another example, if a networked compact disc (CD) player were added, a constellation supporting a music jukebox service could be implemented.
  • CD networked compact disc
  • Traditional service provider environments such as CableHome or OSGi, operate as a service-push system, where the service provider attempts to track the nature of the local environment and offer/push services accordingly. This is inefficient, and often the information is out of date since the push provider may not be aware of changes to a local environment, e.g., network device additions/deletions.
  • a service-pull system is used where services are pre-written for interfaces of presumed constellations.
  • a service may be automatically pulled to a local environment once a constellation exists with the required infrastructure for the service, e.g., necessary hardware and/or software to support the service.
  • Addition or removal of devices, machines or software from a network can be tracked so that constellations can be defined, suspended, removed, or updated automatically. And, costs may be associated with services, and local rules or policies applied, to determine if and how services may be automatically or manually obtained and utilized in a particular environment. It will be appreciated that advertising may also be targeted to constellations, and that a push and/or pull model may be employed to obtain them. Advertising may be used to sponsor or otherwise support making services available.
  • a “service host” refers to a machine, such as a local server on the network, from which services may be obtained, e.g., this machine hosts services which may be provided to devices on the network. It will be appreciated that a service host may dynamically, opportunistically, predictively, etc. obtain services, just links thereto (e.g., a Uniform Resource Locator (URL) or other reference), or some combination thereof, from a “service source,” e.g., typically a source external to the network. In the context of a link to a service, access of the link results in the service being obtained from its service source.
  • a Uniform Resource Locator URL
  • FIG. 1 illustrates an environment in which certain aspects of the invention may be performed. Illustrated are various devices, such as a printer 102 , computer 104 , e.g., a desktop, notebook, personal digital assistant (PDA), etc., telephone 106 , stereo 108 , display 110 , e.g., a television, monitor, projector, liquid crystal display (LCD), etc., and storage 112 , e.g., a network accessible mass storage device such as a hard drive.
  • PDA personal digital assistant
  • storage 112 e.g., a network accessible mass storage device such as a hard drive.
  • the phrase “resource context” will be used to refer to devices coupled with the server. It will be appreciated that the illustrated devices are for exemplary purposes only and are not intended to limit the invention.
  • Devices 102 - 112 are communicatively coupled to a service host 100 , e.g., a local or remote server, workstation, desktop computer, Internet gateway or other computing device or machine, by way of a communication channel 114 which may be a combination of wired and/or wireless communication technologies.
  • the service host is coupled with a network 120 , such as the Internet, a wide area network (WAN) or other network.
  • WAN wide area network
  • the service host is operative to monitor when devices, such as illustrated device 102 - 112 , are added or removed from the communication channel 114 .
  • a service host determines what constellations are defined by available devices. It is assumed software, application programs, drivers, etc. (hereafter “software”) have been prepared for presumed constellations, and the service host implements a supervisory pull system in which the service host automatically obtains software for constellations actually present in a resource context.
  • the service host 100 may be communicatively coupled with service sources 116 , 118 which provide the software for various constellations. Although only two service 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.
  • UDDI discovery protocol
  • 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 .
  • 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.
  • 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.
  • the illustrated operations may be performed by a FIG. 1 service host 100 .
  • 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.
  • 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.
  • 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.
  • 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.
  • each available service may be presented 206 208 to a user with an interface allowing inspection and/or selection of the service.
  • 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.
  • various cryptographic techniques may be employed to prevent tampering with software.
  • resource intensive tasks such as identifying 204 constellations, and search searching 206 catalogs for services
  • 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.
  • 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.
  • the services associated with the now-invalid constellation are appropriately updated 306 .
  • the service host providing the service may be notified that charges should be suspended while the service is unavailable.
  • 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.
  • a communication channel 414 which may be a combination of different wired and/or wireless communication technologies.
  • 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 .
  • 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.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • UPNP Universal Plug and Play
  • 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.
  • a network 434 such as the Internet, a wide area network (WAN), broadband network, or other network.
  • 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 .
  • 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.
  • 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.
  • 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.
  • storage 412 and adapters 416 , 418 correspond to one logical constellation defined in the context of the illustrated 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.
  • 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.
  • SOAP Simple Object Access Protocol
  • RDF Resource Description Framework
  • 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.
  • 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 .
  • 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.
  • XML extensible Markup Language
  • 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.
  • 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.
  • 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.
  • TAM Telephone Answering Machine
  • 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.
  • the service host can download it from its service source.
  • 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.
  • a service such as the TAM service, may provide multiple interfaces.
  • 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.
  • 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.
  • 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.
  • 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.
  • VR virtual reality
  • 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 .
  • 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.
  • RF radio frequency
  • IEEE Institute of Electrical and Electronics Engineers
  • 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.
  • PDAs Personal Digital Assistants
  • 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 .
  • remote machines 514 , 516 may be configured like machine 500 , and therefore include many or all of the elements discussed for machine.
  • 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.

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.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a broadening reissue of U.S. Pat. No. 8,356,067, issued Jan. 15, 2013, which is incorporated herein by reference.
FIELD OF THE INVENTION
The invention generally relates to providing services to devices, and more particularly to aggregating installed devices to define a virtual device, which may then be provisioned according to the capabilities of the virtual device.
BACKGROUND
Generally, when a device is purchased, such as a computer, audio player, Compact Disc (CD) recorder, etc., certain drivers and/or software is provided to utilize the device. Historically, there has been no way to automatically make use of the combined potential of multiple devices within a particular environment. For example, a user may have, over time, purchased a computer for word processing, a speaker system incident to a game purchase, and a microphone incident to a dictation software purchase. Each of these devices was purchased for a particular purpose, and their associated software is designed for a specific use towards that purpose. However, in theory, these devices, in combination, may be used to implement other devices, such as an Internet telephone, answering system, etc.
Recently, some effort has been made to aggregate existing hardware to present a new device, such as the Internet telephone. Various technologies and protocols are being studied in an effort to build a framework in which such device combinations may be described. For example, the Web Services Description Language (WSDL) may be used to describe service capabilities; Universal Description, Discovery and Integration (UDDI) may be used to enable discovery of networked machines providing certain services (e.g., a services “yellow pages”), Universal Plug and Play (UPNP) may be used to enable identification and facilitate installation of devices attached to a network, etc.
Two particular well-known provisioning services, which may use UPNP or another web service description environment, includes the CableHome™ framework and the Open Service Gateway Initiative (OSGi), both of which are interface specifications defining delivery of services over wide-area networks (WANs) to local area networks (LANs) and devices on the LAN. Unfortunately, while allowing for providing an Internet telephone device as an aggregate of other devices on a LAN, these provisioning services lack flexibility in their ability to provision devices. These services restrict a user on a LAN, such as one connected to the Internet by way of a broadband connection such as a cable modem, XDSL (digital subscriber line) modem, etc., by not involving the user in the provisioning of services that may be applicable to the particular LAN devices. Instead, these provisioning services implement a supervised service “push” framework in which a technician affiliated with the provisioning service is responsible for identifying aggregate abilities that may exist on a LAN, and then pushing/offering services (perhaps exclusively) accordingly.
BRIEF DESCRIPTION OF THE DRAWINGS
The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which:
FIG. 1 illustrates an environment in which certain aspects of the invention may be performed.
FIG. 2 illustrates a flowchart of exemplary operations for managing devices communicatively coupled to a network.
FIG. 3 illustrates a flowchart of exemplary operations performed by the FIG. 1 service host from which managed devices are decoupled.
FIG. 4 illustrates a high-level view of a home network according to one embodiment.
FIG. 5 illustrates a suitable computing environment in which certain aspects of the invention may be implemented.
DETAILED DESCRIPTION
In the following detailed description, numerous details are set forth in order to provide a thorough understanding of the present disclosed subject matter. However, it will be understood by those skilled in the art that the disclosed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the disclosed subject matter.
A local environment including a network, such as a Local Area Network (LAN), may define a “resource matrix” comprised of web services and devices communicatively coupled in some manner, e.g., wired or wirelessly, to the network. A particular combination of devices and services constitutes a logical platform referenced herein as a resource “constellation.” A “service” is defined as an operation performed by a service host in conjunction with a resource constellation. The operation of the service is defined by a software program that is packaged and made available to the service host by the service source. A service may provide an interface, resources, etc. and thus become a resource within a constellation for another service, e.g., a service may be built on an aggregation of other services, devices, etc.
As devices, machines, or services are added to the network, new services may be automatically obtained for constellations now definable with respect to the current state of the network. It is assumed that devices are either directly connectable to the network, or may be operated through an interface device. Thus, as one example, if a network environment already included an Internet link, a computer, and speaker system, and then a microphone were later added, this addition would allow defining a constellation which supports an Internet telephone service. Or, as another example, if a networked compact disc (CD) player were added, a constellation supporting a music jukebox service could be implemented.
Traditional service provider environments, such as CableHome or OSGi, operate as a service-push system, where the service provider attempts to track the nature of the local environment and offer/push services accordingly. This is inefficient, and often the information is out of date since the push provider may not be aware of changes to a local environment, e.g., network device additions/deletions. In illustrated embodiments, instead a service-pull system is used where services are pre-written for interfaces of presumed constellations. A service may be automatically pulled to a local environment once a constellation exists with the required infrastructure for the service, e.g., necessary hardware and/or software to support the service. Addition or removal of devices, machines or software from a network can be tracked so that constellations can be defined, suspended, removed, or updated automatically. And, costs may be associated with services, and local rules or policies applied, to determine if and how services may be automatically or manually obtained and utilized in a particular environment. It will be appreciated that advertising may also be targeted to constellations, and that a push and/or pull model may be employed to obtain them. Advertising may be used to sponsor or otherwise support making services available.
For the purposes of the following description and claims, a “service host” refers to a machine, such as a local server on the network, from which services may be obtained, e.g., this machine hosts services which may be provided to devices on the network. It will be appreciated that a service host may dynamically, opportunistically, predictively, etc. obtain services, just links thereto (e.g., a Uniform Resource Locator (URL) or other reference), or some combination thereof, from a “service source,” e.g., typically a source external to the network. In the context of a link to a service, access of the link results in the service being obtained from its service source.
FIG. 1 illustrates an environment in which certain aspects of the invention may be performed. Illustrated are various devices, such as a printer 102, computer 104, e.g., a desktop, notebook, personal digital assistant (PDA), etc., telephone 106, stereo 108, display 110, e.g., a television, monitor, projector, liquid crystal display (LCD), etc., and storage 112, e.g., a network accessible mass storage device such as a hard drive. The phrase “resource context” will be used to refer to devices coupled with the server. It will be appreciated that the illustrated devices are for exemplary purposes only and are not intended to limit the invention.
Devices 102-112 are communicatively coupled to a service host 100, e.g., a local or remote server, workstation, desktop computer, Internet gateway or other computing device or machine, by way of a communication channel 114 which may be a combination of wired and/or wireless communication technologies. The service host is coupled with a network 120, such as the Internet, a wide area network (WAN) or other network. As will be discussed further below, the service host is operative to monitor when devices, such as illustrated device 102-112, are added or removed from the communication channel 114. In one embodiment, a service host determines what constellations are defined by available devices. It is assumed software, application programs, drivers, etc. (hereafter “software”) have been prepared for presumed constellations, and the service host implements a supervisory pull system in which the service host automatically obtains software for constellations actually present in a resource context.
The service host 100 may be communicatively coupled with service sources 116, 118 which provide the software for various constellations. Although only two service 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.

Claims (173)

What is claimed is:
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.
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.
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:
receivingreceive from a service host a resource context forto identify said devices of the environment in response to an addition of a first device to the first network;
accessingaccess 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;
mappingmap the resource context against the accessed service descriptions to determine at least one service operable onto 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
providingprovide an identification of the at least one determined service to the sourceservice host.
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:
receivingreceive 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:
determiningdetermine 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:
catalogingcatalog 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:
receivingreceive a request to use the at least one determined service; and
facilitatingfacilitate 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:
chargingcharge the source a fee associated with the at least one determined service.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
35. The non-transitory computer storage medium of claim 33 wherein the link is received predictively.
36. The non-transitory computer storage medium of claim 33 wherein the link is a link to a constellation.
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.
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.
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.
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.
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.
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.
43. The non-transitory computer storage medium of claim 30 wherein the first device is charged for access to the second device.
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.
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.
46. The non-transitory computer storage medium of claim 30 wherein the first device and the third device are peer devices.
47. The non-transitory computer storage medium of claim 46 wherein the first device controls operation of the second device by executing the software.
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.
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.
50. The non-transitory computer storage medium of claim 49 wherein the software is suspended, removed, or updated automatically.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
66. The method of claim 61 further comprising transmitting a response to a discovery protocol request received from the second device.
67. The method of claim 61 further comprising tracking the addition and removal of devices of the resource context.
68. The method of claim 61 further comprising cataloging the plurality of service descriptions corresponding to the devices.
69. The method of claim 61 wherein the second device is charged for access to the first virtual device.
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.
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.
72. The method of claim 61 wherein the first device and the second device are peer devices.
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.
74. The method of claim 73 wherein the software defines services that are pre-written for interfaces of the resource context.
75. The method of claim 74 wherein the software is suspended, removed, or updated automatically.
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.
77. The method of claim 76 wherein a real-time query is utilized for accessing the catalog of available services.
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.
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.
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.
81. The system, of claim 80, wherein the resource context includes the existing service and the first constellation includes the existing service.
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.
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.
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.
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.
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.
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.
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.
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).
90. The non-transitory computer storage medium of claim 88 wherein the link is received predictively.
91. The non-transitory computer storage medium of claim 88 wherein the link is a link to a constellation.
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.
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.
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.
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.
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.
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.
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.
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.
100. The non-transitory computer storage medium of claim 85 wherein the first aggregate service is different than the second aggregate service.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
116. The method of claim 115 wherein the method further comprises transmitting a response to a discovery protocol request received from a second device.
117. The method of claim 116 wherein the first device is charged for access to the first virtual device.
118. The method of claim 116 wherein the first device is charged for access to the information identifying the first virtual device.
119. The method of claim 115 wherein the first device and a second device are peer devices.
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.
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.
122. The method of claim 114 wherein the method further comprises tracking the addition and removal of devices of the resource context.
123. The method of claim 114 wherein the method further comprises cataloging the plurality of service descriptions corresponding to the devices.
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.
125. The method of claim 114 further comprising utilizing a supervisory pull system to automatically obtain the software to provision the first constellation.
126. The method of claim 125 wherein the at least one constellation defines services that are pre-written for interfaces of the resource context.
127. The method of claim 126 wherein the software for the first constellation is suspended, removed, or updated automatically.
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.
129. The method of claim 128 wherein a real-time query is utilized for accessing the catalog of available services.
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.
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.
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.
133. The first device of claim 132, wherein the first constellation includes at least one service.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
153. The non-transitory computer storage medium of claim 152 wherein the at least one catalogued service is a common service or popular service.
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.
155. The non-transitory computer storage medium of claim 152 wherein the one or more processors execute the instructions continuously.
156. The non-transitory computer storage medium of claim 152 wherein the catalog is dynamically generated through a real-time query.
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.
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.
159. The non-transitory computer storage medium of claim 152 wherein the at least one catalogued service includes access requirements.
160. The non-transitory computer storage medium of claim 159 wherein the access requirements comprise licensing terms or payment terms.
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.
162. The method of claim 161 wherein the at least one catalogued service is a common service or popular service.
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.
164. The method of claim 161 wherein the method operates continuously.
165. The method of claim 161 wherein the catalog is dynamically generated through a real-time query.
166. The method of claim 161 wherein the method further comprises:
presenting via a user interface the at least one catalogued service.
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.
168. The method of claim 161 wherein the at least one catalogued service includes access requirements.
169. The method of claim 168 wherein the access requirements comprise licensing terms or payment terms.
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.
171. The system of claim 170 wherein the catalog is dynamically generated through a real-time query.
172. The system of claim 170 wherein the at least one catalogued service includes access requirements.
173. The system of claim 172 wherein the access requirements comprise licensing terms or payment terms.
US14/594,752 2002-10-24 2015-01-12 Servicing device aggregates Active 2031-11-17 USRE49505E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/594,752 USRE49505E1 (en) 2002-10-24 2015-01-12 Servicing device aggregates

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/280,889 US8356067B2 (en) 2002-10-24 2002-10-24 Servicing device aggregates
US14/594,752 USRE49505E1 (en) 2002-10-24 2015-01-12 Servicing device aggregates

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/280,889 Reissue US8356067B2 (en) 2002-10-24 2002-10-24 Servicing device aggregates

Publications (1)

Publication Number Publication Date
USRE49505E1 true USRE49505E1 (en) 2023-04-25

Family

ID=32107042

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/280,889 Ceased US8356067B2 (en) 2002-10-24 2002-10-24 Servicing device aggregates
US14/594,752 Active 2031-11-17 USRE49505E1 (en) 2002-10-24 2015-01-12 Servicing device aggregates

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/280,889 Ceased US8356067B2 (en) 2002-10-24 2002-10-24 Servicing device aggregates

Country Status (2)

Country Link
US (2) US8356067B2 (en)
CN (1) CN1499395B (en)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480510B1 (en) 1998-07-28 2002-11-12 Serconet Ltd. Local area network of serial intelligent cells
US6690677B1 (en) 1999-07-20 2004-02-10 Serconet Ltd. Network for telephony and data communication
US6549616B1 (en) 2000-03-20 2003-04-15 Serconet Ltd. Telephone outlet for implementing a local area network over telephone lines and a local area network using such outlets
IL135744A (en) 2000-04-18 2008-08-07 Mosaid Technologies Inc Telephone communication system over a single telephone line
US6842459B1 (en) 2000-04-19 2005-01-11 Serconet Ltd. Network combining wired and non-wired segments
IL144158A (en) 2001-07-05 2011-06-30 Mosaid Technologies Inc Outlet for connecting an analog telephone set to a digital data network carrying voice signals in digital form
EP2523358A3 (en) 2001-10-11 2012-11-21 Mosaid Technologies Incorporated Outlet with analog signal adapter
US8356067B2 (en) * 2002-10-24 2013-01-15 Intel Corporation Servicing device aggregates
US20040090984A1 (en) * 2002-11-12 2004-05-13 Intel Corporation Network adapter for remote devices
IL152824A (en) * 2002-11-13 2012-05-31 Mosaid Technologies Inc Addressable outlet and a network using same
IL154234A (en) 2003-01-30 2010-12-30 Mosaid Technologies Inc Method and system for providing dc power on local telephone lines
IL154921A (en) 2003-03-13 2011-02-28 Mosaid Technologies Inc Telephone system having multiple distinct sources and accessories therefor
US20040210912A1 (en) * 2003-04-16 2004-10-21 Michael Jeronimo Service interface for home network management
KR101030203B1 (en) * 2003-06-05 2011-04-22 인터트러스트 테크놀로지즈 코포레이션 Interoperable systems and methods for peer-to-peer service orchestration
IL157787A (en) 2003-09-07 2010-12-30 Mosaid Technologies Inc Modular outlet for data communications network
US8949304B2 (en) * 2003-08-20 2015-02-03 Apple Inc. Method and apparatus for accelerating the expiration of resource records in a local cache
US7451219B2 (en) * 2003-11-05 2008-11-11 International Business Machines Corporation Determining server resources accessible to client nodes using information received at the server via a communications medium
US20050149215A1 (en) * 2004-01-06 2005-07-07 Sachin Deshpande Universal plug and play remote audio mixer
IL159838A0 (en) 2004-01-13 2004-06-20 Yehuda Binder Information device
IL160417A (en) * 2004-02-16 2011-04-28 Mosaid Technologies Inc Outlet add-on module
US7774456B1 (en) * 2004-02-27 2010-08-10 Packeteer, Inc. Methods, apparatuses and systems facilitating classification of web services network traffic
US7457870B1 (en) * 2004-02-27 2008-11-25 Packeteer, Inc. Methods, apparatuses and systems facilitating classification of web services network traffic
IL161869A (en) 2004-05-06 2014-05-28 Serconet Ltd System and method for carrying a wireless based signal over wiring
US8312132B2 (en) * 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information
US20060045042A1 (en) * 2004-08-31 2006-03-02 Aseem Sethi System and method for presence in wireless networks
DE102004043969A1 (en) * 2004-09-11 2006-03-16 Deutsche Thomson-Brandt Gmbh Network connection switching unit
US7873058B2 (en) 2004-11-08 2011-01-18 Mosaid Technologies Incorporated Outlet with analog signal adapter, a method for use thereof and a network using said outlet
US20060200548A1 (en) * 2005-03-02 2006-09-07 N-Able Technologies International, Inc. Automation engine and method for providing an abstraction layer
KR100694155B1 (en) * 2005-10-12 2007-03-12 삼성전자주식회사 Method and apparatus for providing service of home network device for service client outside the home network through web service
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US7813451B2 (en) 2006-01-11 2010-10-12 Mobileaccess Networks Ltd. Apparatus and method for frequency shifting of a wireless signal and systems using frequency shifting
US7987471B2 (en) * 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
KR101493692B1 (en) * 2007-06-22 2015-02-16 삼성전자주식회사 Method of Transmitting/Receiving Event Message, Controlled Device, and Control Point
US8224840B2 (en) 2007-08-28 2012-07-17 International Business Machines Corporation Sensing and responding to service discoveries
US8594133B2 (en) 2007-10-22 2013-11-26 Corning Mobileaccess Ltd. Communication system using low bandwidth wires
US8175649B2 (en) 2008-06-20 2012-05-08 Corning Mobileaccess Ltd Method and system for real time control of an active antenna over a distributed antenna system
US8626822B2 (en) * 2008-08-28 2014-01-07 Hewlett-Packard Development Company, L.P. Method for implementing network resource access functions into software applications
EP2399141A4 (en) 2009-02-08 2012-08-01 Corning Mobileaccess Ltd Communication system using cables carrying ethernet signals
EP2448218A1 (en) * 2010-10-07 2012-05-02 Gemalto SA Method for presenting services on a screen of a terminal
CA2832752A1 (en) 2011-04-11 2012-10-18 Intertrust Technologies Corporation Information security systems and methods
EP2829152A2 (en) 2012-03-23 2015-01-28 Corning Optical Communications Wireless Ltd. Radio-frequency integrated circuit (rfic) chip(s) for providing distributed antenna system functionalities, and related components, systems, and methods
US9184960B1 (en) 2014-09-25 2015-11-10 Corning Optical Communications Wireless Ltd Frequency shifting a communications signal(s) in a multi-frequency distributed antenna system (DAS) to avoid or reduce frequency interference
US10257143B2 (en) 2015-06-30 2019-04-09 Vmware, Inc. Methods and apparatus to generate knowledge base articles
US20170004182A1 (en) 2015-06-30 2017-01-05 Vmware, Inc. Allocating, configuring and maintaining cloud computing resources using social media
US10250539B2 (en) 2015-08-04 2019-04-02 Vmware, Inc. Methods and apparatus to manage message delivery in enterprise network environments
US10841268B2 (en) 2015-08-04 2020-11-17 Vmware, Inc. Methods and apparatus to generate virtual war rooms via social media in enterprise network environments
CN110024422B (en) 2016-12-30 2023-07-18 英特尔公司 Naming and blockchain recording for the internet of things
US10951656B2 (en) 2017-08-16 2021-03-16 Nicira, Inc. Methods, apparatus and systems to use artificial intelligence to define encryption and security policies in a software defined data center
US11196837B2 (en) 2019-03-29 2021-12-07 Intel Corporation Technologies for multi-tier prefetching in a context-aware edge gateway
US11711268B2 (en) 2019-04-30 2023-07-25 Intel Corporation Methods and apparatus to execute a workload in an edge environment
US11245538B2 (en) 2019-09-28 2022-02-08 Intel Corporation Methods and apparatus to aggregate telemetry data in an edge environment

Citations (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3226675A (en) * 1960-07-05 1965-12-28 Robert W Edwards Inertial responsive stop signal for vehicles
US5826239A (en) * 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
WO1998059478A1 (en) 1997-06-25 1998-12-30 Samsung Electronics Co., Ltd. Programming tool for home networks
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6038625A (en) * 1998-01-06 2000-03-14 Sony Corporation Of Japan Method and system for providing a device identification mechanism within a consumer audio/video network
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6185491B1 (en) 1998-07-31 2001-02-06 Sun Microsystems, Inc. Networked vehicle controlling attached devices using JavaBeans™
CN1319800A (en) 2000-03-30 2001-10-31 国际商业机器公司 Method and device for installing alowed application program
US6363434B1 (en) * 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices
US6363417B1 (en) 2000-03-31 2002-03-26 Emware, Inc. Device interfaces for networking a computer and an embedded device
US6377860B1 (en) 1998-07-31 2002-04-23 Sun Microsystems, Inc. Networked vehicle implementing plug and play with javabeans
US20020062417A1 (en) * 2000-11-04 2002-05-23 Koninklijke Philips Electronics N.V. Bridging system for interoperation of remote groups of devices
US20020078259A1 (en) * 2000-04-04 2002-06-20 Wendorf Roli Garg Accessing an in home network through the internet
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
US20020112058A1 (en) * 2000-12-01 2002-08-15 Microsoft Corporation Peer networking host framework and hosting API
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6452935B1 (en) * 1998-11-25 2002-09-17 Sony Corporation Stream allocation in home networks
US6460082B1 (en) * 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US20020143819A1 (en) * 2000-05-31 2002-10-03 Cheng Han Web service syndication system
US20030005090A1 (en) 2001-06-30 2003-01-02 Sullivan Robert R. System and method for integrating network services
US20030005130A1 (en) * 2001-06-29 2003-01-02 Cheng Doreen Yining Audio-video management in UPnP
US20030036917A1 (en) * 2001-04-25 2003-02-20 Metallect Corporation Service provision system and method
US20030055624A1 (en) * 2001-09-19 2003-03-20 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US20030061256A1 (en) * 2001-04-19 2003-03-27 Infomove, Inc. Method and system for generalized and adaptive transaction processing between uniform information services and applications
US6542474B1 (en) * 1999-02-26 2003-04-01 Sony Corporation System and method for incrementally updating remote element lists in an electronic network
US20030065756A1 (en) * 2001-10-03 2003-04-03 Alcatel Method for providing services in a communication network corresponding service customer host
US20030084156A1 (en) * 2001-10-26 2003-05-01 Hewlett-Packard Company Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers
US6571297B1 (en) 1997-08-20 2003-05-27 Bea Systems, Inc. Service interface repository application programming models
US20030110334A1 (en) * 2001-12-06 2003-06-12 Koninklijke Philips Electronics N.V. HAVi-UPnP bridging
US6580950B1 (en) 2000-04-28 2003-06-17 Echelon Corporation Internet based home communications system
US20030163513A1 (en) * 2002-02-22 2003-08-28 International Business Machines Corporation Providing role-based views from business web portals
US6618764B1 (en) * 1999-06-25 2003-09-09 Koninklijke Philips Electronics N.V. Method for enabling interaction between two home networks of different software architectures
US20030182394A1 (en) * 2001-06-07 2003-09-25 Oren Ryngler Method and system for providing context awareness
US20030191802A1 (en) * 2002-04-03 2003-10-09 Koninklijke Philips Electronics N.V. Reshaped UDDI for intranet use
US6636505B1 (en) * 1999-05-28 2003-10-21 3Com Corporation Method for service provisioning a broadband modem
US20030217139A1 (en) * 2002-03-27 2003-11-20 International Business Machines Corporation Content tracking in transient communities
US20030229900A1 (en) * 2002-05-10 2003-12-11 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US20040003033A1 (en) * 2002-06-27 2004-01-01 Yury Kamen Method and system for generating a web service interface
US20040030740A1 (en) * 2002-08-09 2004-02-12 Stelting Stephen A. Method and system for automating generation of web services from existing service components
US6735630B1 (en) 1999-10-06 2004-05-11 Sensoria Corporation Method for collecting data using compact internetworked wireless integrated network sensors (WINS)
US20040221001A1 (en) * 2002-07-05 2004-11-04 Anjali Anagol-Subbarao Web service architecture and methods
US6826607B1 (en) 1999-10-06 2004-11-30 Sensoria Corporation Apparatus for internetworked hybrid wireless integrated network sensors (WINS)
US6832251B1 (en) 1999-10-06 2004-12-14 Sensoria Corporation Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS)
US20040268407A1 (en) * 2001-09-20 2004-12-30 Sparrell Carlton J Centralized resource manager
US6859831B1 (en) 1999-10-06 2005-02-22 Sensoria Corporation Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes
US6889188B2 (en) * 2002-11-22 2005-05-03 Intel Corporation Methods and apparatus for controlling an electronic device
US6892230B1 (en) 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US20050108354A1 (en) * 2001-02-27 2005-05-19 Microsoft Corporation Intent based processing
US6916247B2 (en) * 2001-11-23 2005-07-12 Cyberscan Technology, Inc. Modular entertainment and gaming systems
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
US6963784B1 (en) 1998-10-16 2005-11-08 Sony Corporation Virtual device control modules and function control modules implemented in a home audio/video network
US6973473B1 (en) * 2000-05-31 2005-12-06 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
US6985939B2 (en) 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US6990379B2 (en) * 1999-12-30 2006-01-24 Microsoft Corporation Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system
US7020701B1 (en) 1999-10-06 2006-03-28 Sensoria Corporation Method for collecting and processing data using internetworked wireless integrated network sensors (WINS)
US7039701B2 (en) * 2002-03-27 2006-05-02 International Business Machines Corporation Providing management functions in decentralized networks
US7072960B2 (en) * 2002-06-10 2006-07-04 Hewlett-Packard Development Company, L.P. Generating automated mappings of service demands to server capacities in a distributed computer system
US7143139B2 (en) * 2002-03-27 2006-11-28 International Business Machines Corporation Broadcast tiers in decentralized networks
US7159007B2 (en) 2000-08-31 2007-01-02 Schneider Automation Communication system for automation equipment based on the WSDL language
US7167920B2 (en) * 2001-01-22 2007-01-23 Sun Microsystems, Inc. Peer-to-peer communication pipes
US7171471B1 (en) * 2002-08-15 2007-01-30 Cisco Technology, Inc. Methods and apparatus for directing a resource request
US7177929B2 (en) * 2002-03-27 2007-02-13 International Business Machines Corporation Persisting node reputations in transient network communities
US7181536B2 (en) * 2002-03-27 2007-02-20 International Business Machines Corporation Interminable peer relationships in transient communities
US7185342B1 (en) 2001-07-24 2007-02-27 Oracle International Corporation Distributed service aggregation and composition
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US7207041B2 (en) 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
US7251689B2 (en) * 2002-03-27 2007-07-31 International Business Machines Corporation Managing storage resources in decentralized networks
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
US7283811B2 (en) 2001-02-23 2007-10-16 Lucent Technologies Inc. System and method for aggregation of user applications for limited-resource devices
US7325047B2 (en) * 2001-05-23 2008-01-29 International Business Machines Corporation Dynamic undeployment of services in a computing network
US7386860B2 (en) * 2002-06-28 2008-06-10 Microsoft Corporation Type extensions to web services description language
US7412538B1 (en) * 1999-03-30 2008-08-12 Sony Corporation Request event manager and event lists for home and office systems and networks
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US7519918B2 (en) * 2002-05-30 2009-04-14 Intel Corporation Mobile virtual desktop
US7599827B2 (en) * 2000-06-06 2009-10-06 Microsoft Corporation Evaluating hardware models having resource contention
US7603469B2 (en) * 2002-01-15 2009-10-13 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
US7797367B1 (en) 1999-10-06 2010-09-14 Gelvin David C Apparatus for compact internetworked wireless integrated network sensors (WINS)
US7822860B2 (en) 2001-12-11 2010-10-26 International Business Machines Corporation Method and apparatus for dynamic reconfiguration of web services infrastructure
US7933945B2 (en) 2002-06-27 2011-04-26 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US8356067B2 (en) * 2002-10-24 2013-01-15 Intel Corporation Servicing device aggregates

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003533139A (en) * 2000-05-11 2003-11-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Electronic content guide to make content resources transparent

Patent Citations (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3226675A (en) * 1960-07-05 1965-12-28 Robert W Edwards Inertial responsive stop signal for vehicles
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5826239A (en) * 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
WO1998059478A1 (en) 1997-06-25 1998-12-30 Samsung Electronics Co., Ltd. Programming tool for home networks
CN1267421A (en) 1997-06-25 2000-09-20 三星电子株式会社 Promgramming tool for home networks
US6571297B1 (en) 1997-08-20 2003-05-27 Bea Systems, Inc. Service interface repository application programming models
US6038625A (en) * 1998-01-06 2000-03-14 Sony Corporation Of Japan Method and system for providing a device identification mechanism within a consumer audio/video network
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6377860B1 (en) 1998-07-31 2002-04-23 Sun Microsystems, Inc. Networked vehicle implementing plug and play with javabeans
US6185491B1 (en) 1998-07-31 2001-02-06 Sun Microsystems, Inc. Networked vehicle controlling attached devices using JavaBeans™
US6963784B1 (en) 1998-10-16 2005-11-08 Sony Corporation Virtual device control modules and function control modules implemented in a home audio/video network
US6452935B1 (en) * 1998-11-25 2002-09-17 Sony Corporation Stream allocation in home networks
US6542474B1 (en) * 1999-02-26 2003-04-01 Sony Corporation System and method for incrementally updating remote element lists in an electronic network
US7412538B1 (en) * 1999-03-30 2008-08-12 Sony Corporation Request event manager and event lists for home and office systems and networks
US6363434B1 (en) * 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices
US6636505B1 (en) * 1999-05-28 2003-10-21 3Com Corporation Method for service provisioning a broadband modem
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6892230B1 (en) 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6460082B1 (en) * 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US6618764B1 (en) * 1999-06-25 2003-09-09 Koninklijke Philips Electronics N.V. Method for enabling interaction between two home networks of different software architectures
US6859831B1 (en) 1999-10-06 2005-02-22 Sensoria Corporation Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes
US6826607B1 (en) 1999-10-06 2004-11-30 Sensoria Corporation Apparatus for internetworked hybrid wireless integrated network sensors (WINS)
US6735630B1 (en) 1999-10-06 2004-05-11 Sensoria Corporation Method for collecting data using compact internetworked wireless integrated network sensors (WINS)
US7844687B1 (en) 1999-10-06 2010-11-30 Gelvin David C Method for internetworked hybrid wireless integrated network sensors (WINS)
US8140658B1 (en) 1999-10-06 2012-03-20 Borgia/Cummins, Llc Apparatus for internetworked wireless integrated network sensors (WINS)
US6832251B1 (en) 1999-10-06 2004-12-14 Sensoria Corporation Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS)
US7797367B1 (en) 1999-10-06 2010-09-14 Gelvin David C Apparatus for compact internetworked wireless integrated network sensors (WINS)
US7020701B1 (en) 1999-10-06 2006-03-28 Sensoria Corporation Method for collecting and processing data using internetworked wireless integrated network sensors (WINS)
US6990379B2 (en) * 1999-12-30 2006-01-24 Microsoft Corporation Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system
US6948168B1 (en) 2000-03-30 2005-09-20 International Business Machines Corporation Licensed application installer
CN1319800A (en) 2000-03-30 2001-10-31 国际商业机器公司 Method and device for installing alowed application program
US6363417B1 (en) 2000-03-31 2002-03-26 Emware, Inc. Device interfaces for networking a computer and an embedded device
US20020078259A1 (en) * 2000-04-04 2002-06-20 Wendorf Roli Garg Accessing an in home network through the internet
US6580950B1 (en) 2000-04-28 2003-06-17 Echelon Corporation Internet based home communications system
US6973473B1 (en) * 2000-05-31 2005-12-06 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
US20020143819A1 (en) * 2000-05-31 2002-10-03 Cheng Han Web service syndication system
US7599827B2 (en) * 2000-06-06 2009-10-06 Microsoft Corporation Evaluating hardware models having resource contention
US7159007B2 (en) 2000-08-31 2007-01-02 Schneider Automation Communication system for automation equipment based on the WSDL language
US20020062417A1 (en) * 2000-11-04 2002-05-23 Koninklijke Philips Electronics N.V. Bridging system for interoperation of remote groups of devices
US20020112058A1 (en) * 2000-12-01 2002-08-15 Microsoft Corporation Peer networking host framework and hosting API
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
US7167920B2 (en) * 2001-01-22 2007-01-23 Sun Microsystems, Inc. Peer-to-peer communication pipes
US7283811B2 (en) 2001-02-23 2007-10-16 Lucent Technologies Inc. System and method for aggregation of user applications for limited-resource devices
US20050108354A1 (en) * 2001-02-27 2005-05-19 Microsoft Corporation Intent based processing
US7426730B2 (en) * 2001-04-19 2008-09-16 Wre-Hol Llc Method and system for generalized and adaptive transaction processing between uniform information services and applications
US20030061256A1 (en) * 2001-04-19 2003-03-27 Infomove, Inc. Method and system for generalized and adaptive transaction processing between uniform information services and applications
US20030036917A1 (en) * 2001-04-25 2003-02-20 Metallect Corporation Service provision system and method
US7325047B2 (en) * 2001-05-23 2008-01-29 International Business Machines Corporation Dynamic undeployment of services in a computing network
US20030182394A1 (en) * 2001-06-07 2003-09-25 Oren Ryngler Method and system for providing context awareness
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
US7207041B2 (en) 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
US20030005130A1 (en) * 2001-06-29 2003-01-02 Cheng Doreen Yining Audio-video management in UPnP
US20030005090A1 (en) 2001-06-30 2003-01-02 Sullivan Robert R. System and method for integrating network services
US7185342B1 (en) 2001-07-24 2007-02-27 Oracle International Corporation Distributed service aggregation and composition
US6985939B2 (en) 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US20030055624A1 (en) * 2001-09-19 2003-03-20 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US7343428B2 (en) 2001-09-19 2008-03-11 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US20040268407A1 (en) * 2001-09-20 2004-12-30 Sparrell Carlton J Centralized resource manager
US20030065756A1 (en) * 2001-10-03 2003-04-03 Alcatel Method for providing services in a communication network corresponding service customer host
US20030084156A1 (en) * 2001-10-26 2003-05-01 Hewlett-Packard Company Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers
US6916247B2 (en) * 2001-11-23 2005-07-12 Cyberscan Technology, Inc. Modular entertainment and gaming systems
US20030110334A1 (en) * 2001-12-06 2003-06-12 Koninklijke Philips Electronics N.V. HAVi-UPnP bridging
US7822860B2 (en) 2001-12-11 2010-10-26 International Business Machines Corporation Method and apparatus for dynamic reconfiguration of web services infrastructure
US7603469B2 (en) * 2002-01-15 2009-10-13 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
US20030163513A1 (en) * 2002-02-22 2003-08-28 International Business Machines Corporation Providing role-based views from business web portals
US7251689B2 (en) * 2002-03-27 2007-07-31 International Business Machines Corporation Managing storage resources in decentralized networks
US7069318B2 (en) * 2002-03-27 2006-06-27 International Business Machines Corporation Content tracking in transient network communities
US7039701B2 (en) * 2002-03-27 2006-05-02 International Business Machines Corporation Providing management functions in decentralized networks
US7181536B2 (en) * 2002-03-27 2007-02-20 International Business Machines Corporation Interminable peer relationships in transient communities
US7143139B2 (en) * 2002-03-27 2006-11-28 International Business Machines Corporation Broadcast tiers in decentralized networks
US7177929B2 (en) * 2002-03-27 2007-02-13 International Business Machines Corporation Persisting node reputations in transient network communities
US20030217139A1 (en) * 2002-03-27 2003-11-20 International Business Machines Corporation Content tracking in transient communities
US20030191802A1 (en) * 2002-04-03 2003-10-09 Koninklijke Philips Electronics N.V. Reshaped UDDI for intranet use
US20030229900A1 (en) * 2002-05-10 2003-12-11 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US7519918B2 (en) * 2002-05-30 2009-04-14 Intel Corporation Mobile virtual desktop
US7072960B2 (en) * 2002-06-10 2006-07-04 Hewlett-Packard Development Company, L.P. Generating automated mappings of service demands to server capacities in a distributed computer system
US20040003033A1 (en) * 2002-06-27 2004-01-01 Yury Kamen Method and system for generating a web service interface
US7933945B2 (en) 2002-06-27 2011-04-26 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US7386860B2 (en) * 2002-06-28 2008-06-10 Microsoft Corporation Type extensions to web services description language
US20040221001A1 (en) * 2002-07-05 2004-11-04 Anjali Anagol-Subbarao Web service architecture and methods
US20040030740A1 (en) * 2002-08-09 2004-02-12 Stelting Stephen A. Method and system for automating generation of web services from existing service components
US7171471B1 (en) * 2002-08-15 2007-01-30 Cisco Technology, Inc. Methods and apparatus for directing a resource request
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US8356067B2 (en) * 2002-10-24 2013-01-15 Intel Corporation Servicing device aggregates
US6889188B2 (en) * 2002-11-22 2005-05-03 Intel Corporation Methods and apparatus for controlling an electronic device

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
1st Office Action, Chinese Application No. CPEL0352717, dated Sep. 30, 2005, 9 pages.
2nd Office Action, Chinese Application No. CPEL0352717, dated Jul. 11, 2007, 7 pages.
State Intellectual Property Office P.R. China, "Decision on Rejection," issued in connection with Chinese Application No. 03159735.1, dated Mar. 27, 2009, 5 pages.
State Intellectual Property Office P.R. China, "Notification to Grant Patent Right for Invention," issued in connection with Chinese Application No. 03159735.1, dated Apr. 27, 2011, 4 pages.
State Intellectual Property Office P.R. China, "Third Office Action," issued in connection with Chinese Application No. 03159735.1, dated Mar. 14, 2008, 10 pages.

Also Published As

Publication number Publication date
CN1499395B (en) 2011-09-07
CN1499395A (en) 2004-05-26
US20040083262A1 (en) 2004-04-29
US8356067B2 (en) 2013-01-15

Similar Documents

Publication Publication Date Title
USRE49505E1 (en) Servicing device aggregates
JP4227515B2 (en) Selecting content according to the communication environment
KR100728025B1 (en) Method and appratus for obtaining external charged content in the upnp network
US7900214B2 (en) System and method for adaptable provisioning of generic application content
US9207924B2 (en) Apparatus for enabling delivery and access of applications and interactive services
US7526482B2 (en) System and method for enabling components on arbitrary networks to communicate
KR101566037B1 (en) System and method for configuring a client electronic device
US20040122949A1 (en) System and method for browsing on behalf of others
CN100498758C (en) Presenting a merged view of remote application shortcuts from multiple providers
EP2110752A1 (en) Content distribution management device, communication terminal, program, and content distribution system
US20140359001A1 (en) Multimedia device configured to provide both client and server aspects of a network service
US20050172281A1 (en) System and method for customized provisioning of application content
KR20110053819A (en) Method and apparatus for providing pair play service
US20030191720A1 (en) Electronic tracking tag
US20060129700A1 (en) Bridging a local bus with a data network
US8296277B2 (en) Method and apparatus to automatically receive and/or transmit contents
KR101361702B1 (en) Method for download display of license and potable device using the same
WO2008101289A1 (en) A system and method for a registered user based telecommunications network
CN112084247A (en) Method and device for extending application program service
KR100721407B1 (en) Method And System For Integratedly Managing Service
JP2009042933A (en) Network content purchase/registration terminal, network content download terminal, server, and system
CN111522567B (en) Program upgrading method, device, system and medium
EP1560114A1 (en) Computer system and method for customized provisioning of application content
AU2003220656B2 (en) Electronic tracking tag
EP1560115A1 (en) Computer system and method for adaptable provisioning of generic application content

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRANTOW, WAYNE D.;REEL/FRAME:057705/0582

Effective date: 20021205