Method and apparatus for data communication efficiency analysis

Abstract: A system for estimating the effectiveness and efficiency of a communication device includes a computer (12) executing a communication efficiency program. The computer (12) further includes a modem (14) that is coupled to a plurality of transmission devices (16,20) through a plurality of I/O ports. Prior to transmitting a selected data file through the modem (14) to one of the transmission devices for subsequent transmission to a remote site, a user may evaluate information about the transmission of the selected data file through a transmission device such as the estimated cost and time of transmission for the data file. The estimates are provided by using retrieved data file parameters for the selected data file and user defined data transmission parameters for the various transmission devices (16,20). The estimated cost and time are stored and the user may select another device (16,20) for which the time and costs of transmission are estimated. The user may then alternatingly display the estimated cost and time for the transmission through the selected devices to evaluate the most time and cost efficient device for transmission of the file.

Description: This invention relates to data communications from a data processing device such as a portable computer to a remote site. Communication programs for controlling the transmission of data files from a computer, including portable computers, are known. These programs typically retrieve selected files and control a communication interface to transmit the selected file to a remote site. These programs may also be activated to receive data transmitted from a remote site to the computer. In that event, the communication program assembles the transmitted data into a file for use and storage within the computer. Typically, these programs communicate and control the interface for receipt and transmission of the data and may detect and correct errors in the communicated data. Many computers are capable of communicating data in a variety of communication modes. For example, a computer may communicate data through a public switched telephone network (PSTN), sometimes called land lines, or some wireless communication device such as a packet radio or a cellular telephone. To perform the communication, the communication network or devices may be coupled to the computer through input/output (I/O) ports or other communication interface circuitry associated with the computer. The user uses a communication program to select one of the communication devices coupled to the computer. The program controls the communication interface to communicate the data through the I/O port or interface and the selected communication device to the remote site. Thus, these programs are capable of supporting more than one communication device. WO-A-94/11999 discloses a modem that includes both landline and cellular telephone connections and is adapted to perform standard AT commands rationally when connected to a cellular phone. The system discloses a number of options for determining whether to use the land line or the cellular telephone, for example a land line default where the cellular line is used only when the landline is not available, a cellular line default where the land line is used only if the cellular phone signal strength is insufficient. It is an object of the present invention to provide a method of operating a computer which enables efficient data transmission to a remote device to be achieved. Therefore, according to one aspect of the present invention,, there is provided a method for allowing a user to evaluate the efficiency of a transmission of a data file through a transmission device, comprising: selecting a first transmission device; selecting the data file for transmission; retrieving parameters of the first transmission device; retrieving parameters of the data file; determining information regarding the transmission of the data file through the first transmission device based on the retrieved first transmission device parameters and the retrieved data file parameters and displaying the determined information to a user so that the user may evaluate whether to transmit the data file through the first transmission device. According to another aspect of the present invention, there is provided a system for facilitating evaluation by a user of the efficiency of transmission for a data file through a transmission device comprising an interface for coupling to a plurality of transmission devices; means for retrieving and storing parameters of transmission devices; means for retrieving and storing parameters of the data file; means for determining information regarding the transmission of the data file through a transmission device based on the parameters retrieved for that transmission device and the parameters retrieved for that data file; and display means for displaying the determined information to a user so that the user may evaluate whether to transmit the data file through a particular transmission device. One embodiment of the present invention will now be described by way of example, with reference to the accompanying drawings, in which:- Fig. 1 is a block diagram of a system in which the method of the present invention is used; Fig. 2 is a block diagram showing the modules that comprise a preferred embodiment of a program that implements the method of the present invention; Fig. 3 is a depiction of a screen displayed in the preferred embodiment of the set-up module of a program that implements the method of the present invention; Fig. 4 is a depiction of a screen displayed in the preferred embodiment of the receive log module of a program that implements the method of the present invention; Fig. 5 is a depiction of a screen displayed in the preferred embodiment of the transmission log module of a program that implements the method of the present invention; Fig. 6 is a depiction of a screen displayed in the preferred embodiment of the on-line help module of a program that implements the method of the present invention; Fig. 7 is a depiction of a screen displayed in the preferred embodiment of the run module of a program that implements the method of the present invention; Fig. 8 is a depiction of a screen displayed in the preferred embodiment of the file analysis function of the run module of a program that implements the method of the present invention; and Fig. 9 is a depiction of a screen displayed in the preferred embodiment of the diagnostic function of the run module of a program that implements the method of the present invention. A block diagram depicting a system 10 utilizing a program developed in accordance with the principles of the present invention is shown in Fig. 1. The system 10 includes a personal computer 12 which operates under the control of an operating system, such as MS-DOS or any other conventionally known operating system. The operating system in turn may execute a Microsoft® Windows program or other user interface program for providing application programs to a user. The personal computer 12 further includes modem 14 for communicating with devices external of the personal computer 12. Computer 12 also communicates with external devices through a hardware interface controller for serial or parallel communication ports. Computer 12 may also include internal communication devices that are coupled to external devices through designated ports. Preferably the modem is a PCMCIA modem having a dual port RAM. In the most preferred embodiment, the PCMCIA modem 14 is a type II modem from AT&T Paradyne of Largo, Florida. The personal computer 12 communicates with the modem 14 of the preferred embodiment using a Hayes or AT command set. This command set is used to initialize the operating parameters for the modem, control the modem during its operation, and to interrogate the modem for status. With further reference to Fig. 1, an application program executing on computer 12 may communicate through the modem 14 to a cellular phone 16 or a Public Switched Telephone Network 20. Alternatively, computer 12 may use an internal hardware interface controller to communicate through one of the I/O communication ports. For example, a packet radio 18 may be coupled to I/O communication port 1. Likewise, information communicated from modem 14 to cellular phone 16 is wirelessly transmitted to a receiver at a remote site. Through the operating system or Windows program, a user may select a communications application program to communicate with the modem 14. This application program may be any of a variety of commercially available products such as Windows Access Plus available from AT&T Easylink Services of Parsippany, New Jersey. The communications program may also be a custom written application either by or for the user. The communication evaluator program 22 (Fig. 2) may be initiated from an application or file manager program or directly through the operating system. The communication evaluator program 22 may invoke a communications application program to communicate with a transmission device through modem 14 or the hardware controller for one of the I/O communication ports. The communication evaluator program 22 is comprised of six modules as shown in Fig. 2. These modules are denoted as the set-up 30, receive log 32, transmission log 34, communications diagnostics log 36, on-line help 38, and run 40 modules. Each of these modules performs a particular function for a user and are user selectable through the menu module 42. Each of the modules are discussed in detail below. The preferred screen menu for the set-up module 30 is shown in Fig. 3. This module is used by a user to initialize the default settings for the transmission devices to which the personal computer 12 is connected. The default data transfer rate for transmission through the selected transmission device and the estimated financial costs associated with each type of external transmission device which may be coupled to the personal computer are initialized through the execution of set-up module 30. The estimated connection costs entered by the user may be on a financial amount per unit of time basis or a financial amount per unit of data transmitted basis. The menu options function shown in Fig. 3 does not form a part of the present invention. The screen displayed for the receive log module 32 of the preferred embodiment of the present invention is shown in Fig. 4. The receive log screen depicted there provides a history of data receptions for messages received by the personal computer 12. Each of the messages are recorded in a manner that identifies the sender of the message, the subject matter, file type in which the message is stored, the communication method used, and the date and time that the message was received. The user may also identify other information for each received message such as associated costs or billing codes for the message. The information depicted in the screen in Fig. 4 is representative and may include other data. The screen associated with the transmit log module 34 of the preferred embodiment of the present invention is shown in Fig. 5. This log is used to record information regarding data messages transmitted by the personal computer 12 through the modem 14. This information includes the identification of the sender, the subject matter of the file transmitted, the file type transmitted, the communications method used, and the date and time of the data transmission. Additional comments such as associated costs or billing codes may be entered by the user in the log. The information depicted in the screen in Fig. 5 is representative and may include other data. The communications diagnostic log module 36 generates and displays the communications set-up and communication parameters for a communication session in which the cost evaluator program was executed. The period of retention for this log is selectably determined by the user. By retrieving and reviewing the communications log of a prior communication session, a user may further consider parameters that indicate the effectiveness of a particular communication mode. Each of the log modules 32, 34, and 36 are preferably implemented with an export function for formatting the data displayed in the log screens into an ASCII data file. This file may then be exported to a spread sheet or database application program for analysis. For example, the transmission log may be exported to a program that generates a report of an employee's communication usage for an expense report or the like. The screen associated with the on-line help module 38 of the preferred embodiment of the communication evaluator program 22 is shown in Fig. 6. This module will access help messages stored in files and display the messages in response to a user performing a mouse click on a screen displayed object. Other help messages will provide the user with suggestions for operating the communication hardware and information on optimizing data communications. The screen associated with the run module 40 of the preferred embodiment of the communication evaluator program 22 is shown in Fig. 7. The connection panel 50 and the application panel 52 display the default values selected during execution of the set-up module 30. The user may alter the default values during execution of the run module 40 by performing a mouse click on one of the line entries within one of the panels 50, 52. Performing a mouse click on the area denoted "RUN" in the application panel 52, for example, causes the communications application program to execute and put the communication evaluator program 22 in the background. The Analyze panel 54 of the screen shown in Fig. 7 is used to perform one of three functions. By performing the mouse click on the instructions area 58 of the panel 54, a user may obtain instructions on how to utilize the functions available through the run module 40 and alter the parameters associated with the run module 40. By clicking on the file analysis area 60 of the Analyze panel 54, the user may select a function to determine information regarding the transmission of a selected file. Such information includes the financial charge or cost and length of time associated with the transmission of a particular data file (file analysis). Alternatively, a user may click on the diagnostics area 62 of the Analyze panel 54 to activate collection of diagnostic information regarding the data transmission of a selected file as it is performed by the selected communications application program (diagnostics). The panel associated with the file analysis function of the Analyze panel 54 is shown in Fig. 8. The file transfer status panel 70 permits a user to identify a file for data transmission in the input window associated with the variable FILE NAME. By clicking on the "GET FILE SIZE" area of the panel 70, a user causes the run module to obtain the file size, preferably in bytes, from the operating system and display that file size in the FILE SIZE window 72. The data transmission rate is displayed in the BAUD RATE window of the panel 70. Initially, the default values selected by the user during execution of the set-up module are displayed therein. By performing mouse clicks on either the up arrow or down arrow within panel 70, the user may selectively alter the data transmission rate. The run module of the preferred embodiment of program 22 automatically estimates, and displays in window 68, the time for transmitting the data file defined in the FILE NAME window of panel 70 by using the displayed BAUD RATE and FILE SIZE parameters. The AIR RATE window 74 displays the financial charge per unit of time associated with the device either selected during execution of the set-up module or selected by the user using the connection panel 50 of the run module 40. The estimated time of transmission and air rate are used to calculate the AIR COST displayed in window 76. The financial costs of transmitting the file per unit of data through the selected transmission device is displayed in the ELS RATE window 78. The ELS RATE and FILE SIZE parameters are used to calculate an ELS cost, displayed in window 80, which is added to the AIR COST to generate a TOTAL COST which is displayed in window 82. By reviewing the calculations within the Analyze panel 54, a user receives information that includes an estimate of the length of time to transmit a selected data file and the financial charge or cost for transmitting the data file through a particular external data device at a particular baud rate. By selecting other transmission devices or other baud rates, a user may obtain the charge and time information for transmission of the selected data file by other means. In this manner, the user can evaluate the most time or cost efficient manner for transmitting a file. For instance, the user may be in an airport with ten minutes prior to boarding. By using the file analysis function of the Analyze panel 54, the user can determine which communication method will transmit a selected file within the time remaining before boarding the user's flight. In other situations where time is not of the essence, the user may select a method which is most efficient in terms of its associated charge. By clicking on the diagnostic function on the Analyze panel 54, the user obtains a display of diagnostic information such as that shown in the screen of Fig. 9. Panel 86 provides a graphic indication of the remaining battery capacity of a selected external transmission device and the personal computer 12. For example, in Fig. 9, the battery strength of a cellular telephone is shown. By reviewing this indicator, a user may determine whether the phone has adequate power to support a data transmission for the estimated time depicted in window 68 (See Fig. 8). Likewise, the user may evaluate whether the computer 12 has sufficient power to operate for the estimated transmission time. The diagnostic information provided in panel 86 also graphically depicts the strength of the transmitted signal and the strength of a received signal. By reviewing this information, a user may determine that a particular wireless method of transmission is insufficient to effectively transfer the selected data file and instead, decide to use a PSTN phone line. Clicking on the TEST area of panel 86 activates the diagnostic indicators so they are updated with status information from the hardware. Clicking on the STOP area freezes the indicators. In the lower right panel 41, a display of a computed signal-to-noise ratio is displayed to further assist the user in evaluating whether the wireless method of communication is effective or not. This signal-to-noise ratio is computed from the received signal strength indicator (RSSI) that is obtained from a cellular telephone as discussed below. Once a user has selected a particular transmission device, the user clicks on the run area in the application panel 52 to initiate the communications application program that controls the transmission of the selected data file through the modem 14 and the selected transmission device. During this communication process, the run module 40 continues to update the diagnostic information and monitor the communication process for the actual time of transmission and amount of data transmitted. This information is used to compute an actual charge associated with the transmission that may be stored in the receive or transmit log. The communication evaluator program 22 receives signals generated by the hardware of the personal computer 12, the modem 14, and the selected external transmission device. In the preferred embodiment, the program 22 receives the real time clock and battery strength signals from the personal computer 12. These signals are used by the diagnostic function of run module 40 to display some of the diagnostic information shown in Fig. 9. Program 22 also receives from the modem 14 status information regarding the serial communication between the computer and the modem. In the preferred embodiment, this information is obtained from polling the dual port RAM of the modem 14. Alternatively, the computer may monitor the AT command set messages transferred between the modem and computer over the serial communication line between them. The transmission progress information obtained from the modem of the preferred embodiment is shown in Table 1. TRANSMISSION PROGRESS STATUS VALUE DESCRIPTION 0 Idle 1 Incoming Ring 2 Dialling 3 Ring Back 4 Training 5 Error Control Negotiation 6 Connected 7 Retrain With further reference to the signals of Table 1, the idle state indicates the modem is off-line. The incoming-ring state is used to indicate a data transmission is being received and generates an interrupt for the communication program. The dialling state indicates that a cellular voice channel is being connected through the modem. The training state begins at the start of an answer tone and ends when the modem within the connected external transmission device is successfully trained or synchronized with modem 14. If the modem 14 loses training with the external device modem, it attempts to retrain with that modem. If it is successful, the retrained state is written into the status byte. This value should be acknowledged by program 22 and the status byte in the dual port RAM is rewritten to state 6 to indicate a connected status. The signals indicative of disconnect information received by program 22 from modem 14 of the preferred embodiment are shown in Table 2. DISCONNECT INFORMATION VALUE DESCRIPTION 0 Power-Up 1 Disconnect 2 DTE Commanded Disconnect 3 Telco Commanded Disconnect 4 Remote Modem Commanded Disconnect 5 Long Space Disconnect From Remote Modem 6 Time-Out 7 Bad Connection Disconnect 8 Remote Modem Carrier Lost 9 No Remote Modem Answer 12 No Modem Train 13 No Modem Negotiated Error Control 14 No Cellular Service Or Logic Channel 15 Busy 16 No Dial Tone In further detail, Disconnect Information Value 2 (DTE Commanded Disconnect) indicates that a DTR or ATH signal was generated. The disconnect information value 9 is typically generated by an error condition resulting from dialling an incorrect number or connecting to a remote site modem not properly set-up to answer. The values resulting from these conditions may include another value, e.g., 10, if no ring back from the remote modem was detected and another value, e.g., 11, to indicate no answer tone even though a ring back was detected. Disconnect value 13 that indicates the modems failed to negotiate error control may be further refined to include two values. One value is caused, in the preferred embodiment, by one modem being MNP-only while the other is LAPM-only (i.e., the protocols of the respective modems are incompatible) or a cellular channel problem. Similarly, disconnect information value 14 may be caused by one of four conditions - no available control channel, no available voice circuit, a weak voice channel or a noisy voice channel. Currently, the preferred embodiment is capable of distinguishing between these conditions only by evaluating the RSSI value. If the RSSI value indicates a strong received signal then a control channel is available and the voice channel is probably not weak or noisy. The preferred embodiment of program 22 also receives information from a cellular telephone such as an NEC P110/P120 and AT&T 3610. This type of information is passed from the phone to the modem 14. This information includes the telephone battery level, and RSSI from the telephone. Other information available in the dual port RAM of the modem 14 is a transmit counter value and a received count value. The transmit counter contains the number of bytes transmitted to the modem 14 from the phone and the received counter indicates the number of bytes transmitted by the modem 14 to the phone. Further information contained with the dual port RAM of the modem 14 in the preferred embodiment includes the hardware identification and software revision level as well as the connection type of the telephone. The dual port RAM of the modem 14 of the preferred embodiment also contains error control information. This information includes the number of I-frames transmitted and the number of I-frames retransmitted. In the preferred embodiment of the invention, the I-frames retransmitted counter increments by one when a selective reject (SREJ) is generated. In a modification, additional diagnostic information may be created from the data received from the external device to assist a user in evaluating a communication channel.

