Abstract: The present disclosure relates to a method and a system for implementing a platform for decoding and/or encoding one or more messages of one or more target protocols. The disclosure comprises: receiving, a message from a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the target protocol(s); creating, a stack object for the message; analysing, the IE(s) by passing the message through stack object, based on one or more decoding rules, a set of properties and a JSON configuration; and/or decoding, the message based on the analysis. The disclosure for encoding one or more messages encompasses: providing, a value for each of the IEs, based on one or more encoding rules, a set of properties and a JSON configuration; and encoding, the message based on the providing the value for the each of the IEs in the message. [Figure 3
FORM 2
THE PATENTS ACT, 1970 (39 OF 1970) & THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
“METHOD AND SYSTEM FOR IMPLEMENTING A PLATFORM FOR ENCODING AND DECODING MESSAGES OF TARGET PROTOCOLS”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
The following specification particularly describes the invention and the manner in which it is to be performed.
METHOD AND SYSTEM FOR IMPLEMENTING A PLATFORM FOR ENCODING AND DECODING
MESSAGES OF TARGET PROTOCOLS
FIELD OF THE DISCLOSURE
[0001] Embodiments of the present disclosure generally relate to the field of wireless communication systems. More particularly, embodiments of the present disclosure relate to a method and system for implementing a platform for encoding and decoding messages of target protocols.
BACKGROUND
[0002] The following description of the 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 is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.
[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. The third generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth-generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth-generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. With each generation, wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users.
In the 5G communication system, there is provided a plurality of network functions (NFs), for example an Access and Mobility Management Function (AMF), session management function (SMF), Authentication Server function (AUSF), a Network Slice Selection Function (NSSF), Policy control function (PCF), a Network Repository Function (NRF), and the like. One or more of the aforementioned NFs communicates with each other, to implement multiple activities on the 5G communication system. There are multiple interfaces/protocols for receiving and transmitting messages for the NFs such as the AMF and/or the SMF of 5G network. Each such interface/protocol has a large number of messages and each message has a large number of information elements. For example, Next Generation Application Protocol (NGAP), an Abstract Syntax Notation (ASN) 1.0 basic packed encoding rules (PER) based protocol, has 75 messages and 286 information elements, and S1 Application Protocol (S1AP), another ASN 1.0 basic PER based protocol, has 72 messages and 120 information elements.
[0004] For decoding and encoding of these messages, in the existing solutions a stack platform decodes and encodes messages that are received or transmitted by NFs such as the AMF and/or the SMF of 5G network. As a result, for different protocols, a separate stack with a large number of messages and information elements has to be developed in existing approaches. This is a labour intensive, a time-consuming and inefficient approach, particularly because where there are changes in any message or information element structure, the entire stack platform has to be again developed, tested and deployed.
[0005] Further, information element and message-specific classes are defined in a stack platform and separate application programming interfaces (APIs) are needed for each message class and information element-specific class. Consequently, interfacing of stack platform with a core application of the NFs such as the SMF and/or the AMF of 5G network is complex and voluminous work due to large of number of APIs involved in said interfacing.
[0006] Thus, there exists an imperative need in the art to develop a method and a system for implementing a platform for efficient and effective encoding and decoding of different ASN 1.0 basic PER based protocols, which the present disclosure aims to address.
[0007] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0008] It is an object of the present disclosure to provide a method and a system for implementing a platform for decoding and encoding of one or more messages of one or more Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocols.
[0009] It is an object of the present disclosure to provide a method and a system for implementing a common stack platform for different Abstract Syntax Notation (ASN) 1.0 basic- Packed Encoding Rules (PER) based protocols (or referred herein as ASN 1.0 PER based protocols), wherein the common stack platform is a platform where only common generic encoding and decoding application programming interfaces (APIs) are used.
[0010] It is another object of the present disclosure to provide a technical solution for the implementation of a platform for decoding and encoding of message(s) of ASN 1.0 basic-PER based protocols where such platform results in a reduction of number of APIs involved in interfacing with a core application of a communication network.
[0011] It is yet another object of the present disclosure to provide a method and a system for implementing a common stack platform for different ASN 1.0 basic-PER based protocols, wherein at the common stack platform only common generic encoding and decoding APIs are used which results in a reduction of number of APIs involved in interfacing with a core application of a communication network.
[0012] It is yet another object of the present disclosure to provide a method and a system for implementing a common stack platform for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols, to overcome the limitations of requirement of different stack platforms for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols.
[0013] It is yet another object of the present disclosure to provide a method and a system for implementing a common stack platform for different ASN 1.0 basic-PER based protocols, wherein the common stack platform is scalable and optimized.
SUMMARY
[0014] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
[0015] An aspect of the present disclosure may relate to a method for implementing a platform for decoding one or more messages of one or more target protocols. The method comprises receiving, by a transceiver unit at the platform, a message from a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols. The method further comprises creating, by an object creator unit at the platform, a stack object for the message. The method further comprises analysing, by an analysis unit at the platform, the one or more IEs of the message by passing the message through the stack object, based on at least one of: one or more decoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs. The method further comprises decoding, by a decoder unit at the platform, the message based on the analysis.
[0016] In an exemplary aspect of the present disclosure, each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol, the one or more decoding rules are one or more ASN decoding rules, and the set of properties is a set of ASN properties of said each of the one or more IEs.
[0017] In an exemplary aspect of the present disclosure, the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
[0018] In an exemplary aspect of the present disclosure, the one or more ASN decoding rules are pre-stored in a storage unit.
[0019] In an exemplary aspect of the present disclosure, the one or more ASN decoding rules are based on a data type associated with the one or more IEs.
[0020] In an exemplary aspect of the present disclosure, the data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
[0021] In an exemplary aspect of the present disclosure, each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which a decoding information exists in a cache memory, and the unfamiliar IE is an IE for which the decoding information is absent in the cache memory.
[0022] In an exemplary aspect of the present disclosure, an analysis of the familiar IE of the message is performed using the decoding information existing in the cache memory.
[0023] Another aspect of the present disclosure may relate to a system for implementing a platform for decoding one or more messages of one or more target protocols. The system further comprises a transceiver unit configure to receive, at the platform, a message from a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols. The system further comprises an object creator unit configured to create, at the platform, a stack object for the message. The system further comprises an analysis unit configured to analyse, at the platform, one or more IEs of the message by passing the message through the stack object, based on at least one of: one or more decoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs. The system further comprises a decoder unit configured to decode, at the platform, the message based on the analysis.
[0024] An aspect of the present disclosure may relate to a method for implementing a platform for encoding one or more messages of one or more target protocols. The method comprises receiving, by a transceiver unit at the platform, an indication for sending a message to a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols. The method thereafter comprises creating, by an object creator unit at the platform, a stack object for the message. The method further comprises providing, by an input unit at the platform, a value for each of the one or more IEs in the message, based on at least one of: one or more encoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs. The method thereafter comprises encoding, by an encoder unit at the platform, the message based on the providing the value for each of the one or more IEs in the message.
[0025] In an exemplary aspect of the present disclosure, each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol, the one or more encoding rules are one or more ASN encoding rules, and the set of properties is a set of ASN properties of said each of the one or more IEs.
[0026] In an exemplary aspect of the present disclosure, the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
[0027] In an exemplary aspect of the present disclosure, the one or more ASN encoding rules are pre-stored in a storage unit.
[0028] In an exemplary aspect of the present disclosure, the one or more ASN encoding rules are based on a data type associated with the one or more IEs.
[0029] In an exemplary aspect of the present disclosure, the data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
[0030] In an exemplary aspect of the present disclosure, each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which an encoding information exists in a cache memory, and the unfamiliar IE is an IE for which the encoding information is absent in the cache memory.
[0031] In an exemplary aspect of the present disclosure, the method comprises an analysis of the familiar IE of the message is performed using the encoding information existing in the cache memory.
[0032] Another aspect of the present disclosure may relate to a system for implementing a platform for encoding one or more messages of one or more target protocols. The system comprises a transceiver unit configured to receive, at the platform, an indication for sending a message to a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols. The system further comprises an object creator unit configured to create, at the platform, a stack object for the message. The system further comprises an input unit configured to provide, at the platform, a value for each of the one or more IEs in the message, based on at least one of: one or more encoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs. The system further comprises an encoder unit configured to encode, at the platform, the message based on the providing the value for said each of the one or more IEs in the message.
[0033] Yet another aspect of the present disclosure may relate to a non-transitory computer readable storage medium storing instructions for implementing a platform decoding one or more messages of one or more target protocols, the instructions include executable code which, when executed by one or more units of a system, causes: a transceiver unit of the system to receive, at the platform, a message from a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols; an object creator unit of the system to create, at the platform, a stack object for the message; an analysis unit of the system to analyse, at the platform, one or more IEs of the message by passing the message through the stack object, based on at least one of: one or more decoding rules, a set of properties of each of the one or more IEs, and a JavaScript
Object Notation (JSON) configuration associated with each of the one or more IEs; and a decoder unit of the system to decode, at the platform, the message based on the analysis.
[0034] Yet another aspect of the present disclosure may relate to a non-transitory computer readable storage medium storing instructions for implementing a platform for encoding one or more messages of one or more target protocols, the instructions include executable code which, when executed by one or more units of a system, causes: a transceiver unit of the system to receive, at the platform, an indication for sending a message to a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols; an object creator unit of the system to create, at the platform, a stack object for the message; an input unit of the system to provide, at the platform, a value for each of the one or more IEs in the message, based on at least one of: one or more encoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs; and an encoder unit of the system to encode, at the platform, the message based on the providing the value for the each of the one or more IEs in the message.
DESCRIPTION OF THE DRAWINGS
[0035] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Also, the embodiments shown in the figures are not to be construed as limiting the disclosure, but the possible variants of the method and system according to the disclosure are illustrated herein to highlight the advantages of the disclosure. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components.
[0036] FIG. 1 illustrates an exemplary block diagram representation of 5th generation core (5GC) network architecture.
[0037] FIG. 2 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.
[0038] Fig. 3 illustrates an exemplary block diagram of a system for implementing a platform for encoding and decoding messages of one or more target protocols, in accordance with exemplary implementations of the present disclosure.
[0039] Fig. 4 illustrates a method flow diagram for implementing a platform for decoding one or more messages of one or more target protocols, in accordance with exemplary implementations of the present disclosure.
[0040] Fig. 5 illustrates a method flow diagram for implementing a platform for encoding one or more messages of one or more target protocols, in accordance with exemplary implementations of the present disclosure.
DETAILED DESCRIPTION
[0041] 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 may each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above.
[0042] 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 disclosure as set forth.
[0043] 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, processes, and other components may be shown as components in block
5 diagram form in order not to obscure the embodiments in unnecessary detail.
[0044] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various the components/units can be implemented interchangeably. While specific embodiments may disclose a particular functionality of these
10 units for clarity, it is recognized that various configurations and combinations thereof are
within the scope of the disclosure. The functionality of specific units as disclosed in the disclosure should not be construed as limiting the scope of the present disclosure. Consequently, alternative arrangements and substitutions of units, provided they achieve the intended functionality described herein, are considered to be encompassed within the scope
15 of the present disclosure.
[0045] 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
20 the operations may 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.
[0046] The word “exemplary” and/or “demonstrative” is used herein to mean serving as an
25 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
30 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
11
similar to the term “comprising” as an open transition word—without precluding any additional or other elements.
[0047] As used herein, a “processing unit” or “processor” or “operating processor” includes
5 one or more processors, wherein processor refers to any logic circuitry for processing
instructions. A processor may be a general-purpose processor, a special purpose processor, a
conventional processor, a digital signal processor, a plurality of microprocessors, one or more
microprocessors in association with a (Digital Signal Processing) DSP core, a controller, a
microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array
10 circuits, any other type of integrated circuits, etc. The processor may perform signal coding
data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor.
15 [0048] As used herein, “a user equipment”, “a user device”, “a smart-user-device”, “a smart-
device”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device” may be any electrical, electronic and/or computing device or equipment, capable of implementing the features of the present disclosure. The user equipment/device may include, but is not
20 limited to, a mobile phone, smart phone, laptop, a general-purpose computer, desktop,
personal digital assistant, tablet computer, wearable device or any other computing device which is capable of implementing the features of the present disclosure. Also, the user device may contain at least one input means configured to receive an input from unit(s) which are required to implement the features of the present disclosure.
25
[0049] As used herein, “storage unit” or “memory unit” refers to a machine or computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical
30 storage media, flash memory devices or other types of machine-accessible storage media.
The storage unit stores at least the data that may be required by one or more units of the system to perform their respective functions.
12
[0050] As used herein “interface” or “user interface refers to a shared boundary across which
two or more separate components of a system exchange information or data. The interface
may also be referred to a set of rules or protocols that define communication or interaction
of one or more modules or one or more units with each other, which also includes the
5 methods, functions, or procedures that may be called.
[0051] All modules, units, components used herein, unless explicitly excluded herein, may be
software modules or hardware processors, the processors being a general-purpose processor,
a special purpose processor, a conventional processor, a digital signal processor (DSP), a
10 plurality of microprocessors, one or more microprocessors in association with a DSP core, a
controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array circuits (FPGA), any other type of integrated circuits, etc.
[0052] As used herein the transceiver unit includes at least one receiver and at least one
15 transmitter configured respectively for receiving and transmitting data, signals, information
or a combination thereof between units/components within the system and/or connected with the system.
[0053] As discussed in the background section, in existing approaches implemented in
20 communication networks, for different protocols used for receiving and transmitting
messages from network functions such as AMF and SMF, a separate stack with a large number
of messages and information elements has to be developed. This is a labour intensive, a time
consuming and an inefficient approach. Furthermore, interfacing of stack platform with core
application of network functions such as the SMF and/or the AMF of 5G network is complex
25 and voluminous work due to a large number of Application Programming Interfaces (APIs)
involved in said interfacing.
[0054] As discussed in the background section, the current known solutions have several
shortcomings. The present disclosure aims to overcome the above-mentioned and other
30 existing problems in this field of technology by providing a method and system for
implementing a platform for encoding and decoding messages of target protocols.
13
[0055] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0056] FIG. 1 illustrates an exemplary block diagram representation of 5th generation core
5 (5GC) network architecture, in accordance with exemplary implementation of the present
disclosure. As shown in FIG. 1, the 5GC network architecture [100] includes a user equipment (UE) [102], a radio access network (RAN) [104], an access and mobility management function (AMF) [106], a Session Management Function (SMF) [108], a Service Communication Proxy (SCP) [110], an Authentication Server Function (AUSF) [112], a Network Slice Specific
10 Authentication and Authorization Function (NSSAAF) [114], a Network Slice Selection
Function (NSSF) [116], a Network Exposure Function (NEF) [118], a Network Repository Function (NRF) [120], a Policy Control Function (PCF) [122], a Unified Data Management (UDM) [124], an application function (AF) [126], a User Plane Function (UPF) [128], a data network (DN) [130], wherein all the components are assumed to be connected to each other
15 in a manner as obvious to the person skilled in the art for implementing features of the
present disclosure.
[0057] Radio Access Network (RAN) [104] is the part of a mobile telecommunications system
that connects user equipment (UE) [102] to the core network (CN) and provides access to
20 different types of networks (e.g., 5G network). It consists of radio base stations and the radio
access technologies that enable wireless communication.
[0058] Access and Mobility Management Function (AMF) [106] is a 5G core network function
responsible for managing access and mobility aspects, such as UE registration, connection,
25 and reachability. It also handles mobility management procedures like handovers and paging.
[0059] Session Management Function (SMF) [108] is a 5G core network function responsible
for managing session-related aspects, such as establishing, modifying, and releasing sessions.
It coordinates with the User Plane Function (UPF) for data forwarding and handles IP address
30 allocation and QoS enforcement.
14
[0060] Service Communication Proxy (SCP) [110] is a network function in the 5G core network that facilitates communication between other network functions by providing a secure and efficient messaging service. It acts as a mediator for service-based interfaces.
5 [0061] Authentication Server Function (AUSF) [112] is a network function in the 5G core
responsible for authenticating UEs during registration and providing security services. It generates and verifies authentication vectors and tokens.
[0062] Network Slice Specific Authentication and Authorization Function (NSSAAF) [114] is a
10 network function that provides authentication and authorization services specific to network
slices. It ensures that UEs can access only the slices for which they are authorized.
[0063] Network Slice Selection Function (NSSF) [116] is a network function responsible for
selecting the appropriate network slice for a UE based on factors such as subscription,
15 requested services, and network policies.
[0064] Network Exposure Function (NEF) [118] is a network function that exposes capabilities and services of the 5G network to external applications, enabling integration with third-party services and applications. 20
[0065] Network Repository Function (NRF) [120] is a network function that acts as a central repository for information about available network functions and services. It facilitates the discovery and dynamic registration of network functions.
25 [0066] Policy Control Function (PCF) [122] is a network function responsible for policy control
decisions, such as QoS, charging, and access control, based on subscriber information and network policies.
[0067] Unified Data Management (UDM) [124] is a network function that centralizes the
30 management of subscriber data, including authentication, authorization, and subscription
information.
15
[0068] Application Function (AF) [126] is a network function that represents external applications interfacing with the 5G core network to access network capabilities and services.
[0069] User Plane Function (UPF) [128] is a network function responsible for handling user
5 data traffic, including packet routing, forwarding, and QoS enforcement.
[0070] Data Network (DN) [130] refers to a network that provides data services to user equipment (UE) in a telecommunications system. The data services may include but are not limited to Internet services, private data network related services.
10
[0071] FIG. 2 illustrates an exemplary block diagram of a computing device [1000] (or referred to herein as a computer system [1000]) upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device [1000] may be in communication with
15 a communication network (such as a 5th generation network) and may implement a method
for implementing a platform for encoding and decoding messages of target protocols utilising a system [300]. In another implementation, the computing device [1000] in communication with the communication network, itself implements the method for implementing the platform for encoding and decoding messages of target protocols using one or more units
20 configured within the computing device [1000], wherein a person skilled in the art would
appreciate that said one or more units are capable of implementing the features as disclosed in the present disclosure.
[0072] The computing device [1000] may include a bus [1002] or other communication
25 mechanism for communicating information, and a hardware processor [1004] coupled with
bus [1002] for processing information. The hardware processor [1004] may be, for example,
a general purpose microprocessor. The computing device [1000] may also include a main
memory [1006], such as a random access memory (RAM), or other dynamic storage device,
coupled to the bus [1002] for storing information and instructions to be executed by the
30 processor [1004]. The main memory [1006] also may be used for storing temporary variables
or other intermediate information during execution of the instructions to be executed by the processor [1004]. Such instructions, when stored in non-transitory storage media accessible
16
to the processor [1004], render the computing device [1000] into a special-purpose machine
that is customized to perform the operations specified in the instructions. The computing
device [1000] further includes a read only memory (ROM) [1008] or other static storage
device coupled to the bus [1002] for storing static information and instructions for the
5 processor [1004].
[0073] A storage device [1010], such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus [1002] for storing information and instructions. The computing device [1000] may be coupled via the bus [1002] to a display [1012], such as a
10 cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display,
Organic LED (OLED) display, etc. for displaying information to a computer user. An input device [1014], including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus [1002] for communicating information and command selections to the processor [1004]. Another type of user input device may be a cursor controller [1016], such
15 as a mouse, a trackball, or cursor direction keys, for communicating direction information and
command selections to the processor [1004], and for controlling cursor movement on the display [1012]. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
20 [0074] The computing device [1000] may implement the techniques described herein using
customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computing device [1000] causes or programs the computing device [1000] to be a special-purpose machine. According to one implementation, the techniques herein are performed by the computing device [1000] in response to the
25 processor [1004] executing one or more sequences of one or more instructions contained in
the main memory [1006]. Such instructions may be read into the main memory [1006] from another storage medium, such as the storage device [1010]. Execution of the sequences of instructions contained in the main memory [1006] causes the processor [1004] to perform the process steps described herein. In alternative implementations of the present disclosure,
30 hard-wired circuitry may be used in place of or in combination with software instructions.
17
[0075] The computing device [1000] also may include a communication interface [1018]
coupled to the bus [1002]. The communication interface [1018] provides a two-way data
communication coupling to a network link [1020] that is connected to a local network [1022].
For example, the communication interface [1018] may be an integrated services digital
5 network (ISDN) card, cable modem, satellite modem, or a modem to provide a data
communication connection to a corresponding type of telephone line. As another example,
the communication interface [1018] may be a local area network (LAN) card to provide a data
communication connection to a compatible LAN. Wireless links may also be implemented. In
any such implementation, the communication interface [1018] sends and receives electrical,
10 electromagnetic or optical signals that carry digital data streams representing various types
of information.
[0076] The computing device [1000] can send messages and receive data, including program code, through the network(s), the network link [1020] and the communication interface
15 [1018]. In the Internet example, a server [1030] might transmit a requested code for an
application program through the Internet [1028], the ISP [1026], the local network [1022], the host [1024] and the communication interface [1018]. The received code may be executed by the processor [1004] as it is received, and/or stored in the storage device [1010], or other non-volatile storage for later execution.
20
[0077] Referring to FIG. 3, an exemplary block diagram of a system [300] for implementing a platform for encoding and decoding messages of target protocols, is shown, in accordance with the exemplary implementations of the present disclosure. The system [300] for implementing the platform for decoding messages of target protocols comprises at least one
25 transceiver unit [3002], at least object creator unit [3004], at least one analysis unit [3006],
at least one decoder unit [3008] and a storage unit. The system [300] for implementing the platform for encoding messages of target protocols comprises at least one transceiver unit [3102], at least object creator unit [3104], at least one input unit [3106], at least one encoder unit [3108], and the storage unit. Also, all of the components/ units of the system [300] are
30 assumed to be connected to each other unless otherwise indicated below. Also, in Fig. 3 only
a few units are shown, however, the system [300] may comprise multiple such units or the system [300] may comprise any such numbers of said units, as required to implement the
18
features of the present disclosure. Further, in an implementation, the system [300] may reside in a server or a network entity.
[0078] In an implementation the system [300] is configured for implementing a platform for
5 decoding one or more messages of one or more target protocols, with the help of the
interconnection between the components/units of the system [300].
[0079] For implementing the platform for decoding the one or more messages of the one or more target protocols, initially the transceiver unit [3002] of the system [300] may receive, at
10 the platform [301], a message from a network node of a communication network. The
message comprises one or more information elements (IEs), wherein the message relates to one of the one or more target protocols. Each of the of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the one or more ASN 1.0 PER based protocols comprises one or more aligned variants of the ASN 1.0
15 PER and one or more non-aligned variants of the ASN 1.0 PER.
[0080] In an implementation, an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol may include but is not limited to at least one of a Next Generation Application Protocol (NGAP) and a S1 Application Protocol (S1AP). Therefore, target protocols
20 refer to a set of communication protocols utilized within a network environment, specifically
adopting the Abstract Syntax Notation (ASN) 1.0 Packed Encoding Rules (PER). The NGAP is a target protocol utilized in 5G networks for communication between network elements such as a Core Network (CN) and a Radio Access Network (RAN). It employs ASN.1 PER for efficient message exchange between the network elements. The S1AP is a target protocol that in Long
25 Term Evolution (LTE) networks facilitates communication between a Mobility Management
Entity (MME) and an Evolved NodeB (eNodeB). It utilizes ASN.1 PER and supports exchange of control plane messages between network elements.
[0081] Also, as used herein an “information element (IE)” comprises an information required
30 to be sent across an interface of the communication network (e.g., 5G network) via the
message, wherein said information may include but is not limited to a Quality of Service (QoS)
19
related information, an information related to network capability, and a user equipment identifier etc.
[0082] Particularly, the transceiver unit [3002] may receive the message from the network
5 node for decoding said message. Further, the term “network node” herein may correspond
to a specific device or entity within the communication network, the network node is responsible for sending or transmitting data.
[0083] The platform [301] is a part of the system [300] that encodes the messages before such messages are transmitted from the system [300] to one or more network nodes in the communication network. Moreover, the platform [301] also decodes the messages that are received by the system [300]. More specifically, the platform [301] is a common stack platform that may be implemented for different Abstract Syntax Notation (ASN) 1.0 basic-Packed Encoding Rules (PER) based protocols. In the platform [301] only common generic encoding and decoding application programming interfaces (APIs) are used which results in a reduction of number of APIs involved in interfacing with a core application of the communication network. Therefore, the implementation of the platform [301] (i.e., the common stack platform) for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols overcomes the limitations of existing solution as in the existing solutions there is a requirement of different stack platforms for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols.
[0084] The platform [301] is an integral component of the system [300] designed for encoding
and decoding messages exchanged between network nodes within a communication
25 network. It facilitates seamless communication by employing a unified approach to handle
various Abstract Syntax Notation (ASN) 1.0 basic-Packed Encoding Rules (PER) based protocols, including Aligned Variant and Non-Aligned Variant protocols.
[0085] Moreover, in telecommunication networks such as 5G networks, the platform [301]
30 facilitates efficient encoding and decoding of messages exchanged between base stations,
user equipment, and network core elements. It supports protocols such as Next Generation
Application Protocol (NGAP) and S1 Application Protocol (S1AP), ensuring seamless
20
communication and interoperability. In an implementation for Internet of Things (IoT)
applications involving communication between heterogeneous devices and the applications,
the platform [301] may serve as a standardized encoding and decoding platform. It supports
protocols such as NGAP and S1AP, enabling standardized message exchange and
5 interoperability among IoT devices.
[0086] Further, the object creator unit [3004] is connected to the transceiver unit [3002]. The object creator unit [3004] creates a stack object for the message at the platform [301].
[0087] The stack object refers to a structured data entity generated by the object creator unit [3004] within a system [300], wherein said stack object is specifically designed to organize and manage message data originating from the platform [301]. The creation of the stack object by the object creator unit [3004] is a fundamental step in decoding the message received from the network node. After the creation of the stack object for the message, the transceiver unit [3002] passes network bytes present in the message to the stack object.
[0088] Further, the analysis unit [3006] analyses, at the platform [301], the one or more IEs
of the message by passing the message through the stack object, based on at least one of:
one or more decoding rules, a set of properties of each of the one or more IEs, and a JavaScript
20 Object Notation (JSON) configuration associated with each of the one or more IEs. Also, after
the analysis the decoder unit [3008] decodes the message based on the analysis.
[0089] The one or more decoding rules are one or more ASN decoding rules, and the set of properties is a set of ASN properties of each of the one or more IEs. The set of ASN properties
25 is collection of attributes or characteristics associated with each IE and is specifically defined
according to the ASN.1.0. Moreover, the set of ASN properties may be obvious to a person skilled in the art in light of the Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the set of ASN properties may include but are not limited to, type, length, tag, constraints, and/or default value etc. The one or more decoding rules are one or
30 more decoding techniques pre-stored in a memory module of the system [300]. In one
implementation, one or more ASN decoding rules are user defined and pre-stored in the storage unit, however the disclosure is not limited thereto. It is to be noted that, in an
21
implementation, each IE in the received message is decoded according to ASN decoding rules using a dictionary or grammar of this IE configured in a JSON format.
[0090] It is to be noted that each IE is decoded according to its ASN properties. The one or
5 more ASN decoding rules are based on a data type associated with the one or more IEs. The
data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
[0091] The data type “integer” herein may correspond to a whole number, which can be
10 positive, negative, or zero. For example, integer: 42.
[0092] The data type “enumerated” herein may correspond to a set of named values, where each name corresponds to a unique integer.
15 [0093] The data type “string” herein may correspond to a sequence of characters. Common
string types include `UTF8String`, `IA5String`, and `PrintableString`. For Example, UTF8String: "Hello, World!"
[0094] The data type “choice” herein may correspond to an allowance of several possible
20 types to be selected for a given value. For example, choice {intvalue integer, strvalue
utf8string}.
[0095] The data type “extension” herein may be used to allow future extensions to types
without breaking existing implementations, often marked in SEQUENCE and CHOICE types.
25 Example: `SEQUENCE {name UTF8String, age INTEGER, ...}.
[0096] The data type “sequence” herein may correspond to a collection of elements, each with a specified type, where the elements must appear in a specified order.
30 [0097] The data type “sequence of” herein may correspond to a list of elements, all of which
are of the same type. For example, a sequence of integers.
22
[0098] In one implementation, one or more JSON configuration files may be supplied by a user to the platform [301] which configures the platform [301] to encode and decode messages transmitted and received (respectively) through a given ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocol. 5
[0099] It is to be noted that the platform [301] essentially needs the grammar or dictionary
to encode and decode messages for the given ASN 1.0 basic-PER (Aligned Variant and/or Non-
Aligned Variant) based protocol. The required dictionary is provided to the platform [301] in
the form of the JSON configuration file containing the necessary details for enabling the
10 platform to encode and decode messages for the given ASN 1.0 basic-PER (Aligned Variant/or
Non-Aligned Variant) based protocol.
[0100] Moreover, the platform [301] is enabled such that it can receive multiple JSON
configuration files and may get configured with each JSON file it receives. As a result, the
15 same platform [301] acts as a common stack platform for different ASN 1.0 basic-PER (Aligned
Variant and/or Non-Aligned Variant) based protocols, such as Next Generation Application Protocol (NGAP) and S1 Application Protocol (S1AP).
[0101] In one implementation, each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which a decoding information exists in a cache memory, and the unfamiliar IE is an IE for which the decoding information is absent in the cache memory. In another implementation, the decoding information may be created by the system [300] to identify the unfamiliar IE. In an implementation the analysis of the familiar IE of the message is performed using the decoding information existing in the cache memory. Also, in an implementation that analysis of the unfamiliar IE of the message is performed using the decoding information created by the system [300] to identify the unfamiliar IE.
[0102] The system [300] further comprises the decoder unit [3008] that may decode, at the platform [301], the message based on the analysis performed by the analysis unit [3006]. 30
[0103] It is to be noted that, the decoder unit [3008] may get IE values in that particular message using common generic decoding Application Programming Interfaces (APIs). This
23
way the platform [301] is enabled to decode messages for different ASN 1.0 basic-PER (Aligned Variant and Non-Aligned Variant) based protocols.
[0104] Further in one of the implementations of the present disclosure the system [300] is
5 configured for encoding messages for target protocols, wherein the system [300] performs
said encoding using the at least one transceiver unit [3102], the at least one object creator unit [3104], the at least one input unit [3106], and the at least one encoder unit [3108].
[0105] For implementing the platform for encoding the one or more messages of one or more
10 target protocols, initially the transceiver unit [3102] of the system [300] may receive, at the
platform [301], an indication for sending a message to a network node. The message
comprises one or more information elements (IEs), wherein the message relates to one of the
one or more target protocols. Each of the one or more target protocols is an Abstract Syntax
Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the one or more ASN
15 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one
or more non-aligned variants of the ASN 1.0 PER.
[0106] In an implementation, the ASN 1.0 PER based protocol may include but is not limited to at least one of a Next Generation Application Protocol (NGAP) and a S1 Application Protocol
20 (S1AP). Also, as used herein an “information element (IE)” comprises an information required
to be sent across an interface of the communication network (e.g., 5G network) via the message, wherein said information may include but is not limited to a Quality of Service (QoS) related information, an information related to network capability, and a user equipment identifier etc.
25
[0107] Particularly, the transceiver unit [3102] may transmit the message to the network node by encoding the message to be transmitted by the system [300]. Further, the term “network node” herein may correspond to a specific device or entity within the communication network, the network node is responsible for sending or transmitting data.
30
[0108] The platform [301] is a part of the system [300] which encodes the messages before such messages are transmitted from the system [300] to one or more network nodes in the
24
communication network. Moreover, the platform [301] also decodes the messages that are received by the system [300].
[0109] More specifically, the platform [301] is a common stack platform that may be
5 implemented for different Abstract Syntax Notation (ASN) 1.0 basic-Packed Encoding Rules
(PER) based protocols. In the platform [301] only common generic encoding and decoding
application programming interfaces (APIs) are used which results in a reduction of number of
APIs involved in interfacing with a core application of the communication network. Therefore,
the implementation of the platform [301] (i.e., the common stack platform) for different ASN
10 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols overcomes the
limitations of existing solution as in the existing solutions there is a requirement of different stack platforms for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols.
15 [0110] Each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the
familiar IE is an IE for which an encoding information exists in a cache memory, and the unfamiliar IE is an IE for which the encoding information is absent in the cache memory. It is to be noted that the analysis of the familiar IE of the message is performed using the encoding information existing in the cache memory. Also, in an implementation that analysis of the
20 unfamiliar IE of the message is performed using the encoding information created by the
system [300] to identify the unfamiliar IE.
[0111] Further, the object creator unit [3104] is communicably coupled to the transceiver
unit [3102]. The object creator unit [3104] is configured to create, at the platform [301], a
25 stack object for the message.
[0112] The stack object refers to a structured data entity generated by the object creator unit
[3104] within a system, wherein said stack object is specifically designed to organize and
manage message data originating from the platform [301]. The creation of the stack object
30 by the object creator unit [3104] is a fundamental step in encoding the message for
transmission to the network node. After the creation of the stack object for the message, the
25
transceiver unit [3102] passes values of the IEs in that particular stack object using common generic encoding Application Programming Interfaces (APIs).
[0113] The input unit [3106] is connected with the object creator unit [3104]. The input unit
5 [3106] is further configured to provide, at the platform [301], a value for each of the one or
more IEs in the message, based on at least one of: one or more encoding rules, a set of
properties of each of the one or more IEs, and a JavaScript Object Notation (JSON)
configuration associated with each of the one or more IEs. The value of the IE is derived by
utilizing the provided encoding rules, IE properties, and JSON configurations via the input unit
10 [3106]. Also, after the analysis the encoder unit [3108] encodes the message based on the
analysis.
[0114] The one or more encoding rules are one or more ASN encoding rules, and the set of properties is a set of ASN properties of said each of the one or more IEs. The set of ASN
15 properties is collection of attributes or characteristics associated with each Information
Element (IE) and is specifically defined according to the ASN 1.0. Moreover, the set of ASN properties may be obvious to a person skilled in the art in light of the Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the set of ASN properties may include but are not limited to, type, length, tag, constraints, and/or default value etc. It is to
20 be noted that each IE is encoded according to its ASN properties. It is to be noted that, in an
implementation, each IE in the message is encoded according to the ASN encoding rules using a dictionary or grammar of this IE configured in a JSON format.
[0115] The one or more encoding rules are the one or more encoding techniques pre-stored
25 in a memory module of the system [300]. The one or more ASN encoding rules are user
defined and are pre-stored in a storage unit, however the disclosure is not limited thereto. The one or more ASN encoding rules are based on a data type associated with the one or more IEs.
30 [0116] The data type is one of an integer data type, an enumerated data type, a string data
type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
26
[0117] In one implementation, one or more JSON configuration files may be supplied by a
user to the platform [301] which configures the platform [301] to encode messages
transmitted through a given ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant)
5 based protocol.
[0118] It is to be noted that the platform [301] essentially needs the dictionary to encode
messages for the given ASN 1.0 basic-PER based protocol. The required dictionary is provided
to the platform [301] in the form of the JSON configuration file containing the necessary
10 details for enabling the platform to encode messages for the given ASN 1.0 basic-PER based
protocol.
[0119] Moreover, the platform [301] is enabled such that it can receive multiple JSON
configuration files and may get configured with each JSON file it receives. As a result, the
15 same platform [301] acts as a common stack platform for different ASN 1.0 basic-PER (Aligned
Variant and Non-Aligned Variant) based protocols, such as Next Generation Application Protocol (NGAP) and S1 Application Protocol (S1AP).
[0120] Further, the encoder unit [3108] is configured to encode, at the platform [301], the
20 message based on providing the value for the each of the one or more IEs in the message.
[0121] It is to be noted that, the platform [301] may create a final encoded buffer of the
message that is to be transmitted to the network node in the form of network bytes. This way
the platform [301] is enabled to encode messages for different ASN 1.0 basic-PER (Aligned
25 Variant and Non- Aligned Variant) based protocols.
[0122] Referring to Figure 4, an exemplary method flow diagram [400] for implementing a
platform for decoding one or more messages of one or more target protocols, in accordance
with exemplary implementations of the present disclosure is shown. In an implementation,
30 the method [400] is performed by the system [300]. Further, in an implementation, the
system [300] may be present in a server device to implement the features of the present disclosure. Also, as shown in Figure 4, the method [400] starts at step [402].
27
[0123] At step [404], the method [400] as disclosed by the present disclosure comprises
receiving, by a transceiver unit [3002] at the platform [301], a message from a network node,
the message comprising one or more information elements (IEs), wherein the message relates
5 to one of the one or more target protocols.
[0124] The method comprises receiving by the transceiver unit [3002], the message from the
network node for decoding said message. Further, the term “network node” herein may
correspond to a specific device or entity within the communication network, the network
10 node is responsible for sending or transmitting data.
[0125] The platform [301] is a part of the system [300] which encodes the messages before such messages are transmitted from the system [300] to one or more network nodes in the communication network. Moreover, the platform [301] also decodes the messages that are
15 received by the system [300]. More specifically, the platform [301] is a common stack
platform that may be implemented for different Abstract Syntax Notation (ASN) 1.0 basic-Packed Encoding Rules (PER) based protocols. In the platform [301] only common generic encoding and decoding application programming interfaces (APIs) are used which results in a reduction of number of APIs involved in interfacing with a core application of the
20 communication network. Therefore, the implementation of the platform [301] (i.e., the
common stack platform) for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols overcomes the limitations of existing solution as in the existing solutions there is a requirement of different stack platforms for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols.
25
[0126] Each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. The one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
30
[0127] At step [406], the method [400] as disclosed by the present disclosure comprises creating, by an object creator unit [3004] at the platform [301], a stack object for the message.
28
[0128] The stack object refers to a structured data entity generated by the object creator unit
[3004] within a system, wherein said stack object is specifically designed to organize and
manage message data originating from the platform [301]. The creation of the stack object
5 by the object creator unit [3104] is a fundamental step in decoding the message received from
the network node. After, creating the stack object for the message, the transceiver unit [3002] passes network bytes present in the message to the stack object.
[0129] At step [408], the method [400] as disclosed by the present disclosure comprises analysing, by an analysis unit [3006] at the platform [301], the one or more IEs of the message by passing the message through the stack object, based on at least one of: one or more decoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs. Also, after the analysis the decoder unit [3008] decodes the message based on the analysis.
[0130] Each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which a decoding information exists in a cache memory, and the unfamiliar IE is an IE for which the decoding information is absent in the cache memory. It is to be noted that the analysis of the familiar IE of the message is performed using the decoding information existing in the cache memory. In another implementation, the decoding information may be created by the system [300] to identify the unfamiliar IE. In an implementation, the analysis of the familiar IE of the message is performed using the decoding information existing in the cache memory. Also, in an implementation that analysis of the unfamiliar IE of the message is performed using the decoding information created by the system [300] to identify the unfamiliar IE.
[0131] The one or more decoding rules are one or more ASN decoding rules, and the set of
properties is a set of ASN properties of said each of the one or more IEs. The set of ASN
properties is collection of attributes or characteristics associated with each IE and is
30 specifically defined according to the ASN.1.0. Moreover, the set of ASN properties may be
obvious to a person skilled in the art in light of the Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the set of ASN properties may include but are not
29
limited to, type, length, tag, constraints, and/or default value etc. The one or more decoding
rules are one or more decoding techniques pre-stored in a memory module of the system
[300]. The one or more ASN decoding rules are user defined and pre-stored in a storage unit,
however the disclosure is not limited thereto. It is to be noted that, in an implementation,
5 each IE in the received message is decoded according to ASN decoding rules using a dictionary
or grammar of this IE configured in a JSON format.
[0132] It is to be noted that each IE is decoded according to its ASN properties. The one or
more ASN decoding rules are based on a data type associated with the one or more IEs. The
10 data type is one of an integer data type, an enumerated data type, a string data type, a choice
data type, an extension data type, a sequence data type, and a sequence-of data type.
[0133] The data type “integer” herein may correspond to a whole number, which can be positive, negative, or zero. For example, integer: 42. 15
[0134] The data type “enumerated” herein may correspond to a set of named values, where each name corresponds to a unique integer.
[0135] The data type “string” herein may correspond to a sequence of characters. Common
20 string types include `UTF8String`, `IA5String`, and `PrintableString`. For Example, UTF8String:
"Hello, World!"
[0136] The data type “choice” herein may correspond to an allowance of several possible
types to be selected for a given value. For example, choice {intvalue integer, strvalue
25 utf8string}.
[0137] The data type “extension” herein may be used to allow future extensions to types without breaking existing implementations, often marked in SEQUENCE and CHOICE types. Example: `SEQUENCE {name UTF8String, age INTEGER, ...}. 30
[0138] The data type “sequence” herein may correspond to a collection of elements, each with a specified type, where the elements must appear in a specified order.
30
[0139] The data type “sequence of” herein may correspond to a list of elements, all of which are of the same type. For example, a sequence of integers.
[0140] In one implementation, one or more JSON configuration files may be supplied by a
5 user to the platform [301] which configures the platform [301] to encode and decode
messages transmitted and received (respectively) through a given ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocol.
[0141] It is to be noted that the platform [301] essentially needs the grammar of dictionary to encode and decode messages for the given ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocol. The required dictionary is provided to the platform [301] in the form of the JSON configuration file containing the necessary details for enabling the platform to encode and decode messages for the given ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocol.
[0142] Moreover, the platform [301] is enabled such that it can receive multiple JSON configuration files and may get configured with each JSON file it receives. As a result, the same platform [301] acts as a common stack platform for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols, such as Next Generation Application Protocol (NGAP) and S1 Application Protocol (S1AP).
[0143] At step [410], the method [400] as disclosed by the present disclosure comprises decoding, by a decoder unit [3008] at the platform [301], the message based on the analysis.
25 [0144] It is to be noted that the decoder unit [3008] may get IE values in that particular
message using common generic decoding APIs. This way the platform [301] is enabled to decode messages for different ASN 1.0 basic-PER (Aligned Variant and Non-Aligned Variant) based protocols.
30 [0145] Thereafter the method terminates at step [412].
31
[0146] Referring to Figure 5, an exemplary method flow diagram [500] for implementing a
platform for encoding one or more messages of one or more target protocols, in accordance
with exemplary implementations of the present disclosure is shown. In an implementation,
the method [500] is performed by the system [300]. Further, in an implementation, the
5 system [300] may be present in a server device to implement the features of the present
disclosure. Also, as shown in Figure 5, the method [500] starts at step [502].
[0147] At step [504], the method [500] as disclosed by the present disclosure comprises receiving, by a transceiver unit [3102] at the platform [301], an indication for sending a message to a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols. Each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
[0148] In an implementation, the ASN 1.0 PER based protocol may include but is not limited to at least one of a Next Generation Application Protocol (NGAP) and a S1 Application Protocol (S1AP). Also, as used herein an “information element (IE)” comprises an information required to be sent across an interface of the communication network (e.g., 5G network) via the message, wherein said information may include but is not limited to a Quality of Service (QoS) related information, an information related to network capability, and a user equipment identifier etc.
[0149] Particularly, the transceiver unit [3102] may transmit the message to the network
25 node by encoding the message to be transmitted by the system [300]. Further, the term
“network node” herein may correspond to a specific device or entity within the communication network, the network node is responsible for sending or transmitting data.
The platform [301] is a part of the system [300] which encodes the messages before such
30 messages are transmitted from the system [300] to one or more network nodes in the
communication network. Moreover, the platform [301] also decodes the messages that are received by the system [300].
32
[0150] More specifically, the platform [301] is a common stack platform that may be
implemented for different Abstract Syntax Notation (ASN) 1.0 basic-Packed Encoding Rules
(PER) based protocols. In the platform [301] only common generic encoding and decoding
5 application programming interfaces (APIs) are used which results in a reduction of number of
APIs involved in interfacing with a core application of the communication network. Therefore,
the implementation of the platform [301] (i.e., the common stack platform) for different ASN
1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols overcomes the
limitations of existing solution as in the existing solutions there is a requirement of different
10 stack platforms for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant)
based protocols.
[0151] It is to be noted that, each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which an encoding information exists in a
15 cache memory, and the unfamiliar IE is an IE for which the encoding information is absent in
the cache memory. An analysis of the familiar IE of the message is performed using the encoding information existing in the cache memory. Also, in an implementation that analysis of the unfamiliar IE of the message is performed using the encoding information created by the system [300] to identify the unfamiliar IE.
20
[0152] At step [506], the method [500] as disclosed by the present disclosure comprises creating, by an object creator unit [3104] at the platform [301], a stack object for the message.
[0153] The stack object refers to a structured data entity generated by the object creator unit
25 [3104] within a system, wherein said stack object is specifically designed to organize and
manage message data originating from the platform [301]. The creation of the stack object
by the object creator unit [3104] is a fundamental step in encoding the message for
transmission to the network node. After, the creation of the stack object for the message, the
transceiver unit [3102] passes values of the IEs in that particular stack object using common
30 generic encoding Application Programming Interfaces (APIs).
33
[0154] At step [508], the method [500] as disclosed by the present disclosure comprises
providing, by an input unit [3106] at the platform [301], a value for each of the one or more
IEs in the message, based on at least one of: one or more encoding rules, a set of properties
of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration
5 associated with each of the one or more IEs. The value of the IE is derived by utilizing the
provided encoding rules, IE properties, and JSON configurations via the input unit [3106]. Also, after the analysis the encoder unit [3108] encodes the message based on the analysis.
[0155] The one or more encoding rules are one or more ASN encoding rules, and the set of
10 properties is a set of ASN properties of said each of the one or more IEs.
[0156] The set of ASN properties is collection of attributes or characteristics associated with
each Information Element (IE) and is specifically defined according to the ASN 1.0. Moreover,
the set of ASN properties may be obvious to a person skilled in the art in light of the Abstract
15 Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol. Also, the set of ASN
properties may include but are not limited to, type, length, tag, constraints, and/or default value etc.
[0157] It is to be noted that, each IE in the message is encoded according to the ASN encoding rules using a dictionary or grammar of this IE configured in the JSON format. The one or more ASN encoding rules are user defined and pre-stored in a storage unit, however the disclosure is not limited thereto. The one or more ASN encoding rules are based on a data type associated with the one or more IEs. The data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
[0158] At step [510], the method [500] as disclosed by the present disclosure comprises encoding, by an encoder unit [3108] at the platform [301], the message based on the providing the value for the each of the one or more IEs in the message. 30
[0159] It is to be noted that, the platform [301] may create a final encoded buffer of the message that is to be transmitted to the network node in the form of network bytes. This way
34
the platform [301] is enabled to encode messages for different ASN 1.0 basic-PER (Aligned Variant and/or Non-Aligned Variant) based protocols.
[0160] Thereafter the method terminates at step [512]. 5
[0161] The present disclosure further discloses a non-transitory computer readable storage medium storing instructions for implementing a platform for decoding one or more messages of one or more target protocols, the instructions include executable code which, when executed by one or more units of a system, causes: a transceiver unit [3002] of the system
10 [300] to receive, at the platform [301], a message from a network node, the message
comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols; an object creator unit [3004] of the system [300] to create, at the platform [301], a stack object for the message; an analysis unit [3006] of the system [300] to analyse, at the platform [301], one or more IEs of the message by passing the message
15 through the stack object, based on at least one of: one or more decoding rules, a set of
properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs; and a decoder unit [3008] of the system [300] to decode, at the platform [301], the message based on the analysis.
20 [0162] The present disclosure further discloses a non-transitory computer readable storage
medium storing instructions for implementing a platform [301] for encoding one or more messages of one or more target protocols, the instructions include executable code which, when executed by one or more units of a system, causes: a transceiver unit [3102] of the system [300] to receive, at the platform [301], an indication for sending a message to a
25 network node, the message comprising one or more information elements (IEs), wherein the
message relates to one of the one or more target protocols; an object creator unit [3104] of the system [300] to create, at the platform [301], a stack object for the message; an input unit [3106] of the system [300] to provide, at the platform [301], a value for each of the one or more IEs in the message, based on at least one of: one or more encoding rules, a set of
30 properties of each of the one or more IEs, and a JavaScript Object Notation (JSON)
configuration associated with each of the one or more IEs; and an encoder unit [3108] of the
35
system [300] to encode, at the platform [301], the message based on the providing the value for the each of the one or more IEs in the message.
[0163] As is evident from the above, the present disclosure provides a technically advanced
5 solution for implementing a platform for encoding and decoding one or more messages of
one or more target protocols. The method and system for implementing a common stack platform for different ASN 1.0 basic-PER based protocols, as disclosed in the present disclosure, enables common encoding and decoding APIs to be used for different protocols such as NGAP and S1AP. It is emphasized that no information element or message-specific
10 APIs are needed, as are needed in the case of conventional stack platforms known in the art.
Moreover, the number of APIs required is also reduced by the use of the present solution, which improves computational speed and efficiency and makes the overall system less resource-intensive. The method and system for implementing a common stack platform for different ASN 1.0 basic-PER based protocols makes the stack platform highly scalable and
15 optimized.
[0164] While considerable emphasis has been placed herein on the disclosed
implementations, it will be appreciated that many implementations can be made and that
many changes can be made to the implementations without departing from the principles of
20 the present disclosure. These and other changes in the implementations of the present
disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
36
We Claim:
1. A method for implementing a platform for decoding one or more messages of one or
more target protocols, the method comprising:
- receiving, by a transceiver unit [3002] at the platform [301], a message from a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols;
- creating, by an object creator unit [3004] at the platform [301], a stack object for the message;
- analysing, by an analysis unit [3006] at the platform [301], the one or more IEs of the message by passing the message through the stack object, based on at least one of: one or more decoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs; and
- decoding, by a decoder unit [3008] at the platform [301], the message based on the analysis.
2. The method as claimed in claim 1, wherein each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol, the one or more decoding rules are one or more ASN decoding rules, and the set of properties is a set of ASN properties of said each of the one or more IEs.
3. The method as claimed in claim 2, wherein the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
4. The method as claimed in claim 2, wherein the one or more ASN decoding rules are pre-stored in a storage unit.
5. The method as claimed in claim 2, wherein the one or more ASN decoding rules are based on a data type associated with the one or more IEs.
6. The method as claimed in claim 5, wherein the data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
7. The method as claimed in claim 1, wherein each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which a decoding information exists in a cache memory, and the unfamiliar IE is an IE for which the decoding information is absent in the cache memory.
8. The method as claimed in claim 7, wherein an analysis of the familiar IE of the message is performed using the decoding information existing in the cache memory.
9. A method for implementing a platform for encoding one or more messages of one or more target protocols, the method comprising:
- receiving, by a transceiver unit [3102] at the platform [301], an indication for sending a message to a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols;
- creating, by an object creator unit [3104] at the platform [301], a stack object for the message;
- providing, by an input unit [3106] at the platform [301], a value for each of the one or more IEs in the message, based on at least one of: one or more encoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs; and
- encoding, by an encoder unit [3108] at the platform [301], the message based on the providing the value for the each of the one or more IEs in the message.
10. The method as claimed in claim 9, wherein each of the one or more target protocols
is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol,
the one or more encoding rules are one or more ASN encoding rules, and the set of
properties is a set of ASN properties of said each of the one or more IEs.
11. The method as claimed in claim 10, wherein the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
12. The method as claimed in claim 10, wherein the one or more ASN encoding rules are pre-stored in a storage unit.
13. The method as claimed in claim 10, wherein the one or more ASN encoding rules are based on a data type associated with the one or more IEs.
14. The method as claimed in claim 13, wherein the data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
15. The method as claimed in claim 9, wherein each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which an encoding information exists in a cache memory, and the unfamiliar IE is an IE for which the encoding information is absent in the cache memory.
16. The method as claimed in claim 15, wherein an analysis of the familiar IE of the message is performed using the encoding information existing in the cache memory.
17. A system for implementing a platform for decoding one or more messages of one or more target protocols, the system comprising:
- a transceiver unit [3002] configure to receive, at the platform [301], a message from a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols;
- an object creator unit [3004] configured to create, at the platform [301], a stack object for the message;
- an analysis unit [3006] configured to analyse, at the platform [301], one or more IEs of the message by passing the message through the stack object, based on at least one of: one or more decoding rules, a set of properties of each of the one or
more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs; and - a decoder unit [3008] configured to decode, at the platform [301], the message based on the analysis.
18. The system as claimed in claim 17, wherein each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol, the one or more decoding rules are one or more ASN decoding rules, and the set of properties is a set of ASN properties of said each of the one or more IEs.
19. The system as claimed in claim 18, wherein the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
20. The system as claimed in claim 18, wherein the one or more ASN decoding rules are pre-stored in a storage unit.
21. The system as claimed in claim 18, wherein the one or more ASN decoding rules are based on a data type associated with the one or more IEs.
22. The system as claimed in claim 21, wherein the data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
23. The system as claimed in claim 17, wherein each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which a decoding information exists in a cache memory, and the unfamiliar IE is an IE for which the decoding information is absent in the cache memory.
24. The system as claimed in claim 23, wherein the analysis of the familiar IE of the message is performed using the decoding information existing in the cache memory.
25. A system for implementing a platform for encoding one or more messages of one or
more target protocols, the system comprising:
- a transceiver unit [3102] configured to receive, at the platform [301], an indication for sending a message to a network node, the message comprising one or more information elements (IEs), wherein the message relates to one of the one or more target protocols;
- an object creator unit [3104] configured to create, at the platform [301], a stack object for the message;
- an input unit [3106] configured to provide, at the platform [301], a value for each of the one or more IEs in the message, based on at least one of: one or more encoding rules, a set of properties of each of the one or more IEs, and a JavaScript Object Notation (JSON) configuration associated with each of the one or more IEs; and
- an encoder unit [3108] configured to encode, at the platform [301], the message based on the providing the value for said each of the one or more IEs in the message.
26. The system as claimed in claim 25, wherein each of the one or more target protocols is an Abstract Syntax Notation (ASN) 1.0 packed encoding rules (PER) based protocol, the one or more encoding rules are one or more ASN encoding rules, and the set of properties is a set of ASN properties of said each of the one or more IEs.
27. The system as claimed in claim 26, wherein the one or more ASN 1.0 PER based protocols comprise one or more aligned variants of the ASN 1.0 PER and one or more non-aligned variants of the ASN 1.0 PER.
28. The system as claimed in claim 26, wherein the one or more ASN encoding rules are pre-stored in a storage unit.
29. The system as claimed in claim 26, wherein the one or more ASN encoding rules are based on a data type associated with the one or more IEs.
30. The system as claimed in claim 29, wherein the data type is one of an integer data type, an enumerated data type, a string data type, a choice data type, an extension data type, a sequence data type, and a sequence-of data type.
31. The system as claimed in claim 25, wherein each of the one or more IEs is one of a familiar IE and an unfamiliar IE, wherein the familiar IE is an IE for which an encoding information exists in a cache memory, and the unfamiliar IE is an IE for which the encoding information is absent in the cache memory.
32. The system as claimed in claim 31, wherein an analysis of the familiar IE of the message is performed using the encoding information existing in the cache memory.
| # | Name | Date |
|---|---|---|
| 1 | 202321044309-STATEMENT OF UNDERTAKING (FORM 3) [03-07-2023(online)].pdf | 2023-07-03 |
| 2 | 202321044309-PROVISIONAL SPECIFICATION [03-07-2023(online)].pdf | 2023-07-03 |
| 3 | 202321044309-FORM 1 [03-07-2023(online)].pdf | 2023-07-03 |
| 4 | 202321044309-FIGURE OF ABSTRACT [03-07-2023(online)].pdf | 2023-07-03 |
| 5 | 202321044309-DRAWINGS [03-07-2023(online)].pdf | 2023-07-03 |
| 6 | 202321044309-FORM-26 [06-09-2023(online)].pdf | 2023-09-06 |
| 7 | 202321044309-Proof of Right [05-10-2023(online)].pdf | 2023-10-05 |
| 8 | 202321044309-ORIGINAL UR 6(1A) FORM 1 & 26)-261023.pdf | 2023-11-04 |
| 9 | 202321044309-ENDORSEMENT BY INVENTORS [12-06-2024(online)].pdf | 2024-06-12 |
| 10 | 202321044309-DRAWING [12-06-2024(online)].pdf | 2024-06-12 |
| 11 | 202321044309-CORRESPONDENCE-OTHERS [12-06-2024(online)].pdf | 2024-06-12 |
| 12 | 202321044309-COMPLETE SPECIFICATION [12-06-2024(online)].pdf | 2024-06-12 |
| 13 | Abstract1.jpg | 2024-07-11 |
| 14 | 202321044309-FORM 3 [31-07-2024(online)].pdf | 2024-07-31 |
| 15 | 202321044309-Request Letter-Correspondence [13-08-2024(online)].pdf | 2024-08-13 |
| 16 | 202321044309-Power of Attorney [13-08-2024(online)].pdf | 2024-08-13 |
| 17 | 202321044309-Form 1 (Submitted on date of filing) [13-08-2024(online)].pdf | 2024-08-13 |
| 18 | 202321044309-Covering Letter [13-08-2024(online)].pdf | 2024-08-13 |
| 19 | 202321044309-CERTIFIED COPIES TRANSMISSION TO IB [13-08-2024(online)].pdf | 2024-08-13 |
| 20 | 202321044309-FORM 18 [24-01-2025(online)].pdf | 2025-01-24 |