Application server configured for dynamically generating web pages for voice enabled web applications
First Claim
1. A method in a server configured for executing voice web applications, the method comprising:
- receiving a first hypertext markup language (HTML) request, generated by a user browser, for a first page for transport to the user browser via a Hypertext Transport Protocol (HTTP) connection;
accessing a selected extensible markup language (XML) page in response to reception of the first HTML request;
generating, by an application instance executed by the server, the first page based on runtime execution of the selected XML page by the application instance and a determined state of the user browser relative to a prescribed user session, the generating step including supplying voice application control content within the first page for execution by the user browser; and
terminating the application instance based on the first page having been output to the user browser via the HTTP connection.
1 Assignment
0 Petitions
Accused Products
Abstract
A unified web-based voice messaging system provides voice application control between a web browser and an application server via an hypertext transport protocol (HTTP) connection on an Internet Protocol (IP) network. The web browser receives an HTML page from the application server having an XML element that defines data for an audio operation to be performed by an executable audio resource. The application server executes the voice-enabled web application by runtime execution of extensible markup language (XML) documents that define the voice-enabled web application to be executed. The application server, in response to receiving a user request from a user, accesses a selected XML page that defines at least a part of the voice application to be executed for the user. The application server then parses the XML page, and executes the operation describer by the XML page.
108 Citations
43 Claims
-
1. A method in a server configured for executing voice web applications, the method comprising:
-
receiving a first hypertext markup language (HTML) request, generated by a user browser, for a first page for transport to the user browser via a Hypertext Transport Protocol (HTTP) connection;
accessing a selected extensible markup language (XML) page in response to reception of the first HTML request;
generating, by an application instance executed by the server, the first page based on runtime execution of the selected XML page by the application instance and a determined state of the user browser relative to a prescribed user session, the generating step including supplying voice application control content within the first page for execution by the user browser; and
terminating the application instance based on the first page having been output to the user browser via the HTTP connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
accessing a second XML page, having XML tags that specify establishment of a connection, in response to a connection request from a web server;
establishing the connection with the web server based on the runtime execution of the second XML page; and
receiving the first HTML request via the connection with the web server.
-
-
3. The method of claim 2, wherein the step of establishing the connection includes establishing a connection using an open source executable connection resource.
-
4. The method of claim 3, wherein the accessing step includes obtaining the second XML page from an XML document database configured for storing a plurality of XML pages.
-
5. The method of claim 1, wherein the accessing step includes obtaining the selected XML page from an XML document database configured for storing a plurality of XML pages.
-
6. The method of claim 5, wherein the step of obtaining the selected XML page includes identifying the selected XML page based on an identifier supplied by the first HTML request.
-
7. The method of claim 6, wherein the step of generating the first page includes:
-
accessing a second XML page, that specifies the state of the user browser relative to the prescribed user session, based on a second identifier within the first HTML request;
determining the state of the user browser by parsing the second XML page; and
identifying the first page to be generated in response to logic specified within the selected XML page and based on the determined state of the user browser.
-
-
8. The method of claim 7, wherein the step of generating the first page further includes:
-
accessing a third XML page that specifies generation of the first page, in response to identification of the first page using the logic specified within the selected XML page; and
dynamically generating the first page by runtime execution of the third XML page.
-
-
9. The method of claim 7, further comprising:
-
updating the state specified in the second XML page based on the dynamically generated first page; and
storing the updated second XML page.
-
-
10. The method of claim 7, wherein the identifying step includes:
-
accessing from the XML document database a third XML page specified by the logic;
initiating a function call, specified by the third XML page, to a remote resource according to Internet Protocol (IP);
receiving results of the function call from the remote resource; and
determining the identification of the first page based on the received results and according to the logic specified in the selected XML page.
-
-
11. The method of claim 1, wherein the generating step includes dynamically generating the first page in response to user interface generation parameters specified in the selected page, the first page including at least one of a first HTML tag specifying information to be displayed by the user browser, a second HTML tag specifying an input to be submitted by the user browser, and an XML tag configured for specifying an audio operation to be executed by the user browser.
-
12. The method of claim 11, wherein the dynamically generating step includes generating the XML tag for specifying a record operation for the user browser.
-
13. The method of claim 11, wherein the dynamically generating step includes generating the XML tag for specifying a playback operation of a prescribed audio file by user browser.
-
14. The method of claim 1, wherein the generating step includes executing logic specified by the selected XML page and based on the first HTML request.
-
15. The method of claim 14, wherein the generating step includes:
-
accessing and executing a first XML page in response to detecting prescribed information in the first HTML request and based on the logic specified by the selected XML page; and
accessing and executing a second XML page in response to one of a determined absence of the prescribed information and a detection of second prescribed information in the first HTML request and based on the logic specified by the selected XML page, wherein execution of one of the first and second XML pages provides a corresponding voice application content for the first page.
-
-
16. The method of claim 1, wherein the generating step includes:
-
initiating a function call, specified by the selected XML page, to an external resource according to Internet protocol (IP);
receiving results of the function call from the external resource; and
dynamically generating the first page based on the received results from the external resource.
-
-
17. The method of claim 16, wherein the initiating step includes the function call according to one of Lightweight Directory Access Protocol (LDAP), Internet Message Access Protocol (IMAP), and Simple Mail Transfer Protocol (SMTP).
-
18. The method of claim 1, wherein each of the receiving, accessing, and generating steps are executed by the server.
-
19. A server system configured for executing voice web applications, the system including:
-
an extensible markup language (XML) database configured for storing a plurality of XML documents, each XML document specifying at least one executable voice web application parameter; and
an executable resource configured for runtime execution of the XML documents, the executable resource including an XML parser configured for parsing at least a first of the XML documents selected based on a received hypertext markup language (HTML) request from the user browser across a hypertext transport protocol (HTTP) connection, the executable resource having an application instance configured for dynamically generating an HTML response to the HTML request that includes voice application content, based on the corresponding executable voice web application parameter parsed from the first XML document and a determined application state of the user browser relative to a prescribed user session;
wherein the application instance is terminated based on the HTML response having been output to the user browser. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A computer readable medium having stored thereon sequences of instructions for executing web applications by a server, the sequences of instructions including instructions for performing the steps of:
-
receiving a first hypertext markup language (HTML) request, generated by a user browser, for a first page for transport to the user browser via a Hypertext Transport Protocol (HTTP) connection;
accessing a selected extensible markup language (XML) page in response to reception of the first HTML request;
generating by an application instance executed by the server the first page based on runtime execution of the selected XML page by the application instance and a determined state of the user browser relative to a prescribed user session, the generating step including supplying voice application control content within the first page for execution by the user browser; and
terminating the application instance based on the first page having been output to the user browser via the HTTP connection. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
accessing a second XML page, having XML tags that specify establishment of a connection, in response to a connection request from a web server;
establishing the connection with the web server based on the runtime execution of the second XML page; and
receiving the first HTML request via the connection with the web server.
-
-
28. The medium of claim 27, wherein the step of establishing the connection includes establishing a connection using an open source executable connection resource.
-
29. The medium of claim 28, wherein the accessing step includes obtaining the second XML page from an XML document database configured for storing a plurality of XML pages.
-
30. The medium of claim 26, wherein the accessing step includes obtaining the selected XML page from an XML document database configured for storing a plurality of XML pages.
-
31. The medium of claim 30, wherein the step of obtaining the selected XML page includes identifying the selected XML page based on an identifier supplied by the first HTML request.
-
32. The medium of claim 31, wherein the step of generating the first page includes:
-
accessing a second XML page, that specifies the state of the user browser relative to the prescribed user session, based on a second identifier within the first HTML request;
determining the state of the user browser by parsing the second XML page; and
identifying the first page to be generated in response to logic specified within the selected XML page and based on the determined state of the user browser.
-
-
33. The medium of claim 32, wherein the step of generating the first page further includes:
-
accessing a third XML page that specifies generation of the first page, in response to identification of the first page using the logic specified within the selected XML page; and
dynamically generating the first page by runtime execution of the third XML page.
-
-
34. The medium of claim 32, further comprising instructions for performing the steps of:
-
updating the state specified in the second XML page based on the dynamically generated first page; and
storing the updated second XML page.
-
-
35. The medium of claim 32, wherein the identifying step includes:
-
accessing from the XML document database a third XML page specified by the logic;
initiating a function call, specified by the third XML page, to a remote resource according to Internet Protocol (IP);
receiving results of the function call from the remote resource; and
determining the identification of the first page based on the received results and according to the logic specified in the selected XML page.
-
-
36. The medium of claim 26, wherein the generating step includes dynamically generating the first page in response to user interface generation parameters specified in the selected page, the first page including at least one of a first HTML tag specifying information to be displayed by the user browser, a second HTML tag specifying an input to be submitted by the user browser, and an XML tag configured for specifying an audio operation to be executed by the user browser.
-
37. The medium of claim 36, wherein the dynamically generating step includes generating the XML tag for specifying a record operation for the user browser.
-
38. The medium of claim 36, wherein the dynamically generating step includes generating the XML tag for specifying a playback operation of a prescribed audio file by user browser.
-
39. The medium of claim 26, wherein the generating step includes executing logic specified by the selected XML page and based on the first HTML request.
-
40. The medium of claim 39, wherein the generating step includes:
-
accessing and executing a first XML page in response to detecting prescribed information in the first HTML request and based on the logic specified by the selected XML page; and
accessing and executing a second XML page in response to one of a determined absence of the prescribed information and a detection of second prescribed information in the first HTML request and based on the logic specified by the selected XML page, wherein execution of one of the first and second XML pages provides a corresponding voice application content for the first page.
-
-
41. The medium of claim 26, wherein the generating step includes:
-
initiating a function call, specified by the selected XML page, to an external resource according to Internet protocol (IP);
receiving results of the function call from the external resource; and
dynamically generating the first page based on the received results from the external resource.
-
-
42. The medium of claim 41, wherein the initiating step includes the function call according to one of Lightweight Directory Access Protocol (LDAP), Internet Message Access Protocol (IMAP), and Simple Mail Transfer Protocol (SMTP).
-
43. The medium of claim 26, wherein each of the receiving, accessing, and generating steps are executed by the server.
Specification