Method and apparatus for communicating information between a browser and an application program
First Claim
1. A method of activating a function of a browser, comprising the computer-implemented steps of:
- receiving, at the browser, a request from a separate application program to invoke the function of the browser, wherein receiving the request comprises;
receiving, at the browser, the request from the separate application program to invoke the function of the browser, wherein the request conforms to the format“
hyperaction;
//<
Application Action>
#<
Payload>
”
wherein “
hyperaction”
identifies a hyperaction protocol, “
Application Action”
identifies the function of the browser, and “
Payload”
comprises one or more data identifiers that specify data for use by the browser in carrying out the function;
requesting the application program to provide one or more values needed to carry out the requested function;
receiving one or more values from the application program; and
executing the function using the received values;
wherein all preceding steps are performed at the browser.
0 Assignments
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.
20 Citations
32 Claims
-
1. A method of activating a function of a browser, comprising the computer-implemented steps of:
-
receiving, at the browser, a request from a separate application program to invoke the function of the browser, wherein receiving the request comprises; receiving, at the browser, the request from the separate application program to invoke the function of the browser, wherein the request conforms to the format “
hyperaction;
//<
Application Action>
#<
Payload>
”wherein “
hyperaction”
identifies a hyperaction protocol, “
Application Action”
identifies the function of the browser, and “
Payload”
comprises one or more data identifiers that specify data for use by the browser in carrying out the function;requesting the application program to provide one or more values needed to carry out the requested function; receiving one or more values from the application program; and executing the function using the received values; wherein all preceding steps are performed at the browser. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium storing one or more sequences of instructions for activating a function of a browser, 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 browser, a request from a separate application program to invoke the function of the browser, wherein receiving the request comprises; receiving, at the browser, the request from the separate application program to invoke the function of the browser, wherein the request conforms to the format “
hyperaction;
//<
Application Action>
#<
Payload>
”wherein “
hyperaction”
identifies a hyperaction protocol, “
Application Action”
identifies the function of the browser, and “
Payload”
comprises one or more data identifiers that specify data for use by the browser in carrying out the function;requesting the application program to provide one or more values needed to carry out the requested function; receiving one or more values from the application program; and executing the function using the received values; wherein all preceding steps are performed at the browser. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A method of an application program carrying out a function thereof upon request by a separate client, comprising the computer-implemented steps of:
-
receiving, at the application program, a message including a request from a separate client to invoke a program action by the application program, the program action being identified in the request; wherein the request included in the message 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;wherein the function of the application program to invoke is based on the program action identified in the request and is determined at the separate client; wherein the request in the message requests the application program to carry out the function using a label for the function that is meaningful to the application program; sending result information from the application program to the separate client as a result of the application program carrying out the requested function; wherein the result information is for use at the separate client. - View Dependent Claims (24, 25)
-
-
26. 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:
-
sending, to the separate client, a request to invoke a program action, the program action being identified in the request, wherein the step of sending the request includes at least the step of sending information to a browser at the separate client, sufficient to identify the request to carry out the function of the application program, wherein the request 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;receiving, at the application program, a message including the request from the separate client to invoke a program action by the application program, the program action being identified in the request; wherein the function of the application program to invoke is based on the program action identified in the request, and determined at the separate client; wherein the request in the message requests the application program to carry out the function using a label for the function of the application program; wherein the function of the application program to invoke is determinable by the separate client based on the program action identified in the request; sending result information from the application program to the separate client as a result of the application program carrying out the requested function; wherein the result information is for use at the separate client. - View Dependent Claims (27, 28)
-
-
29. A computer-readable storage medium storing 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 application program, a message including a request from the separate client to invoke a program action by the application program, the program action being identified in the request; wherein the request included in the message 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;wherein the function of the application program to invoke is based on the program action identified in the request and is determined at the separate client; wherein the request in the message requests the application program to carry out the function using a label for the function that is meaningful to the application program; sending result information from the application program to the separate client as a result of the application program carrying out the requested function; wherein the result information is for use at the separate client. - View Dependent Claims (30, 31)
-
-
32. A system comprising:
-
a server executed by one or more processors; a client operable to communicative connect to the server wherein the client is executed by a second one or more processors; an application program associated with the server; a set of one or more hyperaction programs that are associated with the application program available for being called by the client; and a mechanism for registering the hyperaction programs within the client, wherein the mechanism is associated with the application program, and wherein the registering creates a mapping between the hyperaction programs and an action list residing at the client; and wherein the client is operable to send, and the application program is operable to receive, a message including a request to invoke a hyperaction program from the set of one or more hyperaction programs, wherein the request substantially conforms to the format “
hyperaction;
//<
Application Action>
#<
Payload>
”wherein “
hyperaction”
identifies a hyperaction protocol, “
Application Action”
identifies the hyperaction program associated with the application program, and “
Payload”
comprises one or more data identifiers that specify data for use by the application program in carrying out the hyperaction program.
-
Specification