System and method for maintaining successful and failed events of network elements in clear codes
The system addresses the inefficiencies in current network debugging by using clear codes and XDR records managed through FTP, enabling faster and more efficient identification and resolution of network issues.
Patent Information
- Application Number
- PCT/IN2024/051271
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-19
- Filing Date
- 2024-07-16
- Publication Date
- 2025-01-23
AI Technical Summary
Current error logs and counters in wireless networks are insufficient for quickly determining and pinpointing network issues, requiring tedious end-to-end debugging with details like request/response timestamps and Subscription Permanent Identifiers (SUPI).
A system and method that assign clear codes to events, create External Data Representation (XDR) records with category, correlation ID, timestamps, and clear codes, and manage these records using File Transfer Protocol (FTP) to facilitate faster debugging.
This approach enables faster network debugging with shorter turnaround times by easily tracking, storing, and processing errors, and identifying the entities causing them, thus improving operational efficiency.
Smart Images

Figure IN2024051271_23012025_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR MAINTAINING SUCCESSFUL AND FAILED EVENTS OF NETWORK ELEMENTS IN CLEAR CODESRESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (herein after referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD
[0002] The present disclosure relates to wireless cellular communications, and specifically to a system and a method for maintaining successful and failed events of network elements in clear codes.DEFINITIONS:
[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[0004] A term “Subscription Permanent Identifier (SUPI)” refers to a unique identifier assigned to a subscriber in a mobile network. It is used primarily in 5G networks to identify and authenticate subscribers. The SUPI is similar to the International Mobile Subscriber Identity (IMSI) used in earlier generations of mobile networks.
[0005] A term “External Data Representation (XDR)” file refers to a standard for data serialization that allows data to be encoded in a platformindependent format. An XDR file is used to store data in this standardized format, enabling interoperability between different computer systems and applications.
[0006] A term “clear code” refers to code that is easy to read, understand, and maintain. Term codes are developed following best practices for coding style,such as proper naming conventions, modular design, and comprehensive documentation.
[0007] The term “Cause Code” refers to coding used in telecommunications to indicate the reason for a specific event, such as a call termination or network error. Cause codes are standardized to facilitate consistent interpretation across different systems and devices.
[0008] The term “Event Code” refers to a unique identifier for a specific event or action within a system. In telecommunications, event codes are used to log and track various events, such as connection attempts, errors, or changes in network status.
[0009] The term “Attribute- Value Pair (A VP)” refers to a concept in network protocols, including Diameter. The AVP consists of an attribute (a named identifier) and a value (the data associated with the attribute). AVPs are used to convey configuration and operational information between network entities.
[0010] The term “DIAMETER Error Codes” refers to an authentication, authorization, and accounting (AAA) protocol used in telecommunications. DIAMETER error codes are used to indicate specific errors encountered during DIAMETER transactions, such as authentication failures, authorization issues, or network problems.
[0011] The term IMSI refers to a unique identifier assigned to each mobile subscriber in GSM and UMTS networks. It is stored on the subscriber's SIM card and used to identify the subscriber to the network for authentication and billing purposes.
[0012] The term “Subscriber Profile Repository (SPR)” refers to a database used in telecommunications to store and manage subscriber information and profiles. It contains data such as service entitlements, usage policies, and personalized settings for each subscriber.
[0013] The term “File Transfer Protocol (FTP)” refers to a standard network protocol used for transferring files between a client and a server over a TCP / IP network. FTP allows users to upload, download, and manage files on remote servers.
[0014] The term “Abstract Syntax Notation One (ASN.l)” refers to a standard interface description language used to define data structures for representing, encoding, transmitting, and decoding data. The ASN.l format ensures that data can be exchanged between systems with different architectures and platforms.BACKGROUND
[0015] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0016] Currently used error logs and counters are insufficient to determine and pinpoint a location of network issue that has occurred in a wireless network. In addition, network details such as request / response timestamp, correlation Identifier (ID), Subscription Permanent Identifier (SUPI), etc. are required to perform an end- to-end debugging to determine issues occurring in the network. This process is tedious and has a larger turnaround time.
[0017] There is therefore a need in the art to provide a faster network debugging solution having a shorter turnaround time.SUMMARY
[0018] In an exemplary embodiment, a method for managing a plurality of events is described. The method comprises assigning the plurality of clear codes to the plurality of events. The method comprises creating a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events. The plurality of XDR records include category, correlation ID, start timestamp, end timestamp, the plurality of clear codes. The method comprises writing the plurality of clear codes in at least one XDR record in at least one file in predefined notation format. The method further comprises checking whether anXDR file transfer protocol (FTP) is enabled. The method comprises on detecting that the XDR FTP is enabled, checking whether there is XDR record limit for each file with current number of records. The XDR record limit for the each file is defined at the time of the application configuration. The method comprises on detecting that there is the XDR record limit for the each file with a current number of records, encoding the XDR records, and writing the XDR records as predefined notation records in the at least one file. The method comprises on detecting that there is no XDR record limit for the each file with current number of records, creating a new file, encoding the XDR records, and writing the XDR records as new predefined notation records in the new file.
[0019] In some embodiments, the plurality of clear codes is divided into a protocol level and an internal level to find types of error or exception occurs in the events. The protocol level includes attribute-value pair (A VP) missing from the events, the A VP value malformed or unexpected or incorrect leading to DIAMETER error codes being sent back, and incomplete information during provisioning hits to the SPR. The internal level includes internal module error conditions, all checked and unchecked exception paths, missing / incorrect rule configurations, quota exhaustion cases, international mobile subscriber identity (IMSI) missing from a subscriber profile repository (SPR), and provisioning errors due to database (DB) reachability issues.
[0020] In some embodiments, the each file includes information related to all cause codes and event codes reported to a plurality of network functions.
[0021] In some embodiments, the start timestamp indicates starting time of event recording, and the end timestamp indicates completion time of event recording. After the end timestamp, the event will be written to the at least one file.
[0022] In some embodiments, the category indicates an initial event type for which record needs to be written, wherein the category is mapped to more than one clear code.
[0023] In some embodiments, the each file is dumped into a remote address using a configurable parameter. The configurable parameter id defined at the time of the application configuration. The configurable parameter comprises a hostnameor an IP address of a file transfer protocol (FTP) where the predefined notation files to be dumped.
[0024] In another exemplary embodiment, a system for managing a plurality of events is described. An assigning unit is configured to assign the plurality of clear codes to the plurality of events. A creating unit is configured to create a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events. The plurality of XDR records includes category, correlation ID, start timestamp, end timestamp, and the plurality of clear codes. A processing unit is configured to write the plurality of clear codes in at least one XDR record in at least one file in a predefined notation format. The processing unit is configured to check whether an XDR file transfer protocol is enabled. On detecting that the XDR FTP is enabled, the processing unit is configured to check whether there is an XDR record limit for each file with current number of records. The XDR record limit for the each file is defined at the time of the application configuration. On detecting that there is XDR record limit for the each file with current number of records, the processing unit is configured to encode the XDR records and write the XDR records as predefined notation records. On detecting that there is no XDR record limit for the each file with current number of records, the processing unit configured to create a new file, encode the XDR records, and write the XDR records as new predefined notation records in the new file.
[0025] In some embodiments, the plurality of clear codes is divided into a protocol level and an internal level to find type of error or exception occurs in the events. The protocol level includes attribute-value pair (A VP) missing from the events, the A VP value malformed or unexpected or incorrect leading to DIAMETER error codes being sent back, and incomplete information during provisioning hits to the SPR. The internal level includes internal module error conditions, all checked and unchecked exception paths, missing / incorrect rule configurations, quota exhaustion cases, international mobile subscriber identity (IMSI) missing from a subscriber profile repository (SPR), and provisioning errors due to database (DB) reachability issues.
[0026] In some embodiments, the each file includes information related to all cause codes and event codes reported to a plurality of network functions.
[0027] In some embodiments, the start timestamp indicates starting time of event recording, and the end timestamp indicates completion time of event recording. After the end timestamp, the event will be written to the at least one file.
[0028] In some embodiments, the category indicates an initial event type for which record needs to be written. The category is mapped to more than one clear code.
[0029] In some embodiments, the each file is dumped into a remote address using a configurable parameter. The configurable parameter is defined at the time of the application configuration. The configurable parameter comprises a hostname or an IP address of a file transfer protocol (FTP) where the predefined notation records are to be dumped.
[0030] In some embodiments, a user equipment (UE) communicatively coupled with a system is described. The coupling comprises steps of receiving, by the system, a connection request and sending an acknowledgment of the connection request to the UE. A plurality of signals is transmitted in response to the connection request. The system is configured for managing a plurality of events.
[0031] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure, and are not restrictive.OBJECTS OF THE PRESENT DISCLOSURE
[0032] It is an object of the present disclosure to provide a system and a method for maintaining successful and failed events of network elements in clear codes.
[0033] It is an object of the present disclosure to manage multiple events of network elements.
[0034] It is an object of the present disclosure to divide the clear codes in different levels to simplify understanding of an error / exception type.
[0035] It is an object of the present disclosure to use the clear codes to maintain key successful events that occurred during execution of a process.
[0036] It is an object of the present disclosure to store the clear codes into an external data representation (XDR) record file.
[0037] It is an object of the present disclosure to allow an operations and management node to periodically fetch the XDR file and perform additional error analysis.
[0038] It is an object of the present disclosure to allow various execution steps to be performed at a network function level.BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In the figures, similar components and / or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
[0040] The diagrams are for illustration only, which thus is not a limitation of the present disclosure, and wherein:
[0041] FIG. 1A illustrates an exemplary representation of network architecture, in accordance with an embodiment of the disclosure.
[0042] FIG. IB illustrates an exemplary system architecture for managing a plurality of events, in accordance with an embodiment of the disclosure.
[0043] FIG. 1C illustrates an exemplary representation of constituents of an XDR record, in accordance with an embodiment of the disclosure.
[0044] FIG. 2 illustrates an exemplary flowchart for encoding and writing XDR records in a predefined notation format, in accordance with an embodiment of the disclosure.
[0045] FIG. 3A illustrates an exemplary flow chart for writing the XDR records in the predefined notation files and dumping in an accessible location usinga file transfer protocol (FTP) process, in accordance with an embodiment of the disclosure.
[0046] FIG. 3B illustrates an exemplary flow chart of a method for managing a plurality of events, in accordance with an embodiment of the disclosure.
[0047] FIG. 4 illustrates an exemplary block diagram of a computer system in which or with which embodiments of the present disclosure may be implemented.DETAILED DESCRIPTION
[0048] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein.
[0049] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth.
[0050] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-knowncircuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0051] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0052] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive — in a manner similar to the term “comprising” as an open transition word — without precluding any additional or other elements.
[0053] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0054] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0055] The disclosed system and method facilitate to define a limit for a number of records during an application configuration. This helps to manage memory and create new files if required. Further, the disclosed system and method enables to dump files into remote addresses apart from local path using a configurable parameter defined at the time of application configuration. This parameter contains details such as hostname / internet protocol (IP) address of file transfer protocol (FTP), where a predefined notation (e.g., abstract syntax notation (ASN)) files are to be dumped.
[0056] In addition, the disclosed system and method facilitates to handle two different file transfer protocol (FTP) managers, such that in case of connectivity issues with a primary FTP manager, a secondary FTP manager may be used.
[0057] With respect to the disclosed system and method, whenever any error / exception occurs, external data representations (XDRs) records are created in an application which may be sent to any mining system. The XDR records may be used to provide root cause analysis (RCA) related information at an operational level. In an aspect, the RCA is capable of detecting, identifying, and proposing corrections to the network problems.
[0058] FIG. 1A illustrates an exemplary representation of network architecture (100A), in accordance with an embodiment of the disclosure.
[0059] Referring to FIG. 1A, the network architecture (100A) may include one or more computing devices or user equipments (102-1, 102-2. .. 102-N) in anetwork (106). The network architecture (100 A) may include a plurality of network functions (NFs). The network functions (NFs) (110-1, 110-2, 110-3....110-N) may be referred to as network elements. The network functions (NFs) (110-1, 110-2, 110-3....110-N) may communicate with the system via the network (106). The network functions (NFs) (110-1, 110-2, 110-3....110-N) may communicate with the user equipments (102-1, 102-2. .. 102-N) via the network (106). A person of ordinary skill in the art will understand that one or more user equipments (102-1, 102-2. .. 102-N) may be individually referred to as the user equipment (102) and collectively referred to as the user equipment (102). A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “user equipment” may be used interchangeably throughout the disclosure. Although three user equipments (102) are depicted in FIG. 1A, however any number of the user equipments (102) may be included without departing from the scope of the ongoing description. A person of ordinary skill in the art will understand that one or more network functions (NFs) (110-1, 110-2, 110-3...110-N) may be individually referred to as the network function (110) and collectively referred to as the network function (110). Although four network functions (110) are depicted in FIG. 1A, however any number of the network functions (110) may be included without departing from the scope of the ongoing description.
[0060] In an embodiment, the user equipment (102) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the user equipment (102) may include, but is not limited to, smart phones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the user equipment (102) may include, but is not limited to, intelligent, multi-sensing, network-connected devices,that can integrate seamlessly with each other and / or with a central server or a cloudcomputing system or any other device that is network-connected.
[0061] In an embodiment, the user equipment (102) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device(e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the user equipment (102) may include, but is not limited to, any electrical, electronic, electro-mechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device, wherein the user equipment (102) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user or the entity such as touch pad, touch enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the user equipment (102) may not be restricted to the mentioned devices and various other devices may be used.
[0062] Referring to FIG. 1A, the user equipment (102) may communicate with a system (108), through the network (106). The UE (102) may send a connection request to the system (108). The system (108) may send an acknowledgment of the connection request to the user equipment (102). The UE may transmit a plurality of signals in response to the connection request. The system (108) is configured to manage a plurality of events in the network (106).
[0063] In an embodiment, the network (106) may include at least one of a Fifth Generation (5G) network, 6G network, or the like. The network (106) may enable the user equipment (102) to communicate with other devices in the network architecture (100) and / or with the system (108). The network (106) may include awireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.
[0064] In an aspect, the network functions are the logical entities or software-based functionalities that define how the network operates and processes data. These functions are often implemented as software running on network elements or as virtualized instances in cloud environments. The plurality of network functions (NFs) (110) comprises an access and mobility management function (AMF), a session management function (SMF), a user plane function (UPF), a policy control function (PCF), an authentication server function (AUSF), a binding support function (BSF), a network repository function (NRF), a charging function (CHF), etc.
[0065] The AMF performs access management functions such as authentication, authorization, and accounting (AAA). The AMF verifies the identity of the user device and determines whether it is authorized to access the network.
[0066] The SMF is responsible for managing the sessions between user devices and the network.
[0067] The PCF is used for policy control decision and flow-based charging control functionalities.
[0068] The BSF is to track sessions that are located anywhere in the network.
[0069] The NRF works as a centralized repository for all the network functions (NFs) in the operator's network.
[0070] The CHF supports the online charging, offline charging, and convergent charging models.
[0071] The UPF is responsible for packet routing and forwarding, packet inspection, and QoS handling for user data.
[0072] The AUSF receives authentication requests from the access and mobility management function (AMF) and interacts with unified data management (UDM) to obtain authentication vectors for processing authentication and key agreement (AKA) and validates network responses to determine whether the authentication was successful.
[0073] Although FIG. 1A shows exemplary components of the network architecture (100A), in other embodiments, the network architecture (100 A) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1A. Additionally, or alternatively, one or more components of the network architecture (100A) may perform functions described as being performed by one or more other components of the network architecture (100A).
[0074] FIG. IB illustrates an exemplary system architecture (100B) for managing a plurality of events, in accordance with an embodiment of the disclosure.
[0075] In an aspect, the network elements are the tangible, physical components that make up the infrastructure of the network. The network elements include hardware devices such as base stations, routers, switches, antennas, edge computing nodes, servers, and other physical infrastructure components.
[0076] In an aspect, the clear codes are unique codes which describe valuable information such as from exactly where negative response is being sent by an application. Further, there are multiple functions in the application from where response can be sent for a particular call flow. The application may write clear code along with required information in a file in a predefined notation (for example, ASN.l format). The file contains description of all cause codes and event codes reported to its module by different network functions. The description of all cause codes and event codes provides information to analyse the exact root cause of any errors in a network element. The clear codes are also used for identifying the key successful events during the execution of the process to store all these data into an external data representation (XDR) file. The XDR files can be fetched by an operations and management (OM) node periodically to do further analysis.
[0077] In an aspect, the OM node has unique capabilities of anomaly detection, which can drill down to the level of the end-host (e.g., server) and precisely identify the problematic element in the network. This capability helps in quick detection of issues as soon as they occur in the network.
[0078] The system architecture (100B) may represent the system (108). The system (108) comprises an assigning unit (112), a creating unit (114), a processing unit (116), a memory (120) and other units (118).
[0079] The assigning unit (112) configured to assign the plurality of clear codes to the plurality of events. The plurality of events comprises successful events and failed events.
[0080] The creating unit (114) configured to create a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events. The plurality of XDR records includes a category, a correlation ID, a start timestamp, an end timestamp, and clear codes. In an aspect, the application is a software program designed to perform specific tasks for users or other applications. The XDR records are used for capturing detailed information about events, activities, or states in the application. For example, the application such as a VoIP call application, XDR records capture detailed information about call events in the VoIP call application. The XDR records comprise call identifier, caller, receiver, start time of call, duration of call, end time of call, call quality and clear codes for failed call (e.g., busy, no answer, network issue, connection failure, etc.).
[0081] The processing unit (116) configured to write the plurality of clear codes in a file in a predefined notation (for example, abstract syntax notation one (ASN.l)) format. The file includes information related to all cause codes and event codes reported to corresponding modules by a plurality of network functions.
[0082] The processing unit (116) configured to check whether an XDR file transfer protocol (FTP) is enabled. On detecting that the XDR FTP is enabled, the processing unit (116) configured to check whether there is XDR record limit for each file with current number of records. The XDR record limit per record file is defined at the time of the application configuration.
[0083] On detecting that there is XDR record limit per record file with current number of records, the processing unit (116) configured to encode the XDR records. The XDR records is written as predefined notation (e.g., ASN.l records).
[0084] On detecting that there is no XDR record limit per record file with current number of records, the processing unit (116) configured to create a new record file. The XDR records are encoded. The XDR records are written as new predefined notation (e.g., ASN) records.
[0085] FIG. 1C illustrates an exemplary representation (100C) of constituents of an XDR record, in accordance with an embodiment of the disclosure.
[0086] As illustrated in FIG. 1C, the XDR record comprises:• Category• Correlation-Id• Start Timestamp• End Timestamp• One or more Clear Codes
[0087] More than one XDR record may be possible for a single subscriber. In some embodiments, the XDR records may be written and stored as predefined notation (e.g., abstract syntax notation one (ASN.l)) records.
[0088] Clear code record(s) may cover a particular scenario (e.g. user equipment (UE) attachment procedure may have multiple records).
[0089] Multiple records may be possible for a scenario which may be identified by ‘correlation-ID’ field. The same ‘correlation-ID’ may be present in these records. For example, in a UE attachment procedure, session management function (SMF) interfaces, access and mobility management function (AMF) interfaces may be used. Therefore, three records may be created having the same ‘correlation-ID’ value.
[0090] In examples, clear code record(s) may cover other scenarios such as a call setup and teardown, a data session management, billing and management, network resource allocation, and such scenarios.
[0091] The ‘start timestamp’ field signifies starting time of creation of that record.
[0092] The ‘end timestamp’ field signifies completion time of that record. The record may be written to the record file after the end timestamp.
[0093] The ‘category’ field signifies an initial event type of a scenario for which a record needs to be written. A ‘category’ may be mapped to more than one clear code module. For example, the UE attachment procedure may be triggered by an incoming create control request at the policy control function (PCF) node. In such a scenario, the ‘category’ field value may signify e.g., the SMF category. The record may contain additional clear codes of different modules.
[0094] The record files may be taken (by the FTP process) and then put into an accessible location. In an aspect, the record files may be taken by the FTP via an interface between an OM node and the FTP.
[0095] The record files may be indexed by a controller. Further, the controller may be an OM node controller. The record files can be fetched by the controller (e.g., OM node) periodically to do further analysis. The further analysis may include node or entity that caused the error, root cause analysis of the error, mitigation process, and such information.
[0096] In an aspect, the clear codes are divided in different levels so that it becomes easy to understand an error / exception type, i.e., at a protocol level and at an internal level.
[0097] At the protocol level, the following error / exception types may be determined:• Missing mandatory Attribute- Value Pair (A VP) from a request• Malformed / unexpected / incorrect AVP value leading to DIAMETER error codes being sent back.• Incomplete information during provisioning hits to a subscriber profile repository (SPR).
[0098] In an aspect, the attribute-value pair (AVP) refers to a fundamental representation in system to express entities by describing their characteristics. The AVP consists of two elements: an attribute and a value.
[0099] In an aspect, the SPR is a logical database which contains subscriber related information related to policy and charging control. The SPR may provide information such as subscriber allowed services, permitted QoS and charging related information.
[0100] In an aspect, the DIAMETER error code is given when DIAMETER cannot deliver the message to the destination, either because no host within the realm supporting the required application was available to process the request or because the Destination-Host AVP was given without the associated Destination- Realm AVP.
[0101] At the internal level, the following error / exception types may be determined:• Generation of clear codes due to internal module error conditions• Inclusion of all checked and unchecked exception paths• Missing / incorrect rule configurations• Quota exhaustion cases• International Mobile Subscriber Identity (IMSI) missing from the SPR• Provisioning errors due to database reachability issues.
[0102] In an aspect, a network entity (NE) (e.g., gateway GPRS support node (GGSN), a packet data network gateway (PGW), or a session management function (SMF), online charging server (OCS) provides quota for a service (e.g. a data session, a call) to be provided to a subscriber. The quota may be a data volume or a time. The quota exhaustion (i.e., the granted quota is used).
[0103] FIG. 2 illustrates an exemplary flowchart (200) for encoding and writing XDR records in a predefined notation format, in accordance with an embodiment of the disclosure.
[0104] As illustrated in FIG. 2, at step (202), the processing unit (116) configured to check whether “XDR file transfer protocol (FTP)” is enabled.
[0105] At step (204), on detecting that the XDR FTP is enabled, the processing unit (116) configured to check whether there is XDR record limit for each file with current number of records.
[0106] At step (206), If there is the XDR record limit per record file with current number of records (i.e. true), then the processing unit (116) configured to encode, write, and store the XDR records as predefined notation (e.g., ASN.l) records in the file.
[0107] At step (208), if there is no XDR record limit for the each file, then the processing unit (116) configured to create a new file.
[0108] At step (210), the processing unit (116) configured to encode, write the XDR records as new predefined notation (e.g., ASN records) in the new file.
[0109] FIG. 3A illustrates an exemplary flow chart (300A) for writing the XDR records in the predefined notation files and dumping in an accessible location using a file transfer protocol (FTP) process, in accordance with an embodiment of the disclosure.
[0110] As illustrated in FIG. 3A, at step (302), the method (300A) includes writing of the XDR records is performed at a network function (NF) level.
[0111] At step (304), the method (300A) includes the XDR records that are written in the predefined notation files (e.g., ASN files). The predefined notation files (e.g., ASN files) may be stored in the memory (120) of the system (108), although the predefined notation (e.g., ASN files) can be stored in any of the NF (110-1-N). The predefined notation (e.g., ASN format) files include information related to description of all cause codes and event codes reported to corresponding modules by a network functions (110-1-N).
[0112] In an aspect, the network functions (110-1-N) are units of codes that provide scope and context for the debugger.
[0113] At step (306), the predefined notation (e.g., ASN) files may be then dumped in an accessible location by the FTP process.
[0114] The system and method may be dependent on policy control function (PCF) / binding support function (BSF) / network repository function (NRF) / charging function (CHF) architecture for its functioning and for identifying errors occurring in the wireless networks.
[0115] FIG. 3B illustrates an exemplary flow chart of a method (300B) for managing a plurality of events, in accordance with an embodiment of the disclosure.
[0116] As illustrated in FIG. 3B, at step (312), the method (300B) includes assigning the plurality of clear codes to the plurality of events.
[0117] At step (314), the method (300B) includes creating a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events. The plurality of XDR records includes a category, a correlation ID, a start timestamp, an end timestamp, and clear codes.
[0118] At step (316), the method (300B) includes writing the plurality of clear codes in at least one XDR record in at least one file in predefined notation (e.g., abstract syntax notation one (ASN.l)) format. The file includes information related to all cause codes and event codes reported to corresponding modules by a plurality of network functions.
[0119] At step (318), the method (300B) includes checking whether an XDR file transfer protocol (FTP) is enabled.
[0120] At step (320), the method (300B) includes on detecting that the XDR FTP is enabled, checking whether there is XDR record limit for each file with current number of records. The XDR record limit per record file is defined at the time of the application configuration.
[0121] At step (322), the method (300B) includes on detecting that there is the XDR record limit for each file with current number of records, encoding the XDR records and writing the XDR records as predefined notation (e.g., ASN.l) records in the at least one file.
[0122] At step (324), the method (300B) includes on detecting that there is no XDR record limit for each file with current number of records, creating a new file, encoding the XDR records, and writing the XDR records as new predefined notation records (e.g., ASN records) in the new file.
[0123] FIG. 4 illustrates an exemplary computer system (400) in which or with which embodiments of the present disclosure may be implemented. For example, the system (108), or the NF (110-1-N) may be implemented using the exemplary computer system.
[0124] As shown in FIG. 4, the computer system (400) may include an external storage device (410), a bus (420), a main memory (430), a read-onlymemory (440), a mass storage device (450), communication port(s) (460), and a processor (470). A person skilled in the art will appreciate that the computer system (400) may include more than one processor and communication ports. The processor (470) may include various modules associated with embodiments of the present disclosure. The communication port(s) (460) may be any of an RS-232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port(s) (460) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (400) connects.
[0125] The main memory (430) may be random access memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (440) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (470). The mass storage device (450) may be any current or future mass storage solution, which can be used to store information and / or instructions. Exemplary mass storage device (450) includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks.
[0126] The bus (420) communicatively couples the processor (470) with the other memory, storage, and communication blocks. The bus (420) may be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCLX) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (470) to the computer system (400).
[0127] Optionally, operator and administrative interfaces, e.g. a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus(420) to support direct operator interaction with the computer system (400). Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (460). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (400) limit the scope of the present disclosure.
[0128] The exemplary computer system (400) is configured to execute a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing a plurality of events. The method includes assigning the plurality of clear codes to the plurality of events. The method further includes creating a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events, writing the plurality of clear codes in a file in a predefined notation format. The method includes checking whether an XDR file transfer protocol (FTP) is enabled. On detecting that the XDR FTP is enabled, checking whether there is an XDR record limit for each file with current number of records. The XDR record limit per record file is defined at a time of application configuration. On detecting that there is the XDR record limit for each file with the current number of records, encoding the XDR records, and writing the XDR records as predefined notation records. On detecting that there is no XDR record limit per record file with the current number of records, creating a new file, encoding the XDR records and writing the XDR records as new predefined notation records in the new file.
[0129] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
[0130] The present disclosure provides technical advancement related to managing events in a telecommunication network. The events may be successful events or failure events. This advancement addresses the limitations of existing techniques of event handling that includes error logs and counters are insufficient to determine and pinpoint a location of network issue that has occurred in a wireless network. In addition, network details such as request / response timestamp, SUPI, etc. are required to perform an end-to-end debugging to determine issues occurring in the network. This process is tedious and has a larger turnaround time. The disclosure overcomes the limitations by using the plurality of clear codes to events, creating XDR records responsive to an event, and having the clear codes in the XDR records. By implementing the disclosure, a system is implemented to easily track, store and process the errors, and identify the entities causing it to rectify the issues of the entities. This approach allows faster debugging and shorter turnaround times.ADVANTAGES OF THE PRESENT DISCLOSURE
[0131] The present disclosure provides a system and a method for maintaining successful and failed events of network elements in clear codes.
[0132] The present disclosure uses the clear codes to maintain key successful events that occurred during execution of a process.
[0133] The present disclosure stores the clear codes into an external data representation (XDR) record file.
[0134] The present disclosure allows an OM node to periodically fetch the XDR file and perform additional error analysis.
[0135] The present disclosure allows various execution steps to be performed at a network function level.
Claims
CLAIMS1. A method (300B) for managing a plurality of events, the method (300B) comprising: assigning (312) a plurality of clear codes to the plurality of events; creating (314) a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events, wherein the plurality of XDR records includes a category, a correlation ID, a start timestamp, an end timestamp, and the plurality of clear codes; writing (316) the plurality of clear codes in at least one XDR record in at least one file in a predefined notation format,; checking (318) whether an XDR file transfer protocol (FTP) is enabled, on detecting that the XDR FTP is enabled, checking (320) whether there is an XDR record limit for each file with current number of records, wherein the XDR record limit for the each file is defined at a time of application configuration; on detecting that there is the XDR record limit for the each file with the current number of records, encoding (322) the XDR records; and writing (322) the XDR records as predefined notation records in the at least one file, wherein on detecting that there is no XDR record limit for the each file with the current number of records, creating (324) a new file; encoding (324) the XDR records; and writing (324) the XDR records as new predefined notation records in the new file.
2. The method (300B) as claimed in claim 1, wherein the plurality of clear codes is divided into a protocol level and an internal level to find type of error or exception occurs in the events, wherein: the protocol level includes attribute-value pair (A VP) missing from the events, the AVP value malformed or unexpectedor incorrect leading to DIAMETER error codes being sent back, and incomplete information during provisioning hits to a subscriber profile repository (SPR); and the internal level includes internal module error conditions, all checked and unchecked exception paths, missing / incorrect rule configurations, quota exhaustion cases, international mobile subscriber identity (IMSI) missing from the SPR, and provisioning errors due to database (DB) reachability issues.
3. The method (300B) as claimed in claim 1, wherein the each file includes information related to all cause codes and event codes reported to a plurality of network functions (110).
4. The method (300B) as claimed in claim 1, wherein the start timestamp indicates a starting time of event recording, and the end timestamp indicates a completion time of the event recording, wherein after the end time stamp, the event will be written to the at least one file.
5. The method (300B) as claimed in claim 1, wherein the category indicates an initial event type for which record needs to be written, wherein the category is mapped to more than one clear code.
6. The method (300B) as claimed in claim 1, wherein the each file is dumped into a remote address using a configurable parameter, wherein the configurable parameter is defined at the time of the application configuration, wherein the configurable parameter comprises a hostname or an IP address of a FTP where the predefined notation records are to be dumped.
7. A system (108) for managing a plurality of events comprising:an assigning unit (112) configured to assign a plurality of clear codes to the plurality of events; a creating unit (114) configured to create a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events, wherein the plurality of XDR records includes category, correlation ID, start timestamp, end timestamp, and the plurality of clear codes; a processing unit (116) configured to write the plurality of clear codes in at least one XDR record in at least one file in a predefined notation format; the processing unit (116) configured to check whether an XDR file transfer protocol (FTP) is enabled, on detecting that the XDR FTP is enabled, the processing unit (116) is configured to check whether there is an XDR record limit for each file with current number of records, wherein the XDR record limit for the each file is defined at a time of application configuration; on detecting that there is the XDR record limit for the each file with the current number of records, the processing unit (116) configured to encode the XDR records; and write the XDR records as predefined notation records in the at least one file, wherein on detecting that there is no XDR record limit for the each file with the current number of records, the processing unit (116) configured to: create a new file; encode the XDR records; and write the XDR records as new predefined notation records in the new file.
8. The system (108) as claimed in claim 7, whereinthe plurality of clear codes is divided into a protocol level and an internal level to find type of error or exception occurs in the events, wherein the protocol level includes attribute-value pair (A VP) missing from the events, the AVP value malformed or unexpected or incorrect leading to DIAMETER error codes being sent back, and incomplete information during provisioning hits to the SPR; and the internal level includes internal module error conditions, all checked and unchecked exception paths, missing / incorrect rule configurations, quota exhaustion cases, international mobile subscriber identity (IMSI) missing from a subscriber profile repository (SPR), and provisioning errors due to database (DB) reachability issues.
9. The system (108) as claimed in claim 7, wherein the each file includes information related to all cause codes and event codes reported to a plurality of network functions (110).
10. The system (108) as claimed in claim 7, wherein the start timestamp indicates a starting time of an event recording, and the end timestamp indicates a completion time of the event recording, wherein after the end time stamp, the event will be written to the at least one file.
11. The system (108) as claimed in claim 7, wherein the category indicates an initial event type for which record needs to be written, wherein the category is mapped to more than one clear code.
12. The system (108) as claimed in claim 7, wherein the each file is dumped into a remote address using configurable parameter, wherein the configurable parameter is defined at the time of the application configuration, wherein the configurable parameter contains ahostname or an IP address of a FTP where the predefined notation records are to be dumped.
13. A user equipment (UE) (102) communicatively coupled with a system(108), the coupling comprises steps of: receiving, by the system (108), a connection request; sending an acknowledgment of the connection request to the UE (102); and transmitting a plurality of signals in response to the connection request, wherein the system (108) configured for managing a plurality of events as claimed in claim 7.
14. A computer program product comprising a non-transitory computer- readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method (300B) for managing a plurality of events, the method (300B) comprising: assigning (312) a plurality of clear codes to the plurality of events; creating (314) a plurality of external data representation (XDR) records in an application when an error or an exception occurs in the events, wherein the plurality of XDR records includes a category, a correlation ID, a start timestamp, an end timestamp, and the plurality of clear codes; writing (316) the plurality of clear codes in at least one XDR record in at least one file in a predefined notation format; checking (318) whether an XDR file transfer protocol (FTP) is enabled, on detecting that the XDR FTP is enabled, checking (320) whether there is an XDR record limit for each file with current number of records, wherein the XDR record limit for the each file is defined at a time of application configuration; on detecting that there is the XDR record limit for the each file with the current number of records, encoding (322) the XDR records; andwriting (322) the XDR records as predefined notation records in the at least one file, wherein on detecting that there is no XDR record limit for the each file with the current number of records, creating (324) a new file; encoding (324) the XDR records; and writing (324) the XDR records as new predefined notation records in the new file.
Citation Information
Patent Citations
Method for Loading Using FTP
KR1020040036851A
Method and system of automatic event and error correlation from log data
US20190073257A1
Network usage event data record handling
WO2013174416A1