Highly available transaction failure detection and recovery for electronic commerce transactions
First Claim
1. A method of processing electronic transactions between a client and a server of a computer network, the method comprising:
- establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receiving a request message from the client at the eTA system, the request message relating to an aspect of the electronic transaction;
extracting data from the message to record a state of the electronic transaction;
detecting that a failure has occurred with respect to the transaction;
determining whether an outcome of the transaction in relation to the request message has succeeded or failed;
selecting an appropriate recovery action to recover from the failure;
transmitting a response message to the client in accordance with the recovery action, wherein the response message masks the failure from the client.
10 Assignments
0 Petitions
Accused Products
Abstract
Electronic commerce transaction messages are processed over a network between a client and a server in a highly reliable fashion by establishing a secure or un-secure communications connection between the network client and the network server at an electronic transaction assurance (eTA) system, which is located in a communication path between the network client and the network server. The transaction type is identified in the message and the progress of the transaction is tracked using transaction models. Any failure in the back-end server system or in the network connections is detected and the failure is recovered from using an outcome determination technique. The failure of a node within the eTA system is masked from the network client by formulating an appropriate response and sending it back to the client such that the network client and network server that were using the selected node do not see any interruption in their communications.
180 Citations
56 Claims
-
1. A method of processing electronic transactions between a client and a server of a computer network, the method comprising:
-
establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receiving a request message from the client at the eTA system, the request message relating to an aspect of the electronic transaction;
extracting data from the message to record a state of the electronic transaction;
detecting that a failure has occurred with respect to the transaction;
determining whether an outcome of the transaction in relation to the request message has succeeded or failed;
selecting an appropriate recovery action to recover from the failure;
transmitting a response message to the client in accordance with the recovery action, wherein the response message masks the failure from the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
14. A method of processing electronic transactions between a client and a server of a computer network, the method comprising:
establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system and initiating a series of processes at the eTA system, the processes including;
a transaction monitoring process wherein the eTA system monitors electronic messages that are exchanged between the client and the server in relation to a transaction;
a state capture process wherein the eTA system captures and records information descriptive of one or more states of the transaction;
a failure detection process wherein the eTA system determines that a failure has occurred with respect to the transaction;
an outcome determination process wherein the eTA system determines the extent to which the server has processed the transaction;
a failure masking process wherein the eTA system masks the occurrence of the failure from the client;
a transaction recovery process wherein the eTA system recovers the transaction from the failure.
-
19. A method of processing network messages between a network client and a network server, the method comprising:
-
establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receiving a network message at the eTA system, which is responsible for the communications between the network client and the network server;
identifying a transaction type and message parameters included in the received network message, thereby defining an electronic transaction to which the message relates;
preserving a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction;
indicating a detected failure in a network back-end system or the network communications connection in response to inspection of the content of a received response from back-end system servers or the lack of a received response within a predetermined time period;
determining the correct outcome of the electronic transaction as affected by the detected failure and selecting an appropriate action to recover from the detected failure;
providing a response message to the network client with an appropriate message to mask the detected failure;
logging and reporting relevant information about the state and the message parameters of the electronic transaction.
-
-
33. An electronic transaction assurance system that includes:
-
a communications processor that receives electronic transaction messages over a computer network between a customer at a client node and a server node; and
a policy-based policy manager engine that manages electronic transaction message processing and resulting customer experience by allowing users of the system to define message processing policies that specify conditions and actions to be taken when any of the specified policy conditions is true to provide transparent failover. - View Dependent Claims (34, 35, 36, 38, 39, 40, 41, 42)
-
-
37. A method for determining the outcome of an electronic transaction initiated by a network message between a network client and a network server, the method comprising:
-
establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receiving a network message at the eTA system, which is responsible for the communications between the network client and the network server;
identifying a transaction type and message parameters included in the received network message, thereby defining an electronic transaction to which the message relates;
generating a transaction identifier associated with each electronic transaction received from the client and storing the transaction identifier information with the transaction type and message parameters at a back end database; and
preserving a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction.
-
-
43. A method for measuring the end-to-end response time of each electronic transaction message sent from a network client side to a network server side of a Web site, the method comprising:
-
establishing a communications connection between the network client and the Web site network server;
receiving a network message from the network client, comprising a request for a Web site page such that the request identifies a transaction type and message parameters, thereby defining an electronic transaction to which the message relates;
adding code to the Web page served to the network client that records the time when a client request is sent, indicating the start of an electronic transaction, and when a response is received by the client, indicating the end of a transaction;
generating a transaction identifier associated with each electronic transaction received from the client and storing the transaction identifier information with the transaction type and message parameters at a back end database; and
preserving a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50)
-
-
51. A program product for use in a processor that executes program steps recorded in a computer-readable media to perform a method of processing network messages between a network client and a network server, the program product comprising:
-
a recordable media;
a program of computer-readable instructions executable by the processor to perform operations comprising;
establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receiving a network message at the eTA system, which is responsible for the communications between the network client and the network server;
identifying a transaction type and message parameters included in the received network message, thereby defining an electronic transaction to which the message relates;
preserving a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction;
indicating a detected failure in a network back-end system or the network communications connection in response to inspection of the content of a received response from back-end system servers or the lack of a received response within a predetermined time period;
determining the correct outcome of the electronic transaction as affected by the detected failure and selecting an appropriate action to recover from the detected failure;
providing a response message to the network client with an appropriate message to mask the detected failure;
logging and reporting relevant information about the state and the message parameters of the electronic transaction.
-
-
52. A system that processes network messages between a network client and a network server, the system comprising one or more processors that execute program instructions and receive a data set, wherein the program instructions are executed to cause the processor to:
-
establish a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receive a network message at the eTA system, which is responsible for the communications between the network client and the network server;
identify a transaction type and message parameters included in the received network message, thereby defining an electronic transaction to which the message relates;
preserve a state of the electronic transaction and update the transaction type and message parameters in response to processing of the electronic transaction;
indicate a detected failure in a network back-end system or the network communications connection in response to inspection of the content of a received response from back-end system servers or the lack of a received response within a predetermined time period;
determine the correct outcome of the electronic transaction as affected by the detected failure and selecting an appropriate action to recover from the detected failure;
provide a response message to the network client with an appropriate message to mask the detected failure;
log and report relevant information about the state and the message parameters of the electronic transaction.
-
-
53. A program product for use in a processor that executes program steps recorded in a computer-readable media to perform a method for determining the outcome of an electronic transaction initiated by a network message between a network client and a network server, the program product comprising:
-
a recordable media;
a program of computer-readable instructions executable by the processor to perform operations comprising;
establishing a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receiving a network message at the eTA system, which is responsible for the communications between the network client and the network server;
identifying a transaction type and message parameters included in the received network message, thereby defining an electronic transaction to which the message relates;
generating a transaction identifier associated with each electronic transaction received from the client and storing the transaction identifier information with the transaction type and message parameters at a back end database; and
preserving a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction.
-
-
54. A system that determines the outcome of an electronic transaction initiated by a network message between a network client and a network server, the system comprising one or more processors that execute program instructions and receive a data set, wherein the program instructions are executed to cause the processor to:
-
establish a communications connection between the network client and the network server at an electronic transaction assurance (eTA) system;
receive a network message at the eTA system, which is responsible for the communications between the network client and the network server;
identify a transaction type and message parameters included in the received network message, thereby defining an electronic transaction to which the message relates;
generate a transaction identifier associated with each electronic transaction received from the client and storing the transaction identifier information with the transaction type and message parameters at a back end database; and
preserve a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction.
-
-
55. A program product for use in a processor that executes program steps recorded in a computer-readable media to perform a method for measuring the end-to-end response time of each electronic transaction message sent from a network client side to a network server side of a Web site, the program product comprising:
-
a recordable media;
a program of computer-readable instructions executable by the processor to perform operations comprising;
establishing a communications connection between the network client and the Web site network server;
receiving a network message from the network client, comprising a request for a Web site page such that the request identifies a transaction type and message parameters, thereby defining an electronic transaction to which the message relates;
adding code to the Web page served to the network client that records the time when a client request is sent, indicating the start of an electronic transaction, and when a response is received by the client, indicating the end of a transaction;
generating a transaction identifier associated with each electronic transaction received from the client and storing the transaction identifier information with the transaction type and message parameters at a back end database; and
preserving a state of the electronic transaction and updating the transaction type and message parameters in response to processing of the electronic transaction.
-
-
56. A system that measures the end-to-end response time of each electronic transaction message sent from a network client side to a network server side of a Web site, the system comprising one or more processors that execute program instructions and receive a data set, wherein the program instructions are executed to cause the processor to:
-
establish a communications connection between the network client and the Web site network server;
receive a network message from the network client, comprising a request for a Web site page such that the request identifies a transaction type and message parameters, thereby defining an electronic transaction to which the message relates;
add code to the Web page served to the network client that records the time when a client request is sent, indicating the start of an electronic transaction, and when a response is received by the client, indicating the end of a transaction;
generate a transaction identifier associated with each electronic transaction received from the client and store the transaction identifier information with the transaction type and message parameters at a back end database; and
preserve a state of the electronic transaction and update the transaction type and message parameters in response to processing of the electronic transaction.
-
Specification