Patent ID: 12250585

DETAILED DESCRIPTION

Referring now to the drawings, an exemplary embodiment of the disclosure will be described in the context of a TSN network using a Fifth Generation (5G) wireless communication network, also known as New Radio (NR) network, as a TSN bridge. Those skilled in the art will appreciate that the methods and apparatus herein described are not limited to use in 5G or NR networks, but may also be used in wireless communication networks operating according to other standards to support contention-free random access procedures.

FIG.1illustrates an exemplary network100. In the network100, a TSN node110needs to connect to a TSN network120. The TSN network120includes a CNC120A that assists in scheduling transmissions to the TSN node110, shown inFIG.1as a robotic arm. The TSN node110connects to the TSN network120via a wireless bridge130. The wireless bridge130comprises a 5GS that emulates the operation of a TSN switch. The wireless bridge130provides its capabilities to the CNC120A, which schedules the data traffic between the TSN node110and TSN network120to meet strict latency and reliability requirements. The CNC120A provides the computed traffic schedule to the wireless bridge130. The 5GS is responsible for ensuring that the data traffic flows through the wireless bridge130according to the traffic schedule provided by the CNC120A.

The TSN bridge130includes a user equipment (UE)140, a 5G Radio Access Network (5G RAN)150and a 5G Core Network (5G CN)160. A TSN Translator (TT)190, referred to as the UE-TT190provides an interface between the UE140and TSN node110. A control plane (CP) TT170and user plane (UP) TT180, referred to respectively as the UP-TT180and CP-TT170, serve as interfaces between the 5G CN160and TSN network120for CP traffic and UP traffic respectively.

FIG.2illustrates an exemplary implementation of a wireless bridge130in more detail including the main functional components of the 5G RAN150and 5G CN160.FIG.2illustrates three UEs140, each combined with a UE-TT190. The 5G RAN150in this embodiment comprises two base stations154, which are referred to in the 5G standards and 5G NodeBs (gNBs). Each base station154includes a scheduler152or scheduling data transmissions over the air interface. The 5G CN160comprises an Access and Mobility Management Function (AMF)162, a Session Management Function (SMF)164, a Policy Control Function (PCF)166, and a User Plane Function (UPF)168, shown combined with the UP-TT180. An Application Function (AF) is configured to act as the CP-TT170and is referred to hereinafter as the AF-TT170.

The TSN bridge130receives streams at one or more ingress port and delivers the streams to respective egress ports. For downlink (DL) communications, the ingress ports are at the UP-TT180and the egress ports are at the UE-TT190. Downlink data traffic entering the ingress ports is mapped to a packet data unit (PDU) session by the 5G CN160and forwarded to the RAN150for transmission to the UE140over a shared downlink channel, such as the Physical Downlink Shared Channel (PDSCH). For uplink (UL) communications, the ingress ports are at the UE-TT190and the egress ports are at the UP-TT180. Uplink data traffic entering the ingress ports is mapped to a PDU session by the UE140and forwarded to the RAN150for transmission to the 5G CN160over a shared uplink channel, such as the Physical Uplink Shared Channel (PUSCH). Schedulers152in the RAN150schedule the data transmissions on the PDSCH and PDUSCH. As explained in more detail below, the 5G CN160and/or UE140provides RAN assistance information derived from the TSN traffic schedule to a scheduler152in the RAN150to assist the scheduler152in scheduling the data transmissions over the air interface to meet the strict latency and reliability requirements for TSN data traffic.

In a conventional TSN network, the Institute of Electrical and Electronics Engineers (IEEE) standard 802.1Qbv is applied to schedule the TSN traffic through the TSN bridge130. 802.1Qbv scheduling equips an IEEE 802.1Q compliant TSN bridge130with a capability to provide bounded low latency. The essence of 802.1Qbv scheduling is that the frame transmission from a certain queue, associated with a traffic class (TC), is scheduled relative to a known timescale. In order to achieve this, a transmission gate is associated to each queue. The state of the gate (open or closed) determines whether or not a queued frame can be selected for transmission. In the fully centralized operational model, the gate operations are calculated by the CNC120A based on the TSN stream characteristics and bridge capabilities. When 802.1Qbv is applied in the TSN domain, the 5GS should perform proper scheduling on its egress ports. The corresponding frames should already have arrived at the egress port of the 5GS virtual bridge to be scheduled for transmission.

