Claims
- 1. An electronic kiosk comprising:
a processor for controlling the kiosk; a network interface to interface with a computer network; a user interface enabling user interaction with the processor and initiation of a transaction with a remote server coupled to the computer network, and a non-volatile cache memory controlled by the processor and configured to selectively store a context of the transaction to enable a recovery of the transaction after an interruption thereof.
- 2. The kiosk of claim 1, wherein the non-volatile cache memory is solid-state.
- 3. The kiosk of claim 1, wherein the non-volatile cache memory includes a Non-Volatile Random Access Memory (NVRAM).
- 4. The kiosk of claim 3, wherein the non-volatile cache memory includes a context data save engine for selectively storing the context of the transaction to the NVRAM and a context data recovery engine for retrieving the stored context from the NVRAM and recovering the transaction to enable a successful completion of the transaction.
- 5. The kiosk of claim 4, wherein the context data save engine is configured to store the context of the transaction at least one of:
before sending the transaction to the remote server; after sending the transaction to the remote server but before having received an acknowledgment of the transaction from the remote server; after having received a confirmed acknowledgment of the transaction from the remote server.
- 6. The kiosk of claim 1, further including a printer controlled by the processor, the printer being configured to print at least one of human-readable information and machine-readable information.
- 7. The kiosk of claim 6, wherein the printer is configured to print an acknowledgment of the transaction.
- 8. The kiosk of claim 1, further including a reader controlled by the processor, the reader being configured to scan and decode printed machine-readable information.
- 9. The kiosk of claim 8, wherein the machine-readable information includes a barcode and wherein the reader includes a barcode reader.
- 10. The kiosk of claim 3, wherein the processor is configured to execute the transaction in a first user session that concludes after the context data save engine has saved the context of the transaction to the NVRAM and a provisional acknowledgment is provided to the user and to execute a second remote server session that concludes after a confirmed acknowledgement is received from the remote server and provided to the user.
- 11. The kiosk of claim 10, wherein the user session is shorter in duration than the remote server session.
- 12. The kiosk of claim 1, further comprising at least one of a magnetic and a smart card reader.
- 13. The kiosk of claim 1, wherein the user interface includes at least one of a display and a touch screen.
- 14. The kiosk of claim 1, wherein the processor is programmed to cause the kiosk to:
enter a user session that exposes the user to messages and accepts user input to initiate the transaction via the user interface, commit the transaction to the non-volatile cache and provide the user with a provisional acknowledgment, and enter a remote server session that commits the transaction to the remote server via the computer network by sending a single data packet that encapsulates all information necessary to initiate the transaction and to repeatedly re-send the single data packet until a valid acknowledgment is received from the remote server.
- 15. The kiosk of claim 14, wherein the processor is further programmed to ignore any duplicate data packet that is received form the remote server.
- 16. The kiosk of claim 1, wherein the kiosk is configured for public access.
- 17. A method of carrying out an online transaction between an electronic kiosk and a remote server, each of the kiosk and the remote server being coupled to a network, the method comprising the steps of:
initiating a transaction at the kiosk; storing a copy of the transaction in a non-volatile memory within the kiosk; sending the transaction to the remote server under a control of the kiosk, and carrying out one of: receiving a confirmed acknowledgment of the transaction from the remote server and providing the confirmed acknowledgment, and generating a provisional acknowledgment of the transaction from the copy of the transaction stored in the non-volatile memory if the confirmed acknowledgment is not received within a predetermined period of time.
- 18. The method of claim 17, further comprising the step of:
receiving the confirmed acknowledgment from the remote server after the predetermined period of time and storing the received confirmed acknowledgment in the non-volatile memory.
- 19. The method of claim 18, further including a step of providing the stored confirmed acknowledgment upon request.
- 20. The method of claim 17, further comprising the step of re-sending the copy of the user transaction stored in the non-volatile memory to the remote server upon failure to receive the confirmed acknowledgment from the remote server.
- 21. The method of claim 20, wherein the re-sending step is carried out until a confirmed acknowledgment of the transaction is received from the remote server.
- 22. The method of claim 20, wherein the re-sending step is carried out a predetermined number of times.
- 23. The method of claim 17, wherein the generating step includes a step of printing the provisional acknowledgment together with corresponding machine-readable information that uniquely identifies the transaction.
- 24. The method of claim 17, wherein the generating step includes a step of printing the provisional acknowledgment together with machine-readable information uniquely identifying the transaction and wherein the method further includes a step of the kiosk reading the machine-readable information and providing the stored confirmed acknowledgment that corresponds to the read machine-readable information.
- 25. The method of claim 24, wherein the stored confirmation acknowledgment providing step includes a step of printing the confirmation acknowledgment.
- 26. The method of claim 17, wherein the kiosk includes a user interface that enables user interaction with the kiosk and wherein the initiating step includes a step of providing user credentials and selecting goods and/or services for purchase via the user interface.
- 27. The method of claim 26, wherein the user credentials include at least one of identification and payment instrument information.
- 28. The method of claim 17, wherein the initiating step includes a step of encapsulating all information required for the remote server to process the transaction into a single data packet and wherein the storing and sending steps store and send the single data packet in the non-volatile memory and to the remote server, respectively.
- 29. The method of claim 28, wherein the information required for the remote server to process the transaction includes at least one of:
user credentials including at least one of an identity of the user; payment instrument information; delivery information, and information identifying the subject matter of the transaction.
- 30. The method of claim 28, further including a step of encrypting the single data packet prior to the sending step.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to co-pending and commonly assigned application xx/xxx,xxx filed on ______, attorney reference CYBS5746 entitled “Trusted Transactional Controller” and co-pending and commonly assigned application xx/xxx,xxx filed on ______, attorney reference CYBS5738 entitled “Trusted Transactional Set-Top Box”, the disclosures of each being incorporated herein by reference.