Abstract:
Disclosed herein are apparatus, methods and computer program products providing sub-channel re-assignment performed by a relay node in a wireless communications system. In the apparatus, methods and computer program products, a relay receives an input signal made up of a plurality of sub-channels. The relay de-multiplexes the sub-channels into a plurality of signal streams, and reassigns at least one of the signal streams to a new sub-channel on the output side, the new sub-channel on the output side different from the sub-channel originally containing the signal stream on the input side. In one embodiment of the invention, the wireless communications system is an OFDM system and the sub-channels correspond to OFDM sub-carriers. In another embodiment of the invention, during sub-channel reassignment input sub-channels are matched to output sub-channels sharing a pre-determined criterion.

Description:
CLAIM OF PRIORITY FROM A COPENDING PROVISIONAL PATENT APPLICATION 
     Priority is herewith claimed under 35 U.S.C. §119(e) from co-pending Provisional Patent Application 60/733,136, filed on Nov. 2, 2005 by Ari Hottinen entitled “APPARATUS, METHOD AND COMPUTER PROGRAM PRODUCT PROVIDING SUB-CHANNEL ASSIGNMENT FOR RELAY NODE”. The disclosure of this Provisional Patent Application is hereby incorporated by reference in its entirety as if fully restated herein. 
    
    
     TECHNICAL FIELD 
     The exemplary and non-limiting embodiments of this invention relate generally to wireless communications systems such as, but not limited to, code division multiple access (CDMA), wideband CDMA (WCDMA), orthogonal frequency division multiplex (OFDM) systems and Digital Video Broadcast (DVB) systems, including handheld DVB systems (DVB-H). 
     BACKGROUND 
     Collaborative relays may be used as “new network elements” or as “transparent network elements”. When used as new network elements it is likely that signaling concepts and/or resource allocation concepts need to be at least partially redefined. In contrast, transparent relay nodes may be (ideally) placed in the wireless network so that they increase the network capacity in such a way that (ideally) the network (or terminals) is unaware of their existence. 
     One transparent solution may utilize in-band relaying, where at least in part the same frequency is used at the relay input and relay output at essentially the same time. In this case the relay nodes may be added to a wireless system without the need to redesign the base station (transmitter) or the terminals. In such a system the loop interference in amplify and forward relays may be controlled by reducing the relay transmit energy, as perceived at the relay node input. This may be accomplished by separating the receive antennas and transmit antennas from each other (physically or via beamforming). This type of relaying approach is currently being used in DVB-H (test) networks. In addition to DVB-H, this concept is applicable as an add-on feature to prevailing wireless systems, such as WCDMA, or in various OFDM-based systems. 
     Two-hop solutions have been discussed by A. Wittneben, I. Hammerstroem, and M. Kuhn, “Joint Cooperative Diversity and Scheduling in Low Mobility Wireless Networks,”  IEEE Global Telecommunications Conference, Globecom  2004, November 2004; I. Hammerstroem, M. Kuhn, and A. Wittneben, “Channel Adaptive Scheduling for Cooperative Relay Networks,”  IEEE Vehicular Technology Conference, VTCFall  2004, Los Angeles, September 2004 and I. Hammerstroem, M. Kuhn, and A. Wittneben, “Cooperative Diversity by Relay Phase Rotations in Block Fading Environments,”  Signal Processing Advances in Wireless Communications, SPAWC  2004, pp. 5, July 2004. In these publications different time slots are used at the relay for reception and transmission. 
     Of more interest to the teachings of this invention are relay or mesh networks that are under investigation for wireless Local Area Network (LAN) systems and WiMax systems and, in particular, for fourth generation (4G) wireless communications systems. In these cases relays are used to increase system capacity or range without the need to invest a large number of antennas in each individual transmitter unit. 
     However, a problem exists that is related to the control of sub-channels at relay nodes in wireless networks. For example, if the relay is configured to retransmit a multi-carrier or OFDM input signal, and the channel nulls in relay input and output are all at different subcarriers, the channel power at the destination is zero for each subcarrier. 
     Typically, channel assignment is not done at the relay nodes. In particular, channel assignment where the assignment depends on either the input or output channels is proposed here. 
     SUMMARY OF THE INVENTION 
     A first embodiment of the invention is a method for reassigning at least one signal stream contained in an input subchannel received at a relay node to a different subchannel for retransmission. In the method, an input of a relay node in a communications system receives a signal, where the signal comprises a plurality of subchannels. The relay node demultiplexes the subchannels comprising the signal into a plurality of separate signal streams. The relay node then reassigns at least one signal stream originally contained in a first subchannel received at the input of the relay node to a second subchannel for the purpose of transmission, where the first subchannel is different from the second subchannel. The relay node next transmits the reassigned signal stream in an output signal comprising at least the second subchannel. 
     A second embodiment of the invention is a relay node comprising a receiver configured to receive an input signal comprised of a plurality of subchannels; a transmitter configured to transmit an output signal comprised of a plurality of subchannels; and circuitry coupled to the receiver and transmitter. The circuitry further comprises demultiplexing circuitry configured to demultiplex the subchannels comprising the input signal into a plurality of separate signal streams; reassignment circuitry configured to reassign at least one signal stream originally contained in a first subchannel received at the relay node to a second subchannel for the purpose of transmission; and transmission control circuitry configured to cause the transmitter to transmit the output signal, the output signal comprising at least the second subchannel containing the reassigned signal stream. 
     A third embodiment of the invention is relay node comprising receiver means for receiving an input signal comprised of a plurality of subchannels; transmitter means for transmitting an output signal comprised of a plurality of subchannels; and signal processing means coupled to the receiver means and the transmitter means. The signal processing means further comprises demultiplexing means for demultiplexing the subchannels comprising the input signal into a plurality of separate signal streams; reassignment means for reassigning at least one signal stream originally contained in a first subchannel received at the relay node to a second subchannel for the purpose of transmission; and transmission control means for causing the transmitter means to transmit the output signal, the output signal comprising at least the second subchannel containing the reassigned signal stream. 
     A fourth embodiment of the invention is a computer program product comprising a memory medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus of a computer system. When the program of machine-readable instructions is executed by the digital processing apparatus, operations are performed, the operations comprising: receiving an input signal comprised of a plurality of subchannels; demultiplexing the subchannels creating a plurality of separate signal streams; reassigning at least one signal stream originally contained in a first subchannel to a second subchannel for the purpose of transmission, wherein the first subchannel is different from the second sub-channel; and issuing a command to transmit an output signal comprising at least the second subchannel containing the reassigned signal stream. 
     A fifth embodiment of the invention is method for reassigning signal streams at a plurality of relay nodes in a wireless communications system. In the method, a signal is transmitted from relay node to relay node in sequence. At each relay node in the sequence, the relay node receives an input signal, the input signal comprising a plurality of subchannels, each subchannel carrying a signal stream; the relay node then reassigns at least one signal stream originally contained in a first subchannel received at the input of the relay node to a second subchannel for the purpose of transmission, where the first subchannel is different from the second subchannel; and next the relay node transmits an output signal, the output signal comprising at least the second subchannel containing the reassigned signal stream. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the attached Drawing Figures: 
         FIG. 1A  shows a simplified three node network; 
         FIG. 1B  is a simplified block diagram of a relay node in accordance with the non-limiting embodiments of the invention; 
         FIG. 2  is a graph depicting exemplary relaying performance with and without channel reassignment with 64 subcarriers in a 4-path channel; 
         FIG. 3  is a flowchart depicting a method of the invention; and 
         FIG. 4  is a flowchart depicting another method of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     As was noted, typically the channel assignment is not done at the relay nodes. An exemplary aspect of this invention is to perform channel assignment at a relay node, where the assignment depends on either the input or output channels. 
     Related to the problem identified above, by reassigning useful input subcarriers to useful output subcarriers a relay is able to improve performance. Without the use of the exemplary embodiments of this invention, and in the special case given above, the relay would only transmit noise, and system capacity would deteriorate drastically. 
     As will be made apparent below, the exemplary embodiments of this invention provide methods, apparatus and a computer program product operable to increase the performance of wireless systems that contain at least one relay node with multiple sub-channels at the relay node input and relay node output. According to one exemplary embodiment the relay node demultiplexes the input sub-channels (e.g., OFDM subcarriers) and reassigns a symbol or other signal stream in at least one input sub-channel to another output sub-channel before transmission, where the transmission sub-channel is different from the input sub-channel. Furthermore, the relay node may use channel information at the relay input or output for optimizing the channel reassignment and other resource allocation tasks such as, but not limited to, power/rate/transport format allocation for sub-channels. 
     Reference is made first to  FIGS. 1A and 1B  for illustrating a simplified block diagrams various electronic devices that are suitable for use in practicing the exemplary embodiments of this invention. 
     Consider, as an example, a two hop relaying concept where the signal is received and transmitted at the relay at different times. Assume that the signal format is such that there are multiple sub-channels for which the effective channel is different. The sub-channels may be, e.g., OFDM subcarriers. 
     In such a system, assume that a network that has a source node (Node  1 ) a relay node (Node  2 ) and a destination node (Node  3 ), as shown in  FIG. 1A .  FIG. 1B  shows an example of a relay node (Node  2 ) of  FIG. 1A . The relay node (referenced as relay node  10  for convenience) includes at least one receive antenna  12 , at least one receiver  14 , a data and/or signal processor  16 , such as a digital signal processor (DSP), a memory  18 , wherein program code ( 18 A) is stored for operating the processor  16 , at least one transmitter  20  and at least one transmit antenna  22 . It may be noted that the source Node  1  may be constructed in a somewhat similar manner, and will include at least the at least one transmitter  20  and transmit antenna(s)  22 , and the destination Node  3  may also be constructed in a somewhat similar manner, and will include at least the receive antenna(s)  12  and the at least one receiver  14 . 
     The memory  18  may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processor  16  may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multi-core processor architecture, as non-limiting examples. 
     Still referring to  FIG. 1A , consider an amplify and forward (non-regenerative) relay network where the received signal at Node  3  is
 
 y[p]=h   23   [p] ( h   12   [p′]x+n   2   [p′] ) +n   3   [p]   (1)
 
