Methods and apparatus for formatting headers in a communication frame

Methods and apparatus for formatting headers for data packets within a communication frame for use in a wireless communication system are presented. Formatting headers includes determining the size of a wireless communication frame, and formatting the payloads and associated headers within the communication frame according to the determined size. This formatting includes placing headers at the beginning of the frame before the data packets corresponding to the headers to optimize processing of the headers at a receiver. Formatting may also include formatting the headers according to a first format within the frame when the determined frame size is below a predetermined size to optimize the size of the headers, and formatting according to a second format within the frame size of the data packet is equal to or greater than the predetermined size to optimize processing for frames having large data packets.

BACKGROUND

The present disclosure generally relates to methods and apparatus for formatting a header in a communication frame, and more specifically to formatting headers within a communication frame to optimize the frame for either processing or header size.

In particular wireless communication systems, signals are transmitted in a frame format. Within the frame format, information is packetized and formatted according to actual payload data to be communicated over the communication system and other overhead information that is used for communicating various other information particular to the communication system, such as information used for timing acquisition and decoding the frame, as examples. This overhead information is typically arranged into a header packet within the frames, and associated with a corresponding payload data packet to which the header information pertains.

In some types of communication having low data rate (and small packet sizes), such as Voice-over-IP (VoIP) for example, it is desirable to minimize the header overhead information in order to increase system capacity, such as supporting more VoIP calls in system). Additionally, it is noted that at the media access control (MAC) layers and higher, frames are organized such that the headers are formatted in order of processing immediately before their associated data packets or payloads. With communications having higher data rates and larger packet sizes, however, the header size naturally increases for processing of the larger packets at the receiver. Utilizing a typical format with headers organized for processing before each corresponding data packet that is favorable for low data rate communications, tends to slow processing of the larger packets and their larger headers at a receiver during high data rate communications. Accordingly, a need exists to accommodate both low data rate communications and high data rate communications in a communication system, while allowing a mechanism to improve the efficiency of header processing for high data rate communications.

SUMMARY

In an aspect, a method for formatting headers for data payloads within a wireless communication frame for use in a wireless communication system is disclosed. The method includes first determining the size of the wireless communication frame. After the size is determined, the method also includes formatting headers and corresponding data payloads according to a first format within the frame when the size of the frame is below a predetermined size and according to a second format within the frame when the size of the frame is equal to or greater than the predetermined size.

In another aspect, an apparatus for formatting headers for data payloads within a wireless communication frame for use in a wireless communication is disclosed. The apparatus includes at least one processor configured to determine the size of the wireless communication frame. The processor is also configured to format headers and corresponding data payloads according to a first format within the frame when the size of the frame is below a predetermined size and according to a second format within the frame when the size of the frame is equal to or greater than the predetermined size. The apparatus also includes a memory coupled to the at least one processor.

According to yet another aspect, an apparatus for formatting headers within a communication frame for use in a wireless communication system is disclosed. The apparatus include means for determining the size of the wireless communication frame. The apparatus also includes means for formatting headers and corresponding data payloads according to a first format within the frame when the size of the frame is below a predetermined size and according to a second format within the frame when the size of the frame is equal to or greater than the predetermined size.

According to still another aspect, a computer program product comprising a computer-readable medium is disclosed. The computer-readable medium includes code for causing a computer to determine the size of a wireless communication frame in a wireless communication system, and code for causing a computer to format headers and corresponding data payloads according to a first format within the frame when the size of the frame is below a predetermined size and according to a second format within the frame when the size of the frame is equal to or greater than the predetermined size.

According to yet a further aspect, another method for formatting a communication frame used in a communication system is disclosed. The method includes determining a size of one of the communication frame and at least one data payload in the wireless communication frame. The method also includes formatting the communication frame to include headers at the beginning of the frame prior to any corresponding data payloads in the frame when the determined size of one of the communication frame and the at least one data payload is above a predetermined threshold.

In still another aspect, an apparatus for formatting a communication frame used in a communication system includes at least one processor. The processor is configured to determine a size of one of the communication frame and at least one data payload in the wireless communication frame. The process is also configured to format the communication frame to include headers at the beginning of the frame prior to any corresponding data payloads in the frame when the determined size of one of the communication frame and the at least one data payload is above a predetermined threshold. The apparatus also includes a memory coupled to the at least one processor.

