Virtual modem driver apparatus and method
First Claim
1. A method of connecting a plurality of communication applications with an actual communication port connected to a single modem, wherein each communication application communicates with the actual communication port using an AT command set protocol, the method comprising the steps of:
- (a) emulating a plurality of virtual modems in a computer memory location, each of said plurality of virtual modems for communicating with one of the plurality of communication applications;
(b) controlling said plurality of virtual modems to connect only one of the plurality of communication applications to the actual communication port at any given time;
(c) receiving and retransmitting to the actual modem AT command set-compatible initialization signals received at each of said plurality of virtual modems in order to establish proper transmission and receipt of information through each of said plurality of virtual modems to the actual modem; and
(d) responding to AT command set-compatible communication signals received from each of the communication applications which are not connected to the actual communication port with appropriate modem responses to the communication signals to maintain communication with each of the non-connected communication applications such that each non-connected communication application operates as if the non-connected communication application is connected to the actual communication port.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for a virtual modem device for connecting to a plurality of active communication applications in an environment wherein communication applications utilize a communications driver when talking to an actual modem attached to the system. The virtual modem device selectively connects the communication applications to an actual modem, handles and connects incoming calls to the appropriate communication application, and provides for direct connection capability. The invention utilizes a software communications driver and a master communications application to control the driver connectivity to fool each communication application that it is connected to the actual modem. The virtual modem is implemented by creating a communications driver in software that emulates a modem in idle mode (e.g., when it is not off-hook and in command mode)and is utilized for each communication application that is connected to a communication port designated as a virtual modem.
58 Citations
34 Claims
-
1. A method of connecting a plurality of communication applications with an actual communication port connected to a single modem, wherein each communication application communicates with the actual communication port using an AT command set protocol, the method comprising the steps of:
-
(a) emulating a plurality of virtual modems in a computer memory location, each of said plurality of virtual modems for communicating with one of the plurality of communication applications; (b) controlling said plurality of virtual modems to connect only one of the plurality of communication applications to the actual communication port at any given time; (c) receiving and retransmitting to the actual modem AT command set-compatible initialization signals received at each of said plurality of virtual modems in order to establish proper transmission and receipt of information through each of said plurality of virtual modems to the actual modem; and (d) responding to AT command set-compatible communication signals received from each of the communication applications which are not connected to the actual communication port with appropriate modem responses to the communication signals to maintain communication with each of the non-connected communication applications such that each non-connected communication application operates as if the non-connected communication application is connected to the actual communication port. - View Dependent Claims (2, 3, 4, 5, 15, 16)
-
-
6. An apparatus for implementing a virtual modem in a computer environment in which a plurality of communication applications utilize a communication driver when talking to an actual modem connected to the computer, wherein each communication application communicates with the actual modem using an AT command set protocol, the apparatus comprising:
-
(a) memory means for storing a driver program for emulating a plurality of virtual modems, each of said plurality of virtual modems for communicating with one of the plurality of communication applications; (b) means for controlling said plurality of virtual modems to connect only one of the plurality of communication applications to the actual modem at any given time; (c) means for receiving AT command set-compatible initialization information from the plurality of communication applications and transmitting the received initialization information to the actual modem, whereby the actual modem is properly initialized to establish communication; and (d) means for responding to AT command set-compatible communication signals received from each of the communication applications which are not connected to the actual modem with appropriate modem responses to the communication signals to maintain communication with each of the non-connected communication applications such that each non-connected communication application operates as if the non-connected communication application is connected to the actual communication port. - View Dependent Claims (7, 8, 9)
-
-
10. An apparatus for implementing a virtual modem in a computer environment in which a plurality of communication applications utilize a communications driver when talking to an actual modem connected to the computer, comprising:
-
(a) a memory device for storing a driver program for emulating a plurality of virtual modems and for storing buffers associated with said virtual modems, each of said plurality of virtual modems for communicating with one of the plurality of communication applications; and (b) a processor device for selectively directing information, which is transmitted between the actual modem and a selected communication application, to said buffer associated with said virtual modem which is connected to the selected communication application, and for maintaining communication with each non-selected communication application by returning appropriate modem responses to communication signals received from each non-selected communication application, wherein each non-selected communication application is a communication application in the plurality of communication applications which is not the selected communication application, and wherein each non-selected communication application operates as if the non-selected communication application is connected to the actual modem. - View Dependent Claims (11, 12, 13, 14)
-
-
17. A method of connecting a plurality of communication applications with an actual communication port connected to a single modem, comprising the steps of:
-
(a) emulating a plurality of virtual modems; (b) mapping each communication application to one of said plurality of virtual modems;
whereby each communication application is associated with a respective virtual modem;(c) selectively connecting only one of said virtual modems at any given time to the actual communication port, to establish communication between the actual communication port and a selected communication application corresponding to said one of said virtual modems, while maintaining communication between non-selected communication applications and said respective virtual modems by returning appropriate modem responses to communication signals received from the non-selected communication applications, wherein each non-selected communication application is a communication application in the plurality of communication applications which is not the selected communication application, and wherein each non-selected communication application operates as if the non-selected communication application is connected to the actual communication port. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A communications driver implemented in a computer for permitting a plurality of communication applications to share an communication port connected to a single modem, the driver comprising:
-
(a) a plurality of software-implemented virtual modems, wherein each virtual modem communicates with an associated one of the plurality of communication applications; and (b) means for selectively connecting only one of said virtual modems at any given time to the actual communication port, to establish communication between the actual communication port and a selected communication application corresponding to said one of said virtual modems, while maintaining communication between each non-selected communication application and said virtual modem associated with the non-selected communication application by returning appropriate modem responses to communication signals received from the non-selected communication applications, wherein each non-selected communication application is a communication application in the plurality of communication applications which is not the selected communication application, and wherein each non-selected communication application operates as if the non-selected communication application is connected to the actual communication port. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. A method of connecting a plurality of communication applications with an actual communication port connected to a single modem, comprising the steps of:
-
(a) emulating a plurality of virtual modems in a computer memory location, each of said plurality of virtual modems for communicating with one of the plurality of communication applications; (b) controlling said plurality of virtual modems to connect only one of the plurality of communication applications to the actual communication port at any given time; (c) receiving and retransmitting to the actual modem initialization signals received at each of said plurality of virtual modems in order to establish proper transmission and receipt of information through each of said plurality of virtual modems to the actual modem; (d) responding to communication signals received from each of the communication applications which are not connected to the actual communication port to maintain communication with each of the non-connected communication applications; and (e) in response to an incoming call received at the actual communication port; (1) determining an appropriate one of the communication applications to handle the incoming call; (2) connecting the appropriate communication application to the actual communication port; and (3) transmitting an incoming call signal to the appropriate communication application to emulate an incoming call such that the appropriate communication application handles the incoming call.
-
Specification