GB2348088A - Radio modems - Google Patents

Radio modems Download PDF

Info

Publication number
GB2348088A
GB2348088A GB9905922A GB9905922A GB2348088A GB 2348088 A GB2348088 A GB 2348088A GB 9905922 A GB9905922 A GB 9905922A GB 9905922 A GB9905922 A GB 9905922A GB 2348088 A GB2348088 A GB 2348088A
Authority
GB
United Kingdom
Prior art keywords
modem
data
interface means
application
data stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB9905922A
Other versions
GB9905922D0 (en
Inventor
Richard Jarvis
Ian Harris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vodafone Mobile Commerce Ltd
Original Assignee
Vodafone Value Added and Data Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vodafone Value Added and Data Services Ltd filed Critical Vodafone Value Added and Data Services Ltd
Priority to GB9905922A priority Critical patent/GB2348088A/en
Publication of GB9905922D0 publication Critical patent/GB9905922D0/en
Publication of GB2348088A publication Critical patent/GB2348088A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6402Hybrid switching fabrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

Communication apparatus for transmitting and receiving data over a cellular radio network comprising processing means (4) operable to execute one or more process (10-1, 10-2, 10-3, 10-n), a data transceiver or modem (6) operable to receive a signal transmitted over the network, to decode the received signal to produce an incoming data stream, to receive data in the form of an outgoing data stream, to encode the outgoing data stream into a form suitable for onward transmission over the network and to cause its onward transmission, and interface means (8) including an application database (10) which stores predetermined details of the or each process (10-1, 10-2, 10-3, 10-n), and which is arranged to intercept modem control signals generated by a process executing on the processing means (4), to react to the intercepted modem control signals with a range of responses which would be expected from a modem connected to the process, to generate control signals for reception by a process executing on the processing means which are equivalent to the control signals which would be generated by a modem connected to the process, to receive data from the process in a format which would be accepted by a modem connected to the process, to generate the outgoing data stream from the data received from the process, to receive the incoming data stream and to send data contained in the incoming data stream to the process in a format which is equivalent to a format which would be used by a modem connected to the process. The interface (8) allows sharing of the modem (6) amongst a plurality of applications.

Description

COMMUNICATION APPARATUS AND METHODS This invention relates to communication apparats and methods for transmitting and receiving data over a cellular radio telephone network.
According to a first aspect of the invention there is provided communication apparats for transmitting and receiving data over a cellular radio telephone network comprising : processing means operable to execute one or more process ; a data transceiver operable to receive a signal transmitted over the network, to decode the received signal to produce an incoming data stream, to receive data in the form of an outgoing data stream, to encode the outgoing data stream into a form suitable for onward transmission over the network and to cause its onward transmission, and interface means including an application database which stores predetermined details of the or each process, and which is arrange to intercept modem control signals generated by a process executing on the processing means, to react to the intercepted modem control signals with a range of responses which would be expected from a modem connecte to the process, to generate control signals for reception by a process executing on the processing means which are equivalent to the control signals which would be generated by a modem connecte to the process, to receive data from the process in a format which would be accepte by a modem connecte to the process, to generate the outgoing data stream from the data received from the process, to receive the incoming data stream and to send data contained in the incoming data stream to the process in a format which is equivalent to a format which would be used by a modem connecte to the process.
According to a second aspect, there is provided a method of transmitting and receiving data over a cellular radio telephone network using communication apparats which inclues processing means, a data transceiver and interface means, the method comprising the steps of operating the data transceiver to receive a signal transmitted over the network, decoding the received signal to produce an incoming data stream, notifying a process executing on the processing means of the reception of the received signal using control signals equivalent to control signals which would be used by a modem connecte to the process, sending data contained in the incoming data stream to the notifie process ; encoding data received from a process executing on the processing means to form an outgoing data stream, arranging for transmission of the outgoing data stream via the data transceiver over the cellular radio network and responding to modem control signals issued by the process in order to originate a call over the cellular radio network to permit onward transmission of the outgoing data stream.
Embodiments of communication apparats in accordance with the invention will now be described by way of example, with reference to the drawings in which : Figure 1 is a schematic block diagram of communication apparats in accordance with the invention ; Figure 2 is a flow chart showing how the interface means responds to a request to open a port ; and Figure 3 is a transition diagram for three possible states of a process.
With reference to Figure 1, a laptop computer 2, such as an IBM PC compatible computer, inclues processing means 4, a modem 6 and interface means 8. In addition to these components, the computer 2 inclues other components (not shown) such as memory, IO ports and a power supply which are necessary to produce a usable computer.
As is usual, processing means 4 is arrange to execute a plurality of software applications (or processes) 10-1, 10-2, 10-3, 10-n. The processors may, for example, be an operating system, an e-mail or fax program for transmitting and receiving e-mail or fax messages respectively or a remote data recorder which is periodically required to upload data to a remote host via the modem 6. As drawn in Figure 1, each of the processes periodically requires access to the modem 6 for the reception and/or transmission of data, via ports COMA, COMB, COMC, COMn and COMX.
The interface means 8 is implemented as another process which is executed by the processing means 4. The interface means inclues an application database 10 which stores information about each respective process 10-1, 10-2, 10-3, 10-n and a system database 12 which stores information about the modem 6. The detailed operation of the interface means 8 is described below.
The modem 6 typically is a mobile modem for use with a cellular radio network such as GSM. In the context of this application, the term"modem"encompasses any device or function which provides or simulates a modem-style interface. Although the term modem is derived from the words"modulate"and"demodulate", it will be appreciated by those skilled in the art that in the GSM system, for example, the signals remain in the digital domain as they pass through the"modem"and are not therefore strictly speaking, modulated or demodulated.
The modem 6 may, for example, be a component fitted inside the case of the laptop computer (as illustrated in Figure 1) or a mobile telephone external to the laptop case and connecte to the laptop directly or via a PCMCIA-card-based interface unit.
Under software control, the modem 6 is operable to set up a call over the cellular radio network [a so-called"mobile originating call" (MOC)]. The modem 6 is also operable to receive a call [a so-called"mobile terminating call" (MTC)]. In each case, the modem 6 undertakes the signalling which is required by the particular cellular radio network to allow data transfer between the modem and a remote network terminal such as another modem or ISDN terminal adapter, which has accepte the MOC or initiated the MTC respectively. It will be appreciated that the modem 6 could also include fax or voice functions so that the data transmitted between the modem 6 and the remote modem may represent fax or voice messages which may, for example, be stored in the laptop in the manner of an answerphone.
In a conventional arrangement, a software application which will make use of the modem 6 will be provided, upon installation, with information about the type of the modem (and therefore the appropriate commands and control signals for operating the modem) and a logical port (COMX) through which to communicate with the modem.
To communicate with the modem, the application must first make appropriate operating system calls to open the port (either directly or indirectly by requesting the operating system to provide access to a particular modem) and then proceed to communicate with the modem by passing information (via the operating system) to the modem. The application is entitled to make certain assumptions about the modem and in particular is entitled to assume exclusive use or complete"ownership"of the modem 6, in the sense that no consideration need be made of other applications which may wish to make use of the modem. A consequence of this"ownership"is that many applications open the logical port during initialisation and do not close the port again until the application ceases executing on the processing means 4. This may occur even though the application has made little or no use of the modem 6 during execution.
Thus while that (first) application is executing and while the port is kept open, no other application may make use of the modem. Additionally, incoming calfs will all be routed to the first application.
Therefore, in the present invention one of the tasks of the interface means 8 is to overcome this problem and to allow sharing of the modem amongst a plurality of applications. This function is performed without requiring modification either to the modem 6 or to any of the applications 10-1, 10-2, 10-3, 10-n.
In general terms, the interface means 8 receives requests from the applications 10-1, 10-2, 10-3, 10-n via logical ports COMA, COMA, COMC, COMn respectively to communicate with the modem 6. The interface means 8 acts as arbiter and according to a predetermined set of rules and using information stored in the application database 10, decides which application 10-1, 10-2, 10-3, 10-n is given access to the modem 6. Once that decision has been made, data is passed transparently between the logical port provided by the interface means 8, to which the application is connecte and to a logical port COMX which is the conventional logical port described above (and which gives access to the modem 6) and which is provided by the operating system.
It will be appreciated that the scheme above applies largely to the initiation of a MOC.
When an MTC is received by the modem 6, a similar process occurs in reverse. In a preferred embodiment, the interface means 8 is operable to cause the modem 6 to extract the caller line identity (CLI) of the originator of the MTC. Using this information, the interface means 8 interrogates the application database 10 to determine which application 10-1, 10-2, 10-3, 10-n is to be notifie of an incoming call via its respective logical port COMA, COMB, COMC, COMA.
Again, it should be appreciated that the interface means 8 operates to ensure that the applications 10-1, 10-2, 10-3, 10-n do not require modification to work with the interface means 8 and thus should not be able to determine that the incoming call has passed through the interface means 8.
The detailed operation of the interface means 8 to achieve the general function described above will now be described.
The application database 10 and system database 12 are formed, for example, in the case of Microsoft operating systems such as Windows 95 (RTM) or Windows NT (RTM) as registry entries.
The system database 12 inclues information about the modem 6 such as the logical port COMX which should be used to communicate with it, predetermined command strings such as those to initialise the modem, extract CLI from a call, obtain information about a call which has just finished such as the amount of data transferred, the number of errors etc, information about what action should be taken when CLI is not available or is not recognised (i. e. is not mapped against a particular application 10-1, 10-2, 10-3, 10-n etc in the application database 10), whether call or diagnostic logging should occur, which modem signal should be monitored to detect an MTC, the number of rings which should occur before an MTC is deemed to exist and various timeout and guard delay settings.
The application database 10 inclues a separate record for each application. Each application is given one or more logical port identity which is stored by the applications in the normal way and which is also stored in the appropriate record of the application database 10. Thus, the interface means 8 is able to determine which application is seeking to communicate with the modem 6, for example, by determining which of the ports COMA, COMB, COMC, COMn has been used to make the request to communicate. An application which is not entered in the database 10 may still access one of the logical ports. When this occurs, a default"profile"is used for that class of application.
The application database 10 also inclues information about the priority of each application relative to the other applications stored in the application database 10 and any CLI with which the application should be associated.
Figure 2 summarises the steps taken by the interface means 8 to determine what type of access is being made to the COM ports of the laptop 2.
In step 20, a request to open a COM port is received by the interface means 8. This request must be processed to determine what settings will be applied by the interface means 8 as described below, and also whether or not the port should be"virtualised" as also described in detail below.
In step 22, a decision is taken based on the system database 12 (embodied by the operating system registry settings 24) as to whether the port should be virtualised. It may be desirable, for example, to allow access to other COM ports on the laptop 2 such as those used for infra-red communications. Thus if the request made in step 20 is for an"excluded"port (such as an infra-red port) the physical port is opened in step 26 in the normal way, and the interface means 8 has no further involvement with the subsequent data transactions.
If the port which it has been requested to open is not excluded, then the interface means 8 determines in step 28, whether information about the application making the request is stored in the application database 10. If information about the application is not stored in the application database 10, then the desired port is opened with default settings using the default"profile"in step 30.
If information is stored in the application database 10 about the particular application making the request, the next step (step 32) is to determine whether the COM port is in the registry, i. e. it is one of the ports 10-1, 10-2, 10-3, 10-n shown in Figure 1. If the answer is yes, then in step 34, the relevant logical port is opened with the necessary settings as described in detail below.
It is possible that an application may require access to more than one type of virtualised port which have different respective characteristics. This may be achieved by allowing the application database 10 to have more than one logical COM port, COMA, COMB, COMC, COMA, defined for a particular application. For example, the application may exist in several instances each with a different logical COM port.
Similarly, an application may request direct access to the modem via the modem COM port and this is intercepted and detected in step 36. A particular set of settings for the logical port, COMA, COMB, COMC, COMA, may then be implemented in step 38.
Similarly, a subset of the ports, COMA, COMB, COMC, COMA, may have a"global" type of setting stored for them in the application database 10 or system database 12.
Thus a request to open the"all ports"COM port is detected in step 40 and the global "hall ports"settings are applied in step 42.
If the COM port does not match either the modem COM port or a COM port about which the interface means 8 has knowledge via either of the databases 10, 12 then the port is assumed to be a physical COM port and this is opened in the usual way in step 44.
When considering which application 10-1, 10-2, 10-3, 10-n, should have access to the modem 6, it is possible to define three possible states that an application may be in.
Firstly, the"active"state is entered when an application is communicating with the "real"port COMX and modem 6 via the interface means 8. It is assumed that the modem hardware is only able to communicate with one application at a time and therefore only one application may be in the active state.
However, if, for example, more than one modem were provided in the laptop, or the modem were operable to provide more than one simultaneous connection across the cellular radio network, it will be appreciated that more than one application may be in the active state.
Secondly, the"active pending"state is entered when an application wishes to communicate with the real port COMX and modem 6 but has not been given access to the modem 6 by the interface means 8. More than one application may be in the active pending state at any one time.
Thirdly, the inactive state is entered when an application has opened one of the logical ports, COMA, COMB, COMC, COMn but does not wish to communicate with the real COM port COMX and modem 6. More than one application may be in the inactive state at any one time.
Figure 3 shows a state transition diagram for transitions between the three states described above.
Switching between the active and active pending states is, in general, caused by the interface means 8 and is used to ensure that only one out of possibly more than one applications 10-1, 10-2, 10-3, 10-n which wish to use the modem, actually have access to the modem 6.
Switching to the inactive state is generally initiated by an application.
The applications 10-1, 10-2, 10-3, 10-n may be divided into two broad categories. The first"non-cooperating"category is that in which applications have been written in the expectation that the application will have exclusive access to the modem. The second category (cooperating) is a category in which applications are written in the knowledge that other applications may be executed on the processing means 4 which need periodic access to the modem 6. In general, non-cooperating applications do not make consistent use of modem control lines and thus detecting that such an application wishes to use the modem and controlling its access to the modem is performed in the invention by monitoring information passing on the transmit (txd) signal line and/or the control lines of the logical COM ports, COMA, COMB, COMC, COMA. The control lines may be used to determine status (for example the dtr and flow control lines).
Newer (cooperating) applications can be written to use the modem control lines in a consistent way which means that it is not necessary for the interface means 8 to monitor the data passing to and fro on the logical ports, COMA, COMB, COMC, COMn for these applications and an alternative scheme (described, by way of example, below) may be used instead.
Table 1 sets out the control signal and data connections and transitions for noncooperating and cooperating applications respectively. In general, the switching of non-cooperating applications is based on modem command response parsing and the switching of cooperating applications is based on manipulation of the DTR control line on the real modem port COMX.
Table 1
Inactive State Active Pending State Active State Coop Non-Coop Coop Non-Coop Coop Non-Coop txd MARK'txd MARK'Note 6 txdo TXD rxd * MARKZ rxd Note 7 rxd * RXD dtr # OF3 ON5 dtr # ON@ ON5 dtr * DTR rfr # OFF3 ON5 rfr # ON@ ON5 rfr * RFR cts # OFF4 ON10 cts # OFF4 OF11 cts # CTS dcd # OFF4 dcd # OFF4 dcd # dsr # OFF4 dsr # OFF4 dsr # DSR ri # OFF4 ri # OFF4 ri # Note 9 bkr # Note 12 bkr # Note 12 brk # BRK13 brk # BRK13 fme # FME13 eof # EFF13 Note 1 Held in the MARK condition by the application.
Note 2 Held in the MARK condition by the interface means 8.
Note 3 Held in the OFF condition by the application.
Note 4 Held in the OFF condition by the interface means 8.
Note 5 Held in the ON condition by the application.
Note 6 For MOC notification, applications send an AT command.
Note 7 For MTC notification, then rxdeRXD and ri4=RI, otherwise rxdw MARK and ri4= OFF.
Note 8 For MOC notification, held in the ON condition by the application, otherwise held OFF.
Note 9 Held in the OFF condition by the interface means 8, and RI used to initiate the MTC notification procedure.
Note 10 Held in the OFF condition by the interface means 8 for non-cooperating applications. In addition, cts held in a configurable OFF condition during all MTCs Note 11 Held in the OFF condition by the interface means 8 on detection of < cr > following an AT command sent on the txd line, or the BREAK command (see Note 13 below).
Note 12 For MOC notification, applications send the BREAK command to temporarily take the highest priority irrespective of the applications priority setting in the application database 10. The effective priority returns to the database value when the application becomes"active". In the event of multiple BREAK signals, the application issuing the latest BREAK signal takes priority.
Note 13 Break, Framing Error and End-of-File passed transparently.
In Table 1 and in the following description"virtualised"control lines are shown in lower case (these are the lines associated with logical ports, COMA, COMB, COMC) COMA) and physical modem control lines associated with port COMX are shown in upper case. The initials used in~ mot cases, are those used conventionally when referring to modem or general serial (RS232) connections and are as follows : TXD transmit data RXD receive data DTR device terminal ready RFR ready for receive CTS clear to send DCD data carrier detect DSR data set ready RI ring indication BRK break FME framing error EOF end of file For a non-cooperating application, the initiation of state transitions between the states shown in Figure 2 cannot reliably be performed using the modem control lines shown in Table 1. Instead, state transitions are achieved by commands being passed along the txd line. In order to allow the application to transmit data, the cts line must be set to the ON condition so that the application is led to believe that the COM port, COMA, COMB, COMC, COMn is open and ready to receive data.
Thus for an inactive non-cooperating application to initiate the transition to an active pending state, it sends an"AT" (this being the standard Hayes attention command used by modems) on the txd line. The AT command is buffered within the interface means 8 until the transition to the active state is completed. Any data received from the application when the cts line is OFF is discarded by the interface means 8.
The application is held by the interface means in the active pending state by holding the cts line in the OFF condition after receipt of a carriage return character after the AT command. In order to determine whether an application should be permitted to enter the active state, the interface means applies a predetermined set of rules.
Typically these rules are as follows. If no application is presently in the active state, an application attempting to connect to the modem 6 will be permitted immediately to enter the active state.
If another lower priority application is already in the active state (the priority of the application being determined by looking at the priority value stored in the application database 10) then the currently active application is forced into the active pending state and the application requesting a connection to the modem 6 is permitted to enter the active state.
If another equal priority application is active, the currently active application is treated as if it has a higher priority than the application attempting to enter the active state.
If another higher priority application is active, the application seeking a connection with the modem is held in the active pending state until all higher or equal priority applications become inactive.
Optionally, a break command brk issued by an application may have a higher priority than all applications. The procedure adopted by the interface means 8 on receipt of brk is the same as that where an application seeks to connect to the modem and only a lower priority application is active.
Once a non-cooperating application enters the active state, the initial AT commands arriving on the txd line are passed through to the port COMX and as they pass through the interface means 8, they are parsed to determine whether a"local transaction", for example, to interrogate the modem for information or to change its settings, or a MOC (identified because typically the commands on the txd line include the ATD command) has been sent to the modem.
The interface means 8 determines whether the transaction is a local transaction or an attempt to originate a call so that it can decide how to force the application into an inactive state once the transaction is complete.
If a local transaction is detected, all modem responses issued by the modem are passed transparently to the application but are parsed by the interface means 8 until either "OK"or"ERROR"is found in the modem responses. Optionally also, a timeout value may be set beyond which, if no data is transmitted or received over the txd or rxd lines, the application is forced into an inactive state on the assumption that it has finished its transaction with the modem.
If the interface means 8 determines that the non-cooperating application is attempting to originate a call, all modem responses are passed transparently to the application and parsed until the DCD line on the port COMX changes from an OFF to an ON condition indicating that a call has been set up. The interface means 8 then monitors modem responses until either an ERROR or NO CARRIER response is noted or when the DCD line returns to the off condition.
In order to perform the transition to the inactive state, the cts and RFR lines are set to the OFF condition by the interface means 8. Thus the modem 6 is put into a condition where it does not expect to receive data from the application and the application which was active is put into a condition where it does not expect access to the modem.
The equivalent steps for a cooperating application are different. To initiate an MOC, a cooperating application asserts the dtr line on its logical COM port, COMA, COMA, COMC, COMA. This causes the interface means 8 to follow the rules described above to decide whether the application will be allowed into the active state. When the cooperating application is allowed to enter the active state, the interface means 8 passes the CTS signal of COMX through to the cts of relevant logical port, COMA, COMB, COMC, COMA.
Once a cooperating application is active, it can initiate the transition to an inactive state by setting its dtr and rfr (and hence RFR) control lines to the off condition. The interface means 8 then completes the transition immediately and resets the modem idle state. The modem idle state as mentioned above is the standard condition in which each application can expect to find the modem.
Similarly, an active pending application can return to an inactive state by setting its dtr and rfr (hence RFR) control lines to the off condition.
It will be appreciated that since the modem 6 and any non-cooperating applications 10-1, 10-2, 10-3, 10-n have not been designed to allow for sharing or multiplexing of the modem 6, guard delays should be introduced to ensure that data from one application does not find its way to the modem when it is under the control of another application or similarly, that data buffered in the interface means 8 or in the modem 6 does not find its way to an application which had no part in causing the information to arrive at the modem 6.
For example, since non-cooperating applications do not have internal mechanisms to initiate an active to inactive transition or an active pending to inactive transition, the regime used to perform these transitions for non-cooperating applications relies on predetermined modem responses. Thus, typically, guard delays are provided for a minimum transition period for the DCD line before a non-cooperating application passes from the active to the active pending state following a MOC, a minimum period of inactivity on the TXD and RXD lines on the port COMX and the txd and rxd lines on the logical port used by an application after it has changed from the active state, and a period for which DTR on port COMX is held in the off condition after an application has changed from the active state.
Also, configurable timeout periods typically are provided for the time taken for the modem 6 to respond to the idle state command, a request for CLI information or other information from the modem, for a modem response to be issued before a noncooperating application is changed from the active to the inactive state following a local transaction (as described above), for a cooperating or non-cooperating application to respond to notification of a MTC by the interface means 8 (as described below) or for a period of inactivity on the TXD and RXD lines of COMX or the txd and rxd lines of logical ports COMA, COMB, COMC, COMn for either cooperating or non-cooperating applications (which may, for example, mean that the application in question has"crashed").
For MTCs, as mentioned above, the interface means 8 is operable to cause the modem 6 to extract CLI from the incoming calls.
When the modem 6 receives a MTC, the RI line on port COMX is set to the on condition and the string"RING" (or equivalent/similar) is sent by the modem 6 on the RXD line of port COMX. These signals are intercepted by the interface means 8 and are not immediately transferred to any active, acting pending or inactive application.
All information coming from the modem is buffered until a suitable application has entered the active state.
Typically, in advance of any processing of CLI by the interface means 8, any currently active application is forced into an active pending state and the modem idle state is reset.
In response to the ring signal from the modem 6, the interface means 8 sends a command to the modem to extract the CLI. The response is parsed and the CLI information is used in conjunction with information stored in the application database 10, to determine which application should be notifie of the MTC. It is assumed that the appropriate application is in the inactive or active pending state and the application is then caused to enter the active state and the buffered data is passed to the relevant application via the relevant logical port COMA, COMA, COMC, COMA.
After this point, the interface means 8 does not take part in the communication between the application and the modem but passes the control signals transparently between the two. It is the responsibility of the target application to set the dtr and rfr lines on the logical port COMA, COMA, COMC, COMn to the on condition (for cooperating applications) or to send an AT command on the txd line (for a noncooperating application). Either action results in the interface means 8 completing the active pending to active transition as described above and allowing the data to pass from the modem to the target application and vice versa.
The interface means 8 may actuate a default application if CLI information is unavailable or does not match the information held in the application database 10. As mentioned above, the modem 6 will typically store any configuration changes made by an application. Thus the interface means 8 ensures that each application has a known starting point as far as the modem configuration is concerne.
When an application is moving from the active state, the modem is interrogated (using a predefined command string) to extract at least a subset of the values representing its current configuration. These are stored in the application database 10 for subsequent reuse by that application. The application is then allowed to move into the active pending or inactive state and the modem is reinitialized into the"modem idle state" which is a global idle setting used as a base configuration for the modem.
When any application is moving from the active pending or inactive state to the active state, it can expect to find the modem in the"modem idle state"following the transition of the last application from its active state. Before the application becomes active, the pre-idle parameters (either default values or the values stored when the application last moved from the active state) are loaded into the modem. Thus with an appropriate selection of parameters which are stored, the application finds the modem largely in the same configuration in which it left it.
To implement this scheme, the interface means 8 holds all applications either in the inactive or active pending state as defined in Table 1. The interface means 8 then sets the DTR and RFR lines to the on condition and then sends either the pre-idle or idle string as appropriate on the TXD line. The modem response received on the RXD line is then absorbe or parsed by the interface means 8 as appropriate. Completion of the idle state transactions is determined by receipt of"OK"or"ERROR"as a modem response or after a configurable guard delay and timeout period as described above.
The invention has been described above in connection with an IBM PC compatible computer and operating under a Microsoft operating system. It will be appreciated that other hardware platforms and operating systems may be used with the invention.
The"real"logical port COMX is likely to be one of a plurality of"real"COM ports.
For example, in the Microsoft Windows operating systems there are typically four real COM ports, COMA, COM2, COM3, COM4. The modem may, for example, be connecte to COM2, the applications may be given COM ports numbered from 5 to 10 and the remaining COM ports, COMA, COM3 and COM 4 may be accessed in the conventional way via the operating system, i. e. the interface means 8 may only take control of COM 2, for example, (by intercepting the signals on at least some of the lines identifie in Table 1) whilst leaving the other"real"COM ports to be handled exclusively by the operating system.
Preferably, one of the applications 10-1, 10-2, 10-3, 10-n is operable to provide an indication of the signal power received by the modem 6 via an antenna 14. The data which provides the basis for the indication is obtained from the modem 6 by initiating the type of local transaction described above. Thus it will be noted that not all the applications 10-1, 10-2, 10-3, 10-n necessarily receive MTCs or initiate MOCOS.

