Request response transmutation pipeline
AssigneeAmazon Technologies, Inc.
InventorChristopher Vincent Kaukl
Life of this patent
Estimating the term…
Abstract
A system may be configured to provide a service for performing various actions on behalf of clients. The clients may be associated with diverse properties such as location, language, and legal jurisdiction. A service may be adapted to respond to a diversified client base. Properties of the client may be identified. A client capability enumeration may be loaded and used to identify transformation operations that may be performed on requests to the service and replies to the client. Transformation operations may be applied in a transmutation pipeline that modifies the input to and the results of an action.
Claims21
A system comprising:
- a first one or more computing nodes configured to operate a service configured to perform an action on behalf of a client;
- a second one or more computing nodes configured at least to:
- receive a request to perform the action on behalf of the client;
- determine to load an enumeration comprising information indicative of capabilities or requirements of the client with respect to the action, the loading based at least in part on a configuration file comprising an association between the action to be performed and the enumeration;
- identify a first module comprising a first procedure for performing a first transformation operation, the first module identified based at least in part on the enumeration and one or more properties of the client, the properties comprising at least one of client version, geographic location, localization, or legal jurisdiction;
- identify a second module comprising a second procedure for performing a second transformation operation, the second module identified based at least in part on the enumeration and at least one of the one or more properties of the client;
- cause the action to be performed by the first one or more computing nodes, wherein the action is performed based at least in part on invoking the first procedure to apply the first transformation operation to the request;
- and
- form a response to the request, wherein the response is formed based at least in part on invoking the second procedure to apply the second transformation operation to a result of performing the action.
A method comprising:
- receiving a request to perform an action on behalf of a client, the request comprising information indicative of the client;
- identify a set of transformation operations, the identifying based at least in part on a map comprising an association between the action to be performed and the set of transformation operations;
- forming a standardized representation of the information indicative of the client;
- identifying a first subset of zero or more transformation operations of the set of transformation operations, based at least in part on the transformation operations in the first subset being associated with the standardized representation of the information indicative of the client;
- identifying a second subset of zero or more transformation operations of the set of transformation operations, based at least in part on the transformation operations in the second subset being associated with the standardized representation of the information indicative of the client;
- causing the action to be performed on behalf of the client, the action performed based at least in part on applying the first subset of the set of transformation operations to the request when the first subset comprises at least one transformation operation;
- and
- forming a reply to the request, the forming based at least in part on applying the second subset of the set of transformation operations to a result of performing the action when the second subset comprises at least one transformation operation.
A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:
- load information indicative of a set of transformation operations, the loading based at least in part on a file comprising an association between an action and the information indicative of a set of transformation operations, the action corresponding to a request to perform the action on behalf of a client;
- identify a first module comprising a first procedure for performing a first transformation operation of the set of transformation operations, the first module identified based at least in part on the information indicative of a set of transformation operations and at least one property of the client;
- identify a second module comprising a second procedure for performing a second transformation operation of the set of transformation operations, the second module identified based at least in part on the information indicative of a set of transformation operations and at least one property of the client;
- cause the action to be performed, wherein the action is performed based at least in part on invoking the first procedure to apply the first transformation operation to the request;
- and
- form a response to the request, wherein the response is formed based at least in part on invoking the second procedure to apply the second transformation operation to a result of performing the action.
Dependencies are inferred from the claim text.