IP Library Granted Patent US 7,921,415
Granted Patent B1
US 7,921,415 · App. 11/419,473 · Granted Apr 5, 2011

Externally loaded browser interpreter for non-native language support

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,921,415
App. No.
11/419,473
Granted
Apr 5, 2011
Kind
B1
Abstract

An interpreter program is described that may be loaded from an external resource when needed by a host. In one implementation, the interpreter program is written in a first language and is capable of interpreting a second language. A program, written in the second language, is provided as data to the interpreter program. The interpreter program may then execute the program.

Claims (49)

1. A method performed at a computing device, the method comprising:

loading from an external computing resource, an interpreter program written in a language natively supported by the computing device able to execute a voice browser,

the interpreter program being designed to interpret a second program language that is not natively supported by the voice browser on the computing device;

loading a second program written in the second program language; and

executing the second program, by the voice browser, using the interpreter program.

2. The method of claim 1 , wherein the interpreter program is loaded in response to a statement in a document being parsed.

3. The method of claim 2 further comprising, loading the second program in response to a second statement in the document being processed.

4. The method of claim 1 , wherein loading of the second program additionally includes loading the second program as XML data.

5. The method of claim 4 , wherein the XML data is loaded based on a <data> tag or via an AJAX request.

6. The method of claim 1 , wherein the second language is an XML-based language.

7. The method of claim 1 , wherein the second language is SCXML (State Chart XML).

8. The method of claim 1 , wherein the hest computing device includes an HTML browser or a voice browser.

9. The method of claim 1 , wherein the interpreter program is written in one of JavaScript, JScript, or VBScript.

10. A method comprising:

transmitting an interpreter program to a voice browser executing on a host computing device, the interpreter program being written in a programming language natively supported by the voice browser and designed to interpret a programming language that is not natively supported by the browser;

wherein, the interpreter program is transmitted to the host computing device from another device external to the host computing device.

11. The method of claim 10 , further comprising:

transmitting a second program to the browser as input data to the interpreter program.

12. The method of claim 11 , wherein transmitting the second program is performed in response to a second request from the browser.

13. The method of claim 11 , wherein the input data is XML data.

14. The method of claim 11 , wherein the second program is written in an XML-based language.

15. The method of claim 14 , wherein transmitting the interpreter program and the second program to the browser is performed over a wide area network.

16. The method of claim 10 , wherein transmitting the interpreter program is performed in response to a request from the browser.

17. A method performed by a voice server, the method, comprising:

providing, by the voice server, to a computing device over a network, an interpreter program written in a first language and capable of interpreting a second language;

providing, by the voice server, to the computing device, a program written in the second language, the program being provided as data for the interpreter program; and

executing the program, at the computing device, with the interpreter program.

18. The method of claim 17 , wherein the program written in the second language is provided as XML data.

19. The method of claim 17 , further comprising, providing the interpreter program to the computing device over the network from an external computing resource.

20. The method of claim 17 , wherein the second language is SCXML (State Chart XML).

21. The method of claim 17 , wherein the computing device includes a voice browser.

22. The method of claim 17 , wherein the computing device includes an HTML browser.

23. A computer-readable medium having stored thereon instructions for execution by a computing device, the instructions, which when executed, cause a method to be performed at the computing device, the method comprising:

loading from a voice server, an interpreter program written in a language natively supported by a voice browser on the computing device, in response to a statement in a document being parsed;

the interpreter program being designed to interpret a second program language that is not natively supported by the voice browser on the computing device;

loading from the voice server, a second program written in the second program language at the voice browser;

executing, at the voice browser, the second program using the interpreter program;

wherein the second language is an XML-based language.

24. The method of claim 23 , wherein the computing device includes a voice browser.

25. The method of claim 23 , wherein the computing device includes an HTML browser.

26. A method performed at a computing device to execute an application written in a program language that is not natively supported by a voice browser, the method comprising:

parsing a VXML document by the voice browser;

detecting a statement in the VXML document referencing an interpreter program;

receiving, at the voice browser, an interpreter program which interprets the program language that is not natively supported by the voice browser;

loading a program written in the program language for execution at the voice browser.

27. The method of claim 26 , wherein the interpreter program includes an SCXML interpreter and the program includes SCXML application, which is not natively supported by the voice browser.

28. The method of claim 27 , further comprising, using the SCXML interpreter to natively execute the SXML application at the voice browser.

29. The method of claim 26 , wherein the interpreter program is received over a network from an external source.

30. The method of claim 26 , wherein the program language is an XML-based language.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2012
From: TELLME NETWORKS, INC.
To: MICROSOFT CORPORATION
Reel/Frame 027910/0585 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2006
From: BODELL, MICHAEL WILLIAM; OSHRY, MATTHEW D.; PORTER, BRANDON WILLIAM
To: TELLME NETWORKS, INC.
Reel/Frame 018142/0898 →