Management and arbitration of mobile service discovery
First Claim
1. A method comprising:
- receiving, by a host machine, a service request from one of a plurality of service consumer devices for a service, wherein the host machine includes a microprocessor, a random access memory, and a body configured to physically host the microprocessor and the random access memory;
identifying, by the host machine, service providers registered with a service registry operated by the host machine to provide the requested service;
selecting, by the host machine, a service provider best able to provide the service from the identified service providers, wherein said selecting is based at least in part on meta-data associated with the identified service providers;
receiving, by the host machine, notification from at least the one of the plurality of service consumer devices about unavailability of one of the identified service providers;
determining, by the host machine, that the one of the plurality of service consumer devices is trusted;
de-registering, by the host machine, the unavailable identified service provider from the service registry responsive to said receiving of notification from the one of the plurality of service consumer devices that is trusted; and
adding the de-registered service provider to a check status list for later testing for availability.
1 Assignment
0 Petitions
Accused Products
Abstract
A Registry, such as a UDDI registry, dynamically manages (e.g. filters and/or re-orders) answers to service queries by Service Consumers based at least on one or more of the individual states/status of Service Providers, the collective service environment state, and policies employed by the environment. The Registry may be configured to infer operational state/status about a Service Provider, such as impending unavailability due to very low battery reserves, and to remove providers from the registry if determined to be unavailable. The Registry may be configured to associate a shelf-life with a provider registration based on characteristics of the Service Provider, or based on past experience with the Service Provider. Such dynamic management allows the Registry to implement intelligent task distribution and load balancing between Service Providers, and to insulate Service Providers on fragile platforms (e.g. notebooks, handhelds, etc.) that may otherwise be overwhelmed by offering themselves as a traditional provider.
-
Citations
11 Claims
-
1. A method comprising:
-
receiving, by a host machine, a service request from one of a plurality of service consumer devices for a service, wherein the host machine includes a microprocessor, a random access memory, and a body configured to physically host the microprocessor and the random access memory; identifying, by the host machine, service providers registered with a service registry operated by the host machine to provide the requested service; selecting, by the host machine, a service provider best able to provide the service from the identified service providers, wherein said selecting is based at least in part on meta-data associated with the identified service providers; receiving, by the host machine, notification from at least the one of the plurality of service consumer devices about unavailability of one of the identified service providers; determining, by the host machine, that the one of the plurality of service consumer devices is trusted; de-registering, by the host machine, the unavailable identified service provider from the service registry responsive to said receiving of notification from the one of the plurality of service consumer devices that is trusted; and adding the de-registered service provider to a check status list for later testing for availability. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An article of manufacture comprising:
-
tangible non-transitory machine-accessible media; and a plurality of programming instructions stored on the machine-accessible media and configured to program a host machine having a processor and a memory, and enable the host machine, in response to execution of the instructions by the host machine, to service a plurality of service consumer devices, including performing operations to receive a service request from one of the service consumer devices for a service; identify service providers registered with a service registry operated by the host machine to provide the requested service; select a service provider best able to provide the service from the identified service providers, wherein said selecting is based at least in part on meta-data associated with the identified service providers; identify said selected service provider to the one of the service consumer devices; receive notification from at least the one of the service consumer devices about unavailability of one of the identified service provider; determine that the one of the service consumer devices is trusted; de-register the unavailable identified service provider from the service registry responsive to said receiving of notification from the one of the service consumer devices that is trusted; and add the de-registered service provider to a check status list for later testing for availability. - View Dependent Claims (9)
-
-
10. A host machine for servicing a plurality of service consumer devices, comprising:
-
a microprocessor; a random access memory coupled to the microprocessor, a body configured to physically host the microprocessor and the random access memory; and logic operated by the processor and adapted to receive a publication from one or more service providers configured to offer a service; register the one or more service providers with a service registry operated by the host machine; determine, for each service provider registration, meta-data describing characteristics of the one or more service providers; associate the meta-data with the one or more service providers; receive a service request from one of the service consumer devices for the service offered by the one or more service providers, identify the one or more service providers; select one of the one or more service providers best able to provide the service, wherein said selecting is based at least in part on said meta-data associated with the one or more service providers; receive notification from at least the one of the service consumer devices about unavailability of one of the one or more service providers; determine that the one of the service consumer devices is trusted; de-register the unavailable identified service provider from the service registry responsive to said receiving of notification from the one of the service consumer devices that is trusted; and adding the de-registered service provider to a check status list for later testing for availability. - View Dependent Claims (11)
-
Specification