Method for switching protocols transparently in multi-user applications
First Claim
1. A method for switching communication protocols between a client computer and remote computers, the method comprising:
- establishing a first connection with a first remote computer according to a first communication protocol;
in a first process executing on the client computer, receiving a connectivity address from the first remote computer via the first connection, wherein the connectivity address provides address information to establish a second connection with a second remote computer; and
using the connectivity address to establish the second connection with the second remote computer automatically and without prompting a user for the address information, where the second connection employs a second communication protocol and the second communication protocol is different than the first communication protocol;
wherein the first process comprises a first application programming interface program executing on the client computer, and wherein the first application programming interface program establishes the second connection by terminating a first service provider program that implements the first communication protocol and launching a second service provider program that implements the second communication protocol;
wherein the first application programming interface program is responsive to application programs executing on the client computer to receive device independent function calls to send and receive messages to the remote computers, where the device independent function calls are independent of the device and communication protocols used to send the messages; and
wherein the first application programming interface program establishes the second connection in response to a first message sent by a second application programming interface program executing on the first remote computer, wherein the first message includes the connectivity address, and wherein the connectivity address includes a service provider identifier of the second service provider program and a telephone number or network address.
2 Assignments
0 Petitions
Accused Products
Abstract
An application programming interface implements a method for transparently switching from one communication protocol to another and for restoring the state of a previous connection. The application programming interface executes on a local, client computer, as well as remote computers. It includes functions that multi-user application programs can call to communicate in a device independent manner with other applications executing on remote computers. To support communication on a variety of different computer communication protocols, the application programming interface accesses programs called service providers that implement the communication protocols and support the message passing model of the interface. The application programming interface can transparently switch the protocol on a remote computer by sending a system message to a compatible version of the interface on the remote computer that includes an identifier of the service provider for the new protocol. In response to the message, the application programming interface loads the new service provider and takes steps to set-up a new connection. The application programming interface can also restore the state of previous connection on a remote computer by sending a system message. In response to this message, the application programming interface on the remote computer retrieves the previous connection state from an MRU stack and loads the service provider for the previous connection.
-
Citations
13 Claims
-
1. A method for switching communication protocols between a client computer and remote computers, the method comprising:
-
establishing a first connection with a first remote computer according to a first communication protocol;
in a first process executing on the client computer, receiving a connectivity address from the first remote computer via the first connection, wherein the connectivity address provides address information to establish a second connection with a second remote computer; and
using the connectivity address to establish the second connection with the second remote computer automatically and without prompting a user for the address information, where the second connection employs a second communication protocol and the second communication protocol is different than the first communication protocol;
wherein the first process comprises a first application programming interface program executing on the client computer, and wherein the first application programming interface program establishes the second connection by terminating a first service provider program that implements the first communication protocol and launching a second service provider program that implements the second communication protocol;
wherein the first application programming interface program is responsive to application programs executing on the client computer to receive device independent function calls to send and receive messages to the remote computers, where the device independent function calls are independent of the device and communication protocols used to send the messages; and
wherein the first application programming interface program establishes the second connection in response to a first message sent by a second application programming interface program executing on the first remote computer, wherein the first message includes the connectivity address, and wherein the connectivity address includes a service provider identifier of the second service provider program and a telephone number or network address. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a first server computer system, a programming interface layer between a server application program and a communication protocol program for a communication connection that follows a communication protocol, wherein the communication protocol is a set of hardware and software standards regulating transfer of data, the programming interface layer for remotely causing a client computer system to switch communication connections of the client computer system, the programming interface layer comprising:
-
a remote connection function for receiving a connectivity address from a first server application program of the first server computer system, wherein the connectivity address relates to a future communication connection of the client computer system, the future communication connection for communication between a client application program of the client computer system and a second server application program of a second server computer system; and
code for sending a message including the connectivity address to the client computer system over a current communication connection between the client computer system and the first server computer system, the current communication connection following a first communication protocol, wherein the connectivity address supplies the client computer system with information to establish the future communication connection automatically, the future communication connection to follow a second communication protocol that is different than the first communication protocol. - View Dependent Claims (7)
a first pointer to an identifier relating to the second communication protocol;
a second pointer to address data for the communication between the client application program and the second server application program; and
size data for the address data.
-
-
8. A method for remotely causing a client computer to switch communication connections of the client computer, wherein a communication connection follows a communication protocol that is a set of hardware and software standards regulating transfer of data, the method comprising:
-
in a first remote computer, creating a message for a first server application of the first remote computer, wherein the message relates to restoration of a prior communication connection of the client computer, the prior communication connection for prior communication between a client application of the client computer and a second server application of a second remote computer; and
sending the message to the client computer over a current communication connection between the client computer and the first remote computer, the current communication connection following a first communication protocol, wherein the message indicates to the client computer to restore the prior communication connection based upon prior communication connection information stored by the client computer, the prior communication connection information supplying the client computer with information to restore the prior communication connection without prompting a user for additional information, the prior communication connection to follow a second communication protocol that is different than the first coummncation protocol. - View Dependent Claims (9)
-
-
10. In a first server computer system, a programming interface layer between a server application program and a communication protocol program for a communication connection that follows a communication protocol, wherein the communication protocol is a set of hardware and software standards regulating transfer of data, the proramming interface layer for remotely causing a client computer system to switch communication connections of the client computer system, the programming interface layer comprising:
-
a restore connection function for responding to a call from a first server application program of the first server computer system by creating a message, wherein the message relates to restoration of a prior communication connection of the client computer system, the prior communication connection for prior communication between a client application program of the client computer system and a second server application program of a second server computer system; and
code for sending the message to the client computer system over a current communication connection between the client computer system and the first server computer system, the current communication connection following a first communication protocol, wherein the message indicates to the client computer system to restore the prior communication connection based upon prior communication connection information stored by the client computer system, the prior communication connection information supplying the client computer system with information to restore the prior communication connection automatically, the prior communication connection to follow a second communication protocol that is different than the first communication protocol. - View Dependent Claims (11)
an identifier relating to the second communication protocol; and
address data for the prior communication between the client application program and the second server application program.
-
-
12. In a computer system, a programming interface layer between an application program and a communication protocol program, the programming interface layer including functions for use by any of plural different application programs, wherein the programming interface layer coordinates switching of communication connections that follow any of plural different communication protocols, the programming interface layer comprising:
-
a receive function for retrieving an incoming message from a message queue;
a send function for sending an outgoing message; and
code operable to switch from a first communication connection to a second communication connection in response to retrieval of a first message that includes a connectivity address, the first communication connection following a first communication protocol, the second communication connection to follow a second communication protocol that is different than the first communication protocol, wherein the connectivity address supplies a computer system with information about the second communication connection so as to facilitate automatic switching to the second communication connection. - View Dependent Claims (13)
code operable to store first communication connection information; and
code operable to restore the first communication connection based upon the stored first communication connection information in response to retrieval of a second message.
-
Specification