"DATA AND VOICE TRANSMISSION OVER A CELLULAR
TELEPHONE SYSTEM"
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates in general to the transmission and reception of data and voice signals. More particularly, but not by way of limitation, it relates to a method and apparatus for the transmission of data and voice signals over a cellular telephone system or a landline with emphasis upon the error-free transmission of data over a cellular telephone system. 2. Description of the Prior Art
In recent years, with the increased emphasis on and use of portable or laptop computers and the availability of the cellular telephone system, more and more people are finding the need for and the
desirability of combining the portable or laptop computer with the cellular telephone system to not only send voice signals back and forth but to send digital data back and forth between remote sites.
It is well known to send digital data or
information over a telephone landline from one personal computer to another personal computer by the use of conventional landline-type modems. The conventional landline-type modem will not work with the cellular telephone system. There is one conventional
error-correcting modem that does work with the cellular telephone system and that is the bride-and-span type modem. The conventional landline-type modem is not compatible with the bride-and-span type modem so if you are using a bridge-and-span type modem to try and send digital data over the cellular telephone system to a
computer which has a conventional landline-type modem, it will not work. The party at the receiving end must also have a bridge-and-span type of modem in order for the transmission to be successful. The bridge-and-span type of modem is limited to 1200 baud.
The data communications discussed above is the serial type of data communications which has two different forms, namely synchronous and asynchronous.
Synchronous communication requires the use of a common clock between the communication systems.
Compared to asynchronous communication, synchronous communication is faster, but it also requires more complex controlling software as well as hardware for it to properly transmit and receive data. One of the primary applications of synchronous communication is in high-speed computer-to-computer communications.
Asynchronous communication does not require a common clock between the two communication systems; thus, the two systems are not synchronized with each other. Instead of sharing a common clock, each system has its own clock, which, in order to communicate properly, must be very close to the clock rate of the other system. Because there is no common synchronizing clock between asynchronous systems, they are limited to slower speeds. Modems used by the personal computer owner are typically asynchronous.
During the transfer or sending of large amounts of digital data (such as a file transfer), it is important that errors do not occur and if they do occur it is important to discover and correct any such errors in the data. The solution to the problem is to have communications software monitor the accuracy of the transferred data and request that data be sent again when errors are detected. Software techniques for doing this are called protocols. The error detection
and correction procedure allows for the detection of and orderly recovery from errors caused by factors outside the control of the computer at either end.
The noise and loss of carrier on the cellular telephone system provides a primary problem in the transfer of data over the cellular telephone system.
There is a need to be able to have error-free transmission of digital data over the cellular
telephone system from a portable or laptop computer to another compatible computer which has a conventional landline-type modem and to transmit at a rate higher than 1200 baud.
SUMMARY OF THE INVENTION
A method and apparatus for controlling the
transmission of voice and error-free transmission of data signals over landline as well as cellular
telephone system is provided and comprises a modem operatively connected to data terminal equipment, a telephone landline through a data access arrangement and a cellular telephone system. The modem includes analog switches for receiving inputs from an internal voice board for hands-free voice communications, the control unit of the cellular telephone and the analog signals from the modem chip and provides outputs to the telephone landline via a data access arrangement and to the transceiver unit of the cellular telephone.
Therefore, voice signals from the cellular control unit and the voice board can be sent over the telephone landline or the cellular telephone system while date from data terminal equipment may also be sent over telephone landline or the cellular telephone system.
With reference to the software implementation, the operation of modem 10 is divided into three modes comprising a command mode, a data mode and an escape
mode; therefore, the software is based upon the three modes of operation.
In order to eliminate the errors induced by the noisy communication channel of the conventional voice telephone line and the cellular telephone system as well as loss of carrier of the cellular telephone system, a modified networking protocol (MNP) is
employed in the software program for modem 10. MNP is a set of data communication protocols which provide error-free communication of data and define a file transfer protocol at the application layer, the session protocol and the link protocol. The data is divided into a series of numbered packets during transmission and a 16-bit CRC (Cyclical Redundancy Check) data is appended to each packet of data for error checking. This block structure can achieve one hundred percent error free transmission of data. If any error in a packet is received by the answering modem, a negative acknowledgement will be issued to request the
retransmission of the bad packet or packets.
Compared with other software-based file transfer protcols, MNP provides an improved transmission
throughput or data rate. Upon level three operation, data transmission is in the synchronous mode, thus relieving the overheads in each data byte transmission, such as the start bit and stop bit. For 2400 bps physical layer, the effective throughput may be up to 2600 bps. The performance will be further improved when data compression is used.
Among the advantages offered by the present invention is the capability to have error-free
transmission of digital data over the cellular
telephone system from a portable or laptop computer to another compatible computer which has a conventional landline-type modem and to transmit at a rate higher than 1200 baud.
Examples of the more important features and advantages of the invention have thus been summarized rather broadly in order that the following detailed description thereof may be better understood and in order that the contribution to the art may be better appreciated. There are, of course, additional features of the invention that will be described hereinafter and which will also form the subject of the claims appended hereto. Other features of the invention will become apparent with reference to the following detailed description of a presently preferred embodiment thereof in connection with the accompanying drawing, wherein like reference numerals have been applied to like elements in which:
BRIEF DESCRIPTION OF THE DRAWING
FIGURE 1 is a simplified schematic, in block diagram form, of the preferred embodiment of the present invention.
FIGURE 2 is a simplified flowchart illustrating the connection phase provided by the present invention.
FIGURE 3 is a simplified flowchart illustrating the data phase provided by the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to the drawing and to FIGURE 1 in particular, shown therein and generally designated by the reference character 10, is a modem incorporating the preferred embodiment of the present invention.
Microcontroller 12 is a Hitachi 63B03Y eight-bit microprocessor which is employed as the controller for the modem 10. Microcontroller 12 can run up to eight megahertz and provides twenty four parallel I/O ports and one serial communication interface. One static RAM 14 is added to the system to provide adequate working space for programming. An eight K by eight bits EPROM 16 is added to the system to provide enough ROM space for the firmware. RAM 14 and EPROM 16 are operatively connected to the microcontroller 12 by data and address bus 18. Microcontroller 12 executes the firmware stored in EPROM 16 and manipulates the data in RAM 14 through the data (eight bit) and address
(sixteen bit) bus 18. A decoder in microcontroller 12 is used to decode the address bus to select RAM 14, ROM 16 or modem chip 20. Modem 10 communicates with the Data Terminal Equipment (DTE) 24 through the RS232C interface 26 operatively connected to microcontroller 12. In the disclosed embodiment. Data Terminal
Equipment (DTE) 24 is a computer. Ring indicator signal is sent to modem chip 20 via bus 21.
Modem chip 20 is operatively connected to
microcontroller 12 by data and control bus 22. Modem chip 20 is a Rockwell RC2424DP/DS and is a 2400 baud (bits per second), full duplex, data pump modem device set. It includes a digital signal processor (DSP) and an integrated analog (IA) device. In addition to digital signal processing on the transmitted data, the DSP provides the interface to the microcontroller 12 for information exchange and controlling. The IA chip functions like a digital to analog converter and an analog to digital converter to manipulate the signal to and from the DSP.
Modem 10 is able to connect to the normal
telephone landline 28 through a Data Access Arrangement 30 interface and access a remote device 32, such as another computer or telephone. Modem 10 establishes the connection through a dialing process by specific AT commands from the keyboard of the Data Terminal
Equipment 24. Although most of the applications of modem transmission involves dial-up lines, modem 10 can also be connected to a leased (private) line. Under this condition, special line conditioning is not needed and the operation is full duplex over this leased line. In other words, there is not any dialing process required before connection to the leased line. The landline ring indication signal is transferred from the Data Access Arrangement 30 to modem chip 20 via bus 34 while the -OHRELAY, MUTE and -T/D RELAY signals are transferred to the Data Access Arrangement 30 from modem chip 20 via bus 36. When an incoming call is present, the landline ring indication signal is
recognized by the Integrated Analog (IA) Device of modem chip 20 with appropriate control signals being sent to the Data Access Arrangement 30 by the modem chip 20. The assertion of the -OHRELAY signal causes
an offhook (online) function to be performed. The -T/D RELAY signal controls when the telephone landline 28 is connected to the Data Access Arrangement 30. MUTE is a signal controlled by the microcontroller 12 to reduce the transient effects during offhook and onhook
operations due to the on/off of the relay controlled by the -OHRELAY signal.
The switching between the telephone landline 28 and the cellular telephone system 38 is performed by analog switches 40, 42 and 44 which may be comprised of analog multiplexer/demultiplexer chips. Analog switch 40 is controlled by the MDM-SEL (modem select) signal from microcontroller 12 via bus 46. Analog switch 42 is controlled by the CU-SEL (CU select) signal from microcontroller 12 via bus 48. Analog switch 44 is controlled by the HS-SEL (handsfree select) signal from microcontroller 12 via bus 50. Analog switch 40 allows the analog signals transmitted from and received by modem chip 20 to be routed either to the landline 28 via amplifier 52, bus 54, analog switch 40, bus 56 and Data Access Arrangement 30 or to the transceiver unit 58 of the cellular telephone system 38 via amplifier 52, bus 54, analog switch 40, bus 60, buffer 62 and bus 64. Analog switch 42 allows the signals from and to the handset (control unit) 66 of the cellular telephone system 38 to be routed either to the landline 28 via bus 68, buffer 70, analog switch 42, bus 56 and Data Access Arrangement 30 or to the transceiver unit 58 of the cellular telephone system 38 via bus 68, buffer 70, analog switch 42, bus 60, buffer 62 and bus 64. Analog switch 44 allows the signals from and to the microphone 72 and the speaker 74 of voice board 76 to be routed either to the landline 28 via bus 78, buffer 80, analog switch 44, bus 56 and Data Access Arrangement 30 or to the transceiver unit 58 of the cellular telephone
system 38 via bus 78, buffer 80, analog switch 44, bus 60, buffer 62 and bus 64.
In summary, different operations can be performed by different settings of the analog switches 40, 42 and 44 and hence different routing of the signals. When data from or to modem chip 20 is to be routed to landline 28, the output of analog switch 40 is
connected to bus 56 and landline 28 while the outputs of analog switches 42 and 44 are connected to bus 60 and the transceiver unit 58 of the cellular telephone system 38. When data from or to modem chip 20 is to be routed to the cellular telephone system 38, the output of analog switch 40 is connected to bus 60 and the transceiver unit 58 while the outputs of analog
switches 42 and 44 are connected to bus 56 and landline 28. When voice signals from or to the cellular handset 66 are to be routed to the transceiver unit 58, the output of analog switch 42 is connected to bus 60 and the transceiver unit 58 while the outputs of analog switches 40 and 44 are connected to bus 56 and landline 28. When voice signals from or to the cellular handset 66 are to be routed to landline 28, the output of analog switch 42 is connected to bus 56 and landline 28 while the outputs of analog switches 40 and 44 are connected to bus 60 and the transceiver unit 58. When voice signals from or to the handsfree voice board 76 are to be routed to landline 28, the output of analog switch 44 is connected to bus 56 and landline 28 while the outputs of analog switches 40 and 42 are connected to bus 60 and the transceiver unit 58. When voice signals from or to the handsfree voice board 76 are to be routed to the transceiver unit 58, the output of analog switch 44 is connected to bus 60 and the
transceiver unit 58 while the outputs of analog
switches 40 and 42 are connected to bus 56 and landline 28.
When data is being sent from or received at modem chip 20 on bus 54, the same signals are sent to amplifier 82 via bus 84. A mute signal is also sent to amplifier 82 from microcontroller 12 via bus 86.
Amplifier 82 then outputs a mute signal on bus 88 to voice board 76 to disable speaker 74 during the
transmission and receipt of data from or to the modem chip 20.
The cellular telephone system 38 connected to modem 10 is a program control-full duplex radio
telephone for use in 800 MHz cellular telephone system. It consists of a Transceiver Unit (TRU) 58 and a
Dial-in-Handset Control Unit (CU) 66. The TRU 58 is to provide full duplex synthesized FM radio channel for voice and data transmission between the cell site base stations. The CU 66 is the interface between the user and the system. The design strategy of the cellular phone interface 90 is to replace the control unit by the modem 10. In other words, the modem 10 simulates the total function of the control unit in order to perform voice and data transmission through the
transceiver unit 58.
To control the TRU 58, a digital path must be provided between the TRU 58 and microcontroller 12. This path is provided by and through bus 92, the cellular phone interface 90 and bus 94. The digital data is composed of forward data (FDATA) , reverse data (RDATA) , serial clock (CLK) and ring indicator (RI). Microcontroller 12 sends commands like offhook, dialed digits, onhook, etc. to the TRU 58 via FDATA while TRU 58 returns some status information to the
microcontroller via RDATA.
The RS232C standard defines the interface between the Data Terminal Equipment 24 and the microcontroller 12 and the modem chip 20. Commands entered from the
Data Terminal Equipment 24 is sent via RS232 cable 96 by asynchronous transmission into the serial port of the microcontroller 12.
Modem 10 is a high performance 2400 baud modem and is designed such that it can be used for cellular data communications. Unlike conventional modems, it does not provide any hardware jumper or switch settings and thus eliminates the inconvenience to non-technical users during operation. Instead, the alteration of all functional features can be thoroughly assessed through AT command sets and settings of S registers.
Modem 10 is a Hayes compatible 2400 bps modem, including most of the AT commands implemented in Hayes 2400 bps Smartmodem except those commands for
synchronous transmission and speaker control. In order to increase the efficiency, full-duplex operation is supported during communication. Modem 10 can establish connection with various speeds such as 300 bps, 600 bps, 1200 bps and 2400 bps under different
communication protocols. Retrain sequence is
automatically detected and sent to maintain proper communication environment between calling and answering modem during connection. Auto answer mode is activated by setting up the ring count value before connection. Modem 10 can establish the connection in either
originate mode or answer mode directly selected by the software. Pulse and tone dialing are both supported in modem 10 with software selection of the pulse and tone dialing format.
The outstanding feature of modem 10 is the
capability of connection with the cellular telephone system 38. This enhances its portability when
installed in the portable or lap-top computer. In addition to data transmission, modem 10 provides the function for voice communicabion. Together with voice
board 76, the user can establish voice conversation in a handsfree mode whether connected to landline 28 or the cellular telephone system 38.
In order to eliminate the errors induced by the noisy communication channel of the conventional voice telephone line and the cellular telephone system as well as loss of carrier of the cellular telephone system, a modified networking protocol (MNP) is
employed in the software program for modem 10. MNP is a set of data communication protocols which provide error-free communication of data and define a file transfer protocol at the application layer, the session protocol and the link protocol. The data is divided into a series of numbered packets during transmission and a 16-bit CRC (Cyclical Redundancy Check) data is appended to each packet of data for error checking. This block structure can achieve one hundred percent error free transmission of data. If any error in a packet is received by the answering modem, a negative acknowledgement will be issued to request the
retransmission of the bad packet or packets.
Compared with other software-based file transfer protcols, MNP provides an improved transmission
throughput or data rate. Upon level three operation, data transmission is in the synchronous mode, thus relieving the overheads in each data byte transmission, such as the start bit and stop bit. For 2400 bps physical layer, the effective throughput may be up to 2600 bps. The performance will be further improved when data compression is used.
In the present invention, modem 10 can be
connected to the cellular telephone system 38. Carrier loss happens more frequently in a cellular system than in a landline system. The present inventive protocol adapts to this unhealthy working environment of the
cellular system by increasing the re-try count from two to six in the link phase. After successful connection, the packet re-try count is set to eighteen. During carrier loss, modem transmission is temporarily
suspended to wait for the recovery of the carrier. If the carrier loss occurs in synchronous mode, the modem will switch back to asynchronous mode until detection of the carrier occurs and will then switch back to synchronous mode. In other words, even if the carrier is lost, the modem will not "hang up".
With reference to the software implementation, the operation of modem 10 is divided into three modes comprising a command mode, a data mode and an escape mode; therefore, the software is based upon the three modes of operation.
In the command mode, modem 10 receives the input via the serial port through the RS232C interface. If the echo command is on (ATE1), the same character which is input will be fed back to the DTE 24.
Modem 10 accepts the AT command sets with the prefix 'AT' or 'A/'. If the input character is 'A', modem 10 will wait for the typing of 'T' or '/'. If not received, modem 10 will repeat the process for the next 'A'. After receiving a correct command prefix 'AT', modem 10 will start to accept typing as AT
command and will store them in the command buffer until a carriage return is entered. Modem 10 will then process the commands in the command buffer and output corresponding messages to the DTE 24 via the serial port. If an incorrect command is sent, an error
message will be displayed. On the other hand, modem 10 will not wait for the input of a carriage return if 'A' is captured first. Instead, it will repeat the last entered command in the command buffer.
One of the smart features in the command mode is the capability of auto baud rate checking and auto format adjustment. This is established by the
inspection of the AT command prefix 'AT' and 'A/'. At this stage, the reception of the prefix is done on bit manipulation instead of accepting the whole character through the serial port of the microcontroller 12. The start bit duration of the typed character is measured and hence the current communication baud rate is determined. According to the measured baud rate, the succeeding bits will be sampled and captured, also the input character is then found. If this is a character 'A', then the next character is captured in the same manner except that the duration of its start bit need not be measured again. If the next character is 'T' or '/', the process of auto baud rate check will then be completed.
The format of asychronous communication protocol (parity bit, data bit, stop bit) is also determined during the capture of the command prefix. This is achieved by the sampling of bit 8 and bit 9 of the character 'A' and valid character 'T' or '/'. From the different combination of these bits, specific format of protocol is recognized. Afterward, the serial
communication that follows will employ the serial port of the microcontroller 12 since the baud rate and format have been decided.
If a call is coming, the ring signal (ring
indication) will be detected and a 'RING' message will be shown for each ring. If the number of rings received is equal to the value stored in the SO
register or the 'ATA' command is entered, modem 10 will connect the line to answer the coming call. It will then switch to data mode for transmission.
To make a call, the command 'ATD' is entered and then followed by the dialed number. Modem 10 will check for the presence of a dial tone and then for a busy tone after completing the dialing process. At the end of the dialing process, modem 10 will wait for the presence of the carrier within the time specified by the value in S7 register. If a carrier is detected, connection is successful and data mode is entered.
Otherwise the call process is aborted.
Because modem 10 employs MNP to provide an error free and data compression scheme for data
communication, there are two absolutely different modes (normal mode and MNP reliable mode) selectable by the user. For the application of interfacing with the cellular telephone system 38, the MNP mode is
compulsory for maintaining proper operation due to the noisy environment and frequently lost carrier. The mode switching is controlled soley by a set of
particular AT commands.
In the normal mode and without activation of the MNP mode, modem 10 handles the data transmission as a conventional modem. It follows the CCITT or BELL recommendation to perform asynchronous transmission in 300, 600, 1200 or 2400 bps. The data flowing between the modems is on a character basis. No error detection and data compression is done on this mode.
In the MNP reliable mode, transmission is
performed in units of data packets. The technique of handshaking is added to normal data transmission in order to achieve error elimination and protocol
compatibility. There are different packets named Link Protocol Data Unit (LPDU) defined in MNP for specific purposes. Each LPDU has its own information such as the sequence number and series number and a Cylical Redundancy Check (CRC) checksum at the end of each
LPDU.
During the connection phase, information exchange between the calling and called party rely on the transmission of Link Request packet (LR LPDU) and Link Acknowledgement packet (LA LPDU). Through this three way handshaking, a compromised operating environment will be established for both modem devices.
Asychronous transmission works on these packets. If MNP level three or above can be achieved after the link phase, then synchronous mode will be selected for data transmission in SDLC frame structure with a view to the increase in efficiency. Otherwise, asychronous mode will be kept unchanged as usual.
The error detection is done by comparing the calculated CRC with the actual CRC which is received for each packet. If errors occurs, an acknowledgement requesting the retransmission of the bad packets will be issued. Hence MNP can achieve excellent reliability for data communication over the cellular telephone system. A retransmission counter defines the maximum available attempts for retransmission. An inactivity timer keeps tract of the silence time (no information exchange) after the line is connected. If the above time limitation is violated, the transmission will be terminated at once thereby indicating that the current working environment is abnormal and hence the line should be disconnected.
In normal operation, the data packets will be sent in order by the sender modem according to their
sequence number specified during transmission. For a successful receipt of a data packet (LD LPDU), the receiver must issue the positive acknowledgment to the sender to indicate the correct receipt of the packet. This is accomplished by placing the sequence number of the data packet in the LA LPDU packet. In order to alleviate the overhead caused by the frequently
transmitted LA packet, the receive modem does not need to make an immediate response to each data packet received. Instead, it permits the delay of the transmission of LA packets within the extent of the window size (four data packets in the inventive protocol). The receive modem will send the sequence number of the latest good data packet received. As a result, all of the packets with sequence numbers earlier than that in the LA packet which is
acknowledged are positively acknowledged by only one transmission of the LA packet.
If modem 10 is operating in the escape mode, all the AT commands can be used. The typing of the escape sequence in the data mode will switch the modem 10 to the escape mode for the access of AT commands. On the contrary, the command 'ATO' will bring the modem back to the data (online) mode once again.
With reference to FIGURE 2, the connection phase of the inventive protocol software, prior to the transmission of data, is disclosed. The line, either landline or cellular, is connected (line is connected 98) between the local and remote modem either through the dialing process or a leased-line operation.
Desired communication configuration (establish desired communication 100) is established with a remote modem through handshaking. The presence of the carrier from the remote modem (carrier present 102) is determined. If the carrier is not present within a specified time (times up 106) then the connection will be terminated (terminate the connection 104) and the connection phase must be initiated again. If the carrier is not present and the specified time has not elasped, then the presence of the carrier from the remote modem (carrier present 102) will continue until the specified time has elasped or the presence of the carrier occurs. With
the carrier being present, the remote modem is
interrogated (interrogate the remote modem 108) by sending appropriate link-connect packet to the remote modem. If the correct link-connect packet 110 is received from the remote modem then the MNP connection is successful 112 and the next step is (go to data phase 114) as shown in FIGURE 3. If the correct link-connect packet 110 is not received, then the correct link-connect packet 110 is repeated through the Retry-Count 116 step until successful receipt of the correct link-connect packet is received or until the Retry-Count = 6 step 118 equals the count of six. At that time, the MNP connection fails 120 and a line disconnect 122 or the connection phase is run in the non-MNP mode.
With reference to FIGURE 3, the data phase of the inventive protocol software, after the successful connection phase, is disclosed. From data phase 116, the presence of the carrier (carrier present 118) is determined. If the carrier is present, then the determination is made as to the readiness of a data packet (data packet is ready 120) for transmission. If the carrier is not present, then the modem is switched to the asynchronous mode (switch to asynchronour mode 122) and the presence of the carrier (carrier present 124) is determined. Upon the presence of a carrier, modem 10 is switched to the synchronous mode (switch to synchronous mode 126) and the determination is made as to the readiness of a data packet (data packet is ready 120). Upon determination that a data packet is ready for transmission then the data packet is transmitted (transmit this data packet 128) and acknowledgement is noted (positive acknowledgement received 130). If positive acknowledgement received 130 occurs, then the cycle is back to step 118, step 120, step 128 to step
130. This cycle is repeated until transmission is complete or carrier is lost. If positive
acknowledgement is not received at step 130, then a check is made to determine if the retransmission timer elasped 132 has occurred. If it has, then the next step is to the (ReTx-count=ReTx-count + 1) 134 to the step of (ReTx-count = 18) 136. If the ReTx-count has not reached 18, then the cycle is back to step 128 where the data packet is transmitted again until the ReTx-count = 18. At that time, the MNP disconnect sequence 138 disconnects the modem from the landline or cellular.
If the retransmission timer elasped 132 has not occurred, then a check is made for a negative
acknowledgement received 140. If a negative
acknowledgement has been received, then the next step is step 134 and eventually back to step 128 (transmit this data packet). If a negative acknowledgement has not been received, then the cycle is back to step 130 (positive acknowledgement received 130) to determine if a positive acknowledgement has been received.
Whenever a positive acknowledgement is received at step 130, that yes status is sent back to step 118 to check for a carrier present 118 so another data packet may be made ready for transmission as in step 120.
When a data packet is received 142, then an acknowledgement (acknowledge the remote modem 144) is noted and the cycle is back to step 118 to start the sequence to send another data packet. If a packet is not received (acknowledge the remote modem 144), then the cycle is back to step 118.
Although the present invention has been described herein with reference to specific forms thereof, it is evident that many alternatives, modifications and variations will become apparent to those skilled in the art in light of the foregoing disclosure. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the manner of carrying out the invention. It is to be understood that the forms of the invention herewith shown and described are to be taken as
presently preferred embodiments. Various changes may be made in the shape, size and arrangement of parts. For example, equivalent elements may be substituted for those illustrated and described herein, parts may be reversed, and certain features of the invention may be utilized independently of other features of the
invention. It will be appreciated that various
modifications, alternatives, variations, etc., may be made without departing from the spirit and scope of the invention as defined by the appended claims.