WO1994001950A1 - Computer/telephone interface apparatus - Google Patents

Computer/telephone interface apparatus Download PDF

Info

Publication number
WO1994001950A1
WO1994001950A1 PCT/AU1993/000338 AU9300338W WO9401950A1 WO 1994001950 A1 WO1994001950 A1 WO 1994001950A1 AU 9300338 W AU9300338 W AU 9300338W WO 9401950 A1 WO9401950 A1 WO 9401950A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
filter
received
characters
data characters
Prior art date
Application number
PCT/AU1993/000338
Other languages
French (fr)
Inventor
Michael John Coventry
Andrew Paul Coventry
Original Assignee
Evtech Pty. 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 Evtech Pty. Ltd. filed Critical Evtech Pty. Ltd.
Priority to AU45471/93A priority Critical patent/AU4547193A/en
Publication of WO1994001950A1 publication Critical patent/WO1994001950A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • This invention relates to an apparatus to interface a computer to a telephone and in particular relates to a digital character filter suitable for interfacing a portable computer to a radio telephone which may be a cellular telephone utilising the public switched telephone network (PSTN) .
  • PSTN public switched telephone network
  • Portable personal computers which have the same utility as that of computers traditionally desk bound, have increased the productivity and services of those personnel having access to them.
  • portable versions of personal computers only have memory capacities which suffice for limited creative and data intensive endeavours, whereas, desk and room bound computers will have the required storage capacity and are connected via various networks to larger computers including other desk bound computers and even main frame computers to exchange and use information that personal computers in isolation cannot.
  • modems are widely used to enable portable computers to communicate over fixed lines and public switched telephone networks digital data to larger fixed computers and their associated networks.
  • modems Both stand alone and built-in modem types are used with portable computers.
  • PSTN public switched telephone network
  • modems have been developed to the point where they are now designed specifically for direct connection into the PSTN via standard telephone sockets.
  • This arrangement provides the ability for a personal computer user to set up their equipment adjacent a standard telephone socket and communicate computer to computer via the PSTN. Consequently, portable computers are able to transfer files, make data queries and act if necessary as a remote access user of the larger and more comprehensive office bound computer equipment.
  • telephone systems of all types are typically optimised for the exchange of voice communications between humans. It is well known that the frequency components of speech can be distorted, filtered, translated and variously changed by the carrier system used between two humans but the information content (message) will still have a high likelihood of being received and understood.
  • voice frequency distortions and some additional problems caused by characteristics inherent to the cellular/radio environment will decrease the likelihood of the message being received and understood. For example radio signal fluctuation including fading, temporary signal loss, phase distortion and multipathing frequently occur in these radio extended telephony systems. In a voice communications example these problems can reduce the probability of voice message understandability but will still in the main allow acceptable voice message exchange across the radio extended telephone network.
  • a variety of design variables are available to optimise radio telephony communication systems and typically these measures are used in current mobile phone systems to optimise the cellular/radio telephone system for voice communication.
  • Cellular telephone and overlapping radio telephone areas have the common problem of cell to cell switch over blanking. This phenomena may be acceptable for pure voice communications, but can adversely affect data transfer processes by corrupting or omitting multiple individual bits and/or bytes of data even though with improving technology the period of switch over blanking is reducing.
  • modems have been recently adapted to detect and correct data stream exchanges as one way in which to overcome the numerous problems which arise when data is exchanged between computers over a radio/cellular telephone service.
  • Error detection and correction however can increase the redundancy of data exchanged and consequently reduce the rate of exchange of data between corresponding modems thereby slowing down the rate of interaction of the computers sometimes to an unacceptable rate for the user.
  • the data detection and particularly the data correction facilities require full duplex communication channels which although used in most systems for telephone exchange are not necessarily available in radio telephone systems.
  • a data filter to pass only acceptable data characters of a digital bit stream comprising a means to receive a data string of a digital bit stream and associate said string with one of a plurality of predetermined data characters, a means to associate said data character with a weight according to a predetermined set of weights and data characters, a means to sum weights of successively received data characters, and, a means to pass through said filter only those received data characters for which the sum during a predetermined period is greater than a predetermined sum.
  • FIG. 1 depicts a data received filter process
  • Fig. 2 depicts a data received filter process
  • Fig. 3 depicts a data received filter process.
  • This invention relates to a device for providing a data character filter which may be used at either end of a data exchange system.
  • a device for providing a data character filter which may be used at either end of a data exchange system.
  • the user interface of the device which controls the various elements of an associated mobile phone, modem and computer combination to handle as many of the modem settings, communication protocols and data transfer file logging requirements as possible.
  • Facilities such as auto log-on sequence/storage and replay, modem settings regarding auto ranging speed of data transfer at log-on and during transfer, data wait periods during signal loss or fades, error detection and error correction protocol selection and the optional use of data compression are all required to be preprogrammed or easily variable by the user.
  • the invention describes a further means by which a data stream can be checked or filtered and which when used alone or in conjunction with the abovementioned and other measures can measurably improve the success of data transfer between portable and fixed computers via a cellular or radio telephone network.
  • the ability to detect spurious characters, missing characters and the absence of characters is central to any data checking or filtering process and means to provide these facilities are available in hardware and software form as is the filter means of the invention described herein by example only.
  • each data character which itself is comprised of a number of bits (typically 7 or 8) forming a byte of information can carry an additional bit representative of say the parity of the collection of bits in the byte.
  • This is a very basic check mechanism, while other more complicated mechanisms create a unique check sum value for a plurality of bytes which can verify the integrity of a particular collection (packet) of bytes and so forth.
  • Flow control is only possible with duplex links as are available in cellular environments and one example of a mechanism for controlling the flow is the sliding window mechanism, which is categorised by the size of the sender's window and the size of the receiver's window. When both are equal to 1, the protocol is stop-and-wait otherwise when the sender's window is greater than 1, the receiver can be programmed either to discard all frames other than the next one in sequence or buffer out-of-order frames until they are needed.
  • the following filter can be applied in any layer using either hardware or software implementations.
  • the filter is transparent to the user and applicable to received data at any end of a data stream transmission.
  • the filter can be applied to data which itself is encrypted, corrected, filled or the like, however, identifiable changes to the predetermined factors which optimise the filter will need to be attended to in each case.
  • the problem to be addressed in this the chosen, cellular telephone environment is the minimisation of errors received by a computer attached to a cellular telephone/modem apparatus.
  • the majority of characters received in typical data exchanges comprise ASCII characters of the alphabet both upper and lower case, numerals, various control codes (NUL, SOH, STX, ..., LF, VT, ..., SUB, ESC) which in general are low order bytes i.e. the least significant bits are likely to be zeros while the high order bits are likely to be ones.
  • some common symbols are exchanged such as those in the IBM and APPLE character set and certain groupings of byte values which when grouped represent more complex command or pictorial representations.
  • the invention involves the step of associating with a data string of a digital bit stream one of a plurality of predetermined data characters. If the data string falls within a set of acceptable data characters the remaining steps of the process can proceed.
  • the next step involves weighting each received data character found to be in the set and some of these characters will have a high value (say for example 5 (no units)).
  • the next step involves the summing of the weights of successively received data characters. When the running sum is greater than a predetermined value (say for example 15 (no units)) then a previously received character is considered a good (or correctly received) character. Whether a particular previously received data character is passed through the filter, is determined by some other parameters, such as, for example:
  • the maximum time period is the period of 6 characters within which the running sum threshold of 10 can be achieved as shown at Fig. 1. Note however that the period may be variable in different communications environments or with different types of modems, protocols and error detection and error correction algorithms all being factors external of the filter.
  • the weightings used in this example are very basic and are simplified weightings resulting from an analysis of the most commonly exchanged 8 bit byte characters in the ASCII format. Characters in that category make up in this example a predetermined set of acceptable data characters and are provided a weight of 5 (five) while those characters that are not amongst the most common character category and are not in the predetermined set are not expected to be received and consequently are rejected (not accepted), but if received are provided a weight of 0 (zero) or even a negative value, weighted according to its probability of receipt.
  • a text based, file or communications exchange will have one type of distribution and a corresponding weighting arrangement, while a source code file exchange will have another, a graphics exchange another and so forth. There will be shown in other examples weighting which have values between 5 and 0.
  • the data string examined is of one byte length, typically, representative of an ASCII data character, however, other data string lengths can be accommodated although not provided by example herein.
  • the threshold of minimum value characters received in this example is 0 (zero) or in other words only 1 (one) minimum value character received during the 6 character maximum time period discussed above will cause that minimum valued character to be rejected by the filter.
  • the running sum threshold of the weightings to accept a character is 15.
  • a string of characters 'A-H' (8 bytes each of 8 bits) are received by the filter means which will accept the first 'A' character if when the process looks ahead at successively received characters and the acceptance criteria is met, which, comprises (a) achieving the running sum threshold of 15 within the maximum time period equivalent to 6 characters and (b) without exceeding the threshold of minimum value characters received of 1, (c) then the 'A' character will be accepted.
  • a character when received may be of the high or low weighting but that does not determine whether that character is likely to be validly received and necessarily be what it represents itself to be. Rather the filter will decide to reject a character based on a probability it is valid, the probability being assessed from the weights of characters which come after it and their associated probabilities of being a valid character. Thus in this process when generally applied, a low weight character may still be accepted if all other characters received after it are probably valid as well.
  • the running sum becomes 5 and the character 'A' is held until; the second character, which is supposedly a 'B' is received and the running sum becomes 10; the third character, which is supposedly a 'C and the running sum becomes 15 at which point since the running sum has reached the threshold 15 value of this example before the elapse of the 6 character period, the first character 'A' is accepted and passed through the filter.
  • the fifth character is an 'E' and thus the running sum is 5; the sixth character is an 'F' and the running sum is 10. Since this is the end of the maximum allowable time period of 6 received characters with the running sum less than the threshold 15 value, the second character 'B' is rejected. Note that it was the elapse of the predetermined period and not directly the lack of running sum which was the criteria that created this rejection step.
  • the running sum for the third received character has been set to 0 and becomes 5 upon receipt of the 'C character which is held until; the fourth character ' ' sets the running sum to 0; the fifth character an E sets the running sum to 5; the sixth character an F sets the running sum to 10; the seventh character a G sets the running sum to 15 and since this falls within the allowed period of 6 characters from the third received character, the third character 'C is accepted.
  • the running sum of minimum weight characters is 1 but not greater than 1.
  • the running sum has again been set to 0 for the newest received character and becomes 5 upon receipt of the 'E' character which is held until; the sixth character an 'F' sets the running sum to 10; the seventh character a 'G' sets the running sum to 15 and since the running sum threshold has been reached within the allowed period the fifth character 'E' is accepted.
  • the data stream issued by the filter output comprises in this example so far A, C, E and likely as the process progresses to be F, G...
  • Fig. 3 it can be seen at least pictorially that the fourth to the sixth characters are noise and not characters at all. This type of noise occurrence and the equivalent effect of signal fading and signal drop out can regularly occur in cellular mobile communications environments and also occur in radio telephone systems.
  • the noisy region of the data stream affects the acceptance of characters before it by rejecting in this case the second and third characters 'B' and 'C but as soon as the noise stops, the look forward process begins accepting the next character thereafter, so it is shown that the characters 'FG... ' and so forth are accepted.
  • the process may use a preset or user selectable weight distribution or alternatively it may adapt the weights applied automatically to the type of data being sent.
  • the process adopts the appropriate weights and filters the received data stream accordingly and when an ASCII file type is being received it changes the weights accordingly.