Claims: A method for allowing a user to evaluate the efficiency of a transmission of a data file through a transmission device, comprising the steps of : selecting a first transmission device from a plenality of transmission devices (16, 18, 20); selecting the data file for transmission; retrieving parameters of the first transmission device; retrieving parameters of the data file; determining information regarding the transmission of the data file through the first transmission device based on the retrieved first transmission device parameters and the retrieved data file parameters; and displaying the determined information to a user so that the user may evaluate whether to transmit the data file through the first transmission device. The method of claim 1, wherein the step of retrieving parameters of the data file comprises the step of: retrieving size information for the data file. The method of claim 1, wherein the step of retrieving parameters of the first transmission device comprises the step of: retrieving a data transfer rate and a cost for transmission per unit of data for the transmission device. The method of claim 3, wherein said the information regarding the transmission determined is an estimated cost of transmission of the data file through the first transmission device. The method of claim 3, wherein the information regarding the transmission determined is an estimated time for the transmission of the data file through the transmission device. The method of claim 1, further comprising: storing the information determined about the transmission of the data file through the first transmission device; selecting a second transmission device; retrieving parameters of the second transmission device; determining data regarding the transmission of the data file through the second transmission device based on the retrieved second transmission device parameters and the retrieved data file parameters; and displaying the determined data to a user so that the user may evaluate whether to transmit the data file through the second transmission device. The method of claim 6, further comprising: storing the information determined about the transmission of the data file through the second transmission device; selectively displaying the information about the transmission of the data file through the first transmission device and the information about the transmission of the data file through the second transmission device, so as to facilitate the user's evaluation of the first and second transmission device. The method of any preceding claim, further comprising: selection by a user of a transmission device for transmission of the data file; commencing transmission of the data file through the selected transmission device; generating transmission progress signals representing actual progress of the transmission of the data file through the selected transmission device; and displaying transmission status of the transmission of the data file through the transmission device in response to generation of the transmission progress signals. The method of claim 1, further comprising: retrieving a computer battery level retrieving a first transmission device battery level; and displaying the computer battery level and the first transmission device battery level. The method of claim 8, further comprising the steps of: retrieving received signal strength information regarding the transmission of the data file through the selected transmission device; determining a signal to noise ratio from the received signal strength information; and displaying the received signal strength information and the signal to noise ratio whereby the user evaluates the effectiveness of the transmission through the selected transmission device. The method of claims 1 or claim 6, wherein the first and second transmission devices are a land line, a cellular telephone or a wireless communication device. A system for facilitating evaluation by a user of the efficiency of transmission for a data file through a transmission device comprising: an interface for coupling to a plurality of transmission devices (16, 18, 20); means for retrieving and storing parameters of transmission devices; means for retrieving and storing parameters of the data file; means for determining information regarding the transmission of the data file through a particular transmission device based on the parameters retrieved for that particular transmission device and the parameters retrieved for that data file; and display means (41, 50, 52, 54, 70, 86) for displaying the determined information to a user and arranged so that the user evaluates whether to transmit the data file through the particular transmission device.

Inventors: ETSCH AUGUST C, PSINAKIS LEAS N, VILLANI THOMAS J, ETSCH, AUGUST C., PSINAKIS, LEAS N., VILLANI, THOMAS J.
Applicants: NCR INT INC, NCR INTERNATIONAL, INC.
Application year: 1995
Main classification: H04M11
IPC codes: H04L12, H04L29, G06F13, H04M11