Claims (13)

  1. CLAIMS 1. Communication apparats for transmitting and receiving data over a cellular radio telephone network comprising : processing means operable to execute one or more process, a data transceiver operable to receive a signal transmitted over the network, to decode the received signal to produce an incoming data stream, to receive data in the form of an outgoing data stream, to encode the outgoing data stream into a form suitable for onward transmission over the network and to cause its onward transmission, and interface means including an application database which stores predetermined details of the or each process, and which is arrange to intercept modem control signals generated by a process executing on the processing means, to react to the intercepted modem control signals with a range of responses which would be expected from a modem connecte to the process, to generate control signals for reception by a process executing on the processing means which are equivalent to the control signals which would be generated by a modem connecte to the process, to receive data from the process in a format which would be accepte by a modem connecte to the process, to generate the outgoing data stream from the data received from the process, to receive the incoming data stream and to send data contained in the incoming data stream to the process in a format which is equivalent to a format which would be used by a modem connecte to the process.
  2. 2. Apparats according to claim 1, arrange to extract from the received signal a source id identifying the source of the received signal, the interface means being further arrange to interrogate the application database to select, based on the source id, one of a plurality of the processes and to send data contained in the incoming data stream to the selected process.
  3. 3. Apparats according to claim 1 or claim 2, wherein at least one process is assigne a respective priority value which is stored in the application database and wherein the interface means is arrange to choose between processes based on the or each priority value to determine which process data is to be used to generate the outgoing data stream.
  4. 4. Apparats according to claim 3, wherein the interface means is operable to cause termination of transmission or reception of data associated with a first process by the transceiver means and instead to cause transmission or reception of data associated with a second process when the priority value of the first process indicates a lower priority than that of the second process.
  5. 5. Apparats according to any preceding claim, wherein the interface means inclues a system record for recording details of a modem forming part of the data transceiver, the modem details being used by the interface means to control signal transmission and/or reception by the data transceiver.
  6. 6. Apparats according to any preceding claim, wherein the process is operable to communicate with the data transceiver to obtain a value representative of the power level of the received signal and to provide a visual and/or audible indication of the received power level.
  7. 7. Apparats according to any preceding claim, wherein the application database stores a modem initialisation string for sending to the data transceiver generally before one of a plurality of the processes is given access to the data transceiver by the interface means.
  8. 8. Apparats according to any preceding claim, wherein the interface means is operable to pass a selected subset of the intercepted modem control signals to the data transceiver.
  9. 9. Apparats accordance to any preceding claim, wherein the interface means is operable to pass a selected subset of transceiver control signals received from the data transceiver, to the or one of the process.
  10. 10. Apparats according to any preceding claim, wherein the interface means is implemented as a software layer located in the data and control path between the or each process and the data transceiver.
  11. 11. Apparats according to any preceding claim, wherein the interface means is implemented as one or more software driver arrange to cooperate with an operating system executing on the processing means.
  12. 12. A method of transmitting and receiving data over a cellular radio telephone network using communication apparats which inclues processing means, a data transceiver and interface means, the method comprising the steps of operating the data transceiver to receive a signal transmitted over the network, decoding the received signals to produce an incoming data stream, notifying a process executing on the processing means of the reception of the received signal using control signals equivalent to control signals which would be used by a modem connecte to the process, sending data contained in the incoming data stream to the notifie process, encoding data received from a process executing on the processing means to form an outgoing data steam, arranging for transmission of the outgoing data stream via the data transceiver over the cellular radio network and responding to modem control signals issued by the process in order to originate a call over the cellular radio network to permit onward transmission of the outgoing data steam.
  13. 13. Communication apparats constructed and arrange as described herein with reference to the drawings.