Abstract

A digital character filter suitable for increasing the reliable receipt of digital data communicated via radio and cellular telephones is described. The portable computer's usage is increasing and although they provide a necessary business tool, their utility is greatly increased when they are able to easily access the computer power and data storage facilities located remote from their ever changing location. The cellular telephones are optimised for voice communications and heretofore have not been as useful as hoped when used to connect portable computers with fixed computer facilities via the Public Switched Telephone Network (PSTN). The filter methodology depicted by example in the figure uses a look ahead feature combined with a number of predetermined weightings for received data characters to determine whether there is an acceptable probability that the received character is what it purports to be when received. The weightings are applied and summed over a predetermined period of preset number of received characters. The acceptance or not of a received character is also capable of being made dependent on the weightings used in relation to the type of data being exchanged. The filter can be used at either end of a data exchange.

Description

"COMPUTER/TELEPHONE INTERFACE APPARATUS"
This invention relates to an apparatus to interface a computer to a telephone and in particular relates to a digital character filter suitable for interfacing a portable computer to a radio telephone which may be a cellular telephone utilising the public switched telephone network (PSTN) .
BACKGROUND
Portable personal computers which have the same utility as that of computers traditionally desk bound, have increased the productivity and services of those personnel having access to them. However portable versions of personal computers only have memory capacities which suffice for limited creative and data intensive endeavours, whereas, desk and room bound computers will have the required storage capacity and are connected via various networks to larger computers including other desk bound computers and even main frame computers to exchange and use information that personal computers in isolation cannot.
Consequently, modems are widely used to enable portable computers to communicate over fixed lines and public switched telephone networks digital data to larger fixed computers and their associated networks.
Both stand alone and built-in modem types are used with portable computers. Initially, the modem was acoustically coupled to standard telephone hand sets which in turn were connected to the public switched telephone network (PSTN) and subsequently to another modem connected to a desk bound or main frame computer. In accordance with strict regulations, modems have been developed to the point where they are now designed specifically for direct connection into the PSTN via standard telephone sockets. This arrangement provides the ability for a personal computer user to set up their equipment adjacent a standard telephone socket and communicate computer to computer via the PSTN. Consequently, portable computers are able to transfer files, make data queries and act if necessary as a remote access user of the larger and more comprehensive office bound computer equipment.
Not until the advent of widespread reliable radio telephone and cellular radio telephone services providing completely portable access to the PSTN, did the idea of adapting a personal computer, modem and portable telephone arise. As the consequence of the need to restore to the portable computer user, true portability, equipment packages purporting to support the needs of a mobile personal computer user have been offered.
However, combination of characteristics inherent to the cellular/radio telephone environment, modems and personal computer communication equipment however inhibit the provision of a reliable, accurate and versatile portable and mobile computer facility based on current technology.
Firstly, telephone systems of all types are typically optimised for the exchange of voice communications between humans. It is well known that the frequency components of speech can be distorted, filtered, translated and variously changed by the carrier system used between two humans but the information content (message) will still have a high likelihood of being received and understood. When voice communications via the telephone network is extended using radio communication systems, voice frequency distortions and some additional problems caused by characteristics inherent to the cellular/radio environment will decrease the likelihood of the message being received and understood. For example radio signal fluctuation including fading, temporary signal loss, phase distortion and multipathing frequently occur in these radio extended telephony systems. In a voice communications example these problems can reduce the probability of voice message understandability but will still in the main allow acceptable voice message exchange across the radio extended telephone network. A variety of design variables are available to optimise radio telephony communication systems and typically these measures are used in current mobile phone systems to optimise the cellular/radio telephone system for voice communication.
However, as would be expected such networks are not optimised for digital data transfer as is required in computer to computer communication via modems, regardless of the fact that modems are designed to encode data using in band voice frequencies. Of particular concern to digital transfer requirements are the fading and temporary signal loss characteristics, which commonly result in data loss or a break down in the current data transfer sequence which typically require data stream restart and resend procedures. Indeed, these problems have been most persistent and combine with the problem of data corruption caused by the other characteristics of radio communication common to both radio telephone and cellular networks to generally inhibit the provision of a reliable, accurate and versatile mobile computer facility.
Cellular telephone and overlapping radio telephone areas have the common problem of cell to cell switch over blanking. This phenomena may be acceptable for pure voice communications, but can adversely affect data transfer processes by corrupting or omitting multiple individual bits and/or bytes of data even though with improving technology the period of switch over blanking is reducing.
Most modems are not designed to cope with the mobile telephone environment and after relatively long signal fades or loss, these modems and its associated computer, require a set up time to resynchronise the data exchange or in some cases the equipment is unable to reset itself and fails to resume the data exchange at all.
Consequently, modems have been recently adapted to detect and correct data stream exchanges as one way in which to overcome the numerous problems which arise when data is exchanged between computers over a radio/cellular telephone service. Error detection and correction however can increase the redundancy of data exchanged and consequently reduce the rate of exchange of data between corresponding modems thereby slowing down the rate of interaction of the computers sometimes to an unacceptable rate for the user. In some instances the data detection and particularly the data correction facilities require full duplex communication channels which although used in most systems for telephone exchange are not necessarily available in radio telephone systems.
These and other problems will become evident as the invention is discussed which will comprise a means to reduce the effects of those problems.
BRIEF DESCRIPTION OF THE INVENTION
In one form of the invention there is provided a data filter to pass only acceptable data characters of a digital bit stream comprising a means to receive a data string of a digital bit stream and associate said string with one of a plurality of predetermined data characters, a means to associate said data character with a weight according to a predetermined set of weights and data characters, a means to sum weights of successively received data characters, and, a means to pass through said filter only those received data characters for which the sum during a predetermined period is greater than a predetermined sum.
In a further aspect of the invention a method of filtering data characters received at a filter means comprises the steps:
A. associating with a data string of a digital bit stream one of a plurality of predetermined data characters;
B. weighting said determined data character according to a predetermined set of weights and data characters;
C. summing the weights of successively received data characters provided by repetition of steps a) and b); and
D. passing through said filter means only those received data characters for which the sum during a predetermined period is greater than a predetermined sum.
This and other aspects of the invention will be apparent from the following description of a preferred embodiment which, it will be understood, are illustrative only, and need not limit the invention to any one or combination of the following features or elements.
BRIEF DESCRIPTION OF THE FIGURES
An embodiment of the invention will now be described by way of example only using means as illustrated in the accompanying Figures in which: Fig. 1 depicts a data received filter process; Fig. 2 depicts a data received filter process; and Fig. 3 depicts a data received filter process.
DETAILED DESCRIPTION OF AN EMBODIMENT OF THE INVENTION
To assist the understanding of this invention the use of like numerals will be used on like elements illustrated in the Figures and described in this specification.
This invention relates to a device for providing a data character filter which may be used at either end of a data exchange system. At the portable equipment end there is a need for the user interface of the device which controls the various elements of an associated mobile phone, modem and computer combination to handle as many of the modem settings, communication protocols and data transfer file logging requirements as possible.
Facilities such as auto log-on sequence/storage and replay, modem settings regarding auto ranging speed of data transfer at log-on and during transfer, data wait periods during signal loss or fades, error detection and error correction protocol selection and the optional use of data compression are all required to be preprogrammed or easily variable by the user.
However, although the above settings address some of the previously described problems the invention describes a further means by which a data stream can be checked or filtered and which when used alone or in conjunction with the abovementioned and other measures can measurably improve the success of data transfer between portable and fixed computers via a cellular or radio telephone network. The ability to detect spurious characters, missing characters and the absence of characters is central to any data checking or filtering process and means to provide these facilities are available in hardware and software form as is the filter means of the invention described herein by example only.
Commonly, each data character which itself is comprised of a number of bits (typically 7 or 8) forming a byte of information can carry an additional bit representative of say the parity of the collection of bits in the byte. This is a very basic check mechanism, while other more complicated mechanisms create a unique check sum value for a plurality of bytes which can verify the integrity of a particular collection (packet) of bytes and so forth.
Beyond these byte and packet oriented checks there exist a great many protocols for checking and filtering data streams and many factors affect the efficiency of each protocol. Amongst these factors are whether packet/frames are of fixed or variable length, whether piggybacking is used or not, whether the protocol is pipelined or stop and wait, whether the communication path is half or full duplex, as well as the statistical characteristics of the transmission errors.
These protocols are normally associated with the data link layer in the ISO model and ideally convert noisy lines into communication channels free or much reduced of data character transmission errors for use by the layer/s above (typically the network layer) .
Flow control is only possible with duplex links as are available in cellular environments and one example of a mechanism for controlling the flow is the sliding window mechanism, which is categorised by the size of the sender's window and the size of the receiver's window. When both are equal to 1, the protocol is stop-and-wait otherwise when the sender's window is greater than 1, the receiver can be programmed either to discard all frames other than the next one in sequence or buffer out-of-order frames until they are needed.
Various bit orientated protocols exist - SDLC, HDLC, ADCCP or LADB all of which use flag bytes to delimit frames, and bit stuffing to prevent flag bytes from occurring in the data and all of them use a sliding window for control.
As stated earlier these protocols are data layer orientated, whereas without access to the modem internals most modem users are limited to manipulating, filtering and checking the presentation layer output data streams and although not limited in any way to this layer, the invention is described in relation to this layer of the communication process between computers.
Just as encryption can be done in any layer, the following filter can be applied in any layer using either hardware or software implementations. Ideally, the filter is transparent to the user and applicable to received data at any end of a data stream transmission.
Indeed, the filter can be applied to data which itself is encrypted, corrected, filled or the like, however, identifiable changes to the predetermined factors which optimise the filter will need to be attended to in each case.
Firstly, in our example, the problem to be addressed in this the chosen, cellular telephone environment, is the minimisation of errors received by a computer attached to a cellular telephone/modem apparatus. Thus it was recognised by the inventor that the majority of characters received in typical data exchanges comprise ASCII characters of the alphabet both upper and lower case, numerals, various control codes (NUL, SOH, STX, ..., LF, VT, ..., SUB, ESC) which in general are low order bytes i.e. the least significant bits are likely to be zeros while the high order bits are likely to be ones. In addition to these it is also recognised that some common symbols are exchanged such as those in the IBM and APPLE character set and certain groupings of byte values which when grouped represent more complex command or pictorial representations.
Based on this the invention involves the step of associating with a data string of a digital bit stream one of a plurality of predetermined data characters. If the data string falls within a set of acceptable data characters the remaining steps of the process can proceed. The next step involves weighting each received data character found to be in the set and some of these characters will have a high value (say for example 5 (no units)). Thus the next step involves the summing of the weights of successively received data characters. When the running sum is greater than a predetermined value (say for example 15 (no units)) then a previously received character is considered a good (or correctly received) character. Whether a particular previously received data character is passed through the filter, is determined by some other parameters, such as, for example:
(a) if the time period between the receipt of that particular previous character and the receipt of a character which sets the running total greater than the predetermined value is less than a predetermined time (say for example 100 milliseconds ( S)). For operationally acceptable data screen update reasons the period would not likely be greater than 2-300 mS otherwise the users would see the screen update become staccato in appearance; or
(b) if the period is gauged by a predetermined number of previously received data characters say 6; or
(c) if there is a threshold of acceptable minimum value characters (say for example less than or equal to 1) which may be received within the abovementioned period, recognising that if indeed there is the unusual occurrence of high numbers of consecutive legitimate but none the less minimum valued numbers they may not as a consequence of the operation of the process be accepted or allowed to proceed past the virtual filter that is provided.
Taking the example further with the assistance of Fig. 1 we need to firstly establish a number of parameters which are variable and which by being changed in certain ways can improve or degrade the effect that the process provides.
In this example, the maximum time period is the period of 6 characters within which the running sum threshold of 10 can be achieved as shown at Fig. 1. Note however that the period may be variable in different communications environments or with different types of modems, protocols and error detection and error correction algorithms all being factors external of the filter.
The weightings used in this example are very basic and are simplified weightings resulting from an analysis of the most commonly exchanged 8 bit byte characters in the ASCII format. Characters in that category make up in this example a predetermined set of acceptable data characters and are provided a weight of 5 (five) while those characters that are not amongst the most common character category and are not in the predetermined set are not expected to be received and consequently are rejected (not accepted), but if received are provided a weight of 0 (zero) or even a negative value, weighted according to its probability of receipt. We have not been specific in identifying those actual 8 bit codes which are weighted 5 and those that are weighted 0 since the actual distribution will depend on the type of data being exchanged. For example a text based, file or communications exchange, will have one type of distribution and a corresponding weighting arrangement, while a source code file exchange will have another, a graphics exchange another and so forth. There will be shown in other examples weighting which have values between 5 and 0.
It is possible for the various types of data flows/ exchanges to be dynamically identified and for the process to adjust not only the weightings but also various other parameters which are discussed herein.
Preferably the data string examined is of one byte length, typically, representative of an ASCII data character, however, other data string lengths can be accommodated although not provided by example herein.
The threshold of minimum value characters received, in this example is 0 (zero) or in other words only 1 (one) minimum value character received during the 6 character maximum time period discussed above will cause that minimum valued character to be rejected by the filter.
As stated previously, in this example, the running sum threshold of the weightings to accept a character is 15. Thus in Fig. 1 a string of characters 'A-H' (8 bytes each of 8 bits) are received by the filter means which will accept the first 'A' character if when the process looks ahead at successively received characters and the acceptance criteria is met, which, comprises (a) achieving the running sum threshold of 15 within the maximum time period equivalent to 6 characters and (b) without exceeding the threshold of minimum value characters received of 1, (c) then the 'A' character will be accepted.
It is important to note that a character when received may be of the high or low weighting but that does not determine whether that character is likely to be validly received and necessarily be what it represents itself to be. Rather the filter will decide to reject a character based on a probability it is valid, the probability being assessed from the weights of characters which come after it and their associated probabilities of being a valid character. Thus in this process when generally applied, a low weight character may still be accepted if all other characters received after it are probably valid as well.
Thus it will be apparent that the process depends to a large extent individually and collectively on the weightings, the threshold level of minimum value characters and the maximum period in which these parameters can be met.
Thus with regard to the acceptance or not of the first character 'A' the running sum becomes 5 and the character 'A' is held until; the second character, which is supposedly a 'B' is received and the running sum becomes 10; the third character, which is supposedly a 'C and the running sum becomes 15 at which point since the running sum has reached the threshold 15 value of this example before the elapse of the 6 character period, the first character 'A' is accepted and passed through the filter. With regard to the acceptance or not of the second character 'B' a running sum for the second received character has been set to 0 and becomes 5 upon receipt of the 'B' character and is held until; the third character which is supposedly a 'C is received and the running sum becomes 10; the fourth character which supposedly is a ' ', (but which is meant to be a 'D'). In this example the running sum is zeroed since this character is not a member of the set of predetermined acceptable characters and is therefore rejected. As will be shown in other examples if the character had been of a value between 5 and 0 representing a low probability it was the correct character, the process would have provided a different result. The fifth character is an 'E' and thus the running sum is 5; the sixth character is an 'F' and the running sum is 10. Since this is the end of the maximum allowable time period of 6 received characters with the running sum less than the threshold 15 value, the second character 'B' is rejected. Note that it was the elapse of the predetermined period and not directly the lack of running sum which was the criteria that created this rejection step.
Alternatively, there would be other parameter settings which would have allowed the acceptance of the 'B' character as for example a longer period or greater weightings of the acceptable characters.
With regard to the acceptance or not of the third character 'C the running sum for the third received character has been set to 0 and becomes 5 upon receipt of the 'C character which is held until; the fourth character ' ' sets the running sum to 0; the fifth character an E sets the running sum to 5; the sixth character an F sets the running sum to 10; the seventh character a G sets the running sum to 15 and since this falls within the allowed period of 6 characters from the third received character, the third character 'C is accepted. Note that the running sum of minimum weight characters is 1 but not greater than 1.
With regard to the acceptance of the fourth character ' ' , since it is a minimum weight character it is rejected immediately.
This approach preserves in most cases the message meaning since in this example ASCII type English words are the type of data being exchanged. If however, the type of data having its own weighting scheme comprised of image data, then a small gap is also likely not to have an adverse effect on the overall impression of the graphic image.
In this example, with regards the acceptance or not of the fifth character 'E' the running sum has again been set to 0 for the newest received character and becomes 5 upon receipt of the 'E' character which is held until; the sixth character an 'F' sets the running sum to 10; the seventh character a 'G' sets the running sum to 15 and since the running sum threshold has been reached within the allowed period the fifth character 'E' is accepted.
Rejected or not accepted characters are not passed on thus the data stream issued by the filter output comprises in this example so far A, C, E and likely as the process progresses to be F, G...
Referring to Fig. 2 it can be seen that the weights now incorporate a character which has a weighting of 2 which reflects the low probability that this character will be used in a data exchange of this type however, it is predetermined to be an acceptable character in any event. An abbreviated assessment of the process working with the same parameters as previously described comprises the observation that all the received characters are accepted since although the effect of the low weight characters is less with respect the running sum the maximum time period of 6 characters is enough for this type of character to be accepted as likely to be what it says it is. Therefore, as shown in Fig. 2, all the characters in the data stream A[BC] [DEF] are accepted.
Referring to Fig. 3 it can be seen at least pictorially that the fourth to the sixth characters are noise and not characters at all. This type of noise occurrence and the equivalent effect of signal fading and signal drop out can regularly occur in cellular mobile communications environments and also occur in radio telephone systems.
As shown by the table associated with Fig. 3 it can be seen that the noisy region of the data stream affects the acceptance of characters before it by rejecting in this case the second and third characters 'B' and 'C but as soon as the noise stops, the look forward process begins accepting the next character thereafter, so it is shown that the characters 'FG... ' and so forth are accepted.
As will be appreciated this process is ideally suited to duplex communication mediums since modern modems running various error detection and error correction algorithms generally require a return path over which can be sent ACK or REQ signals verifying and requesting resends of lost data characters. It is the experience of the inventors that error detection and correction algorithms still do not satisfy the needs of the mobile environment nor avoid the problems discussed since the modems can delay the transfer process noticeably to the user when they require large amounts of resends because of poor signal or line conditions, switching noise and other interference factors occur. Furthermore, not every data exchange required by the computer user can be made using complementary modems having the same error detection and error correction algorithm, therefore the invention described may provide for filtering of any modem output to improve the transfer of digital data via a cellular or radio telephone network.
Additionally, there still exist many simplex communication mediums where the described filter is a useful if not necessary adjunct to data transfer sessions via radio telephone systems when other forms of data handling are not available.
As discussed previously, not only can a suite of stored weights for different data types be provided when different data types are being exchanged, but the process has the ability to create or learn from previous data exchanges and thereby fine tune the weights of the most commonly used type of data being exchanged.
The process may use a preset or user selectable weight distribution or alternatively it may adapt the weights applied automatically to the type of data being sent.
Thus when the user receives a binary file the process adopts the appropriate weights and filters the received data stream accordingly and when an ASCII file type is being received it changes the weights accordingly.
Alternatively, when the communication medium characteristics change dramatically parameters such as the maximum period or the maximum number of minimum value characters acceptably received within the period may be manually or automatically changed as well.

