Claims
- 1. A method of conducting a session between a device and a service, comprising the computer-implemented steps of:
receiving a first message at an intermediary sent with a first protocol from a client device;
wherein said first protocol does not support sessions; in response to said first message, said intermediary transmitting a second message to said service; receiving at said intermediary a third message that is in response to said second message; in response to said second message storing session information at said intermediary; transmitting a fourth message to said client device; receiving a fifth message from said client device at said intermediary; in response to said fifth message, locating said session information; generating a sixth message based on both content of said fifth message and said session information; and transmitting said sixth message to said service.
- 2. The method of claim 1 wherein the step of receiving at said intermediary said third message includes the step of receiving at said intermediary said third message that includes a menu with hyperlinks.
- 3. The method of claim 1 wherein the step of transmitting said fourth message to said client device includes transmitting said fourth message that includes a menu with reference numbers to said client device.
- 4. The method of claim 1 wherein a service address for said service is determined at least in part from a to-address associated with said first message and includes the step of determining said service address for said service at least in part from said to-address associated with said first message.
- 5. The method of claim 4 wherein said to-address includes a site-wide-address and the step of determining said service address includes determining said service address based at least in part on said site-wide-address plus a short name that is associated with said first message.
- 6. The method of claim 4 wherein said to-address includes a service-level-address and the step of determining said service address includes determining said service address based at least in part on said service-level-address.
- 7. The method of claim 4 wherein said to-address is a telephone number and the step of determining said service address includes determining said service address based at least in part on said telephone number.
- 8. The method of claim 4 wherein an application mapping is maintained, and said application mapping includes at least one entry that maps said to-address to said intermediary that is listening for said to-address, and wherein the step of receiving said first message includes receiving said first message at said intermediary using said application mapping to determine a location of said intermediary.
- 9. The method of claim 4 wherein a service mapping is maintained, said service mapping includes at least one entry that maps said to-address to said service, and said service address is based at least in part on said entry, and wherein the step of transmitting said second message includes transmitting said second message to said service at said service address that is based at least in part on said entry.
- 10. The method of claim 4 wherein a service mapping is maintained, said service mapping includes at least one entry that maps said to-address plus a short name from said first message to said service, and said service address is based at least in part on said entry, and wherein the step of transmitting said second message includes transmitting said second message to said service at said service address that is based at least in part on said entry.
- 11. The method of claim 1 wherein said first message includes an instruction and the step of transmitting said second message to said service includes creating said second message that indicates said instruction.
- 12. The method of claim 1 wherein the step of receiving said first message is performed by a protocol handler and further includes the steps of:
extracting a to-address and an instruction from said first message; determining an address of said intermediary based at least in part on said to-address; and transmitting said to-address and said instruction to said intermediary.
- 13. The method of claim 12 wherein said protocol handler is an e-mail protocol handler and the step of extracting is performed by said e-mail protocol handler.
- 14 The method of claim 12 wherein said protocol handler is an SMS protocol handler and the step of extracting is performed by said SMS protocol handler.
- 15. The method of claim 1 wherein said second message is transmitted with HTTP.
- 16. The method of claim 1 wherein said second message is transmitted with a Java API.
- 17. The method of claim 1 wherein the step of transmitting said second message to said service is performed at an Internet Service Provider.
- 18. The method of claim 1 wherein the step of storing session information includes the step of maintaining a session context that includes reference numbers that a user selected from a menu.
- 19. The method of claim 18 wherein said session context is maintained in a state machine and the step of maintaining includes maintaining said session context in said state machine.
- 20. The method of claim 1 wherein said third message is associated with said session information and the step of storing includes associating said third message with said session information.
- 21. The method of claim 1 wherein a device ID of said device is used to determine when a session starts, and wherein the step of receiving said first message at said intermediary includes starting said session the first time said intermediary detects said device ID that is associated with said first message.
- 22. The method of claim 1 wherein a timer is used to determine when a session ends and further includes the step of ending said session when said timer ends.
- 23. The method of claim 1 wherein a session ends at the earliest of a timer ending or a user exiting a menu tree and further includes the step of ending said session at the earliest of said timer ending or said user exiting said menu tree.
- 24. The method of claim 1 wherein the step of receiving at said intermediary said third message includes receiving at said intermediary said third message in Oracle's mobile XML™.
- 25. A computer-readable medium carrying one or more sequences of instructions for conducting a session between a device and a service, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
receiving a first message at an intermediary sent with a first protocol from a client device;
wherein said first protocol does not support sessions; in response to said first message, said intermediary transmitting a second message to said service; receiving at said intermediary a third message that is in response to said second message; in response to said second message storing session information at said intermediary; transmitting a fourth message to said client device; receiving a fifth message from said client device at said intermediary; in response to said fifth message, locating said session information; generating a sixth message based on both content of said fifth message and said session information; and transmitting said sixth message to said service.
- 26. The computer-readable medium of claim 25 wherein the step of receiving at said intermediary said third message includes the step of receiving at said intermediary said third message that includes a menu with hyperlinks.
- 27. The computer-readable medium of claim 25 wherein the step of transmitting said fourth message to said client device includes transmitting said fourth message that includes a menu with reference numbers to said client device.
- 28. The computer-readable medium of claim 25 wherein a service address for said service is determined at least in part from a to-address associated with said first message and includes the step of determining said service address for said service at least in part from said to-address associated with said first message.
- 29. The computer-readable medium of claim 28 wherein said to-address includes a site-wide-address and the step of determining said service address includes determining said service address based at least in part on said site-wide-address plus a short name that is associated with said first message.
- 30. The computer-readable medium of claim 28 wherein said to-address includes a service-level-address and the step of determining said service address includes determining said service address based at least in part on said service-level-address.
- 31. The computer-readable medium of claim 28 wherein said to-address is a telephone number and the step of determining said service address includes determining said service address based at least in part on said telephone number.
- 32. The computer-readable medium of claim 28 wherein an application mapping is maintained, and said application mapping includes at least one entry that maps said to-address to said intermediary that is listening for said to-address, and wherein the step of receiving said first message includes receiving said first message at said intermediary using said application mapping to determine a location of said intermediary.
- 33. The computer-readable medium of claim 28 wherein a service mapping is maintained, said service mapping includes at least one entry that maps said to-address to said service, and said service address is based at least in part on said entry, and wherein the step of transmitting said second message includes transmitting said second message to said service at said service address that is based at least in part on said entry.
- 34. The computer-readable medium of claim 28 wherein a service mapping is maintained, said service mapping includes at least one entry that maps said to-address plus a short name from said first message to said service, and said service address is based at least in part on said entry, and wherein the step of transmitting said second message includes transmitting said second message to said service at said service address that is based at least in part on said entry.
- 35. The computer-readable medium of claim 25 wherein said first message includes an instruction and the step of transmitting said second message to said service includes creating said second message that indicates said instruction.
- 36. The computer-readable medium of claim 25 wherein the step of receiving said first message is performed by a protocol handler and further includes the steps of:
extracting a to-address and an instruction from said first message; determining an address of said intermediary based at least in part on said to-address; and transmitting said to-address and said instruction to said intermediary.
- 37. The computer-readable medium of claim 36 wherein said protocol handler is an e-mail protocol handler and the step of extracting is performed by said e-mail protocol handler.
- 38 The computer-readable medium of claim 36 wherein said protocol handler is an SMS protocol handler and the step of extracting is performed by said SMS protocol handler.
- 39. The computer-readable medium of claim 25 wherein said second message is transmitted with HTTP.
- 40. The computer-readable medium of claim 25 wherein said second message is transmitted with a Java API.
- 41. The computer-readable medium of claim 25 wherein the step of transmitting said second message to said service is performed at an Internet Service Provider.
- 42. The computer-readable medium of claim 25 further comprising the step of maintaining a session context that includes reference numbers that a user selected from a menu.
- 43. The computer-readable medium of claim 42 wherein said session context is maintained in a state machine and the step of maintaining includes maintaining said session context in said state machine.
- 44. The computer-readable medium of claim 25 wherein said third message is associated with said session information and the step of storing includes associating said third message with said session information.
- 45. The computer-readable medium of claim 25 wherein a device ID of said device is used to determine when a session starts, and wherein the step of receiving said first message at said intermediary includes starting said session the first time said intermediary detects said device ID that is associated with said first message.
- 46. The computer-readable medium of claim 25 wherein a timer is used to determine when a session ends and further includes the step of ending said session when said timer ends.
- 47. The computer-readable medium of claim 25 wherein a session ends at the earliest of a timer ending or a user exiting a menu tree and further includes the step of ending said session at the earliest of said timer ending or said user exiting said menu tree.
- 48. The computer-readable medium of claim 25 wherein the step of receiving at said intermediary said third message includes receiving at said intermediary said third message in Oracle's mobile XML™.
PRIORITY CLAIM AND CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and claims domestic priority from prior U.S. Provisional Application Serial No. 60/337,359 (attorney docket number 50277-1866), filed on Nov. 30, 2001, entitled “Realizing Session and Synchronous Semantics Based on Asynchronous Messaging Protocols”, by Zhou Ye and Calvin Wang, the entire disclosure of which is hereby incorporated by reference for all purposes as if fully set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60337359 |
Nov 2001 |
US |