Approval service in a catalog service platform
First Claim
1. A system, comprising:
- a plurality of computing nodes of a service provider that collectively provide services to a plurality of clients of the service provider via a service provider network that is distinct from client networks of the plurality of clients, each of the computing nodes comprising at least one processor and a memory, and the services comprising a plurality of backend services provided for the plurality of clients;
wherein one or more of the plurality of computing nodes implement an approval service that receives and manages approval requests pertaining to provisioning, administering, or managing computing resources on behalf of the backend services, wherein at least some approval requests trigger messages between the approval service and one or more members over a network external to the service provider network on behalf of the backend services;
a backend interface of the approval service within the service provider network for the backend services for exchanging approval requests and approval results over the service provider network between the approval service and the backend services; and
an administrator interface through which a client'"'"'s administrator interacts with the approval service to manage approval requests transmitted via the backend interface to the approval service over the service provider network from one or more of the backend services provided for the client by the service provider, wherein the approval service is a different service than the one or more backend services that are sources of the approval requests;
wherein the approval service is configured to;
receive, through the administrator interface, a request to create an approval template, wherein the approval template defines one or more criteria for approval or denial of approval requests that are associated with the approval template;
create the approval template, wherein creating the approval template comprises storing a representation of the approval template on service provider resources for subsequent association with approval requests;
receive, through the administrator interface, a request to create an approval group, wherein members of the approval group are members of the client who are authorized to respond to approval requests that are associated with the approval group;
create the approval group, wherein creating the approval group comprises storing a representation of the approval group on service provider resources for subsequent association with approval requests;
receive, through the administrator interface, a request to associate the approval template and the approval group with one or more approval requests;
store information indicating an association between the approval template, the approval group, and the one or more approval requests; and
receive, over the service provider network from one of the one or more backend services, a given one of the one or more approval requests;
notify one or more of the members of the approval group, over the network external to the service provider, that the given approval request has been received; and
receive, over the external network from the one or more of the members of the approval group, a respective response to the given approval request;
determine, based at least in part on the received responses and the one or more criteria, a result of the given approval request; and
transmit, via the backend interface over the service provider network to the one of the one or more backend services, an indication of the result of the given approval request; and
wherein the one or more backend services are configured to;
trigger, based on receipt of the result of the given approval request, performance of an action associated with provisioning, administering, or managing one or more of the computing resources.
1 Assignment
0 Petitions
Accused Products
Abstract
A service provider system may implement an approval service that manages approval requests received from other services on behalf of a customer organization and its end users. An administrator in the organization may create approval templates that define voting strategies at multiple approval levels and associate them with particular requests (individually, or by product, portfolio, project, action, message topic, workflow, or request type). The administrator may create approval groups whose members are authorized to respond to particular requests. Each approval template (or approval level) may include a different voting strategy or be associated with a different approval group. The approval system may support pre-notification of subsequent approval levels, auto-escalation, or auto-expiration. The approval service may employ a notification service to manage actionable notification messages that include approval requests. Members of approval groups may retrieve requests and select from available actions (e.g., approve, deny, or request more information).
78 Citations
20 Claims
-
1. A system, comprising:
-
a plurality of computing nodes of a service provider that collectively provide services to a plurality of clients of the service provider via a service provider network that is distinct from client networks of the plurality of clients, each of the computing nodes comprising at least one processor and a memory, and the services comprising a plurality of backend services provided for the plurality of clients; wherein one or more of the plurality of computing nodes implement an approval service that receives and manages approval requests pertaining to provisioning, administering, or managing computing resources on behalf of the backend services, wherein at least some approval requests trigger messages between the approval service and one or more members over a network external to the service provider network on behalf of the backend services; a backend interface of the approval service within the service provider network for the backend services for exchanging approval requests and approval results over the service provider network between the approval service and the backend services; and an administrator interface through which a client'"'"'s administrator interacts with the approval service to manage approval requests transmitted via the backend interface to the approval service over the service provider network from one or more of the backend services provided for the client by the service provider, wherein the approval service is a different service than the one or more backend services that are sources of the approval requests; wherein the approval service is configured to; receive, through the administrator interface, a request to create an approval template, wherein the approval template defines one or more criteria for approval or denial of approval requests that are associated with the approval template; create the approval template, wherein creating the approval template comprises storing a representation of the approval template on service provider resources for subsequent association with approval requests; receive, through the administrator interface, a request to create an approval group, wherein members of the approval group are members of the client who are authorized to respond to approval requests that are associated with the approval group; create the approval group, wherein creating the approval group comprises storing a representation of the approval group on service provider resources for subsequent association with approval requests; receive, through the administrator interface, a request to associate the approval template and the approval group with one or more approval requests; store information indicating an association between the approval template, the approval group, and the one or more approval requests; and receive, over the service provider network from one of the one or more backend services, a given one of the one or more approval requests; notify one or more of the members of the approval group, over the network external to the service provider, that the given approval request has been received; and receive, over the external network from the one or more of the members of the approval group, a respective response to the given approval request; determine, based at least in part on the received responses and the one or more criteria, a result of the given approval request; and transmit, via the backend interface over the service provider network to the one of the one or more backend services, an indication of the result of the given approval request; and wherein the one or more backend services are configured to; trigger, based on receipt of the result of the given approval request, performance of an action associated with provisioning, administering, or managing one or more of the computing resources. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
performing, by one or more service provider computers of a service provider network that implement an approval service that receives and manages approval requests pertaining to provisioning, administering, or managing computing resources on behalf of one or more backend services of the service provider for a plurality of clients of the service provider, at least some approval requests triggering messages between the approval service and one or more members over a network external to the service provider network on behalf of the backend services, the service provider network distinct from client networks of the plurality of clients; providing a backend interface of the approval service within the service provider network for the backend services for exchanging approval requests and results over the service provider network between the approval service and a different service; receiving, by the approval service, via the backend interface over the service provider network from the different service on behalf of a client of the plurality of clients of the service provider, an approval request, wherein the approval request specifies a service provider product or service for which an authorization to access or utilize the service provider product or service is sought or an action for which authorization to perform the action is sought; receiving, over the external network, a respective response to the approval request from one or more members of an approval group, wherein the approval group is associated, by the approval service of the service provider, with the approval request received on behalf of the client; determining, dependent on the received responses and a pre-determined criteria for approval or denial of the approval request, a result of the approval request; and transmitting, over the service provider network to the different service, an indication of the result of the approval request, wherein the result of the approval request triggers performance of an action associated with provisioning, administering, or managing computing resources. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A non-transitory computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computers to implement an approval service, wherein the approval service is configured to:
-
present a backend interface of the approval service within a service provider network through which one or more other services submit respective approval requests that pertain to provisionment, administration, or management of computing resources, the approval requests to be managed by the approval service on behalf of each of two or more clients of a service provider that provides at least the one or more other services for the two or more clients, wherein the two or more clients are consumers of the one or more other services, wherein at least some approval requests trigger messages between the approval service and one or more members over a network external to the service provider network on behalf of the services; receive, over the service provider network from one of the one or more other services, via the backend interface, a given approval request, wherein the given approval request is related to a particular product, portfolio, project, action, message topic, workflow, or request type; provide a mechanism through which one or more members of an approval group that is associated with the given approval request submits, over an external network, a respective response to the given approval request; determine a result of the given approval request dependent, at least in part, on the respective responses to the given approval request; receive, over the service provider network via the backend interface, another approval request, wherein the other approval request is related to a different product, portfolio, project, action, message topic, workflow, or request type, and wherein the approval group is associated with the other approval request; provide a mechanism through which one or more members of the approval group submits, over the external network, a respective response to the other approval request; determine a result of the other approval request dependent, at least in part, on the respective responses to the other approval request; and transmit, over the service provider network via the backend interface to the one of the one or more other services, an indication of the result of the other approval request, wherein the result of the approval request triggers performance of an action associated with provisioning, administering, or managing computing resources. - View Dependent Claims (18, 19, 20)
-
Specification