GB9905922A 1999-03-15 1999-03-15 Radio modems Withdrawn GB2348088A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9905922A GB2348088A (en) 1999-03-15 1999-03-15 Radio modems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9905922A GB2348088A (en) 1999-03-15 1999-03-15 Radio modems

Publications (2)

Publication Number Publication Date
GB9905922D0 GB9905922D0 (en) 1999-05-05
GB2348088A true GB2348088A (en) 2000-09-20

Family

ID=10849646

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9905922A Withdrawn GB2348088A (en) 1999-03-15 1999-03-15 Radio modems

Country Status (1)

Country Link
GB (1) GB2348088A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082284A1 (en) * 2005-02-01 2006-08-10 Nokia Corporation Handling incoming data
US7457635B2 (en) 2004-03-17 2008-11-25 Lg Electronics Inc. Modem sharing device of PDA phone and method thereof
US7707291B2 (en) 2005-02-01 2010-04-27 Nokia Corporation Handling incoming data
WO2017206698A1 (en) * 2016-05-30 2017-12-07 广州广电运通金融电子股份有限公司 Device management method and system based on active template library (atl), and financial self-service device
RU191695U1 (en) * 2018-11-02 2019-08-16 Общество с ограниченной ответственностью "ТЕЛЕМАТИЧЕСКИЕ РЕШЕНИЯ" RADIOMODEM WITH A BATTERY WITH ANTENNA FUNCTION

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414817A (en) * 1992-11-30 1995-05-09 Hewlett-Packard Company Adapter unit for connecting a mobile computer to a network and for simulating the presence of the mobile computer when the mobile computer is not present
GB2285558A (en) * 1993-12-28 1995-07-12 Nec Corp IC card radio modem operable on a plurality of types of infrastructure network
WO1996003008A1 (en) * 1994-07-19 1996-02-01 Koninklijke Ptt Nederland N.V. A modulator/demodulator arrangement for data transmission in a radio communication system
GB2292291A (en) * 1994-08-12 1996-02-14 Nec Corp Adaptable IC card radio modem
EP0789468A1 (en) * 1996-02-02 1997-08-13 AT&T Corp. A wireless adapter architecture for mobile computing
GB2316583A (en) * 1996-08-14 1998-02-25 Motorola Israel Ltd Connecting RS-485 local area networks to other communications networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414817A (en) * 1992-11-30 1995-05-09 Hewlett-Packard Company Adapter unit for connecting a mobile computer to a network and for simulating the presence of the mobile computer when the mobile computer is not present
GB2285558A (en) * 1993-12-28 1995-07-12 Nec Corp IC card radio modem operable on a plurality of types of infrastructure network
WO1996003008A1 (en) * 1994-07-19 1996-02-01 Koninklijke Ptt Nederland N.V. A modulator/demodulator arrangement for data transmission in a radio communication system
GB2292291A (en) * 1994-08-12 1996-02-14 Nec Corp Adaptable IC card radio modem
EP0789468A1 (en) * 1996-02-02 1997-08-13 AT&T Corp. A wireless adapter architecture for mobile computing
GB2316583A (en) * 1996-08-14 1998-02-25 Motorola Israel Ltd Connecting RS-485 local area networks to other communications networks

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457635B2 (en) 2004-03-17 2008-11-25 Lg Electronics Inc. Modem sharing device of PDA phone and method thereof
WO2006082284A1 (en) * 2005-02-01 2006-08-10 Nokia Corporation Handling incoming data
US7707291B2 (en) 2005-02-01 2010-04-27 Nokia Corporation Handling incoming data
WO2017206698A1 (en) * 2016-05-30 2017-12-07 广州广电运通金融电子股份有限公司 Device management method and system based on active template library (atl), and financial self-service device
RU191695U1 (en) * 2018-11-02 2019-08-16 Общество с ограниченной ответственностью "ТЕЛЕМАТИЧЕСКИЕ РЕШЕНИЯ" RADIOMODEM WITH A BATTERY WITH ANTENNA FUNCTION

