Detailed Description
One method for accommodating both URLLC and MBB in the same network is to allow URLLC transmissions to puncture MBB transmissions, examples of which are shown in fig. 3A and 3B. Fig. 3A shows that a portion 311 of the time-frequency resources of the uplink MBB transmission 310 is punctured to include URLLC transmissions, i.e., a URLLC uplink control signal portion 312 and a URLLCPUSCH (physical uplink shared channel) and uplink control signal portion 313. Fig. 3B shows that a portion 321 of the downlink MBB transmission 320 is punctured to include URLLC transmissions, i.e., PDCCH (URLLC physical downlink control channel) and PDCCH DMRS (demodulation reference signal) portions 322 and URLLC PDSCH and PDSCH (physical downlink shared channel) DMRS portions 323.
Although such puncturing allows both MBBs and URLLC to be provided in the same network and allows URLLC transmissions to meet strict timing requirements, problems may arise in decoding the transmitted data. Since MBB transmissions are less time sensitive (compared to URLLC), HARQ can be used in multiple different TTIs to solve the decoding problem. For example, in LTE, one TTI (which is one subframe) has a duration of 1 ms, and for FDD, in a subframen+4In retransmission originally in a subframenDuring which data is transferred. In LTE uplink, the HARQ retransmission timing is fixed, and for each retransmission, the HARQ retransmission process typically takes 8 ms. This delay is acceptable for MBB or eMBB because it is less time sensitive. However, URLLC is time sensitive and retransmissions up to 8 ms apart from the original transmission will likely result in the retransmitted data arriving too late for it to be used by the receiver. Therefore, such conventional HARQ processes cannot adequately support URLLC in the same network as the network in which MBB is supported. Although the present discussion punctures MBB transmissions in conjunction with URLLC transmissions, the present disclosure is equally applicable to puncturing transmissions of a second service by transmissions of a first service, where the first service is more time sensitive than the second service. In other words, the second service may still be time sensitive, except that it is less time sensitive than the first service.
Exemplary embodiments of the present disclosure provide methods for solving the problem of decoding a transmission of a first service requiring low latency in the same network that may simultaneously transmit a second service that does not have as low latency requirements as the first service. The transmitter may automatically activate puncturing bundling without initial control signaling when the transmitter determines that it cannot adjust transmission parameters. Puncturing bundling involves the transmission of the original data of a first service requiring low latency in the same TTI of the data transmission of a second service, together with one or more repetitions of the original data (which may be encoded the same or different from the original data). In each case, a different redundancy version of the first service or the same redundancy version repeated punctures the transmission of the second service. Data of a first service may be punctured into one Transport Block (TB), two transport blocks, or more than two transport blocks of data of a second service.
The redundant transmission of low latency data in TTIs carrying data of the second service eliminates the latency between retransmissions and subsequent retransmissions normally required due to the transmission of NACKs (negative acknowledgements), which allows for successful decoding of the low latency data while meeting the latency requirements of the low latency data. This also provides signaling efficiency since it does not require control signaling to carry a NACK (or ACK for successfully decoded data) and provides robustness due to repetition of data for the low latency service within the TTI of the second service.
Fig. 4-7 are block diagrams of punctured transmissions with redundancy for low latency data, according to example embodiments of the present disclosure. In these examples, the original data and each repetition of the first service may be duplicates of each other, i.e., the same data encoded in the same manner; or the data in each punctured section may be different versions of each other, i.e., encoded differently but carrying the same underlying control and user data that can be recovered after decoding. In the latter case, the encoding can be taken from the encoding list of (0, 3, 2, 1), where the number corresponds to the redundancy version to be used in the incremental merging, and if there are more than four repetitions, the additional repetitions start again from the beginning of the encoding list.
The transmission in fig. 4 is a single TTI 400 for the second service without stringent delay requirements, with the data pair for the first service having stringent delay requirementsThe single TTI 400 is punctured 4 times. In particular, the data of the first service includes the original transmission 405 of control data (which in this example is URLLC PDCCH + PDCCH DMRS) and user data (which in this example is URLLC PDSCH + PDSCH DMRS). The data of the first service also comprises three repetitions 410a-410n, each repetition comprising control data (which in this example is URLLC PDCCH + PDCCH DMRS) and user data (which in this example is URLLCPDSCH + PDSCH DMRS). Although fig. 4 shows the original transmission and three repetitions, the transmission may include more or less repetitions than shown. The spacing between the original transmission and the first repetition and the spacing between the repetitions may bef,fMay be greater than or equal to zero. In other words, although a time gap is shown in the figure, the original transmission 405 and the repetitions 410a-410n may be immediately adjacent to each other in time.
The transmission in fig. 5 is a single TTI 500 of the second service without stringent delay requirements, the single TTI 500 being punctured with data of the first service with stringent delay requirements. In this example, original transmission 505 includes both control data (which is URLLC PDCCH + PDCCH DMRS in this example) and user data (which is URLLC PDSCH + PDSCHDMRS in this example). In contrast to the example of fig. 4, in the example of fig. 5, the control data is not retransmitted and only the user data 510a-510n are retransmitted. Furthermore, the original transmission and the repetition are directly adjacent to each other in time, and in frequency, the original transmission and the repetition do not occupy all frequency resources at a particular time within the TTI 500, but extend beyond the frequency resources used for the TTI 500.
The example in fig. 5 does not employ frequency hopping for the transmission of the first service. In contrast, the example in fig. 6 employs frequency hopping for the first service. In other respects, the example of fig. 6 is the same as that of fig. 5, i.e., the original control data is not retransmitted, but only the user data is retransmitted, and the original transmission and repetition are immediately adjacent to each other, so that there is only a single punctured portion. Thus, in fig. 6, the TTI 600 of the second service includes a single punctured portion with the original transmission 605 and one or more repetitions 610a-610 n. The activation or deactivation of frequency hopping may be configured by higher layer parameters or may be carried by a field in Downlink Control Information (DCI) carried by the PDCCH of the first service.
As with the example in fig. 6, the transmission in fig. 7 employs frequency hopping, and as with the examples in both fig. 5 and 6, the original control data is not retransmitted, but the user data is retransmitted, and the original transmission and the repetition are immediately adjacent to each other, so that there is only a single punctured portion. However, in this example, the original transmission 705 and one or more repetitions 710a-710n are contained within the frequency resources allocated to the TTI 700.
Although fig. 4-7 illustrate using particular time-frequency resources for punctured data, other time-frequency resources may be used. In the example of fig. 4, the redundant transmissions may be immediately adjacent to each other in time and may be immediately adjacent to the originally transmitted data, rather than interleaving the data of the second service between the redundant transmissions. In the examples of fig. 5-7, the primary and redundant transmissions of the low latency service may be interleaved in time with the transmission of the second service, similar to the illustration in fig. 4.
Further, the number of redundant transmissions may deviate from the illustrated example, and the present disclosure may be implemented using a lesser or greater number of redundant transmissions. Finally, the specific amount of time resources and/or frequency resources used for the original transmission and repetition of the low latency service may be greater or less than what is shown in fig. 4-7.
Before describing the details of the method performed by the transmitting and receiving nodes to support puncturing illustrated in fig. 4-7, a high-level description of exemplary transmitting and receiving nodes will be presented in conjunction with fig. 8 to assist the reader in understanding the details of the implementation of the processes of the present disclosure below. As shown, transmitting node 805 may transmit information to receiving node 850, and receiving node 850 may transmit information to transmitting node 805. To accomplish this, the transmitting node 805 includes a processor 815 coupled to a transceiver 810 and a memory 820; and receiving node 850 includes a processor 860 coupled to transceiver 855 and memory 865. Transceivers 810 and 855 provide wireless interfaces for transmitting node 805 and receiving node 850, respectively. Processors 815 and 860 may be any type of processor such as, for example, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or the like.
Memory 865 includes HARQ buffers 870 for storing different transmissions for soft combining. Memory 820 and 865 may be any type of memory and may include both temporary memory and non-temporary memory. The non-transitory memory may include code that, when executed by an associated processor, causes the processor to perform the methods described herein. The non-transitory memory may include a computer-readable medium that stores the code. Although fig. 8 illustrates the use of a transceiver, separate transmitters and receivers may be provided depending on the implementation. Fig. 8 is a high-level illustration of a transmitting node 805 and a receiving node 850, and one skilled in the art will appreciate that each node may include additional components, such as an input device, an interface to other devices, one or more antennas, one or more displays, and so forth.
Although the following discussion assumes that the transmitting node 805 is a base station (e.g., an eNB, a gNB, or any other type of base station) and the receiving node 850 is a UE (user equipment), the present disclosure may also be employed where the transmitting node 805 is a UE and the receiving node 850 is a base station. In this case, the transmission of the data of the first and second services involves transmissions from at least two UEs, i.e. during a TTI one of the UEs transmits data of the first service and the other UE or UEs transmit data of the second service. The transmission of data of the first service by the one UE may be coordinated with the transmission of the second service by the other UE such that there is no or minimal overlap in time and/or frequency. Uncoordinated transmissions may also be employed such that the transmission of data of the first service by the one UE overlaps in time and/or frequency with the transmission by at least one of the other UEs.
The method performed by the transmitting node 805 will first be presented in conjunction with the high-level flow diagram of fig. 9, and then the details will be addressed in conjunction with the description of fig. 10. Initially, the transmitting node 805 determines that data of a first service is to be transmitted during a time period in which data of a second service is to be transmitted, wherein the data of the first service requires a lower latency than the data of the second service (step 905). The transmitting node 805 then determines a transmission or reception condition (step 910) and determines to adjust the transmission of the first service based on the determined transmission or reception condition (step 915). These adjustments may be to adjust transmission power, modulation, and/or coding, and to employ puncturing bundling, as discussed in detail below. For purposes of explanation only, it will be assumed in this example that the transmission adjustments include at least the use of puncturing bundling. Thus, the transmitting node 805 transmits data of the first service while transmitting data of the second service during the time period and adjusts at least one repetition involving an original data set comprising the first service and an original data set of the first service (step 920).
Turning now to the flowchart of fig. 10, the processor 815 of the transmitting node 805 initially receives data for a low latency service via the transceiver 810 for transmission during a time period for transmission of data for a second, non-low latency service (step 1005). The processor 815 of the transmitting node 805 then determines whether the transmission and/or reception conditions are acceptable (step 1010). The determination may be based on any number of factors, including signal-to-noise ratio (SNR), signal-to-interference ratio (SIR), block error rate (BLER), and the like. Further, conventional feedback techniques may be used for reporting transmission/reception conditions to the transmitting node to obtain information for making this determination.
If the processor 815 determines that the conditions are acceptable ("yes" path out of decision step 1010), the processor punctures the second transmission with a single instance of the data for the low latency service and transmits the data for both the first service and the second service using the transceiver 810 (step 1015). The puncturing may take a similar form as that shown in fig. 3A and 3B (depending on whether the transmitting node is a base station or a UE). Puncturing does not necessarily occupy the same time and/or frequency resources shown in fig. 3A and 3B, and data of a first service is punctured into data of a second service in a different time and/or frequency location from that shown in fig. 3A and 3B. The meaning of this transmission is that it does not include any redundancy of the data of the first service in the transmission. Furthermore, as discussed above, if the transmitting node is a base station, there will be minimal or no overlap between the data transmitted for the first and second services, whereas if the transmitting node is a UE, there may be overlap in time and/or frequency.
If the processor 815 of the transmitting node 805 determines that the transmission and/or reception conditions are not acceptable ("no" path out of decision step 1010), the processor 815 determines whether transmission adjustments are available to support low latency services (step 1020). Transmission adjustments may include increasing transmission power, changing modulation and/or coding, etc. If there is an available transmission parameter adjustment ("yes" path out of decision step 1020), then the transmitting node transmits the low latency served data punctured in the transmission of the second served data using the adjusted transmission parameters via transceiver 810 (step 1025).
Situations may arise where the transmitting node 805 has already transmitted at maximum power or has employed the most robust modulation and/or coding and therefore transmission adjustments will not be available. These situations may arise, for example, when the UE is located at the edge of the base station's cell, when coverage is of poor quality due to the use of high frequencies, and when there is unwanted interference. In these and other similar scenarios, no transmission adaptation is available, but due to the strict latency requirements of the first service, the transmitting node still has to attempt to provide this data to the receiving node 850, which in this disclosure is achieved by transmitting the original data of the first service and one or more redundant versions of the original data of the first service in a single transmission (e.g., a single TTI of the second service).
If transmission parameter adjustments are not available to support the low latency service ("no" path out of decision step 1020), then processor 815 decides to transmit data for the first service using punctured bundling. In particular, processor 815 punctures an original transmission of a first service and one or more repetitions of the original transmission into a transmission of a second service (step 1030). This may be accomplished using any of the examples discussed above in connection with fig. 4-7 and variations thereof. Thus, depending on the implementation, the one or more repetitions may contain both control data and user data, or may contain only user data.
According to example embodiments, transmitting node 805 may explicitly signal the presence of punctured bundles in TTIs, receiving node 850 may perform blind detection, and/or may use separate signaling to pre-configure receiving node 850 to facilitate blind detection.
The explicit indicator may be implemented in a variety of different ways. The explicit indicator may be a Puncturing Bundle Indicator (PBI) included in transmission of original data of the first service but not included in repetition of the first service. This allows the receiving node to distinguish between transmission and repetition of the original data of the first service, such that the receiving node can perform soft combining using the transmission and one or more repetitions of the original data. Alternatively, the PBI may be sent from a control channel, which may be carried in a mini-slot. The PBI may also carry information about the next punctured resource block, such as a time/OFDM symbol/slot offset, a PRB- (physical resource block) offset, or a sequence of such information per punctured bundle transmission, in order to assist the receiving node in finding the received transmission of the first service.
The explicit indicator may also include information regarding the size of punctured data for the first service (i.e., the size of the original transmission and all repeated data for the first service within the TTI of the second service). This SIZE information, referred to herein as puncutjbuffer SIZE, may be calculated based on the Transport Block (TB) SIZE of the transmission of the second service, URLLC transport block SIZE, channel conditions, and so on. The transmit _ buffer _ SIZE may be equal to the amount of original transmission and repetition of the first service, which will be 4 in the example of fig. 4. Thus, the original transmission of data of the first service and the repetition resulting from a single Radio Link Control (RLC) Service Data Unit (SDU) are continuously transmitted in the same TTI of the second service, and have a HARQ process number of 0.
The explicit indicator may also include information informing receiving node 850 how data of the first service is punctured into a TTI of the second service, transmission of original data of the first service, and repetitionA coding scheme, and SIZE information similar to the transmit _ buffer _ SIZE information. Such information is referred to herein aspunctureBundlingField. In one embodiment, this information may be included in the original transmission and repetition of the data of the first service in order to handle the problem of error detection of the puncturing indicator (such as when receiving node 850 did not receive the original transmission and/or one or more repetitions of the data of the first service and thus receiving node 850 cannot rely on the amount of original transmission and repetition). Thus, for example, if receiving node 850 did not receive the original transmission of the data of the first service and the first repetition, but had detected the second repetition, receiving node 850 may decode the second repetition and any other repetitions (in which case soft combining may be performed). In addition, receiving node 850 may examine portions of earlier received transmissions in order to attempt to decode the original transmission and the first repetition of the data for the first service.
PBI can be used alone, in combination with PUNCTURE _ BUNDLE _ SIZE and punctureBundlingFiled, and in combination with any information related to puncturing, punctured area and/or coding scheme.
In addition to or as an alternative to providing an explicit indicator, the transmitting node 805 may also configure the receiving node 850, e.g., via Radio Resource Control (RRC) messages, MAC (medium access control) CEs (control elements), or other similar messaging, to pre-configure semi-static adjustment of the next transmitted resources, such as resources using the same PRB and earliest possible OFDM symbols, etc. Alternatively or additionally, the messaging may initially pre-configure the frequency hopping pattern, and the PBI may correspond to the frequency hopping pattern index, or may cancel frequency hopping.
Blind detection of punctured bundles may be accomplished in a manner that increases the ability of receiving node 850 to identify punctured bundles. For example, the transmission of the original data of the first service and each repetition may employ the same redundancy version within a predefined time window, i.e. each encoded in the same way. Thus, processor 860 of receiving node 850 may detect punctured bundling by the original transmission of the first data service having the same signal value and the sequence of repeated QAM symbols after channel equalization. Thus, the punctured area includes a repeating pattern, and thus the processor 860 of the receiving node 850 may perform correlation based on signal processing to estimate the presence of punctured bundled transmissions as a function of transport block length and the amount of bundling within a predefined time window, such as a subframe slot of the second service. Another advantage of using the same redundancy version for transmission and one or more repetitions of the original data of the first service is that: the signals may be combined at the QAM symbol level, which reduces reception complexity while also achieving beamforming gain.
Assisted blind detection may provide receiving node 850 with reconfiguration information to specify some or almost all of the bundling parameters that may be used. The reconfiguration information is sent separately from the transmission of the data for the first service, e.g., in a Radio Resource Control (RRC) message or other L1/L2 (layer 1/layer 2) signaling message. Notification of the potential presence of hole bundling may be accomplished by transmitting a semi-persistent change instruction to receiving node 850 that is using the first service.
Returning to fig. 10, if an explicit indicator is employed, it is included in the punctured TTI in the manner described above (step 1035). If no explicit indicator is supported, this step is omitted. Processor 815 of transmitting node 805 then transmits the punctured TTIs to receiving node 850 using transceiver 810 (step 1040). The transmission of the punctured TTI will vary depending on whether the transmitting node 805 is a base station or a UE. When the transmitting node 805 is a base station, the transmission of the TTI may comprise data of both the first service and the second service. Although the same situation may occur when the transmitting node 805 is a UE, a more likely scenario is where the UE transmits data for only a first service and one or more other UEs transmit data for a second service, all of which occur during a TTI of the second service.
At some point after receiving node 850 receives and attempts to decode the TTI, receiving node 850 will transmit HARQ feedback (i.e., ACK or NACK) for the first service to transmitting node 805 (step 1045). According to an exemplary embodiment, the HARQ feedback is a single message of a punctured bundle (i.e., transmission and all repetitions of the original data of the first service within the punctured bundle). In contrast, conventional HARQ techniques involve separate HARQ feedback for the originally transmitted data and each repetition. Thus, the puncturing bundling of the present disclosure not only helps to achieve strict latency requirements for the first service, but also reduces overhead signaling by eliminating at least one HARQ feedback transmission and possibly more HARQ feedback transmissions (depending on the number of repetitions in the puncturing bundle). The reduced signaling increases air interface efficiency by reducing the amount of radio resources consumed to support HARQ and reduces interference that may be caused by additional HARQ feedback transmissions.
The method performed by receiving node 850 will first be presented in conjunction with the high-level flow diagram of fig. 11, and then the details will be addressed in conjunction with the description of fig. 12. Initially, receiving node 850 receives a transmission during a time period (step 1105) and determines that the received transmission includes data for the first and second services (step 1110). Next, receiving node 850 determines that the received transmission includes the original data set of the first service and at least one repetition of the original data set of the first service (step 1115), and the receiving node attempts to decode data of the first service using the original data set alone or in combination with one or more of the at least one repetition of the original data set of the first service (step 1120).
Turning now to fig. 12, processor 860 of receiving node 850 initially receives a transmission of a TTI of the second service via transceiver 855 (step 1205). Processor 850 then determines whether the received transmission was punctured with data of the first service (step 1210). This determination may be performed in a number of different ways. For example, a CRC (cyclic redundancy check) bitmap may be used to indicate code blocks transmitted after the punctured portion, such that, in one example, CRC =00000 is used for code blocks preceding the punctured code blocks, and CRC =01000 may be used to indicate code blocks following the punctured code blocks. In another example, transmitting node 805 may provide a blanking assignment to receiving node 850, such as assigning a transmission of the first service for a scheduled URLLC transmission using DCI with a CRC bitmap that matches an RNTI (radio network temporary identity) of the intended receiving node 850. The transmitting node 805 may also include a blanking indicator in the TTI indicating that at least a portion of the time-frequency resources of the second transmission are punctured. For example, receiving node 850 may be configured via RRC messages to detect puncturing when a particular reference signal (e.g., URLLC PDCCH DMRS) is detected. In further examples, receiving node 850 may blindly detect the presence of punctured data, e.g., by comparing two independent transmissions of the second service to generate an assumption of which of the independent transmissions was punctured.
If processor 860 determines that the TTI of the second service is not punctured ("NO" path out of decision step 1210), then processor 860 attempts to decode the data of the transmission of the second service (step 1215). If processor 860 determines that there is puncturing ("yes" path out of decision step 1215), then processor 860 determines the location of the transmission and repetition of the original data of the first service (step 1220). The manner in which receiving node 850 determines the location of the data of the first service depends on whether the network implements explicit indicators, blind detection, or assisted blind detection, each of which may be implemented in the manner described above.
Processor 860 of receiving node 850 then attempts to decode the original transmission of the data of the first service (step 1225). If the decoding is successful ("yes" path out of decision step 1230), then processor 860 discards the repetitions because they are not already needed to decode the data of the first service (step 1235). Whether the decoding is successful or not may be based on conventional techniques, such as by checking CRC (cyclic redundancy check).
If the decoding was not successful ("no" path out of decision step 1230), then processor 860 attempts to decode using the transmission and one or more repetitions of the original data of the first service (step 1240). This may be an iterative process where processor 860 first attempts to decode using the original data and the first repetition, and if this is unsuccessful, then processor 860 attempts to decode using the original data and the first and second repetitions, and so on. If processor 860 successfully decodes the data for the first service ("no" path out of decision step 1245), then processor 860 discards any unused repetitions and sends a single HARQ feedback indicating successful decoding for the original transmission and repetitions (step 1250). If processor 860 did not successfully decode the data for the first service using the original transmission and all repetitions ("no" path out of decision step 1245), then processor 860 discards the original transmission and repetitions and sends a single HARQ feedback indicating a decoding failure for the original transmission and repetitions (step 1255). Depending on the implementation, the transmitting node 805 may attempt to retransmit the data of the first service as either raw data only or with one or more repetitions, provided that the retransmission may meet the strict latency requirements of the first service.
The exemplary embodiments have been described in connection with the transmission of downlink data, however, the present disclosure is equally applicable to uplink transmissions, in which case the punctured data for the first service would be the PUSCH instead of the PDCCH sent in the downlink (as illustrated above in connection with fig. 3A).
Although the exemplary embodiments have been described in the case where data of the first service punctures data of the second service, the bundle puncturing of the present disclosure may also be employed without puncturing. Furthermore, although an exemplary embodiment has been described where URLLC is the first service and MBB is the second service, the present disclosure is equally applicable to the transmission of any type of low latency service, as well as to any other type of service where puncturing does not have the same low latency requirements, such as large-scale machine type communication (mtc), Multimedia Broadcast Multicast Service (MBMS), etc.
Although the exemplary embodiments have been described in the context of the time period of transmission of the second service being a TTI, it should be appreciated that the TTI may correspond to a subframe, slot or mini-slot, and thus the terms subframe, slot or mini-slot may replace the TTI in the discussion above.
Accordingly, embodiments disclosed herein provide radio communication systems, apparatuses, and methods for enabling decoding of data of a first service with stringent low latency requirements by including repetition in a transmission punctured with the originally transmitted data. It should be understood that this description is not intended to limit the present disclosure. On the contrary, the exemplary embodiments are intended to cover alternatives, modifications and equivalents, which are included within the spirit and scope of the disclosure. Furthermore, in the detailed description of the exemplary embodiments, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood by those skilled in the art that various embodiments may be practiced without such specific details.
Any suitable steps, methods or functions may be performed by a computer program product executable by components and apparatus such as those shown in one or more of the above figures. For example, memories 820 and 865 may comprise computer-readable components on which computer programs may be stored. The computer program may comprise instructions that cause processors 815 and 860 (and any operatively coupled entities and devices, such as transceiver 810 and memory 820 and transceiver 855 and memory 865, respectively) to perform a method according to embodiments described herein. Accordingly, a computer program and/or computer program product may provide means for performing any of the steps disclosed herein.
Any suitable steps, methods or functions may be performed by one or more functional blocks or circuits. Each functional module may include software, computer programs, subroutines, libraries, source code, or any other form of executable instructions that are executed by, for example, a processor. In some embodiments, each functional module may be implemented in hardware and/or in software. For example, one or more or all of the functional blocks may be implemented by processors 815 and/or 860 (possibly in cooperation with memories 820 and/or 865). Thus, the processors 815 and/or 860 and the memories 820 and/or 865 may be arranged to allow the processors 815 and/or 860 to fetch instructions from the memories 820 and/or 865 and execute the fetched instructions, so as to allow the corresponding functional module to perform any of the steps or functions disclosed herein.
Although the features and elements of the present exemplary embodiments are described in the embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the embodiments or in various combinations with or without other features and elements disclosed herein. The methods or flow charts provided in the present application may be implemented in a computer program, software, or firmware tangibly embodied in a computer-readable storage medium for execution by a computer or processor.
This written description uses examples of the subject matter disclosed to enable any person skilled in the art to practice them, including making and using any devices or systems and performing any incorporated methods. The scope of the subject matter is defined by the claims and may include other examples that occur to those skilled in the art. Such other examples are contemplated to be within the scope of the claims.