Claims

THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS:
1. A data filter to pass only acceptable data characters of a digital bit stream comprising a means to receive a data string of a digital bit stream and associate said string with one of a plurality of predetermined data characters, a means to associate said data character with a weight according to a predetermined set of weights and data characters, a means to sum weights of successively received data characters, and, a means to pass through said filter only those received data characters for which the sum during a predetermined period is greater than a predetermined sum.
2. A data filter according to claim 1 wherein said predetermined period is a period of time.
3. A data filter according to claim 1 wherein said predetermined period is a predetermined quantity of successive received data characters.
4. A data filter according to claim 1 further comprising a means to dynamically set said predetermined period within which a quantity of successive received data character weights are summed, dependant on factors external of said data filter.
5. A data filter according to claim 1 further comprising a means to dynamically set said predetermined period within which a quantity of successive received data character weights are summed, dependant on the data characters received by said filter.
6. A data filter according to claim 1 further comprising a means to zero the sum of weights of previous successively received data characters if a predetermined threshold quantity of minimum weighted characters associated with received data characters is exceeded within said predetermined period.
7. A data filter according to claim 1 further comprising a means to dynamically change the set of said predetermined weights, dependant on factors external of said data filter.
8. A method of filtering data characters received at a filter means comprising the steps:
E. associating with a data string of a digital bit stream one of a plurality of predetermined data characters;
F. weighting said determined data character according to a predetermined set of weights and data characters;
G. summing the weights of successively received data characters provided by repetition of steps a) and b) ; and
H. passing through said filter means only those received data characters for which the sum during a predetermined period is greater than a predetermined sum.
9. A method of filtering data characters received at a filter means according to claim 8 comprising the further steps: e) setting the sum of weights to a predetermined sum if the determination of step a) is not one of a plurality of predetermined data characters; and f) proceeding to perform the steps a) - d) .
10. A method of filtering data characters received at a filter means according to claim 8 comprising the further step: g) determining from the type of data characters being input to said filter what is the most appropriate set of a plurality of predetermined data characters that should be applied in step a) .
11. A method of filtering data characters received at a filter means according to claim 8 comprising the further step: h) using a different set of a predetermined weights and data characters dependant upon the data -characters being received at said filter.
12. A method of filtering data characters received at a filter means according to claim 8 comprising the further step: i) determining from the type of data characters being received at said filter what set of weights and data characters should be applied in step b) .
13. A method of filtering data characters received at a filter means according to claim 8 comprising the further step: j) determining from the ratio of data characters passing through the filter to those received at the filter, whether the predetermined period should be changed to a second predetermined period.
14. A method of filtering data characters received at a filter means according to claim 8 comprising the further step: k) determining from the ratio of data characters passing through the filter to those received by the filter whether the said predetermined set of weights and data characters should be changed to another set of weights and data characters.
15. A method of filtering data characters received at a filter means according to claims 13 or 14 wherein said change is made automatically by said filter means.
PCT/AU1993/000338 1992-07-07 1993-07-07 Computer/telephone interface apparatus WO1994001950A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU45471/93A AU4547193A (en) 1992-07-07 1993-07-07 Computer/telephone interface apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPL338192 1992-07-07
AUPL3381 1992-07-07