In yet a further aspect, an apparatus for formatting a communication frame used in a communication system is disclosed. The apparatus includes means for determining a size of one of the communication frame and at least one data payload in the wireless communication frame. The apparatus also includes means for formatting the communication frame to include headers at the beginning of the frame prior to any corresponding data payloads in the frame when the determined size of one of the communication frame and the at least one data payload is above a predetermined threshold.

In yet one more aspect, a computer program product comprising computer-readable medium is disclosed. The computer-readable medium comprises code for causing a computer to determine a size of one of a communication frame for use in a wireless communication system and at least one data payload in the wireless communication frame. The computer-readable medium also includes code for causing a computer to format the communication frame to include headers at the beginning of the frame prior to any corresponding data payloads in the frame when the determined size of one of the communication frame and the at least one data payload is above a predetermined threshold.

DETAILED DESCRIPTION

In an aspect, the presently disclosed methods and apparatus provide frame formatting that engenders optimized processing for frames received at a mobile device, such as an access terminal (AT), for instance. This is accomplished through a frame format that arranges headers at the beginning of a wireless communication frame prior to the payload packets, particularly for frames having large payload packets, and thus larger frame size. When processed at a receiver, such formatting affords more efficient processing than frames arranged where each header is placed with its associated payload. In another aspect, the presently disclosed methods and apparatus provide frame formatting that is dependent on either the overall size of the communication frame (e.g., a MAC Frame) or the size of payload packets within a particular communication frame. If the frame or the payload packets in a frame are smaller, such as for VoIP communications, the headers are arranged in conjunction with their associated payload packet in order to optimize the header size. On the other hand, if the communication frame or the payload packets within the frame are large, such as for high throughput data communications, such as UMB or LTE, the frames are alternately arranged to include all headers up front in the frame prior to the payload packets in order to optimize the ability of a receiver processing the frame. In this manner, the frame formatting is tailored to be most optimal for the type of communication effected with the frame.

In the following described examples, for reasons of conciseness and clarity the disclosure uses some terminology associated with Ultra Mobile Broadband (UMB) technology. It should be emphasized, however, that the presently described examples are also applicable to other technologies, such as technologies related to Long Term Evolution (LTE), Code Division Multiple Access (CDMA), cdma2000 EV-DO, Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA) and so forth. It will be appreciated by those skilled in the art, that when applying the disclosed methods and apparatus to other technologies, the associated terminology would clearly be different.

As examples, an access point (AP) may be a fixed station used for communicating with the terminals and may also be referred to as an access point, a Node B, base station, or some other terminology. An access terminal (AT) may also be called an access terminal (AT), user equipment (UE), a wireless communication device, terminal, access terminal or some other terminology.

According to an aspect,FIG. 1illustrates a wireless communication system100in which the presently disclosed methods and apparatus may be employed. An access point (AP) or base station102transmits information to access terminals104over forward links106,108. The transmitted information may be arranged in communication frames to packetize the data.

An access point (AP) may be a fixed station used for communicating with the terminals and may also be referred to as an access point, a Node B, or some other terminology. An access terminal (AT) may also be called an access terminal, user equipment (UE), a wireless communication device, terminal, access terminal or some other terminology.

FIG. 2illustrates an exemplary media access control (MAC) layer (and above) frame formatting that may be transmitted with AP102in the system ofFIG. 1, for example. Frame200, in particular, is exemplary of a UMB format for header optimization, such as for smaller payload packets. As discussed above, VoIP communication utilizes smaller payload packets, but frame200is not limited solely to such, and is optimal with various other types of communications which are timing sensitive in manner similar to voice communications. As illustrated, the MAC frame200includes a one or more frame headers202(shown singular for brevity) for each packet within the frame200. Headers202are referred to as a Packet Consolidation Protocol (PCP) headers, are arranged first in the frame200, and serve to indicate where to find the various n number of data packets within the communication frame200. After header202, a first header204is shown placed immediately prior to an associated or corresponding data payload206. The headers, as will be explained later, may be configured according to Radio Link Protocol, Stream Protocol, fragmentation and reassembly protocol, or logical channel identification protocol, as examples. The pair of the header and payload, such as header204and payload206, may be termed as a “packet”, and more specifically a MAC packet in the present example.

