Patent Publication Number: US-2023164775-A1

Title: Method, apparatus and computer program

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. Non-Provisional patent application Ser. No. 16/961,505, filed Jul. 10, 2020 and entitled “Method, Apparatus and Computer Program,” which is a national phase entry of International Application Serial No. PCT/CN2018/072298, filed Jan. 11, 2018 and entitled “Method, Apparatus and Computer Program,” the entire contents of each of which are hereby incorporated herein by reference in their entireties for all purposes. 
    
    
     FIELD 
     This disclosure relates to communications, and more particularly to transmissions in a wireless communication system. 
     BACKGROUND 
     A communication system can be seen as a facility that enables communication between two or more devices such as user terminals, machine-like terminals, base stations and/or other nodes by providing communication channels for carrying information between the communicating devices. A communication system can be provided for example by means of a communication network and one or more compatible communication devices. The communication may comprise, for example, communication of data for carrying data for voice, electronic mail (email), text message, multimedia and/or content data communications and so on. Non-limiting examples of services provided include two-way or multi-way calls, data communication or multimedia services and access to a data network system, such as the Internet. 
     In a wireless system at least a part of communications occurs over wireless interfaces. Examples of wireless systems include public land mobile networks (PLMN), satellite based communication systems and different wireless local networks, for example wireless local area networks (WLAN). A local area wireless networking technology allowing devices to connect to a data network is known by the tradename WiFi (or Wi-Fi). WiFi is often used synonymously with WLAN. The wireless systems can be divided into cells, and are therefore often referred to as cellular systems. A base station provides at least one cell. 
     A user can access a communication system by means of an appropriate communication device or terminal capable of communicating with a base station. Hence nodes like base stations are often referred to as access points. A communication device of a user is often referred to as user equipment (UE). A communication device is provided with an appropriate signal receiving and transmitting apparatus for enabling communications, for example enabling communications with the base station and/or communications directly with other user devices. The communication device can communicate on appropriate channels, e.g. listen to a channel on which a station, for example a base station of a cell, transmits. 
     A communication system and associated devices typically operate in accordance with a given standard or specification which sets out what the various entities associated with the system are permitted to do and how that should be achieved. Communication protocols and/or parameters which shall be used for the connection are also typically defined. Non-limiting examples of standardized radio access technologies include GSM (Global System for Mobile), EDGE (Enhanced Data for GSM Evolution) Radio Access Networks (GERAN), Universal Terrestrial Radio Access Networks (UTRAN) and evolved UTRAN (E-UTRAN). An example communication system architecture is the long-term evolution (LTE) of the Universal Mobile Telecommunications System (UMTS) radio-access technology. The LTE is standardized by the third Generation Partnership Project (3GPP). The LTE employs the Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access and a further development thereof which is sometimes referred to as LTE Advanced (LTE-A). 
     Since introduction of fourth generation (4G) services increasing interest has been paid to the next, or fifth generation (5G) standard. 5G may also be referred to as a New Radio (NR) network. Standardization of 5G or New Radio networks is an on-going study item. 
     When a user equipment (UE) has data to transmit, the UE transmits a Scheduling Request (SR) so that the UE can be scheduled to transmit that data. The SR informs the scheduler in the base station (e.g. eNB or gNB) that the UE has uplink (UL) data to transmit. There may be problems associated with delays in sending the SR. 
     BRIEF SUMMARY 
     According to a first aspect there is provided a method comprising: receiving at a user equipment an uplink grant for transmitting first uplink data from the user equipment at a first time; determining a second time for initiating preparation of a transport block for transmitting the first uplink data, the determining a second time comprising subtracting a processing time for preparing the transport block from the first time. 
     According to an example the method comprises determining, at a third time which is between the receiving the uplink grant and the initiating preparation of a transport block, a presence of second uplink data to be transmitted from the user equipment which has not been scheduled for transmission, the second uplink data comprising urgent data and the presence of the second uplink data triggering a buffer status report, and in response to the buffer status report triggering a scheduling request from the user equipment. 
     According to an example the method comprises the second uplink data being stored in a buffer of the user equipment. 
     According to an example the method comprises, in response to the sending of the scheduling request, receiving an uplink grant indicating a fourth time at which the user equipment is scheduled to transmit the second uplink data, the fourth time being before the second time. 
     According to an example the fourth time is before the second time. 
     According to an example the method comprises determining the processing time for preparing the transport block based on a number of OFDM symbols associated with the transport block. 
     According to an example a time period between the second time and the first time being reserved for building of the transport block. 
     According to an example a time period between the first time and the second time comprises a network defined parameter. 
     According to a second aspect there is provided a method comprising: sending to a user equipment an uplink grant for transmitting first uplink data from the user equipment at a first time; and receiving a scheduling request from the user equipment, the scheduling request indicating presence of second uplink data to be transmitted from the user equipment which has not been scheduled for transmission, the second uplink data comprising urgent data; and in response to the receiving a scheduling request, sending an uplink grant indicating a second time at which the user equipment is scheduled to transmit the second uplink data, the second time being before the first time. 
     According to an example, a time period between the sending of the uplink grant for transmitting first uplink data and the second time comprises a network defined parameter. 
     According to a third aspect there is provided a computer program comprising program code means adapted to perform the steps of the first aspect when the program is run on a data processing apparatus. 
     According to a fourth aspect there is provided a computer program comprising program code means adapted to perform the steps of the second aspect when the program is run on a data processing apparatus. 
     According to a fifth aspect there is provided an apparatus comprising at least one processor, and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to: receive an uplink grant for transmitting first uplink data from the apparatus at a first time; determine a second time for initiating preparation of a transport block for transmitting the uplink data, the determining a second time comprising subtracting a processing time for preparing the transport block from the first time. 
     According to an example, the apparatus is configured to determine, at a third time which is between the receiving the uplink grant and the initiating preparation of a transport block, a presence of second uplink data to be transmitted from the apparatus which has not been scheduled for transmission, the second uplink data comprising urgent data and the presence of the second uplink data triggering a buffer status report, and in response to the buffer status report the apparatus configured to trigger a scheduling request from the user equipment. 
     According to an example, the second uplink data is stored in a buffer of the apparatus. 
     According to an example the apparatus is configured to, in response to the sending of the scheduling request, receive an uplink grant indicating a fourth time at which the apparatus is scheduled to transmit the second uplink data, the fourth time being before the second time. 
     According to an example, the fourth time is before the second time. 
     According to an example, the apparatus is configured to determine the processing time for preparing the transport block based on a number of OFDM symbols associated with the transport block. 
     According to an example, a time period between the second time and the first time is reserved for building of the transport block. 
     According to an example, a time period between the first time and the second time comprises a network defined parameter. 
     According to a sixth aspect there is provided an apparatus comprising at least one processor, and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to: send to a user equipment an uplink grant for transmitting first uplink data from the user equipment at a first time; and receive a scheduling request from the user equipment, the scheduling request indicating presence of second uplink data to be transmitted from the user equipment which has not been scheduled for transmission, the second uplink data comprising urgent data; and in response to the receiving a scheduling request, send an uplink grant indicating a second time at which the user equipment is scheduled to transmit the second uplink data, the second time being before the first time. 
     According to an example, a time period between the sending of the uplink grant for transmitting first uplink data and the second time comprises a network defined parameter. 
    
    
     
       BRIEF DESCRIPTION OF FIGURES 
       The invention will now be described in further detail, by way of example only, with reference to the following examples and accompanying drawings, in which: 
         FIG.  1    shows a schematic example of a wireless communication system where the invention may be implemented; 
         FIG.  2    shows an example of a communication device; 
         FIG.  3    shows an example of a control apparatus; 
         FIG.  4    is a timing diagram according to an example; 
         FIG.  5    is a timing diagram according to an example; 
         FIG.  6    is a timing diagram according to an example; 
         FIG.  7    is a flow chart of a method according to an example; and 
         FIG.  8    is a flow chart of a method according to an example. 
     
    
    
     DETAILED DESCRIPTION 
     Before explaining in detail the examples, certain general principles of a wireless communication system and mobile communication devices are briefly explained with reference to  FIGS.  1  to  2    to assist in understanding the technology underlying the described examples. 
     In a wireless communication system  100 , such as that shown in  FIG.  1   , a wireless communication devices, for example, user equipment (UE) or MTC devices  102 ,  104 ,  105  are provided wireless access via at least one base station or similar wireless transmitting and/or receiving wireless infrastructure node or point. Such a node can be, for example, a base station or an eNodeB (eNB), or in a 5G system a Next Generation NodeB (gNB), or other wireless infrastructure node. These nodes will be generally referred to as base stations. Base stations are typically controlled by at least one appropriate controller apparatus, so as to enable operation thereof and management of mobile communication devices in communication with the base stations. The controller apparatus may be located in a radio access network (e.g. wireless communication system  100 ) or in a core network (CN) (not shown) and may be implemented as one central apparatus or its functionality may be distributed over several apparatus. The controller apparatus may be part of the base station and/or provided by a separate entity such as a Radio Network Controller. In  FIG.  1    control apparatus  108  and  109  are shown to control the respective macro level base stations  106  and  107 . In some systems, the control apparatus may additionally or alternatively be provided in a radio network controller. Other examples of radio access system comprise those provided by base stations of systems that are based on technologies such as 5G or new radio, wireless local area network (WLAN) and/or WiMax (Worldwide Interoperability for Microwave Access). A base station can provide coverage for an entire cell or similar radio service area. 
     In  FIG.  1    base stations  106  and  107  are shown as connected to a wider communications network  113  via gateway  112 . A further gateway function may be provided to connect to another network. 
     The smaller base stations  116 ,  118  and  120  may also be connected to the network  113 , for example by a separate gateway function and/or via the controllers of the macro level stations. The base stations  116 ,  118  and  120  may be pico or femto level base stations or the like. In the example, stations  116  and  118  are connected via a gateway  111  whilst station  120  connects via the controller apparatus  108 . In some embodiments, the smaller stations may not be provided. 
     A possible wireless communication device will now be described in more detail with reference to  FIG.  2    showing a schematic, partially sectioned view of a communication device  200 . Such a communication device is often referred to as user equipment (UE) or terminal. An appropriate mobile communication device may be provided by any device capable of sending and receiving radio signals. Non-limiting examples comprise a mobile station (MS) or mobile device such as a mobile phone or what is known as a ‘smart phone’, a computer provided with a wireless interface card or other wireless interface facility (e.g., USB dongle), personal data assistant (PDA) or a tablet provided with wireless communication capabilities, or any combinations of these or the like. A mobile communication device may provide, for example, communication of data for carrying communications such as voice, electronic mail (email), text message, multimedia and so on. Users may thus be offered and provided numerous services via their communication devices. Non-limiting examples of these services comprise two-way or multi-way calls, data communication or multimedia services or simply an access to a data communications network system, such as the Internet. Users may also be provided broadcast or multicast data. Non-limiting examples of the content comprise downloads, television and radio programs, videos, advertisements, various alerts and other information. 
     A wireless communication device may be for example a mobile device, that is, a device not fixed to a particular location, or it may be a stationary device. The wireless device may need human interaction for communication, or may not need human interaction for communication. In the present teachings the terms UE or “user equipment” are used to refer to any type of wireless communication device. 
     The wireless device  200  may receive signals over an air or radio interface  207  via appropriate apparatus for receiving and may transmit signals via appropriate apparatus for transmitting radio signals. In  FIG.  2    transceiver apparatus is designated schematically by block  206 . The transceiver apparatus  206  may be provided for example by means of a radio part and associated antenna arrangement. The antenna arrangement may be arranged internally or externally to the wireless device. 
     A wireless device is typically provided with at least one data processing entity  201 , at least one memory  202  and other possible components  203  for use in software and hardware aided execution of tasks it is designed to perform, including control of access to and communications with access systems and other communication devices. The data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and/or in chipsets. This feature is denoted by reference  204 . The user may control the operation of the wireless device by means of a suitable user interface such as key pad  205 , voice commands, touch sensitive screen or pad, combinations thereof or the like. A display  208 , a speaker and a microphone can be also provided. Furthermore, a wireless communication device may comprise appropriate connectors (either wired or wireless) to other devices and/or for connecting external accessories, for example hands-free equipment, thereto. The communication devices  102 ,  104 ,  105  may access the communication system based on various access techniques. 
       FIG.  3    shows an example of a control apparatus for a communication system, for example to be coupled to and/or for controlling a station of an access system, such as a RAN node, e.g. a base station, gNB, a central unit of a cloud architecture or a node of a core network such as an MME or S-GW, a scheduling entity such as a spectrum management entity, or a server or host. The control apparatus may be integrated with or external to a node or module of a core network or RAN. In some embodiments, base stations comprise a separate control apparatus unit or module. In other embodiments, the control apparatus can be another network element such as a radio network controller or a spectrum controller. In some embodiments, each base station may have such a control apparatus as well as a control apparatus being provided in a radio network controller. The control apparatus  300  can be arranged to provide control on communications in the service area of the system. The control apparatus  300  comprises at least one memory  301 , at least one data processing unit or processor  302 ,  303  and an input/output interface  304 . Via the interface the control apparatus can be coupled to a receiver and a transmitter of the base station. The receiver and/or the transmitter may be implemented as a radio front end or a remote radio head. For example the control apparatus  300  or processor  201  can be configured to execute an appropriate software code to provide the control functions. 
       FIG.  4    shows a process by which a UE transmits data. As shown at  402 , a UE has some data to transmit but no UL (uplink) resources enabling that data to be transmitted. Accordingly, at  404  the UE transmits a scheduling request (SR) on the physical uplink control channel (PUCCH). At  406 , the UE receives a UL grant for a buffer status report (BSR), and at  408  the UE transmits the BSR on PUSCH. The BSR informs e.g. a base station of the data to be transmitted by the UE. Following on from this the UE receives an UL grant at  410 , enabling the UE to transmit the UL data as shown at  412 . 
     In the above process, for LTE, an SR is triggered in a transmission time interval (TTI) when there is no UL grant. This allows a triggered BSR to be transmitted in an uplink transport block (TB). However, for 5G new radio (NR) the intention is to remove “TTI” from the media access control (MAC) specification. Accordingly the timing between UL grant and SR triggering is unclear. 
     Furthermore, it has been agreed in RANI to introduce a parameter “K2”. The parameter K2 indicates a time between Physical Downlink Control Channel (PDCCH) reception for UL grant and Physical Uplink Shared Channel (PUSCH) transmission. This may make the ambiguity period even longer than LTE. There could also be grant free (GF) or semi-persistent scheduling (SPS) grant, which may be referred to as configured grant, that do not need PDCCH for each UL grant. 
     RANI also agreed upon an “N2” value. The N2 value is a processing time required for UE processing from the end of NR-PDCCH containing the UL grant to the earliest possible start of the corresponding NR-PUSCH transmission. The processing time N2 may be based on or dependent on a number of orthogonal frequency-division multiplexing (OFDM) symbols, and may be different for different numerologies. 
     Therefore at least in part because of increased flexibility requirements, the present inventors have identified that the relationship between BSR trigger and SR trigger is unclear in NR. This could lead to unnecessarily long delays for the SR. For instance, with large K2 values, when a regular BSR is triggered at time point T1, an uplink grant available at T1+10 ms could prohibit the SR for 10 ms. There could also be cases where enhanced Mobile BroadBand (eMBB) data has triggered the previous SR, which gNB then provided the T1+l0 ms grant. Ultra-Reliable Low-Latency Communication (URLLC) data could come into the UE buffer in the meantime and would require much shorter latency. 
     As will be described in more detail below, the present application is related to timing associated with building a transport block (TB). In some examples the “building a TB” may refer to building of a MAC PDU. In some examples the UE builds the TB as close as possible to the actual PUSCH transmission. This maximizes the opportunity for an incoming or newly created BSR to be included in the TB for transmission. Furthermore, building the TB closer to the actual PUSCH transmission ensures the BSR/PHR (Power Headroom Report) reflects the latest status (for example there could be UL grant later on other carriers that should be reflected in PHR reporting). In an example the UE may start building the TB not earlier than: 
       T0+K2−N2
 
     where T0 is the time where PDCCH for the UL grant is received; and 
     K2 is the time between PDCCH reception and PUSCH transmission; and 
     N2 is the UE processing time. 
     In an example, for a case of GF/SPS grant, the UE does not build the TB earlier than a time point of the UL grant minus the UE processing time. In an example, in general the equation above maps to the UE so that the UE does not build any TB earlier than a time point of the UL grant minus the UE processing time. 
     A further aspect disclosed relates to SR triggering. According to an example the SR is triggered on condition (and in some examples determination of the condition) that the BSR has not been included into a TB. For example if any BSR is triggered between time T0 and time T0+K2−N2, SR will be triggered. 
     According to some examples, by changing the reference or trigger condition from having UL resources to a determination of whether the BSR has been included in a TB and building the TB as late as possible, the issues described above regarding delays for the SR may be overcome. 
     In one example, where an LCH (Logical Channel) that triggered a regular BSR has not been assigned to any SR configuration (i.e. would trigger random access (RA) procedure inside the SR procedure if the SR is triggered), the SR would not be triggered. Alternatively, SR/RA procedure may be triggered but RA procedure is then aborted when the triggered BSR is included in the MAC PDU since the SR is cancelled. 
     According to some examples it is assumed the random access (RA) procedure will always take more time than the maximum grant to Tx time. Hence, in some examples the RA procedure is not triggered or aborted according to above examples. 
     Some examples will now be described in more detail with respect to  FIGS.  5  and  6   . 
     As shown in  FIG.  5   , a PDCCH for UL grant is received at time T0. The BSR is triggered at time T1. Transmission on the PUSCH occurs at time T0+K2. In examples the UE begins preparing a TB at time T0+K2−N2, which is the latest that the TB can be prepared and finished in time for transmission on PUSCH at time T0+K2, taking in to account processing time N2. Without the requirement of building the TB no earlier than T0+K2−N2, a UE implementation could build the TB at any time between T0 and T0+K2. When doing so, and as soon as the BSR is included in the TB, no SR will be triggered and the BSR transmission can only happen at T0+K2. 
       FIG.  6    shows a proposal where a base station (e.g. gNB) can receive the SR and allocate UL grant sooner than an already allocated PUSCH. This may occur, for example, when the SR indicates arrival of urgent service data (e.g. URLLC data) following an initial allocation of PUSCH. 
     As shown in  FIG.  6   , at time T0 PDCCH for UL grant is received. The PDCCH received at T0 effectively sets a time for PUSCH of T0+K2. 
     At time T1, a BSR is triggered indicating new data in UE buffer. In this example the new data comprises high priority or urgent service data (e.g. URLLC data). High priority or urgent data may be considered, in an example, data that needs to be transmitted in less than 10 ms. Therefore, at time T1 the SR is triggered and sent to the gNB. In some examples the SR is triggered in response to determination that (a) the new data associated with the BSR comprises high priority or urgent service data or higher priority data compared to data which is already available for transmission, and (b) a determination that the BSR is yet to be included in any TB. 
     In response to the triggered SR at T1, a PDCCH for UL grant is received at time T2 which is after time T1. In view of the urgent data in the buffer this causes a PUSCH on which the urgent data can be transmitted to be scheduled for a time T2+K2_1. In this example K2_1 is a shorter time than K2. Therefore in this example the urgent data is transmitted at a time T2+K2_1 which occurs before time T0+K2. Accordingly the urgent data is transmitted sooner than it ordinarily would have been had it utilised the standard procedure and been transmitted at time T0+K2. 
     According to the described examples, some embodiments ensure that the BSR reflects the most recent status of the UE buffer once received in the gNB. According to some examples the time period between T0+K2−N2 and T0+K2 is reserved for TB building. 
     According to the described examples, some embodiments ensure that the SR may be transmitted for possible other services even though there may be a UL grant for another service available which may not be suitable. This may lead to improved quality of service (QoS). 
     For further understanding the method is further explained with respect to the flow charts of  FIGS.  7  and  8   . 
       FIG.  7    is a flow chart showing a method viewed from a perspective of a user equipment, which will be described in conjunction with the timing diagram of  FIG.  6   . 
     The method comprises, at S 1 , receiving at a user equipment an uplink grant for transmitting first uplink data from the user equipment at a first time (T0+K2). 
     The method comprises, at S 2 , determining a second time (T0+K2−N2) for initiating preparation of a transport block for transmitting the first uplink data, the determining a second time comprising subtracting a processing time for preparing the transport block (N2) from the first time (T0+K2). 
     The method may include determining, at a third time (T1) which is between the receiving the uplink grant and the initiating preparation of a transport block, a presence of second uplink data to be transmitted from the user equipment which has not been scheduled for transmission, the second uplink data comprising urgent data and the presence of the second uplink data triggering a buffer status report, and in response to the buffer status report triggering a scheduling request from the user equipment. 
     The method may include the second uplink data being stored in a buffer of the user equipment. 
     The method may include, in response to the sending of the scheduling request, receiving an uplink grant indicating a fourth time (T2+K2_1) at which the user equipment is scheduled to transmit the second uplink data, the fourth time being before the second time (T0+K2). 
     The method may include the fourth time (T2+K2_1) being before the second time (T0+K2-N2). 
     The method may include determining the processing time for preparing the transport block based on a number of OFDM symbols associated with the transport block. 
     The method may include a time period between the second time (T0+K2−N2) and the first time (T0+K2) being reserved for building of the transport block. 
     The method may include a time period between the first time (T0) and the second time (T0+K2) comprising a network defined parameter (K2). 
       FIG.  8    is a flow chart showing a method viewed from a perspective of a base station, which will be described in conjunction with the timing diagram of  FIG.  6   . 
     The method comprises, at S 1 , sending to a user equipment an uplink grant for transmitting first uplink data from the user equipment at a first time (T0+K2). 
     The method comprises, at S 2 , receiving a scheduling request from the user equipment, the scheduling request indicating presence of second uplink data to be transmitted from the user equipment which has not been scheduled for transmission, the second uplink data comprising urgent data. 
     The method comprises, at S 3 , in response to the receiving a scheduling request, sending an uplink grant indicating a second time (T2+K2_1) at which the user equipment is scheduled to transmit the second uplink data, the second time being before the first time (T0+K2). 
     The method may comprise a time period between the sending of the uplink grant for transmitting first uplink data and the second time comprising a network defined parameter (K2). 
     In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects of the invention 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. 
     The embodiments of this invention may be implemented by computer software executable by a data processor of the mobile device, such as in the processor entity, or by hardware, or by a combination of software and hardware. Computer software or program, also called program product, including software routines, applets and/or macros, may be stored in any apparatus-readable data storage medium and they comprise program instructions to perform particular tasks. A computer program product may comprise one or more computer-executable components which, when the program is run, are configured to carry out embodiments. The one or more computer-executable components may be at least one software code or portions of it. 
     Further in this regard it should be noted that any blocks of the logic flow as in the Figures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD. The physical media is a non-transitory media. 
     The memory 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 processors may be of any type suitable to the local technical environment, and may comprise one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASIC), FPGA, gate level circuits and processors based on multi core processor architecture, as non-limiting examples. 
     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. 
     The foregoing description has provided by way of non-limiting examples a full and informative description of the exemplary embodiment of this invention. However, 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 and the appended claims. However, all such and similar modifications of the teachings of this invention will still fall within the scope of this invention as defined in the appended claims. Indeed there is a further embodiment comprising a combination of one or more embodiments with any of the other embodiments previously discussed.