Method and apparatus for communicating information between a browser and an application program
First Claim
1. A method of causing an application program to carry out a function thereof upon request by a separate client, comprising the computer-implemented steps of:
- receiving, at the client, a request to invoke a program action by the application program, the program action being identified in the request;
determining the function of the application program to invoke based on the program action identified in the request;
communicating a message to the application program that requests the application program to carry out the function using a label for the function that is meaningful to the application program;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for communicating information and carrying out other interactions between a browser and an application program. A hyperaction protocol is defined that enables a browser to directly call functions of an application program executed by a separate server over a public network. In one embodiment, in the course of parsing and displaying an HTML document or other HTML source text, a browser encounters or receives a hyperaction request of the form “hyperaction://<ApplicationAction>#<Payload>.” In response, the browser identifies a function or other action of a separate application. The browser calls that function of the application over the network and provides the payload. When a response is received, the browser extracts data values or function results provided by the application. As a result, a browser can directly interact with an application without using scripts or other awkward mechanisms of existing protocols.
49 Citations
9 Claims
-
1. A method of causing an application program to carry out a function thereof upon request by a separate client, comprising the computer-implemented steps of:
-
receiving, at the client, a request to invoke a program action by the application program, the program action being identified in the request;
determining the function of the application program to invoke based on the program action identified in the request;
communicating a message to the application program that requests the application program to carry out the function using a label for the function that is meaningful to the application program;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client. - View Dependent Claims (2, 3)
-
-
4. A method of causing an application program to carry out a function thereof upon request by a separate client, comprising the computer-implemented steps of:
-
receiving, at the client, a request to invoke a program action that is identified in the request;
determining the function of the application program to invoke based on the program action identified in the request, wherein the step of determining includes at least the step of mapping an identifier of the action in the request to a name of the action that is used by the application program;
communicating a message to the application program that requests the application program to carry out the function;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
-
-
5. A method of causing an application program to carry out a function thereof upon request by a separate client, comprising the computer-implemented steps of:
-
receiving, at the client, a request to invoke a program action, the program action being identified in the request, wherein the step of receiving a request includes at least the step of identifying, at the browser, a request to carry out the function of the application program, wherein the request substantially conforms to the format “
hyperaction;
//<
Application Action>
#<
Payload>wherein “
hyperaction”
identifies a hyperaction protocol, “
Application Action”
identifies the function of the application program, and “
Payload”
comprises one or more data identifiers that specify data for use by the application program in carrying out the function;
determining the function of the application program to invoke based on the program action identified in the request;
communicating a message to the application program that requests the application program to carry out the function;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
-
-
6. A method of causing an application program to carry out a function thereof upon request by a separate client, comprising computer-implemented steps of:
-
receiving, at the client, a request to invoke a program action that is identified in the request;
determining the function of the application program to invoke based on the program action identified in the request, wherein the step of determining includes at least mapping the program action that is identified to the request to the function by looking up the program action in an action list that is stored at the client in association with the browser;
communicating a message to the application program -that requests the application program to carry out the function;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
-
-
7. A method of causing an application program to carry out a function thereof upon request by a separate client, comprising computer-implemented steps of:
-
receiving function information that describes available functions of the application program;
registering the function information in association with one or more function identifiers in an action list that is stored at the client in association with a browser;
receiving, at the client, a request to invoke a program action that is identified in the request;
determining the function of the application program to invoke based on the program action identified in the request;
communicating a message to the application program that requests the application program to carry out the function;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
-
-
8. A computer-readable medium carrying one or more sequences of instructions for causing an application program to carry out a function thereof upon request by a separate client, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving, at the client, a request to invoke a program action by the application program, the program action being identified in the request;
determining the function of the application program to invoke based on the program action identified in the request;
communicating a message to the application program that requests the application program to carry out the function using a label for the function that is meaningful to the application program;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
-
-
9. A carrier wave communicated over a network and carrying one or more sequences of instructions for causing an application program to carry out a function thereof upon request by a separate client, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving, at the client, a request to invoke a program action by the application program, the program action being identified in the request;
determining the function of the application program to invoke based on the program action identified in the request;
communicating a message to the application program that requests the application program to carry out the function using a label for the function that is meaningful to the application program;
receiving result information from the application program as a result of the application program carrying out the requested function;
using the result information at the client.
-
Specification