Publications (1)

Publication Number Publication Date
WO1994001950A1 true WO1994001950A1 (en) 1994-01-20

Family

ID=3776273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU1993/000338 WO1994001950A1 (en) 1992-07-07 1993-07-07 Computer/telephone interface apparatus

Country Status (1)

Country Link
WO (1) WO1994001950A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8598497B2 (en) 2010-11-30 2013-12-03 Bose Corporation Cooking temperature and power control
WO2014126772A2 (en) 2013-02-13 2014-08-21 Nanophase Technologies Corporation Zinc anode alkaline electrochemical cells containing bismuth
US9470423B2 (en) 2013-12-02 2016-10-18 Bose Corporation Cooktop power control system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4085447A (en) * 1976-09-07 1978-04-18 Sperry Rand Corporation Right justified mask transfer apparatus
AU5591586A (en) * 1985-04-10 1986-10-16 Electronic Projects International Ltd. Fir digital filter
EP0223458A2 (en) * 1985-11-14 1987-05-27 Hewlett-Packard Company Deep trap machine
EP0344915A2 (en) * 1988-05-31 1989-12-06 Digital Equipment Corporation Apparatus for processing bit streams
WO1990005334A1 (en) * 1988-11-04 1990-05-17 Davin Computer Corporation Parallel string processor and method for a minicomputer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4085447A (en) * 1976-09-07 1978-04-18 Sperry Rand Corporation Right justified mask transfer apparatus
AU5591586A (en) * 1985-04-10 1986-10-16 Electronic Projects International Ltd. Fir digital filter
EP0223458A2 (en) * 1985-11-14 1987-05-27 Hewlett-Packard Company Deep trap machine
EP0344915A2 (en) * 1988-05-31 1989-12-06 Digital Equipment Corporation Apparatus for processing bit streams
WO1990005334A1 (en) * 1988-11-04 1990-05-17 Davin Computer Corporation Parallel string processor and method for a minicomputer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8598497B2 (en) 2010-11-30 2013-12-03 Bose Corporation Cooking temperature and power control
US9131537B2 (en) 2011-03-29 2015-09-08 Boise Corporation Cooking temperature and power control
WO2014126772A2 (en) 2013-02-13 2014-08-21 Nanophase Technologies Corporation Zinc anode alkaline electrochemical cells containing bismuth
US9470423B2 (en) 2013-12-02 2016-10-18 Bose Corporation Cooktop power control system