The Qbv gate scheduling has some limitations. Qbv gate scheduling requires that a TSN node110be given the Qbv schedule of the preceding node, which is not a usual CNC operation. In this case, the 5GS wireless bridge130needs to identify itself and be treated in a special way by the CNC120A. In the downlink direction, where a UP-TT180handles the incoming traffic, the Qbv schedule cannot be used to derive assistance information for RAN scheduling optimization. Typically, a UP-TT180handles multiple base stations154while the Qbv specifies scheduling only on per TC level so that only aggregated traffic information is available. Hence the per-base station traffic pattern cannot be extracted from the Qbv schedule because it provides gate information for the traffic class level aggregate of individual streams.

According to one aspect of the present disclosure, per-stream filtering and policing according to IEE 802.1Qci is applied at the ingress ports of the TSN bridge130. The network100uses 802.1Qci to control streams in order to enter the TSN bridge130during specified time windows at the ingress ports. The stream control allows guaranteed bounded delays by limiting impact of errors in misbehaving or misconfigured stream sources. 802.1Qci specifies gate actions (e.g., open and close) at the ingress ports on a per-stream basis according to a base time. The 802.1Qci gate timing information can be used to extract traffic patterns and characteristics of a stream, which can be used for RAN optimization. More particularly, the 802.1Qci gate timing information can be used to derive RAN assistance information that is provided to the scheduler152at each base station154for use in scheduling data transmissions on the PDSCH and/or PUSCH to meet latency and reliability requirements.

RAN assistance information, for example, can include a message arrival time, message periodicity, and/or a message size of at least a portion of a data transmission, or other information that could be useful in scheduling data transmissions. Message arrival time can be calculated based on a gating cycle start time by shifting the gate cycle start time to account for the internal delays before the data traffic reaches the 5G base station154(for DL traffic) or UE140(for UL traffic). Message periodicity can be calculated based on the gating cycle time. Message size can be calculated based on a gate open interval for the ingress port and a port bitrate. The burst size can be the gate open interval multiplied by the port bitrate. The gate timing information could also be applied to QoS mapping between TSN and 5GS domains.

The gate timing information can also be used to determine the bandwidth requirements for TSN traffic. Bandwidth for the stream can be calculated according to:

Bn=rp⁢Σt⁢gtTEq.(1)
where rp=port bitrate, T=gate cycle time, and gt=gate open interval. Parameters such as message size, timing for successive data transmissions, and bandwidth can be useful for a variety of reasons such as scheduling and QoS mapping between the TSN and WCN.

In some embodiments, a composite traffic pattern of all TSN streams associated with the same PDU session can be determined and used for RAN optimization. TSN streams belonging to a PDU session, or even the same QoS flow within a PDU session, can be identified based on the binding between the wireless bridge ports and the PDU session stored by the AF-TT170. A composite gating information data set can be calculated using gating information for all TSN streams in a PDU session or QoS flow.

FIG.2also illustrates an exemplary gate schedule for the downlink direction using 802.1Qbv at the egress ports on the UE-TT side. The gate schedule for the ingress ports is calculated by the CNC120A based the wireless bridge capabilities and the TSN stream characteristics. For example, the AF-TT170can receive information about the wireless bridge capabilities from the SMF164and/or the AMF162. In this example, five TSN streams at the ingress ports are mapped to three PDU Sessions. Streams1and2belonging to the same traffic class are mapped to a single QoS flow in a PDU session for UE1. Stream3is mapped to a PDU session for UE2. Stream4and5are mapped to different QoS flows in a PDU session for UE3.

The CNC120A calculates the scheduling information for each port, e.g., ports in the UP-TT180and the UE-TTs190. The gate schedules are transmitted to the AF-TT170, which forwards the scheduling information through the PCF166and the SMF164and/or the AMF162. All nodes within the 5GS are synchronized to a common time scale so per-stream arrival times can be determined based on the scheduling information for each port. The scheduling information can be classified for multiple nodes.

Considering the DL direction, the gate scheduling information is sent to the UP-TT180. At the UPF168, the TSN streams are mapped to respective PDU sessions. Then for a given PDU session, by applying the gate cycle start times at the ingress port taking into account the residence time at the UPF168and the latency between the UPF168and the corresponding base station154, the message arrival time of the message bursts belonging to the given PDU session at the base station154can be calculated. From the Qci gate cycle, the periodicity of the TSN streams belonging to a PDU session can also be derived, so the traffic pattern within a PDU session can be determined and this also can be forwarded to the base station154.

In some instances, multiple TSN streams can be mapped to the same QoS flow, as shown for UE1inFIG.2. The traffic pattern for a PDU session or QoS flow carrying multiple TSN streams can be determined by applying temporal superposition. Referring toFIG.2, TSN stream1and2belong to the same traffic class and terminate at the same egress port for UE1. As shown inFIG.3, the TSN streams associated with the same traffic class and QoS flow in a PDU session are superimposed to determine a composite traffic pattern for the PDU session of QoS flow within a PDU session. The Qci traffic pattern for each TSN stream in the same PDU session or QoS flow are placed cyclically up to the size of the corresponding Qbv cycle size at the egress port. The reason to choose the Qbv cycle size is to ensure that all streams will fairly fit with their complete cycles (in some cases more than one cycle will be fit). By applying superposition, there is a resulting composite traffic pattern within the Qbv cycle time. Then, it is possible to extract traffic characteristics such as: message arrival time, maximum burst size, periodicity, and bandwidth required from the composite traffic pattern.

The length of gate open periods can be used to calculate the message size of the kth burst of a TSN Streami, according to:
Message Sizek=length_of_gate_open_statek*port_bitrate Eq.  (2)
Depending on the Qci gate schedule calculation of the CNC120A, it may happen that there is only one gate open period for a stream in its Qci gating cycle, but multiple open states can also be configured during a gating cycle.FIG.2shows an example how Stream1and Stream2are mapped to a PDU session. By using the PDU level traffic pattern and the above Message sizekvalues, the PDU level data burst sizes, MessageBurstSize, can also be calculated. In one embodiment, the maximum burst size can be extracted, by selecting the largest length_of_gate_open_statekand calculating its message size. The maximum burst size may be used for each downlink transmissions. In other embodiments, the burst size for each downlink transmission can be computed separately based on the composite traffic pattern.

In some embodiments, bandwidth can be calculated using the parameters of open gate times as shown in Equation 1.

FIGS.4-7are call flow diagrams illustrating exemplary procedures for computing the assistance information for a RAN scheduler152in a wireless bridge130. The calculation of the RAN assistance information as shown inFIGS.4-7requires information about UPF-BS latency. This information is required to calculate the delay values between each port pair of the 5G virtual bridge and is used by the CNC120A to calculate the gate scheduling. Therefore, it is assumed in the descriptions ofFIGS.4-7to follow that UPF-BS latency values are available to the SMF164and/or AF TT170. UE residence time is accounted for in the 5G virtual bridge delay, so this value could be obtained via the AMF162or SMF164.

FIG.4shows an embodiment wherein the UPF168computes RAN assistance information. This procedure could also be performed by a UP-TT180integrated with the UPF168. As shown, a capability report is transmitted to the AF-TT node170, which is in communication with the CNC120A (1). The CNC120A receives the report and calculates scheduling information labelled as Qci configuration info inFIGS.4-7(2). The scheduling information provides the Qci gate schedules for the ingress ports. This scheduling information is transmitted to the AF-TT node170, which spreads the scheduling information to other entities in the 5GS (3,4). The SMF164provides the UPF168with delay information for transmissions between the UPF168and the base station154, i.e. the UPF-gNB delay, and UE-TT190schedule information, which includes the UE delay (5,6). The UPF168calculates assistance information in the downlink direction (7). The UPF168sends the assistance information to the SMF164(8). The SMF164forwards the assistance information to one or more base stations154(9). In one example, this information may be transmitted to the AMF node162prior to being received by the one or more base stations.

In some embodiments, the uplink assistance information can be calculated by the UE140and/or the UE-TT190(10). When the UE140calculates the uplink assistance information, the UE140can transmit the uplink assistance information to the SMF164for transmission to the corresponding base station154(11,12). This information can be transmitted to the AMF node162prior to being received by the one or more base stations.

FIG.5shows an embodiment where the SMF164computes the RAN assistance information. In this embodiment, the AF-TT node170can provide schedule information to the SMF164as previously described (1-4). The SMF164aggregates configuration information for a PDU session and determines RAN assistance information (5). In some embodiments, the SMF164considers a delay between the UPF168and the base station154in the downlink direction and the UE140residence time in the uplink direction. The assistance information can be sent to one or more base stations154(6). This information can be transmitted to the AMF node162prior to being received by the one or more base stations154.

FIG.6shows an embodiment where the base stations154compute the RAN assistance information. In this embodiment, the AF-TT node170can provide schedule information to the SMF164as previously described (1-4). The SMF164classifies the schedule information for individual base stations154(5). The classified scheduling information can be sent to each base station154(6). In one example, this information may be transmitted to the AMF node162prior to being received by the one or more base stations154. The base stations154perform the mapping between the scheduling information and the PDU Sessions and calculate the required assistance information (7). In some embodiments, the SMF164and/or the AMF node162can provide delay information between the UPF node and the base station154in the downlink direction and the UE residence time in the uplink direction.

In some embodiments, calculating assistance information for uplink and downlink directions can be separate calculations. Downlink assistance information can be calculated by the base station154as described above. Uplink information can be calculated by the base station154, the UE1140, and/or the UE-TT190. In one embodiment, the uplink information is calculated by the UE140when the UE140has scheduling information, PDU sessions, and its residence time (8). The UE140can then send the uplink assistance information to the SMF164, which then provides this information to the corresponding base station154(9,10). This information can be transmitted to the AMF node162prior to being received by the one or more base stations.

FIG.7shows an embodiment where RAN assistance information is computed by the AF-TT node170. Because the AF-TT170is aware of the Qci gate schedule for each port (UPF/TT, UE-TT), it is able to calculate the required RAN scheduling assistance information. By performing this calculation, the Qci information needs to be mapped to PDU sessions, so the AF-TT170needs to be informed which PDU Sessions belong to a given base station154by the SMF164. The corresponding delay between the UPF168and base station154and UE residence time values could also be shared with the AF-TT170by the SMF164. In this regard, AF-TT170needs to provide the end-to-end delay between two ports of the 5G virtual bridge for the CNC120A, but AF-TT170does not necessarily need to know the components of this delay value (e.g., UE residence time, RAN delay, gNB-UPF delay, etc.). Therefore, the AF-TT170needs to be informed about the relevant delay components needed for the RAN assistance information calculation. some of the components could be aggregate delays. Then the AF-TT calculates the RAN scheduling assistance information and sends it the base station154.

As shown inFIG.7, a report is transmitted to the AF-TT170, which is in communication with the CNC120A (1). The CNC120A receives the report and calculates scheduling information (2). This scheduling information is transmitted to the AF-TT170, which is then transmitted to the SMF164(3,4). The SMF164provides data, such as PDU session information and delay information (e.g., delays between the UPF168and the base stations and the UE140residence times) to the AF-TT170(5). The AF-TT node170calculates the assistance information and forwards the assistance information towards the base station154(6). This information can be transmitted to the SMF164and AMF162prior to being received by the one or more base stations154.

In some embodiments, the AF-TT node170can receive data regarding scheduling information for ingress and egress ports. With this information, the AF-TT node170can calculate the scheduling information. The AF-TT node170may receive information from the SMF164regarding PDU sessions are intended for a particular base station154. In some embodiments, the AF-TT node170can provide end-to-end delay between ports of the wireless bridge to the CNC120A. In one example, the AF-TT node170may not have UE140residence time, RAN delay, delays between base stations and the UPF node, etc.

Using the procedures shown inFIGS.4-7, assistance information, such as message arrival time at the base stations154, message periodicity and message size are available for the base stations154to optimize the RAN scheduling. Also, as mentioned above, this assistance information can be useful for other purposes, such as QoS mapping, without the need to add the delays till the corresponding base station154in the case of flow arrival time.

Because the traffic of a given TSN stream is received on the ingress port only during the gate open states, the application of 802.1Qci provides also a traffic policing mechanism, which filters the unwanted overloading already on the border of the 5GS. The time-scale of the policing is coming from gate scheduling (gate open/close states), so it can guarantee that only the agreed traffic volume can be entered to the 5GS, so the RAN resources are protected from any overloading in each gating cycle. This provides traffic policing on a much shorter timescale than can be achieved by the current 5G mechanisms.

FIG.8illustrates an exemplary method200of providing assistance information to a RAN scheduler in a wireless bridge. The method200can be performed by a network node in the 5GS such as the UPF168, UP-TT180, SMF164, base station154or AF-TT170. The network node receives scheduling information for a stream entering an ingress port (block210). and maps the stream to an established PDU session and/or flow (block220). The network node calculates the RAN assistance information based on the scheduling information for use in scheduling data transmissions (block230) and forwards the RAN assistance information to a RAN assistance scheduler (block240).

In some embodiments of the method200, the received scheduling information of block802can be provided per data stream. The received scheduling information of block802can be a gate schedule from a CNC.

In some embodiments of the method200, the data traffic mapping of block804can include mapping the data traffic to one or more PDU sessions or the data traffic mapping of block804can include mapping the data traffic to two or more PDU sessions.

In some embodiments of the method200, the RAN assistance information calculating of block806can include calculating an arrival time for a data transmission in the traffic flow at a radio node in the WCN. The scheduling information can include gate timing information for the data traffic, and the arrival time for the data transmission is calculated based on the gate timing information and one or more delays between the ingress port and a transmitter in the WCN.

In some embodiments of the method200, the RAN assistance information calculating of block806can include calculating a traffic pattern for the traffic flow. Calculating the traffic pattern for the traffic flow can include calculating bandwidth, burst size, and/or timing for successive data transmissions in the traffic flow. The burst size for a data transmission can include calculating the burst size based on a gate open interval for the ingress port and a port bitrate. Calculating the traffic pattern for the traffic flow can include calculating traffic patterns for two or more traffic flows in the PDU session.

In some embodiments of the method200, the data traffic can include one or more data streams. Calculating the traffic pattern for the traffic flow can include generating a composite traffic flow from two or more of the data streams and calculating the traffic pattern for the composite traffic flow. In some embodiments, generating the composite traffic flow from two or more of the data streams can include superimposing the two or more data streams in the PDU session.

The calculation of RAN assistance information can include calculating RAN assistance information for two or more traffic flows in different PDU sessions. In some embodiments, the calculation of RAN assistance information includes calculating RAN assistance information for two or more traffic flows in the same PDU session.

In some embodiments of the method200, the calculation of RAN assistance information can be performed by one of a UPF168, an SMF164, and an AF-TT170in the WCN.

In some embodiments of the method200, the calculation of RAN assistance information can, for example, be performed by a base station154in the WCN. The base station154can calculate RAN assistance information for a downlink, an uplink, or both. The base station154can receive scheduling information mapped to the base station by a CNC in the WCN. RAN assistance information calculating of block806can be performed by a UE in the WCN.

In some embodiments of the method200, the UE can calculate RAN assistance information for an uplink.

In some embodiments of the method200, the calculation of RAN assistance data can reside in the WCN bridge, in a radio node, or in multiple devices in the network. In some embodiments, the calculation of RAN assistance scheduler can reside in at least one of a UE, a TT associated with a TT, a base station, a UPF, a TT associated with a UPF, an AMF node, an SMF node, a PCF node, an AF-TT node, and/or a CNC120A.

FIG.9illustrates a network node300in accordance with one or more embodiments. The network node30comprises a receiving unit310, a mapping unit320, a calculating unit330, and a providing unit340. The units310-340can be implemented by hardware and/or by software code that is executed by a processor or processing circuit. The receiving unit310is configured to receive scheduling information for a stream entering an ingress port. The mapping unit320, is configured to map the stream to an established PDU session and/or flow.

The calculating unit330is configured to calculate, based on scheduling information, RAN assistance information for use in scheduling data transmissions. The communication unit340, is configured to forward RAN assistance information toward a RAN scheduler.

FIG.10illustrates another network node400according to another embodiment. The access node400comprises communication circuitry420, processing circuitry450, and memory460.

The communication circuitry420comprises interface circuitry (e.g., transmitter430and receiver440) for transmitting and receiving signals over a communication network, which may comprise a wired or wireless network. In some embodiments, the interface circuitry comprises radio frequency circuitry coupled to one or more antennas410for communicating over a wireless communication channel. As an example, the interface circuitry may be configured to operate according to the 5G standards.

The processing circuitry450controls the overall operation of the network node400and according to program instructions stored in memory460. The processing circuitry450may comprise one or more microprocessors, hardware, firmware, or a combination thereof.

Memory460comprises both volatile and non-volatile memory for storing computer program code and data needed by the processing circuitry450for operation. Memory460may comprise any tangible, non-transitory computer-readable storage medium for storing data including electronic, magnetic, optical, electromagnetic, or semiconductor data storage. Memory460stores a computer program470comprising executable instructions that configure the processing circuitry450to implement the methods200according toFIG.8as described herein. A computer program470in this regard may comprise one or more code modules corresponding to the means or units described above. In general, computer program instructions and configuration information are stored in a non-volatile memory, such as a ROM, erasable programmable read only memory (EPROM) or flash memory. Temporary data generated during operation may be stored in a volatile memory, such as a random access memory (RAM). In some embodiments, computer program450for configuring the processing circuitry450as herein described may be stored in a removable memory, such as a portable compact disc, portable digital video disc, or other removable media. The computer program470may also be embodied in a carrier such as an electronic signal, optical signal, radio signal, or computer readable storage medium.

Those skilled in the art will also appreciate that embodiments herein further include corresponding computer programs. A computer program comprises instructions which, when executed on at least one processor of an apparatus, cause the apparatus to carry out any of the respective processing described above. A computer program in this regard may comprise one or more code modules corresponding to the means or units described above.

Embodiments further include a carrier containing such a computer program. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium.

In this regard, embodiments herein also include a computer program product stored on a non-transitory computer readable (storage or recording) medium and comprising instructions that, when executed by a processor of an apparatus, cause the apparatus to perform as described above.

Embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device. This computer program product may be stored on a computer readable recording medium.

At least some embodiments may be described as applicable in certain contexts and/or wireless network types for illustrative purposes, but the embodiments are similarly applicable in other contexts and/or wireless network types not explicitly described.

In an embodiment, an 802.1Qci specified per-stream TSN ingress gating mechanism on ingress ports of a 5GS virtual bridge can be used. Based on an ingress gate scheduling configuration, assistance information can be calculated for base stations. This can optimize RAN scheduling, for example, for low/bounded latency and/or scheduled communication. Some embodiments can also assist in traffic policing in the scale of TSN stream periodicity.

Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.

Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the description.

The term unit may have conventional meaning in the field of electronics, electrical devices and/or electronic devices and may include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.

Some of the embodiments contemplated herein are described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject matter disclosed herein. The disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.

The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.

Additional information may be found in Appendix A, which is incorporated in its entirety by reference.