US20200008084A1 - Method and system for maintaining user application session performances in a wireless communication network - Google Patents

Method and system for maintaining user application session performances in a wireless communication network Download PDF

Info

Publication number
US20200008084A1
US20200008084A1 US15/999,011 US201815999011A US2020008084A1 US 20200008084 A1 US20200008084 A1 US 20200008084A1 US 201815999011 A US201815999011 A US 201815999011A US 2020008084 A1 US2020008084 A1 US 2020008084A1
Authority
US
United States
Prior art keywords
rbs
handler
user application
performance
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/999,011
Other versions
US10524145B1 (en
Inventor
Amartya Kumar Das
Subhas Chandra Mondal
Subhrajyoti Panja
Uttam Sarkar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wipro Ltd
Original Assignee
Wipro Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wipro Ltd filed Critical Wipro Ltd
Assigned to WIPRO LIMITED reassignment WIPRO LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DAS, Amartya Kumar, MONDAL, SUBHAS CHANDRA, PANJA, SUBHRAJYOTI, SARKAR, Uttam
Application granted granted Critical
Publication of US10524145B1 publication Critical patent/US10524145B1/en
Publication of US20200008084A1 publication Critical patent/US20200008084A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/27Transitions between radio resource control [RRC] states
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/24Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/22Manipulation of transport tunnels

Definitions

  • This disclosure relates generally to communication network, and more particularly to a method and system for maintaining user application session performances in a wireless communication network.
  • existing techniques are limited in monitoring service performance for user specific application sessions. For example, existing techniques are plagued by data flooding and duplication issues and accuracy in key performance indicators (KPI's) generation issues. Data flooding and duplication may lead to delay in identification of relevant packets from collected packets. This may also result in information loss due to buffer-overflow. Additionally, it is not possible to get accurate KPI values without knowing exact number of instances of radio access network (RAN) protocol modules that is running in base station (BS). This is likely to lead to inaccurate KPI generation, which is not representing the appropriate application session level and network service-session level performance. Further, for example, existing techniques do not cater to different monitoring need for application-sessions.
  • KPI's key performance indicators
  • existing techniques are limited in assessing performance degradation for user specific application sessions. For example, existing techniques do not provide determination of Quality of Experience (QoE) for user application-session. Additionally, for example, existing techniques do not consider user feedback or user experience in determination of user application session performance, and, therefore, may not accurately represent actual user experience degradation. Further, for example, existing techniques that do provide for determination of subjective QoE (SQoE) as perceived by the end user may either perform incorrect determination of SQoE (in case of non-availability of application session performance information) or delayed determination of SQoE (in case of delayed arrival of application session performance information) due to air interface congestion. Such incorrect determination of SQoE or delayed determination of SQoE may result in ineffective assessment of application session performance.
  • QoE Quality of Experience
  • existing techniques are limited in recommending corrective action for user specific application sessions. For example, existing techniques do not provide identification of the neighboring cell (target cell) to move relevant users. Additionally, for example, existing techniques that provide for load based handover (LBHO) may not guarantee maintenance of user application session performance.
  • the LBHO to a single random target BS may not be a panacea for all application session performance improvement or for all user applications.
  • the LBHO to the single random target BS may improve some user application session, degrade some user application session, and discontinue some user application sessions.
  • the random selection of one or more user for movement to the target BS with all its application-sessions may not be suitable corrective action for user specific application session performance improvement. On the contrary, such LBHO may degrade SQoE of application sessions with acceptable performance.
  • a method for maintaining user application session performances (UASP's) in a wireless communication network may include determining an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data.
  • the method may further include determining an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate UASP's for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively.
  • the method may further include determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations.
  • the method may further include maintaining the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
  • a system for maintaining UASP's in a wireless communication network may include a network device which further includes at least one processor and a memory communicatively coupled to the at least one processor.
  • the memory may store processor-executable instructions, which, on execution, may cause the processor to determine an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data.
  • the processor-executable instructions, on execution, may further cause the processor to determine an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate UASP's for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively.
  • the processor-executable instructions, on execution may further cause the processor to determine an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations.
  • the processor-executable instructions, on execution may further cause the processor to maintain the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
  • a non-transitory computer-readable medium storing computer-executable instructions for maintaining UASP's in a wireless communication network.
  • the stored instructions when executed by a processor, may cause the processor to perform operations including determining an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data.
  • the operations may further include determining an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate UASP's for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively.
  • the operations may further include determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations.
  • the operations may further include maintaining the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
  • FIG. 1 illustrates an exemplary communication network architecture in which various embodiments of the present disclosure may function.
  • FIG. 2 is a functional block diagram of an exemplary system for maintaining user application session performances in a communication network, in accordance with some embodiments of the present disclosure.
  • FIG. 3 is a functional block diagram of an exemplary control subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 4 is a functional block diagram of an exemplary radio subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 5 is a functional block diagram of an exemplary management subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 6 is a functional block diagram of an exemplary data subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 7 is a functional block diagram of an exemplary data node subsystem that may be employed in the RAS, in accordance with some embodiments of the present disclosure.
  • FIG. 8 is a functional block diagram of an exemplary ARN subsystem that may be employed in the RAS, in accordance with some embodiments of the present disclosure.
  • FIG. 9 is a flow diagram of an exemplary process for maintaining user application session performances in a communication network, in accordance with some embodiments of the present disclosure.
  • FIG. 10 is a flow diagram of a detailed exemplary process for maintaining user application session performances in a communication network, in accordance with some embodiments of the present disclosure.
  • FIG. 11 is a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
  • the communication network 100 may include one or more user equipment (UE's) 101 communicating wirelessly with various radio access networks.
  • UE 101 may include, but are not limited to, a cell phone, a smart phone, a tablet, a phablet, and a laptop.
  • Each of the radio access networks include a number of base stations (BS) 102 , each supporting communication for a number of UE′s 101 in its coverage area. It should be noted that the coverage area of a BS 102 may be divided into sectors that constitute only a portion of the total coverage area of all the base stations combined.
  • a UE 101 may communicate with a BS 102 during downlink (DL) and uplink (UL), using various transmission protocols.
  • the downlink (or forward link) refers to the communication link from the BS 102 to the UE 101
  • the uplink (or reverse link) refers to the communication link from the UE 101 to the BS 102 .
  • the various radio access networks include, but are not limited to, a GSM EDGE radio access network (GERAN), a UMTS terrestrial radio access network (UTRAN), an evolved UMTS terrestrial radio access network (E-UTRAN), an improved E-UTRAN, and any new radio access networks.
  • GERAN GSM EDGE radio access network
  • UTRAN UMTS terrestrial radio access network
  • E-UTRAN evolved UMTS terrestrial radio access network
  • a base transceiver station (BTS) and a base station controller (BSC) form the BS 102 for GERAN while a Node B and a radio network controller (RNC) form the BS 102 for UTRAN.
  • BTS base transceiver station
  • RNC radio network controller
  • evolved Node B acts as the BS 102 for E-UTRAN i.e., long term evolution (LTE) network
  • an improved eNB may act as the BS 102 for improved E-UTRAN i.e., advance LTE.
  • the depicted radio access networks are merely exemplary, and thus it will be understood that the teachings of the disclosure contemplate other existing wireless radio access networks (e.g., worldwide interoperability for microwave access (WiMAX) network, High Speed Packet Access (3GPP's HSPA) network, and so forth) or any new wireless radio access networks that may provide for processing of data packets for transmission, in accordance with embodiments of the present disclosure.
  • WiMAX worldwide interoperability for microwave access
  • 3GPP's HSPA High Speed Packet Access
  • Each of the radio access networks may be communicatively coupled with a respective core network, which in turn may communicate with external networks (packet switched networks or circuit switched networks).
  • the core network 103 may include a packet core network which in turn may be communicatively coupled with external packet switched networks (e.g., Internet 104 , IP multimedia subsystem (IMS) network 105 , or a next generation network (NGN) 105 , etc.) or a circuit switched core network which in turn may communicate with external circuit switched networks (e.g., public land mobile network (PLMN) 106 , public switched telephone network (PSTN) 106 , integrated service digital network (ISDN) 106 , etc.).
  • PLMN public land mobile network
  • PSTN public switched telephone network
  • ISDN integrated service digital network
  • the GERAN and the UTRAN communicate with a circuit switched core network comprising mobile services switching center (MSC), gateway MSC (GMSC), home location register or visitor location register (HLRNLR).
  • MSC mobile services switching center
  • GMSC gateway MSC
  • HLRNLR home location register or visitor location register
  • the MSC and GMSC serve the UE 101 in its current location for circuit switched services and are responsible for the interworking with external circuit switched networks.
  • the MSC and GMSC also interwork with external packet switched networks, such as IP multimedia subsystem (IMS) network.
  • IMS IP multimedia subsystem
  • the MSC may connect to a media gateway (MGW) of the IMS network.
  • MGW media gateway
  • the HLR/VLR is a mobile operator database accessible by MSC and which includes information with respect to users such as phone number, location within home/visiting network, and so forth.
  • GPRS serving GPRS support node
  • GGSN gateway GPRS support node
  • GPRS general packet radio service
  • the SGSN is a component of the GPRS network that handles functions related to packet switched data within the network such as packet routing and transfer, mobility management, charging data, authentication of the users, and so forth.
  • GGSN is another component of the GPRS network and is responsible for the interworking between the GPRS network and external packet switched networks, such as Internet or IMS network.
  • E-UTRAN communicates with an evolved packet core (EPC) that includes a mobility management entity (MME), a serving gateway (SGW), a packet data network gateway (PGW), a policy control and charging rules function (PCRF), and a Home Subscriber Server (HSS).
  • MME mobility management entity
  • SGW serving gateway
  • PGW packet data network gateway
  • PCRF policy control and charging rules function
  • HSS Home Subscriber Server
  • the MME may be responsible for evolved packet system (EPS) session management (ESM), EPS mobility management (EMM), EPS connection management (ECM), non-access stratum, ciphering and integrity protection, inter core network signaling, system architecture evolution (SAE) bearer control, handover, and so forth.
  • SAE system architecture evolution
  • the combined functionalities of the SGW and the PGW may include lawful interception (LI), packet routing and forwarding, transport level packet marking in the uplink and the downlink, accounting on user, packet filtering, mobile IP, policy enforcement, and so forth.
  • the PGW further connects the EPC with external packet switched networks such as the Internet or NGN.
  • the PCRF is responsible for policy enforcement decisions as well as for charging functionalities.
  • the HSS is a master user database containing user subscription related information such as user identification, user profile, and so forth. The HSS performs authentication and authorization of the user, and so forth.
  • the NGN 105 or IMS network 105 may include a node (e.g., media gateway controller (MGC) in case of the NGN, or a serving—call session control function (S-CSCF) in case of the IMS networks) that anchors the session and is responsible for session management, routing and control. Additionally, the node may be responsible for control and management of media servers.
  • the NGN 105 or IMS network 105 may further include a media gateway (MGW) that enables multimedia communications across packet-switched and circuit-switched networks by performing conversions between different transmissions and coding techniques.
  • MGW media gateway
  • the NGN 105 or IMS network 105 may also include a signalling gateway that may be used for performing interworking between signalling protocols such as signalling system 7 (SS7) when connecting to PSTN/PLMN networks 106 and IP-based signalling protocols such as SIGTRAN which is supported by the node. It should be noted that, in some embodiments, the NGN 105 or IMS network 105 may also access and use the HSS.
  • signalling protocols such as signalling system 7 (SS7) when connecting to PSTN/PLMN networks 106 and IP-based signalling protocols such as SIGTRAN which is supported by the node.
  • SS7 signalling system 7
  • SIGTRAN IP-based signalling protocols
  • the communication network 100 may correspond to multiple-access networks capable of supporting multiple users (i.e., UE's 101 ) by sharing the available network resources (e.g., time, frequency, and power).
  • 3G and 4G communication networks employ various multiple access techniques, such as code division multiple access (CDMA) in 3G, and frequency division multiple access (FDMA) or time division multiple access (TDMA) in 4G.
  • CDMA code division multiple access
  • FDMA frequency division multiple access
  • TDMA time division multiple access
  • a long term evolution (LTE) network is a 4G wireless communication network, and is an end to end Internet protocol (IP) network supporting only packet switching.
  • the LTE network provides for high sector capacity, improved end-user throughputs, and reduced user plane latency. It therefore provides for significantly improved user experience along with greater mobility.
  • the LTE network includes a number of 4G enabled UE's 101 , a number of evolved Node B's (eNB's) as base stations 102 , and an evolved packet core (ePC) as core network 103 .
  • the user's application data (UAD) are transmitted over Ethernet channels between the ePC and the eNB's, and over air interface between the eNB's and the UE's 101 .
  • the data packets are transmitted between the UE's 101 and the eNB's in downlink as well as in uplink using a data packet transmission protocol known as packet data convergence protocol (PDCP), as well as using various other protocols such as radio link control (RLC) protocol, medium access control (MAC) protocol, and so forth.
  • PDCP packet data convergence protocol
  • RLC radio link control
  • MAC medium access control
  • the downlink (DL) data packets flow through the PDCP, RLC and MAC protocol handlers within the eNB while the uplink (UL) data packets flow through the PDCP, RLC and MAC protocol handlers within the UE.
  • LTE Long Term Evolution
  • GERAN GERAN
  • UTRAN UTRAN
  • E-UTRAN improved E-UTRAN
  • the following description provides examples, and is not limiting of the scope, applicability, or configuration set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the spirit and scope of the disclosure.
  • Various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described with respect to certain embodiments may be combined in other embodiments.
  • the system 200 may include a network device as a part of the communication network 100 .
  • the network device may be an exemplary radio base station (RBS) 201 or an exemplary radio analytics system (RAS) 202 .
  • the RBS 201 may operate in conjunction with RAS 202 so as to maintain UASP's in the communication network 100 , in accordance with some embodiments of the present disclosure.
  • the RBS 201 may be an evolved Node B (eNB).
  • eNB evolved Node B
  • the RBS 201 may be responsible for radio resource management, header compression and encryption of user data stream, packet scheduling and transmission, broadcast information transfer, physical layer processing, and so forth.
  • the RBS 201 may include a control subsystem (CSS) 203 , a radio subsystem (RSS) 204 , a management subsystem (MSS) 205, and a data subsystem (DSS) 206 .
  • the RAS 202 may be responsible for distributed information collection at radio access network, consolidation of collected information, analytics of radio access network, and so forth.
  • the RAS 202 may include a data node subsystem (DNSS) 207 and an analytics and reporting node subsystem (ARNSS) 208 .
  • DNSS data node subsystem
  • ARNSS analytics and reporting node subsystem
  • the CSS 203 may be responsible for carrying control messages for UP s and core network, and will be described in greater detail in FIG. 3 below.
  • the RSS 204 may be responsible for radio communication with the UE's through various radio specific elements. As will be appreciated, the RSS 204 may communicate with the UE's through a number of RF Antennas (RF Antenna 0 . . . RF Antenna N). The RSS 204 will be described in greater detail in FIG. 4 below.
  • the MSS 205 may be responsible for system level management of co-channel interference, radio resources, and other radio transmission characteristics in RBS, and will be described in greater detail in FIG. 5 below.
  • the DSS 206 may be responsible for carrying user traffic as well as control messages for UE's in conjunction with CSS 203 , and will be described in greater detail in FIG. 6 below.
  • the CSS 203 may configure the DSS 206 using configuration messages.
  • the DNSS 207 may be responsible for tapping the user and signaling data from RBS 201 through one or more interfaces. In particular, the DNSS 207 may intercept and tap user and signaling data, and generate key performance indicators (KPI's). The DNSS 207 will be described in greater detail in FIG. 7 below.
  • the ARNSS 208 may be responsible for consolidating generated KPI's, detecting network service quality, performing decision making, and so forth, and will be described in greater detail in FIG. 8 below.
  • Each of these subsystems 203 - 208 may interact with each other and with external components through a number of interfaces and data paths.
  • a bidirectional link, U-interface e.g., S1-U interface interface
  • SGW serving gateway
  • a gateway tunneling protocol GTP-U
  • GTP-U gateway tunneling protocol
  • the user space data may be data packets between multimedia servers or other users and user multimedia applications such as video, VoIP, gaming, etc.
  • a bidirectional link, C-interface e.g., S1-MME interface
  • connecting the CSS 203 to MME in the EPC may carry the control plane information over the socket interface.
  • a S1 application protocol may be employed for communication to exchange control data.
  • the control space data may be data packets between packet core/RBS and users and may be responsible for radio connection establishment, mobility management (e.g., mobility handling), and session management (e.g., session establishment & termination).
  • a bidirectional link, RBSOAM-interface, connecting the MSS 205 to operations administration and management (OAM) subsystem may carry the management or configuration information over the socket interface.
  • the RBSOAM-interface may be employed to receive management or configuration information from the OAM subsystem and to provide system level feedback to the OAM subsystem.
  • a TR-69 protocol may be employed for communication to exchange management or configuration data.
  • management or configuration data may be management or configuration information from the OAM subsystem that may be required for configuration or instantiation of RBS 201 .
  • a bidirectional link, RASOAM-interface, connecting the DNSS 207 as well as the ARNSS 208 to the OAM subsystem may carry the configuration information over the socket interface.
  • the RASOAM-interface may be employed to receive configuration information from the OAM subsystem. Any IP based protocol may be employed for communication to exchange configuration data.
  • the configuration data may be configuration information from the OAM subsystem that may be required for configuration or instantiation of RAS 202 .
  • a bidirectional link, transport path, connecting the DSS 206 with the RSS 204 may carry the user plane data as well as control plane data over the message queues depending on protocols employed (e.g., radio link control (RLC) protocol, packed data convergence protocol (PDCP), and medium access control (MAC) protocol).
  • RLC radio link control
  • PDCP packed data convergence protocol
  • MAC medium access control
  • a bidirectional link, control path, connecting the CSS 203 with the RSS 204 may carry control plane information over the message queues using radio resource control (RRC) protocol.
  • RRC radio resource control
  • transport path and control path may be interchangeably used depending on the different protocols employed and messages that they carry.
  • a bidirectional link, configuration path, connecting the MSS 205 with the RSS 204 may carry configuration information for the RSS 204 over the message queues.
  • a Femto API (FAPI) standard may be employed for communication in the above referenced paths.
  • a bidirectional link, CSS-DSS path, connecting the DSS 206 with the CSS 203 may be employed to send and receive control and configuration messages from the CSS 203 .
  • a bidirectional link, CSS-MSS path, connecting the MSS 205 with the CSS 203 may be employed for sending control instruction and configuration parameters to the CSS 203 and for receiving the system level measurement data from the CSS 203 .
  • a bidirectional link, DSS-DNSS path, connecting the DSS 206 with the DNSS 207 may be employed to intercept and tap control and user data of the RBS 201 and to send the same to the DNSS 207 .
  • the tapping may be employed at different interface level of DSS 206 in case of multi-split deployment scenario of cloud RAN (C-RAN).
  • the DNSS 207 may send the specification for such data collection to the DSS 206 through the DSS-DNSS path.
  • a unidirectional link, S1-DNSS path, connecting the S1 interfaces (e.g., S1-U interface and S1-MME interface) with the DNSS 207 may be employed to intercept and tap signaling and user data (i.e., S1 data) being transmitted between the RBS 201 and the core network. As will be described in detail below, the tapped data may be employed to generate KPI's.
  • a bidirectional link, MSS-ARNSS path, connecting the MSS 205 with the ARNSS 208 may be employed to send recommended decisions to the MSS 205 for optimization of network resources or for improvement of deteriorated UASP's.
  • a bidirectional link, DNSS-ARNSS path, connecting the DNSS 207 with the ARNSS 208 may be employed to send generated KPI's from the DNSS 207 to the ARNSS 208 .
  • the ARNSS may instruct different deep packet inspection (DPI) configurations through the DNSS-ARNSS path.
  • DPI deep packet inspection
  • the system 200 may perform startup initialization by taking latest inputs of configuration parameters (e.g. from management application that may be a part of the MSS 205 , the DNSS 207 , or the ARNSS 208 ) and storing a copy of the received configuration parameters in a local memory of the CSS 203 , the DNSS 207 , or the ARNSS 208 .
  • the CSS 203 may also configure DSS 206 with the received configuration parameters.
  • the system 200 may perform reconfiguration of parameters. The system 200 may check if there has been any change in the RBS 201 or the RAS 202 configuration parameters.
  • the system 200 may check if there is any new configuration parameter by checking the existing parameters. The system 200 may also check if any configuration parameter is modified by checking the parameter value. If there is no change in configuration parameters, the system 200 may load configuration parameters from the local memory of CSS 203 , the DNSS 207 , or the ARNSS 208 for performing configuration. However, if there are changes in the configuration parameters, the CSS 203 may receive configuration information of RBS 201 from remote storage of the management application through the CSS-MSS communication path. Similarly, the DNSS 207 or the ARNSS 208 may receive configuration information of RAS 202 from remote storage of the management application through the RASOAM interface.
  • the CSS 203 , the DNSS 207 , or the ARNSS 208 may then configure modified parameters in the RBS 201 , the DNSS 207 , and the ARNSS 208 respectively, and store a copy of updated configuration parameters in the aforementioned local memory of the CSS 203 , the DNSS 207 , or the ARNSS 208 .
  • the CSS 300 is analogous to the CSS 203 implemented by the RBS 201 of FIG. 2 .
  • the CSS 300 may include a memory block 301 and a processing block 302 .
  • the memory block 301 may include a volatile memory 303 and a non-volatile memory 304 .
  • the volatile memory 303 in the CSS 300 may store the control data 305 (i.e., data for controlling the radio access and connection between network and UE).
  • the volatile memory may store global UE identification (UEID Global ), global UE identification type (UEID GlobalTyep ) received from the IRRC handler as a part of control data, in accordance with some embodiments of the present disclosure.
  • the processing block 302 may use volatile memory path to store and retrieve the control data 305 from the volatile memory 303 .
  • the non-volatile memory 304 in the CSS 300 may store the configuration data 306 received from MSS 205 , which in turn may store the configuration data received from the OAM.
  • the configuration data 306 from the MSS 205 may be employed to configure the CSS 203 to make it operational.
  • the processing block 302 may use non-volatile memory path to store and retrieve configuration data 306 from the non-volatile memory 304 .
  • the non-volatile memory 304 may store DSS configuration parameters (e.g., user-application list (APPList[ ]), IP address of DNSS 207 (IP DNSS ), port number of DNSS 207 (PORT DNSS ), measurement intervals (T SmallestMeasurementInterval ) 5 and supported KPI list (SupportedKPI[ ]), etc.) received from the IRRC handler as a part of configuration data, in accordance with some embodiments of the present disclosure.
  • DSS configuration parameters e.g., user-application list (APPList[ ]), IP address of DNSS 207 (IP DNSS ), port number of DNSS 207 (PORT DNSS ), measurement intervals (T SmallestMeasurementInterval ) 5 and supported KPI list (SupportedKPI[ ]), etc.
  • the processing block 302 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions.
  • the processing block 302 may include an X2 application protocol (X2AP) handler 307 , a S1 application protocol (S1AP) handler 308 , and an improved radio resource controller (IRRC) handler 309 .
  • X2AP X2 application protocol
  • S1AP S1 application protocol
  • IRRC radio resource controller
  • the S1AP handler 308 may receive configuration data from the MSS 205 through CSS-MSS interface via the CSS-MSS path.
  • the S1AP handler 308 may then process the configured data and may store it in the non-volatile memory 304 .
  • the S1AP handler 308 may further receive control data from packet core (MME) through S1-MME interface in downlink (DL) and from the IRRC handler 309 in uplink (UL). On receiving the data, the S1AP handler 308 may process the data (as per 3GPP TS 36.413 specification) and may perform services and functions that include, but are not limited to, E-RAB configuration, allocation to/release from user-service-context, initial context set-up transfer function, determination of UE capability information, mobility functions, S1 interface establishment and release, NAS signaling transport function, S1 UE context management, and so forth.
  • MME packet core
  • DL downlink
  • UL uplink
  • the S1AP handler 308 may process the data (as per 3GPP TS 36.413 specification) and may perform services and functions that include, but are not limited to, E-RAB configuration, allocation to/release from user-service-context, initial context set-up transfer function, determination of UE capability information, mobility functions, S
  • the S1AP handler 308 may encode the control data packets and may send the same to the IRRC handler 309 in DL and to the packet core (MME) through S1-MME interface in UL.
  • a CSS-DSS interface may be employed to send and receive control and configuration messages to and from the DSS 206 via the CSS-DSS path.
  • the DSS configuration message may be enhanced with additional configuration parameters so as to enable DSS perform necessary monitoring of user application sessions.
  • the additional configuration parameters may include, but may not be limited to, APPList[ ], IP DNSS , PORT DNSS , T SmallestMeasurementInterval , SupportedKPI[ ], UEID Global , UEID GlobalType .
  • the X2AP handler 307 may receive configuration data from the MSS 205 through CSS-MSS interface via the CSS-MSS path. The X2AP handler 307 may then process the configured data and may store it in the non-volatile memory 304 . The X2AP handler 307 may further receive control data packets from the IRRC handler 309 in the UL and the DL. The X2AP handler 307 may also receive control data packets through X2 interface from neighboring RBS's.
  • the X2AP handler 307 may process the data (as per 3GPP TS 36.423 specification) and may perform the services and functions that include, but are not limited to, handover processing, RBS load processing, X2 interface establishment, RBS configuration, and so forth. After processing the received control data packets and performing the desired execution, the X2AP handler 307 may encode the control data packets and may send the same to IRRC handler 309 and to neighboring RBS's through X2 interface.
  • the IRRC handler 309 may receive configuration data from the MSS 205 via the CSS-MSS interface via the CSS-MSS path. The IRRC 309 may then configure itself based on the configuration data, and may send different configuration parameters to the UE's through physical (PHY) interface in DL and to the core network in UL. It should be noted that the PHY interface may include transport channels in the RBS 201 and may perform exchange of messages between the RSS 204 and the CSS 203 . The IRRC handler 309 may receive UL control data packets from IRLC handler and IPDCP handler and DL control data packets from S1AP handler 308 .
  • the IRRC handler 309 may process the data (as per 3GPP TS 36.331 specification) and may perform services and functions that include, but are not limited to, system information broadcast for NAS and AS, paging notification, establishment, maintenance and release of an RRC connection between the UE and E-UTRAN, security handling, establishment, configuration, maintenance and release of point to point radio bearers, mobility decision processing, QoS management functions, UE measurement configuration and report handling, NAS message transfer between UE and core network, outer loop power control, and so forth.
  • services and functions that include, but are not limited to, system information broadcast for NAS and AS, paging notification, establishment, maintenance and release of an RRC connection between the UE and E-UTRAN, security handling, establishment, configuration, maintenance and release of point to point radio bearers, mobility decision processing, QoS management functions, UE measurement configuration and report handling, NAS message transfer between UE and core network, outer loop power control, and so forth.
  • the IRRC handler 309 may encode the data packets and may send the same to UE handler in DL, to S1AP/X2AP handler through S1-MME interface in UL, and to neighboring RBS's through X2 interface.
  • the IRRC handler 309 may perform below mentioned services and functions, in accordance with some embodiments of the present disclosure.
  • the IRRC handler 309 may extract UEID Global and UEID GlobalType from first message at IRRC handler 309 from UE during attach as well as from handover request message during handover, and may pass the extracted data (i.e., UEID Global and UEID GlobalType ) to the DSS 206 during configuration. Additionally, the IRRC handler 309 may get the IP DNSS and PORT DNSS for DNSS 207 and may pass the same to DSS 206 during configuration stage. Further, the IRRC handler 309 may pass APPList[ ] received from the MSS 205 to the DSS 206 .
  • the user-application list may include list of user-application name (Name Application ) and user application identification (ID Application ).
  • the RSS 400 is analogous to the RSS 204 implemented by the RBS 201 of FIG. 2 .
  • the RSS 400 may include a PHY handler (not shown), a transport block receiver or handler (TBRH) 401 , a configuration handler (CH) 402 , a configuration data non-volatile memory block 403 , a bit rate processing block (BRPB) 404 , a symbol rate processing block (SRPB) 405 , and a transceiver 406 .
  • the PHY handler may enable exchange of air interface messages between UE's and RBS 400 using PHY protocol. Additionally, the PHY handler may interface with DSS 206 and CSS 203 and may offer data transport services to higher layers. The PHY handler may be responsible for channel coding, PHY hybrid automatic repeat request (HARM) processing, modulation, multi-antenna processing, mapping of the signal to the appropriate physical time-frequency resources, and so forth.
  • PHY hybrid automatic repeat request (HARM) processing PHY hybrid automatic repeat request (HARM) processing
  • modulation modulation
  • multi-antenna processing mapping of the signal to the appropriate physical time-frequency resources, and so forth.
  • the TBRH 401 may receive user data and control streams from the DSS 206 in the form of transport blocks in a communication message over a transport/control interface via the transport/control path. The TBRH 401 may then classify the data as critical and non-critical data and forwards it to the BRPB 404 over a TB path.
  • the TB path may be a uni-directional link connecting the TBRH 401 to the BRPB 404 and may carry the transport block over the message queue interface.
  • the CH 402 may receive configuration messages from the MSS 205 in a communication message over a configuration interface via the configuration path. The CH 402 may then classify and store the configuration information in the configuration data non-volatile memory block 403 . The CH 402 may use a unidirectional CH-Non-Volatile memory path to write the configuration parameters to the configuration data non-volatile memory block 403 .
  • the configuration data may be stored in the non-volatile memory in the form of structures which may be accessible to rest of the RSS 400 modules.
  • the BRPB 404 may receive the transport blocks from the TBRH 401 in a communication message. The BRPB 404 may then process the received transport blocks as per the 3GPP TS 36.212 standard. For example, the BRBP 404 may calculate the cyclic redundancy check (CRC) and may attach the same to the transport block. If the transport block size is larger than the maximum allowable code block size, such as a block size of 6,144 bits, a code block segmentation may be performed. Consequently, a new CRC may be calculated and attached to each code block before channel encoding (turbo encoding) provides a high-performance forward-error-correction scheme for reliable transmission.
  • CRC cyclic redundancy check
  • the BRBP 404 may further perform rate matching (i.e., puncturing or repetition to match the rate of the available physical channel resource), and HARQ so as to provide a robust retransmission scheme when the user may fail to receive the correct data. Additionally, bit scrambling may be performed after code-block concatenation to reduce the length of strings of 0's or 1's in a transmitted signal to avoid synchronization issues at the receiver before modulation.
  • the code blocks may be forwarded to symbol rate processor over a CB path.
  • the CB path may correspond to a uni-directional link connecting the BRPB 404 to the SRPB 405 and may carry the code words over the message queue interface.
  • a BRPB-Non-Volatile memory path may be employed to connect the BRPB 404 with the non-volatile memory where the configuration data may be stored.
  • the SRPB 405 may receive code blocks in a communication message from BRPB 404 over the CB path.
  • the SRPB 405 may then process the received code blocks as per the 3GPP TS 36.212 standard. For example, the SRPB 405 may process the code blocks by converting them to modulation symbols.
  • modulation symbols may then be mapped to layers and precoding supports for multi-antenna transmission.
  • the modulation symbols may be forwarded over a uni-directional high speed modulation symbols path to the transceiver 406 for transmission.
  • a SRPB-Non-Volatile memory path may be employed to connect the SRPB 405 with the non-volatile memory where the configuration data may be stored.
  • the transceiver 406 may receive modulation symbols over the modulation symbols path.
  • the transceiver 406 may then process the received code blocks as per the 3GPP TS 36.212 standard. For example, the transceiver may map the modulation symbols to resource elements for providing orthogonal multiple access (OMA) or non-orthogonal multiple access (NOMA).
  • OMA orthogonal multiple access
  • NOMA non-orthogonal multiple access
  • the resource elements may then be mapped to each antenna port and sent for air transmission through a number of RF Antennas (RF Antenna 0 . . . RF Antenna N).
  • the MSS 500 is analogous to the MSS 205 implemented by the RBS 201 of FIG. 2 .
  • the MSS 500 may include a memory block 501 and a processing block 502 .
  • the memory block 501 may include a volatile memory 503 and a non-volatile memory 504 .
  • the volatile memory 503 in the MSS 500 may store the system level measurement data 505 provided by the CSS 203 .
  • the measurement data 505 may represent the different measurement metrics collected from UE and calculated by CSS 203 , DSS 206 , and RSS 204 .
  • the measurement data 505 may be used to monitor the prevalent radio network condition so as to take appropriate radio network management decisions. Further, the measurement data 505 may be used to take decision by an improved radio resource management (IRRM) handler as discussed below.
  • the volatile memory 503 may further store ranked neighboring base station list 506 provided by the ARNSS 208 . As will be appreciated, the ranked neighboring base station list 506 may include an ordered list of neighboring base stations to determine possible handover candidates.
  • the processing block 502 may use volatile memory path to store and retrieve the measurement data 505 from the volatile memory 503 .
  • the non-volatile memory 504 in MSS 500 may store the configuration data 507 received from the OAM via the RBSOAM interface.
  • the configuration data 507 may represent the configuration information from the OAM subsystem towards RBS 201 , and may be required for configuration, updating existing configuration, instantiation of RBS 201 , and so forth.
  • the processing block 502 may access the configuration data 507 and may configure the CSS 203 , the DSS 206 , and the RSS 204 through a CSS-MSS Interface. It should be noted that a portion of the non-volatile memory may persist across system-start-up cycles.
  • the processing block 502 may use non-volatile memory path to store and retrieve configuration data 507 from the non-volatile memory 504 .
  • the CSS-MSS interface may be employed to send control instruction and configuration parameters to CSS 203 and to receive the system level measurement data from CSS 203 via the CSS-MSS path.
  • MSS 500 may receive from the OAM and may provide to the CSS 203 , following configuration parameters: APPList[ ], IP DNSS , PORT DNSS , T SmallestMeasurementInterval , SupportedKPI[ ], and so forth.
  • the processing block 502 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions.
  • the processing block 502 may include an improved configuration handler 508 and an IRRM handler 509 .
  • the improved configuration handler 508 may handle the overall configuration of the RBS 201 .
  • the configuration handler 508 may perform the services and functions, that include, but are not limited to, reception of configuration parameters from OAM and storage of configuration parameters at non-volatile memory during start up, interfacing with the CSS 203 , the DSS 206 , and the RSS 204 , configuration of the CSS 203 , the DSS 206 , and the RSS 204 with the configuration parameters stored at non-volatile memory, reception of reconfiguration parameters from OAM, reconfiguration of the CSS 203 , the DSS 206 , and the RSS 204 , providing feedback to OAM to help OAM change in any configuration parameter, and so forth. Additionally, the improved configuration handler 508 may send additional configuration parameters for the DSS 206 so as to generate the KPI's of the RAN.
  • the IRRM handler 509 may take management decision to efficiently run the RBS 201 .
  • the IRRM handler 509 may include a self-organizing network (SON) submodule 510 , an admission control submodule 511 , a power control submodule 512 , an improved handover control submodule 513 , and an interference control submodule 514 .
  • the SON submodule 510 may perform various functions to (re)organize the RBS 20 . 1 in a dynamically changing network topology.
  • PCI physical cell identity
  • ANR automatic neighbor relation
  • X2 link auto creation cell outage detection
  • cell coverage optimization collecting live measurement metrics to provide feedback to the OAM subsystem about current condition of the network, and so forth. It should be noted that any decision is taken based on configuration data and measurement data stored in MSS 205 .
  • the admission control submodule 511 may analyze the current network load and the user capability so as to allow the user connectivity into the network.
  • the power control submodule 512 may analyze different network condition to decide on the transmission power that has to be used by the RBS 201 .
  • the improved handover control submodule 513 may analyze the measurement data for different neighboring RBS's to decide on the target RBS for the handover purpose. Additionally, the improved handover control submodule 513 may determine a list of neighboring RBS's of the RIBS where the UE is attached (i.e., UE NBR list) upon request from ARNSS 208 . As will be appreciated, the UE NBR list include one or more candidate RBS's to which the handover may be triggered. It should be noted that the UE NBR list may not be a ranked list.
  • ranking of the UE NBR list may be performed after the execution of at least one round of measurements so as to create a ranked list of neighboring RBS's for possible HO candidates (i.e., ranked target NBR list). Further, it should be noted that the ranking may be refreshed after every measurement and determination of aggregated user application session performance for the serving RBS as well as of its neighboring RBS's.
  • the improved handover control submodule 513 may then perform the UE handover based on the ranked target NBR list sent by the ARNSS 208 .
  • the improved handover control submodule 513 may further handle the messages over a MISS-ARNSS interface.
  • the MSS-ARNSS interface may be employed to receive recommended decisions from the ARNSS 208 , for optimization of network resources or for improvement of deteriorated UASP's, via the MSS-ARNSS path.
  • the interference control submodule 514 may analyze the measurement data for different neighboring RBS's and reconfigures the RBS to reduce interference from other RBS's.
  • the DSS 600 is analogous to the DSS 206 implemented by the RBS 201 of FIG. 2 .
  • the DSS 600 may include a memory block 601 and a processing block 602 .
  • the memory block 601 may include a volatile memory 603 and a non-volatile memory 604 .
  • the volatile memory 603 in the DSS 600 may store the control data 605 (i.e., data for controlling the radio access and connection between network and UE), user data 606 (i.e., data specific to user's application data such as voice), and KPI data 607 (i.e., data specific to KPI of RAN at different aggregation levels such as per UE, per UE's Bearer (UB), per user application (UA), etc.).
  • the processing block 602 may use volatile memory path to store and retrieve the control data 605 , the user data 606 , and the KPI data from the volatile memory 603 .
  • the KPI data 607 may include user application session specific RAN KPI (CELLRecord RBS ), which in turn may include a number of parameters. These parameters may include, but may not be limited to, Cell ID (CEll Id ), Cell level average PRB usage in DL (CellPrb DL ), Cell level average PRB usage in UL (CellPrb UL ), Downlink cell level aggregated backhaul throughput (CellThput DL ), Uplink cell level aggregated backhaul throughput (CellThput UL ), RBS IP Address (IpAddr RBS ), Cell level total number of active UE (ActiveUE total ), Active UE List (ActiveUE List[ ] ), and De-active UE List (DeActiveUE List[ ] ).
  • CELLRecord RBS user application session specific RAN KPI
  • the Active UE List may further include, but may not be limited to, UE Global ID (UEID Global ), Type of Global ID (UEID GlobalType ), UE Local ID (UEID Local ), UE specific CRC error in UL (UEMacCrc DL ), UEKPI RBS (if UBList[ ] not present), and UE Bearer list (UBList[ ]).
  • the UE Bearer list may include, but may not be limited to, UE Bearer ID (ID Bearer ), QCI (QCI Bearer ), UL TIED (TEID UL ), DL TEID (TEID DL ), UEKPI RBS (ifUASList[ ] is not present), and UE Application List (UASList[ ]).
  • the UE Application List (UASList[ ]) may further include, but may not be limited to, UE APP ID (ID Application ), UE APP Name (Name Application ), and UEKPI RBS .
  • the De-active UE List may include, but may not be limited to, UE Global ID (UEID Global ), and UE Bearer list (UBList[ ]).
  • the UE Bearer list (UBList[ ]) may include, but may not be limited to, UE Bearer ID (ID Bearer ), and UE Application List (UASList[ ]).
  • the UE Application List (UASList[ ]) may further include, but may not be limited to, UE APP ID (ID Application ), and UE APP Name (Name Application ).
  • the KPI data 607 may include UE KPI (UEKPI RBS ) generated at different aggregation levels (UE, User bearer, User application).
  • UE KPI RBS UE KPI generated at different aggregation levels
  • each UE has different level of KPI generation depending on configuration sent by DNSS. It should be noted that, in some embodiments, only one level of KPI generation is active at any given moment for an UE.
  • the UEKPI RBS may usually include, but may not be limited to, DL PDCP SDU bit-rate (PdcpBitRate DL ), UL PDCP SDU bit-rate (PdcpBitRate UL ), DL PDCP SDU drop rate (PdcpDropRate DL ), UL PDCP SDU loss rate ((PdcpLossRate UL ), UL PDCP SDU Delay (PpdcpDelay UL ), DL PDCP PDU or RLC SDU Delay(RlcDelay DL ), DL RLC PDU Retransmission (RlcReTrans DL ), DL PDCP SDU or MAC PDU loss rate over the air (MacLossRate DL ), DL HARQ re-transmission in DL (MacHargReTrans DL ), MAC scheduling rate in DL(MacSchd DL ), CQI in DL(MacCqi
  • the non-volatile memory 604 in DSS 600 may store the configuration data 608 received from CSS 203 .
  • the configuration data 608 from the CSS 203 may be employed to configure DSS 206 to make it operational, and to perform maintenance of UASP's in the communication network. It should be noted that a portion of the non-volatile memory can persist across system-start-up cycles.
  • the processing block 602 may use non-volatile memory path to store and retrieve configuration data 608 from the non-volatile memory 604 .
  • the configuration data 608 (CellConfig RBS ) may be updated upon receiving RBS_KPI_COLLECTION_TRIGGER from the DNSS 207 .
  • the RBS_KPI_COLLECTION_TRIGGER may contain RBS configuration data (CellConfig RBS ) for KPI Generation, minimum time required to generate the RAN KPI (T SmallestMeasurementInterval ), IP Address (IP DNSS ) of DNSS to send the RAN KPI information to RAS, and UDP/TCP port number (PORT DNSS ) of DNSS to receive the RAN KPI information.
  • CellConfig RBS RBS configuration data
  • IP DNSS IP Address
  • PORT DNSS UDP/TCP port number
  • the RBS Configuration Data may include a number of parameters including, but not limited to, RBS CELL ID (CELL ID ), RBS KPI Generation Timer (TIMER KPI_GENERATION_INTERVAL_CELL ), and List of UE's to be monitored (UEList[ ]).
  • the list of UE's to be monitored may further include, but may not be limited to, UE ID (ID UE ), UE level KPI Generation Timer (TIMER KPI_GENERATION_INTERVAL_UE ), and List of UE Bearer (UBList[ ]).
  • the list of UE Bearer may include, but may not be limited to, UE Bearer ID (ID Bearer ), Bearer), UE Bearer level KPI Generation Timer (TIMER KPI_GENERATION_INTERVAL_BEARER ), and Monitored UE Application List (UASLIST[ ]).
  • the Monitored UE Application List may include, but may not be limited to, Monitored Application ID (ID Application ), UE Application level KPI generation timer (TIMER KPI_GENERATION_INTERVAL_APP ), and Active KPI parameter list(KPIList[ ]).
  • the above mentioned parameters of the RBS Configuration Data may be repeated if multiple cells are present in the RBS 201 .
  • the processing block 602 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions.
  • the processing block 602 may include an improved GTP-U (IGTPU) handler 609 , an improved PDCP (IPDCP) handler 610 , an improved RLC (IRLC) handler 611 , and an improved MAC (IMAC) handler 612 .
  • the processing block 602 may include a KPI aggregator agent 613 , in accordance with some embodiments of the present disclosure.
  • the IGTPU handler 609 may receive configuration data from CSS 203 through a CSS-DSS interface, and may configure itself based on the configuration data.
  • the IGTPU handler 609 may receive user data from packet core (e.g., SGW) through S1-U interface in downlink (DL) and from the IPDCP handler 610 in uplink (UL). On receiving the data, the IGTPU handler 609 may process the data as per 3GPP TS 29.281 specification. For example, the IGTPU handler 609 may provide tunnel of user traffic between the RBS 201 and the SGW. After processing the received data packets, the IGTPU handler 609 may send the data packets to SGW through S1-U interface in UL and to IPDCP handler 610 in DL.
  • the CSS-DSS interface may be employed to send and receive control and configuration messages to and from the CSS 203 via the CSS-DSS path.
  • the IGTPU handler 609 may extract GTPU UL TED (TEID UL ) and GTPU DL TED (TEID DL ) from CSS 203 for the bearer during bearer set-up procedure, and RBS (e.g., eNB) IP address (IpAddr RBS ) for any data bearer for a user.
  • the RBS 201 may send the extracted parameters in KPI record to RAS 202 , which in turn merge the records with S1-U KPI for a user bearer.
  • the IGTPU handler 609 may generate the downlink cell level aggregated backhaul throughput (CellThput DL ) and uplink cell level aggregated backhaul throughput (CellThput UL ).
  • the IPDCP handler 610 may receive configuration data from CSS 203 through CSS-DSS interface, and may configure itself based on the configuration data.
  • the IPDCP handler 610 may further receive control data from CSS 203 in downlink (DL) and from the IRLC handler 611 in uplink (UL). Additionally, the IPDCP handler 610 may receive user data from GTP-U handler 609 in DL and from the IRLC handler 611 in UL.
  • the IPDCP handler 610 may process the data as per 3GPP TS 36.323 specification.
  • the IPDCP handler 610 may be responsible for header compression of user data in DL, and for header decompression in UL.
  • the IPDCP handler 610 may also be responsible for ciphering and deciphering of user data and control data as well as for integrity protection of control data in DL, and for integrity verification of control data in UL. Further, the IPDCP handler 610 may be responsible for timer based discard of data packets so as to maintain delay sensitivity of data packet. After processing the received data packets, the IPDCP handler 610 may send the control data to CSS 203 , and user data to IGTPU handler 609 in UL, and both control data as well as user data to IRLC handler 611 in DL.
  • the IPDCP handler 610 may perform deep packet inspection (DPI) on data packets and identify application from user packet for uplink (UL) and downlink (DL), in accordance with some embodiments of the present disclosure.
  • DPI deep packet inspection
  • the IPDCP handler 610 may then add the metadata about the application which may enable the IRLC handler 611 and IMAC handler 612 to generate application session specific KPI in DL.
  • the IPDCP handler 610 may also receive Global UE ID (UEID Global ), Type of Global ID (UEID GlobalType ) (e.g., IMSI, TMSI, or GUTI), UE Local ID (UEID Local ) [C-RNTI], bearer id (ID Bearer ), QCI Bearer of a bearer, and so forth from the CSS 203 during bearer set up procedure. Further, the IPDCP handler 610 may typically generate various UE application session specific KPI's, in accordance with some embodiments of the present disclosure.
  • These UE application session specific KPI's may include, but may not be limited to, DL PDCP SDU bit-rate (PdcpBitRate DL ), UL PDCP SDU bit-rate (PdcpBitRate UL ), DL PDCP SDU drop rate (PdcpDropRate DL ), UL PDCP SDU loss rate (PdcpLossRate UL ), and UL PDCP SDU Delay (PdcpDelay UL ).
  • PdcpBitRate DL DL PDCP SDU bit-rate
  • PdcpBitRate UL UL PDCP SDU bit-rate
  • PdcpDropRate DL DL PDCP SDU drop rate
  • PdcpLossRate UL UL PDCP SDU loss rate
  • PdcpDelay UL UL PDCP SDU Delay
  • the IRLC handler 611 may receive configuration data from CSS 203 through CSS-DSS interface, and may configure itself based on the configuration data.
  • the IRLC handler 611 may further receive control data and user data from the IMAC handler 612 in uplink (UL) and from the IPDCP handler 610 in downlink (DL).
  • the IRLC handler 611 may process the data as per 3GPP TS 36.322 specification.
  • the IRLC handler 611 may be responsible for segmentation and concatenation of received data packets in DL, and for re-assembly of received data packets in UL. Additionally, the IRLC handler 611 may detect and discard duplicate data packets received in UL.
  • the IRLC handler 611 may send the data packets to the IPDCP handler 610 in UL, and to the IMAC handler 612 in DL. Further, in some embodiments, the IRLC handler 611 may add UE application specific metadata in RLC PDU, in accordance with some embodiments of the present disclosure. The addition of metadata may enable the IMAC handler 612 to identify the user application to generate user application session specific KPI. Moreover, the IRLC handler 611 may typically generate various UE application session specific KPI's, in accordance with some embodiments of the present disclosure. These UE application session specific KPI's may include, but may not be limited to, DL PDCP PDU/RLC SDU Delay (RlcDelay DL ), DL RLC PDU Retransmission (RlcReTrans DL ).
  • the IMAC handler 612 may receive configuration data from CSS 203 through CSS-DSS interface, and may configure itself based on the configuration data. Additionally, the IMAC handler 612 may receive data from IRLC handler 611 in downlink (DL) and from the RSS 204 in uplink (UL) through PHY interface.
  • the PHY interface may include transport channels and may be responsible for exchange of data between RSS 204 and DSS 206 . It should be noted that the PHY interface may be hosted along with IMAC handler 612 , IRLC handler 611 , and IPDCP handler 610 or separately (e.g., in case of C-RAN) based on deployment scenarios.
  • the IMAC handler 612 may process the data (as per 3GPP TS 36.321 specification) and may perform services and functions that include, but are not limited to, error correction through HARQ, priority handling between UE's by means of dynamic scheduling, priority handling between logical channels of one UE (i.e., logical channel prioritization), and so forth. Additionally, the IMAC handler 612 may be responsible for multiplexing of data packets received from the IRLC handler 611 onto transport blocks (TB) to be delivered to the RSS 204 on transport channels, and for de multiplexing of received transport blocks (TB) delivered from the RSS 204 on transport channels.
  • transport blocks TB
  • the IMAC handler 612 may pass the data packets to the RSS 204 in DL and to IRLC handler 611 in UL. Further, in some embodiments, the IMAC handler 612 may typically generate various UE application session specific KPI's, in accordance with some embodiments of the present disclosure.
  • These UE application session specific KPI's may include, but may not be limited to, DL PDCP SDU/MAC PDU loss rate over the air (MacLossRate DL ), DL HARQ re-transmission in DL (MacHarqReTrans DL ), UE specific CRC error in UL (UEMacCrc DL ), UE Application level MAC scheduling rate in DL (MacSchd DL ), UE Application level CQI in DL (MacCqi UL ), Cell level average PRB usage in DL (CellPrb DL ), Cell level average PRB usage in UL (CellPrb UL ), and Cell level total number of active UE (ActiveUe total ).
  • DL PDCP SDU/MAC PDU loss rate over the air MacLossRate DL
  • MacHarqReTrans DL DL HARQ re-transmission in DL
  • UEMacCrc DL UE specific CRC error in UL
  • the KPI aggregator agent 613 may exchange RAN KPI's capability information with RAS 202 by RBS_CAPABILITY_NOTIFICATION (ECN).
  • the KPI aggregator agent 613 may also receive RAN KPI's generation and aggregation specification from DNSS 207 by RBS_KPI_COLLECTION_TRIGGER (RKCT).
  • the KPI aggregator agent 613 may then configure the IGTPU handler 609 , the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 to generate their respective RAN KPI's for the specified duration mentioned in RKCT.
  • the IGTPU handler 609 , the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 may generate RAN KPI at different aggregation levels (per UE, per UE's Bearer (UB), per User-Application (UA), etc.)
  • the KPI aggregator agent 613 may then send the generated RAN KPI's to the DNSS 207 by RBS_KPI_REPORT (RKR).
  • the DNSS 700 is analogous to the DNSS 207 implemented by the RAS 202 of FIG. 2 .
  • the DNSS 700 may include a memory block 701 and a processing block 702 .
  • the memory block 701 may include a volatile memory 703 and a non-volatile memory 704 .
  • the volatile memory 703 in the DNSS 700 may store tapped control data 705 and tapped user data 706 .
  • the processing block 702 may use volatile memory path to store and access the control data 705 and the user data 706 .
  • the processing block 702 may analyze the control data 705 and the user data 706 so as to generate radio and IP/application level KPI's. Further, the volatile memory 703 may store the generated KPI data 707 . The processing block 702 may use volatile memory path to store and access the generated KPI data 707 . As will be appreciated, the control data 705 , the user data 706 , and the KPI data 707 has been described above in conjunction with FIG. 6 .
  • the non-volatile memory 704 in DNSS 700 may store the configuration data 708 received from OAM through DNSS-OAM interface. As will be appreciated, the configuration data 708 from the OAM may be employed to configure DNSS 207 to make it operational.
  • the non-volatile memory 704 in DNSS 700 may store the configuration data 708 received from ARNSS 208 via DNSS-ARNSS interface.
  • the configuration data 708 from the ARNSS 708 may be employed for analyzing data packets so as to generate KPI's.
  • the processing block 702 may use non-volatile memory path to store and retrieve configuration data 708 from the non-volatile memory 704 .
  • the configuration data 608 may include a number of parameters including, but not limited to, DNSS ID (ID DNSS ), IP of the ARNSS (IP ARNSS ), Port no of the ARNSS (PORT ARNSS ), the smallest time interval for which RBS can capture the KPI's (T SmallestMeasurementInterval ), Interval after which RKCT is sent to RBS (T KPI_COLLECTION_INTERVAL ), MaxConfigRetryCount, T RbsKpiConfig , List of CELLRecord RBS Radio Base stations supported by the ID RBS and ID CELL (DNSSLIST RBS [ ][ ]),List of aggregated KPI's for network decision suggestion (AGGRLIST RBS [ ]), List of KPI's RBS is capable of measuring (List KPI[ ] ), Type of packet (UDP/TCP/Others) (TYPE packet ), Source of the LP packet (PACK_IPsrc), Destination of the IP packet (ID DNSS
  • the processing block 702 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions.
  • the processing block 702 may include an improved S1 DPI (IS1DPI) handler 709 and an improved RBS-KPI collection (IRKC) handler 610 .
  • the IS1DPI handler 709 may manage interception and tapping of S1 data.
  • the IS1DPI handler 709 may receive tapped signaling and user data (i.e., tapped S1 data) flowing between the RBS 201 and the core network through S1-DNSS interface via the S1-DNSS path.
  • the IS1DPI handler 709 may receive different level of DPI configurations from ARNSS 208 through a DNSS-ARNSS interface via the DNSS-ARNSS path.
  • the IS1DPI handler 709 may then perform deep packet inspection (DPI) on the received S1 data so as to generate IP/Application level KPI's.
  • the IS1DPI handler 709 may further send the generated KPI's to the ARNSS, for consolidation and decision making, through the DNSS-ARNSS interface via the DNSS-ARNSS path.
  • the IS1DPI handler 709 may employ DPI to determine the user application session specific KPI's from the received uplink and downlink.
  • the IRKC handler 710 may manage interception and tapping of control and user data of the RBS 201 .
  • the IRKC handler 710 may receive data packets intercepted and tapped from various interfaces of DSS 206 through DSS-DNSS interface via the DSS-DHSS path.
  • the RBS 201 may register itself with RAS 202 , which may then configure user application specific KPI generation interval in RBS 201 .
  • the RAS 202 may further request the RBS 201 to send the generate KPI's.
  • the RBS 201 may send the generated KPI's to the RAS 202 .
  • the IRKC handler 710 may intercept and tap the RBS data by running parallel RAN protocol stack so as to generate high level RAN KPI's. The IRKC handler 710 may then send the generated KPI's to ARNSS 208 for consolidation and decision making. Further, in some embodiments, the IRKC handler 710 may ensure KRI generation in RBS 201 at regular or adaptive intervals as per configuration.
  • the ARNSS 800 is analogous to the ARNSS 208 implemented by the RAS 202 of FIG. 2 .
  • the ARNSS 800 may include a memory block 801 and a processing block 802 .
  • the memory block 801 may include a volatile memory 803 and a non-volatile memory 804 .
  • the volatile memory 803 in the ARNSS 800 may store KPI data 805 received from the DNSS 207 .
  • the volatile memory 803 may also store decision data 806 .
  • the decision data 806 may include current decisions that may be used for future decision for optimization of network resources.
  • the processing block 802 may use volatile memory path to store and access the KPI data 805 and the decision data 806 .
  • the non-volatile memory 804 in ARNNSS 800 may store the configuration data 807 received from OAM through ARNSS-OAM interface. As will be appreciated, the configuration data 807 from the OAM may be employed to configure ARNSS 208 to make it operational. Further, the non-volatile memory 804 in ARNSS 800 may store different machine learning models that may be employed for determination and optimization of network or user application performance.
  • the configuration data 807 may include a number of parameters including, but not limited to, list of DNSS to be supported (List SupportedDNSS ), list of RBS (LIST RBS [Index RBS ][Index CELL ]), complete list of applications to be monitored by ARNSS (ListID application ), a parameter quantitatively representing the threshold value for the acceptable application session performance (ListThreshold app ), list of UE's to be monitored via the ARNSS (ListID Ue (IMSI)), ith of Monitor_List app [i] containing the i th ListID application [i] and ListThreshold app [i] (Monitor_List app ), list containing the UE's to be monitored (Monitor_List ue ), default value of T KPI_COLLECTION_INTERVAL ( Default KPI_COLLECTION_INTERVAL ), default value of T KPI_GENERATION_INTERVAL (DefaultT KPI_GENERATION_INTERVAL ), default
  • the configuration parameters may include UEKPI RBS aggregated at cell level if the KPI metrics is to be calculated at cell level. However, if that is not the case, the configuration parameters may include list of UE's (LIST_UE ARNSS[ ] ). Additionally, it should be noted that, for every entry in the List_UE ARNSS [ ], the configuration parameters may include UEKPI RBS calculated at UE level if the KPI metrics is to be calculated at UE level. However, if that is not the case, the configuration parameters may include list of bearers (UBList[ ]).
  • the configuration parameters may include UEKPI RBS calculated at UE bearer level if the KPI metrics is to be calculated at UE bearer level. However, if that is not the case, the configuration parameters may include list of UE Application (UASList[ ]). As will be appreciated, initial threshold values in the ListThreshold app may be derived from historical data. Further, as will be appreciated, ListID Ue (IMSI) may be retrived from HSS. It should be noted that ListID Ue (IMSI) may be optional and all the UEs may be monitored of the same is not provided.
  • the processing block 802 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions.
  • the processing block 802 may include an improved KPI collection and consolidation (IKCC) handler 808 , an improved application session performance detection (IASPD) handler 809 , and an improved corrective action decision (ICAD) handler 810 .
  • the IKCC handler 808 may collect the KPI's from DNSS 207 through the DNSS-ARNSS interface via the DNSS-ARNSS path.
  • the IKCC handler 808 may receive the radio, IP, and user application KPI's from the DNSS 207 .
  • the IKCC handler 808 may then stich and consolidate received KPI's.
  • the IKCC handler 808 may stich and consolidate the KPI's from different sources based on the common identifiers (e.g. UE ID and RBS ID, timer stamp, etc.). Additionally, in some embodiments, the IKCC handler 808 may use RBS ID, application ID, user ID and bearer ID to consolidate records. It should be noted that consolidation of records may form the data for subsequent analysis at IASPD handler 809 .
  • the IASPD handler 809 may determine user application session performances (UASP's). In some embodiments, the IASPD handler 809 may determine UASP's based on consolidated KPI's using standard mechanism or stored machine learning model. It should be noted that the UASP's may be aggregated at RBS level, bearer level, or user application level based on the configuration for the RBS. The IASPD handler 809 may also determine radio resource usage patterns from the consolidated KRI's for cell in the communication network. Additionally, in some embodiments, the IASPD handler 809 may determine a rate for collection of KPI's based on an analysis of the collected data.
  • UASP's user application session performances
  • ICAD handler 810 may take the decision and recommend the decision to MSS 205 for optimization of network resource usage or improvement of UASP. For example, the ICAD handler 810 may analyze the trend of UASP's and resource usage pattern of the RBS 201 , and the load of neighboring RBS's so to make any decision (i.e., suggest any network actions) for optimization of network resource or improvement of deteriorated UASP's. The ICAD handler 810 may then recommend the decision to MSS 205 through the MSS-ARNSS interface via the MSS-ARNSS data path. In some embodiments, the WAD handler 810 may receive the UE NBR cell list from IRRM handler in the MSS 205 .
  • the ICAD handler 810 may receive measured received signal strength indication (RSSI) values of the cell in the UE NBR cell list. The ICAD handler 810 may then recommend the MSS ranked target NBR list for handover. Further, in some embodiments, the ICAD handler 810 may communicate the adaptive rate of collection of KPI's to the RBS 201 . Moreover, in some embodiments, the ICAD handler 810 may communicate, if required, the handover preferences based on the aggregated KPI's to IRRM in the MSS 205 .
  • RSSI received signal strength indication
  • modules and submodules 300 - 800 some of the other modules, subsystems, or network elements may have to be modified for processing data packets so as to implement and/or provide maintenance of UASP's in the communication network.
  • network elements responsible for providing configuration parameters e.g., OAM in MME
  • modules responsible for effecting the handover e.g., transceiver in RSS
  • subsystems (CSS 300 , RSS 400 , MSS 500 , DSS 600 , DNSS 700 , ARNSS 800 , etc.) and their modules may be implemented in programmable hardware devices such as programmable gate arrays, programmable array logic, programmable logic devices, and so forth.
  • the subsystems and modules may be implemented in software for execution by various types of processors.
  • An identified engine of executable code may, for instance, include one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, function, module, or other construct.
  • an engine of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different applications, and across several memory devices.
  • UASP's user application session performances
  • the exemplary communication network 100 and the associated system 200 may facilitate maintenance of UASP's by the processes discussed herein.
  • control logic and/or automated routines for performing the techniques and steps described herein may be implemented by components of the communication network 100 and the associated system 200 , either by hardware, software, or combinations of hardware and software.
  • a suitable code may be accessed and executed by the one or more processors on the system 200 to perform some or all of the techniques described herein.
  • ASICs application specific integrated circuits
  • exemplary control logic 900 for maintaining UASP's in a communication network 100 via a system is depicted via a flowchart, in accordance with some embodiments of the present disclosure.
  • the control logic 900 may include the steps of determining an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station (SBS) and at each of a plurality of neighboring base stations (NBS's) based on gathered performance data at step 901 , determining an aggregate application performance level for each of the plurality of applications at the SBS and at each of the plurality of NBS's based on the aggregate UASPs for the plurality of users at the SBS and at each of the plurality of NBS's respectively at step 902 , and determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the SBS and at the plurality of NBS's at step 903 .
  • the control logic 900 may further include the step of maintaining the UASPs by determining a corrective network action based on an average aggregate application performance at the SBS and at each of the plurality of NBS's at step 904 .
  • determining the aggregate UASP at a given base station (i.e, at the SBS or at one of the NBS's) at step 901 may include the steps of determining a UASP at a core network end of the given base station, determining a UASP at a radio interface end of the given base station, and determining the aggregate UASP at the given base station based on the UASP at the core network end and the UASP at the radio interface end. Additionally, in some embodiments, determining the UASP at the core network end may include the step of determining an association between received packets and a user application session from an uplink packet and a downlink packet using deep packet inspection (DPI).
  • DPI deep packet inspection
  • determining the UASP at the radio interface end may include the step of determining an association between user packets and a user application session using shallow packet inspection.
  • the corrective network action at step 904 may include recommending a handover from SBS to one of the plurality of NBS's based on a comparison among the average aggregate application performances for the SBS and each of the plurality of NBS's.
  • control logic 900 may further include the step of adapting gathering of performance data based on an analysis of trend for a pre-defined number of previous aggregate user application session performances. Additionally, in some embodiments, the control logic 900 may further include the step of determining an accuracy of a previous corrective network action based on the aggregate user application session performance. Further, in some embodiments, the control logic 900 may further include the step of updating or providing recommendations for updating, based on the accuracy, a co-efficient or a threshold value for determination of one or more process parameters.
  • control logic 1000 for processing data packets for maintaining UASP's in a communication network 100 is depicted in greater detail via a flowchart in accordance with some embodiments of the present disclosure.
  • the control logic 1000 may include the steps of initializing and configuring the RBS and the RAS at step 1001 , collecting and generating accurate KPI's at step 1002 , determining of UASP based on KPI's at step 1003 , and determining corrective for maintenance of UASP at step 1004 . Each of these steps will be described in greater detail herein below.
  • the control logic may further include the steps of initializing the RBS and the RAS at step 1005 , performing capability exchange handshake of RBS with DNSS and ARNSS at step 1006 , and performing time synchronization at DNSS at step 1007 .
  • the RBS 201 may be initialized as per 3GPP TS 32.851 specification and 3GPP TS 36.331 specification.
  • the KPI aggregator agent 613 , DNSS 207 , and ARNSS 208 may be configured or initialized, in accordance with some embodiments of the present disclosure.
  • the IKCC handler 808 in the ARNSS 208 may be spawned and may wait for OAM to send configuration. After the IKCC handler 808 may receive OAM_PRECONFIG_ARNSS_REQUEST containing List SupportedDNSS[ ] from OAM through ARNSS-OAM interface, the IKCC handler 808 may configure itself as well as the other ARNSS modules. The IKCC handler 808 may further receive the OAM_CONFIG_ARNSS_REQUEST from ARNSS-OAM Interface.
  • the OAM_CONFIG_ARNSS_REQUEST may include the ID ARNSS along with the LIST_ID DNSS to be monitored.
  • the OAM_CONFIG_ARNSS_REQUEST may also include, but may not be limited to, DefaultT KPI_COLLECTION_INTERVAL , DefaultT KPI_GENERATION_INTERVAL , Default TIMERKPI_GENERATION_INTERVAL_UE , ListThreshold APP , Default TIMERKPI_GENERATION_INTERVAL_BEARER , Default TIMERKPI_GENERATION_INTERVAL_APP , ListID application , Monitor_List app , and ListID UE (optional). As state above, if the ListID UE is empty, it may be assumed that all the UE's are being monitored.
  • the IRKC handler 710 in the DNSS 207 may wait for OAM_CONFIG_DNSS_REQUEST from OAM through DNSS-OAM interface.
  • the OAM_CONFIG_DNSS_REQUEST may include, but may not be limited to, ID DNSS , IP ARNSS , PORT ARNSS , MaxConfigRetryCount, T RbsKpiConfig and DNSSLIST RBS [ ].
  • the IRKC handler 710 may configure itself as well as the other DNSS modules. Additionally, the IRKC handler 710 may send the DNSS_ASNSS_LISTRBS_CONFIG_REQUEST to configure the List RBS in ARNSS.
  • the KPI aggregator agent 613 in the DSS 206 may wait for OAM_RBS_KPI_CONFIG_REQUEST containing standard parameters along with ID DNSS , T SmallestMeasurementInterval , IP DNSS and PORT DNSS , ID RBS , CELL ID , and standard ListKPI[ ] from CSS-DSS interface to send the KPI's upon generation.
  • OAM_RBS_KPI_CONFIG_REQUEST containing standard parameters along with ID DNSS , T SmallestMeasurementInterval , IP DNSS and PORT DNSS , ID RBS , CELL ID , and standard ListKPI[ ] from CSS-DSS interface to send the KPI's upon generation.
  • the cell may become operational and UE's may start to attach to it.
  • the capability notification handshake may be performed.
  • the KPI aggregator agent 613 may send RBS_CAPABILITY_NOTIFICATION using DSS-DNSS interface to DNSS 207 .
  • the RBS_CAPABILITY_NOTIFICATION may include, but may not be limited to, ID RBS , T SmallestMeasurementInterval , ID CELL (S), List KPI[ ] , ActiveUE List [ ] and DeActiveUE List [ ] (sans UEKPI RBS ).
  • the RBS_CAPABILITY_NOTIFICATION may be generated again so as to update the DNSS (DNSSLIST RBS ) and ARNSS (LIST RBS ) with updated UE list.
  • the KPI aggregator agent 613 may give precedence to RBS_CAPABILITY_NOTIFICATION to RKR in case the KPI aggregator agent 613 has to send both simultaneously.
  • the IRKC handler 710 in the DNSS 207 may receive RBS_CAPABILITY_NOTIFICATION from the KPI aggregator agent 613 .
  • the IRKC handler 710 may then update the DNSSLIST RBS and forward RBS_CAPABILITY_NOTIFICATION to the IKCC handler 808 in the ARNSS 208 .
  • the IKCC handler 808 may receive the RBS_CAPABILITY_NOTIFICATION, may update the LIST RBS , and may send DNSS_KPICONFIGURATION_REQ.
  • the DNSS_KPI_CONFIGURATION_REQ may include, but may not be limited to, ID RBS , CELL ID (S), T KPI_GENERATION_INTERVAL , T KPI_COLLECTION_INTERVAL , List KPI [ ], Default TIMERKPI_GENERATION_INTERVAL_UE , Default TIMERKPI_GENERATION_INTERVAL_BEARER , and Default TIMERKPI_GENERATION_INTERVAL_APP using the ARNSS-DNSS interface to DNSS 207 .
  • the IRKC handler 710 may update DNSSLIST RBS [Index RBS ].ID RBS with ID RBS , DNSSLIST RBS [Index RBS ][Index CELL ].T KPI_GENERATION_INTERVAL with T KPI_GENERATION_INTERVAL and DNSSLIST RBS [Index RBS ][Index CELL ].T KPI_COLLECTION_INTERVAL with T KPI_COLLECTION_INTERVAL .
  • the IRKC handler 710 may start timer TIMER RbsKpiconfig with value T RbsKpiConfig to expect RBS_KPI_CONFIG_COMPLETE. Additionally, RBS_KPI_CONFIGURATION_REQ may be sent to RBS with ID RBS , AttemptCount and CellConfig RBS [ ]. If RBS_KPI_CONFIG_COMPLETE consisting of ID RBS and AttemptCountRes, is received at DNSS 207 before the expiry of TIMER RbsKpiconfig and AttemptCount is equal to AttemptCountRes, the IRKC handler 710 may stop the timer and exit loop.
  • the IRKC handler 710 may determine if AttemptCount is less than MaxConfigRetryCount. If true (i.e., if AttemptCount ⁇ MaxConfigRetryCount), the IRKC handler 710 may increase AttemptCount by 1 and repeat the process by restarting timer TIMER RbsKpiconfig with value T RbsKpiConfig to expect RBS_KPI_CONFIG_COMPLETE. However, if not true (i.e., AttemptCount is not ⁇ MaxConfigRetryCount), than the IRKC handler 710 may stop further attempts to configure the RBS and may exit the loop as the maximum number of attempts to configure the RBS has been exhausted.
  • the KPI aggregator agent 613 may populate the CellConfig RBS with the parameters received in RBS_KPI_CONFIGURATION_REQ.
  • the KPI aggregator agent 613 may then configure IGTPU handler 609 , IPDCP handler 610 , IRLC handler 611 , and IMAC handler 612 to generate the KPI's as described in CellConfig RBS[ ] .
  • the KPI aggregator agent 613 may validate if the configuration procedure is successful. Upon positive validation, the KPI aggregator 613 may send RBS_KPI_CONFIG_COMPLETE to DNSS 207 using DSS-DNSS interface.
  • RBS_KPI_CONFIG_COMPLETE may include message type and ID RBS .
  • the IRKC handler 710 in the DNSS 207 may send the DNSS_KPI_CONFIG_COMPLETE to the IKCC 808 handler in the ARNSS 208 .
  • system clock of the DNSS 207 may be synchronized with system clock of SGW using standard method (PTP/NTP). Additionally, system clocks of DNSS 207 and RBS 201 may be synchronized using standard method (PTP/NTP). It should be noted that both of the above mentioned time synchronization procedures may be repeated after a re-defined time interval (T RE-Sync ), configured by OAM.
  • T RE-Sync re-defined time interval
  • control logic may further include the steps of defining KPI aggregation specification at step 1008 , triggering measurement of KPI at step 1009 , generating KPI for RBS at step 1010 , generating KPI for core network packets at step 1011 , and publishing the generated KPI for aggregation and decision making at step 1012 .
  • the IRRC handler 309 may extract global UE ID and type. Upon reception of first message from the UE or handover message from NBS or EPC, IRRC handler 309 may extract the UEID Global and UEID GlobalType present in that message. The IRRC handler 309 may then pass UEID Global and UEID GlobalType along with other standard parameters, while configuring IPDCP handler 610 . The IPDCP handler 610 may update identifiers for CELL record and UE record. Further, the IPDCP handler 610 may receive IpAddr RBS and CEll ld during configurations by CSS 203 , and may update these in CELLRecord RBS [i] during cell configuration.
  • the CSS 203 may configure IPDCP handler 610 , which in turn may update the UEID Global and UEID GlobalType in UERecord RBS [i] and ID Bearer , QCI Bearer in UERecord RBS [i].UBList[j].
  • the IPDCP handler 610 may update the UEID Global in CELLRecord RBS [i].ActiveUE List [i] and ID Bearer , QCI Bearer in CELLRecord RBS [i].ActiveUE List [j].UBList[k].
  • the IGTPU handler 609 may update TEID UL and TEID DL in UERecord RBS [i].UBList W.
  • the IPDCP handler 610 may determine the user application name (Name Application ) from the received user packet using standard DPI mechanism by UE/Application IP, port no and content of the received packet.
  • the IPDCP handler 610 may also determine ID Application against the supported APPList[ ] received during its configuration by CSS 203 . It should be noted that APPList[ ] may include list for Name Application and ID Application .
  • UERecord RBS may be updated Name Application and ID Application in UERecord RBS [i].UBList[i].UASList[j] for UERecord RBS in CELLRecord RBS [i].ActiveUE List [j]. It should be noted that, based on the gathering granularity, UERecord RBS may be at the UE, UE bearer, or UE Bearer Application level. The IPDCP handler 610 may then generate RBS_CAPABILITY_NOTIFICATION to update DNSS about the updated UE list.
  • the IRKC handler 710 may start timer TIMER RbsKpiconfig with value DNSSLIST RBS [Index RBS ][Index CELL ].T KPI_COLLECTION_INTERVAL for for each Index CELL in DNSSLIST RBS [Index RBS ][Index CELL ] for each Index RBS , in DNSSLIST RB s[Index RBS ] in the DNSS 207 .
  • the IRKC handler 710 may then create the RBS_KPI_COLLECTION_TRIGGER (RKCT) towards the RBS represented by Index RBS .
  • IRKC handler 710 may populate the list with all the active UE's and all the active applications. Otherwise only populate the RKCT with the active UE's and active applications which are present in the ListPreConfiguredUE[ID RBS ][ ] and ListPreConfigApps[ID RBS ][ ]. It should be noted that the RKCT may contain DNSSLIST RBS [Index RBS ][Index CELL ].CELL ID , DNSSLIST RBS [Index RBS ][Index CELL ] T KPI_GENERATION_INTERVAL and UEList[ ].
  • the IRKC handler 710 may determine if DNSSLIST RBS [Index RBS ][Index CELL ].ActiveUEList[ ] includes one or more entries. If true, then, for every Index UE present in DNSSLIST RBS [Index RBS ][Index CELL ].ActiveUEList[ ], the IRKC handler 710 may insert the DNSSLIST RBS [Index RBS ][Index CELL ].ActiveUEList[Index UE ].ID UE followed by the UE level KPI Generation Timer.
  • the IRKC handler 710 may then determine if DNSSLIST RBS [Index RBS ] [Index CELL ].ActiveUEList[Index UE ].UBList[ ] includes one or more entries. If true, then, for every active bearer in DNSSLIST RBS [Index RBS ][Index CELL ].ActiveUEList[Index UE ].UBList[ ], the IRKC handler 710 may insert the UE Bearer ID (ID Bearer ) and the bearer level timer (TIMER KPI_GENERATION_INTERVAL_UB ) for the bearer in the RKCT for each entry in the DNSSLIST RBS [Index RBS ][Index CELL ].ActiveUEList[Index UE ].UBList[ ].
  • the IRKC handler 710 may further determine if DNSSLIST RBS [Index RBS ][Index CELL ].ActiveUEList[Index UE ].UBList[Index Bearer ].UASLI ST[ ] include one or more entries. If true, then, the IRKC handler 710 may determine that user application specific KPI collection is required. For every Index app , the IRKC handler 710 may insert the UE Application ID (DNSSLIST RBS [Index RBS ][Index CELL ].
  • the IRKC handler 710 may continue to the next Bearer in the DNSSLIST RBS [Index RBS ][Index CELL ].
  • the IRKC handler 710 may send the RKCT towards the RBS cell represented by Index RBS and Index CELL . The IRKC handler 710 may then continue to the next Index CELL till all the Index CELL in DNSSLIST RBS [Index RBS ][Index CELL ] are parsed. Further, the IRKC handler 710 may parse to the next Index RBS in LIST RBS [Index RBS ]. After parsing all the Index RBS in DNSSLIST RBS [Index RBS ], the IRKC handler 710 may restart the parsing.
  • the KPI aggregator agent 613 may check the CELL ID (s) in RKCT upon reception of RBS_KPI_COLLECTION_TRIGGER (RKCT) using DSS-DNSS interface. If, CELL ID matches with Cell-ID(s) configured for the RBS 201 , the KPI aggregator agent 613 may continue with the data collection, else the KPI aggregator agent 613 may ignore the message RKCT. For data collection, the KPI aggregator agent 613 may extract the T KPI_GENERATION_INTERVAL as well as other configurations from RKCT. The extracted configuration may be stored in CellConfig RBS .
  • the KPI aggregator agent 613 may then start a timer TIMER KPI_GENERATION_INTERVAL with the value T KPI_GENERATION_INTERVAL and may trigger KPI generation through the IGTPU handler 609 , the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 .
  • the IGTPU handler 609 , the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 may generate the individual RBS and/or UE application specific KPI's. Further, the IMAC handler 612 and the IPDCP handler 610 may generate CELLRecord RBS .
  • the IMAC handler 612 may generate the CellPrbDL and CellPrbDL for total PRB usage computation and update in CELLRecord RBS [i].
  • the IPDCP handler 610 may then generate CellThputDL and CellThputUL for data volume computation on per cell basis and update in CELLRecord RBS [i].
  • the generation of UEKPI RBS may happen in three levels (user level, user bearer level, and user application level) based on request (in RKCT). It should be noted that only one level of UEKPI RBS generation may be possible at any given moment.
  • the KPI aggregator agent 613 may verify presence of UE's in ActiveUEList[ ] of RKCT request. If the KPI aggregator agent 613 may find presence of same UE in the ActiveUE List n of the KPI aggregator agent 613 , then further information may need to be extracted from RKCT.
  • the KPI aggregator agent 613 may extract the relevant bearer list (ActiveUE List [i].UBList[ ]) from the RKCT.
  • the KPI aggregator agent 613 may then extract relevant user-application-session-list from the RKCT (ActiveUE List [i].UBList[i].UAList[ ]) for each relevant bearer. Further, the KPI aggregator agent 613 may start timer with duration TIMER KPI_GENERATION_INTERVAL_APPLICATION(i) (received via RKCT), and may generate UEKPI RBS as per following logic:
  • IF ActiveUE List [i].UBList[] is present in parsed request from RKCT: In a loop per UE per bearer per application, IF ActiveUE List [i].UBList[i].UAList [] is present in parsed request from RKCT: IF ID Application retrieved from AciveUE List [i].UBList[i].UASList[i] (from RKCT) matches with ID Application in UERecord RBS [i].UBList [i].UASList[]: The KPI aggregator agent 613 starts timer for duration TIMER KPI _GENERATION_INTERVAL_APPLICATION(i) (received RKCT) and generate UEKPI RBS as per following logic: On receive of user packet for UEList[i].UBList[i], the IPDCP handler 610 determines the ID Application (i) IF determination of ID Application(i) is successful, The IPDCP handler 610 adds ID Application(i) as meta- data to the
  • control logic 1000 may generate user application specific KPI's as per logic Generate UEKPI RBS . Based on the requested aggregation level (i.e., ‘1’ for per UE, ‘2’ for per UE per bearer, ‘3’ for per UE per bearer per application, etc.) to generate KPI's, the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 may generate a number of KPI's.
  • the requested aggregation level i.e., ‘1’ for per UE, ‘2’ for per UE per bearer, ‘3’ for per UE per bearer per application, etc.
  • the IPDCP handler 610 may compute following KPI's, at requested KPI aggregation level: DL PDCP SDU bit-rate (PdcpBitRate DL ), DL PDCP SDU drop rate (PdcpDropRate DL ), UL PDCP SDU bit-rate (PdcpBitRate UL ), and UL PDCP SDU loss rate (PdcpLossRate UL ).
  • the IPDCP handler 610 may then compute UL PDCP SDU Delay (PpdcpDelay UL ) as per equation (1) below:
  • ArrivalTimeRcvdPSUL(i) is arrival time of ‘i’th PDCP SDU at IPDCP handler 610 and SourceTimePSRcvdUL (i) is departing time for ith PDCP SDU from UE PDCP from IPDCP handler 610 . It should be noted that TotalRcvdSDU is incremented by one upon receiving of each PDCP SDU at IPDCP handler 610 .
  • the IRLC handler 611 may generate following KPI at requested KPI aggregation level: DL PDCP PDU/RLC SDU Delay (RlcDelay DL ).
  • the IMAC handler 612 may generate following KPI's at requested KPI aggregation level: DL PDCP SDU/MAC PDU loss rate over the air (MacLossRate DL ), DL HARQ re-transmission in DL (MacHargReTrans DL ), UE Application level CQI in DL (MacCqi DL ), UE Application level MAC scheduling rate in DL (MacSchd DL ).
  • the IMAC handler 611 may also compute UEMacCrc DL per UE as total number of CRC error packets received per requested level. In particular, the UEMacCrcDL may be incremented by one on receipt of each CRC error packet. Further, at a requested KPI aggregation level, the IMAC handler 612 may compute KPI MacSchd DL as a total number of packet scheduling for requested aggregation level by IMAC handler 612 . In particular, the MacSchdDL may be incremented by one on each scheduling of a downlink packet for requested aggregation level.
  • the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 may update computed UEKPI RBS in ActiveUE List [i].
  • the IPDCP handler 610 , the IRLC handler 611 , and the IMAC handler 612 may update computed UEKPI RBS in ActiveUE List [i].
  • the KPI aggregator agent 613 may extract computed CELLRecord RBS on expiry of CELLRecord RBS KPI generation timer and put it in CellRecordSendReadyList[ ] before sending the same to the DNSS 207 .
  • the KPI aggregator agent 613 may extract computed UEKPI RBS on expiry of UEKPI RBS KPI generation timer and put it in UERecordsSendReadyList[ ] before sending the same to the DNSS 207 .
  • the representation of UERecordsSendReadyList is same as UERecord RBS .
  • the KPI aggregator agent 613 may prepare the RKR and send it to the DNSS 207 over the DSS-DNSS interface.
  • the RKR may include ID RBS , CELL ID , CellKPI present , UEKPI present , followed by CELLRecord RBS and/or UERecord RBS .
  • the IRKC handler 710 may check if UE specific KPI is required as per RBS_KPI_COLLECTION_TRIGGER. If required, the IRKC handler 710 may append UEKPI identifier (which may indicate the start of UE specific parameters for that RBS) to RBS_KPI_REPORT (RKR), followed by ID ue and UEKPI RBS defined in memory block of DSS 206 . However, if not required, UE specific parameters may not be appended to RKR.
  • the IRKC handler 710 may check if RBS_KPI_COLLECTION_TRIGGER contain the UE list. If UE list is not present, UE application specific KPI's may not be computed. In this case, all the packets arriving via S1-DNS interface for the ID RBS may be rejected. However, if UE list is present in RBS_KPI_COLLECTION_TRIGGER, the IS1DPI handler 709 may start TIMER S1_KPI_GENERATION_INTERVAL with the value T KPI_GENERATION_INTERVAL after IRKC handler 710 sends the RBS_KPI_COLLECTION_TRIGGER.
  • the IRKC handler 710 may discard the packet. Similarly, if the packet is not intended for the RBS 201 being probed, the IRKC handler 710 may discard the packet.
  • the IS1DPI handler 709 may then collect S1U data over S1-DNSS interface till TIMER S1_KPI_GENERATION_INTERVAL expires. In such case, upon reception of the S1U packet data, standard DPI techniques are applied on the received packet in the IS1DPI handler 709 to identify the packet details.
  • packet details may include, but may not be limited to, TYPE packet (Application type), SEQ NUMBER (of the Application, Bearer, or UE packet), T SENT_TIME , T RECV_TIME , PACK_IP SRC , and PACK_IP DEST , UL TEID , and DL TEID .
  • the IS1DPI handler 709 may check if the IP of the RBS for which the DNSS 207 has sent the RBS_KPI_COLLECTION_TRIGGER matches PACK_IP DEST of the inspected packet from S1-DNS interface, and may determine whether it is uplink packet or downlink packet. The IS1DPI handler 709 may then calculate specific KPI's based on the packet direction. In particular, the IS1DPI handler 709 may find out, by using standard DPI techniques, if the packet is intended for a particular UE and may determine ID UE .
  • the IS1DPI handler 709 may find out, by using standard DPI techniques, if the packet is intended for a particular bearer or a particular application and may determine ID S1UBEARER and ID S1UAPP .
  • the IS1DPI handler 709 may also calculate the time delay taken by the received packet T PACK_DELAY assuming the S1U DNSS and RBS clocks are in sync.
  • the IS1DPI handler 709 may then check if the RKCT include UEList[ ] having one or more values. If true, then, for each ID UE in RKCT, the IS1DPI handler 709 may check if the ID UE include one or more UE bearers in UBList[ ]. If true, then for each ID Bearer present in the UBList[ ], the IS1DPI handler 709 may check if the ID Bearer include one or more ID App in the RKCT. If there are one or more ID App in the RKCT, the IS1DPI handler 709 may determine that application specific parameters are being monitored.
  • the IS1DPI handler 709 may determine that bearer specific parameters are being monitored. Further, if there are no UE bearers in UBList[ ], the IS1DPI handler 709 may determine that only UE specific KPI's are being monitored. Moreover, if there are no ID UE in the UEList[ ], the IS1DPI handler 709 may determine that UE specific KPI's are not being generated, and, therefore, may ignore the S1U packets from or to the ID RBS .
  • the IS1DPI handler 709 may update PacketLossCount(UL/DL), LastSequenceNo(UL/DL), AvgPacketDelay(UL/DL), etc. in the DNSSLIST RE s[Index RBS ] [Index CELL ] ActiveUEList[Index ue ].UBList[Index Bearer ].UASList[Index App ].UEKPI RBS structure.
  • the PacketLossCount(UL/DL) may be calculated as per equation (2) below.
  • the LastSequenceNo(UL/DL) may be measured by CurrentSEQ NUMBER .
  • the AvgPacketDelay(UL/DL) may be calculated as per equation (3) below.
  • the IS1DPI handler 709 may update PacketLossCount(UL/DL), LastSequenceNo(UL/DL), AvgPacketDelay(UL/DL) etc. in the DNSSLIST RBS [Index RBS ][Index CELL ].UEList[Index ue ]. UBList[Index Bearer ].UEKPI RBS structure. It should be noted that the parameters may be determined in a similar fashion as those for application specific monitoring with the granularity of the measurement of the parameters being per Bearer.
  • the IS1DPI handler 709 may update PacketLossCount(UL/DL), LastSequenceNo(UL/DL), AvgPacketDelay(UL/DL) etc. in the DNSSLIST RBS [Index RBS ][Index CELL ].UEList[Index ue ].UEKPI RBS structure.
  • the cumulative PacketLossCount(UL/DL) may be calculated as per equation (4) below.
  • the LastSequenceNo(UL/DL) may be updated by CurrentSEQ NUMBER .
  • the AvgPacketDelay(UL/DL) may be calculated as per equation (5) below.
  • IRKC handler 710 may process the received RKR and forward the RKR to the IKCC handler 808 in the ARNSS 208 . Further, the IS1DPI handler 709 may send the S1DPI_REPORT to the IKCC handler 808 in the ARNSS 208 . The IKCC 808 may then verify the RKCT for a non-empty UEList[ ].
  • the IKCC handler 808 may insert DNSSLIST RE s[Index RBS ][Index CELL ].LIST ue [Index ue ].ID UE in the S1DPI_REPORT. The IKCC 808 may then verify the RKCT for a non-empty UBList[ ]. If one or more entries exist, then for each ID Bearer present in UBList[ ], the IKCC handler 808 may insert DNSSLIST RBS [Index RBS ][Index CELL ].UEList[Index ue ].UBList[Index Bearer ].ID Bearer in the SIDPI_REPORT.
  • the IKCC 808 may then verify the RKCT for a non-empty UASLIST[ ]. If one or more entries exist, then for each Index app in UASLIST[ ], the IKCC handler 808 may insert DNSSLIST RBS [Index RBS ][Index CELL ].UEList[Index ue ].UBList[Index Bearer ]. UASList[Index App ].ID Application , and PacketLossCount(UL/DL) and AvgPacketDelay(UL/DL) from DNSSLIST RBS [Index RBS ][Index CELL ].UEList[Index ue ].
  • UEKPI RBS in SIDPI_REPORT and continue to the next Index App .
  • the IKCC handler 808 may insert the PacketLossCount(UL/DL) and AvgPacketDelay(UL/DL) from DNSSLIST RBS [Index RBS ][Index CELL ].
  • the IKCC handler 808 may insert PacketLossCount(UL/DL) and AvgPacketDelay(UL/DL) from DNSSLIST RB s[Index RBS ][Index CELL ].UEList[Index UE ].UEKPI RBS , in the S1DPI_REPORT and continue to the next ID UE . Further, if the UEList[ ] is empty, the IKCC handler 808 may determine that there is no monitoring required and do not send the S1DPI_REPORT.
  • control logic may further include the steps of pre-configuring list of entities to be monitored at step 1013 , updating list of entities to be monitored at runtime at step 1014 , performing KPI consolidation and aggregation at step 1015 , detecting application session performance at step 1016 , and adapting performance thresholds at step 1017 .
  • OAM may send OAM_UE_MONITOR_LIST_REQ consisting of ID RBS and list of UEID Global to be monitored.
  • the IRKC handler 710 in the DNSS 207 may update ListPreConfiguredUE[ID RBS ][ ] with the received list.
  • the OAM may send OAM_APP_MONITOR_LIST_REQ consisting of ID RBS and CellConfig RBS (s) for the ID RBS .
  • the IRKC handler 710 in the DNSS 207 may update ListPreConfigApps[ID RBS ][ ] with the received list.
  • the IKCC handler 808 may check if RKR has been received. Upon receipt, the IKCC handler 808 may parse the CELLRecord RBS to check the ActiveUE List H and DeaetivatedUE List [ ]. If any additional UE, Bearer or application is added, the ActiveUE List [ ] may be updated and if any UE, Bearer or application is deleted, the DeactivatedUE List [ ] may be updated. If ActiveUE List [ ] is present in RKR, the IKCC handler 808 may fetch the UEID Global for each ID UE and check if the UEID Global is already present in the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ ].
  • the IKCC handler 808 may determine that there has been change in either the bearer list or the applications running in the UE. The IKCC handler 808 may then check if the UBList[ ] is empty. If not, then the IKCC handler 808 may check for every ID Bearer present in the UBList[ ] and compare with the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ]. UBList[ ] so as to determine if all the ID Bearer is present in LIST RBS [Index RBS ][Index CELL ]. LIST_UE ARNSS [ID UE ].UBList[ ].
  • the new bearer may be added for the UE by adding the new ID Bearer in LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].UBList[ ].
  • the IKCC handler 808 may also parse the UASList[ ] for the ID Bearer so as to determine if the UASList[ ] is not empty. If the UASList[ ] is not empty, the IKCC handler 808 may update the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].UBList[ ].UASList[ ] with the received UASList[ ].
  • the IKCC handler 808 may determine that user application (UA) list not found and only Bearer level aggregation may be configured. Further, if Bearer details are not present in the RKR, the aggregation may be only configured at the UE level. Further, if the UBList[ ] is empty, the IKCC handler 808 may determine that it is an invalid entry and may not change LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ ].
  • the IKCC handler 808 may determine that it is a new UE attached to the RBS 201 .
  • the IKCC handler 808 may further determine if the ListPreConfiguredUE[ID RBS ][ ] is empty. If true, the IKCC handler 808 may determine that OAM has not configured any specific list of UE's to be monitored and all UE's are to be monitored. The IKCC handler 808 may then add the UEID Global as a new entry in the LIST RBS [Index RBS ][Index CELL ].LIST_UE ABNSS [ ] The IKCC handler 808 may also create the nested structure of bearer and applications for the UE if present in RKR.
  • the IKCC handler 808 may determine that OAM has preconfigured a list of UE's to be monitored, and only those UE's are to be monitored. The IKCC handler 808 may further parse the ListPreConfiguredUE[ID RBS ][ ] and check if the UEID Global is present in the list.
  • the IKCC handler 808 may add the UEID Global in the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ ] and update the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].UBList[ ] with the bearer list received in RKR. Further, for each ID Bearer in the LIST RB s[Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ]. UBList[ ], the IKCC handler 808 may check if an UE app list is present in the RKR.
  • the IKCC handler 808 may update the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].UBList[ID Bearer ].UASList[ ] with the list present in ListPreConfigApps[ID RBS ][ ]. However, if UE app list is not present, the IKCC handler 808 may update the LIST RBS [Index RBS ][Index CELL ].LIST-UE ARNSS [ID UE ] UBList[ID Bearer ].UASList[ ] with the list present in RKR. Further, if UEID Global is not Bearer, present, the IKCC handler 808 may not add the UEID Global in the IST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ ].
  • the IKCC handler 808 may find the UEID Global for each ID UE and check if the UEID GLOBAL is already present in the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ ] If present, the IKCC handler 808 may check if the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].UBList[ ] includes any entries.
  • the IKCC handler 808 may check, for each ID Bearer , if there are any app entries in LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].UBList[ID Bearer ]. UASList[ID App ] and remove that application entry. However, if there are no entries, IKCC handler 808 may determine that whole bearer is to be removed, and may delete the entry for every ID Bearer present in LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ]. UBList[ID Bearer ].
  • the IKCC handler 808 may Bearer, delete the entry denoted by ID UE , LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ID UE ].
  • the IKCC handler 808 may determine that there is no change in the Active UE/Bearer or application and may read the UEKPI. For every UE present in the UEList[ ], the IKCC handler may check if UBList[ ] is present. If present, the IKCC handler 80 - 8 may determine that Bearer level data is present for each bearer in the UEList[Index UE ].UBList[ ]. Further, the IKCC handler may check if the UEList[Index UE ].UBList[Index Bearer ] include UASList[ ].
  • the IKCC handler 808 may perform aggregation at the user application level. For every entry in UASList[ ], the IKCC handler 808 may update LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ] UBList[Index Bearer ].UASList[Index Application ].UEKPI RBS with the received UEKPI RBS . However, if the same does not include UASList[ ], the IKCC handler 808 may perform aggregation at the bearer level.
  • the IKCC handler 808 may update LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ].UBList [Index Bearer ]UEKPI RBS with the UEKPI RBS received in RKR. Further, if UBList[ ] is not present, the IKCC handler 808 perform aggregation at the UE level. The IKCC handler 808 may then populate LIST RBS [Index RBS ][Index CELL ]LIST_UE ARNSS [Index UE ]. UEKPI RBS with the UEKPI RBS received in the RKR.
  • the IKCC handler 808 may receive both the RKR from IRKC handler 710 and/or S1DPI_REPORT from IS1DPI handler 709 . If the received RKR includes UE specific records, the IKCC handler 808 may check for each ID UE in the RKR. The IKCC handler 808 may then populate the UEID Global , UEID GlobalType , UEID Local , UEMacCrc DL , in LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [ ]. The IKCC handler 808 may then check if the RKR includes UBList[ ].
  • the IKCC handler 808 may populate LIST RBS [Index RBS ][Index CELL ].
  • LIST_UE ARNSS [Index UE ]UBList[ID Bearer ] with ID Bearer , QCI Bearer , TEID UL and TEID DL .
  • the IKCC handler 808 may further check if UASList[ ] is present for the ID Bearer . If true, then, for each ID UEAPP , the IKCC handler 808 may populate ID Application , Name Application and UEKPI RBS as reveived in RKR in the structure LIST RBS [Index RBS ][Index CELL ].
  • LIST_UE ARNSS [Index UE ].
  • UASList[ ] the IKCC handler 808 may populate LIST RBS [Index RBS ][Index CELL ].
  • LIST_UE ARNSS [Index UE ].
  • UEKPI RBS with the UEKPI RBS received for the ID Bearer the IKCC handler 808 may determine that UE specific KPI's are present in the UEKPI RBS structure.
  • the IKCC handler 808 may populate LIST RBS [Index RBS ][Index CELL ]LIST_UE ARNSS [Index UE ].
  • the IKCC handler 808 may determine the complete list of UE's attached with the RBS from the LIST_UE ARNSS [ ]. It should be noted that If ListPreConfigApps[ID RBS ][ ] is not populated by OAM and is populated upon reception of RKR, it may not contain the Threshold ue-app In such case, IKCC handler 808 may send the RBS_APP_THRESHOLD_REQ consisting of ID RBS followed by the list of application ID's to OAM using the DNSS-OAM interface.
  • the OAM may respond with RBS_APP_THRESHOLD_RES containing ID RBS followed by the list of ID UEAPP and THRESHOLD UEAPP .
  • RBS_APP_THRESHOLD_RES Upon reception of RBS_APP_THRESHOLD_RES in IKCC handler 808 , the received values may be stored.
  • the RBS_KPI_CONFIGURATION_REQ may be generated with RBS id , T KPI_GENERATION_INTERVAL , T KPI_COLLECTION_INTERVAL , updated list of KPI's to be monitored, and Attached_Monitor_List ue [ ] including the UE, Bearer and application details.
  • the IKCC handler 808 may update UERecord ARNSS [ ]. If S1DPI_REPORT includes the LIST_UER, then, for each Index UE in LIST_UE[ ], the IKCC handler 808 may check if it includes UBLIST[ ]. If true, then, for each Index Bearer in UBLIST[ ], the IKCC handler 808 may determine if it includes UASLIST[ ]. If true, then, for each Index App in UASLIST[ ], the IKCC handler 808 may update LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ].UBList[Index Bearer ].
  • the IKCC handler 808 may update LIST RBS [Index RBS ][Index CELL ].
  • the IKCC handler 808 may update LIST RBS [Index RBS ][Index CELL ].
  • the performance of the user application session may be quantified as per following logic. All the gathered KPI's from RBS may be first normalized and then multiplied with a corresponding co-efficient. The sum of such multiplied KPI's may then determine the performance.
  • the parameters for calculating the performance indicator may include, but may not be limited to, PdcpBitRate DL , PdcpBitRate UL , PdcpDropRate DL , PdcpLossRate UL , PpdcpDelay UL , RlcDelay DL , MacLossRate DL , PacketLossCountUL, PacketLossCountDL, MacHargReTrans DL , MacSchd DL , MacCqi DL , RlcReTrans DL , AvgPacketDelayUL, and AvgPacketDelayDL.
  • performanceIndicator Calc may be calculated as per equation (6) below:
  • performanceIndicator Calc Co-efficient PDCPBitRateDL *PdcpBitRate DL +Co-efficient PDCPBitRateUL *PdcpBitRate UL +Co-efficient PDCPDropRateDL *PdcpDropRate DL +CO-efficient PdcpLossRateUL *PdcpLossRate UL +Co-efficient PdcpDelayedUL *PpdcpDelay UL +Co-efficient RlcDelayDL *RlcDelay DL +Co-efficient MacLossRateDL *MacLossRate DL +Co-efficient PacketLosscountUL *PacketLossCountUL+Co-efficient PacketLossCountDL *PacketLossCountDL+Co-efficient MacHarqReTransDL *MacHarqReTrans DL +Co-efficient MacSchdDL *MacSchd DL +Co-efficient MacCqiDL *MacCqiDL
  • Co-efficient PDCPBitRateDL Co-efficient PDCPBitRateUL , Co-efficient PDCPDropRateDL , Co-efficient PdcpLossRateUL , Co-efficient PdcpDelayedUL , Co-efficient RlcDelayDL , Co-efficient RlcReTransDL , Co-efficient MacLossRateDL , Co-efficient MacHarqReTransDL , Co-efficient MacSchdDL , Co-efficient MaCqiDL , Co-efficient PacketLossCountUL , Co-efficient PacketLossCountDL ) Co-efficient AvgPacketDelayUL , Co-efficient AvgPacketDelayDL , Co-efficient PacketLossCountUL and Co-efficient PacketLosscountDL are the co-efficient's assigned for corresponding parameters for calculation of the performance indicator.
  • co-efficient x may be calculated based on the ratio of the individual co-efficient's for calculation as per equation (7) below:
  • the ratio of co-efficient of parameters may include Ratio PDCPBitRateD , Ratio PDCPBitRateUL , Ratio PDCPDropRateDL , Ratio PdcpLossRateUL , Ratio PdcpDelayedUL , Ratio RlcDelayDL , Ratio MacLossRateDL , Ratio PacketLossCountUL , Ratio PacketLossCountDL .
  • These ratio may be preconfigured for the RBS and may be configurable by OAM.
  • the co-efficient PDCPBitRateDL may be calculated as per equation (7) as follows:
  • Co-efficient PDCPBitRateDL (Ratio PDCPBitRateDL )/(Ratio PDCPBitRateDL +Ratio PDCPBitRateUL +Ratio PDCPDropRateDL +Ratio PdcpLossRateUL +Ratio PdcpDelayedUL +Ratio RlcDelayDL +Ratio MacLossRateDL +Ratio PacketLossCountUL +Ratio PacketLossCountDL )
  • the IASPD handler 809 may check if it includes UBLIST[ ]. If true, then, for each ID Bearer , the IASPD handler may check if there is a UASLIST[ ]. If true, then, for each ID UEAPP in UASLIST[ ], the IASPD handler 809 may compute the performanceIndicator Calc and save the same in the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ].UBList[Index Bearer ]. UASList[Index UEAPP ].performanceIndicator Calc .
  • the IASPD handler 809 may compute the performanceIndicator Calc and save the same in the LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ]. UBList[Index Bearer ].performanceIndicator Calc . Further, if the UBLIST[ ] is not present, then, the IASPD 809 may determine that Bearer information is not present and hence the UEKPI RBS may be aggregated as per the ID UE .
  • the IASPD 809 may compute, for each ID UE , the performanceIndicator Calc and save the same in LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ].performance Indicator Calc .
  • the IASPD handler 809 may combine ID Ue , TEID ul , TEID dl , ID Bearer and ID application to generate a list of ID application 'S running in the RBS.
  • the IASPD handler 809 may further determine the ID application 'S combined (KPI's) and update Running_Monitor_List app .
  • the IASPD handler 809 may add ID application to the Running_Monitor_List app and then add performanceIndicator Calc for the ID application to the LIST RBS .
  • the IASPD handler 809 may then compare the performanceIndicator Calc for the ID UE or ID Bearer or ID UEAPP with the ThresholdPerformanceIndicator set by the OAM. If performanceIndicator Calc is same or more than ThresholdPerformanceIndicator, the IASPD handler 809 may determine that the Performance is as expected.
  • the IASPD handler 809 may determine if performanceIndicator Calc is less than 1 ⁇ 5th of ThresholdPerformanceIndicator. In such case, based on the co-efficient's assigned for performanceIndicator Calc , a lesser number of parameters may be be monitored.
  • the RBS_RBS_RECONFIG_REQ message may be sent to the DNSS 207 , which may reconfigure RBS 201 with new set of parameters to be monitored.
  • the IASPD handler 809 may modify the T KPI_GENERATION_INTERVAL and send a DNSS_RECONFIGURATION_REQ to reset the T KPI_GENERATION_INTERVAL at the DNSS 207 .
  • the IASPD handler 809 may pre-configure or re-configure the co-efficient ratios.
  • the co-efficient ratios for calculation of performanceIndicator Calc is pre-configured by OAM at the ARNSS 208 .
  • the OAM may send the OAM_ARNSS_CO-EFFICIENT_RATIO_CONFIG message to the IASPD handler 809 .
  • the OAM_ARNSS_CO-EFFICIENT_RATIO_CONFIG may include message type followed by the co-efficient ratios for the monitored parameters.
  • the IASPD handler 809 may update the co-efficient's for calculation of performanceIndicator Calc .
  • the co-efficient ratios and/or thresholds for calculation of performanceIndicator Calc and for comparing performanceIndicator Calc may be re-configured or adapted.
  • control logic may further include the steps of determining aggregated application performance at step 1018 , determining and recommending possible network actions at step 1019 , and analyzing and determining the accuracy of network action performed in previous cycle and suggesting possible adaptations to thresholds at step 1020 .
  • the IASPD handler 809 may determine application session specific performance indicator. For an Index RBS , the IASPD handler 809 may calculate the average performanceIndicator Calc for a user application and update the AGGLIST RBS . Additionally, for every ID APP present in Monitor_List APP[ ] , the IASPD handler 809 may rank the RBS based on the performanceIndicator Calc . The RBS with the highest average performanceIndicator calc for the UE application may get the lowest rank. The calculated values are saved in RankedRBS[ID App ].LISTRBS[ ].
  • Performance_Indicator ue-app is below the Threshold ue-app , for any UE or Bearer or Application, a corrective action may be triggered for the ID UE .
  • the IASPD handler 809 may send GET_UENBRLIST to IRRM handler 509 using MSS-ARNSS interface.
  • the IRRM handler 509 may uses standard method to calculate the neighbor list of the UE with the highest signal strength and may respond via RBS_ANALYTICS_MEASURED_NBR.
  • the RBS_ANALYTICS_MEASURED_NBR may include the ID UE , ID APP followed by Masured Nbr-list of suitable RBS.
  • IRRM handler 509 may compare the list of suitable RBS received in UENBRLIST_INFO to the RankedRBS[ID App ].LISTRBS[ ].
  • the suitable RBS's may be ordered as per the ranks present in RankedRBS[ID App ].LISTRBS[ ].
  • the ICAD handler 810 may then generate RBS_ANALYTICS_SUGGESTIVE_TRIGGER and may send the same to the IRRM handler 509 using MSS-ARNSS interface.
  • the RBS_ANALYTICS_SUGGESTIVE_TRIGGER may include the ID Ue and list of ID RBS's .
  • the IRRM handler 509 may utilize standard methods to determine the possible candidate RBS's(Masured Nbr-list ) to which ID Ue may be handed over. By comparing the average Performance_Indicator ue-app , backhaul throughput and average cell PRB usage, th IRRM handler 509 may determine the MasuredSuitable Nbr-list which is a subset of Masured Nbr-list .
  • ICAd handler 810 may trigger RBS_ANALYTICS_HANDOVER_SUGGESTION towards IRRM 509 .
  • the ICAD handler 810 may start a TIMER HO_COMPLETE_TIMER with the value T HO_COMPLETE_TIMER . It should be noted that the timer may be indexed as per the UE and application. The ICAD handler 810 may then populate LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ].UBList[Index Bearer ].
  • PreHoPreformance Indicator with performanceIndicator Calc may set LIST RBS [Index RBS ][Index CELL ].LIST_UE ARNSS [Index UE ].UBList[Index Bearer ].HoSuggested Flag to 1.
  • the ICAD handler 810 may check if the ID RBS is among one of the ID RBS sent as a suggestion via RBS_ANALYTICS_HANDOVER_SUGGESTION.
  • the ICAD handler 810 may verify if performanceIndicator Calc is better than the threshold set. If the performanceIndicator Calc is not better than the threshold, compare the PreHoPreformance indicator for the same UE before the HO was suggested. As will be appreciated, a better performanceIndicator Calc compared to PreHoPreformance Indicator may suggest partial increase in performance but not the threshold is not met and hence tuning of the co-efficients for calculation of performanceIndicator Calc may be required. In contrast, a worse performanceIndicator Calc compared to PreHoPreformance indicator may suggest degradation of service beyond PreHoPreformance indicator level.
  • the ICAD handler 810 may tune the thresholds for HO or Co-efficient PDCPBitRateDL , Co-efficient PDCPBitRateUL , Co-efficient PDCPDropRateDL , Co-efficient PdcpLossRateUL ) Weihght PdcpDelayedUL , Co-efficient RlcDelayDL , Co-efficient RlcReTransDL ) Co-efficient MacLossRateDL , Co-efficient MacHarqReTransDL , Co-efficient MacSchdDL , CO-efficient MacCqiDL , Co-efficient PacketLossCountUL , Co-efficient PacketLossCountDL , Co-efficient AvgPacketDelayUL and Co-efficient AvgPacketDelayDL or both so as to calculate a PerformanceIndicator Calc better suited for the HO using a standard mechanism. It should be noted that if the performanceIndicator Calc is not better than the performanceIndicator Calc
  • the above described techniques may take the form of computer or controller implemented processes and apparatuses for practicing those processes.
  • the disclosure can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer or controller, the computer becomes an apparatus for practicing the invention.
  • the disclosure may also be embodied in the form of computer program code or signal, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.
  • the computer program code segments configure the microprocessor to create specific logic circuits.
  • Computer system 1101 may be used for implementing components of communication network 100 , the system 200 , and various components of system 300 , 400 , 500 , 600 , 700 , and 800 for processing data packets for transmission in the communication network.
  • Computer system 1101 may include a central processing unit (“CPU” or “processor”) 1102 .
  • Processor 1102 may include at least one data processor for executing program components for executing user- or system-generated requests.
  • a user may include a person, a person using a device such as such as those included in this disclosure, or such a device itself.
  • the processor may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
  • the processor may include a microprocessor, such as AMD Athlon, Duron or Opteron, ARM's application, embedded or secure processors, IBM PowerPC, Intel's Core, Itanium, Xeon, Celeron or other line of processors, etc.
  • the processor 1102 may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some embodiments may utilize embedded technologies likeapplication-specific integrated circuits (ASICs), digital signal processors (DSPs), Field Programmable Gate Arrays (FPGAs), etc.
  • ASICs application-specific integrated circuits
  • DSPs digital signal processors
  • FPGAs Field Programmable Gate Arrays
  • I/O Processor 1102 may be disposed in communication with one or more input/output (I/O) devices via I/O interface 1103 .
  • the I/O interface 1103 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.
  • CDMA code-division multiple access
  • HSPA+ high-speed packet access
  • GSM global system for mobile communications
  • LTE long-term evolution
  • WiMax wireless wide area network
  • the computer system 1101 may communicate with one or more I/O devices.
  • the input device 1104 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc.
  • Output device 1105 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc.
  • video display e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like
  • audio speaker etc.
  • a transceiver 1106 may be disposed in connection with the processor 1102 . The transceiver may facilitate various types of wireless transmission or reception.
  • the transceiver may include an antenna operatively connected to a transceiver chip (e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.
  • a transceiver chip e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like
  • IEEE 802.11a/b/g/n e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like
  • IEEE 802.11a/b/g/n e.g., Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HS
  • the processor 1102 may be disposed in communication with a communication network 1108 via a network interface 1107 .
  • the network interface 1107 may communicate with the communication network 1108 .
  • the network interface may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc.
  • the communication network 1108 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc.
  • the computer system 1101 may communicate with devices 1109 , 1110 , and 1111 .
  • These devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., Apple iPhone, Blackberry, Android-based phones, etc.), tablet computers, eBook readers (Amazon Kindle, Nook, etc.), laptop computers, notebooks, gaming consoles (Microsoft Xbox, Nintendo DS, Sony PlayStation, etc.), or the like.
  • the computer system 1101 may itself embody one or more of these devices.
  • the processor 1102 may be disposed in communication with one or more memory devices (e.g., RAM 1113 , ROM 1114 , etc.) via a storage interface 1112 .
  • the storage interface may connect to memory devices including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-1394, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc.
  • the memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc.
  • the memory devices may store a collection of program or database components, including, without limitation, an operating system 1116 , user interface application 1117 , web browser 1118 , mail server 1119 , mail client 1120 , user/application data 1121 (e.g., any data variables or data records discussed in this disclosure), etc.
  • the operating system 1116 may facilitate resource management and operation of the computer system 1101 .
  • Operating systems include, without limitation, Apple Macintosh OS X, Unix, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc.), IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry OS, or the like.
  • User interface 1117 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities.
  • user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 1101 , such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc.
  • GUIs Graphical user interfaces
  • GUIs may be employed, including, without limitation, Apple Macintosh operating systems' Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc.), or the like.
  • the computer system 1101 may implement a web browser 1118 stored program component.
  • the web browser may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, etc. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), etc. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, application programming interfaces (APIs), etc.
  • the computer system 1101 may implement a mail server 1119 stored program component.
  • the mail server may be an Internet mail server such as Microsoft Exchange, or the like.
  • the mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft .NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, WebObjects, etc.
  • the mail server may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like.
  • IMAP internet message access protocol
  • MAPI messaging application programming interface
  • POP post office protocol
  • SMTP simple mail transfer protocol
  • the computer system 1101 may implement a mail client 1120 stored program component.
  • the mail client may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Mozilla Thunderbird, etc.
  • computer system 1101 may store user/application data 1121 , such as the data, variables, records, etc. (e.g., user data, control data, configuration data, KPI's, performance indicator (e.g., UASP's), ratios, coefficients, thresholds, list of target RBS for handover, and so forth) as described in this disclosure.
  • databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.
  • databases may be implemented using standardized data structures, such as an array, hash, linked list, struct, structured text file (e.g., XML), table, or as object-oriented databases (e.g., using ObjectStore, Poet, Zope, etc.).
  • object-oriented databases e.g., using ObjectStore, Poet, Zope, etc.
  • the techniques described in various embodiments discussed above provide for effective maintenance of user's application specific network service session performances. Such maintenance may be performed by the network service provider so as to ensure customer satisfaction and experience.
  • the network service session performance may be monitored with respect to a specific user equipment or device, a specific radios base station, or a specific application.
  • the techniques provide for determining and recommending appropriate (e.g., corrective) network action based on such monitoring.
  • the appropriate network action may involve performing smart handover for improved service performance in the coverage area.
  • the techniques provide for effective and efficient determination of appropriate network action (e.g., handover) by detecting application session specific service session performance degradation for one or more user equipment in order to improve or maintain application session performance and service quality in the coverage area.
  • a computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored.
  • a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein.
  • the term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.