where h kl [p] is the effective complex channel between Node k and Node  1  for sub-channel p, and n k  is the noise at the receiver of Node k.
 
     In an OFDM network the different sub-channels typically correspond to different OFDM subcarriers or clusters of subcarriers. In single-carrier modulation systems the different sub-channels may be symbols arriving at the relay node  10  at different times. In a CDMA system the sub-channels may correspond to different channelization codes at the same or different carrier frequencies. Combinations of different types of subchannels are also possible. 
     The received signal power may be computed to be:
 
Signal Power  [p, p′]=|h   12   [p′]h   23   [p]|   2   (2)
 
and noise power for the amplify and forward relay example as:
 
Noise Power=1+| h   23   [p′]|   2   (3)
 
assuming (for simplicity, and without limiting to such a case) that all receivers have noise power one. The signal-to-noise ratio at Node  3  for a pair of sub-channels is
 
                     SINR   ⁡     [     p   ,     p   ′       ]       =       Signal   ⁢           ⁢     Power   ⁡     [     p   ,     p   ′       ]           Noise   ⁢           ⁢   Power               (   4   )               
Channel Reassignment
 
     It should be apparent that if either h 12 [p′] or h 23 [p] is zero (or has a small channel gain) for all assigned pairs (p,p N ) then the effective channel is also poor. Typically, both are not poor simultaneously but nevertheless a fixed mapping where p=p′ may lead to performance degradation. This is undesirable, as it is generally desirable to combine sub-channels of similar power. 
     In accordance with an exemplary embodiment of the invention, one technique to accomplish this (approximately) is to sort the input and output sub-channels in increasing order and combine the strongest, second strongest, etc., sub-channels with each other. The number of sub-channels paired in this way may be controllable, so that very poor sub-channels in either the relay output or input are not necessarily used for the given connection. This method has the benefit that computations at the relay node are made simple, essentially related to ranking of channel powers or other related performance measures, such as signal-to-noise ratios, channel capacities (e.g., log 2 (1+SNR), or mutual information. Similarly, the relay node may assess or estimate the probability of input and output channels, or their respective pairing, and determine the set pairing (or more than one pairing) that minimizes the probability of error. This minimization can be computed for one individual pairing or for a number of sub-channel pairings, e.g. so that the average error probability is minimized. Here, as above, sub-channels with similar rank are paired with each other. 
     Further in accordance with exemplary embodiments of this invention, another technique is to find the optimal assigrnent using an optimization technique, as is described below. 
     An optimal assignment is found by solving an assignment problem. For notational convenience, define c p,p′  as equation (5),
 
 c   p,p′ ≐SINR [p,p′], ∀p,p′   (5)
 
where c p,p′ designates the ‘utility’ in assigning input sub-channel p to output sub-channel p′, which are captured in matrix C=[c p,p′ ]. The assignment problem for maximizing the total received signal power is posed as
 
                   max   ⁢       ∑   p     ⁢       ∑   m     ⁢       c     p   ,     p   ′         ⁢     x     p   ,     p   ′                       (   6   )               
subject to the conditions shown in the expressions of equations (7), (8) and (9), respectively.
 
     
       
         
           
             
               
                 
                   
                     
                       
                         ∑ 
                         p 
                       
                       ⁢ 
                       
                         x 
                         
                           p 
                           , 
                           
                             p 
                             ′ 
                           
                         
                       
                     
                     = 
                     1 
                   
                   , 
                   
                     ∀ 
                     
                       p 
                       ′ 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         ∑ 
                         p 
                       
                       ⁢ 
                       
                         x 
                         
                           p 
                           , 
                           
                             p 
                             ′ 
                           
                         
                       
                     
                     = 
                     1 
                   
                   , 
                   
                     ∀ 
                     p 
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       x 
                       
                         p 
                         , 
                         
                           p 
                           ′ 
                         
                       
                     
                     ≥ 
                     0 
                   
                   , 
                   
                     ∀ 
                     p 
                   
                   , 
                   
                     p 
                     ′ 
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
     The optimal solution is known to be integral, where x p,p′ ε{0,1} where x p,p′= 1 if pair (p,p N ) is assigned and
 
 x   p,p′= 0
 
otherwise.
 
     The constraints thus formalize the requirement that each input sub-channel is assigned to exactly one output sub-channel, and that all sub-channels are assigned. These constraints may naturally be relaxed. Furthermore, the function c p,p′  is an arbitrary function that measures the effect of the given assignment to the selected performance or quality measure. 
     Example for OFDM systems 
     Let F denote a PxP fast inverse Fourier transform (IFFT) matrix, where [F] p,q= 1/√{square root over ( )}Pexp(j2π(p−1)(q−1)/P). The corresponding FFT (FFT) matrix, applied at the OFDM receiver, is given by  F   { , the Hermitean conjugate of  F . Assume that the signal is transmitted through a finite impulse response (FIR) channel of length L and that a cyclic prefix of length L c &gt;L is used at the transmitter. Then, after removing the cyclic prefix and correlating with the FFT matrix, the effective signal model at the receiver is given by:
 
 y=F   {   HFx+n   (10)
 
where H denotes a circulant convolution matrix with entries
 
 [H]   p,q   =h (( p−q ) mod  P ),
 
where h(l) designates the l th temporal channel tap. Vector x represents the symbol vector and n the complex Gaussian noise. Since FFT diagonalizes a circulant matrix, the model can be written also as
 
 y=Dx+n   (11)
 
where D=diag (H(O), . . . , H(P−1),
 
with H(p) as shown in equation (12):
 
 H ( p )=Σ l=0   L   h ( L )exp( −j 2π lp/P )  (12)
 
The concise model given above is known, and reference may be made to G. Stüber, J. B. Barry, S. W. McLaughlin, Y. Li, M. A. Ingram and T. G. Pratt, “Broadband MIMO-OFDM wireless communications,” Proc. IEEE, Vol. 92, No. 2, February 2004, pp. 271-294 for additional details.
 
     A similar model applies to the channel from the relay node  10  to the destination node (Node  3  in  FIG. 1A ). With amplify and forward relaying the vector x is replaced by functions similar to those found in Equations 1 or 11, with decode and forward relays each element of x is a signal estimate. In order to form the estimates for the each relayed subcarrier the relay  10  needs to perform the FFT operation. With amplify and forward relays the relayed SNR is thus taken from the FFT bins at the relay node  10 . The channel from the relay node  10  to the destination node (Node  3 ) may be arbitrary (different or same carrier frequency), possibly using a different block transmission method from that used to transmit to the relay node  10 . 
     As a special case, with amplify and forward relays the effective signal received at destination (assuming only one relay) is:
 
 Y   2   =F   55   H   2   Fy+n   2   (11)
 
where H 2  refers to the channel from the relay node to the destination node, and y 2  the signal received at destination node, and P is a permutation matrix. Power and rate control at the relay node  10  is omitted here for simplicity. The permutation matrix P associates subcarriers p and p′ to each other so that pth row of P has number one at the p′th column, and zeros elsewhere. While there are P! permutation matrices to test, the assignment algorithm given above reduces the search to polynomial complexity.
 
     The exemplary embodiments of this invention exploit the fact that the different permutation matrices (used at the relay node  10 ) lead to enhanced performance at the destination (Node  3 ), and that the permutation may be computed in a cost efficient manner. When performance is to be optimized the relay node  10  uses at least partial channel knowledge of either the input or the output channel, or the prevailing interference power or statistics at the destination or the relay  10 . Interference information may be signaled from the next-hop receiver (and may indicate, for example, which subcarriers are usable), or the information may be derived at the relay  10 . 
     If the relay node  10  changes the channel assignment, it may be desirable that the new assignment (or information related to the new assignment) is signaled to the destination node. If not, the destination may need to blindly detect the sub-channel ordering. To minimize the signaling load, the sub-channels may be reassigned in bundles (e.g., by always having eight neighboring subcarriers assigned with the same assignment), in which case only the sub-channel bundle indices need to be signaled. 
     To appreciate the benefits derived from the use of the exemplary embodiments of this invention a numerical example is provided. Assume as a non-limiting case that the input and output channels at the relay node  10  have four taps, and 64 subcarriers are used. No channel bundling is used and all subcarriers may need to be reassigned.  FIG. 2  shows the performance with and without subcarrier assignment, as a function of usable subcarriers. It is assumed that 0-30 subcarriers may be unusable if those channels are already occupied, or if the receiver experiences very high power narrowband fading at a given subcarrier (e.g. due to a contention-based protocol or due to jamming). In this case, both concepts put all power to the remaining subcarriers, but the method of this invention may in addition change the subcarrier indices. 
     It can be seen in  FIG. 2  that without channel reassignment the performance degrades, since the relay node  10  is not able to match the optimal subcarriers to each other. Rather, in a conventional solution a subcarrier is unusable if one of the (a priori determined) subcarriers (its&#39; input or output channel) experience a poor channel. 
     It should be noted that in a single-antenna OFDM case the exemplary embodiments of this invention assume a frequency-selective channel. If either the input or output channel is flat, the reassignment may not be effective. However, channels may be defined differently, e.g., in space (with multi-antenna relays), or in time, or in frequency. As such, the exemplary embodiments of this invention are not limited to the example given above (or to its constraints). Intentional randomization may also be used at the relay node  10 , or at some other node, to increase the variability of the elements in the assignment matrix. Random beamforming, delay diversity and/or cyclic delay diversity, as three non-limiting examples, may also be used so as to increase the frequency-selectivity. 
     It should be further noted that the exemplary embodiments of this invention relate as well to multi-hop relaying techniques and systems. In multi-hop systems the relays typically consider a larger number of possible channel pairings or assignments. The assignment problem or sub-channel pairing at any given hop may be computed independently of other hops, or the relays may exchange information, so that a relay can take into account not only the channel of its own input and output channels, but also (at least in part) those of the next relay. 
     It should be further noted that the exemplary embodiments of this invention also pertain to and encompass the above-described permutation matrix P that associates subcarriers p and p′ with one another, as discussed above. 
       FIGS. 3 and 4  summarize methods operating in accordance with the invention. In a first method, at  310  a signal is received at an input of a relay node in a wireless communications system, where the signal comprises a plurality of subchannels. Next, at  320 , the relay node demultiplexes the subchannels comprising the signal into a plurality of separate signal streams. Then, at  330 , the relay node reassigns at least one signal stream originally contained in a first subchannel received at the input of the relay node to a second subchannel for the purposes of transmission, where the first subchannel is different from the second subchannel. Next, at  340 , the relay node transmits the reassigned signal stream in an output signal containing the second subchannel. 
       FIG. 4  depicts a method operating in a wireless communications system comprising multiple relay nodes. At  410 , a signal is received at the wireless communication system comprising a plurality of relay nodes. Then, at  420 , signals are transmitted from relay node to relay node in sequence, the signals comprising at least part of the information contained in the signal received at the wireless communications system. Next, at  430 , operations are performed at each node in the wireless communications system. At  440 , each node receives an input signal, the input signal comprising a plurality of subchannels, each subchannel carrying a signal stream. Then, at  450  each node reassigns at least one signal stream originally contained in a first subchannel received at the input of the relay node to a second subchannel for the purpose of transmission, where the first subchannel is different from the second subchannel. Next, at  460 , each node transmits an output signal, the output signal comprising at least the second subchannel containing the reassigned signal stream. 
     One skilled in the art will appreciate that the methods, apparatus and computer program products of the invention can be applied to both regenerative and non-regenerative relay nodes. In regenerative relay nodes, an aspect of the signal stream reassigned from one input subchannel to a different output subchannel for the purpose of transmission may be modified prior to transmission. In one exemplary embodiment, the aspect modified prior to transmission may comprise transmission format. The aspect of the transmission format modified prior to transmission may comprise frame structure; symbol encoding; or timing as non-limiting examples. 
     In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof. 
     As an example, the program (PROG)  18 A shown in  FIG. 1  may be operable to direct the data processor  16  to operate so as to demultiplex the input sub-channels (e.g., OFDM subcarriers) and reassign at least one symbol stream in at least one input sub-channel to another output sub-channel before transmission, where the transmission sub-channel is different than the input sub-channel. Furthermore, the data processor  16 , under direction of the program  18 A, may use channel information at the relay node  10  input or output for optimizing the channel reassignment and other resource allocation tasks such as, but not limited to, power/rate/transport format allocation for sub-channels. 
     Embodiments of the inventions may be practiced in various components such as integrated circuit modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate. 
     Programs, such as those provided by Synopsys, Inc. of Mountain View, Calif. and Cadence Design, of San Jose, Calif. automatically route conductors and locate components on a semiconductor chip using well established rules of design as well as libraries of pre-stored design modules. Once the design for a semiconductor circuit has been completed, the resultant design, in a standardized electronic format (e.g., Opus, GDSII, or the like) may be transmitted to a semiconductor fabrication facility or “fab” for fabrication. 
     Various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. For example, it should be noted that there may be more than one user accessing the same relay node (e.g., two transmitters, one relay, and at least one destination). However, any and all modifications of the teachings of this invention will still fall within the scope of the non-limiting embodiments of this invention. 
     Furthermore, some of the features of the various non-limiting embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.