Performing context-aware spatial, temporal, and attribute searches for providers or resources
First Claim
1. A computer-executed method for performing a search to locate a set of candidate providers within a current context of a user or a device, the method comprising:
- generating an inventory of providers associating each of a respective plurality of providers with a corresponding context of a plurality of contexts, a corresponding temporally defined dynamic state, and a corresponding set of static attributes;
the plurality of contexts including at least the current context, said current context comprising a current geographic location of the user or a current geographic location of a device used by the user;
receiving, from said user, a mobility attribute indicative of a transportation mode available to the user for travelling to a location to receive a service from a provider;
receiving, from said user, a bound on a time of receiving said service from a provider;
searching the inventory of providers to identify one or more providers of the respective plurality of providers that are associated with the current context, said searching comprising;
using said mobility attribute and bound on time of service to determine a maximum feasible distance within which a provider may be included in the set of candidate providers, and beyond which the provider will not be included in the set of candidate providers;
querying the identified one or more providers to retrieve the corresponding temporally defined dynamic state and the corresponding set of static attributes that are associated with each of the one or more identified providers;
receiving a query including a target temporally defined dynamic state and at least one target static attribute from the user;
for each of the one or more identified providers, comparing the corresponding set of static attributes with the at least one target static attribute to identify a filtered set of providers which satisfy the at least one target static attribute;
comparing the corresponding temporally defined dynamic state with the target temporally defined state for each of a plurality of respective providers of the filtered set to determine a corresponding matching closeness level for each of the plurality of respective providers of the filtered set; and
generating the set of candidate providers by prioritizing each of the plurality of respective providers of the filtered set based upon the corresponding matching closeness level for each of the plurality of respective providers of the filtered set.
1 Assignment
0 Petitions
Accused Products
Abstract
Performing a search to locate a set of candidate providers within a current context. An inventory associates each of a respective plurality of providers with a corresponding context of a plurality of contexts, a corresponding temporally defined dynamic state, and a corresponding set of static attributes. The inventory is searched to identify providers that are associated with the current context. The corresponding temporally defined dynamic state and the corresponding set of static attributes that are associated with each of the identified providers is retrieved. A query comprising a target temporally defined dynamic state and a target static attribute is received. A filtered set of providers is identified which satisfies the target static attribute. Each of the corresponding temporally defined dynamic states are compared with the target temporally defined state to determine a corresponding matching closeness level for each provider of the filtered set.
9 Citations
18 Claims
-
1. A computer-executed method for performing a search to locate a set of candidate providers within a current context of a user or a device, the method comprising:
-
generating an inventory of providers associating each of a respective plurality of providers with a corresponding context of a plurality of contexts, a corresponding temporally defined dynamic state, and a corresponding set of static attributes;
the plurality of contexts including at least the current context, said current context comprising a current geographic location of the user or a current geographic location of a device used by the user;receiving, from said user, a mobility attribute indicative of a transportation mode available to the user for travelling to a location to receive a service from a provider; receiving, from said user, a bound on a time of receiving said service from a provider; searching the inventory of providers to identify one or more providers of the respective plurality of providers that are associated with the current context, said searching comprising;
using said mobility attribute and bound on time of service to determine a maximum feasible distance within which a provider may be included in the set of candidate providers, and beyond which the provider will not be included in the set of candidate providers;querying the identified one or more providers to retrieve the corresponding temporally defined dynamic state and the corresponding set of static attributes that are associated with each of the one or more identified providers; receiving a query including a target temporally defined dynamic state and at least one target static attribute from the user; for each of the one or more identified providers, comparing the corresponding set of static attributes with the at least one target static attribute to identify a filtered set of providers which satisfy the at least one target static attribute; comparing the corresponding temporally defined dynamic state with the target temporally defined state for each of a plurality of respective providers of the filtered set to determine a corresponding matching closeness level for each of the plurality of respective providers of the filtered set; and generating the set of candidate providers by prioritizing each of the plurality of respective providers of the filtered set based upon the corresponding matching closeness level for each of the plurality of respective providers of the filtered set. - View Dependent Claims (4, 5, 6, 12, 13, 17)
-
-
2. An apparatus for performing a search to locate a set of candidate providers within a current context of a user or a device, the apparatus comprising a processor and a non-transitory computer-readable memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:
-
generate an inventory of providers associating each of a respective plurality of providers with a corresponding context of a plurality of contexts, a corresponding temporally defined dynamic state, and a corresponding set of static attributes;
the plurality of contexts including at least the current context, said current context comprising a current geographic location of the user or a current geographic location of a device used by the user;receive, from said user, a mobility attribute indicative of a transportation mode available to the user for travelling to a location to receive a service from a provider; receive, from said user, a bound on a time of receiving said service from a provider; search the inventory of providers to identify one or more providers of the respective plurality of providers that are associated with the current context, wherein to search, said processor is configured to;
use said mobility attribute and bound on time of service to determine a maximum feasible distance within which a provider may be included in the set of candidate providers, and beyond which the provider will not be included in the set of candidate providers;query the identified one or more providers to retrieve the corresponding temporally defined dynamic state and the corresponding set of static attributes that are associated with each of the one or more identified providers; receive a query comprising a target temporally defined dynamic state and at least one target static attribute from the user; for each of the one or more identified providers, compare the corresponding set of static attributes with the at least one target static attribute to identify a filtered set of providers which satisfy the at least one target static attribute; compare the corresponding temporally defined dynamic state with the target temporally defined state for each of a plurality of respective providers of the filtered set to determine a corresponding matching closeness level for each of the plurality of respective providers of the filtered set; and generate the set of candidate providers by prioritizing each of the plurality of respective providers of the filtered set based upon the corresponding matching closeness level for each of the plurality of respective providers of the filtered set. - View Dependent Claims (7, 8, 9, 14, 15, 18)
-
-
3. A computer program product for performing a search to locate a set of candidate providers within a current context of a user or a device, the computer program product comprising a computer-readable storage medium having a computer-readable analysis program stored therein, wherein the computer-readable analysis program, when executed on a computer system comprising at least one processor, causes the processor to:
-
generate an inventory of providers associating each of a respective plurality of providers with a corresponding context of a plurality of contexts, a corresponding temporally defined dynamic state, and a corresponding set of static attributes;
the plurality of contexts including at least the current context, said current context comprising a current geographic location of the user or a current geographic location of a device used by the user;receive, from said user, a mobility attribute indicative of a transportation mode available to the user for travelling to a location to receive a service from a provider; receive, from said user, a bound on a time of receiving said service from a provider; search the inventory of providers to identify one or more providers of the respective plurality of providers that are associated with the current context, wherein to search, said processor uses said mobility attribute and bound on time of service to determine a maximum feasible distance within which a provider may be included in the set of candidate providers, and beyond which the provider will not be included in the set of candidate providers; query the identified one or more providers to retrieve the corresponding temporally defined dynamic state and the corresponding set of static attributes that are associated with each of the one or more identified providers; receive a query comprising a target temporally defined dynamic state and at least one target static attribute from the user; for each of the one or more identified providers, compare the corresponding set of static attributes with the at least one target static attribute to identify a filtered set of providers which satisfy the at least one target static attribute; compare the corresponding temporally defined dynamic state with the target temporally defined state for each of a plurality of respective providers of the filtered set to determine a corresponding matching closeness level for each of the plurality of respective providers of the filtered set; and generate the set of candidate providers by prioritizing each of the plurality of respective providers of the filtered set based upon the corresponding matching closeness level for each of the plurality of respective providers of the filtered set. - View Dependent Claims (10, 11, 16)
-
Specification