[go: up one dir, main page]

HK1061947B - Multimodal session support on distinct multichannel protocol - Google Patents

Multimodal session support on distinct multichannel protocol Download PDF

Info

Publication number
HK1061947B
HK1061947B HK04104593.9A HK04104593A HK1061947B HK 1061947 B HK1061947 B HK 1061947B HK 04104593 A HK04104593 A HK 04104593A HK 1061947 B HK1061947 B HK 1061947B
Authority
HK
Hong Kong
Prior art keywords
session
context data
voice
type
user
Prior art date
Application number
HK04104593.9A
Other languages
German (de)
French (fr)
Chinese (zh)
Other versions
HK1061947A1 (en
Inventor
Victor Shao
Curtis Tuckey
Jeremy Chone
Original Assignee
Oracle International Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/095,803 external-priority patent/US7693541B1/en
Application filed by Oracle International Corporation filed Critical Oracle International Corporation
Publication of HK1061947A1 publication Critical patent/HK1061947A1/en
Publication of HK1061947B publication Critical patent/HK1061947B/en

Links

Description

PRIORITY CLAIM
This patent application claims priority from U.S. Provisional Patent Application No. 60/306,704, filed on July 20, 2001, entitled MULTIMODAL SESSION SUPPORT ON DISTINCT MULTI CHANNEL PROTOCOL.
FIELD OF THE INVENTION
This invention relates generally to communication systems, and more particularly to a mechanism to share session between different interaction channels.
BACKGROUND OF THE INVENTION
The use of wireless technology has quickly become an accepted and popular method of enabling communication. Many enjoy mobile devices for the convenience of engaging in conversation from any location. Wireless carriers, in addition to offering voice communication, have begun to provide a variety of services. These services, in many cases, extend the capability of Internet applications to the wireless environment.
For example, many people access the Internet through a cell phone to obtain stock quotes, make purchases, or receive driving directions.
A communications device that is exchanging voice information with another communications device does so over a voice session. In other words, the interaction that takes place during a voice session involves audible audio. In contrast, audible audio is not the mode of interaction in a non-voice session. Typically, the interaction in non-voice sessions involves visual interaction, such as displaying a menu on a browser.
For example, when accessing visual information on the Internet through a mobile phone, the communication takes place over a non-voice session. A session, as used herein, is a general term referring to a period during which a device is being used for a particular type of information exchange. For example, during a voice session on the mobile phone, the mode of communication involves audible audio. During a non-voice session on the mobile phone, the mode of communication involves something other than audible audio.
When communicating over one type of session, it is sometimes desirable to switch to another type of session to continue a related activity in another mode or channel. For example, the Internet includes several on-line music stores. In a single channel environment, the user can search, browse, select and listen music to from the single channel or mode. For example, all of these actions may be done over a voice channel by dialing a 1-800 number, or all may be done over a non-voice channel using a phone-based browser.
When a device supports both types of sessions, it would be convenient to allow the user to do some of these tasks in a specific mode and some others in another mode.
For example, the user can start the service from visual mode for browsing and selecting, using his device keypad to select the appropriate song, then when the user clicks on the song, the device would shift to have voice mode to listen to the song.
Another example in which the ability to switch between session types would be helpful is an email application. A user should be able to browse his email list, and when clicking on a specific email, he can listen to the content of it. Note that here the content (Data) of the email is text, but because the user shifts to a voice mode, the interaction will be voice.
Unfortunately, with today's devices and networks, when a device shifts from one mode to another (e. g. from a non-voice to a voice session), the transaction is not kept. In other words, the user cannot save context data, or information that indicates the state of recent activity. Thus, as context data cannot be saved across sessions, it is necessary to reenter any information needed in the new session that was used or available in the old session. For example, in the online music store example, it is necessary to identify oneself and the music selection one would like to hear in the voice session, even though the user may have already entered that information in the non-voice session. The inconvenience of data re-entry is significant due to the relatively unsophisticated input mechanisms that most mobile device possess.
The problem of data reentry also occurs when switching from a voice session to a non-voice session. For example, when speaking on the phone with a salesperson, it would be desirable to switch to the salesperson's web site to immediately view product and sales information presented in a customized manner according to the conversation with the salesperson. Unfortunately, after a voice conversation with a salesperson, it is currently necessary to navigate through a corresponding web site manually without benefit of any prior conversation.
Reentering information can be a time consuming and repetitive act. It is desirable to eliminate the necessity to reenter information when switching from one type of session to another. Currently, however, there is no effective mechanism for doing so.
Retaining a data communication while responding to a paging notification is known from WO 00/03554 A1. Therein, a method and system are disclosed which enable a packet-switched data communication in a wireless communication system to be Quickly and easily reestablished after interruption.
WO 01/43390 A2 discloses a service management access node having a portal which performs interfacing between a wireless network domain and content/service providers in the Internet.
SUMMARY
To overcome the shortcomings of the prior art, the present invention provides an improved mechanism for maintaining transactions between different communication modes (e.g. voice sessions and non-voice sessions). According to the independent claims 1 and 13 of the present invention, information about the activity in a session is stored as context data. Preferred embodiments of the present invention are described in the dependent claims 2 to 12.
When a client switches from one type of session to another, context data for that client is retrieved. The retrieved context data is used to recreate the state of the prior session, thus eliminating the need to reenter information that was previously available.
The information thus stored is available for use in the new session of the same type. Thus, a user may switch from a non-voice session to a voice session then back to a non-voice session. The latter non-voice session can start in the state indicated by the state data saved for the earlier non-voice session in a manner transparent to the user. The ease of use and the efficiency of activities in the new session is greatly increased. Hence, the present invention represents a significant improvement over the prior art.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
  • Figure 1 is a functional block diagram of a system 100 in which one embodiment of the present invention may be implemented; and
  • Figure 2 is a block diagram that illustrates a computer system 200 upon which an embodiment of the invention may be implemented.
DETAILED DESCRIPTION OF EMBODIMENT (S)
Techniques are provided for sharing information between a non-voice session and a voice session. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
SYSTEM OVERVIEW
With reference to Figure 1, there is shown a functional block diagram of a system 100 in which one embodiment of the present invention may be implemented, the system 100 comprising a WAP gateway 120, a voice node server 130, and a web server 150. The system 100 is coupled to a communication device 110. For the sake of simplicity, only one communication device 110 is shown; however, it should be noted that multiple communication devices 110 may be coupled to, and communicate with, the WAP gateway 120 or the voice node server 130. For the purpose of the present invention, communication device 110 may be any mechanism capable of communicating with the WAP gateway 120 and the voice node server 130, including but not limited to cell phones or personal computers. The communication device 110 may present information using any known protocol, including but not limited to WML, HDML, and PQA. The communication device 110 may communicate with the WAP gateway 120 and the voice node server 130 using any known protocol, including but not limited to WTP ("wireless transfer protocol").
The WAP gateway 120 is the component responsible for sending and receiving non-voice information to the communications device 110 in a non-voice session. More specifically, the WAP gateway 120 sends and receives non-voice information from the web server 150 in one protocol, and sends and receives non-voice information from the communication device 110 in another protocol. In one embodiment, the WAP gateway 120 communicates to the web server 150 over a physical connection, and communicates to a communication device 110 over a wireless connection. The WAP gateway 120 may communicate with the web server 150 using any known protocol, including but not limited to HTTP.
The voice node server 130 is the component responsible for sending and receiving voice information to the communications device 110 in a voice session. The voice node server 130 is responsible for authenticating transmissions from the communications device 110. The voice node server 130 may communicate with the web server 150 using any known protocol, including but not limited to HTTP.
The web server 150 is the component responsible for processing requests for information from communication device 110. This information includes voice information from a phone call or non-voice information requests. The web server 150 may service the non-voice information requests by accessing static files, processing server-parsed entities, executing one or more applications, or by accessing content providers. The web server 150 may service the voice information requests by establishing voice calls with other parties.
FUNCTIONAL OVERVIEW
State information detailing recent activity in either a voice session or a non-voice session is saved as context data by the web server 150. The context data is then made available to one or more subsequent sessions. The subsequent sessions that make use of the saved context data may be the same type or a different type than the session in which the context data was saved.
For example, assume that a mobile phone user is browsing a music store site in a non-voice session. The user may pull up information about a particular CD, and desire to hear a sample of the CD from a voice-session based music service. Context data from the non-voice session that identifies the particular CD is stored prior to switching to the voice session. The user then switches to the voice-session and accesses the music service. The music service may detect the existence of the stored context data and provide the user the option of using a conventional voice-based mechanism to identify a CD, or to read the CD information stored in the context data. If the user specifies the use of the context data, then the music service plays a sample of the CD identified in the context data.
After listening to the sample, the user may wish to return to browsing CDs at the online store. Upon switching to a non-voice session, the context data may be used to start the new session at the same point that the user was at when the user switched to the voice session.
CONTEXT DATA
Context data for a non-voice session may include, but is not limited to, data that indicates recent history of sites visited over the Internet, recent purchases made, etc. Similarly, context data for a voice session may include recent options selected in a voice menu, and recent topics discussed in conversation with another person (such information about the conversation may be stored electronically by a participant of the conversation), etc.
In some embodiments, context data is stored for recent activity of a particular communication device 110. In other embodiments, context data is stored for recent activity for each user of a communication device 110.
In one embodiment, the context data is saved at fixed time intervals. In another embodiment the context data is saved anytime there is new activity in the session. The saving of the context data for a session may also be performed, for example, in response to a switch to a different type of session.
SAVING CONTEXT DATA
According to one embodiment, context data is saved by the web server 150 using a cookie or other well-known mechanism to store data in a fixed medium. For example, on an Internet http communication, the sessionID is passed in the cookie between the client and server. This sessionID allows the server to index any information for this communication.
In this multi-modal world, the challenge is to keep the same session across the multiple modes. Multiple modes often assume that there is multiple IDs. For example, in a voice mode there may be a VoiceID (which is usually the phone number), in a VisualBrowser mode (WAP Browser) this could be a subscriberID (the "VisualBrowserID").
According to one embodiment, a common ID is used between the different modes, such as to map the "Mode"-IDs to the same session. Most of the visual browsers, WAP Browser, support the well known cookie features, which allow the server to pass some information for a given session (multiple consecutive request). However, some other modes (e.g. Voice), do not have this support. Therefore, the mobile application server has to be flexible in the ways it manages device/mode IDs. Because the Cookies tend to be the easiest mechanism to store small information across request, in one embodiment the server uses this mechanism when it can for VoiceID, VisualBrowserID and SessionID.
USING THE CONTEXT DATA
When a communications device 110 initiates a new type of session, the request is received by the voice node server 130 if the desired session is a voice session, and is received by the WAP gateway 120 if the desired session is a non-voice session. In one embodiment, upon receiving the request for a new session, the WAP gateway 120 and the voice node server 130 identify the particular communication device 110 where the request originated, and contact the web server 150 to determine if there is any stored context data for the particular requesting communication device. This is performed in one embodiment by examining the phone number used to establish a voice session and using a look up table to determine the requesting communication device 110. In another embodiment, upon receiving the request for a new session, the WAP gateway 120 and the voice node server 130 identify the particular user of the communication device 110 where the request originated, and contact the web server 150 to determine if there is any stored context data for the particular requesting user.
In the particular example of a Visual-to-Voice mode switch, the server maps the VisualID to the VoiceID. For example, some of the WAP Servers do not support cookies, therefore the VisualID needs to be something else that uniquely identifies the session or at least the device. In this particular WAP Case, the SubscriberID can be used as the DeviceID.
If context data is available, then the context data is retrieved from the web server 150 and made available for use in the new session. In other words, if the new session requested is a voice session, then the context data is transmitted from the web server 150 to the voice node server 130, and information in the context data is used by the voice node server 130 in the new voice session. When the user switches from Visual to Voice, unfortunately, most of the time, the SubscriberID is not the same. In the case of Voice, the deviceID becomes the phone number. Therefore, the system synchronizes the SubscriberID with the PhoneNumber so that it can recognize that it's the same session.
Accordingly, if the new session requested is a non-voice session, then the context is transmitted from the web server 150 to the WAP gateway 120, and information in the transmitted context data is used by the WAP gateway 120 is the new non-voice session. The service that receives the context data may use the context data automatically in a manner that is transparent to the user, or may provide the user the option of using the context data or entering data in some other way. In one embodiment, multiple instances of context data may exist, and the user may be presented with the option of selecting which, if any, context data that the service is to use.
When context data is used as input to a service, the user avoids the hassle of having to enter the data manually. Because entry of data into mobile devices is often awkward and tedious, the techniques described herein for avoiding the need to re-enter data provide significant benefit to mobile device users.
HARDWARE OVERVIEW
Figure 2 is a block diagram that illustrates a computer system 200 upon which an embodiment of the invention may be implemented. Computer system 200 includes a bus 202 or other communication mechanism for communicating information, and a processor 204 coupled with bus 202 for processing information. Computer system 200 also includes a main memory 206, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 202 for storing information and instructions to be executed by processor 204. Main memory 206 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 204. Computer system 200 further includes a read only memory (ROM) 208 or other static storage device coupled to bus 202 for storing static information and instructions for processor 204. A storage device 210, such as a magnetic disk or optical disk, is provided and coupled to bus 202 for storing information and instructions.
Computer system 200 may be coupled via bus 202 to a display 212, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 214, including alphanumeric and other keys, is coupled to bus 202 for communicating information and command selections to processor 204. Another type of user input device is cursor control 216, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 204 and for controlling cursor movement on display 212. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
The invention is related to the use of computer system 200 for generating a digital video content. According to one embodiment of the invention, a digital video content is provided by computer system 200 in response to processor 204 executing one or more sequences of one or more instructions contained in main memory 206. Such instructions may be read into main memory 206 from another computer-readable medium, such as storage device 210. Execution of the sequences of instructions contained in main memory 206 causes processor 204 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The execution of the sequences of instructions required to practice the invention need not be performed by a single computer system 200. The sequences of instructions required to practice the invention may be performed by a plurality of computer systems 200 connected to local network 222, connected to the Internet 228, or otherwise in data communication with each other.
The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 204 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 210. Volatile media includes dynamic memory, such as main memory 206. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 202. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 204 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 200 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 202. Bus 202 carries the data to main memory 206, from which processor 204 retrieves and executes the instructions. The instructions received by main memory 206 may optionally be stored on storage device 210 either before or after execution by processor 204.
Computer system 200 also includes a communication interface 218 coupled to bus 202. Communication interface 218 provides a two-way data communication coupling to a network link 220 that is connected to a local network 222. For example, communication interface 218 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 218 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 218 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 220 typically provides data communication through one or more networks to other data devices. For example, network link 220 may provide a connection through local network 222 to a host computer 224 or to data equipment operated by an Internet Service Provider (ISP) 226. ISP 226 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 1128. Local network 222 and Internet 228 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 220 and through communication interface 218, which carry the digital data to and from computer system 200, are exemplary forms of carrier waves transporting the information.
Computer system 200 can send messages and receive data, including program code, through the network(s), network link 220 and communication interface 218. In the Internet example, a server 230 might transmit requested program code for an application program through Internet 228, ISP 226, local network 222 and communication interface 218
Processor 204 may execute the received code as it is received, and/or stored in storage device 210, or other non-volatile storage for later execution. In this manner, computer system 200 may obtain application code in the form of a carrier wave.

Claims (13)

  1. A method for sharing information between a voice session and a non-voice session, comprising:
    • storing context data for a user communicating in a first session that is a first type of session, said first type of session being one of a voice session and a non-voice session;
    • receiving a request from said user to initiate communication over a second type of session, said second type of session being the other of a voice session and a non-voice session than said first type of session;
    • retrieving said context data; and
    • providing information from said context data to a service assessed in said second type of session, wherein said context data reflects the context of said first session.
  2. The method of claim 1, wherein the step of storing context data is performed in response to switching from said first type of session to said second type of session.
  3. The method of claim 1, wherein said first type of session is a voice session and said second type of session is a non-voice session.
  4. The method of claim 1, wherein said first type of session is a non-voice session and said second type of session is a voice session.
  5. The method of claim 1, wherein:
    • said step of storing context data includes storing context data in association with an identifier associated with said user; and
    • said step of retrieving said context data includes retrieving said context data based on said identifier associated with said user.
  6. The method of claim 5, wherein said identifier is associated with a phone number of a device used by said user to request said second type of session.
  7. The method of claim 1, wherein said step of storing context data for a user is performed by using a cookie.
  8. The method of claim 1, wherein said context data is stored on a web server (150).
  9. The method of claim 1, further comprising the steps of:
    • receiving a request from said user to switch from said second type of session back to said first type of session;
    • after switching back to said first type of session, performing the steps of:
    o retrieving said context data; and
    o providing information from said context data to a service assessed in said first type of session.
  10. The method of claim 1, wherein the step of storing context data is performed at periodic intervals.
  11. The method of claim 1, wherein the step of storing context data is performed in response to new activity within said first type of session.
  12. The method of claim 3, wherein the step of storing context data is performed in response to a participant in said voice session entering data related to said voice session.
  13. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform any one of the methods recited in claims 1 to 12.
HK04104593.9A 2001-07-20 2002-07-19 Multimodal session support on distinct multichannel protocol HK1061947B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US30670401P 2001-07-20 2001-07-20
US306704P 2001-07-20
US10/095,803 US7693541B1 (en) 2001-07-20 2002-03-19 Multimodal session support on distinct multi channel protocol
US95803 2002-03-19
PCT/US2002/023077 WO2003056859A2 (en) 2001-07-20 2002-07-19 Multimodal session support on distinct multi channel protocol

Publications (2)

Publication Number Publication Date
HK1061947A1 HK1061947A1 (en) 2004-10-08
HK1061947B true HK1061947B (en) 2007-09-28

Family

ID=

Similar Documents

Publication Publication Date Title
EP1410660B1 (en) Multimodal session support on distinct multichannel protocols
US6813503B1 (en) Wireless communication terminal for accessing location information from a server
US7624185B2 (en) System for automated device-to-device transfer system
US7352997B2 (en) Method, apparatus and system for hosting a group of terminals
JP4690615B2 (en) Method and system for retrieving content from a server in a cellular communication system
RU2273103C2 (en) Method and device for exchanging information via communication network
US7035620B2 (en) Playing of audio via voice calls initiated from visual navigation
US20020143962A1 (en) Dynamic loading of protocol stacks under signaling control
US6792265B1 (en) Conference call setup utilizing a wireless access protocol capable telephone
JP2001078273A (en) Method and system for exchanging sensitive information in a wireless communication system
JP2000236349A (en) Remote bookmarking method and apparatus for wireless client device and medium
US7302463B1 (en) Sharing information across wireless content providers
US8250168B2 (en) Methods for accessing published contents from a mobile device
GB2353919A (en) A wireless communication terminal for accessing location information from a server
JP2004015692A (en) Method and system for sharing and processing state information between communication applications
HK1061947B (en) Multimodal session support on distinct multichannel protocol
US8254898B2 (en) Message handling based on the state of a telecommunications terminal
JP5016555B2 (en) Gateway device, browser display method on PC, and gateway control program
JP3331213B1 (en) Information providing server by voice recognition and method thereof
EP1289224B1 (en) Communication terminal device for retrieving information comprising a base unit and a remote unit
KR100397286B1 (en) real time chatting system between plural people through computers connected via network and method for the same, and storage medium storing program implementing the same method
JP4111894B2 (en) Data providing system, data providing method, and communication apparatus
KR20030026371A (en) Phone Number Guiding System for Mobile Telecommunication Terminal
JP2001157256A (en) Mobile phone and communication system
KR20030017060A (en) A mutual information system and method by short messaging service