After payload206, a next header208and an associated payload210come in sequential order through an nthheader212and associated data payload or packet214. After the header and data payload pairs, a trailer216for MAC frame200may be included to delineate or signal an end of the frame200, or at least the end of the n number of data payloads within the frame200. The overall size of the frame200is illustrated inFIG. 2by the dimension217.

FIG. 2also illustrates an expanded or blown up view218of an exemplary upper layer header that is applicable to all headers of frame200, such as header204. As may be seen, header218includes a number of fields, some of which are variable in bit length and dependent of the size of the payload or data packet to which it corresponds. Accordingly, this allows the header to be varied according to the particular size of the data payload or the packet.

As illustrated, header218may include a Route Header220, which has Route bits of variable bit length to indicate destination route of the packet. Header218may also include Stream Header222to indicate a stream corresponding to this packet. Additionally, the header218includes a radio link protocol (RLP) header that includes a Ciphering Key Index224, a SAR (Segmentation and Reassembly) Sequence field226, First+Last filed228, and a Quick Nak (QN) header230. The RLP header is derived or obtained from another layer than the MAC layer and added to the header218. Various fields in the RLP header may also be variable based on the packet size, such as the SARSeq field226or the QN Header230. It is noted that the RLP header is derived from other layers (e.g., RLP layer or when assembling the headers for the MAC layer frame200.

It is also noted that the PCP header202may also be formatted to include information fields (not shown) to indicate if more than one PCP header is present in the frame200. The PCT header202may also include short or long length field that used to indicate expanded payload lengths in the case of a long field to support larger Segmentation and Reassembly Protocol Data Unit (SAR PDU) payload sizes. As an example, the length field in the PCP header may be 6 bits in length to indicate shorter payload lengths up to 64 bytes and a length field of 14 bits to indicate large payload lengths of up to 16,384 bytes.

FIG. 3illustrates an alternative exemplary media access control (MAC) layer (and above) frame formatting that may be transmitted with AP102in the system ofFIG. 1, for example. In particular, the frame300, which is a MAC layer frame for a UMB system in this example, is arranged or formatted to afford optimized processing by a receiver receiving and processing the frame. As may be seen inFIG. 3, the frame300includes an n number of headers (302,304, through306) arranged at the beginning of frame300prior to their corresponding payloads (308,310,312). As has been discovered by the present inventors, this arrangement of the headers and payloads within a communication frame, such as frame300, has proven to optimize processing at a receiver demodulating and decoding the frame.

Frame300may also include a Number of Headers packet314at the beginning of the frame (e.g., a one byte field indicating the number of data packets in the frame300). The packet314communicates the number of header packets (i.e., n number) within the frame300. Frame300also includes a MAC trailer315that ends the frame300.

Also illustrated inFIG. 3is an expanded view316of a typical header, such as header302. As illustrated by view316, the header includes a PCP header318that may be used to communicate PCP information from another layer, as well as route header information. The header also may included an RLP header having a reserved field320, Encryption Key Index field322, First+Last field324, and a Cryptosync field326. Furthermore, within the Cryptosync filed, various bits (not shown) may be used to indicate a Function code, direction, a router counter, a stream ID, a SAR Reset Counter, and a virtual SAR Sequence number. It is noted that in an example that the Cryptosync may be set to 96 bits in length.

Additionally, according to an aspect, the length of the headers in frame300may be set to a fixed size to enhance optimization of processing by a receiver. By fixing the size of the header, processing at the receiver is further optimized as a fixed size affords predictability for the processing receiver and serves to prevent bottlenecks in the processing by a receiver. The particular length of the headers may be set according to the particular system or type of communication being effected with the communication frame.

FIG. 4illustrates a method for formatting communication frames that may be used by a base station, AP, or other transmitter of a communication system, such as UMB or LTE communication systems. As illustrated, a size of a wireless communication frame, such as a MAC frame, to be assembled is determined, as illustrated by block402. It is noted that this size determination may be based on the total size of the wireless frame (e.g.,217), or alternatively the size determination may be based on one or more of the size(s) of data payloads in the communication frame. As another alternative, the size determination in block402may be based on whether the type of communication is known (e.g., broadband communication with attendant large frame size). Thus, if the communication is broadband communication, such as in UMB or LTE systems, it is known that the frame size will be large as compared to other communication such as VoIP.

According to the method ofFIG. 4, the MAC frame is then assembled where a plurality of headers each corresponding to a respective MAC payload are arranged in the communication frame prior to the plurality MAC payloads when the determined size of the frame is greater than a predetermined threshold as illustrated by the process in block404. As discussed above, by arranging all of the MAC headers before any of the MAC payloads, such as illustrated by the example ofFIG. 3, processing of the communication frame may be optimized at the receiver.

According to an alternative aspect, the size determination in block402may be based on determination of the size of at least one of the payloads and corresponding headers, rather than on the overall communication frame size. Accordingly, the decision to format the frame by placing headers before any payloads in block404would then be based on whether it is determined that at least one payload and header size is greater than a predetermined threshold

As an example of a process by which the MAC payloads may be formed or assembled in the process of blocks402and404,FIG. 5illustrates a sequential series of frame assembly through multiple layers. It is noted that the terminology used in this example pertains to LTE communication systems, but the concepts are not limited to such and may be applied to UMB or any number of other suitable communication systems. As illustrated, a data packet502, such as a data IP packet, is associated with or added with a Packet Data Convergence Protocol (PDCP) header504at the PDCP layer. This header504, as an example, may include a PDCP Sequence Number (SN). In a further aspect, the SN may be 7 or 12 bits in length, dependent on the logical channel. The pairing of the data packer502and PDCP Header504may optionally include an added trailer with a security checksum (e.g., a 4 byte field).

The pairing502,504is then next associated with or added to a radio link control (RLC) header506at a next RLC layer. Finally, the combined RLC payload consisting of the RLC header506, PDCP header504, and data packet502, or multiple RLC payloads (not shown) may be then assembled for use as a MAC payload508at the MAC layer. As may be seen in this example, the MAC payload508, designated as MAC Payload1, is associated with a MAC header510. As further illustrated, a MAC Payload2(512) is also placed in a communication frame with an associated MAC Header2(514), which is located prior to the MAC payloads (508,512).

FIG. 6illustrates exemplary headers that may be used for the headers of the various layers illustrated inFIG. 5. Again, as inFIG. 5, the terminology used in this example pertains to LTE communication systems, but the concepts are not limited to such and may be applied to UMB or any number of other suitable communication systems. As illustrated, a PDCP Header602includes a control field604of 4 bits and a sequence number field606having either 7 or 12 bits. An RLC Header608particular to a mode such as Unacknowledged Mode or VoIP, may include a control field610having 3 or 6 bits, and sequence number field612of 5 or 10 bits. Another alternative for an RLC header for an Acknowledged Mode such as FTP/TCP, is shown by header614having a control field of 6 bits and a sequence number of 10 bits.

A MAC header616may consist of a control field618having 3 bits, a logical channel ID field620that is 5 bits in length, and a Length field622of 7 or 15 bits. Additionally, the size of the headers may be fixed for larger data packet sizes. Thus, in the example ofFIG. 6, the RLC sequence number606would be set at 10 bits, the PDCP sequence number604set at 12 bits, and the MAC header length filed622at 15 bits.

According to another aspect, the formatting of communication frames may be made dependent on the size of the payload data packets in order to optimize the formatting for communication types. When the payload frames are small, such as in VoIP communications, the communication frame may be formatted to first format, such as a format to optimize header sizing. Conversely, when payloads are large, such as in high throughput communications, the communication frame may be alternatively formatted to another format, such as a format to optimize processing of the frame at a receiver.

FIG. 7illustrates a flow chart of such an exemplary method for use in formatting the header configuration in a communication frame dependent on the size of the communication frame. As shown, the size of the communication frame to be formatted is determined in block702. After determination of the size of the communication, flow proceeds to block704. At block704at least one header corresponding to the at least one data packet is formatted according to a first format when the size of the packet is below a predetermined size and according to a second format when the size of the packet is equal to or greater than the predetermined size. The predetermined size is dependent on the communication system and attendant standards. As merely an example, clearly large packets on the order to 4000-6000 bytes in UMB or LTE communications would be above the predetermined threshold, whereas much smaller VoIP packets of 40-50 bytes would be well below the predetermined threshold.

According to an aspect, the first format may include variably configuring the size of the at least one header based on a length of the corresponding at least one data packet. As an example fromFIG. 2, the header218in a header optimized format utilizes various variable length fields, such that the header may be sized or tailored based on the size of the data packet. This variability affords the ability to ensure that the header size is optimized to be as small as possible for a given data packet.

Additionally, the first format of block704may also include grouping the at least one header with the corresponding at least one data packet within the communication frame, as illustrated by the example of frame200inFIG. 2, which is suited for particular types of communication such as voice over IP communications.

According to another aspect, the second format in block704may include placing the at least one header in the communication frame prior to and independent from the corresponding at least one data packet. That is, each header corresponding to a data packet is separated or made independent from the data packet and placed prior to the data packets or payloads in the communication frame. An example of this formatting is illustrated by MAC frame300inFIG. 3. By separating the headers from their associated payloads or data packets, especially in the case of large data packets used in data communications (e.g., TCP/IP), a resultant benefit is more efficient processing of the communication frame at a receiver, as header processing may be begin while waiting to receive the actual payloads that will be demodulated and decoded.

In an example of the second format in block704, the size of the at least one header may be set to at a prescribed fixed length, such as was discussed above in connection with the example of the MAC header inFIG. 5. By setting the headers to a fixed length, a benefit of predictability afforded to the receiver. When the size of each header is known to the receiver, less processing is required to determine how many bits will be present in header, thereby contributing to further optimization of processing.

According to still another aspect of the second format in block704, the header format of the second information used by a receiver of the communication frame for ciphering or processing the at least one data packet is contained within the at least one header. As an example of this feature,FIG. 3illustrates that the header316includes the PCP header318within each header such that the PCT and Route information is contained within each respective header. Accordingly, processing of the headers may be optimized and the headers themselves may be independent from other headers, and more importantly, their corresponding data packets. This is in contrast to the header optimized format ofFIG. 2, where the PCP headers220are separate from the headers (e.g.,202) and are processed prior to processing of the grouping of headers and data packets.

FIG. 8illustrates an exemplary transceiver800that formats and transmits the communication frames based on packet data size in accordance with the formats and methods disclosed herein. Transceiver800may constitute an AP (e.g., AP102inFIG. 1), a base station, or other suitable hardware (e.g., processor, or a collection of circuits/modules), software, firmware, or any combination thereof for use in an AP device. As illustrated, transceiver800includes a central data bus802, or similar device for communicatively linking or coupling several circuits together. The circuits include a CPU (Central Processing Unit) or a controller704, transceiver circuits806, and a memory unit808.

The transceiver circuits806include receiver circuits to process received signals before sending out to the central data bus802, as well as transmit circuits to process and buffer data from the data bus802before sending out of the device800, such as to one or more ATs as illustrated by wireless communication link(s)810. Accordingly, the transceiver circuits806may include RF circuits to transmit over the wireless link810to the one or more ATs.

The CPU/controller806performs the function of data management of the data bus802and further the function of general data processing, including executing the instructional contents of the memory unit808. It is noted here that instead of separately implemented as shown inFIG. 8, as an alternative, the transceiver circuits706can be incorporated as parts of the CPU/controller704. As a further alternative, the entire apparatus700may be implemented as an application specific integrated circuit (ASIC) or similar apparatus.

The memory unit808may include one or more sets of instructions/modules. In the exemplary apparatus800, the instructions/modules include, among other things, a frame formatting function812, which is configured to effect the methodologies described herein; namely the frame formatting discussed above in connection withFIGS. 2-7. In the example ofFIG. 8, the memory unit808may be a RAM (Random Access Memory) circuit. The exemplary portions, such as the functions in block812, are software routines, modules and/or data sets. The memory unit808can be tied to another memory circuit (not shown) which either can be of the volatile or nonvolatile type. As an alternative, the memory unit808can be made of other circuit types, such as an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM (Electrical Programmable Read Only Memory), a ROM (Read Only Memory), an ASIC (Application Specific Integrated Circuit), a magnetic disk, an optical disk, and other computer-readable media well known in the art.

FIG. 9illustrates a further example of an apparatus for use in a transceiver in a communication system that may be utilized for formatting headers in communication frames. It is noted that the apparatus900, may be implemented in an AP or base station, as examples. It should be further noted, that disclosed apparatus900is not limited to implementation only in an AP or base station, but also any suitable apparatus that formats communication frames for transmission.

Apparatus900includes a module or means902for determining a size of a wireless communication frame (or alternatively the size of one or more data payloads within the communication frame). As an example, means902may be implemented with one or more components within a transceiver. As an example fromFIG. 8, the memory810in conjunction with CPU/Controller804may effect means902. The information determined by means902may then be communicated to various other modules or means in apparatus900via a bus904, or similar suitable communication coupling.

Apparatus900also includes a means906for formatting the communication frame to include one or more headers at the beginning of the frame prior to any data packets in the frame when the determined size of the wireless communication frame is above a predetermined threshold. Alternatively, means906may determine that a size of one or more data payloads is above a predetermined threshold in order to decide whether to format the headers at the beginning of a frame. It is noted that means906may implement the processes of block404and the formatting shown inFIG. 3or5, as examples. Similar to means902above, means906may be implemented with one or more components within a transceiver, and more specifically by those that effect assembly or organization of communication frames, particularly MAC frames. As an example fromFIG. 8, the memory810in conjunction with CPU/Controller804may effect means906. Means906may communicate with transceiver circuits908to effect transmission of communication frames having the desired formatting performed by means906.

In addition, apparatus900may include an optional computer readable medium or memory device910configured to store computer readable instructions and data for effecting the processes and behavior of one or more of the modules in apparatus900. Additionally, apparatus900may include a processor912configured to execute the computer readable instructions in memory910, and thus may be configured to execute one or more functions of the various modules in apparatus900.

FIG. 10illustrates a still further example of an apparatus1000for use in a transceiver in a communication system that may be utilized for formatting headers in communication frames. It is noted that the apparatus1000, may be implemented in an AP or base station, as examples. It should be further noted, that disclosed apparatus1000is not limited to implementation only in an AP or base station, but also any suitable apparatus that formats communication frames for transmission.

Apparatus1000includes a module or means1002for determining a size of MAC wireless communication frame. In an alternative aspect, the size of one or more data payloads to be placed in the communication frame may be determined by means1002. As an example, means1002may be implemented with one or more components within a transceiver. As an example fromFIG. 8, the memory810in conjunction with CPU/Controller804may effect means1002. The information determined by means1002may then be communicated to various other modules or means in apparatus1000via a bus1004, or similar suitable communication coupling.

Apparatus1000also includes a means1006for formatting header corresponding to the at least one packet according to a first format when the size of the MAC wireless communication frame is below a predetermined size, and format the at least one header according to a second format when the size of the packet is equal to or greater than the predetermined size. It is noted that means1006may implement the processes of block704inFIG. 7and the formatting shown in bothFIG. 2andFIG. 3or5, as examples, dependent on the size of the communication frame. Also, means1006may alternatively be configured to decide formatting based on whether a size of one or more data payloads in a frame is either above or below a predetermined threshold. Similar to means1002above, means1006may be implemented with one or more components within a transceiver, and more specifically by those that effect assembly or organization of communication frames, particularly MAC frames. As an example fromFIG. 8, the memory810in conjunction with CPU/Controller804may effect means1006. Means1006may communicate with transceiver circuits1008to effect transmission of communication frames having the desired formatting performed by means1006.

In addition, apparatus1000may include an optional computer readable medium or memory device1010configured to store computer readable instructions and data for effecting the processes and behavior of one or more of the modules in apparatus1000. Additionally, apparatus1000may include a processor1012configured to execute the computer readable instructions in memory1010, and thus may be configured to execute one or more functions of the various modules in apparatus1000.

In light of the above discussion, it can be appreciated that the presently disclosed methods and apparatus afford formatting of headers in a communication frame that improves processing time for frames having large payloads. Additionally, the present disclosed methods and apparatus afford a selective optimizing of communication frames for header minimization or processing efficiency based on the payload sizes.

The examples described above are merely exemplary and those skilled in the art may now make numerous uses of, and departures from, the above-described examples without departing from the inventive concepts disclosed herein. Various modifications to these examples may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other examples, e.g., in an instant messaging service or any general wireless data communication applications, without departing from the spirit or scope of the novel aspects described herein. Thus, the scope of the disclosure is not intended to be limited to the examples shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. It is noted that the word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any example described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other examples. Accordingly, the novel aspects described herein are to be defined solely by the scope of the following claims.