Subscription management service
First Claim
1. A computer-implemented method for successively firing timers for clients of a timer service, the computer-implemented method comprising executing instructions in a computer system to perform the operations of:
- exposing a Web services application programming interface (API) to the clients of the timer service, wherein the API exposes functionality for creating a timer for individual clients and the timer service is associated with a subscription service;
storing client configuration records for the clients, individual client configuration records specifying a payload destination and a jitter threshold for a respective client;
receiving, via one or more computers of the subscription service, a request from individual clients to create a timer via the Web services API, the request comprising a payload and specifying a time at which the payload is to be provided to the payload destination, the jitter threshold specifying a maximum amount of time after the time specified in the request that the payload can be provided to the payload destination;
modifying, via one or more computers of the timer service, the time specified in individual timer creation requests by selecting a random amount of time less than the jitter threshold and by adding the random amount of time to the time specified in the timer creation request for the respective client;
creating, via the one or more computers of the timer service, the timer for individual clients using the respective modified time and the payload; and
providing, via the one or more computers of the timer service, individual payloads to the payload destination at approximately the respective modified time.
1 Assignment
0 Petitions
Accused Products
Abstract
A subscription management service utilizes a timer service to maintain timers corresponding to subscription events. The subscription management service exposes an interface through which clients can define new subscriptions that are then created and managed by the subscription management service. The subscription management service can charge subscribers on an appropriate billing period, and cancel or automatically renew subscriptions at the end of a contract period. The subscription management service can also provide notifications to clients, to subscribers, and/or to other components. The subscription management service might also perform other types of actions with regard to the subscriptions on behalf of the clients. The timer service receives payloads from clients, such as the subscription management service, and provides the payloads back to the clients at a specified time. The timer service might also utilize a jitter threshold to compute the time at which payloads should be provided to clients.
-
Citations
20 Claims
-
1. A computer-implemented method for successively firing timers for clients of a timer service, the computer-implemented method comprising executing instructions in a computer system to perform the operations of:
-
exposing a Web services application programming interface (API) to the clients of the timer service, wherein the API exposes functionality for creating a timer for individual clients and the timer service is associated with a subscription service; storing client configuration records for the clients, individual client configuration records specifying a payload destination and a jitter threshold for a respective client; receiving, via one or more computers of the subscription service, a request from individual clients to create a timer via the Web services API, the request comprising a payload and specifying a time at which the payload is to be provided to the payload destination, the jitter threshold specifying a maximum amount of time after the time specified in the request that the payload can be provided to the payload destination; modifying, via one or more computers of the timer service, the time specified in individual timer creation requests by selecting a random amount of time less than the jitter threshold and by adding the random amount of time to the time specified in the timer creation request for the respective client; creating, via the one or more computers of the timer service, the timer for individual clients using the respective modified time and the payload; and providing, via the one or more computers of the timer service, individual payloads to the payload destination at approximately the respective modified time. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the computer, cause the computer to:
-
expose an interface for receiving requests to create new timers, wherein the interface is an application programming interface (API) that exposes functionality for creating the new timers and wherein the interface is utilized by subscription service clients to communicate with a subscription service that is associated with a timer service; receive, by way of the interface, requests from clients to create new timers, individual requests comprising a payload and data identifying a time at which the payload is to be delivered to a destination; modify, by one or more computers of the timer service, the time for the individual requests using a jitter threshold associated with the client, the jitter threshold specifying a maximum amount of time after the time that the payload can be provided to the destination, comprising; select a random amount of time less than the jitter threshold; and add the random amount of time to the time at which the payload is to be delivered to the destination; cause, by the one or more computers of the timer service, a new timer to be created by the timer service at the modified time for the individual clients; and deliver, by the one or more computers of the timer service, the payload for the individual clients to the destination at approximately the modified time. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. An apparatus configured to successively fire timers for clients of a timer service, the apparatus comprising:
-
at least one processor; and a computer-readable storage medium having computer-executable instructions stored thereon which, when executed on the at least one processor, cause the apparatus to receive requests, via an interface exposed by the timer service, to create timers, individual requests identifying a payload and a time at which the payload is to be delivered to a destination, wherein the interface is an application programming interface (API) that exposes functionality for creating the timers and wherein the interface is utilized by subscription service clients to communicate with a subscription service associated with the timer service; in response to receiving the individual requests, modify, by one or more computers of the timer service, the time using a jitter threshold, the jitter threshold specifying a maximum period after the time that the payload can be provided to the destination, wherein the modification comprises; select a random amount of time less than the jitter threshold, and add the random amount of time to the time at which the payload is to be delivered to the destination, cause, by the one or more computers of the timer service, a timer that expires at the modified time to be created by the timer service for the individual requests, and deliver, by the one or more computers of the timer service, the payload for the individual requests to the destination at approximately the respective modified time. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification