GB2362540A - Accessing databases via the internet - Google Patents

Accessing databases via the internet Download PDF

Info

Publication number
GB2362540A
GB2362540A GB0025443A GB0025443A GB2362540A GB 2362540 A GB2362540 A GB 2362540A GB 0025443 A GB0025443 A GB 0025443A GB 0025443 A GB0025443 A GB 0025443A GB 2362540 A GB2362540 A GB 2362540A
Authority
GB
United Kingdom
Prior art keywords
gateway
web server
server
mail
telephone
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
GB0025443A
Other versions
GB0025443D0 (en
GB2362540B (en
Inventor
Andy Munarriz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VOXSURF SOFTWARE Ltd
Original Assignee
VOXSURF SOFTWARE Ltd
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
Application filed by VOXSURF SOFTWARE Ltd filed Critical VOXSURF SOFTWARE Ltd
Publication of GB0025443D0 publication Critical patent/GB0025443D0/en
Publication of GB2362540A publication Critical patent/GB2362540A/en
Application granted granted Critical
Publication of GB2362540B publication Critical patent/GB2362540B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4938Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals comprising a voice browser which renders and interprets, e.g. VoiceXML

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A computer system provides telephone access to an e-mail server over the Internet via a web server. Voice recognition mean converts speech input at a telephone into a call to the web server; web server program means responds to such call to cause the web server to access the e-mail server and access e-mail messages thereon; the web server generates response messages incorporating the e-mail messages; and text-to-speech conversion of the response messages produces corresponding voice messages to the telephone. The telephone is coupled to the Internet via a gateway, and the web server, in response to the first call thereto, transmits a gateway web page to the gateway, the gateway including the voice recognition means and the text-to-speech conversion means. The gateway web page preferably remains in the gateway on termination of the telephone access to the e-mail server and the gateway can respond to a plurality of simultaneous independent callers. The web server program means is a Java servlet which generates the gateway web page as a VML message.

Description

2362540 1 Accessing Databases via the Internet
Field Of The Invention
This invention relates to a computer system for providing telephone access to databases such as Internet mail. It also relates to a corresponding method, and to computer software for use in the system and method.
Background Of The Invention
E-mail and the Internet are both long-established. The Internet is a world-wide data network which provides access between a large number of computers or data processors coupled to it. E-mail has largely been developed as an Internet-based service. The basic principle of e-mail is that a computer coupled to the Internet can receive e-mail messages from any other computer on the Internet (provided that the computers concerned all have the appropriate software, of course). In its simplest form, this requires that the receiving computer must be permanently coupled to the Internet.
To deal with systems which are liable to have limited Internet access, email servers have been developed. A system sending an e-mail can send it to the server rather than the recipient (i.e. the intended final recipient); the server then stores the e-mail and the recipient can retrieve it from the server at a later time. The e-mail server is in effect a database unit dedicated to storing e-mails However, these standard arrangements still require the recipient to have a computer system which can be coupled to the Internet in the standard way, and cannot be used by someone who does not have such facilities to use e-mail.
2 The main object of the invention is to provide an extended e-mail facility to such users, and in particular, to users who have only telephone communication facilities rather than full data communication facilities.
Summary Of The Invention
According to one aspect, the present invention provides a computer system for providing telephone access to an Internet database, including: first conversion means for converting user input into a call to a web server, means responsive to such call to cause the web server to access a database server and retrieve a database message, means for causing the web server to generate a page in a non-HTML format incorporating the database message, and second conversion means for interpreting the non-HTML page to produce a corresponding message to the user.
In a preferred form, the non-HTML format is a VIML format, the database server is an e-mail server, and the conversion means comprise means for interpreting the VML page as a voice message and a telephone to which the voice message is transmitted. However, the invention is also applicable to systems in which the user communicates with the web server by other means such as mobile telephones operating with a WMI, (Wireless Mark Up) language.
More specifically, the invention provides a computer system for providing telephone access to an e-mail server over the Internet via a web server. Voice recognition mean converts' speech input at a telephone into a call to the web server; web server program means responds to such call to cause the web server to access the e-mail server and access e-mail messages thereon; the web server generates response messages incorporating the e-mail messages; and text-to-speech 3 conversion of the response messages produces corresponding voice messages to the telephone.
Preferably, the telephone is coupled to the Internet via a gateway, and the web server, in response to the first call thereto, transmits a gateway web page to the gateway, the gateway including the voice recognition means and the text-tospeech conversion means.
Preferably, the web server program means is a Java servlet which generates the gateway web page as a VML message.
The invention also provides a method of accessing e-mail from an e-mail server via a web server over the Internet by telephone, and a web page computer program for a web server for providing such access.
The method of accessing Internet e-mail by telephone comprises converting speech input at the telephone into a call to a web server, causing the web server to access an e-mail server and retrieve an e-mail message in response to such call, causing the web server to generate a WL page incorporating the e-mail message, interpreting the WL page to produce a corresponding voice message, and transmitting the voice message to the telephone.
The program comprises a computer-readable medium bearing computer program code to cause a web server to access an e mail server and retrieve an email message in response to a call to the web server, and to cause the web server to generate a VML page incorporating the e-mail message.
As used herein, IIVML" is an abbreviation for Voice Markup Language, which is any computer language which can be used to create web content and services that can be accessed by voice. A particular example, used in the embodiment of the 4 present invention, is Motorola's VoxML voice mark-up language, but the invention is not limited thereto.
An advantage of the invention is that it enables the access to any e-mail system from any telephone using voice commands. This assists non-PC users by providing them with the advantages and facilities of e-mail without the necessity of acquiring a PC. It also benefits existing e-mail users by providing them with access to their e-mail accounts in situations where it is not always convenient to use a PC, such as during travel.
Detailed Description Of Preferred Embodiments
Brief List Of Drawings A computer system embodying the invention will now be described by way of example and with reference to the accompanying drawings, in which:
Fig. 1 is a general block diagram of the computer system; Fig. 1A is a more detailed block diagram of the voice gateway; Fig. 2 shows the sequence of events leading to the launch of the Application on the web server of Fig. 1; Fig. 3 shows the same sequence of events as a flow diagram; Fig. 4 shows the flow of information between the user, the Application, and the gateway in the user verification procedures; Figs. 5 and 6 show the procedures of Fig. 4 as a flow diagram; Fig. 7 shows the flow of information occurring when the Application interacts with a user's mail-server to enable the user to log-on; Fig. 8 shows the same processes as a flow diagram; Fig. 9 shows the flow of information occurring which allows the user to hear their e-mails in audio form; Fig. 10 shows the same process as a flow diagram; Fig. 11 shows the flow of information which occurs during the process of sending an e-mail; FiQ. 12 shows the same process as a flow diagram; Figs. 1317 are object interaction graphs showing method flows for various operations of the Application; and Fig. 1-8 shows the logical organization of the Application- The Internet and the Web The present system is an Internet and Webbased system. These may be summarized for present purposes as follows.
The Internet is a network which provides access between computers coupled to it. The Web (or World Wide Web) is a system supported by the Internet in which computers (termed Web servers) provide specific on-line services to client computers, typically running browser programs. Each service is known as a web site (large organisations may have their own web servers and web sites; smaller companies may hire space on web servers provided by Internet service providers.) A domain name, for example, www.yahoo.com locates an organization or other entity on the Internet. The domain name is mapped by a domain name server (DNS) (at an Internet Protocol (IP) address known to a browser program running on the client computer) to an IP address, usually represented as a dotted quad address in the form ddd.ddd.ddd.ddd, where ddd is between 0 and 255, representing a physical point on the Lnternet.
A web site is usually organized as a number of pages. The 6 initial access to a web site reaches what is known as the home page; this may provide access to further pages on the web site, other web sites, and further Internet services such as mail servers. (Such a mail server is a computer for receiving and forwarding e-mails and connected to the Internet.) Files, such as web pages or multi-media files, stored on the Internet are identified by Universal Resource Locators (URLs). A URL contains:
the name of the protocol required to access the resource, for example, http (Hyper Text Transfer Protocol) or ftp (File Transfer Protocol); 0 0 a domain name that identifies a specific computer on the Internet, for example, www.yahoo.com; and a hierarchical description of a file location on the computer, for example, /stock/index.html, indicating a file 'index.htm11 stored in a '/stock, sub-directory, so making the URL http://www.yahoo. com/stock/index.html.
Messages are typically sent over the Web using the HTTP protocol comprising a http request from a client computer at one IP address to a server at another IP address and a http response from the server to the client. The request typically contains a URL whereas the response contains a file stored at the URL. More recently, however, further protocols such as WAP (Wireless Application Protocol) have been developed to enable mobile devices, such as phones, personal digital assistants (PDA) to access the Internet more easily.
In addition to direct access to the Internet by computers directly coupled to it, access can also be gained from a variety of other communication systems and networks via gateways. Such a gateway is a computer which interfaces between the Internet and the other communication system, such as a PSTN (public service telephone network) telephone system, 7 GSM (Global System for Mobile communication), other private telephone system or even cable network. The gateway converts the signals bQtween the protocols of the two systems, and provides and performs any further processing required to achieve the desired communication between the telephone system and the Internet.
A standard document format used by web pages is HTML (Hyper Text Mark-up Language). Not all pages are static HTML files stored in directories awaiting retrieval. More and more pages are generated dynamically according to specific requests made by specific users, for example, to generate quotes for a portfolio of stocks held by a user.
In such cases, a gateway program is usually instantiated in response to a HTTP request from a client computer. This program executes to retrieve data and generate a HTML page which is then returned to the user as a HTTP response. One convention used for this purpose is CGI (Common Gateway Interface), which is supported by virtually all web servers. CGI programs can be developed in virtually any such language so that, when using this convention, a user selects a URL, which is usually of the form, http://domain namelcgibinIprogram name, the Web server typically passes the URL to the application program which processes the data and generates the response.
More recently, the Java language and system has been developed as an alternative to CGI systems. A feature of Java is that it uses what are termed applets and servlets, which are respectively small. application modules, which can be downloaded from a web site to run on a Java Virtual Machine (JVM) on a client computer, and server modules which run on the server. The proportion of web servers capable of supporting Java is rising and is already high.
8 The system (Figs. 1 and IA) Referring first to Fig. 1, the computer system for providing telephone access to Internet mail comprises a Javaenabled web server 10, a voice gateway 12, and a software program 14, herein called the "Application", resident on the web server 10 and having an associated database 16 of user profiles including User Ids and passwords and the necessary user email account details, contact details etc. The logical organization of the Application will be described later.
For convenience in describing the operation of the system, Fig. 1 also shows a telephone 18 connected (through a PSTN, not shown) to the gateway 12 and a mail server 20 coupled via the Internet to the.web server 10, although the telephone, PSTN, and mail server are not part of the system per se. The system will be described with reference to the use of the telephone 18 to access the mail server 20.
As shown in Fig. 1A, the voice gateway 12 contains a voice recognition unit 22, a text-to-speech unit 24 containing appropriate text-to-speech conversion software, and a control unit 26 containing VML interpretation software. The gateway used in the present system is the Motorola VoxML gateway.
The Application 14 is a web-server plug-in, accessible using HTTP calls, which generates Voice Mark-up Language (VML) and is based on Java Servlet technology. In the present system, which uses the Motorola gateway, the Application is based on the VoxML/VoiceXML specifications. (VML is broadly similar to HTML, but controls voice signals rather than text signals.)
The Application 14 operates by managing the interactions 9 and communications between the gateway 12, the web-server 10 and an e- mail server 20, to provide a user with voice-based control of their e- mail accounts. The interaction between these three subsystems and the user is based on the dynamic 5 generation of VoxML/VoiceXML pages.
The design and operation of the Application 14, as well as the function and design of the overall system, will now be described by following the sequence of events which occur during use of the system.
1. Logging On to the Application This involves two procedures: launching the Application (1A) and user verification (1B).
1A. Launching the Application (Fig. 2) Fig. 2 shows the sequence of events leading to the launch of the Application in terms of the information flows between the user, the gateway and the Application. Fig. 3 shows the same sequence of events as a flow diagram. The process steps are as follows:
Step 1-1: The user phones the gateway, from a land line or mobile phone.
Step 1-2: The gateway makes an H= call to a URL, which returns the entry/home WL page of the Application. This page welcomes the user to the system and consists of a static web page.
Step 1-3: The static WL web page is passed to the gateway by the webserver.
Step 1-4: The gateway interprets the WL web page and generates the corresponding voice-based welcome message, which is transmitted to the user through the telephone speaker.
Sr-ep 1-5: The gateway then makes a call to the URL for the 5 Application, in effect starting the Application.
1B. User Verification (Figs. 4 to 6) Prom this point on, all the VML web pages are generated dynamically, that is to say, on demand and according to circumstances.
This section describes the user verification procedures employed by the Application and how they are implemented. User verification involves two separate security screening procedures, the first of which requires the user to enter a user ID, and the second of which requires that the user to enter a password.
Fig, 4 shows the flow of information between the user, the Application and the gateway in the user verification procedures. Figs. 5 and 6 show these procedures as flow diagrams; Fig. 5 focuses on the user's entry of their ID and password, and Fig. 6 focuses on the verification of both entries. The process steps are as follows (the step numbering continues on directly from section 1A, since these steps described in this section reflect the normal progression of the software from the steps described in section la):
Step 16: The Application dynamically generates the VML log-on. page as the result of the previous call and returns it to the gateway.
Step 1-7: The gateway interprets the VML page and converts the appropriate prompts to a voice-based message.
11 Step 1-8: The message is transmitted to the user through the telephone speaker and requests the user to enter their user ID.
Step 1-9: The user enters their ID, either by voice or by a touch-tone sequence.
Step 1-10: The gateway interprets the ID and converts it to textual form, which is sent to the web-server as a parameter of the secure HTTP call to the URL of the Application.
Step 1-11: The Application generates as a response a WL page which prompts the user for a password, and passes the page to the gateway.
Step 1-12: The gateway interprets the WL page and converts it into a voice-based message.
Step 1-13: The!'Enter password" message is transmitted to the user through the telephone speaker.
Step 1-14: The user enters their password.
Step 1-15: The gateway converts the password to a textual form which is sent as a parameter of a secure HTTP call to the Application.
Step 1-16: The Application checks the records of the database 16 whether both the user ID and the password are correct (i.e.
whether the user ID exists and the password matches the ID).
Step 1-17A: If either the ID or the password is incorrect, the Application generates a WL page as its response; this page is sent to the gateway, which thereupon prompts the user to re enter the incorrect ID or password. The Application allows this error a total of three times before generating a "Sorry, 12 Log-on Faile& VML page.
Step 1-173: If the ID/Password combination is correct, the user is considered to be logged onto the Application.
2.
Logging onto an E-mail Server (Fig. 7) As a part of the registration, the user supplies the email accounts they wish to access using this system. They can also create an address book, which contains contacts which can be used by the user to send/forward new e-mails. Moreover, users can define options of the service like speed, volume, change password, etc.
Fig. 7 shows the flow of information occurring when the Application interacts with a user's mail-server to enable the user to log-on; Fig. 8 shows the same processes as a flow diagram. The process steps are as follows:
Steps 2-1 and 2-2: When the user has successfully logged on to the Application, information relating to the number of email accounts the user owns and their locations (i.e. addresses of corresponding mail- servers), along with the user's address books, is retrieved from the Application database.
Step 2-3A: If the user has more than one e-mail account, the Application generates a dynamic VML page as a response to the last call (see step 1-17A/B, Section 1B) requesting the user to indicate which e-mail account they wish to access. On. successful selection of an account, the Application works as described in step 2-3B. Alternatively, if the user has just one e-mail account, the Application proceeds directly to step 2-3B.
Step 2-3B: The Application goes to the mail-server on 13 which the e-mail account is resident and enquires from the mail-server whether or not the user has any e-mails. The Application generates a WL page indicating the number of emails the user has, with menu options such as Read Emails, Send New E-mail, etc. This page constitutes the response of the previous H= call to the Application (see step 1-17A/B, Section 1B).
Step 24: The gateway interprets the WL page and generates the corresponding voice-based message to the user through the telephone.
Step 2-5: The user chooses and enters their required activity option (spoken or touch tone).
Step 2-6: The gateway converts the voice based user entry into a textual form, evaluates the user's entry, and matches it to the list of available options (as contained in the VMI, page). If the entry corresponds to a valid option, it is sent to the web-server as a parameter of the H= call to the URL of the Application.
Step 2-7: The Application then performs the requested action/option and generates the appropriate VML page as a response and passes that page to the gateway.
Reading an E-mail (Figs. 9 and 10) Figs. 9 and 10 show the sequence of events that allow the user to hear their E-mails in audio form. Fig. 9 shows these processes from the perspective of the flow of information between the user, the gateway, the Application and the user's mail-server; Fig. 10 shows the same sequence of events as a flow diagram.
Step 3-1: If the user selects the "Read e-mails,' option, the 14 Application requests the first e-mail from the user's mail server. At this point the Application deals with the inquiry in different ways depending on the mail server type, such as POP3 (Post office Protocol, version 3) or IMAP4 (Internet Mail Access Protocol, version 4). All communication between the Application and mail server(s) is accomplished using a layer developed within the Application architecture using the Sun JavaMail APIs.
Step 3-2: The mail server returns the e-mail in a textual form to the Application, where it is cached.
Step 3-3: The Application wraps the e-mail in VML and returns the resulting VML page to the gateway. Preferably, the application uses a predefined Voice User Interface (VUI) template to generate the VML page with the appropriate email header details, such as subject, date, originator.
Step 3-4: The gateway interprets the VML page and converts the e-mail header (i.e. the originator/subject/date information) into an audio message transmitted to the user through the telephone.
Step 3-5: The user is then provided with options, such as "next" (for the next e-mail) and "read" to play the actual contents of the message.
Step 3-6: If the user selects the "read" option by voice, then it is sent to the web-server as a parameter of an HTTP call to the URL of the Application.
Step 37: In response, the Application generates a VIMI, page which contains the e-mail message contents.
Step 3-8: The gateway then interprets the VML page containing the e-mail message contents, using Text-To-Speech technology.
4. Sending an E-mail (Figs. 11 and 12) Figs. 11 and 12 show the sequence of events that allow the user to send their e-mails in audio form. Fig. 11 shows the flow of information between the user, the gateway, the Application and the user's mail-server which occurs during the process of sending an e-mail; Fig. 12 shows the same processes as a flow diagram. The process steps are as follows:
Step 4-1: If the user selects the "New,, option, the response generated by the Application is a WL page which contains the appropriate commands for requesting the recipient's address and the record message prompt; it also contains the nicknames/contacts in the user's address book.
Step 4-2: The gateway interprets the VML page as an audio message and transmits it to the user through the telephone.
Step 4-3: In response to the prompt, the user enters details of their desired address. Alternatively, the user says the nickname of one of their contacts in their address book; the gateway checks this for validity against those contained in the WL page.
Step 4-4: The gateway now prompts the user for the body of the e-mail message, which is spoken by the user through the phone and passed to the gateway.
Step 4-5: The gateway can either convert the message to a textual form or record the message as an audio file (file extension type WAV). In either case, the resulting information (the recipient's address and the message) is then sent to the Application as parameters of an H= call to the URL of the Application.
16 Step 4-6: If the information transmitted to the Application is in the form of an audio file.. the Application generates the email with the audio-fiie as an attachment which is then transmitted to the recipient's email address and therefore the recipients mail-server using the SMTP protocol.
The Application (Figs. 13-18) To launch the application, the VML home page is loaded; his page contains the URL and the command necessary to complete the launch, which involves requesting the HTTP Application ServIet to initiate the application. Table I is an exemplary VML home page with the name of top.vml; this is loaded by the Voice Browser instance by reading http://www.?.com/top.vml.
Table I <?xml version=111.011?> <DIALOG> <STEP NAME=11init11> <PROMPT> Welcome to Email </PROMPT> <INPUT TYPE = "NONE" NEXT=Ilhttp://www.?.com/servlet/VxsApplicationServlet?Action=In itiate" </INPUT> </STEP> </DIALOG> The Voice Browser instance, using Text to Speech, reads the text between the Prompt tag, so that the caller hears "Welcome to Email" in a synthesized voice. The Voice Browser then interprets the next command - an HTTP call to the URL of 1 the application servleti with a parameter called "Action,' that has a value of "Initiate".
When making HTTP requests to Web Servers, the most frequently used methods are GET and POST. In the Application, the VxsApplicationServlet Java class is a subclass of javax.servlet.http.HttpServlet and overrides both the doPosto to handle POST requests and doGeto to handle GET requests methods. (All Java classes designed/created for the Application are prefixed with Vxs for identification.) Figure 13 is an object interaction graph showing the method flow for this request. Step 13-1 shows the creation of the appropriate event from the value of the "Action" parameter. To start the application, this value is "Initiate". The Class VxsEvent is delegated the responsibility to read the "Action" value from HTTP request stream and instantiate the correct event type - in this case an initiate event. Step 13-2 shows the creation of an HttpSession, the unique session allocated between the Voice Browser and the application servlet by the Web Server, which is used for the duration of the call.
Step 13-3 involves the instantiation of a VxsCall object, which represents the physical call in the system. Within this step the VxsCall instance gets associated to the HttpSession, ensuring session tracking functionality. Fig. 14 shows this in more detail.
The application has so far instantiated a VxsCall object and HttpSession object for the caller. Step 13-4 shows the application servlet requesting the VxsCall object to process the "Initiate" event. Figure 15 expands on Step 13-4. By design, a VxsCall cannot process the event directly; instead, it delegates this responsibility to a VxsCallProcess type. However, the system has no current process activated, as we 18 are essentially launching the application. Uniquely in its life cycle, the VxsCall is responsible for creating the appropriate launch process and setting it to be the current process of the system.
Returning to Fig. 13, the first process to be launched in the application is a VxsCallProcessLogin. After instantiating a VxsCallProcessLogin object, the processEvento method determines how to proceed. In this case, the associated Voice User Interface (VUI) object is instantiated. A VxsVYILWILogin object is created, and effectively returned to the VxsApplicationServlet, because it is the last command executed within Step 13-4 of Figure 13. A WI object is essentially the template used in the Application for representing information in a Voice Mark Up page.
So far the application servlet has processed the HTTP request from the Voice Browser, to the point of determining the VUI necessary as its response. To complete the request, the application servlet requests the voice representation from the VUI object (Step 13-5). The voice representation is a string containing VML code, which constitutes the next VML page. The application servIet uses this string as its response. The final step in Figure 13 is step 13-6, where the application servlet writes its response to the httpServletResponse stream, and so returns the VML page shown in Table II to the Voice Browser.
Table II <?xml version=111.011?> <DIALOG> <STEP NAME="init"> <PROMPT> Please enter user ID </PROMPT> <INPUT TYPE = "DIGITS" NAME="ID" NEXT=Ilhttp://www.?.com/servlet/VxsApplicationServlet 11 19 </INPUT> </STEP> </DIALOG> Table II shows a typical Login page. The tags in this page allow the user to either enter an ID using spoken numbers (e.g. "one" followed by "two" for 111211) or using DTMF tones.
once the user has entered/spoken their ID, the next HTTP request made to the Application includes the ID value. The flow of this request andsubsequent requests is shown in Figure 16. No new HttpSession instance is created; the session is read from the HTTP request stream, and as a result of using HttpSession tracking capabilities (Fig. 14), the associated VxsCall instance can he retrieved (Step 16-3.1).
There are close similarities between the start up/launch procedures (Figure 13) and subsequent requests (Figure 16). The main differences between these two procedures are that in subsequent requests, no new HttpSession instance is created, no new VxsCall instance is created, and VxsCall does not create a VxsProcess.
The Application may be regarded to some extent as consisting of a Java application together with a Java servlet.
It will be noted that the servlet, as shown in Figs. 13 and 16, is extremely simple, and consists essentially only of means for interfacing between the Java application and the web server environment on which the Application runs. It therefore provides a means for the application to be HTTP enabled.
The current process, which determines the current status of the Application, is cached on the VxsCall instance (Step 16-4.1). This process determines what to do next by evaluating the VxsEvent type (Step 16-4.2). A VxsProcess can be responsible for selecting one or more VUIs or launch a new VxsProcess, depending on the event type. Fig. 17 shows in more detail the return of a VUI object by VxsProcessReviewMessage for a Read VxsEvent type.
Navigation of the system is therefore achieved by user voice/DTMF input. This input gets interpreted and sent as an HTTP request by the Voice Browser component, to the application. The application reads the HTTP request parameters and represents them as event types. These event types determine what action the application must perform the result of which must be an HTTP response containing a VML page. For example, a user can browse the next e- mail by saying "next". The application then instantiates the appropriate VxsEvent object. VxsCall then delegates the VxsEvent type to its current VxsCallProcess, which as a result also creates the appropriate Voice User Interface.
Fig. 18 shows the logical organization of the modules of -)0 the Application. The top module is the VxsApplicationServlet 30, which exists as a single object instance (indicated by the 1,111 against it) for all users. This is copied into the gateway when the Application is first called. This is coupled to a VxsCall instance module 32 in the VML page in the web server by an HTTPSession identifier. As the user becomes identified, the VxsCall module is coupled to a VxsUser object module 34 for the user which represents all user profile information such as e-mail account information and application-specific preferences; there is a separate VxsUser object for each user.
Each VxsUser module 34 is coupled to a VxsEmailMessage module 36 or, if the user has specific e-mail accounts, to the appropriate number of VxsEmailMessage modules 36 through a corresponding set of VxsEmailAccount modules 38.
Navigation through the Application is achieved by correlating user actions and options with application events.
21 For example, if a user wants to browse the next message by saying "Next", the VxsCall module will instantiate the appropriate VxsEvent object in the VxsEvent module 40. The VxsCall module 32 then delegates control to the current VxsCallProcess module 42. This module determines whether the event is a valid option, and if it is, launches a new VxsCallProcess type (which as a result also creates a new VUI (Voice User Interface) object VxsV= 44). A VUI is essentially a template for representing information for a VML page.
The result of the current VxsCallProcess processing an event is an appropriate VUI for the action or option choice of the user. To return the VUI to the gateway and therefore the user, the VxsCall module causes the VUI to represent itself in the appropriate VML language. The result is entered in the H= response stream, which the gateway then interprets as the next VML page.
When a VUI is requested to represent itself in the appropriate VML language, the translator used is a VxsVm1Translator module 46. The translators are used to make the VUIs language-independent, so that the Application can easily be converted to a different VML merely by providing the appropriate translator class.
Alternatively, Document Object Models (DOM) could be used to represent the static parts of the particular mark up language user interface (in this case VoxML and VoiceXML).
DOMs allow static pages to be created with markers for placing the dynamic content. Therefore when a VUI is created, the markers are replaced with the appropriate dynamic content.
General 22 The above description has focussed primarily on a single user using the system to gain access through a single gateway to a web server and thence to a single e-mail server. If another user initiates a voice-access e- mail session before the first user's session has been terminated, the second user will gain access to that same VML home page in the gateway. If several users want sessions at the same time, the single VML home page will handle all the users.
There may be several distinct telephone systems which have respective gateways to the Internet. In this situation, each gateway will of course operate independently, and each will store its own copy of the VML home page. The web server will be in communication with all the gateways.
The web server may of course be coupled to several different e-mail servers. Each caller, when calling the web server, will then identify the particular e-mail server which they want.
A user may want to return to an e-mail they have already read. It is therefore desirable to cache emails in the system once they have been retrieved from the e-mail server. This will allow faster access in such circumstances. It may also be desirable to cache the VML representation strings (VML pages) of the WIs, so that they do not need to be constructed repeatedly. This will reduce the processing required for initialization and improve performance. Such caching, of both e-mails and VML pages, can be done conventionally.
Although the invention has been described with reference to a particular embodiment thereof which uses the Motorola gateway and the VoxML specification of a voice Mark-up Language, any gateway that has a VML interpreter (VoiceXML,
VoxML or otherwise) can be used in the invention. Similarly, although the invention has been described with reference to a 23 particular embodiment thereof which uses an e-mail database server and provides access to e-mails, it can equally be applied to any similar database system.
The invention is not limited to the embodiments described herein, which may be modified or varied without departing from the scope of the invention.
24

Claims (18)

Claims
1 A computer system for providing telephone access to an internet database, including:
first conversion means for converting user input into a call to a web server, means responsive to such call to cause the web server to access a database server and retrieve a database message, means for causing the web server to generate a page in a nonHTML format incorporating the database message, and second conversion means for interpreting the non-HTML page to produce a corresponding message to the user.
is
2 A computer system according to claim 1 wherein the nonHTML format is a WL format, the database server is an e-mail server, the first conversion means comprise voice recognition means for converting speech input at a telephone into a call to the web server, and the second conversion means comprise textto-speech conversion means for interpreting nonHTML pages to produce corresponding voice messages and a telephone to which the voice message is transmitted.
3 A computer system according to claim 1 including a gateway through which the telephone is coupled to the Internet, and wherein the web server, in response to the first call thereto, transmits a gateway web page to the gateway, the gateway including the voice recognition means and the text-to30 speech conversion means.
4 A computer system according to claim 3 wherein the gateway web page remains in the gateway on termination of the telephone access to the email server.
A computer system according to claim 3 wherein the gateway can respond to a plurality of simultaneous independent callers.
6 A computer system according to claim 5 wherein the web server program means generates the gateway web page as a VML message.
7 A computer system according to claim 6 wherein the web server program means is a Java servlet.
8 A method of accessing e-mail from an e-mail server via a web server over the Internet by telephone, comprising: converting speech input at a telephone into a call to the web server; causing the web server to respond to such call to access the e- mail server and access e-mail messages thereon; causing the web server to generate response messages incorporating the e-mail messages; and converting the response messages to speech produce corresponding voice messages to the telephone.
9 A method according to claim 8 wherein the telephone is coupled to the Internet via a gateway, the method comprising causing the web server, in response to the first call thereto, to transmit a gateway web page to the gateway, the gateway including means for voice recognition and means for text-tospeech conversion.
10 A method according to claim 9 wherein. the gateway web page remains in the gateway on termination of the telephone access to the e-mail server.
11 A method according to claim 9 wherein the gateway can respond to a plurality of simultaneous independent callers.
26
12 A method according to claim 11 wherein the response message is a VML message.
13 A web page computer program for a web server, the program comprising means for causing a web server to access an e-mail server and access an e-mail messages thereon in response to a voice call from a telephone to the web server, and to convert messages into voice form and pass the messages in to the telephone.
the e-mail voice form
14 A program according to claim 13 including means for transmitting, in response to the first call thereto, a gateway web page to a gateway located intermediate between the web server and the telephone, the gateway including voice recognition means and text-to-speech conversion means.
is A program according to claim 14 wherein the gateway can respond to a plurality of simultaneous independent callers.
16 A program according to claim 15 including means for generating the response message as a VML message.
17 A program according to claim 16 wherein the program is a Java servlet.
18 A method of accessing data from a database server via a web server over the Internet by n6n-HTML format, comprising: converting a non-HTML request from a user into an HTML call to the web server; causing the web server to respond to such call to access the database server and access data thereon; causing the web server to generate response messages incorporating the data; and converting the response messages to non-HTML format to produce corresponding messages to the user.
GB0025443A 1999-10-18 2000-10-17 Accessing databases via the internet Expired - Fee Related GB2362540B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IE990873 1999-10-18

Publications (3)

Publication Number Publication Date
GB0025443D0 GB0025443D0 (en) 2000-11-29
GB2362540A true GB2362540A (en) 2001-11-21
GB2362540B GB2362540B (en) 2004-02-11

Family

ID=11042146

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0025443A Expired - Fee Related GB2362540B (en) 1999-10-18 2000-10-17 Accessing databases via the internet

Country Status (2)

Country Link
GB (1) GB2362540B (en)
IE (2) IES20000802A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2406183A (en) * 2003-09-17 2005-03-23 Vextra Net Ltd Accessing audio data from a database using search terms
EP1920588A2 (en) * 2005-09-01 2008-05-14 DHAWAN, Vishal Voice application network platform
WO2008104989A1 (en) * 2007-02-26 2008-09-04 Amin Darshil Dharmisht A system for telephone access to electronic mail (tate)
US9135227B2 (en) 2002-09-10 2015-09-15 SQGo, LLC Methods and systems for enabling the provisioning and execution of a platform-independent application
US11616872B1 (en) 2005-09-01 2023-03-28 Xtone, Inc. Voice application network platform
US11641420B2 (en) 2005-09-01 2023-05-02 Xtone, Inc. System and method for placing telephone calls using a distributed voice application execution system architecture
US11657406B2 (en) 2005-09-01 2023-05-23 Xtone, Inc. System and method for causing messages to be delivered to users of a distributed voice application execution system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0845894A2 (en) * 1996-11-05 1998-06-03 Boston Technology Inc. A system for accessing multimedia mailboxes and messages over the internet and via telephone
US5907598A (en) * 1997-02-20 1999-05-25 International Business Machines Corporation Multimedia web page applications for AIN telephony
EP0942576A2 (en) * 1998-03-11 1999-09-15 AT&T Corp. Method and apparatus for facilitating access to the internet from a telephone network
US5974449A (en) * 1997-05-09 1999-10-26 Carmel Connection, Inc. Apparatus and method for providing multimedia messaging between disparate messaging platforms
EP0999685A2 (en) * 1998-11-06 2000-05-10 Shoutmail.Com. Method and system for interactive messaging
WO2000045573A1 (en) * 1999-01-29 2000-08-03 Microsoft Corporation A system and method for providing unified messaging to a user with a thin web browser

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282511B1 (en) * 1996-12-04 2001-08-28 At&T Voiced interface with hyperlinked information

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0845894A2 (en) * 1996-11-05 1998-06-03 Boston Technology Inc. A system for accessing multimedia mailboxes and messages over the internet and via telephone
US5907598A (en) * 1997-02-20 1999-05-25 International Business Machines Corporation Multimedia web page applications for AIN telephony
US5974449A (en) * 1997-05-09 1999-10-26 Carmel Connection, Inc. Apparatus and method for providing multimedia messaging between disparate messaging platforms
EP0942576A2 (en) * 1998-03-11 1999-09-15 AT&T Corp. Method and apparatus for facilitating access to the internet from a telephone network
EP0999685A2 (en) * 1998-11-06 2000-05-10 Shoutmail.Com. Method and system for interactive messaging
WO2000045573A1 (en) * 1999-01-29 2000-08-03 Microsoft Corporation A system and method for providing unified messaging to a user with a thin web browser

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372796B2 (en) 2002-09-10 2019-08-06 Sqgo Innovations, Llc Methods and systems for the provisioning and execution of a mobile software application
US10839141B2 (en) 2002-09-10 2020-11-17 Sqgo Innovations, Llc System and method for provisioning a mobile software application to a mobile device
US10831987B2 (en) 2002-09-10 2020-11-10 Sqgo Innovations, Llc Computer program product provisioned to non-transitory computer storage of a wireless mobile device
US10810359B2 (en) 2002-09-10 2020-10-20 Sqgo Innovations, Llc System and method for provisioning a mobile software application to a mobile device
US10552520B2 (en) 2002-09-10 2020-02-04 Sqgo Innovations, Llc System and method for provisioning a mobile software application to a mobile device
US9135227B2 (en) 2002-09-10 2015-09-15 SQGo, LLC Methods and systems for enabling the provisioning and execution of a platform-independent application
US9311284B2 (en) 2002-09-10 2016-04-12 SQGo, LLC Methods and systems for enabling the provisioning and execution of a platform-independent application
US9342492B1 (en) 2002-09-10 2016-05-17 SQGo, LLC Methods and systems for the provisioning and execution of a mobile software application
US9390191B2 (en) 2002-09-10 2016-07-12 SQGo, LLC Methods and systems for the provisioning and execution of a mobile software application
GB2406183A (en) * 2003-09-17 2005-03-23 Vextra Net Ltd Accessing audio data from a database using search terms
US8401859B2 (en) 2005-09-01 2013-03-19 Vishal Dhawan Voice application network platform
US8234119B2 (en) 2005-09-01 2012-07-31 Vishal Dhawan Voice application network platform
EP1920588A4 (en) * 2005-09-01 2010-05-12 Vishal Dhawan Voice application network platform
EP1920588A2 (en) * 2005-09-01 2008-05-14 DHAWAN, Vishal Voice application network platform
US11616872B1 (en) 2005-09-01 2023-03-28 Xtone, Inc. Voice application network platform
US11641420B2 (en) 2005-09-01 2023-05-02 Xtone, Inc. System and method for placing telephone calls using a distributed voice application execution system architecture
US11657406B2 (en) 2005-09-01 2023-05-23 Xtone, Inc. System and method for causing messages to be delivered to users of a distributed voice application execution system
US11706327B1 (en) 2005-09-01 2023-07-18 Xtone, Inc. Voice application network platform
US11743369B2 (en) 2005-09-01 2023-08-29 Xtone, Inc. Voice application network platform
US11778082B2 (en) 2005-09-01 2023-10-03 Xtone, Inc. Voice application network platform
US11785127B2 (en) 2005-09-01 2023-10-10 Xtone, Inc. Voice application network platform
US11876921B2 (en) 2005-09-01 2024-01-16 Xtone, Inc. Voice application network platform
WO2008104989A1 (en) * 2007-02-26 2008-09-04 Amin Darshil Dharmisht A system for telephone access to electronic mail (tate)

Also Published As

Publication number Publication date
IES20000802A2 (en) 2001-04-18
GB0025443D0 (en) 2000-11-29
IE20000801A1 (en) 2001-04-18
GB2362540B (en) 2004-02-11

Similar Documents

Publication Publication Date Title
US8032577B2 (en) Apparatus and methods for providing network-based information suitable for audio output
US8099283B2 (en) Application server providing personalized voice enabled web application services using extensible markup language documents
US7555536B2 (en) Apparatus and methods for providing an audibly controlled user interface for audio-based communication devices
US6912691B1 (en) Delivering voice portal services using an XML voice-enabled web server
US6990514B1 (en) Unified messaging system using web based application server for management of messages using standardized servers
US6490564B1 (en) Arrangement for defining and processing voice enabled web applications using extensible markup language documents
US6507817B1 (en) Voice IP approval system using voice-enabled web based application server
US6600736B1 (en) Method of providing transfer capability on web-based interactive voice response services
US6883015B1 (en) Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications
US20020069060A1 (en) Method and system for automatically managing a voice-based communications systems
US20020015480A1 (en) Flexible multi-network voice/data aggregation system architecture
EP2248335B1 (en) System and method for providing audible spoken name pronunciations
CA2494480C (en) Methods and apparatus for utilizing user software to communicate with network-resident services
KR20020004931A (en) Conversational browser and conversational systems
US20050188111A1 (en) Method and system for creating pervasive computing environments
US20010016034A1 (en) Method and apparatus for obtaining and aggregating off-line user data for re-packaging and presentation to users over a data-packet-network
WO2003069438A2 (en) Message accessing
US20060140359A1 (en) Arrangement in a local computer for sending voice messages to a unified communications system
US7502993B1 (en) Calling service using voice enabled web based application server
GB2362540A (en) Accessing databases via the internet
JP2002374356A (en) Automatic information system
JP2005151553A (en) Voice portal
KR20040110762A (en) Buddycall service system and a supplying method thereof
JP2007514366A (en) Intended addressing and resource queries in data networks

Legal Events

Date Code Title Description
711B Application made for correction of error (sect. 117/77)
711G Correction allowed (sect. 117/1977)
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20090115 AND 20090121

PCNP Patent ceased through non-payment of renewal fee

Effective date: 20081017

S28 Restoration of ceased patents (sect. 28/pat. act 1977)

Free format text: APPLICATION FILED

PCNP Patent ceased through non-payment of renewal fee

Effective date: 20191017