Determining computing-related resources to use based on client-specified constraints
Abstract
Techniques are described for facilitating a client's control over use of computing-related resources on the client's behalf. In some situations, a client's control is based on specifying a group of one or more resource usage constraints with a client resource constraint manager service, which provides information about the client-specified constraints to one or more other remote network services with which the client interacts. Those remote services then use that constraint information to determine whether and how to use computing-related resources on the client's behalf. For example, the resource usage constraints specified by a client may relate to one or more particular geographical areas and/or to one or more measures of relative proximity between computing-related resources (e.g., between multiple instances of a single type of computing-related resource provided by a single service, or between multiple distinct types of computing-related resources provided by multiple unaffiliated services).
Claims
exact text as granted — not AI-modified1 . (canceled)
2 . A computer-implemented method for a constraint manager network service to manage constraints related to use of computing-related resources by multiple other network services, the method comprising:
in response to information provided by a client, storing for the client a defined group of one or more constraints to control use of computing-related resources on behalf of the client by the multiple other network services; providing to the client a reference specific to the defined group of one or more constraints for use by the multiple other network services in obtaining information about the defined group of one or more constraints; after the client interacts with a first of the other network services and supplies the provided reference to the first network service, receiving a request from the first network service for information about constraints that correspond to the provided reference, and providing information about the defined group of one or more constraints to the first network service, so that the first network service uses one or more computing-related resources on behalf of the client in a manner that satisfies the defined group of one or more constraints; and after the client interacts with a second of the other network services and supplies the provided reference to the second network service, the second network service being distinct from the first network service, receiving a request from the second network service for information about constraints that correspond to the provided reference, and providing information about the defined group of one or more constraints to the second network service, so that the second network service uses one or more other computing-related resources in a manner that satisfies the defined group of one or more constraints, the one or more other computing-related resources being distinct from the one or more computing-related resources.
3 . The method of claim 2 wherein the storing of the defined group of one or more constraints, the providing of the reference to the client, the providing of the information to the first network service, and the providing of the information to the second network service are performed under control of the constraint manager network service, and wherein the method further comprises, under control of the first network service:
receiving a request from the client for functionality that includes use of the one or more computing-related resources on behalf of the client, the received request including the reference for the defined group of one or more constraints that is supplied by the client;
sending a request to the constraint manager network service for information about constraints that correspond to the supplied reference;
receiving information that is provided from the constraint manager network service about the defined group of one or more constraints;
determining a manner of using the one or more computing-related resources on behalf of the client that satisfies the defined group of one or more constraints; and
using the one or more computing-related resources on behalf of the client in the determined manner.
4 . The method of claim 3 wherein the received information that is provided from the constraint manager network service about the defined group of one or more constraints includes an indication of at least one of the one or more constraints that indicate a geographical area in which use of computing-related resources on behalf of the client is to occur, wherein the determining of the manner of using the one or more computing-related resources on behalf of the client includes selecting one of multiple geographical locations within the geographical area that are available to the first network service for using the one or more computing-related resources on behalf of the client, and wherein the using of the one or more computing-related resources on behalf of the client in the determined manner includes using the one or more computing-related resources at the selected location.
5 . The method of claim 4 further comprising:
under control of the first network service, sending information to the constraint manager network service to indicate the selected one geographical location; and
under control of the constraint manager network service, after receiving the sent information that indicates the selected one geographical location but before providing the information about the defined group of one or more constraints to the second network service, mapping the defined group of one or more constraints to the selected one geographical location; and
wherein the providing of the information about the defined group of one or more constraints to the second network service includes providing an indication of the selected one geographical location, so that the second network service uses the one or more other computing-related resources at the selected one geographical location.
6 . The method of claim 3 wherein the determining of the manner of using the one or more computing-related resources on behalf of the client includes identifying multiple available computing-related resources that satisfy the defined group of one or more constraints, and selecting a subset of the multiple computing-related resources to use on behalf of the client based at least in part on current utilization of the subset of computing-related resources that differs from current utilization of other of the multiple computing-related resources and/or on costs of using the subset of computing-related resources that differ from costs of using other of the multiple computing-related resources.
7 . The method of claim 2 wherein the using by the first network service of the one or more computing-related resources on behalf of the client includes using the one or more computing-related resources at a first geographical location that is one of multiple geographical locations that satisfy the defined group of one or more constraints;
wherein the method further comprises, after the first network service uses the one or more computing-related resources at the first geographical location, and before the providing of the information about the defined group of one or more constraints to the second network service, receiving from the first network service an indication that the first network service has selected to perform additional use of at least one computing-related resource on behalf of the client at a selected distinct second geographical location that is one of the multiple geographical locations; and
wherein the providing of the information about the defined group of one or more constraints to the second network service includes providing an indication of the selected second geographical location, so that the using by the second network service of the one or more other computing-related resources is performed on behalf of the client and at the second geographical location.
8 . The method of claim 2 wherein the using by the first network service of the one or more computing-related resources on behalf of the client includes identifying a first group of one or more computing systems that satisfy the defined group of one or more constraints, and interacting with the one or more computing systems to use computing-related resources provided by the computing systems of the first group;
wherein the method further comprises, after the first network service uses the computing-related resources provided by the computing systems of the first group, and before the providing of the information about the defined group of one or more constraints to the second network service, receiving from the first network service an indication that the first network service has selected to perform additional use of at least one computing-related resource on behalf of the client by interacting with a selected distinct second group of one or more computing systems; and
wherein the providing of the information about the defined group of one or more constraints to the second network service includes providing an indication of the selected second group of one or more computing systems, so that the using by the second network service of the one or more other computing-related resources is performed on behalf of the client and by interacting with the one or more computing systems of the second group.
9 . The method of claim 2 further comprising:
identifying one or more computing systems that satisfy the one or more constraints of the defined group; and
associating the identified computing systems with the defined group such that the use by the first network service of the one or more computing-related resources is performed based on interactions of the first network service with at least one of the identified computing systems, and such that the use by the second network service of the one or more other computing-related resources is performed based on interactions of the second network service with at least one of the identified computing systems.
10 . The method of claim 9 wherein the identified one or more computing systems are selected based at least in part on being located together at one or more identified geographical locations, and wherein the associating of the identified computing systems with the defined group includes mapping the defined group to the identified one or more geographical locations, such that the use by the first network service of the one or more computing-related resources is performed in at least one of the identified geographical locations, and such that the use by the second network service of the one or more other computing-related resources is performed in at least one of the identified geographical locations.
11 . The method of claim 10 wherein the identified one or more geographical locations to which the defined group is mapped are not identified to the client.
12 . The method of claim 9 wherein the identifying of the one or more computing systems is based at least in part on information provided by at least one of the first and second network services, and wherein the identified one or more computing systems include multiple computing systems that are available at one or more identified data centers.
13 . The method of claim 2 wherein the one or more constraints of the defined group include at least one of an indication of a geographical location, an indication of a geographical area with government-specified boundaries, an indication of a geographical area to which an indicated law applies, an indication of a geographical area to which an indicated tax applies, an indication of a degree of proximity to an indicated geographical location, an indication of a degree of proximity between multiple computing-related resources, an indication of a degree of proximity to an indicated entity, an indication of a degree of fault tolerance for at least some of the computing-related resources used by the multiple other network services on behalf of the client, and an indication of a price related to use of a computing-related resource.
14 . The method of claim 13 wherein the one or more constraints of the defined group include the indication of the degree of fault tolerance, and wherein the degree of fault tolerance is based on at least one of a degree of proximity between two or more computing-related resources, a degree of proximity of one or more computing-related resources to an indicated geographical location, a type of computer hardware used to provide at least one of the computing-related resources, and a type of software used to provide at least one of the computing-related resources.
15 . The method of claim 2 wherein at least one of the one or more constraints of the defined group indicate a level of one or more operational characteristics of use of one or more types of computing-related resources, and wherein the method further comprises automatically determining one or more computing-related resources and/or one or more geographical locations of computing-related resources that will provide the indicated level of the one or more operational characteristics.
16 . The method of claim 2 wherein at least one of the one or more constraints of the defined group is specific to the first network service, such that the use of the one or more computing-related resources by the first network service on behalf of the client is performed in accordance with the at least one constraint, and such that the use of the one or more other computing-related resources by the second network service on behalf of the client is not performed in accordance with the at least one constraint.
17 . The method of claim 2 wherein at least one of the one or more constraints of the defined group is a conditional constraint that is applicable only when current conditions satisfy indicated criteria for the at least one constraint, such that the use of the one or more computing-related resources by the first network service on behalf of the client is performed in accordance with the at least one constraint based on current conditions at a time of the use of the one or more computing-related resources, and such that the use of the one or more other computing-related resources by the second network service on behalf of the client is not performed in accordance with the at least one constraint based on differing current conditions at a time of the use of the one or more other computing-related resources.
18 - 22 . (canceled)
23 . A computer-readable medium whose contents enable a computing device to manage constraints related to use of computing-related resources, by performing a method comprising:
in response to information provided by a client, defining a group of one or more constraints to control use of computing-related resources by network services for the client; identifying one or more locations that satisfy the one or more constraints of the defined group; associating the identified one or more locations with the defined group, so that use of computing-related resources for the client occurs in at least one of the associated locations; and after the client interacts with a first network service regarding use of one or more computing-related resources by the first network service for the client, providing information to the first network service about the defined group of one or more constraints and about the associated one or more locations, so that the first network service uses the one or more computing-related resources in at least one of the associated one or more locations and in a manner that satisfies the defined group of one or more constraints.
24 . The computer-readable medium of claim 23 wherein the method is performed under control of a constraint manager service provided by the computing device, wherein the one or more constraints of the defined group specify a geographical area that includes multiple geographical locations at which the first network service is able to use computing-related resources on behalf of the client, wherein the identifying of the one or more locations includes identifying a subset of one or more of the multiple geographical locations of the specified geographical area, wherein the identifying of the one or more geographical locations is performed based at least in part on information provided by the first network service to indicate a selection of the one or more geographical locations from the multiple geographical locations, wherein the associating of the identified one or more geographical locations with the defined group includes mapping the defined group to the identified one or more geographical locations, and wherein the method further comprises providing information to multiple other network services about the defined group of one or more constraints and about the associated one or more geographical locations so that each of the other network services uses one or more computing-related resources on behalf of the client in at least one of the associated one or more geographical locations and in a manner that satisfies the defined group of one or more constraints, the multiple other network services being distinct from the first network service and from the constraint manager service.
25 . The computer-readable medium of claim 23 wherein the computer-readable medium is at least one of a memory of a computing device and a data transmission medium that transmits a generated data signal containing the contents, and wherein the contents are instructions that when executed cause the computing device to perform the method.
26 . A computing system configured to manage constraints related to use of computing-related resources, comprising:
one or more memories; and a constraint manager system that is configured to manage resource usage constraints for clients by, for each of multiple clients:
defining a group of one or more constraints to control use of computing-related resources for the client by services external to the client;
associating with the defined group one or more locations that are identified as satisfying the one or more constraints of the defined group; and
for each of one or more services external to the client, providing information about the defined group of one or more constraints to the service so that the service uses one or more computing-related resources for the client in a manner that satisfies the defined group of one or more constraints, the provided information including the associated one or more locations such that the use of the one or more computing-related resources by the service for the client occurs in at least one of the associated locations.
27 - 29 . (canceled)Join the waitlist — get patent alerts
Track US2015149642A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.