AUTOMATIC REPEAT REQUEST PROTOCOL
TECHNICAL FIELD
The present invention relates to the field of wireless telecommunication. More specifically, the present invention relates to the field of the digital enhanced cordless telecommunications (DECT) system. In one embodiment, there is disclosed an automatic memory repeat request for improved frame error rate in the digital enhanced cordless telecommunications system.
BACKGROUND ART
Within the field of wireless telecommunications systems there exists a system referred to as the digital enhanced cordless telecommunications (DECT) system. Within the DECT system, a user of a cordless portable telephone handset is able to communicate with a user of another telecommunication device by way of a fixed base station utilizing wireless communication. To enable the cordless telephone handset and the base station to communicate within the DECT system, a radio interface is utilized.
Specifically, the DECT standard describes a time division multiple access
(TDMA) system for residential cordless telephone and data transmission applications. Furthermore, the DECT system provides a choice of 120 independent bi-directional communication channels, commonly referred to as DECT channels.
It
should be appreciated that the DECT channels are spread over 10 carrier radio frequencies, typically referred to as bearers. Thus, every bearer provides 12 independent DECT channels. During communication, one or more DECT channels are established between a mobile device (e.g., portable telephone handset) and a base station. In order to share the radio bearer among 12 potential subscribers, a TDMA mechanism is utilized to divide the bearer into 24 slots. More specifically, the first 12 slots are used for the downlink communication direction which is from the fixed base station to the portable telephone handset. Furthermorer the second 12 slots are used for the uplink communication direction which is from the portable telephone handset to the base station. It should be appreciated that the cycle to transmit the 24 slots is referred to as a DECT frame. The cycle time of the DECT frame is 10 milliseconds (ms). As such, the data transmission for the downlink direction as well as for the uplink direction on all 12 DECT channels are carried out within 10 ms. Moreover, every DECT channel offers a transmission capacity of up to 32 kilobits per second (kbits/s) in each direction. It should be noted that there are problems associated within the cordless communication of the DECT system.
One of the problem experienced within the DECT system is that the radio bearers are exposed to radio frequency (RF) noise and signal reflections from time to time. These disturbances lead to corrupted user data within the DECT channels on the receiver side. It should be appreciated that the quality criteria of the DECT standard is the rate of corrupted received user data in relation to correctly received user data. The object is to keep the bit error rate as low as possible in order to obtain a high throughput of correct user data over the DECT channels. Typically, corrupted user data degrades the voice quality (e.g., crackles) of telephony
applications or the corrupted user data has to be retransmitted when used in data applications. Since corrupted user data of data applications will be retransmitted, the user data throughput is degraded over the DECT channel.
Specifically, when a prior art receiver device determines that a cyclic redundancy check (CRC) or other type of error detection mechanism within a received DECT data frame is not correct, the receiver typically discards the data frame and request a retransmission of that data frame from the transmitter. It should be appreciated that user data sent over a DECT channel is protected by a CRC, which is well known by those of ordinary skill in the art. It should be further appreciated that the retransmission procedure is repeated until the data frame has been retransmitted successfully or a retransmission counter exceeds a certain value. It is appreciated that there are no provisions within the DECT standard for selective retransmission of particular portions of the data frame. If the bad transmission condition persists, the portable telephone handset is free to move the DECT channel to another slot on the same radio bearer or to another radio bearer. However, as long as the DECT channel remains on the old slot, the throughput is seriously degraded due to the retransmissions of the data frame.
There is a prior art solution to decrease the bit error rate of data frames during communication transmission within the DECT system which uses a Reed Solomon Forward Error Correction scheme, which is well known by those of ordinary skill in the art. Basically, this scheme operates by storing the last 7 data frames received and then restores any corrupted data. There are disadvantages associated with this prior art solution. One of the main disadvantages of this
scheme is that it is very computationally intensive and is typically realized within hardware. As such, it can be expensive to implement. Furthermore, another disadvantage of this prior art solution is that it introduces a certain amount of overhead within the protocol software to handle the retransmissions. Therefore, it is non-transparent to the DECT base stations and portable telephone handsets thereby resulting in modifications of them in order to operate properly. A further disadvantage of this prior art solution is that it introduces an additional system delay of about 70 ms. A system delay of this size typically excludes the use of this prior art solution with DECT system remote computer terminal applications or voice applications.
Accordingly, a need exists for a method and system for providing improved efficiency of retransmitted data frames within the DECT system. A further need exists for a method and system which meets the above need but is not expensive to implement. Still another need exists for a method and system which meets the above need and is transparent to the DECT base stations and portable appliances. Yet another need exists for a method and system which meets the above need and does not introduce a significant system delay to the receiving side within the DECT system.
DISCLOSURE OF THE INVENTION
The present invention provides a method and system for providing improved efficiency of retransmitted data frames within the digital enhanced cordless telecommunications (DECT) system. Furthermore, the present invention provides a method and system which achieves the above accomplishment and is inexpensive to implement. Moreover, the present invention provides a method and system which achieves the above accomplishment and is transparent to the DECT base stations and portable appliances, Additionally, the present invention provides a method and system which achieves the above accomplishment without introducing a significant system delay to the receiving side within the DECT system.
Specifically, one embodiment of the present invention includes a method for improving retransmission efficiency of a data frame within a communication system. The method includes the step of receiving a data frame which includes a first segmented data block and a second segmented data block or more segmented data blocks. Moreover, the method also includes the step of determining whether the first segmented data block and the second segmented data block include a corrupted data. In response to the first segmented data block including the corrupted data and the second segmented data block not including the corrupted data, the method also includes the step of storing the second data block within a memory. Additionally, in response to the first segmented data block including the corrupted data, the method includes the step of requesting retransmission of the data frame. In response to receiving a retransmission of the first segmented data block which does not include the corrupted data, the method includes the step of
combining the first segmented data block which does not include the corrupted data with the second segmented data block which does not include the corrupted data.
In another embodiment, the present invention includes the steps of the above described embodiment, wherein said step of determining whether said first segmented data block and said second segmented data block include the corrupted data is performed using a cyclic redundancy check (CRC).
In still another embodiment, the present invention includes a communication device that includes a processor, an addressable data bus coupled to the processor, and a memory device coupled to communicate with the processor for performing a method for improving retransmission efficiency of a data frame within a communication system. The method includes the step of receiving the data frame which includes a first segmented data block and a second segmented data block. The method also includes the step of determining whether the first segmented data block and the second segmented data block include a corrupted data. Furthermore, in response to the first segmented data block including the corrupted data and the second segmented data block not including the corrupted data, the method includes the step of storing the second data block within the memory device. Moreover, in response to the first segmented data block including the corrupted data, the method includes the step of requesting retransmission of the data frame. In response to receiving a retransmission of the first segmented data block which does not include the corrupted data, the method includes the step of combining the first segmented data block which does not include the corrupted
data with the second segmented data block which does not include the corrupted data.
In another embodiment, the present invention includes the communication device described directly above wherein the communication device is a base station, in still another embodiment, the communication device described in the previous paragraph above is a mobile device. ,
These and other advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the drawing figures.
RR1EF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIGURE 1 is a general overview of the DECT system in which one embodiment of the present invention operates.
FIGURE 2 is a block diagram of a communication system device used in accordance with one embodiment of the present invention,
FIGURE 3 is a diagram illustrating one embodiment of a data frame used to transmit data within the DECT system during a communication session between a base station and a cordless telephone handset, in accordance with the present invention.
FIGURE 4 is a diagram illustrating how one embodiment in accordance with the present invention automatically performs a reconstruction of a previously received corrupted data frame during a communication session between base station and cordless portable handset within the DECT system.
FIGURE 5 is a flowchart, in accordance with one embodiment of the present invention, of a receiver device automatically performing a reconstruction of a
previously received corrupted data frame during a communication session between a transmitter device and the receiver device.
The drawings referred to in this description should be understood as not being drawn to scale except if specifically noted.
BFRT MODE FOR CARRYING OUT THE INVENTION
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detail description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may bo practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a digital system memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, logic block, process, etc., is herein, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these physical manipulations take the form of electrical or
magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a communication system device. For reasons of convenience, and with reference to common usage, these signals are referred to as bits, values, elements, symbols, characters, terms, numbers, or the like with reference to the present invention.
It should be borne in mind, however, that all of these terms are to be interpreted as referencing physical manipulations and quantities and are merely convenient labels and are to be interpreted further in view of terms commonly used in the art. Unless specifically stated otherwise as apparent from the following discussions, it is understood that throughout discussions of the present invention, discussions utilizing terms such as "receiving" or "determining" or "storing" or "requesting" or "combining" or "performing" or the like, refer to the action and processes of a communication system device, or similar electronic computing device, that manipulates and transforms data. The data is represented as physical (electronic) quantities within the communication system device's registers and memories and is transformed into other data similarly represented as physical quantities within the communication system device memories or registers or other such information storage, transmission, or display devices.
DETAILED DESCRIPTION OF THE ENVIRONMENT OF THE PRESENT INVENTION
One embodiment in accordance with the present invention operates within the digital enhanced cordless telecommunications (DECT) system which provides wireless voice communication tor its users. In addition to providing its users with
wireless voice communication, the DECT system also provides digital data communication capabilities (e.g., computer modem communication). The DECT system has the ability to operate both indoors and outdoors, which offers greater communication opportunities. For instance, the indoor operations include using it within homes, office spaces, and hotels, whereas the outdoor operations of the DECT system include using it within suburban and city areas. The DECT system specification is well known by those of ordinary skill in the art.
Figure 1 illustrates a general overview of a DECT system 100 in which one embodiment in accordance with the present invention operates. The two main transmitter/receiver components that comprise DECT system 100 are a base station and a cordless device (e.g., telephone handsets 104 and 106, laptop computer system 108, and the like). An embodiment in accordance with the present invention (e.g., software program) can be implemented within either or both of the base station and the cordless device. Base station 102 and cordless devices 104- 108 have the ability to transmit and receive voice information along with other types of data. It should be appreciated that base station 102 and cordless devices 104- 108 of DECT system 100 transmit digital data. Base station 102 is a fixed transmitter/receiver station which can be implemented by coupling it into an existing public telephone network 114. Implemented in this manner, base station 102 enables the users of cordless devices 104-108 to communicate with each other and with the users of land line-based telephones 110 and 112 which are coupled by wire to the existing public telephone network 11 . The DECT system 100 uses a wireless digital radio interface to communicate information between base station 102 and cordless devices 104-108. One present invention
embodiment of the digital radio interface used by DECT system 100 is a time division multiple access capability with time division duplexing (TDMA-TDD).
Within DECT system 100, the radio bearers are exposed to radio frequency (RF) noise and signal reflections which can result in corrupting user data within the DECT channels of a receiver device (e.g., base station 102), as described above. As such, it is important within the DECT system 100 to keep the bit error rate or the frame error rate as low as possible in order to obtain a high throughput of correct user data over the DECT channels. The present invention includes a method and system for providing improved efficiency of retransmitted data frames within the DECT system.
Now referring to Figure 2, which is a block diagram of a communication system device 200 used in accordance with one embodiment of the present invention. It should be appreciated that communication system device 200 represents circuitry implemented within base station 102 or any one of cordless devices 104-108 of DECT system 100. Within the following discussions of the present invention, certain processes and steps are discussed that are realized, in one embodiment, as a series of instructions (e.g., software program) that reside within computer readable memory units of communication system device 200 and executed by processors of communication system device 200. When executed, the instructions cause communication system device 200 to perform specific actions and exhibit specific behavior which is described in detail below.
In general, communication system device 200 of Figure 2 used by an embodiment of the present invention comprises an address/data bus 202 for communicating information, one or more central processors 204 coupled with bus 202 for processing information and instructions, a computer readable volatile memory unit 208 (e.g., random access memory, static RAM, dynamic RAM, etc.) coupled with bus 202 for storing information and instructions (e.g., software program) for central processor(s) 204, a computer readable non-volatile memory unit 206 (e.g., read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.) coupled with bus 202 for storing static information and instructions for processor(s) 204. Optionally, communication system device 200 can include an alphanumeric input device 212 including alphanumeric and function keys coupled to bus 202 for communicating information and command selections to central processor(s) 204. Moreover, communication system device 200 can include a display device 214 coupled to bus 202 for displaying information (e.g., telephone numbers) to a user. Display device 214 utilized with communication system device 200 of the present invention can be implemented as a liquid crystal display (LCD), a cathode ray tube (CRT), or any other display device suitable for creating graphic images and alphanumeric characters recognizable to the user. Furthermore, the communication device 200 can include a communication interface 210 (e.g., speaker, microphone, computer system, and the like) which is coupled to bus 202 for communicating information to and/or from central processor(s) 204.
With reference now to Figure 3, which is a diagram illustrating one embodiment of a data frame 300 used to transmit user data within the DECT system 100 during a communication session between base station 102 and a
cordless device (e.g., telephone handset 104), in accordance with the present invention. Within the present embodiment, data frame 300 includes 40 bytes of data which are divided into four equal sized data blocks 302-308. Each data block of data blocks 302-308 includes a user data field along with a corresponding cyclic redundancy check (CRC) field. The purpose of the CRC field (e.g., 318) is to protect the integrity of the user data contained with its corresponding user data field (e.g., 310). As such, data frame 300 includes four user data fields 310-316, each containing 8 bytes of user data, along with four CRC fields 318-324, each containing 2 bytes of data. It should be appreciated that there are many other types of error detection methods (e.g., checksum) which can be uεod in accordance with the present embodiment. It is further appreciated that the format of data frame 300 is defined within the DECT standardization as a P32 channel. It should be further appreciated that the present invention is well suited to operate using data frames which are defined within the DECT standardization as a P80 channel. The present invention is well suited to operate using many different types of data frame configurations wherein the user data is segmented into at least 2 segments.
DETAILED DESCRIPTION OF THE OPERATION OF THE PRESENT INVENTION
Now referring to Figure 4, which is a diagram illustrating how one embodiment in accordance with the present invention automatically performs a reconstruction of a previously received corrupted data frame during a communication session between base station 102 and a cordless device (e.g., portable handset 104) within the DECT system 100. Basically, the idea behind the retransmission method of the present embodiment is that only those data blocks •
that were corrupted during the initial transmission along with subsequent retransmissions are required to be transmitted correctly during a later retransmission. As such, the present embodiment appears as a selective retransmission on the receiver side while being transparent to the transmitter side of a communication session. Thus, the present embodiment can be used in any DECT system without modification of the DECT standard and common technical regulation (CTR).
Generally, during a communication session, the present embodiment of the present invention operating within the receiving side (e.g., mobile station 104) determines whether any of the data blocks have been corrupted within a received data frame. If any data has been corrupted, the present embodiment stores the data blocks containing correct data within a buffer memory while discarding the corrupted data blocks. The receiver device requests retransmission of the previously received data frame from the transmitter device. Upon reception of the retransmitted data frame, the present embodiment determines whether one or more of the previously corrupted data blocks contains correct data. Therefore, only a limited number of data blocks, namely the ones which were corrupted during the first transmission of the data frame, need to be retransmitted correctly. If any of these data blocks do contain correct data, the present embodiment stores it along with the previously stored correct data blocks. This retransmission and storage process will continue until the original data frame is reconstructed within the buffer memory with each data block containing correct data. In other words, the present embodiment continues requesting retransmissions of the original data frame until
each data block of the original data frame has been correctly received at least once.
It should be appreciated that the present embodiment of Figure 4 operates on communication system device 200 in order to perform the data frame reconstruction automatically on-the-fly. It should also be appreciated that the present embodiment can be combined with other means to further improve the frame error rate. It should be further appreciated that the present embodiment is well suited to operate using many different types of data frame configurations wherein the user data is segmented into at least 2 segments.
Specifically, base station 102 transmits data frame 300 to mobile station 104. Upon reception of data frame 300, the present embodiment of mobile station 104 determines whether any of the data contained within data blocks 302-308 is corrupted by utilizing a CRC, as described above. It is appreciated that CRC is well known by those of ordinary skill in the art. It should be further appreciated that the present embodiment Is well equipped to perform any type of data verification. If the present embodiment determines data blocks 302-308 all contain correct data, data frame 300 Is sent to a higher protocol layer within mobile station 104 and a correct reception signal 404 is transmitted to base station 102. But within this example, the present embodiment determines that data blocks 302 and 304 contain corrupted data while data blocks 306 and 308 contain correct data. As such, the present embodiment of mobile station 104 stores data blocks 306 and 308 within buffer memory 208 while discarding data blocks 302 and 304. Furthermore, upon determining corrupt data exists within data frame 300, the present embodiment
directs mobile station 104 to transmit a retransmission request signal 402 to base station 102 requesting retransmission of data frame 300. It is appreciated that there are no provisions within the DECT standard for selective retransmission of particular portions of a data frame.
With reference still to Figure 4, upon reception of retransmission request signal 402, base station 102 retransmits data frame 300r to mobile station 104. Upon reception of data frame 300r, the present embodiment of mobile station 104 specifically determines whether the data contained within data blocks 302r and 304r is corrupted by utilizing the CRC. The present embodiment determines that data blocks 302r and 304r contain correct data. As such, the present embodiment of mobile station 104 stores data blocks 302r and 304r within buffer memory 208 while discarding data blocks 306r and 308r. Furthermore, upon determining that data blocks 302r and 304r contain correct data, the present embodiment directs mobile station 104 to transmit correct reception signal 404 to base station 102 indicating it has received data frame 300r correctly. It should be appreciated that although the retransmitted data frame 300r still contains a corrupted data block 306r, the present embodiment of mobile station 104 is able to utilize data blocks 302r and 304r in order to construct a correct data frame.
By storing data blocks 302r, 304r, 306, and 308 within buffer memory 208, the present embodiment has constructed a data frame 300m which contains correct data. Data frame 300m is then sent on by the present embodiment to a higher protocol layer within mobile station 104. In this manner, the present embodiment has constructed data frame 300m containing correct data from correct data blocks
received within data frame 300 and data frame 300r. It should be appreciated that if data frame 300 originally contained correct data, it would have contained the exact same data as contained within data frame 300m. It should be further appreciated that if data frame 300r originally contained correct data, it would have contained the exact same data as contained within data frame 300m.
It is important to note that if the present embodiment of mobile station 104 of Figure 4 determined that either or both of data blocks 302r and 304r contained corrupted data, it would request a retransmission of data frame 300r from base station 102 in order to eventually receive data blocks 302r and 304r containing correct data. In other words, the present embodiment will continue to request retransmission of data frame 300r until it receives the desired data block containing correct data. As such, the present embodiment of mobile station 104 is concerned with receiving correct specific data blocks in order to subsequently construct the desired data frame containing correct data. Within the present embodiment, it is appreciated that a limit can be established which restricts the amount of times the present embodiment requests retransmission of a particular data frame. Therefore, once the limit is reached, the present invention indicates to the higher protocol layer within mobile station 104 that the particular data frame is lost. It should be further appreciated that the present embodiment can also operate within base station 102 in a manner similar to that described above.
There are several advantages associated with the present embodiment described above with reference to Figure 4. For example, the present embodiment improves the frame error rate of the DECT B-fiθlds, which are well known by those
of ordinary skill in the art. Furthermore, the present embodiment improves the data throughput of DECT B-fields under erroneous conditions. Moreover, the present embodiment improves the spectrum efficiency. In other words, since a transmitter device (e.g., base station 102) does not have to retransmit a particular data frame as many times, the channel spectrum is being used more efficiently. Additionally, the present embodiment is compatible with the DECT standard. Furthermore, the present embodiment extends the range of radio reception within the DECT system 100. Specifically, if a bit error rate or frame error rate within a prior art DECT system goes below a particular level during a communication connection, the connection will breakdown and subsequently be lost. The reason for this connection breakdown is that the prior art DECT system relies on a whole B-fleld to be transmitted successfully. But with the present eifibodiment, a receiver device (e.g., portable station 104) just needs to successfully receive one correct data block of a B-field in order to eventually reconstruct the B-field within buffer memory 208. In this manner, the range of radio reception is extended for a particular communication session. Moreover, the present embodiment is also well suited for burst bit errors within a DECT channel which are often caused by cyclic interferences. Additionally, the present embodiment does not burden the processor 204 of the receiver device (e.g., portable station 104) because it is not computationally intensive.
With reference now to Figure 5, a flowchart 500 ot steps performed in accordance with one embodiment of the present invention for automatically performing a reconstruction of a previously received corrupted data frame is shown. Flowchart 500 includes processes of the present invention which, In one
embodiment, are carried out by a processor and electrical components under the control of computer readable and computer executable instructions. The computer readable and computer executable instructions reside, for example, in data storage features such a computer usable volatile memory 208 and/or computer usable non- volatile memory 206 of Figure 2. Although specific steps are disclosed in flowchart 500, such steps are exemplary. That is, the present invention is well suited to performing various other steps or variations of the steps recited in Figure 5.
In step 502, a receiver device (e.g., base station 102) receives a data frame from a transmitter device (e.g., mobile handset 104).
At step 504 of Figure 5, the present embodiment of the receiver device determines whether there are any corrupted data blocks within the received data frame by utilizing a CRC, as mentioned above. If the present embodiment determines that there are no corrupted data blocks within the received data frame, It proceeds to step 516. If the present embodiment determines that there is one or more corrupted data blocks within the received data frame, it proceeds to step 506.
In step 506, the present embodiment stores any of the data blocks which do not contain corrupted data within a memory device (e.g., buffer) located within the receiver device. In other words, the correct data blocks (if any) of the received data frame are stored by the present embodiment with the receiver device memory during step 506. Furthermore, the corrupted data blocks of the data frame are discarded by the present embodiment.
At step 508 of Figure 5, the present embodiment causes the receiver device to transmit a request signal to the transmitter device. The request signal of step 508 indicates that the receiver device desires a retransmission of the data frame from the transmitter device.
In step 510, the receiver device receives the retransmitted data frame from the transmitter device.
At step 512 of Figure 5, the present embodiment of the receiver device determines whether any of the previously received corrupted data blocks have been received correctly. In other words, given that specific data blocks were corrupted within the originally received data frame, the present embodiment analyzes whether those specific data blocks of the received retransmitted data frame contain corrupted data. If any one of the specific data blocks are corrupted, the present embodiment proceeds to step 506, described above. If the specific data blocks contain correct data, the present embodiment proceeds to step 514.
In step 514, the present embodiment of the receiver device stores the correct data blocks within the memory device. Furthermore, the present embodiment reconstructs the original data frame from the correct data blocks stored within the memory device.
At step 516, the present embodiment causes the receiver device to transmit a correct reception signal to the sender device indicating it has received the data frame correctly.
In step 518 of Figure 5, the present embodiment sends either the originally received data frame containing correct data blocks or the reconstructed original data frame containing correct data blocks to a higher protocol layer within the receiver device.
Thus, the present invention provides a method and system for providing improved efficiency of retransmitted data frames within the digital enhanced cordless telecommunications (DECT) system. Furthermore, the present invention provides a method and system which achieves the above accomplishment and is inexpensive to implement. Moreover, the present invention provides a method and system which achieves the above accomplishment and is transparent to the DECT base stations and portable telephone handsets. Additionally, the present invention provides a method and system which achieves the above accomplishment without introducing a significant system delay to a receiver device within the DECT system.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others
skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.