Abstract

This disclosure relates to method and system for maintaining user application session performances (UASP's) in a wireless communication network. In one embodiment, the method includes determining an aggregate UASP for each user and for each application at a serving base station and at each neighboring base station based on gathered performance data, determining an aggregate application performance level for each application at the serving base station and at each neighboring base station based on the aggregate UASP's for the users at the serving base station and at each of the neighboring base stations respectively, determining an aggregate application performance based on the aggregate application performance levels for the applications at the serving base station and at the neighboring base stations, and maintaining the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the neighboring base stations.

Description

  • This application claims the benefit of Indian Patent Application Serial No. 201841024444 filed Jun. 30, 2018, which is hereby incorporated by reference in its entirety.
  • TECHNICAL FIELD
  • This disclosure relates generally to communication network, and more particularly to a method and system for maintaining user application session performances in a wireless communication network.
  • BACKGROUND
  • The convergence of wireless networks and multimedia communications has resulted in rapid development of various services and increased competition between service providers. This, in turn, has caused a rise in user expectations with respect to wireless network service session performance. In particular, a user would like an increased Quality of Experience (QoE) of user's application session. Thus, user application specific network service session performance improvement has been one of the primary targets for the network service providers or operators. Such improvement typically require gathering of network service session level performance information so as to monitor service performance, assess performance degradation, and recommend corrective action for user specific application sessions.
  • However, existing techniques are limited in monitoring service performance for user specific application sessions. For example, existing techniques are plagued by data flooding and duplication issues and accuracy in key performance indicators (KPI's) generation issues. Data flooding and duplication may lead to delay in identification of relevant packets from collected packets. This may also result in information loss due to buffer-overflow. Additionally, it is not possible to get accurate KPI values without knowing exact number of instances of radio access network (RAN) protocol modules that is running in base station (BS). This is likely to lead to inaccurate KPI generation, which is not representing the appropriate application session level and network service-session level performance. Further, for example, existing techniques do not cater to different monitoring need for application-sessions. In other words, existing techniques are agnostic of user and application session, and monitor performance and collect performance data of application-sessions irrespective of their priorities, user attention level, and current performance level. This may result in ineffective monitoring of poor performing critical application sessions which may need immediate attention at any given moment.
  • Further, existing techniques are limited in assessing performance degradation for user specific application sessions. For example, existing techniques do not provide determination of Quality of Experience (QoE) for user application-session. Additionally, for example, existing techniques do not consider user feedback or user experience in determination of user application session performance, and, therefore, may not accurately represent actual user experience degradation. Further, for example, existing techniques that do provide for determination of subjective QoE (SQoE) as perceived by the end user may either perform incorrect determination of SQoE (in case of non-availability of application session performance information) or delayed determination of SQoE (in case of delayed arrival of application session performance information) due to air interface congestion. Such incorrect determination of SQoE or delayed determination of SQoE may result in ineffective assessment of application session performance.
  • Moreover, existing techniques are limited in recommending corrective action for user specific application sessions. For example, existing techniques do not provide identification of the neighboring cell (target cell) to move relevant users. Additionally, for example, existing techniques that provide for load based handover (LBHO) may not guarantee maintenance of user application session performance. The LBHO to a single random target BS may not be a panacea for all application session performance improvement or for all user applications. The LBHO to the single random target BS may improve some user application session, degrade some user application session, and discontinue some user application sessions. The random selection of one or more user for movement to the target BS with all its application-sessions may not be suitable corrective action for user specific application session performance improvement. On the contrary, such LBHO may degrade SQoE of application sessions with acceptable performance.
  • SUMMARY OF THE INVENTION
  • In one embodiment, a method for maintaining user application session performances (UASP's) in a wireless communication network is disclosed. In one example, the method may include determining an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data. The method may further include determining an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate UASP's for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively. The method may further include determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations. The method may further include maintaining the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
  • In one embodiment, a system for maintaining UASP's in a wireless communication network is disclosed. In one example, the system may include a network device which further includes at least one processor and a memory communicatively coupled to the at least one processor. The memory may store processor-executable instructions, which, on execution, may cause the processor to determine an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data. The processor-executable instructions, on execution, may further cause the processor to determine an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate UASP's for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively. The processor-executable instructions, on execution, may further cause the processor to determine an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations. The processor-executable instructions, on execution, may further cause the processor to maintain the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
  • In one embodiment, a non-transitory computer-readable medium storing computer-executable instructions for maintaining UASP's in a wireless communication network is disclosed. In one example, the stored instructions, when executed by a processor, may cause the processor to perform operations including determining an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data. The operations may further include determining an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate UASP's for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively. The operations may further include determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations. The operations may further include maintaining the UASP's by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
  • It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
  • FIG. 1 illustrates an exemplary communication network architecture in which various embodiments of the present disclosure may function.
  • FIG. 2 is a functional block diagram of an exemplary system for maintaining user application session performances in a communication network, in accordance with some embodiments of the present disclosure.
  • FIG. 3 is a functional block diagram of an exemplary control subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 4 is a functional block diagram of an exemplary radio subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 5 is a functional block diagram of an exemplary management subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 6 is a functional block diagram of an exemplary data subsystem that may be employed in the RBS, in accordance with some embodiments of the present disclosure.
  • FIG. 7 is a functional block diagram of an exemplary data node subsystem that may be employed in the RAS, in accordance with some embodiments of the present disclosure.
  • FIG. 8 is a functional block diagram of an exemplary ARN subsystem that may be employed in the RAS, in accordance with some embodiments of the present disclosure.
  • FIG. 9 is a flow diagram of an exemplary process for maintaining user application session performances in a communication network, in accordance with some embodiments of the present disclosure.
  • FIG. 10 is a flow diagram of a detailed exemplary process for maintaining user application session performances in a communication network, in accordance with some embodiments of the present disclosure.
  • FIG. 11 is a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Exemplary embodiments are described with reference to the accompanying drawings. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
  • Referring now to FIG. 1, an exemplary communication network architecture in which various embodiments of the present disclosure may function is illustrated. The communication network 100 may include one or more user equipment (UE's) 101 communicating wirelessly with various radio access networks. Examples of a UE 101 may include, but are not limited to, a cell phone, a smart phone, a tablet, a phablet, and a laptop. Each of the radio access networks include a number of base stations (BS) 102, each supporting communication for a number of UE′s101 in its coverage area. It should be noted that the coverage area of a BS 102 may be divided into sectors that constitute only a portion of the total coverage area of all the base stations combined. Further, it should be noted that there may be overlapping coverage areas for different radio access networks employing different technologies. A UE 101 may communicate with a BS 102 during downlink (DL) and uplink (UL), using various transmission protocols. The downlink (or forward link) refers to the communication link from the BS 102 to the UE 101, and the uplink (or reverse link) refers to the communication link from the UE 101 to the BS 102.
  • For purpose of illustration, the various radio access networks (RAN's) include, but are not limited to, a GSM EDGE radio access network (GERAN), a UMTS terrestrial radio access network (UTRAN), an evolved UMTS terrestrial radio access network (E-UTRAN), an improved E-UTRAN, and any new radio access networks. A base transceiver station (BTS) and a base station controller (BSC) form the BS 102 for GERAN while a Node B and a radio network controller (RNC) form the BS 102 for UTRAN. Similarly, evolved Node B (eNodeB or eNB) acts as the BS 102 for E-UTRAN i.e., long term evolution (LTE) network, while an improved eNB may act as the BS 102 for improved E-UTRAN i.e., advance LTE. The depicted radio access networks are merely exemplary, and thus it will be understood that the teachings of the disclosure contemplate other existing wireless radio access networks (e.g., worldwide interoperability for microwave access (WiMAX) network, High Speed Packet Access (3GPP's HSPA) network, and so forth) or any new wireless radio access networks that may provide for processing of data packets for transmission, in accordance with embodiments of the present disclosure.
  • Each of the radio access networks may be communicatively coupled with a respective core network, which in turn may communicate with external networks (packet switched networks or circuit switched networks). The core network 103 may include a packet core network which in turn may be communicatively coupled with external packet switched networks (e.g., Internet 104, IP multimedia subsystem (IMS) network 105, or a next generation network (NGN) 105, etc.) or a circuit switched core network which in turn may communicate with external circuit switched networks (e.g., public land mobile network (PLMN) 106, public switched telephone network (PSTN) 106, integrated service digital network (ISDN) 106, etc.).
  • For example, the GERAN and the UTRAN communicate with a circuit switched core network comprising mobile services switching center (MSC), gateway MSC (GMSC), home location register or visitor location register (HLRNLR). The MSC and GMSC serve the UE 101 in its current location for circuit switched services and are responsible for the interworking with external circuit switched networks. In some embodiments, the MSC and GMSC also interwork with external packet switched networks, such as IP multimedia subsystem (IMS) network. For example, the MSC may connect to a media gateway (MGW) of the IMS network. The HLR/VLR is a mobile operator database accessible by MSC and which includes information with respect to users such as phone number, location within home/visiting network, and so forth. Further, the GERAN and the UTRAN also communicate with a packet core that includes serving GPRS support node (SGSN) and gateway GPRS support node (GGSN). As will be appreciated by those skilled in the art, a general packet radio service (GPRS) is a packet-oriented mobile data service that enables 2G and 3G cellular networks to transmit IP packets to external networks such as the Internet. The SGSN is a component of the GPRS network that handles functions related to packet switched data within the network such as packet routing and transfer, mobility management, charging data, authentication of the users, and so forth. Similarly, GGSN is another component of the GPRS network and is responsible for the interworking between the GPRS network and external packet switched networks, such as Internet or IMS network.
  • Similarly, E-UTRAN communicates with an evolved packet core (EPC) that includes a mobility management entity (MME), a serving gateway (SGW), a packet data network gateway (PGW), a policy control and charging rules function (PCRF), and a Home Subscriber Server (HSS). The MME may be responsible for evolved packet system (EPS) session management (ESM), EPS mobility management (EMM), EPS connection management (ECM), non-access stratum, ciphering and integrity protection, inter core network signaling, system architecture evolution (SAE) bearer control, handover, and so forth. The combined functionalities of the SGW and the PGW may include lawful interception (LI), packet routing and forwarding, transport level packet marking in the uplink and the downlink, accounting on user, packet filtering, mobile IP, policy enforcement, and so forth. The PGW further connects the EPC with external packet switched networks such as the Internet or NGN. The PCRF is responsible for policy enforcement decisions as well as for charging functionalities. The HSS is a master user database containing user subscription related information such as user identification, user profile, and so forth. The HSS performs authentication and authorization of the user, and so forth.
  • The NGN 105 or IMS network 105 may include a node (e.g., media gateway controller (MGC) in case of the NGN, or a serving—call session control function (S-CSCF) in case of the IMS networks) that anchors the session and is responsible for session management, routing and control. Additionally, the node may be responsible for control and management of media servers. The NGN 105 or IMS network 105 may further include a media gateway (MGW) that enables multimedia communications across packet-switched and circuit-switched networks by performing conversions between different transmissions and coding techniques. In some embodiments, the NGN 105 or IMS network 105 may also include a signalling gateway that may be used for performing interworking between signalling protocols such as signalling system 7 (SS7) when connecting to PSTN/PLMN networks 106 and IP-based signalling protocols such as SIGTRAN which is supported by the node. It should be noted that, in some embodiments, the NGN 105 or IMS network 105 may also access and use the HSS.
  • As will be appreciated, the communication network 100 may correspond to multiple-access networks capable of supporting multiple users (i.e., UE's 101) by sharing the available network resources (e.g., time, frequency, and power). For example, conventional third generation (3G) and fourth generation (4G) communication networks employ various multiple access techniques, such as code division multiple access (CDMA) in 3G, and frequency division multiple access (FDMA) or time division multiple access (TDMA) in 4G.
  • Further, as will be appreciated, a long term evolution (LTE) network is a 4G wireless communication network, and is an end to end Internet protocol (IP) network supporting only packet switching. The LTE network provides for high sector capacity, improved end-user throughputs, and reduced user plane latency. It therefore provides for significantly improved user experience along with greater mobility. The LTE network includes a number of 4G enabled UE's 101, a number of evolved Node B's (eNB's) as base stations 102, and an evolved packet core (ePC) as core network 103. The user's application data (UAD) are transmitted over Ethernet channels between the ePC and the eNB's, and over air interface between the eNB's and the UE's 101. The data packets are transmitted between the UE's 101 and the eNB's in downlink as well as in uplink using a data packet transmission protocol known as packet data convergence protocol (PDCP), as well as using various other protocols such as radio link control (RLC) protocol, medium access control (MAC) protocol, and so forth. For example, the downlink (DL) data packets flow through the PDCP, RLC and MAC protocol handlers within the eNB while the uplink (UL) data packets flow through the PDCP, RLC and MAC protocol handlers within the UE.
  • The description below describes an LTE network for purposes of example, and LTE terminologies are used in much of the description below. However, as stated above the techniques are applicable beyond LTE networks. Thus, for example, the techniques may be applicable to any wireless communication networks (e.g., GERAN, UTRAN, improved E-UTRAN, etc.) that employ data packet transmission. Thus, the following description provides examples, and is not limiting of the scope, applicability, or configuration set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the spirit and scope of the disclosure. Various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described with respect to certain embodiments may be combined in other embodiments.
  • Referring now to FIG. 2, a functional block diagram of an exemplary system 200, for maintaining user application session performances (UASP's) in the communication network 100 of FIG. 1, is illustrated in accordance with some embodiments of the present disclosure. In particular, the system 200 may include a network device as a part of the communication network 100. For example, the network device may be an exemplary radio base station (RBS) 201 or an exemplary radio analytics system (RAS) 202. The RBS 201 may operate in conjunction with RAS 202 so as to maintain UASP's in the communication network 100, in accordance with some embodiments of the present disclosure. It should be noted that, in some embodiments, the RBS 201 may be an evolved Node B (eNB). Additionally, it should be noted that though the description below focuses on eNB, the description may also be equally applicable to other base station (e.g., Node B) and will follow substantially similar principles with appropriate modifications in the corresponding subsystems.
  • As will be described in greater detail below, the RBS 201 may be responsible for radio resource management, header compression and encryption of user data stream, packet scheduling and transmission, broadcast information transfer, physical layer processing, and so forth. In some embodiments, the RBS 201 may include a control subsystem (CSS) 203, a radio subsystem (RSS) 204, a management subsystem (MSS) 205, and a data subsystem (DSS) 206. Further, as will be described in greater detail below, the RAS 202 may be responsible for distributed information collection at radio access network, consolidation of collected information, analytics of radio access network, and so forth. In some embodiments, the RAS 202 may include a data node subsystem (DNSS) 207 and an analytics and reporting node subsystem (ARNSS) 208.
  • The CSS 203 may be responsible for carrying control messages for UP s and core network, and will be described in greater detail in FIG. 3 below. The RSS 204 may be responsible for radio communication with the UE's through various radio specific elements. As will be appreciated, the RSS 204 may communicate with the UE's through a number of RF Antennas (RF Antenna 0 . . . RF Antenna N). The RSS 204 will be described in greater detail in FIG. 4 below. The MSS 205 may be responsible for system level management of co-channel interference, radio resources, and other radio transmission characteristics in RBS, and will be described in greater detail in FIG. 5 below. The DSS 206 may be responsible for carrying user traffic as well as control messages for UE's in conjunction with CSS 203, and will be described in greater detail in FIG. 6 below. The CSS 203 may configure the DSS 206 using configuration messages. The DNSS 207 may be responsible for tapping the user and signaling data from RBS 201 through one or more interfaces. In particular, the DNSS 207 may intercept and tap user and signaling data, and generate key performance indicators (KPI's). The DNSS 207 will be described in greater detail in FIG. 7 below. The ARNSS 208 may be responsible for consolidating generated KPI's, detecting network service quality, performing decision making, and so forth, and will be described in greater detail in FIG. 8 below.
  • Each of these subsystems 203-208 may interact with each other and with external components through a number of interfaces and data paths. For example, a bidirectional link, U-interface (e.g., S1-U interface interface), connecting the DSS 206 to the serving gateway (SGW) in the EPC may carry the user plane data over the socket interface. A gateway tunneling protocol (GTP-U) may be employed for communication to exchange user data. It should be noted that the user space data may be data packets between multimedia servers or other users and user multimedia applications such as video, VoIP, gaming, etc. Similarly, a bidirectional link, C-interface (e.g., S1-MME interface), connecting the CSS 203 to MME in the EPC may carry the control plane information over the socket interface. A S1 application protocol (S1-AP) may be employed for communication to exchange control data. It should be noted that the control space data may be data packets between packet core/RBS and users and may be responsible for radio connection establishment, mobility management (e.g., mobility handling), and session management (e.g., session establishment & termination). Additionally, a bidirectional link, RBSOAM-interface, connecting the MSS 205 to operations administration and management (OAM) subsystem may carry the management or configuration information over the socket interface. The RBSOAM-interface may be employed to receive management or configuration information from the OAM subsystem and to provide system level feedback to the OAM subsystem. A TR-69 protocol may be employed for communication to exchange management or configuration data. It should be noted that the management or configuration data may be management or configuration information from the OAM subsystem that may be required for configuration or instantiation of RBS 201. Further, a bidirectional link, RASOAM-interface, connecting the DNSS 207 as well as the ARNSS 208 to the OAM subsystem may carry the configuration information over the socket interface. The RASOAM-interface may be employed to receive configuration information from the OAM subsystem. Any IP based protocol may be employed for communication to exchange configuration data. It should be noted that the configuration data may be configuration information from the OAM subsystem that may be required for configuration or instantiation of RAS 202.
  • Further, for example, a bidirectional link, transport path, connecting the DSS 206 with the RSS 204 may carry the user plane data as well as control plane data over the message queues depending on protocols employed (e.g., radio link control (RLC) protocol, packed data convergence protocol (PDCP), and medium access control (MAC) protocol). Similarly, a bidirectional link, control path, connecting the CSS 203 with the RSS 204 may carry control plane information over the message queues using radio resource control (RRC) protocol. It should be noted that, in some embodiments, transport path and control path may be interchangeably used depending on the different protocols employed and messages that they carry. Additionally, a bidirectional link, configuration path, connecting the MSS 205 with the RSS 204 may carry configuration information for the RSS 204 over the message queues. In some embodiments, a Femto API (FAPI) standard may be employed for communication in the above referenced paths. Further, a bidirectional link, CSS-DSS path, connecting the DSS 206 with the CSS 203 may be employed to send and receive control and configuration messages from the CSS 203. Similarly, a bidirectional link, CSS-MSS path, connecting the MSS 205 with the CSS 203 may be employed for sending control instruction and configuration parameters to the CSS 203 and for receiving the system level measurement data from the CSS 203.
  • Moreover, a bidirectional link, DSS-DNSS path, connecting the DSS 206 with the DNSS 207 may be employed to intercept and tap control and user data of the RBS 201 and to send the same to the DNSS 207. It should be noted that the tapping may be employed at different interface level of DSS 206 in case of multi-split deployment scenario of cloud RAN (C-RAN). Further, the DNSS 207 may send the specification for such data collection to the DSS 206 through the DSS-DNSS path. Similarly, a unidirectional link, S1-DNSS path, connecting the S1 interfaces (e.g., S1-U interface and S1-MME interface) with the DNSS 207 may be employed to intercept and tap signaling and user data (i.e., S1 data) being transmitted between the RBS 201 and the core network. As will be described in detail below, the tapped data may be employed to generate KPI's. Additionally, a bidirectional link, MSS-ARNSS path, connecting the MSS 205 with the ARNSS 208 may be employed to send recommended decisions to the MSS 205 for optimization of network resources or for improvement of deteriorated UASP's. Further, a bidirectional link, DNSS-ARNSS path, connecting the DNSS 207 with the ARNSS 208 may be employed to send generated KPI's from the DNSS 207 to the ARNSS 208. Further, the ARNSS may instruct different deep packet inspection (DPI) configurations through the DNSS-ARNSS path.
  • As will be appreciated, during first-time start-up, the system 200 may perform startup initialization by taking latest inputs of configuration parameters (e.g. from management application that may be a part of the MSS 205, the DNSS 207, or the ARNSS 208) and storing a copy of the received configuration parameters in a local memory of the CSS 203, the DNSS 207, or the ARNSS 208. As will be appreciated, the CSS 203 may also configure DSS 206 with the received configuration parameters. During subsequent start-ups, the system 200 may perform reconfiguration of parameters. The system 200 may check if there has been any change in the RBS 201 or the RAS 202 configuration parameters. For example, the system 200 may check if there is any new configuration parameter by checking the existing parameters. The system 200 may also check if any configuration parameter is modified by checking the parameter value. If there is no change in configuration parameters, the system 200 may load configuration parameters from the local memory of CSS 203, the DNSS 207, or the ARNSS 208 for performing configuration. However, if there are changes in the configuration parameters, the CSS 203 may receive configuration information of RBS 201 from remote storage of the management application through the CSS-MSS communication path. Similarly, the DNSS 207 or the ARNSS 208 may receive configuration information of RAS 202 from remote storage of the management application through the RASOAM interface. The CSS 203, the DNSS 207, or the ARNSS 208 may then configure modified parameters in the RBS 201, the DNSS 207, and the ARNSS 208 respectively, and store a copy of updated configuration parameters in the aforementioned local memory of the CSS 203, the DNSS 207, or the ARNSS 208.
  • Referring now to FIG. 3, a functional block diagram of an exemplary control subsystem (CSS) 300 is illustrated, in accordance with some embodiments of the present disclosure. The CSS 300 is analogous to the CSS 203 implemented by the RBS 201 of FIG. 2. The CSS 300 may include a memory block 301 and a processing block 302. The memory block 301 may include a volatile memory 303 and a non-volatile memory 304. The volatile memory 303 in the CSS 300 may store the control data 305 (i.e., data for controlling the radio access and connection between network and UE). For example, the volatile memory may store global UE identification (UEIDGlobal), global UE identification type (UEIDGlobalTyep) received from the IRRC handler as a part of control data, in accordance with some embodiments of the present disclosure. The processing block 302 may use volatile memory path to store and retrieve the control data 305 from the volatile memory 303. The non-volatile memory 304 in the CSS 300 may store the configuration data 306 received from MSS 205, which in turn may store the configuration data received from the OAM. As will be appreciated, the configuration data 306 from the MSS 205 may be employed to configure the CSS 203 to make it operational. The processing block 302 may use non-volatile memory path to store and retrieve configuration data 306 from the non-volatile memory 304. For example, the non-volatile memory 304 may store DSS configuration parameters (e.g., user-application list (APPList[ ]), IP address of DNSS 207 (IPDNSS), port number of DNSS 207 (PORTDNSS), measurement intervals (TSmallestMeasurementInterval)5 and supported KPI list (SupportedKPI[ ]), etc.) received from the IRRC handler as a part of configuration data, in accordance with some embodiments of the present disclosure.
  • The processing block 302 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions. For example, the processing block 302 may include an X2 application protocol (X2AP) handler 307, a S1 application protocol (S1AP) handler 308, and an improved radio resource controller (IRRC) handler 309. The S1AP handler 308 may receive configuration data from the MSS 205 through CSS-MSS interface via the CSS-MSS path. The S1AP handler 308 may then process the configured data and may store it in the non-volatile memory 304. The S1AP handler 308 may further receive control data from packet core (MME) through S1-MME interface in downlink (DL) and from the IRRC handler 309 in uplink (UL). On receiving the data, the S1AP handler 308 may process the data (as per 3GPP TS 36.413 specification) and may perform services and functions that include, but are not limited to, E-RAB configuration, allocation to/release from user-service-context, initial context set-up transfer function, determination of UE capability information, mobility functions, S1 interface establishment and release, NAS signaling transport function, S1 UE context management, and so forth. After processing the received control data packets and performing the desired execution, the S1AP handler 308 may encode the control data packets and may send the same to the IRRC handler 309 in DL and to the packet core (MME) through S1-MME interface in UL. A CSS-DSS interface may be employed to send and receive control and configuration messages to and from the DSS 206 via the CSS-DSS path. As will be appreciated, the DSS configuration message may be enhanced with additional configuration parameters so as to enable DSS perform necessary monitoring of user application sessions. The additional configuration parameters may include, but may not be limited to, APPList[ ], IPDNSS, PORTDNSS, TSmallestMeasurementInterval, SupportedKPI[ ], UEIDGlobal, UEIDGlobalType.
  • The X2AP handler 307 may receive configuration data from the MSS 205 through CSS-MSS interface via the CSS-MSS path. The X2AP handler 307 may then process the configured data and may store it in the non-volatile memory 304. The X2AP handler 307 may further receive control data packets from the IRRC handler 309 in the UL and the DL. The X2AP handler 307 may also receive control data packets through X2 interface from neighboring RBS's. On receiving the control data packets, the X2AP handler 307 may process the data (as per 3GPP TS 36.423 specification) and may perform the services and functions that include, but are not limited to, handover processing, RBS load processing, X2 interface establishment, RBS configuration, and so forth. After processing the received control data packets and performing the desired execution, the X2AP handler 307 may encode the control data packets and may send the same to IRRC handler 309 and to neighboring RBS's through X2 interface.
  • The IRRC handler 309 may receive configuration data from the MSS 205 via the CSS-MSS interface via the CSS-MSS path. The IRRC 309 may then configure itself based on the configuration data, and may send different configuration parameters to the UE's through physical (PHY) interface in DL and to the core network in UL. It should be noted that the PHY interface may include transport channels in the RBS 201 and may perform exchange of messages between the RSS 204 and the CSS 203. The IRRC handler 309 may receive UL control data packets from IRLC handler and IPDCP handler and DL control data packets from S1AP handler 308. On receiving the control data packets, the IRRC handler 309 may process the data (as per 3GPP TS 36.331 specification) and may perform services and functions that include, but are not limited to, system information broadcast for NAS and AS, paging notification, establishment, maintenance and release of an RRC connection between the UE and E-UTRAN, security handling, establishment, configuration, maintenance and release of point to point radio bearers, mobility decision processing, QoS management functions, UE measurement configuration and report handling, NAS message transfer between UE and core network, outer loop power control, and so forth. After processing the received control data packets and performing the desired execution, the IRRC handler 309 may encode the data packets and may send the same to UE handler in DL, to S1AP/X2AP handler through S1-MME interface in UL, and to neighboring RBS's through X2 interface.
  • Additionally, the IRRC handler 309 may perform below mentioned services and functions, in accordance with some embodiments of the present disclosure. The IRRC handler 309 may extract UEIDGlobal and UEIDGlobalType from first message at IRRC handler 309 from UE during attach as well as from handover request message during handover, and may pass the extracted data (i.e., UEIDGlobal and UEIDGlobalType) to the DSS 206 during configuration. Additionally, the IRRC handler 309 may get the IPDNSS and PORTDNSS for DNSS 207 and may pass the same to DSS 206 during configuration stage. Further, the IRRC handler 309 may pass APPList[ ] received from the MSS 205 to the DSS 206. The user-application list may include list of user-application name (NameApplication) and user application identification (IDApplication).
  • Referring now to FIG. 4, a functional block diagram of an exemplary radio subsystem (RSS) 400 is illustrated, in accordance with some embodiments of the present disclosure. The RSS 400 is analogous to the RSS 204 implemented by the RBS 201 of FIG. 2. The RSS 400 may include a PHY handler (not shown), a transport block receiver or handler (TBRH) 401, a configuration handler (CH) 402, a configuration data non-volatile memory block 403, a bit rate processing block (BRPB) 404, a symbol rate processing block (SRPB) 405, and a transceiver 406.
  • The PHY handler may enable exchange of air interface messages between UE's and RBS 400 using PHY protocol. Additionally, the PHY handler may interface with DSS 206 and CSS 203 and may offer data transport services to higher layers. The PHY handler may be responsible for channel coding, PHY hybrid automatic repeat request (HARM) processing, modulation, multi-antenna processing, mapping of the signal to the appropriate physical time-frequency resources, and so forth.
  • The TBRH 401 may receive user data and control streams from the DSS 206 in the form of transport blocks in a communication message over a transport/control interface via the transport/control path. The TBRH 401 may then classify the data as critical and non-critical data and forwards it to the BRPB 404 over a TB path. The TB path may be a uni-directional link connecting the TBRH 401 to the BRPB 404 and may carry the transport block over the message queue interface.
  • The CH 402 may receive configuration messages from the MSS 205 in a communication message over a configuration interface via the configuration path. The CH 402 may then classify and store the configuration information in the configuration data non-volatile memory block 403. The CH 402 may use a unidirectional CH-Non-Volatile memory path to write the configuration parameters to the configuration data non-volatile memory block 403. The configuration data may be stored in the non-volatile memory in the form of structures which may be accessible to rest of the RSS 400 modules.
  • The BRPB 404 may receive the transport blocks from the TBRH 401 in a communication message. The BRPB 404 may then process the received transport blocks as per the 3GPP TS 36.212 standard. For example, the BRBP 404 may calculate the cyclic redundancy check (CRC) and may attach the same to the transport block. If the transport block size is larger than the maximum allowable code block size, such as a block size of 6,144 bits, a code block segmentation may be performed. Consequently, a new CRC may be calculated and attached to each code block before channel encoding (turbo encoding) provides a high-performance forward-error-correction scheme for reliable transmission. The BRBP 404 may further perform rate matching (i.e., puncturing or repetition to match the rate of the available physical channel resource), and HARQ so as to provide a robust retransmission scheme when the user may fail to receive the correct data. Additionally, bit scrambling may be performed after code-block concatenation to reduce the length of strings of 0's or 1's in a transmitted signal to avoid synchronization issues at the receiver before modulation. The code blocks may be forwarded to symbol rate processor over a CB path. The CB path may correspond to a uni-directional link connecting the BRPB 404 to the SRPB 405 and may carry the code words over the message queue interface. A BRPB-Non-Volatile memory path may be employed to connect the BRPB 404 with the non-volatile memory where the configuration data may be stored.
  • The SRPB 405 may receive code blocks in a communication message from BRPB 404 over the CB path. The SRPB 405 may then process the received code blocks as per the 3GPP TS 36.212 standard. For example, the SRPB 405 may process the code blocks by converting them to modulation symbols. It should be noted that various modulation schemes (quadrature phase shift keying (QPSK), 16-quadrature amplitude modulation (16-QAM), or 64-QAM) may be employed. The modulation symbols may then be mapped to layers and precoding supports for multi-antenna transmission. The modulation symbols may be forwarded over a uni-directional high speed modulation symbols path to the transceiver 406 for transmission. A SRPB-Non-Volatile memory path may be employed to connect the SRPB 405 with the non-volatile memory where the configuration data may be stored.
  • The transceiver 406 may receive modulation symbols over the modulation symbols path. The transceiver 406 may then process the received code blocks as per the 3GPP TS 36.212 standard. For example, the transceiver may map the modulation symbols to resource elements for providing orthogonal multiple access (OMA) or non-orthogonal multiple access (NOMA). The resource elements may then be mapped to each antenna port and sent for air transmission through a number of RF Antennas (RF Antenna 0 . . . RF Antenna N).
  • Referring now to FIG. 5, a functional block diagram of an exemplary management subsystem (MSS) 500 is illustrated, in accordance with some embodiments of the present disclosure. The MSS 500 is analogous to the MSS 205 implemented by the RBS 201 of FIG. 2. The MSS 500 may include a memory block 501 and a processing block 502. The memory block 501 may include a volatile memory 503 and a non-volatile memory 504. The volatile memory 503 in the MSS 500 may store the system level measurement data 505 provided by the CSS 203. The measurement data 505 may represent the different measurement metrics collected from UE and calculated by CSS 203, DSS 206, and RSS 204. The measurement data 505 may be used to monitor the prevalent radio network condition so as to take appropriate radio network management decisions. Further, the measurement data 505 may be used to take decision by an improved radio resource management (IRRM) handler as discussed below. The volatile memory 503 may further store ranked neighboring base station list 506 provided by the ARNSS 208. As will be appreciated, the ranked neighboring base station list 506 may include an ordered list of neighboring base stations to determine possible handover candidates. The processing block 502 may use volatile memory path to store and retrieve the measurement data 505 from the volatile memory 503. The non-volatile memory 504 in MSS 500 may store the configuration data 507 received from the OAM via the RBSOAM interface. The configuration data 507 may represent the configuration information from the OAM subsystem towards RBS 201, and may be required for configuration, updating existing configuration, instantiation of RBS 201, and so forth. The processing block 502 may access the configuration data 507 and may configure the CSS 203, the DSS 206, and the RSS 204 through a CSS-MSS Interface. It should be noted that a portion of the non-volatile memory may persist across system-start-up cycles. The processing block 502 may use non-volatile memory path to store and retrieve configuration data 507 from the non-volatile memory 504. As will be appreciated, the CSS-MSS interface may be employed to send control instruction and configuration parameters to CSS 203 and to receive the system level measurement data from CSS 203 via the CSS-MSS path. For example, MSS 500 may receive from the OAM and may provide to the CSS 203, following configuration parameters: APPList[ ], IPDNSS, PORTDNSS, TSmallestMeasurementInterval, SupportedKPI[ ], and so forth.
  • The processing block 502 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions. For example, the processing block 502 may include an improved configuration handler 508 and an IRRM handler 509. The improved configuration handler 508 may handle the overall configuration of the RBS 201. The configuration handler 508 may perform the services and functions, that include, but are not limited to, reception of configuration parameters from OAM and storage of configuration parameters at non-volatile memory during start up, interfacing with the CSS 203, the DSS 206, and the RSS 204, configuration of the CSS 203, the DSS 206, and the RSS 204 with the configuration parameters stored at non-volatile memory, reception of reconfiguration parameters from OAM, reconfiguration of the CSS 203, the DSS 206, and the RSS 204, providing feedback to OAM to help OAM change in any configuration parameter, and so forth. Additionally, the improved configuration handler 508 may send additional configuration parameters for the DSS 206 so as to generate the KPI's of the RAN.
  • The IRRM handler 509 may take management decision to efficiently run the RBS 201. The IRRM handler 509 may include a self-organizing network (SON) submodule 510, an admission control submodule 511, a power control submodule 512, an improved handover control submodule 513, and an interference control submodule 514. The SON submodule 510 may perform various functions to (re)organize the RBS 20.1 in a dynamically changing network topology. These functions include, but are not limited to, physical cell identity (PCI) self-configuration and self-optimization, automatic neighbor relation (ANR) management and X2 link auto creation, cell outage detection, cell coverage optimization, collecting live measurement metrics to provide feedback to the OAM subsystem about current condition of the network, and so forth. It should be noted that any decision is taken based on configuration data and measurement data stored in MSS 205. The admission control submodule 511 may analyze the current network load and the user capability so as to allow the user connectivity into the network. The power control submodule 512 may analyze different network condition to decide on the transmission power that has to be used by the RBS 201. The improved handover control submodule 513 may analyze the measurement data for different neighboring RBS's to decide on the target RBS for the handover purpose. Additionally, the improved handover control submodule 513 may determine a list of neighboring RBS's of the RIBS where the UE is attached (i.e., UE NBR list) upon request from ARNSS 208. As will be appreciated, the UE NBR list include one or more candidate RBS's to which the handover may be triggered. It should be noted that the UE NBR list may not be a ranked list. Additionally, it should be noted that ranking of the UE NBR list may be performed after the execution of at least one round of measurements so as to create a ranked list of neighboring RBS's for possible HO candidates (i.e., ranked target NBR list). Further, it should be noted that the ranking may be refreshed after every measurement and determination of aggregated user application session performance for the serving RBS as well as of its neighboring RBS's. The improved handover control submodule 513 may then perform the UE handover based on the ranked target NBR list sent by the ARNSS 208. The improved handover control submodule 513 may further handle the messages over a MISS-ARNSS interface. It should be noted that the MSS-ARNSS interface may be employed to receive recommended decisions from the ARNSS 208, for optimization of network resources or for improvement of deteriorated UASP's, via the MSS-ARNSS path. The interference control submodule 514 may analyze the measurement data for different neighboring RBS's and reconfigures the RBS to reduce interference from other RBS's.
  • Referring now to FIG. 6, a functional block diagram of an exemplary data subsystem (DSS) 600 is illustrated, in accordance with some embodiments of the present disclosure. The DSS 600 is analogous to the DSS 206 implemented by the RBS 201 of FIG. 2. The DSS 600 may include a memory block 601 and a processing block 602. The memory block 601 may include a volatile memory 603 and a non-volatile memory 604. The volatile memory 603 in the DSS 600 may store the control data 605 (i.e., data for controlling the radio access and connection between network and UE), user data 606 (i.e., data specific to user's application data such as voice), and KPI data 607 (i.e., data specific to KPI of RAN at different aggregation levels such as per UE, per UE's Bearer (UB), per user application (UA), etc.). The processing block 602 may use volatile memory path to store and retrieve the control data 605, the user data 606, and the KPI data from the volatile memory 603.
  • In some embodiments, the KPI data 607 may include user application session specific RAN KPI (CELLRecordRBS), which in turn may include a number of parameters. These parameters may include, but may not be limited to, Cell ID (CEllId), Cell level average PRB usage in DL (CellPrbDL), Cell level average PRB usage in UL (CellPrbUL), Downlink cell level aggregated backhaul throughput (CellThputDL), Uplink cell level aggregated backhaul throughput (CellThputUL), RBS IP Address (IpAddrRBS), Cell level total number of active UE (ActiveUEtotal), Active UE List (ActiveUEList[ ]), and De-active UE List (DeActiveUEList[ ]). The Active UE List (ActiveUEList[ ]) may further include, but may not be limited to, UE Global ID (UEIDGlobal), Type of Global ID (UEIDGlobalType), UE Local ID (UEIDLocal), UE specific CRC error in UL (UEMacCrcDL), UEKPIRBS (if UBList[ ] not present), and UE Bearer list (UBList[ ]). The UE Bearer list (UBList[ ]) may include, but may not be limited to, UE Bearer ID (IDBearer), QCI (QCIBearer), UL TIED (TEIDUL), DL TEID (TEIDDL), UEKPIRBS (ifUASList[ ] is not present), and UE Application List (UASList[ ]). The UE Application List (UASList[ ]) may further include, but may not be limited to, UE APP ID (IDApplication), UE APP Name (NameApplication), and UEKPIRBS. Similarly, the De-active UE List (DeActiveUEList[ ]) may include, but may not be limited to, UE Global ID (UEIDGlobal), and UE Bearer list (UBList[ ]). The UE Bearer list (UBList[ ]) may include, but may not be limited to, UE Bearer ID (IDBearer), and UE Application List (UASList[ ]). The UE Application List (UASList[ ]) may further include, but may not be limited to, UE APP ID (IDApplication), and UE APP Name (NameApplication).
  • Additionally, in some embodiments, the KPI data 607 may include UE KPI (UEKPIRBS) generated at different aggregation levels (UE, User bearer, User application). As will be appreciated, each UE has different level of KPI generation depending on configuration sent by DNSS. It should be noted that, in some embodiments, only one level of KPI generation is active at any given moment for an UE. The UEKPIRBS may usually include, but may not be limited to, DL PDCP SDU bit-rate (PdcpBitRateDL), UL PDCP SDU bit-rate (PdcpBitRateUL), DL PDCP SDU drop rate (PdcpDropRateDL), UL PDCP SDU loss rate ((PdcpLossRateUL), UL PDCP SDU Delay (PpdcpDelayUL), DL PDCP PDU or RLC SDU Delay(RlcDelayDL), DL RLC PDU Retransmission (RlcReTransDL), DL PDCP SDU or MAC PDU loss rate over the air (MacLossRateDL), DL HARQ re-transmission in DL (MacHargReTransDL), MAC scheduling rate in DL(MacSchdDL), CQI in DL(MacCqiDL), PacketLossCount, LastSequenceNo, avgPacketDelay, and so forth.
  • The non-volatile memory 604 in DSS 600 may store the configuration data 608 received from CSS 203. As will be appreciated, the configuration data 608 from the CSS 203 may be employed to configure DSS 206 to make it operational, and to perform maintenance of UASP's in the communication network. It should be noted that a portion of the non-volatile memory can persist across system-start-up cycles. The processing block 602 may use non-volatile memory path to store and retrieve configuration data 608 from the non-volatile memory 604. In some embodiments, the configuration data 608 (CellConfigRBS) may be updated upon receiving RBS_KPI_COLLECTION_TRIGGER from the DNSS 207. It should be noted that the RBS_KPI_COLLECTION_TRIGGER may contain RBS configuration data (CellConfigRBS) for KPI Generation, minimum time required to generate the RAN KPI (TSmallestMeasurementInterval), IP Address (IPDNSS) of DNSS to send the RAN KPI information to RAS, and UDP/TCP port number (PORTDNSS) of DNSS to receive the RAN KPI information. It should be noted that the RBS Configuration Data (CellConfigRBS), as received from ARNSS 208, may include a number of parameters including, but not limited to, RBS CELL ID (CELLID), RBS KPI Generation Timer (TIMERKPI_GENERATION_INTERVAL_CELL), and List of UE's to be monitored (UEList[ ]). The list of UE's to be monitored (UEList[ ]) may further include, but may not be limited to, UE ID (IDUE), UE level KPI Generation Timer (TIMERKPI_GENERATION_INTERVAL_UE), and List of UE Bearer (UBList[ ]). The list of UE Bearer (UBList[ ]) may include, but may not be limited to, UE Bearer ID (IDBearer), Bearer), UE Bearer level KPI Generation Timer (TIMERKPI_GENERATION_INTERVAL_BEARER), and Monitored UE Application List (UASLIST[ ]). Further, the Monitored UE Application List (UASLIST[ ]) may include, but may not be limited to, Monitored Application ID (IDApplication), UE Application level KPI generation timer (TIMERKPI_GENERATION_INTERVAL_APP), and Active KPI parameter list(KPIList[ ]). As will be appreciated, the above mentioned parameters of the RBS Configuration Data (CellConfigRBS) may be repeated if multiple cells are present in the RBS 201.
  • The processing block 602 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions. For example, the processing block 602 may include an improved GTP-U (IGTPU) handler 609, an improved PDCP (IPDCP) handler 610, an improved RLC (IRLC) handler 611, and an improved MAC (IMAC) handler 612. Additionally, the processing block 602 may include a KPI aggregator agent 613, in accordance with some embodiments of the present disclosure. The IGTPU handler 609 may receive configuration data from CSS 203 through a CSS-DSS interface, and may configure itself based on the configuration data. Additionally, the IGTPU handler 609 may receive user data from packet core (e.g., SGW) through S1-U interface in downlink (DL) and from the IPDCP handler 610 in uplink (UL). On receiving the data, the IGTPU handler 609 may process the data as per 3GPP TS 29.281 specification. For example, the IGTPU handler 609 may provide tunnel of user traffic between the RBS 201 and the SGW. After processing the received data packets, the IGTPU handler 609 may send the data packets to SGW through S1-U interface in UL and to IPDCP handler 610 in DL. The CSS-DSS interface may be employed to send and receive control and configuration messages to and from the CSS 203 via the CSS-DSS path. Further, in some embodiments, the IGTPU handler 609 may extract GTPU UL TED (TEIDUL) and GTPU DL TED (TEIDDL) from CSS 203 for the bearer during bearer set-up procedure, and RBS (e.g., eNB) IP address (IpAddrRBS) for any data bearer for a user. The RBS 201 may send the extracted parameters in KPI record to RAS 202, which in turn merge the records with S1-U KPI for a user bearer. Further, in some embodiments, the IGTPU handler 609 may generate the downlink cell level aggregated backhaul throughput (CellThputDL) and uplink cell level aggregated backhaul throughput (CellThputUL).
  • The IPDCP handler 610 may receive configuration data from CSS 203 through CSS-DSS interface, and may configure itself based on the configuration data. The IPDCP handler 610 may further receive control data from CSS 203 in downlink (DL) and from the IRLC handler 611 in uplink (UL). Additionally, the IPDCP handler 610 may receive user data from GTP-U handler 609 in DL and from the IRLC handler 611 in UL. On receiving the data, the IPDCP handler 610 may process the data as per 3GPP TS 36.323 specification. The IPDCP handler 610 may be responsible for header compression of user data in DL, and for header decompression in UL. The IPDCP handler 610 may also be responsible for ciphering and deciphering of user data and control data as well as for integrity protection of control data in DL, and for integrity verification of control data in UL. Further, the IPDCP handler 610 may be responsible for timer based discard of data packets so as to maintain delay sensitivity of data packet. After processing the received data packets, the IPDCP handler 610 may send the control data to CSS 203, and user data to IGTPU handler 609 in UL, and both control data as well as user data to IRLC handler 611 in DL.
  • Further, in some embodiments, the IPDCP handler 610 may perform deep packet inspection (DPI) on data packets and identify application from user packet for uplink (UL) and downlink (DL), in accordance with some embodiments of the present disclosure. The IPDCP handler 610 may then add the metadata about the application which may enable the IRLC handler 611 and IMAC handler 612 to generate application session specific KPI in DL. Additionally, in some embodiments, the IPDCP handler 610 may also receive Global UE ID (UEIDGlobal), Type of Global ID (UEIDGlobalType) (e.g., IMSI, TMSI, or GUTI), UE Local ID (UEIDLocal) [C-RNTI], bearer id (IDBearer), QCIBearer of a bearer, and so forth from the CSS 203 during bearer set up procedure. Further, the IPDCP handler 610 may typically generate various UE application session specific KPI's, in accordance with some embodiments of the present disclosure. These UE application session specific KPI's may include, but may not be limited to, DL PDCP SDU bit-rate (PdcpBitRateDL), UL PDCP SDU bit-rate (PdcpBitRateUL), DL PDCP SDU drop rate (PdcpDropRateDL), UL PDCP SDU loss rate (PdcpLossRateUL), and UL PDCP SDU Delay (PdcpDelayUL).
  • The IRLC handler 611 may receive configuration data from CSS 203 through CSS-DSS interface, and may configure itself based on the configuration data. The IRLC handler 611 may further receive control data and user data from the IMAC handler 612 in uplink (UL) and from the IPDCP handler 610 in downlink (DL). On receiving the data, the IRLC handler 611 may process the data as per 3GPP TS 36.322 specification. The IRLC handler 611 may be responsible for segmentation and concatenation of received data packets in DL, and for re-assembly of received data packets in UL. Additionally, the IRLC handler 611 may detect and discard duplicate data packets received in UL. After processing the received data packets, the IRLC handler 611 may send the data packets to the IPDCP handler 610 in UL, and to the IMAC handler 612 in DL. Further, in some embodiments, the IRLC handler 611 may add UE application specific metadata in RLC PDU, in accordance with some embodiments of the present disclosure. The addition of metadata may enable the IMAC handler 612 to identify the user application to generate user application session specific KPI. Moreover, the IRLC handler 611 may typically generate various UE application session specific KPI's, in accordance with some embodiments of the present disclosure. These UE application session specific KPI's may include, but may not be limited to, DL PDCP PDU/RLC SDU Delay (RlcDelayDL), DL RLC PDU Retransmission (RlcReTransDL).
  • The IMAC handler 612 may receive configuration data from CSS 203 through CSS-DSS interface, and may configure itself based on the configuration data. Additionally, the IMAC handler 612 may receive data from IRLC handler 611 in downlink (DL) and from the RSS 204 in uplink (UL) through PHY interface. The PHY interface may include transport channels and may be responsible for exchange of data between RSS 204 and DSS 206. It should be noted that the PHY interface may be hosted along with IMAC handler 612, IRLC handler 611, and IPDCP handler 610 or separately (e.g., in case of C-RAN) based on deployment scenarios. On receiving the data, the IMAC handler 612 may process the data (as per 3GPP TS 36.321 specification) and may perform services and functions that include, but are not limited to, error correction through HARQ, priority handling between UE's by means of dynamic scheduling, priority handling between logical channels of one UE (i.e., logical channel prioritization), and so forth. Additionally, the IMAC handler 612 may be responsible for multiplexing of data packets received from the IRLC handler 611 onto transport blocks (TB) to be delivered to the RSS 204 on transport channels, and for de multiplexing of received transport blocks (TB) delivered from the RSS 204 on transport channels. After processing the received data packets, the IMAC handler 612 may pass the data packets to the RSS 204 in DL and to IRLC handler 611 in UL. Further, in some embodiments, the IMAC handler 612 may typically generate various UE application session specific KPI's, in accordance with some embodiments of the present disclosure. These UE application session specific KPI's may include, but may not be limited to, DL PDCP SDU/MAC PDU loss rate over the air (MacLossRateDL), DL HARQ re-transmission in DL (MacHarqReTransDL), UE specific CRC error in UL (UEMacCrcDL), UE Application level MAC scheduling rate in DL (MacSchdDL), UE Application level CQI in DL (MacCqiUL), Cell level average PRB usage in DL (CellPrbDL), Cell level average PRB usage in UL (CellPrbUL), and Cell level total number of active UE (ActiveUetotal).
  • The KPI aggregator agent 613 may exchange RAN KPI's capability information with RAS 202 by RBS_CAPABILITY_NOTIFICATION (ECN). The KPI aggregator agent 613 may also receive RAN KPI's generation and aggregation specification from DNSS 207 by RBS_KPI_COLLECTION_TRIGGER (RKCT). The KPI aggregator agent 613 may then configure the IGTPU handler 609, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612 to generate their respective RAN KPI's for the specified duration mentioned in RKCT. As will be appreciated, the IGTPU handler 609, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612 may generate RAN KPI at different aggregation levels (per UE, per UE's Bearer (UB), per User-Application (UA), etc.) The KPI aggregator agent 613 may then send the generated RAN KPI's to the DNSS 207 by RBS_KPI_REPORT (RKR).
  • Referring now to FIG. 7, a functional block diagram of an exemplary data node subsystem (DNSS) 700 is illustrated, in accordance with some embodiments of the present disclosure. The DNSS 700 is analogous to the DNSS 207 implemented by the RAS 202 of FIG. 2. The DNSS 700 may include a memory block 701 and a processing block 702. The memory block 701 may include a volatile memory 703 and a non-volatile memory 704. The volatile memory 703 in the DNSS 700 may store tapped control data 705 and tapped user data 706. The processing block 702 may use volatile memory path to store and access the control data 705 and the user data 706. The processing block 702 may analyze the control data 705 and the user data 706 so as to generate radio and IP/application level KPI's. Further, the volatile memory 703 may store the generated KPI data 707. The processing block 702 may use volatile memory path to store and access the generated KPI data 707. As will be appreciated, the control data 705, the user data 706, and the KPI data 707 has been described above in conjunction with FIG. 6. The non-volatile memory 704 in DNSS 700 may store the configuration data 708 received from OAM through DNSS-OAM interface. As will be appreciated, the configuration data 708 from the OAM may be employed to configure DNSS 207 to make it operational. Further, the non-volatile memory 704 in DNSS 700 may store the configuration data 708 received from ARNSS 208 via DNSS-ARNSS interface. The configuration data 708 from the ARNSS 708 may be employed for analyzing data packets so as to generate KPI's. The processing block 702 may use non-volatile memory path to store and retrieve configuration data 708 from the non-volatile memory 704.
  • In some embodiments, the configuration data 608 may include a number of parameters including, but not limited to, DNSS ID (IDDNSS), IP of the ARNSS (IPARNSS), Port no of the ARNSS (PORTARNSS), the smallest time interval for which RBS can capture the KPI's (TSmallestMeasurementInterval), Interval after which RKCT is sent to RBS (TKPI_COLLECTION_INTERVAL), MaxConfigRetryCount, TRbsKpiConfig, List of CELLRecordRBS Radio Base stations supported by the IDRBS and IDCELL (DNSSLISTRBS [ ][ ]),List of aggregated KPI's for network decision suggestion (AGGRLISTRBS[ ]), List of KPI's RBS is capable of measuring (ListKPI[ ]), Type of packet (UDP/TCP/Others) (TYPEpacket), Source of the LP packet (PACK_IPsrc), Destination of the IP packet (PACK_IPDEST), PacketLossCountUL or PacketLossCountDL (commonly represented as PacketLossCount(UL/DL)), LastSequenceNoUL or LastSequenceNoDL (commonly represented as LastSequenceNo(UL/DL)), or AvgPacketDelayUL or AvgPacketDelayDL (commonly represented as AvgPacketDelay(UL/DL)). It should be noted that if the RBS supports only 1 cell, the DNSSLISTRBS may be a one dimensional array. Further, it should be noted that ListKPI[ ] may be gathered from configuration data in DSS.
  • The processing block 702 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions. For example, the processing block 702 may include an improved S1 DPI (IS1DPI) handler 709 and an improved RBS-KPI collection (IRKC) handler 610. The IS1DPI handler 709 may manage interception and tapping of S1 data. In particular, the IS1DPI handler 709 may receive tapped signaling and user data (i.e., tapped S1 data) flowing between the RBS 201 and the core network through S1-DNSS interface via the S1-DNSS path. Additionally, the IS1DPI handler 709 may receive different level of DPI configurations from ARNSS 208 through a DNSS-ARNSS interface via the DNSS-ARNSS path. The IS1DPI handler 709 may then perform deep packet inspection (DPI) on the received S1 data so as to generate IP/Application level KPI's. The IS1DPI handler 709 may further send the generated KPI's to the ARNSS, for consolidation and decision making, through the DNSS-ARNSS interface via the DNSS-ARNSS path. Further, in some embodiments, the IS1DPI handler 709 may employ DPI to determine the user application session specific KPI's from the received uplink and downlink.
  • The IRKC handler 710 may manage interception and tapping of control and user data of the RBS 201. In particular, the IRKC handler 710 may receive data packets intercepted and tapped from various interfaces of DSS 206 through DSS-DNSS interface via the DSS-DHSS path. As will be appreciated, in some embodiments, the RBS 201 may register itself with RAS 202, which may then configure user application specific KPI generation interval in RBS 201. The RAS 202 may further request the RBS 201 to send the generate KPI's. The RBS 201 may send the generated KPI's to the RAS 202. It should be noted that the IRKC handler 710 may intercept and tap the RBS data by running parallel RAN protocol stack so as to generate high level RAN KPI's. The IRKC handler 710 may then send the generated KPI's to ARNSS 208 for consolidation and decision making. Further, in some embodiments, the IRKC handler 710 may ensure KRI generation in RBS 201 at regular or adaptive intervals as per configuration.
  • Referring now to FIG. 8, a functional block diagram of an exemplary analytics and reporting node subsystem (ARNSS) 800 is illustrated, in accordance with some embodiments of the present disclosure. The ARNSS 800 is analogous to the ARNSS 208 implemented by the RAS 202 of FIG. 2. The ARNSS 800 may include a memory block 801 and a processing block 802. The memory block 801 may include a volatile memory 803 and a non-volatile memory 804. The volatile memory 803 in the ARNSS 800 may store KPI data 805 received from the DNSS 207. The volatile memory 803 may also store decision data 806. The decision data 806 may include current decisions that may be used for future decision for optimization of network resources. The processing block 802 may use volatile memory path to store and access the KPI data 805 and the decision data 806. The non-volatile memory 804 in ARNNSS 800 may store the configuration data 807 received from OAM through ARNSS-OAM interface. As will be appreciated, the configuration data 807 from the OAM may be employed to configure ARNSS 208 to make it operational. Further, the non-volatile memory 804 in ARNSS 800 may store different machine learning models that may be employed for determination and optimization of network or user application performance.
  • In some embodiments, the configuration data 807 may include a number of parameters including, but not limited to, list of DNSS to be supported (ListSupportedDNSS), list of RBS (LISTRBS[IndexRBS][IndexCELL]), complete list of applications to be monitored by ARNSS (ListIDapplication), a parameter quantitatively representing the threshold value for the acceptable application session performance (ListThresholdapp), list of UE's to be monitored via the ARNSS (ListIDUe (IMSI)), ith of Monitor_Listapp[i] containing the ith ListIDapplication[i] and ListThresholdapp[i] (Monitor_Listapp), list containing the UE's to be monitored (Monitor_Listue), default value of TKPI_COLLECTION_INTERVAL (Default KPI_COLLECTION_INTERVAL), default value of TKPI_GENERATION_INTERVAL (DefaultTKPI_GENERATION_INTERVAL), default value of TTIMERKPI_GENERATION_INTERVAL_UE (DefaultTTIMERKPI_GENERATION_INTERVAL_UE), default value of TTIMERKPI_GENERATION_INTERVAL_BEARER (DefaultTTIMERKPI_GENERATION-INTERVAL-BEARER), and default value of the TTIMERKPI_GENERATION_INTERVAL_APP (DefaultTTIMERKPI_GENERATION_INTERVAL_APP) Each entry in ListSupportedDNSS may further include, but may not be limited to unique ID of the DNSS (IDDNSS), IP of the DNSS (IPDNSS), and port number of the DNSS (PORTDNSS). It should be noted that, for every RBS in the LISTRBS[IndexRBS][IndexCELL], the configuration parameters may include UEKPIRBS aggregated at cell level if the KPI metrics is to be calculated at cell level. However, if that is not the case, the configuration parameters may include list of UE's (LIST_UEARNSS[ ]). Additionally, it should be noted that, for every entry in the List_UEARNSS[ ], the configuration parameters may include UEKPIRBS calculated at UE level if the KPI metrics is to be calculated at UE level. However, if that is not the case, the configuration parameters may include list of bearers (UBList[ ]). Further, it should be noted that, for every entry in the UBLIst[ ], the configuration parameters may include UEKPIRBS calculated at UE bearer level if the KPI metrics is to be calculated at UE bearer level. However, if that is not the case, the configuration parameters may include list of UE Application (UASList[ ]). As will be appreciated, initial threshold values in the ListThresholdapp may be derived from historical data. Further, as will be appreciated, ListIDUe (IMSI) may be retrived from HSS. It should be noted that ListIDUe (IMSI) may be optional and all the UEs may be monitored of the same is not provided.
  • The processing block 802 may include a single processor with the multiple partitions or independent processors working in a group and configured to perform various functions. For example, the processing block 802 may include an improved KPI collection and consolidation (IKCC) handler 808, an improved application session performance detection (IASPD) handler 809, and an improved corrective action decision (ICAD) handler 810. The IKCC handler 808 may collect the KPI's from DNSS 207 through the DNSS-ARNSS interface via the DNSS-ARNSS path. In particular, the IKCC handler 808 may receive the radio, IP, and user application KPI's from the DNSS 207. The IKCC handler 808 may then stich and consolidate received KPI's. For example, the IKCC handler 808 may stich and consolidate the KPI's from different sources based on the common identifiers (e.g. UE ID and RBS ID, timer stamp, etc.). Additionally, in some embodiments, the IKCC handler 808 may use RBS ID, application ID, user ID and bearer ID to consolidate records. It should be noted that consolidation of records may form the data for subsequent analysis at IASPD handler 809.
  • The IASPD handler 809 may determine user application session performances (UASP's). In some embodiments, the IASPD handler 809 may determine UASP's based on consolidated KPI's using standard mechanism or stored machine learning model. It should be noted that the UASP's may be aggregated at RBS level, bearer level, or user application level based on the configuration for the RBS. The IASPD handler 809 may also determine radio resource usage patterns from the consolidated KRI's for cell in the communication network. Additionally, in some embodiments, the IASPD handler 809 may determine a rate for collection of KPI's based on an analysis of the collected data.
  • ICAD handler 810 may take the decision and recommend the decision to MSS 205 for optimization of network resource usage or improvement of UASP. For example, the ICAD handler 810 may analyze the trend of UASP's and resource usage pattern of the RBS 201, and the load of neighboring RBS's so to make any decision (i.e., suggest any network actions) for optimization of network resource or improvement of deteriorated UASP's. The ICAD handler 810 may then recommend the decision to MSS 205 through the MSS-ARNSS interface via the MSS-ARNSS data path. In some embodiments, the WAD handler 810 may receive the UE NBR cell list from IRRM handler in the MSS 205. Additionally, in some embodiments, the ICAD handler 810 may receive measured received signal strength indication (RSSI) values of the cell in the UE NBR cell list. The ICAD handler 810 may then recommend the MSS ranked target NBR list for handover. Further, in some embodiments, the ICAD handler 810 may communicate the adaptive rate of collection of KPI's to the RBS 201. Moreover, in some embodiments, the ICAD handler 810 may communicate, if required, the handover preferences based on the aggregated KPI's to IRRM in the MSS 205.
  • It should be noted that, apart from above discussed modules and submodules 300-800, some of the other modules, subsystems, or network elements may have to be modified for processing data packets so as to implement and/or provide maintenance of UASP's in the communication network. For example, network elements responsible for providing configuration parameters (e.g., OAM in MME) or modules responsible for effecting the handover (e.g., transceiver in RSS) may be accordingly modified within some embodiments of the present disclosure.
  • Further, it should be noted that the above discussed subsystems (CSS 300, RSS 400, MSS 500, DSS 600, DNSS 700, ARNSS 800, etc.) and their modules may be implemented in programmable hardware devices such as programmable gate arrays, programmable array logic, programmable logic devices, and so forth. Alternatively, the subsystems and modules may be implemented in software for execution by various types of processors. An identified engine of executable code may, for instance, include one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, function, module, or other construct. Nevertheless, the executables of an identified engine need not be physically located together, but may include disparate instructions stored in different locations which, when joined logically together, include the engine and achieve the stated purpose of the engine. Indeed, an engine of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different applications, and across several memory devices.
  • As will be appreciated by one skilled in the art, a variety of processes may be employed for maintaining user application session performances (UASP's) in a communication network. For example, the exemplary communication network 100 and the associated system 200 may facilitate maintenance of UASP's by the processes discussed herein. In particular, as will be appreciated by those of ordinary skill in the art, control logic and/or automated routines for performing the techniques and steps described herein may be implemented by components of the communication network 100 and the associated system 200, either by hardware, software, or combinations of hardware and software. For example, a suitable code may be accessed and executed by the one or more processors on the system 200 to perform some or all of the techniques described herein. Similarly, application specific integrated circuits (ASICs) configured to perform some or all of the processes described herein may be included in the one or more processors on the system 200. Additionally, it should be noted that though the process described below focuses on eNB, the process may also be equally applicable to other base station (e.g., Node B) and will follow substantially similar principles with appropriate modifications in the corresponding subsystems.
  • For example, referring now to FIG. 9, exemplary control logic 900 for maintaining UASP's in a communication network 100 via a system, such as the system 200, is depicted via a flowchart, in accordance with some embodiments of the present disclosure. As illustrated in the flowchart, the control logic 900 may include the steps of determining an aggregate UASP for each of a plurality of users and for each of a plurality of applications at a serving base station (SBS) and at each of a plurality of neighboring base stations (NBS's) based on gathered performance data at step 901, determining an aggregate application performance level for each of the plurality of applications at the SBS and at each of the plurality of NBS's based on the aggregate UASPs for the plurality of users at the SBS and at each of the plurality of NBS's respectively at step 902, and determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the SBS and at the plurality of NBS's at step 903. The control logic 900 may further include the step of maintaining the UASPs by determining a corrective network action based on an average aggregate application performance at the SBS and at each of the plurality of NBS's at step 904.
  • In some embodiments, determining the aggregate UASP at a given base station (i.e, at the SBS or at one of the NBS's) at step 901 may include the steps of determining a UASP at a core network end of the given base station, determining a UASP at a radio interface end of the given base station, and determining the aggregate UASP at the given base station based on the UASP at the core network end and the UASP at the radio interface end. Additionally, in some embodiments, determining the UASP at the core network end may include the step of determining an association between received packets and a user application session from an uplink packet and a downlink packet using deep packet inspection (DPI). Further, in some embodiments, determining the UASP at the radio interface end may include the step of determining an association between user packets and a user application session using shallow packet inspection. Moreover, in some embodiments, the corrective network action at step 904 may include recommending a handover from SBS to one of the plurality of NBS's based on a comparison among the average aggregate application performances for the SBS and each of the plurality of NBS's.
  • In some embodiments, the control logic 900 may further include the step of adapting gathering of performance data based on an analysis of trend for a pre-defined number of previous aggregate user application session performances. Additionally, in some embodiments, the control logic 900 may further include the step of determining an accuracy of a previous corrective network action based on the aggregate user application session performance. Further, in some embodiments, the control logic 900 may further include the step of updating or providing recommendations for updating, based on the accuracy, a co-efficient or a threshold value for determination of one or more process parameters.
  • Referring now to FIG. 10, exemplary control logic 1000 for processing data packets for maintaining UASP's in a communication network 100 is depicted in greater detail via a flowchart in accordance with some embodiments of the present disclosure. As illustrated in the flowchart, the control logic 1000 may include the steps of initializing and configuring the RBS and the RAS at step 1001, collecting and generating accurate KPI's at step 1002, determining of UASP based on KPI's at step 1003, and determining corrective for maintenance of UASP at step 1004. Each of these steps will be described in greater detail herein below.
  • At step 1001, the control logic may further include the steps of initializing the RBS and the RAS at step 1005, performing capability exchange handshake of RBS with DNSS and ARNSS at step 1006, and performing time synchronization at DNSS at step 1007. At step 1005, the RBS 201 may be initialized as per 3GPP TS 32.851 specification and 3GPP TS 36.331 specification. Further, the KPI aggregator agent 613, DNSS 207, and ARNSS 208 may be configured or initialized, in accordance with some embodiments of the present disclosure.
  • For ARNSS 208 initialization, the IKCC handler 808 in the ARNSS 208 may be spawned and may wait for OAM to send configuration. After the IKCC handler 808 may receive OAM_PRECONFIG_ARNSS_REQUEST containing ListSupportedDNSS[ ] from OAM through ARNSS-OAM interface, the IKCC handler 808 may configure itself as well as the other ARNSS modules. The IKCC handler 808 may further receive the OAM_CONFIG_ARNSS_REQUEST from ARNSS-OAM Interface. The OAM_CONFIG_ARNSS_REQUEST may include the IDARNSS along with the LIST_IDDNSS to be monitored. The OAM_CONFIG_ARNSS_REQUEST may also include, but may not be limited to, DefaultTKPI_COLLECTION_INTERVAL, DefaultTKPI_GENERATION_INTERVAL, DefaultTIMERKPI_GENERATION_INTERVAL_UE, ListThresholdAPP, DefaultTIMERKPI_GENERATION_INTERVAL_BEARER, DefaultTIMERKPI_GENERATION_INTERVAL_APP, ListIDapplication, Monitor_Listapp, and ListIDUE (optional). As state above, if the ListIDUE is empty, it may be assumed that all the UE's are being monitored.
  • Similarly, for DNSS 207 initialization, the IRKC handler 710 in the DNSS 207 may wait for OAM_CONFIG_DNSS_REQUEST from OAM through DNSS-OAM interface. The OAM_CONFIG_DNSS_REQUEST may include, but may not be limited to, IDDNSS, IPARNSS, PORTARNSS, MaxConfigRetryCount, TRbsKpiConfig and DNSSLISTRBS [ ]. Upon receipt, the IRKC handler 710 may configure itself as well as the other DNSS modules. Additionally, the IRKC handler 710 may send the DNSS_ASNSS_LISTRBS_CONFIG_REQUEST to configure the ListRBS in ARNSS.
  • Further, for KPI aggregator agent 613 initialization, the KPI aggregator agent 613 in the DSS 206 may wait for OAM_RBS_KPI_CONFIG_REQUEST containing standard parameters along with IDDNSS, TSmallestMeasurementInterval, IPDNSS and PORTDNSS, IDRBS, CELLID, and standard ListKPI[ ] from CSS-DSS interface to send the KPI's upon generation. As will be appreciated, at this point the cell may become operational and UE's may start to attach to it.
  • At step 1006, the capability notification handshake may be performed. The KPI aggregator agent 613 may send RBS_CAPABILITY_NOTIFICATION using DSS-DNSS interface to DNSS 207. The RBS_CAPABILITY_NOTIFICATION may include, but may not be limited to, IDRBS, TSmallestMeasurementInterval, IDCELL(S), ListKPI[ ], ActiveUEList[ ] and DeActiveUEList[ ] (sans UEKPIRBS). If any change happens to the ActiveUEList[ ] and/or DeActiveUEList[ ], the RBS_CAPABILITY_NOTIFICATION may be generated again so as to update the DNSS (DNSSLISTRBS) and ARNSS (LISTRBS) with updated UE list. It should be noted that the KPI aggregator agent 613 may give precedence to RBS_CAPABILITY_NOTIFICATION to RKR in case the KPI aggregator agent 613 has to send both simultaneously.
  • Further, the IRKC handler 710 in the DNSS 207 may receive RBS_CAPABILITY_NOTIFICATION from the KPI aggregator agent 613. The IRKC handler 710 may then update the DNSSLISTRBS and forward RBS_CAPABILITY_NOTIFICATION to the IKCC handler 808 in the ARNSS 208. The IKCC handler 808 may receive the RBS_CAPABILITY_NOTIFICATION, may update the LISTRBS, and may send DNSS_KPICONFIGURATION_REQ. The DNSS_KPI_CONFIGURATION_REQ may include, but may not be limited to, IDRBS, CELLID(S), TKPI_GENERATION_INTERVAL, TKPI_COLLECTION_INTERVAL, ListKPI[ ], DefaultTIMERKPI_GENERATION_INTERVAL_UE, DefaultTIMERKPI_GENERATION_INTERVAL_BEARER, and DefaultTIMERKPI_GENERATION_INTERVAL_APP using the ARNSS-DNSS interface to DNSS 207. The TKPI_COLLECTION_INTERVAL and TKPI_GENERATION_INTERVAL may be initialized by DefaultTKPI_COLLECTION_INTERVAL and DefaultTKPI_GENERATION_INTERVAL respectively. It should be noted that TKPI_COLLECTION_INTERVAL TKPI_GENERATION_INTERVAL>=TSmallestMeasurementInterval. Additionally, it should be noted that, if the timer values are not following the above relation, the default values may be used instead. Further, it should be noted that the LISTRBS[ ] may be either the complete list received in the RBS_CAPABILITY_NOTIFICATION or a subset of it. Upon reception of the DNSS_KPI_CONFIGURATION_REQ at IRKC handler 710 in DNSS 207, the IRKC handler 710 may update DNSSLISTRBS [IndexRBS].IDRBS with IDRBS, DNSSLISTRBS[IndexRBS][IndexCELL].TKPI_GENERATION_INTERVAL with TKPI_GENERATION_INTERVAL and DNSSLISTRBS[IndexRBS][IndexCELL].TKPI_COLLECTION_INTERVAL with TKPI_COLLECTION_INTERVAL.
  • While AttemptCount is less than MaxConfigRetryCount, the IRKC handler 710 may start timer TIMERRbsKpiconfig with value TRbsKpiConfig to expect RBS_KPI_CONFIG_COMPLETE. Additionally, RBS_KPI_CONFIGURATION_REQ may be sent to RBS with IDRBS, AttemptCount and CellConfigRBS[ ]. If RBS_KPI_CONFIG_COMPLETE consisting of IDRBS and AttemptCountRes, is received at DNSS 207 before the expiry of TIMERRbsKpiconfig and AttemptCount is equal to AttemptCountRes, the IRKC handler 710 may stop the timer and exit loop. However, if TIMERRbsKpiConfig expires before reception of the RBS_KPI_CONFIGURATION_REQ or AttemptCount is not equal to AttemptCountRes, then the IRKC handler 710 may determine if AttemptCount is less than MaxConfigRetryCount. If true (i.e., if AttemptCount<MaxConfigRetryCount), the IRKC handler 710 may increase AttemptCount by 1 and repeat the process by restarting timer TIMERRbsKpiconfig with value TRbsKpiConfig to expect RBS_KPI_CONFIG_COMPLETE. However, if not true (i.e., AttemptCount is not<MaxConfigRetryCount), than the IRKC handler 710 may stop further attempts to configure the RBS and may exit the loop as the maximum number of attempts to configure the RBS has been exhausted.
  • Further, upon receiving RBS_KPI_CONFIGURATION_REQ, the KPI aggregator agent 613 may populate the CellConfigRBS with the parameters received in RBS_KPI_CONFIGURATION_REQ. The KPI aggregator agent 613 may then configure IGTPU handler 609, IPDCP handler 610, IRLC handler 611, and IMAC handler 612 to generate the KPI's as described in CellConfigRBS[ ]. Further, the KPI aggregator agent 613 may validate if the configuration procedure is successful. Upon positive validation, the KPI aggregator 613 may send RBS_KPI_CONFIG_COMPLETE to DNSS 207 using DSS-DNSS interface. It should be noted that RBS_KPI_CONFIG_COMPLETEmay include message type and IDRBS. Upon reception of the RBS_KPI_CONFIG_COMPLETE from multiple RBS's, the IRKC handler 710 in the DNSS 207 may send the DNSS_KPI_CONFIG_COMPLETE to the IKCC 808 handler in the ARNSS 208.
  • At step 1007, system clock of the DNSS 207 may be synchronized with system clock of SGW using standard method (PTP/NTP). Additionally, system clocks of DNSS 207 and RBS 201 may be synchronized using standard method (PTP/NTP). It should be noted that both of the above mentioned time synchronization procedures may be repeated after a re-defined time interval (TRE-Sync), configured by OAM.
  • At step 1002, the control logic may further include the steps of defining KPI aggregation specification at step 1008, triggering measurement of KPI at step 1009, generating KPI for RBS at step 1010, generating KPI for core network packets at step 1011, and publishing the generated KPI for aggregation and decision making at step 1012.
  • At step 1008, the IRRC handler 309 may extract global UE ID and type. Upon reception of first message from the UE or handover message from NBS or EPC, IRRC handler 309 may extract the UEIDGlobal and UEIDGlobalType present in that message. The IRRC handler 309 may then pass UEIDGlobal and UEIDGlobalType along with other standard parameters, while configuring IPDCP handler 610. The IPDCP handler 610 may update identifiers for CELL record and UE record. Further, the IPDCP handler 610 may receive IpAddrRBS and CEllld during configurations by CSS 203, and may update these in CELLRecordRBS[i] during cell configuration. On every UE attach, the CSS 203 may configure IPDCP handler 610, which in turn may update the UEIDGlobal and UEIDGlobalType in UERecordRBS[i] and IDBearer, QCIBearer in UERecordRBS[i].UBList[j]. The IPDCP handler 610 may update the UEIDGlobal in CELLRecordRBS[i].ActiveUEList[i] and IDBearer, QCIBearer in CELLRecordRBS[i].ActiveUEList[j].UBList[k]. Additionally, after configuration by CSS 203, the IGTPU handler 609 may update TEIDUL and TEIDDL in UERecordRBS[i].UBList W. Further, the IPDCP handler 610 may determine the user application name (NameApplication) from the received user packet using standard DPI mechanism by UE/Application IP, port no and content of the received packet. The IPDCP handler 610 may also determine IDApplication against the supported APPList[ ] received during its configuration by CSS 203. It should be noted that APPList[ ] may include list for NameApplication and IDApplication. If NameApplication and IDApplication is not present in UERecordRBS[i].UBList [j].UASList[ ], then the IPDCP handler 610 may update NameApplication and IDApplication in UERecordRBS[i].UBList[i].UASList[j] for UERecordRBS in CELLRecordRBS[i].ActiveUEList[j]. It should be noted that, based on the gathering granularity, UERecordRBS may be at the UE, UE bearer, or UE Bearer Application level. The IPDCP handler 610 may then generate RBS_CAPABILITY_NOTIFICATION to update DNSS about the updated UE list.
  • At step 1009, the IRKC handler 710 may start timer TIMERRbsKpiconfig with value DNSSLISTRBS[IndexRBS][IndexCELL ].T KPI_COLLECTION_INTERVAL for for each IndexCELL in DNSSLISTRBS[IndexRBS][IndexCELL] for each IndexRBS, in DNSSLISTRBs[IndexRBS] in the DNSS 207. The IRKC handler 710 may then create the RBS_KPI_COLLECTION_TRIGGER (RKCT) towards the RBS represented by IndexRBS. If ListPreConfiguredUE[IDRBS][ ] and ListPreConfigApps[IDRBS][ ] are empty, then IRKC handler 710 may populate the list with all the active UE's and all the active applications. Otherwise only populate the RKCT with the active UE's and active applications which are present in the ListPreConfiguredUE[IDRBS][ ] and ListPreConfigApps[IDRBS][ ]. It should be noted that the RKCT may contain DNSSLISTRBS[IndexRBS][IndexCELL].CELLID, DNSSLISTRBS[IndexRBS][IndexCELL] TKPI_GENERATION_INTERVAL and UEList[ ].
  • Further, the IRKC handler 710 may determine if DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[ ] includes one or more entries. If true, then, for every IndexUE present in DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[ ], the IRKC handler 710 may insert the DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[IndexUE].IDUE followed by the UE level KPI Generation Timer. The IRKC handler 710 may then determine if DNSSLISTRBS[IndexRBS] [IndexCELL].ActiveUEList[IndexUE].UBList[ ] includes one or more entries. If true, then, for every active bearer in DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[IndexUE].UBList[ ], the IRKC handler 710 may insert the UE Bearer ID (IDBearer) and the bearer level timer (TIMERKPI_GENERATION_INTERVAL_UB) for the bearer in the RKCT for each entry in the DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[IndexUE].UBList[ ]. The IRKC handler 710 may further determine if DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[IndexUE].UBList[IndexBearer].UASLI ST[ ] include one or more entries. If true, then, the IRKC handler 710 may determine that user application specific KPI collection is required. For every Indexapp, the IRKC handler 710 may insert the UE Application ID (DNSSLISTRBS[IndexRBS][IndexCELL]. ActiveUEList[IndexUE].UBList[IndexBearer].UASLIST[Indexapp].IDApplication) and UE Application level KPI generation timer (DNSSLISTRBS[IndexRBS][IndexCELL]. ActiveUEList[IndexUE].UBList[IndexBearer].UASLIST[Indexapp].TIMERKPI_GENERATION_IN TERVAL_APP). However, if false, then, as per the case, the IRKC handler 710 may continue to the next Bearer in the DNSSLISTRBS[IndexRBS][IndexCELL].ActiveUEList[IndexUE].UBList[ ] or to the next UE in DNSSLISTRBS [IndexRBS][IndexCELL].ActiveUEList[ ] or may not include any UE specific parameters.
  • Upon expiry of the TIMERRbsKpiConfig, the IRKC handler 710 may send the RKCT towards the RBS cell represented by IndexRBS and IndexCELL. The IRKC handler 710 may then continue to the next IndexCELL till all the IndexCELL in DNSSLISTRBS [IndexRBS][IndexCELL] are parsed. Further, the IRKC handler 710 may parse to the next IndexRBS in LISTRBS[IndexRBS]. After parsing all the IndexRBS in DNSSLISTRBS [IndexRBS], the IRKC handler 710 may restart the parsing.
  • At step 1010, the KPI aggregator agent 613 may check the CELLID(s) in RKCT upon reception of RBS_KPI_COLLECTION_TRIGGER (RKCT) using DSS-DNSS interface. If, CELLID matches with Cell-ID(s) configured for the RBS 201, the KPI aggregator agent 613 may continue with the data collection, else the KPI aggregator agent 613 may ignore the message RKCT. For data collection, the KPI aggregator agent 613 may extract the TKPI_GENERATION_INTERVAL as well as other configurations from RKCT. The extracted configuration may be stored in CellConfigRBS. The KPI aggregator agent 613 may then start a timer TIMERKPI_GENERATION_INTERVAL with the value TKPI_GENERATION_INTERVAL and may trigger KPI generation through the IGTPU handler 609, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612. As will be appreciated, the IGTPU handler 609, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612 may generate the individual RBS and/or UE application specific KPI's. Further, the IMAC handler 612 and the IPDCP handler 610 may generate CELLRecordRBS. First, the IMAC handler 612 may generate the CellPrbDL and CellPrbDL for total PRB usage computation and update in CELLRecordRBS[i]. The IPDCP handler 610 may then generate CellThputDL and CellThputUL for data volume computation on per cell basis and update in CELLRecordRBS[i]. The generation of UEKPIRBS may happen in three levels (user level, user bearer level, and user application level) based on request (in RKCT). It should be noted that only one level of UEKPIRBS generation may be possible at any given moment.
  • Further, the KPI aggregator agent 613 may verify presence of UE's in ActiveUEList[ ] of RKCT request. If the KPI aggregator agent 613 may find presence of same UE in the ActiveUEListn of the KPI aggregator agent 613, then further information may need to be extracted from RKCT. The KPI aggregator agent 613 may extract the relevant bearer list (ActiveUEList[i].UBList[ ]) from the RKCT. The KPI aggregator agent 613 may then extract relevant user-application-session-list from the RKCT (ActiveUEList[i].UBList[i].UAList[ ]) for each relevant bearer. Further, the KPI aggregator agent 613 may start timer with duration TIMERKPI_GENERATION_INTERVAL_APPLICATION(i) (received via RKCT), and may generate UEKPIRBS as per following logic:
  • In a loop for per UE per bearer, IF ActiveUEList[i].UBList[] is present in
    parsed request from RKCT:
     In a loop per UE per bearer per application, IF
     ActiveUEList[i].UBList[i].UAList [] is present in parsed request from
     RKCT:
      IF IDApplication retrieved from AciveUEList[i].UBList[i].UASList[i]
      (from RKCT) matches with IDApplication in UERecordRBS[i].UBList
      [i].UASList[]:
       The KPI aggregator agent 613 starts timer for duration
       TIMERKPI_GENERATION_INTERVAL_APPLICATION(i) (received RKCT)
       and generate UEKPIRBS as per following logic:
        On receive of user packet for UEList[i].UBList[i], the
        IPDCP handler 610 determines the IDApplication (i)
        IF determination of IDApplication(i) is successful,
         The IPDCP handler 610 adds IDApplication(i) as meta-
         data to the received packet in downlink;
         The IRLC handler 611 and the IMAC handler uses
         this IDApplication(i) for the received packet to generate
         the user-application specific KPI′s;
         The IMAC handler 612 removes this meta-data
         from the packet before sending it PHY;
         Generate UEKPIRBS (as per logic described in
         Generate UEKPIRBS below) for user-application
         level (i.e., per user per bearer per application)
        ELSE, continue
        ELSE, IF IDBearer retrieved from UEList[i].UBList[i] (from
        RKCT) matches IDBearer in UERecordsList[i].UBList[]
         The KPI aggregator agent 613 starts timer for
         duration TIMERKPI_GENERATION_INTERVAL_Bearer(i)
         (received in RKCT);
         Generate UEKPIRBS (as per logic described in
         Generate UEKPIRBS below) for user-bearer level
         (i.e., per user per bearer)
        ELSE, continue
      ELSE, continue
     ELSE, IF IDUE retrieved from UEList[i] (in RKCT) matches UEIDGlobal
     in UERecordRBS[]
      The KPI aggregator agent 613 starts timer for duration
      TIMERKPI_GENERATION_INTERVAL_UE(i) (received in RKCT);
      Generate UEKPIRBS (as per logic described in Generate UEKPIRBS
      below) for user level (i.e., per user)
     ELSE, continue
    ELSE, continue.
  • Further, the control logic 1000 may generate user application specific KPI's as per logic Generate UEKPIRBS. Based on the requested aggregation level (i.e., ‘1’ for per UE, ‘2’ for per UE per bearer, ‘3’ for per UE per bearer per application, etc.) to generate KPI's, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612 may generate a number of KPI's. For example, based on the configurations present in CellConfigRBS, the IPDCP handler 610 may compute following KPI's, at requested KPI aggregation level: DL PDCP SDU bit-rate (PdcpBitRateDL), DL PDCP SDU drop rate (PdcpDropRateDL), UL PDCP SDU bit-rate (PdcpBitRateUL), and UL PDCP SDU loss rate (PdcpLossRateUL). At a requested KPI aggregation level, the IPDCP handler 610 may then compute UL PDCP SDU Delay (PpdcpDelayUL) as per equation (1) below:

  • (Σ(ArrivalTimeRcvdPSUL(i)−SourceTimePSRcvdUL(i)))/TotalRcvdSDU   Equation (1)
  • where ArrivalTimeRcvdPSUL(i) is arrival time of ‘i’th PDCP SDU at IPDCP handler 610 and SourceTimePSRcvdUL(i) is departing time for ith PDCP SDU from UE PDCP from IPDCP handler 610. It should be noted that TotalRcvdSDU is incremented by one upon receiving of each PDCP SDU at IPDCP handler 610.
  • Additionally, for example, the IRLC handler 611 may generate following KPI at requested KPI aggregation level: DL PDCP PDU/RLC SDU Delay (RlcDelayDL). Further, for example, the IMAC handler 612 may generate following KPI's at requested KPI aggregation level: DL PDCP SDU/MAC PDU loss rate over the air (MacLossRateDL), DL HARQ re-transmission in DL (MacHargReTransDL), UE Application level CQI in DL (MacCqiDL), UE Application level MAC scheduling rate in DL (MacSchdDL). The IMAC handler 611 may also compute UEMacCrcDL per UE as total number of CRC error packets received per requested level. In particular, the UEMacCrcDL may be incremented by one on receipt of each CRC error packet. Further, at a requested KPI aggregation level, the IMAC handler 612 may compute KPI MacSchdDL as a total number of packet scheduling for requested aggregation level by IMAC handler 612. In particular, the MacSchdDL may be incremented by one on each scheduling of a downlink packet for requested aggregation level.
  • Further, if requested aggregation level per user, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612 may update computed UEKPIRBS in ActiveUEList[i]. Alternatively, if requested aggregation level per user per bearer, the IPDCP handler 610, the IRLC handler 611, and the IMAC handler 612 may update computed UEKPIRBS in ActiveUEList[i].UBList [i]. Further, the KPI aggregator agent 613 may extract computed CELLRecordRBS on expiry of CELLRecordRBS KPI generation timer and put it in CellRecordSendReadyList[ ] before sending the same to the DNSS 207. It should be noted that the representation of CellRecordSendReadyList is same as CELLRecordRBS. Similarly, the KPI aggregator agent 613 may extract computed UEKPIRBS on expiry of UEKPIRBS KPI generation timer and put it in UERecordsSendReadyList[ ] before sending the same to the DNSS 207. Again, it should be noted that the representation of UERecordsSendReadyList is same as UERecordRBS. Upon expiry of TIMERKPI_GENERATION_INTERVAL timer, the KPI aggregator agent 613 may prepare the RKR and send it to the DNSS 207 over the DSS-DNSS interface. It should be noted that, the RKR may include IDRBS, CELLID, CellKPIpresent, UEKPIpresent, followed by CELLRecordRBS and/or UERecordRBS. The IRKC handler 710 may check if UE specific KPI is required as per RBS_KPI_COLLECTION_TRIGGER. If required, the IRKC handler 710 may append UEKPIidentifier (which may indicate the start of UE specific parameters for that RBS) to RBS_KPI_REPORT (RKR), followed by IDue and UEKPIRBS defined in memory block of DSS 206. However, if not required, UE specific parameters may not be appended to RKR.
  • At step 1011, the IRKC handler 710 may check if RBS_KPI_COLLECTION_TRIGGER contain the UE list. If UE list is not present, UE application specific KPI's may not be computed. In this case, all the packets arriving via S1-DNS interface for the IDRBS may be rejected. However, if UE list is present in RBS_KPI_COLLECTION_TRIGGER, the IS1DPI handler 709 may start TIMERS1_KPI_GENERATION_INTERVAL with the value TKPI_GENERATION_INTERVAL after IRKC handler 710 sends the RBS_KPI_COLLECTION_TRIGGER. Further, if the packet is intended for an UE that is not being monitored or for an application that is not being monitored, the IRKC handler 710 may discard the packet. Similarly, if the packet is not intended for the RBS 201 being probed, the IRKC handler 710 may discard the packet. The IS1DPI handler 709 may then collect S1U data over S1-DNSS interface till TIMERS1_KPI_GENERATION_INTERVAL expires. In such case, upon reception of the S1U packet data, standard DPI techniques are applied on the received packet in the IS1DPI handler 709 to identify the packet details. It should be noted that, packet details may include, but may not be limited to, TYPEpacket (Application type), SEQNUMBER (of the Application, Bearer, or UE packet), TSENT_TIME, TRECV_TIME, PACK_IPSRC, and PACK_IPDEST, ULTEID, and DLTEID.
  • Further, the IS1DPI handler 709 may check if the IP of the RBS for which the DNSS 207 has sent the RBS_KPI_COLLECTION_TRIGGER matches PACK_IPDEST of the inspected packet from S1-DNS interface, and may determine whether it is uplink packet or downlink packet. The IS1DPI handler 709 may then calculate specific KPI's based on the packet direction. In particular, the IS1DPI handler 709 may find out, by using standard DPI techniques, if the packet is intended for a particular UE and may determine IDUE. Similarly, the IS1DPI handler 709 may find out, by using standard DPI techniques, if the packet is intended for a particular bearer or a particular application and may determine IDS1UBEARER and IDS1UAPP. The IS1DPI handler 709 may also calculate the time delay taken by the received packet TPACK_DELAY assuming the S1U DNSS and RBS clocks are in sync.
  • The IS1DPI handler 709 may then check if the RKCT include UEList[ ] having one or more values. If true, then, for each IDUE in RKCT, the IS1DPI handler 709 may check if the IDUE include one or more UE bearers in UBList[ ]. If true, then for each IDBearer present in the UBList[ ], the IS1DPI handler 709 may check if the IDBearer include one or more IDApp in the RKCT. If there are one or more IDApp in the RKCT, the IS1DPI handler 709 may determine that application specific parameters are being monitored. However, if there are no IDApp in the RKCT, the IS1DPI handler 709 may determine that bearer specific parameters are being monitored. Further, if there are no UE bearers in UBList[ ], the IS1DPI handler 709 may determine that only UE specific KPI's are being monitored. Moreover, if there are no IDUE in the UEList[ ], the IS1DPI handler 709 may determine that UE specific KPI's are not being generated, and, therefore, may ignore the S1U packets from or to the IDRBS.
  • Upon determining that application specific parameters are being monitored, the IS1DPI handler 709 may update PacketLossCount(UL/DL), LastSequenceNo(UL/DL), AvgPacketDelay(UL/DL), etc. in the DNSSLISTREs[IndexRBS] [IndexCELL] ActiveUEList[Indexue].UBList[IndexBearer].UASList[IndexApp].UEKPIRBS structure. The PacketLossCount(UL/DL), may be calculated as per equation (2) below. Additionally, the LastSequenceNo(UL/DL) may be measured by CurrentSEQNUMBER. Further, the AvgPacketDelay(UL/DL) may be calculated as per equation (3) below.

  • (Current PacketLossCount(UL/DL) for the UE or UE Bearer+(CurrentSEQNUMBER−LastSequenceNo))   Equation (2)

  • (T PACK_DELAY+(AvgPacketDelay(UL/DL)×(CurrentSEQNUMBER−1))/CurrentSEQNUMBER   Equation (3)
  • Upon determining that bearer specific parameters are being monitored, the IS1DPI handler 709 may update PacketLossCount(UL/DL), LastSequenceNo(UL/DL), AvgPacketDelay(UL/DL) etc. in the DNSSLISTRBS[IndexRBS][IndexCELL].UEList[Indexue]. UBList[IndexBearer].UEKPIRBS structure. It should be noted that the parameters may be determined in a similar fashion as those for application specific monitoring with the granularity of the measurement of the parameters being per Bearer. Similarly, upon determining that only UE specific KPI's are being monitored, the IS1DPI handler 709 may update PacketLossCount(UL/DL), LastSequenceNo(UL/DL), AvgPacketDelay(UL/DL) etc. in the DNSSLISTRBS[IndexRBS][IndexCELL].UEList[Indexue].UEKPIRBS structure. In this case, the cumulative PacketLossCount(UL/DL), may be calculated as per equation (4) below. Additionally, the LastSequenceNo(UL/DL) may be updated by CurrentSEQNUMBER. Further, the AvgPacketDelay(UL/DL) may be calculated as per equation (5) below.

  • (Current PacketLossCount(UL/DL)+(CurrentSEQNUMBER−LastSequenceNo))   Equation (4)

  • (T PACK_DELAY+(previous AvgPacketDelay(UL/DL)×(CurrentSEQNUMBER−1))/CurrentSEQNUMBER   Equation (5)
  • At step 1012, upon reception of RKR at IRKC handler 710 in the DNSS 206, IRKC handler 710 may process the received RKR and forward the RKR to the IKCC handler 808 in the ARNSS 208. Further, the IS1DPI handler 709 may send the S1DPI_REPORT to the IKCC handler 808 in the ARNSS 208. The IKCC 808 may then verify the RKCT for a non-empty UEList[ ]. If one or more entries exist, then for each IDUE in the UEList[ ], the IKCC handler 808 may insert DNSSLISTREs[IndexRBS][IndexCELL].LISTue[Indexue].IDUE in the S1DPI_REPORT. The IKCC 808 may then verify the RKCT for a non-empty UBList[ ]. If one or more entries exist, then for each IDBearer present in UBList[ ], the IKCC handler 808 may insert DNSSLISTRBS[IndexRBS][IndexCELL].UEList[Indexue].UBList[IndexBearer].IDBearer in the SIDPI_REPORT. The IKCC 808 may then verify the RKCT for a non-empty UASLIST[ ]. If one or more entries exist, then for each Indexapp in UASLIST[ ], the IKCC handler 808 may insert DNSSLISTRBS[IndexRBS][IndexCELL].UEList[Indexue].UBList[IndexBearer]. UASList[IndexApp].IDApplication, and PacketLossCount(UL/DL) and AvgPacketDelay(UL/DL) from DNSSLISTRBS[IndexRBS][IndexCELL].UEList[Indexue]. UBList[IndexBearer].UASList[IndexApp].UEKPIRBS, in SIDPI_REPORT and continue to the next IndexApp. However, if UASLIST[ ] is empty, the IKCC handler 808 may insert the PacketLossCount(UL/DL) and AvgPacketDelay(UL/DL) from DNSSLISTRBS[IndexRBS][IndexCELL]. UEList[Indexue].UBList[IndexBearer]. UEKPIRBS in the S1DPI_REPORT and continue to the next IDBEARER. Similarly, if UBList[ ] is empty, the IKCC handler 808 may insert PacketLossCount(UL/DL) and AvgPacketDelay(UL/DL) from DNSSLISTRBs[IndexRBS][IndexCELL].UEList[IndexUE].UEKPIRBS, in the S1DPI_REPORT and continue to the next IDUE. Further, if the UEList[ ] is empty, the IKCC handler 808 may determine that there is no monitoring required and do not send the S1DPI_REPORT.
  • At step 1003, the control logic may further include the steps of pre-configuring list of entities to be monitored at step 1013, updating list of entities to be monitored at runtime at step 1014, performing KPI consolidation and aggregation at step 1015, detecting application session performance at step 1016, and adapting performance thresholds at step 1017.
  • At step 1013, OAM may send OAM_UE_MONITOR_LIST_REQ consisting of IDRBS and list of UEIDGlobal to be monitored. Upon reception of OAM_UE_MONITOR_LIST_REQ, the IRKC handler 710 in the DNSS 207 may update ListPreConfiguredUE[IDRBS][ ] with the received list. Additionally, the OAM may send OAM_APP_MONITOR_LIST_REQ consisting of IDRBS and CellConfigRBS(s) for the IDRBS. Upon reception of OAM_APP_MONITOR_LIST_REQ, the IRKC handler 710 in the DNSS 207 may update ListPreConfigApps[IDRBS][ ] with the received list.
  • At step 1014, the IKCC handler 808 may check if RKR has been received. Upon receipt, the IKCC handler 808 may parse the CELLRecordRBS to check the ActiveUEListH and DeaetivatedUEList[ ]. If any additional UE, Bearer or application is added, the ActiveUEList[ ] may be updated and if any UE, Bearer or application is deleted, the DeactivatedUEList[ ] may be updated. If ActiveUEList[ ] is present in RKR, the IKCC handler 808 may fetch the UEIDGlobal for each IDUE and check if the UEIDGlobal is already present in the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ]. If the UEIDGlobal is already present, the IKCC handler 808 may determine that there has been change in either the bearer list or the applications running in the UE. The IKCC handler 808 may then check if the UBList[ ] is empty. If not, then the IKCC handler 808 may check for every IDBearer present in the UBList[ ] and compare with the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE]. UBList[ ] so as to determine if all the IDBearer is present in LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS[IDUE].UBList[ ]. If not, the new bearer may be added for the UE by adding the new IDBearer in LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].UBList[ ]. The IKCC handler 808 may also parse the UASList[ ] for the IDBearer so as to determine if the UASList[ ] is not empty. If the UASList[ ] is not empty, the IKCC handler 808 may update the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].UBList[ ].UASList[ ] with the received UASList[ ]. However, if the UASList[ ] is empty, the IKCC handler 808 may determine that user application (UA) list not found and only Bearer level aggregation may be configured. Further, if Bearer details are not present in the RKR, the aggregation may be only configured at the UE level. Further, if the UBList[ ] is empty, the IKCC handler 808 may determine that it is an invalid entry and may not change LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ]. Moreover, if the UEIDGlobal is not present in the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ], the IKCC handler 808 may determine that it is a new UE attached to the RBS 201.
  • The IKCC handler 808 may further determine if the ListPreConfiguredUE[IDRBS][ ] is empty. If true, the IKCC handler 808 may determine that OAM has not configured any specific list of UE's to be monitored and all UE's are to be monitored. The IKCC handler 808 may then add the UEIDGlobal as a new entry in the LISTRBS[IndexRBS][IndexCELL].LIST_UEABNSS[ ] The IKCC handler 808 may also create the nested structure of bearer and applications for the UE if present in RKR. However, if ListPreConfiguredUE[IDRBS][ ] is not empty, the IKCC handler 808 may determine that OAM has preconfigured a list of UE's to be monitored, and only those UE's are to be monitored. The IKCC handler 808 may further parse the ListPreConfiguredUE[IDRBS][ ] and check if the UEIDGlobal is present in the list. If present, the IKCC handler 808 may add the UEIDGlobal in the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ] and update the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].UBList[ ] with the bearer list received in RKR. Further, for each IDBearer in the LISTRBs[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE]. UBList[ ], the IKCC handler 808 may check if an UEapp list is present in the RKR. If present and If ListPreConfigApps[IDRBS][ ] is not empty, the IKCC handler 808 may update the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].UBList[IDBearer].UASList[ ] with the list present in ListPreConfigApps[IDRBS][ ]. However, if UEapp list is not present, the IKCC handler 808 may update the LISTRBS[IndexRBS][IndexCELL].LIST-UEARNSS[IDUE] UBList[IDBearer].UASList[ ] with the list present in RKR. Further, if UEIDGlobal is not Bearer, present, the IKCC handler 808 may not add the UEIDGlobal in the ISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ].
  • Further, if DeactivatedUEList[ ] is present in the RKR, the IKCC handler 808 may find the UEIDGlobal for each IDUE and check if the UEIDGLOBAL is already present in the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ] If present, the IKCC handler 808 may check if the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].UBList[ ] includes any entries. If true, the IKCC handler 808 may check, for each IDBearer, if there are any app entries in LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].UBList[IDBearer]. UASList[IDApp] and remove that application entry. However, if there are no entries, IKCC handler 808 may determine that whole bearer is to be removed, and may delete the entry for every IDBearer present in LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE]. UBList[IDBearer]. Further, if the UEIDGlobal is not present, the IKCC handler 808 may Bearer, delete the entry denoted by IDUE, LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IDUE].
  • Further, if RKR includes both CellKPIpresent and UEKPIpresent and both are set as 1, or if only UEKPIpresent is set as 1, then the IKCC handler 808 may determine that there is no change in the Active UE/Bearer or application and may read the UEKPI. For every UE present in the UEList[ ], the IKCC handler may check if UBList[ ] is present. If present, the IKCC handler 80-8 may determine that Bearer level data is present for each bearer in the UEList[IndexUE].UBList[ ]. Further, the IKCC handler may check if the UEList[IndexUE].UBList[IndexBearer] include UASList[ ]. If so, the IKCC handler 808 may perform aggregation at the user application level. For every entry in UASList[ ], the IKCC handler 808 may update LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE] UBList[IndexBearer].UASList[IndexApplication].UEKPIRBS with the received UEKPIRBS. However, if the same does not include UASList[ ], the IKCC handler 808 may perform aggregation at the bearer level. The IKCC handler 808 may update LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE].UBList [IndexBearer]UEKPIRBS with the UEKPIRBS received in RKR. Further, if UBList[ ] is not present, the IKCC handler 808 perform aggregation at the UE level. The IKCC handler 808 may then populate LISTRBS[IndexRBS][IndexCELL]LIST_UEARNSS[IndexUE]. UEKPIRBS with the UEKPIRBS received in the RKR.
  • At step 1015, the IKCC handler 808 may receive both the RKR from IRKC handler 710 and/or S1DPI_REPORT from IS1DPI handler 709. If the received RKR includes UE specific records, the IKCC handler 808 may check for each IDUE in the RKR. The IKCC handler 808 may then populate the UEIDGlobal, UEIDGlobalType, UEIDLocal, UEMacCrcDL, in LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[ ]. The IKCC handler 808 may then check if the RKR includes UBList[ ]. If true, then, for each IDbearer in the UBList[ ], the IKCC handler 808 may populate LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS[IndexUE]UBList[IDBearer] with IDBearer, QCIBearer, TEIDUL and TEIDDL. The IKCC handler 808 may further check if UASList[ ] is present for the IDBearer. If true, then, for each IDUEAPP, the IKCC handler 808 may populate IDApplication, NameApplication and UEKPIRBS as reveived in RKR in the structure LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS[IndexUE].UBList[IndexBearer].UASList[IndexUA]. However, if UASList[ ] is not present, the IKCC handler 808 may populate LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS[IndexUE]. UBList[IndexBearer]. UEKPIRBS with the UEKPIRBS received for the IDBearer. Further, if the RKR does not include UBList[ ], then the IKCC handler 808 may determine that UE specific KPI's are present in the UEKPIRBS structure. The IKCC handler 808 may populate LISTRBS[IndexRBS][IndexCELL]LIST_UEARNSS[IndexUE].UEKPIRBS with UEKPIRBS received in RKR.
  • However, if the RKR is carrying a cell specific report, the IKCC handler 808 may determine the complete list of UE's attached with the RBS from the LIST_UEARNSS[ ]. It should be noted that If ListPreConfigApps[IDRBS][ ] is not populated by OAM and is populated upon reception of RKR, it may not contain the Thresholdue-appIn such case, IKCC handler 808 may send the RBS_APP_THRESHOLD_REQ consisting of IDRBS followed by the list of application ID's to OAM using the DNSS-OAM interface. The OAM may respond with RBS_APP_THRESHOLD_RES containing IDRBS followed by the list of IDUEAPP and THRESHOLDUEAPP. Upon reception of RBS_APP_THRESHOLD_RES in IKCC handler 808, the received values may be stored. The RBS_KPI_CONFIGURATION_REQ may be generated with RBSid, TKPI_GENERATION_INTERVAL, TKPI_COLLECTION_INTERVAL, updated list of KPI's to be monitored, and Attached_Monitor_Listue[ ] including the UE, Bearer and application details.
  • Further, upon reception of S1DPI_REPORT, the IKCC handler 808 may update UERecordARNSS[ ]. If S1DPI_REPORT includes the LIST_UER, then, for each IndexUE in LIST_UE[ ], the IKCC handler 808 may check if it includes UBLIST[ ]. If true, then, for each IndexBearer in UBLIST[ ], the IKCC handler 808 may determine if it includes UASLIST[ ]. If true, then, for each IndexApp in UASLIST[ ], the IKCC handler 808 may update LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE].UBList[IndexBearer]. UASLIST[IndexAPP] with PacketLossCountUL, PacketLossCountDL, AvgPacketDelayUL and AvgPacketDelayDL. However, if it does not include UASLIST[ ], then, for IndexBearer in UBLIST[ ], the IKCC handler 808 may update LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS [IndexUE].UBList[IndexBearer] with PacketLossCountUL, PacketLossCountDL, AvgPacketDelayUL and AvgPacketDelayDL. Further, if it does not include UBLIST[ ], then the IKCC handler 808 may update LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS [IndexUE] with PacketLossCountUL, PacketLossCountDL, AvgPacketDelayUL and AvgPacketDelayDL.
  • At step 1016, the performance of the user application session (UASP) may be quantified as per following logic. All the gathered KPI's from RBS may be first normalized and then multiplied with a corresponding co-efficient. The sum of such multiplied KPI's may then determine the performance. The parameters for calculating the performance indicator (performanceIndicatorCalc) may include, but may not be limited to, PdcpBitRateDL, PdcpBitRateUL, PdcpDropRateDL, PdcpLossRateUL, PpdcpDelayUL, RlcDelayDL, MacLossRateDL, PacketLossCountUL, PacketLossCountDL, MacHargReTransDL, MacSchdDL, MacCqiDL, RlcReTransDL, AvgPacketDelayUL, and AvgPacketDelayDL. It should be noted that, in some embodiments, some of the parameters may be mandatory parameters and may include PdcpBitRateDL, PdcpBitRateUL, PdcpDropRateDL, PdcpLossRateUL, PpdcpDelayUL, RlcDelayDL, MacLossRateDL, PacketLossCountUL, PacketLossCountDL In some embodiments, performanceIndicatorCalc may be calculated as per equation (6) below:

  • performanceIndicatorCalc=Co-efficientPDCPBitRateDL*PdcpBitRateDL+Co-efficientPDCPBitRateUL*PdcpBitRateUL+Co-efficientPDCPDropRateDL*PdcpDropRateDL+CO-efficientPdcpLossRateUL*PdcpLossRateUL+Co-efficientPdcpDelayedUL*PpdcpDelayUL+Co-efficientRlcDelayDL*RlcDelayDL+Co-efficientMacLossRateDL*MacLossRateDL+Co-efficientPacketLosscountUL*PacketLossCountUL+Co-efficientPacketLossCountDL*PacketLossCountDL+Co-efficientMacHarqReTransDL*MacHarqReTransDL+Co-efficientMacSchdDL*MacSchdDL+Co-efficientMacCqiDL*MacCqiDL+Co-efficientRlcReTransDL*RlcReTransDL+Co-efficientAvgPacketDelayUL*AvgPacketDelayUL+Co-efficientAvgPacketDelayDL*AvgPacketDelayDL   Equation (6)
  • whereas the Co-efficientPDCPBitRateDL, Co-efficientPDCPBitRateUL, Co-efficientPDCPDropRateDL, Co-efficientPdcpLossRateUL, Co-efficientPdcpDelayedUL, Co-efficientRlcDelayDL, Co-efficientRlcReTransDL, Co-efficientMacLossRateDL, Co-efficientMacHarqReTransDL, Co-efficientMacSchdDL, Co-efficientMaCqiDL, Co-efficientPacketLossCountUL, Co-efficientPacketLossCountDL) Co-efficientAvgPacketDelayUL, Co-efficientAvgPacketDelayDL, Co-efficientPacketLossCountUL and Co-efficientPacketLosscountDL are the co-efficient's assigned for corresponding parameters for calculation of the performance indicator.
  • It should be noted that the co-efficientx may be calculated based on the ratio of the individual co-efficient's for calculation as per equation (7) below:

  • Co-efficientx=Ratiox/(Sum of Ratio1 to Ration)   Equation (7)
  • For example, if we are using only the mandatory parameters for calculation, the ratio of co-efficient of parameters may include RatioPDCPBitRateD, RatioPDCPBitRateUL, RatioPDCPDropRateDL, RatioPdcpLossRateUL, RatioPdcpDelayedUL, RatioRlcDelayDL, RatioMacLossRateDL, RatioPacketLossCountUL, RatioPacketLossCountDL. These ratio may be preconfigured for the RBS and may be configurable by OAM. In this case, the co-efficientPDCPBitRateDL may be calculated as per equation (7) as follows:

  • Co-efficientPDCPBitRateDL=(RatioPDCPBitRateDL)/(RatioPDCPBitRateDL+RatioPDCPBitRateUL+RatioPDCPDropRateDL+RatioPdcpLossRateUL+RatioPdcpDelayedUL+RatioRlcDelayDL+RatioMacLossRateDL+RatioPacketLossCountUL+RatioPacketLossCountDL)
  • For each IDUE in LISTRBS[IndexRBS][IndexCELL]. LIST_UEARNSS[ ], the IASPD handler 809 may check if it includes UBLIST[ ]. If true, then, for each IDBearer, the IASPD handler may check if there is a UASLIST[ ]. If true, then, for each IDUEAPP in UASLIST[ ], the IASPD handler 809 may compute the performanceIndicatorCalc and save the same in the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE].UBList[IndexBearer]. UASList[IndexUEAPP].performanceIndicatorCalc. However, if the UASLIST[ ] is not present, then, for each IDBearer, the IASPD handler 809 may compute the performanceIndicatorCalc and save the same in the LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE]. UBList[IndexBearer].performanceIndicatorCalc. Further, if the UBLIST[ ] is not present, then, the IASPD 809 may determine that Bearer information is not present and hence the UEKPIRBS may be aggregated as per the IDUE. The IASPD 809 may compute, for each IDUE, the performanceIndicatorCalc and save the same in LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS [IndexUE].performance IndicatorCalc.
  • Further, if IDUe is in Attached_Monitor_Listue and IDapplication is in Running_Monitor_Listapp, then the IASPD handler 809 may combine IDUe, TEIDul, TEIDdl, IDBearer and IDapplication to generate a list of IDapplication'S running in the RBS. The IASPD handler 809 may further determine the IDapplication'S combined (KPI's) and update Running_Monitor_Listapp. However, if IDUe is in Attached_Monitor_Listue and IDapplication is not present in the Running_Monitor_Listapp, then, the IASPD handler 809 may add IDapplication to the Running_Monitor_Listapp and then add performanceIndicatorCalc for the IDapplication to the LISTRBS. The IASPD handler 809 may then compare the performanceIndicatorCalc for the IDUE or IDBearer or IDUEAPP with the ThresholdPerformanceIndicator set by the OAM. If performanceIndicatorCalc is same or more than ThresholdPerformanceIndicator, the IASPD handler 809 may determine that the Performance is as expected. However, if performanceIndicatorCalc is below the threshold set by OAM, the IASPD handler 809 may determine if performanceIndicatorCalc is less than ⅕th of ThresholdPerformanceIndicator. In such case, based on the co-efficient's assigned for performanceIndicatorCalc, a lesser number of parameters may be be monitored. The RBS_RBS_RECONFIG_REQ message may be sent to the DNSS 207, which may reconfigure RBS 201 with new set of parameters to be monitored. Alternatively, if performanceIndicatorCalc for UE/Bearer/Application is much smaller/greater than the Threshold, then the IASPD handler 809 may modify the TKPI_GENERATION_INTERVAL and send a DNSS_RECONFIGURATION_REQ to reset the TKPI_GENERATION_INTERVAL at the DNSS 207.
  • At step 1017, the IASPD handler 809 may pre-configure or re-configure the co-efficient ratios. The co-efficient ratios for calculation of performanceIndicatorCalc is pre-configured by OAM at the ARNSS 208. The OAM may send the OAM_ARNSS_CO-EFFICIENT_RATIO_CONFIG message to the IASPD handler 809. The OAM_ARNSS_CO-EFFICIENT_RATIO_CONFIG may include message type followed by the co-efficient ratios for the monitored parameters. Upon reception of OAM_ARNSS_CO-EFFICIENT_RATIO_CONFIG, the IASPD handler 809 may update the co-efficient's for calculation of performanceIndicatorCalc. Further, the co-efficient ratios and/or thresholds for calculation of performanceIndicatorCalc and for comparing performanceIndicatorCalc may be re-configured or adapted.
  • At step 1004, the control logic may further include the steps of determining aggregated application performance at step 1018, determining and recommending possible network actions at step 1019, and analyzing and determining the accuracy of network action performed in previous cycle and suggesting possible adaptations to thresholds at step 1020.
  • At step 1018, the IASPD handler 809 may determine application session specific performance indicator. For an IndexRBS, the IASPD handler 809 may calculate the average performanceIndicatorCalc for a user application and update the AGGLISTRBS. Additionally, for every IDAPP present in Monitor_ListAPP[ ], the IASPD handler 809 may rank the RBS based on the performanceIndicatorCalc. The RBS with the highest average performanceIndicatorcalc for the UE application may get the lowest rank. The calculated values are saved in RankedRBS[IDApp].LISTRBS[ ]. If Performance_Indicatorue-app is below the Thresholdue-app, for any UE or Bearer or Application, a corrective action may be triggered for the IDUE. For an IDUE for which performanceIndicatorCalc is below the threshold value, the IASPD handler 809 may send GET_UENBRLIST to IRRM handler 509 using MSS-ARNSS interface. The IRRM handler 509 may uses standard method to calculate the neighbor list of the UE with the highest signal strength and may respond via RBS_ANALYTICS_MEASURED_NBR. In some embodiments, the RBS_ANALYTICS_MEASURED_NBR may include the IDUE, IDAPP followed by MasuredNbr-list of suitable RBS. IRRM handler 509 may compare the list of suitable RBS received in UENBRLIST_INFO to the RankedRBS[IDApp].LISTRBS[ ]. The suitable RBS's may be ordered as per the ranks present in RankedRBS[IDApp].LISTRBS[ ]. The ICAD handler 810 may then generate RBS_ANALYTICS_SUGGESTIVE_TRIGGER and may send the same to the IRRM handler 509 using MSS-ARNSS interface. The RBS_ANALYTICS_SUGGESTIVE_TRIGGER may include the IDUe and list of IDRBS's. The IRRM handler 509 may utilize standard methods to determine the possible candidate RBS's(MasuredNbr-list) to which IDUe may be handed over. By comparing the average Performance_Indicatorue-app, backhaul throughput and average cell PRB usage, th IRRM handler 509 may determine the MasuredSuitableNbr-list which is a subset of MasuredNbr-list. For each RBS in the MasuredSuitableNbr-list received in the RBS_ANALYTICS_MEASURED_NBR, ICAd handler 810 may trigger RBS_ANALYTICS_HANDOVER_SUGGESTION towards IRRM 509.
  • At step 1019, after the HO suggestion is forwarded to IRRM handler 509, the ICAD handler 810 may start a TIMERHO_COMPLETE_TIMER with the value THO_COMPLETE_TIMER. It should be noted that the timer may be indexed as per the UE and application. The ICAD handler 810 may then populate LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE].UBList[IndexBearer]. PreHoPreformanceIndicator with performanceIndicatorCalc and may set LISTRBS[IndexRBS][IndexCELL].LIST_UEARNSS[IndexUE].UBList[IndexBearer].HoSuggestedFlag to 1. Upon reception of the KPI's for the same IDUE, the ICAD handler 810 may check if the IDRBS is among one of the IDRBS sent as a suggestion via RBS_ANALYTICS_HANDOVER_SUGGESTION.
  • At step 1020, if an UE is handed over to a NBS, the ICAD handler 810 may verify if performanceIndicatorCalc is better than the threshold set. If the performanceIndicatorCalc is not better than the threshold, compare the PreHoPreformanceindicator for the same UE before the HO was suggested. As will be appreciated, a better performanceIndicatorCalc compared to PreHoPreformanceIndicator may suggest partial increase in performance but not the threshold is not met and hence tuning of the co-efficients for calculation of performanceIndicatorCalc may be required. In contrast, a worse performanceIndicatorCalc compared to PreHoPreformanceindicator may suggest degradation of service beyond PreHoPreformanceindicator level. In either of the above cases, the ICAD handler 810 may tune the thresholds for HO or Co-efficientPDCPBitRateDL, Co-efficientPDCPBitRateUL, Co-efficientPDCPDropRateDL, Co-efficientPdcpLossRateUL) WeihghtPdcpDelayedUL, Co-efficientRlcDelayDL, Co-efficientRlcReTransDL) Co-efficientMacLossRateDL, Co-efficientMacHarqReTransDL, Co-efficientMacSchdDL, CO-efficientMacCqiDL, Co-efficientPacketLossCountUL, Co-efficientPacketLossCountDL, Co-efficientAvgPacketDelayUL and Co-efficientAvgPacketDelayDL or both so as to calculate a PerformanceIndicatorCalc better suited for the HO using a standard mechanism. It should be noted that if the performanceIndicatorCalc is not better than the threshold, the goal for improved performance may not be achieved.
  • As will be also appreciated, the above described techniques may take the form of computer or controller implemented processes and apparatuses for practicing those processes. The disclosure can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer or controller, the computer becomes an apparatus for practicing the invention. The disclosure may also be embodied in the form of computer program code or signal, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
  • The disclosed methods and systems may be implemented on a conventional or a general-purpose computer system, such as a personal computer (PC) or server computer. Referring now to FIG. 11, a block diagram of an exemplary computer system 1101 for implementing embodiments consistent with the present disclosure is illustrated. Variations of computer system 1101 may be used for implementing components of communication network 100, the system 200, and various components of system 300, 400, 500, 600, 700, and 800 for processing data packets for transmission in the communication network. Computer system 1101 may include a central processing unit (“CPU” or “processor”) 1102. Processor 1102 may include at least one data processor for executing program components for executing user- or system-generated requests. A user may include a person, a person using a device such as such as those included in this disclosure, or such a device itself. The processor may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc. The processor may include a microprocessor, such as AMD Athlon, Duron or Opteron, ARM's application, embedded or secure processors, IBM PowerPC, Intel's Core, Itanium, Xeon, Celeron or other line of processors, etc. The processor 1102 may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some embodiments may utilize embedded technologies likeapplication-specific integrated circuits (ASICs), digital signal processors (DSPs), Field Programmable Gate Arrays (FPGAs), etc.
  • Processor 1102 may be disposed in communication with one or more input/output (I/O) devices via I/O interface 1103. The I/O interface 1103 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.
  • Using the I/O interface 1103, the computer system 1101 may communicate with one or more I/O devices. For example, the input device 1104 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc. Output device 1105 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc. In some embodiments, a transceiver 1106 may be disposed in connection with the processor 1102. The transceiver may facilitate various types of wireless transmission or reception. For example, the transceiver may include an antenna operatively connected to a transceiver chip (e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.
  • In some embodiments, the processor 1102 may be disposed in communication with a communication network 1108 via a network interface 1107. The network interface 1107 may communicate with the communication network 1108. The network interface may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. The communication network 1108 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc. Using the network interface 1107 and the communication network 1108, the computer system 1101 may communicate with devices 1109, 1110, and 1111. These devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., Apple iPhone, Blackberry, Android-based phones, etc.), tablet computers, eBook readers (Amazon Kindle, Nook, etc.), laptop computers, notebooks, gaming consoles (Microsoft Xbox, Nintendo DS, Sony PlayStation, etc.), or the like. In some embodiments, the computer system 1101 may itself embody one or more of these devices.
  • In some embodiments, the processor 1102 may be disposed in communication with one or more memory devices (e.g., RAM 1113, ROM 1114, etc.) via a storage interface 1112. The storage interface may connect to memory devices including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-1394, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc.
  • The memory devices may store a collection of program or database components, including, without limitation, an operating system 1116, user interface application 1117, web browser 1118, mail server 1119, mail client 1120, user/application data 1121 (e.g., any data variables or data records discussed in this disclosure), etc. The operating system 1116 may facilitate resource management and operation of the computer system 1101. Examples of operating systems include, without limitation, Apple Macintosh OS X, Unix, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc.), IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry OS, or the like. User interface 1117 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 1101, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical user interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems' Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc.), or the like.
  • In some embodiments, the computer system 1101 may implement a web browser 1118 stored program component. The web browser may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, etc. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), etc. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, application programming interfaces (APIs), etc. In some embodiments, the computer system 1101 may implement a mail server 1119 stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft .NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, WebObjects, etc. The mail server may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like. In some embodiments, the computer system 1101 may implement a mail client 1120 stored program component. The mail client may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Mozilla Thunderbird, etc.
  • In some embodiments, computer system 1101 may store user/application data 1121, such as the data, variables, records, etc. (e.g., user data, control data, configuration data, KPI's, performance indicator (e.g., UASP's), ratios, coefficients, thresholds, list of target RBS for handover, and so forth) as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase. Alternatively, such databases may be implemented using standardized data structures, such as an array, hash, linked list, struct, structured text file (e.g., XML), table, or as object-oriented databases (e.g., using ObjectStore, Poet, Zope, etc.). Such databases may be consolidated or distributed, sometimes among the various computer systems discussed above in this disclosure. It is to be understood that the structure and operation of the any computer or database component may be combined, consolidated, or distributed in any working combination.
  • The techniques described in various embodiments discussed above provide for effective maintenance of user's application specific network service session performances. Such maintenance may be performed by the network service provider so as to ensure customer satisfaction and experience. The network service session performance may be monitored with respect to a specific user equipment or device, a specific radios base station, or a specific application. Further, in some embodiments, the techniques provide for determining and recommending appropriate (e.g., corrective) network action based on such monitoring. For example, the appropriate network action may involve performing smart handover for improved service performance in the coverage area. In other words, the techniques provide for effective and efficient determination of appropriate network action (e.g., handover) by detecting application session specific service session performance degradation for one or more user equipment in order to improve or maintain application session performance and service quality in the coverage area. This is enabled by on-time and accurate information collection (UE, application, session), prediction of performance exception based on MoS threshold or configuration, and recommending appropriate corrective action (adjustment of specific (UE, application, session) collection frequency, or determination of appropriate neighboring base station for handover).
  • The specification has described system and method for maintaining user application session performances in a wireless communication network. The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
  • Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
  • Although preferred embodiments have been depicted and described in detail herein, it will be apparent to those skilled in the relevant art that various modifications, additions, substitutions, and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the claims which follow.

Claims (20)

What is claimed is:
1. A method of maintaining user application session performances in a wireless communication network, the method comprising:
determining, by a network device in the wireless communication network, an aggregate user application session performance for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data;
determining, by the network device, an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate user application session performances for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively;
determining, by the network device, an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations; and
maintaining, by the network device, the user application session performances by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
2. The method of claim 1, wherein determining the aggregate user application session performance at a given base station comprises:
determining a user application session performance at a core network end of the given base station;
determining a user application session performance at a radio interface end of the given base station; and
determining the aggregate user application session performance at the given base station based on the user application session performance at the core network end and the user application session performance at the radio interface end.
3. The method of claim 2, wherein determining the user application session performance at the core network end comprises determining an association between received packets and a user application session from an uplink packet and a downlink packet using deep packet inspection.
4. The method of claim 2, wherein determining the user application session performance at the radio interface end comprises determining an association between user packets and a user application session using shallow packet inspection.
5. The method of claim 1, wherein the corrective network action comprises recommending a handover from the serving base station to one of the plurality of neighboring base stations based on a comparison among the average aggregate application performances for the serving base station and each of the plurality of neighboring base stations.
6. The method of claim 1, further comprising adapting gathering of performance data based on an analysis of trend for a pre-defined number of previous aggregate user application session performances.
7. The method of claim 1, further comprising determining an accuracy of a previous corrective network action based on the aggregate user application session performance.
8. The method of claim 7, further comprising updating or providing recommendations for updating, based on the accuracy, a co-efficient or a threshold value for determination of one or more process parameters.
9. A system for maintaining user application session performances in a wireless communication network, the system comprising:
a network device comprising at least one processor and a computer-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
determining an aggregate user application session performance for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data;
determining an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate user application session performances for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively;
determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations; and
maintaining the user application session performances by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
10. The wireless communication network system of claim 9, wherein determining the aggregate user application session performance at a given base station comprises:
determining a user application session performance at a core network end of the given base station;
determining a user application session performance at a radio interface end of the given base station; and
determining the aggregate user application session performance at the given base station based on the user application session performance at the core network end and the user application session performance at the radio interface end.
11. The wireless communication network system of claim 10, wherein determining the user application session performance at the core network end comprises determining an association between received packets and a user application session from an uplink packet and a downlink packet using deep packet inspection.
12. The wireless communication network system of claim 10, wherein determining the user application session performance at the radio interface end comprises determining an association between user packets and a user application session using shallow packet inspection.
13. The wireless communication network system of claim 9, wherein the corrective network action comprises recommending a handover from the serving base station to one of the plurality of neighboring base stations based on a comparison among the average aggregate application performances for the serving base station and each of the plurality of neighboring base stations.
14. The wireless communication network system of claim 9, wherein the operations further comprise adapting gathering of performance data based on an analysis of trend for a pre-defined number of previous aggregate user application session performances.
15. The wireless communication network system of claim 9, wherein the operations further comprise determining an accuracy of a previous corrective network action based on the aggregate user application session performance.
16. The wireless communication network system of claim 15, wherein the operations further comprise updating or providing recommendations for updating, based on the accuracy, a co-efficient or a threshold value for determination of one or more process parameters.
17. A non-transitory computer-readable medium storing computer-executable instructions for:
determining an aggregate user application session performance for each of a plurality of users and for each of a plurality of applications at a serving base station and at each of a plurality of neighboring base stations based on gathered performance data, wherein the serving base station and the plurality of neighboring base stations are a part of a wireless communication network;
determining an aggregate application performance level for each of the plurality of applications at the serving base station and at each of the plurality of neighboring base stations based on the aggregate user application session performances for the plurality of users at the serving base station and at each of the plurality of neighboring base stations respectively;
determining an aggregate application performance based on the aggregate application performance levels for the plurality of applications at the serving base station and at the plurality of neighboring base stations; and
maintaining the user application session performances by determining a corrective network action based on an average aggregate application performance at the serving base station and at each of the plurality of neighboring base stations.
18. The non-transitory computer-readable medium of claim 17, wherein determining the aggregate user application session performance at a given base station comprises:
determining a user application session performance at a core network end of the given base station;
determining a user application session performance at a radio interface end of the given base station; and
determining the aggregate user application session performance at the given base station based on the user application session performance at the core network end and the user application session performance at the radio interface end.
19. The non-transitory computer-readable medium of claim 18, wherein determining the user application session performance at the core network end comprises determining an association between received packets and a user application session from an uplink packet and a downlink packet using deep packet inspection, and wherein determining the user application session performance at the radio interface end comprises determining an association between user packets and a user application session using shallow packet inspection.
20. The non-transitory computer-readable medium of claim 17, wherein the corrective network action comprises recommending a handover from the serving base station to one of the plurality of neighboring base stations based on a comparison among the average aggregate application performances for the serving base station and each of the plurality of neighboring base stations.
US15/999,011 2018-06-30 2018-08-20 Method and system for maintaining user application session performances in a wireless communication network Active US10524145B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201841024444 2018-06-30
IN201841024444 2018-06-30

Publications (2)

Publication Number Publication Date
US10524145B1 US10524145B1 (en) 2019-12-31
US20200008084A1 true US20200008084A1 (en) 2020-01-02

Family

ID=69007681

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/999,011 Active US10524145B1 (en) 2018-06-30 2018-08-20 Method and system for maintaining user application session performances in a wireless communication network

Country Status (1)

Country Link
US (1) US10524145B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021262051A1 (en) * 2020-06-24 2021-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Selecting mitigaton strategy for cell overload
WO2022271323A1 (en) * 2021-06-23 2022-12-29 Microsoft Technology Licensing, Llc End-to-end service level metric approximation
WO2023177395A1 (en) * 2022-03-16 2023-09-21 Rakuten Mobile, Inc. Centralized key performance indicator monitoring and data storage apparatus and method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3949305A1 (en) * 2019-03-25 2022-02-09 Telefonaktiebolaget LM ERICSSON (PUBL) Lawful interception in mobile connect
WO2021001958A1 (en) * 2019-07-03 2021-01-07 日本電信電話株式会社 Quality of service control device, quality of service control method, and program
US11617187B2 (en) * 2020-10-28 2023-03-28 Hewlett Packard Enterprise Development Lp Systems and methods for prioritizing bi-directional traffic flows

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9204329B2 (en) 2011-07-21 2015-12-01 Movik Networks Distributed RAN information collection, consolidation and RAN-analytics
US8811289B2 (en) 2012-06-28 2014-08-19 Tektronix, Inc. S1-MME and LTE-Uu interface correlation in long term evolution networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021262051A1 (en) * 2020-06-24 2021-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Selecting mitigaton strategy for cell overload
WO2022271323A1 (en) * 2021-06-23 2022-12-29 Microsoft Technology Licensing, Llc End-to-end service level metric approximation
US11575586B2 (en) 2021-06-23 2023-02-07 Microsoft Technology Licensing, Llc End-to-end service level metric approximation
WO2023177395A1 (en) * 2022-03-16 2023-09-21 Rakuten Mobile, Inc. Centralized key performance indicator monitoring and data storage apparatus and method

Also Published As

Publication number Publication date
US10524145B1 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
US10524145B1 (en) Method and system for maintaining user application session performances in a wireless communication network
US10523482B2 (en) System and method for providing improved non-orthogonal multiple access in a wireless communication network
US10237197B2 (en) System and method for processing data packets for transmission in a wireless communication network
CN107148082B (en) Method and system for wireless carrier management in wireless broadband network
US9544800B2 (en) Adaptive monitoring for cellular networks
US10349297B2 (en) Quality of user experience analysis
US10237144B2 (en) Quality of user experience analysis
US10111121B2 (en) Localizing faults in wireless communication networks
US10412550B2 (en) Remote driving of mobile device diagnostic applications
US10701593B2 (en) Method and systems for performing orchestration of services in a next generation mobile core network
US10952091B2 (en) Quality of user experience analysis
JP2017103740A (en) Method and system for co-ordination multi point set determination for wireless network
EP3304818B1 (en) Quality of user experience analysis using echo locate
US10278215B2 (en) Method and system for resolution of collision of physical cell identifier (PCI)
US20170214436A1 (en) Methods and systems for dynamic comp-link maintenance
US9942812B2 (en) Methods and systems for dynamic coordinated multi point link maintenance
US11711719B2 (en) Systems and methods for device-anonymous performance monitoring in a wireless network
US20240129209A1 (en) Requesting data from an oam

Legal Events

Date Code Title Description
AS Assignment

Owner name: WIPRO LIMITED, INDIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DAS, AMARTYA KUMAR;MONDAL, SUBHAS CHANDRA;PANJA, SUBHRAJYOTI;AND OTHERS;REEL/FRAME:047149/0347

Effective date: 20180604

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4