Also Published As

Publication number Publication date
GB9905922D0 (en) 1999-05-05

Similar Documents

Publication Publication Date Title
US5675831A (en) Method for automatic installation of a modem wherein unique identification for the device registry is computed from modem responses to queries by the system
US6012113A (en) Method for connecting a plurality of communication applications with an actual communication port by emulating a plurality of virtual modems
EP0621713B1 (en) Communication of local area network based applications on a switched network
US4972368A (en) Intelligent serial I/O subsystem
EP1087590B1 (en) Network peripheral server
US5625775A (en) Modem communication interface in a data processing system
US5784643A (en) System incorporating program for intercepting and interpreting or altering commands for generating I/O activity for enabling real-time user feedback by sending substitute characters to modem
EP1532776A2 (en) Bluetooth serial adapters
US20040062368A1 (en) Determining whether a telephony call is permitted based on permission data
GB2348088A (en) Radio modems
US5892432A (en) Personal computer control and activation device utilizing a paging message
US6978465B2 (en) Control of device-driver persistency
US5734918A (en) Computer system with an input/output processor which enables direct file transfers between a storage medium and a network
US5495582A (en) System and method for interprocessor routing through an established communication session in a loosely coupled computer complex
US5051892A (en) Full duplex conversation between transaction programs
EP0978043A2 (en) Methods and apparatus for controlling digital communications switching equipment
US6885978B2 (en) Auto-determination of DTE/DCE connection
US5499372A (en) Method of controlling access to restricted access data and communication system therefor
Cisco Configuring Terminal Lines and Modem Support
Cisco Terminal Lines and Modem Commands
KR20070122202A (en) Signaling to a peripheral via irregular read operations
Cisco Configuring Terminal Lines and Modem Support
Cisco Configuring Terminal Lines and Modem Support
Cisco Configuring Terminal Lines and Modem Support
CN106228667A (en) Hardware number calling system for state and place tax combined office

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)