Similar Documents

Publication Publication Date Title
US6798740B1 (en) Method and apparatus for switch core health monitoring and redundancy
US6161203A (en) Communication system utilizing Reed-Solomon code to achieve auto frame synchronization acquistion
CN101422059B (en) Method and apparatus for reordering fragments within a MAC layer service data unit within a downlink fram
US6236647B1 (en) Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate
US6751480B2 (en) Method for simultaneously conveying information to multiple mobiles with multiple antennas
US9898220B2 (en) Resource sharing in a telecommunications environment
US5799039A (en) Method and apparatus for error mitigating a received communication signal
EP0661893A2 (en) A dual mode cellular modem
JP2009533973A (en) Packet retransmission and memory sharing
JPH07509115A (en) High speed modem, method and system for synchronous data compression
JPH06505601A (en) Matching clock speeds in independent networks
US20060013216A1 (en) Apparatus and method for supporting real-time services in a wireless network
US20060215742A1 (en) Optimizing for impulse noise protection in a DSL system
WO2002060142A2 (en) Method for bit assignment and fine gain setting in a multi-carrier communications system
EP0158645A1 (en) Data communication method and circuitry.
WO2002060145A2 (en) Method for adaptive bit assignment and fine gain setting in a multi-carrier communications system
US7546512B2 (en) Techniques to perform error detection
WO1994001950A1 (en) Computer/telephone interface apparatus
US6665382B2 (en) Method and apparatus for wireless communication of digital data
CA2186362C (en) Method and apparatus for transmission of data and voice
WO2001069836A1 (en) Methods in a communication system
KR100376249B1 (en) An Error-control Method on Variable-length Data Communication
CN1325219A (en) First-layer protocol realizing device and method for personal hand-held communication system
KR100324202B1 (en) An Adaptive Error-control Method using Padding Bits
JPH02159837A (en) Digital frame constitution method for portable radio equipment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR BY CA CH CZ DE DK ES FI GB HU JP KP KR LK LU MG MN MW NL NO NZ PL PT RO RU SD SE SK UA US VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA