Telecommunications networks

11432174 · 2022-08-30

Assignee

Inventors

Cpc classification

International classification

Abstract

A method of configuring a telecommunications network comprising the steps of collecting analytics data from a network (NAD) and analytics data (TAD) from at least one User Equipment (UE), analyzing said NAD and TAD and configuring at least one network feature according to the NAD and the TAD.

Claims

1. A method performed by a network data analytics function (NWDAF) entity in a communication system, the method comprising: subscribing to an event exposure service of an access and mobility management function (AMF) entity, wherein the event exposure service is for notification of an event based on registration of a user equipment (UE); identifying first information associated with the UE registered to single-network slice selection assistance information (S-NSSAI) based on the subscription to the event exposure service; identifying second information on a load level of a network slice instance corresponding to the S-NSSAI; identifying analytics associated with the S-NSSAI based on the first information and the second information; and transmitting, to a network slice selection function (NSSF) entity, the analytics associated with the S-NSSAI.

2. The method of claim 1, wherein reception of the first information is based on the registration of the UE, wherein the registration of the UE is based on a registration request message including the S-NSSAI, and wherein the registration request message is transmitted by the UE toward the AMF entity.

3. The method of claim 2, wherein the reception of the first information is further based on information of an area of interest.

4. The method of claim 1, wherein the UE corresponds to a subscription permanent identifier (SUPI).

5. A network data analytics function (NWDAF) entity in a communication system, the NWDAF entity comprising: a transceiver; and a processor configured to: subscribe to an event exposure service of an access and mobility management function (AMF) entity, wherein the event exposure service is for notification of an event based on registration of a user equipment (UE), identify first information associated with the UE registered to single-network slice selection assistance information (S-NSSAI) based on the subscription to the event exposure service, identify second information on a load level of network slice instance corresponding to the S-NSSAI, identify analytics associated with the S-NSSAI based on the first information and the second information, and transmit, to a network slice selection function (NSSF) entity via the transceiver, the analytics associated with the S-NSSAI.

6. The NWDAF entity of claim 5, wherein reception of the first information is based on the registration of the UE, wherein the registration of the UE is based on a registration request message including the S-NSSAI, and wherein the registration request message is transmitted by the UE toward the AMF entity.

7. The NWDAF entity of claim 6, wherein the reception of the first information is further based on information of an area of interest.

8. The NWDAF entity of claim 5, wherein the UE corresponds to a subscription permanent identifier (SUPI).

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:

(2) FIG. 1 shows a flowchart illustrating a method according to an embodiment of the present disclosure;

(3) FIG. 2 shows a message exchange according to an embodiment of the present disclosure;

(4) FIG. 3 shows two options for sharing analytics between a UE and the network according to embodiments of the present disclosure;

(5) FIG. 4 shows a message exchange according to an embodiment of the present disclosure;

(6) FIG. 5 shows a message exchange according to an embodiment of the present disclosure;

(7) FIG. 6 shows a message exchange according to an embodiment of the present disclosure;

(8) FIG. 7 illustrates a block diagram of a UE according to one embodiment of the present disclosure;

(9) FIG. 8 illustrates a block diagram of an AMF according to one embodiment of the present disclosure;

(10) FIG. 9 illustrates a block diagram of a NSSF according to one embodiment of the present disclosure; and

(11) FIG. 10 illustrates a block diagram of a NWDAF according to one embodiment of the present disclosure.

DETAILED DESCRIPTION

(12) FIGS. 1 through 10, discussed below, and the one or more embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.

(13) The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of one or more embodiments of the disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the one or more embodiments described herein can be made without departing from the scope and spirit of the disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.

(14) The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of one or more embodiments of the disclosure is provided for illustration purpose only and not for the purpose of limiting the disclosure as defined by the appended claims and their equivalents.

(15) It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.

(16) In describing the one or more embodiments of the disclosure, descriptions related to technical contents which are well-known in the art to which the disclosure pertains, and are not directly associated with the disclosure, will be omitted. Such an omission of unnecessary descriptions is intended to prevent obscuring of the main idea of the disclosure and more clearly transfer the main idea.

(17) For the same reason, in the accompanying drawings, some elements may be exaggerated, omitted, or schematically illustrated. Further, the size of each element does not entirely reflect the actual size. In the drawings, identical or corresponding elements are provided with identical reference numerals.

(18) In accordance with an aspect of the disclosure, a method of indicating an SP SRS as a reference signal by a terminal is provided. The method includes receiving, from a base station, information for a sounding reference signal (SRS) configuration, receiving, from the base station, a medium access control (MAC) control element (CE) for activating a semi-persistent (SP) SRS, and transmitting, to the base station, an SRS on a first cell based on the information for the SRS configuration and the MAC CE for activating the SP SRS, wherein the MAC CE for activating the SP SRS includes an indicator for indicating whether serving cell information and bandwidth part (BWP) information for a reference signal associated with spatial relationship are present.

(19) The advantages and features of the disclosure and ways to achieve them will be apparent by making reference to embodiments as described below in conjunction with the accompanying drawings. However, the disclosure is not limited to the embodiments set forth below, but may be implemented in various different forms. The following embodiments are provided only to completely disclose the disclosure and inform those skilled in the art of the scope of the disclosure, and the disclosure is defined only by the scope of the appended claims. Throughout the specification, the same or like reference numerals designate the same or like elements.

(20) Here, it will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer usable or computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block or blocks.

(21) And each block of the flowchart illustrations may represent a module, segment, or portion of code, which includes one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

(22) As used herein, the “unit” refers to a software element or a hardware element, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), which performs a predetermined function. However, the “unit does not always have a meaning limited to software or hardware. The “unit” may be constructed either to be stored in an addressable storage medium or to execute one or more processors. Therefore, the “unit” includes, for example, software elements, object-oriented software elements, class elements or task elements, processes, functions, properties, procedures, sub-routines, segments of a program code, drivers, firmware, micro-codes, circuits, data, database, data structures, tables, arrays, and parameters. The elements and functions provided by the “unit” may be either combined into a smaller number of elements, “unit” or divided into a larger number of elements, “unit”. Moreover, the elements and “units” may be implemented to reproduce one or more central processing units (CPUs) within a device or a security multimedia card.

(23) To identify key useful terminal analytics i.e. analytics derived from or associated with the UE, it is important to first establish generic types of analytics that can be useful for the network according to the known art: 1. Descriptive—What is happening now based on incoming data. 2. Diagnostic—A look at past performance to determine what happened and why. 3. Predictive—An analysis of likely scenarios of what might happen. 4. Prescriptive—This type of analysis reveals what actions should be taken.

(24) From analytics' value perspective, Type 1 or Type 2 data analytics can be generated in rather large volumes depending on key parameters under observation. However, there is little value in such analytics, since there are already established Key Performance Indicators (KPIs) logged by network Operators to implicitly or explicitly log and store such analytics.

(25) On the other hand, Type 3 or Type 4 analytics, can be more valuable for network operation as they enable an Operator to predict an event (e.g. network overload, an upcoming outage or failure) earlier than would otherwise be the case and then to adopt suitable preemptive actions to ensure smooth network operation.

(26) Mobile Terminals (UEs) can closely monitor a device experience on different aspects (thanks to different types of sensors, positioning and profiling systems they have access to). This enables a mobile terminal to generate some key predictive or prescriptive analytics (i.e. Type 3 or Type 4 analytics) or relevant context for network to generate such analytics based on Type 1 or Type 2 data.

(27) Examples of Terminal Analytics Data (TAD) include: (1) Mobility-related analytics; and (2) Communication-related analytics.

(28) In the first category, more concrete examples include finer granularity of positioning information beyond Tracking Area (TA) or Cells (e.g. proximity information on relative distance and/or relative direction with respect to other UEs within the same network) and velocity/acceleration information determining expected changes in speed and/or direction of movement by a UE or group of UEs.

(29) In the second category, more concrete examples include group Identifiers (either Internal or External) where data cannot be exposed to the core network (5GC) from application servers to identify users interacting with each other (for different services like proximity-based applications, network-controlled interactive services or even over-the-top application services).

(30) Embodiments of the disclosure provide automated network configurations based on TAD. Specific examples relate to network slices, although this is exemplary only and not intended to be limiting. A Network Slice is a complete logical network including Radio Access Network (RAN) and Core Network (CN). It provides telecommunication services and network capabilities, which may vary (or not) from slice to slice. Distinct RAN and Core Network Slices will exist. A device may access multiple Network Slices simultaneously through a single RAN. The use of network slices, or other concepts, in this description is to exemplify network operation and is not intended to be limiting. Other network configurations may be improved or optimized according to embodiments of the present disclosure.

Example 1

(31) The network diagnoses that the user's (or users') Quality of Experience (QoE) on a slice (e.g. slice A) has suddenly degraded at instance T. Via combining this Network diagnostic Analytics Data (Type 2) with Terminal Analytics Data on positioning information (at instance T), the network identifies that the QoE degradation has happened when users from a specific location (e.g. Zone M) have subscribed and selected slice A. The network also identifies other users from the same Zone M are functioning acceptably on slice B with similar capabilities as slice A. As a result, for future slice selection intervals, the network puts slice A in a black list for users from Zone M and provides slice B as an alternative option (as Type 4 analytics). This alleviates the level of loading on slice A and prevents upcoming users from perceiving a degraded QoE.

Example 2

(32) The network diagnoses that a certain user's (or users') QoE on a slice (e.g. slice C) has degraded at different time instances. Via combining this Network diagnostic Analytics Data (Type 2) with Terminal Analytics Data on velocity information, the network identifies that the QoE degradation happened when users have reached a certain velocity (e.g. V). The network also identifies that another slice (e.g. slice D with similar capabilities as slice C), is quite resilient for users at higher speeds. As a result, for future slice selection intervals, the network puts slice C in a black list for users at velocity V (and beyond) (Type 3 analytics) and provides slice D as an alternative option. This ensures that users at different velocities experience more consistent QoE across different slices.

(33) The flow chart of FIG. 1 shows how Type 3 or Type 4 analytics data can be generated via combining Terminal Analytics Data (TAD) with Network Analytics Data (NAD) in line with the above examples.

(34) In more detail, flow starts at S10. At S20, Type 1/Type 2 Analytics are produced by observing NAD, At S30, a determination is made as to whether QoE has changed. If not, flow continues to S60. If the QoE has changed, then at S40 relevant TAD are obtained via NWDAF and, at S50, these are combined with NAD in the NWDAF to yield Type 3/Type 4 Analytics.

(35) At S60, a decision is made as to whether Slice selection is updated. If not, flow returns to S20. If the slice is to be updated, then at S70, slice mapping in updated per UE (or multiple UEs) as required. From there, flow returns to S20.

(36) Procedure 1: To Collect Analytics on the UE

(37) Multiple procedures can run as part of the software environment of a UE to collect different types of analytics (identified by different Procedure IDs). Here, such procedures are collectively termed “Procedure 1”. It is assumed that NWDAF is aware of Procedure IDs and the nature of the analytics data generated by each procedure.

(38) Procedure 2: To Enable TAD Settings on the UE

(39) In order to enable TAD settings, NWDAF invokes a handshake messaging with the UE (via established N1 signaling messages of the Access and Mobility Management Function—AMF) within the Core.

(40) In particular, the following steps form part of Procedure 2, as shown in FIG. 2: 2a. The NWDAF invokes the Namf_Communication_N1N2MessageTransfer operation on the appropriate AMF including the UE Configuration Update Command message container. This container includes the TAD Settings IE (a proposed new IE). 2b. The AMF sends the UE Configuration Update Command towards the UE. (If the UE is idle the network triggered service request procedure is performed, if delivery of the TAD Settings IE is urgent.) 2c. The UE sends the UE Configuration Update Complete towards the AMF. 2d. If the NWDAF has previously requested notification the AMF will invoke the Namf_Communication_N1MessageNotify operation.

(41) Procedure 3: To Share TAD with NWDAF

(42) In order to share TAD generated as part of Procedure 1 with NWDAF 40, embodiments of the disclosure get the information from the UE 10 via established N1 signaling messages to the AMF 20 as a new Information Element (IE) added to the Registration Request of the UE.

(43) Two options can be considered on how the NWDAF 40 gets the information from the AMF 20. The corresponding procedures are illustrated as two options in FIG. 3, which illustrates the message exchanges associated with each option:

(44) Option1: In particular, the below steps form part of Procedure 3-Option 1 as also shown in FIG. 3: 3a. NWDAF 40 subscribes to AMF 20 to be informed of all Registration Requests containing the TAD IE. 3b. AMF 20 completes NWDAF 40 subscription request and responds. 3c. AMF 20 receives a registration request from UE 10 incl. TAD data. 3d. AMF 20 notifies corresponding NWDAF 40 as it has already subscribed to. 3e. NWDAF 40 uses the newly proposed service, Namf_TAD_GET Request message to retrieve the Terminal Analytics. The notification applies for all UEs so either the Namf_TAD_GET request would be for a single UE (uniquely identified by a 5G Subscription Permanent Identifier—SUPI as an optional input) or it would be a batch request. The NWDAF could specify a particular SUPI when it subscribes for notifications. 3f. AMF 20 responds with TAD data to NWDAF 40.

(45) Option2: The following steps form part of Procedure 3-Option 2 as also shown in FIG. 3: 3g. NWDAF 40 subscribes to AMF 20 event exposure service, providing a newly proposed “TAD Update” Event ID to be informed of occurrences of this event. This subscription can be for an individual SUPI, or set of SUPIs, or all. 3h. AMF 20 responds to NWDAF 40 subscription, also providing subscription correlation ID. 3i. UE 10 sends a Registration Request that includes Terminal Analytics Data. 3j. this triggers the notification of the event towards the NWDAF 40 together with the new Terminal Analytics Data.

(46) The UE checks the size of TAD, so as not to exceed the limit set by NG-RAN. If the size is under the limit defined by NG-RAN, then the UE includes the TAD in a single UL NAS TRANSPORT message (N1). Alternatively, if the size exceeds the limit, the UE splits the TAD into a plurality of smaller UL NAS TRANSPORT messages (N1) to be sent separately, each under the limit defined by NG-RAN. In a further alternative, if the size exceeds the limit (or if the control plane experiences temporary congestion), then the UE may compress the TAD or transfer partial TAD, below the size limit defined by NG-RAN

(47) Triggers for Terminal Analytics

(48) As the above proposed procedures to share Terminal Analytics with NWDAF may be required more frequently than a single Registration Request or at specified times, embodiments of the disclosure comprise two types of triggers for the above procedures. Event-based triggers Timer-based triggers

(49) Event-Based Triggers:

(50) Events can be defined (e.g. mobility of the UE into a new area, periodic registration expiry) which invoke a Registration Request by a UE. These may originate from changes in device QoE e.g. due changes in network or slice-level loading status that can be measured by certain KPIs, such as: Average or median of packet latency; Packet error rate Average or median of packet jitter.

(51) Timer-Based Triggers for Terminal Analytics:

(52) Alternatively, time intervals can be defined as Triggers to invoke UE Registration Request. The intervals can be set for an individual SUPI, or set of SUPIs or for all.

(53) The Interval for the TAD collection can be set in such a way as to ensure minimal impact beyond existing NAS signaling on UE power consumption. According to an embodiment of the disclosure, it is assumed that the interval can be dynamically (yet individually) set based on the UE level of power consumption/battery usage. The interval can be made longer (less frequent) if the UE is in a power saving mode. The interval can be made shorter (more frequent) if the UE has sufficient power based on device-level estimated battery life or other power depletion metrics.

(54) FIG. 4 shows an example call flow for Procedure 3 based on Option 2 with timer-based triggers for TAD. In more detail, the following steps are illustrated: 4a. The NWDAF 40 subscribes to the TAD Update event from AMF 20 (a newly proposed event according to an embodiment of the disclosure). This can be for a particular UE 10, group of UEs, or all UEs. The event reporting can also be set for particular areas of interest. 4b. The AMF 20 responds to the subscription request, including a correlation ID. 4c. At some later point in time (set by the timer value), the UE 10 performs a Registration Request, and includes the new Terminal Analytics Data IE as part of that. 4d. The AMF 20 reports this data to the NWDAF 40 including also AMF ID and correlation ID for the TAD Update Event ID.

(55) Procedure 4: Similar Procedures as Above May be Followed for all UEs to Provide TAD.

(56) In particular, the procedures 1-3, set out above, can be repeated for several UEs to collect TAD data.

(57) Procedure 5: To Update Slice Selection

(58) The NWDAF 40 compares its knowledge of past load levels for the (potential) network slice instances that can support target UEs' with past TAD information on the QoE experienced by the UEs.

(59) It determines that in certain locations, at certain times, the QoE levels provided to UEs by one of the network slices instances drops significantly but is within targets for UEs using the other instances (similar to Example 1).

(60) It creates a new selection policy that sends more UEs to the other network slice instances at certain times, and in certain locations. In particular, NWDAF 40 notifies the NSSF 30 that the selection policy has changed and provides the new policy.

(61) Two alternative variants for steps in the Procedure to update slice selection can be considered: In one variant, the Single Network Slice Selection Assistance Information (S-NSSAI) stays the same after applying the new policy (e.g. S-NSSAI-A) while mapping the user to a new instance (Transparent to the UE). In second variant, the S-NSSAI changes after applying the new policy (e.g. from S-NSSAI-A to S-NSSAI-B) while mapping the user to a new instance.

(62) FIGS. 5 and 6 illustrate example call flows or message exchanges for Procedure 5 based on the two alternative variants described above. In Procedure 5, variant 1, the following steps are illustrated in FIG. 5: 5a. The NWDAF 40 receives load level notifications for network slice instances. 5b. The NWDAF compares its knowledge of past load levels for the network slice instances that S-NSSAI-A can be mapped to with past TAD information on the QoE experienced by UEs using S-NSSAI-A. It determines that in certain locations, at certain times, the QoE levels provided to UEs by one of the network slices instances drops significantly but is within targets for UEs using the other instances. It creates a new selection policy that sends more UEs to the other network slice instances at certain times, and in certain locations. 5c. The NWDAF 40 notifies the NSSF 30 that the selection policy has changed and provides the newly proposed slice selection policy update. 5d. A UE 10 initiates a Registration Request towards the AMF 20, including a Requested NSSAI that contains S-NSSAI-A. 5e. The AMF requests the NSSF to provide the Allowed NSSAI, etc. 5f. The NSSF selects a slice instance to serve S-NSSAI-A based on the updated selection mapping policy received from the NWDAF. 5g. The NSSF provides the Allowed NSSAI, etc. to the AMF. (The network slice instance selected is transparent to the UE, it still gets the S-NSSAI-A back in the Allowed NSSAI that it requested.) 5h. The AMF sends the Registration Accept to the UE.

(63) In Procedure 5, variant 2, the following steps are illustrated in FIG. 6: 6a. The NWDAF 40 receives load level notifications for network slice instances. 6b. The NWDAF compares its knowledge of past load levels for the network slice instances that S-NSSAI-A can be mapped to with past TAD information on the QoE experienced by UEs using S-NSSAI-A. It determines that in certain locations, at certain times, the QoE levels provided to UEs by one of the network slices instances drops significantly, but is within targets for UEs using the other instances. It updates subscribed S-NSSAI (stored within UDM). 6c. UDM update triggers a notification to AMF 20 on new S-NSSAI (e.g. S-NSSAI-B). 6d. AMF invokes a User Configuration Update to UE 10 to notify S-NSSAI changes. 6e. UE confirms User Configuration Update Complete. 6f UE initiates a Registration Request towards the AMF 20, including a Requested NSSAI that contains S-NSSAI-B. 6g. The AMF requests the NSSF 30 to provide a slice instance based on the requested NSSAI, etc. 6h. NSSF selects a slice instance to serve the new S-NSSAI (S-NSSAI-B).

(64) FIG. 7 illustrates a block diagram of a UE 700 according to one embodiment of the present disclosure.

(65) With reference to FIG. 7, a UE 700 of embodiments includes a transceiver 702, a memory 704 and a processor 706.

(66) The transceiver 702 is capable of transmitting/receiving signals to/from RAN or base station or AMF via the RAN.

(67) The memory 704 is capable of storing at least one of the following: information related to the UE and information transmitted/received via the transceiver 702.

(68) The processor 706 is capable of controlling operations of the UE 700. The processor 706 is capable of controlling the UE 700 to perform operations in the above described embodiments.

(69) FIG. 8 illustrates a block diagram of an AMF 800 according to one embodiment of the present disclosure.

(70) With reference to FIG. 8, an AMF 800 of embodiments includes a transceiver 802, a memory 804 and a processor 806.

(71) The transceiver 802 is capable of transmitting/receiving signals to/from RAN or base station or NSSF or UE.

(72) The memory 804 is capable of storing at least one of the following: information related to the UE and information transmitted/received via the transceiver 802.

(73) The processor 806 is capable of controlling operations of the AMF 800. The processor 806 is capable of controlling the AMF to perform operations in the above described embodiments.

(74) FIG. 9 illustrates a block diagram of an NSSF 900 according to one embodiment of the present disclosure.

(75) With reference to FIG. 9, an NSSF 900 of embodiments includes a transceiver 902, a memory 904 and a processor 906.

(76) The transceiver 902 is capable of transmitting/receiving signals to/from AMF or NWDAF.

(77) The memory 904 is capable of storing at least one of the following: information related to the UE and information transmitted/received via the transceiver 902.

(78) The processor 906 is capable of controlling operations of the NSSF 900. The processor 906 is capable of controlling the NSSF to perform operations in the above described embodiments.

(79) FIG. 10 illustrates a block diagram of an NWDAF 1000 according to one embodiment of the present disclosure.

(80) With reference to FIG. 10, an NWDAF 1000 of embodiments includes a transceiver 1002, a memory 1004 and a processor 1006.

(81) The transceiver 1002 is capable of transmitting/receiving signals to/from the AMF.

(82) The memory 1004 is capable of storing at least one of the following: information related to the UE and information transmitted/received via the transceiver 1002.

(83) The processor 1006 is capable of controlling operations of the NWDAF 1000. The processor 1006 is capable of controlling the NWDAF 1000 to perform operations in the above described embodiments.

(84) At least some of the example embodiments described herein may be constructed, partially or wholly, using dedicated special-purpose hardware. Terms such as ‘component’, ‘module’ or ‘unit’ used herein may include, but are not limited to, a hardware device, such as circuitry in the form of discrete or integrated components, a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), which performs certain tasks or provides the associated functionality. In some embodiments, the described elements may be configured to reside on a tangible, persistent, addressable storage medium and may be configured to execute on one or more processors. These functional elements may in some embodiments include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Although the example embodiments have been described with reference to the components, modules and units discussed herein, such functional elements may be combined into fewer elements or separated into additional elements. Various combinations of optional features have been described herein, and it will be appreciated that described features may be combined in any suitable combination. In particular, the features of any one example embodiment may be combined with features of any other embodiment, as appropriate, except where such combinations are mutually exclusive. Throughout this specification, the term “comprising” or “comprises” means including the component(s) specified but not to the exclusion of the presence of others.

(85) Attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.

(86) All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.

(87) Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.

(88) Although the present disclosure has been described with one or more embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims.