Sign In to Follow Application
View All Documents & Correspondence

System And Method For Routing A Request To A Network Function

Abstract: ABSTRACT SYSTEM AND METHOD FOR ROUTING A REQUEST TO A NETWORK FUNCTION The present invention relates to a system (108) and a method (600) routing a request to a Network Function (NF). The method (600) includes steps of receiving a request from a NF consumer (110) to route the request to at least one of a plurality of NF producers (112). Further, checking whether the received request includes a Media Access Control (MAC) address header and extracting at least one octet from the MAC address header in response to determining presence of the MAC header in the received request. Furthermore, determining an index utilizing the at least one octet extracted from the MAC address header. Furthermore, transmitting the received request to at least one of the relevant NF producer (112) from a list of the plurality of NF producers (112) based on the corresponding index determined. Ref. Fig. 2

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
06 September 2023
Publication Number
11/2025
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

JIO PLATFORMS LIMITED
Office-101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India

Inventors

1. Aayush Bhatnagar
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
2. Sandeep Bisht
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
3. Ravindra Yadav
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
4. Ezaj Ansari
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
5. Jyothi Durga Prasad Chillapalli
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India

Specification

DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003

COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
SYSTEM AND METHOD FOR ROUTING A REQUEST TO A NETWORK FUNCTION
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION

THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.

FIELD OF THE INVENTION
[0001] The present invention relates to the field of wireless communication systems, more particularly relates to routing a request in the wireless communication systems.
BACKGROUND OF THE INVENTION
[0002] In general, a MAC address (Media Access Control Address) is a 12-digit hexadecimal number assigned to each NF (Network Function) connected to a network. In particular, the MAC address (Media Access Control Address) is a physical address, that uniquely identifies the NFs on a specific network. Network functions typically refer to some component of a network infrastructure that provides a well-defined functional behavior, such as routing or switching or intrusion detection or intrusion prevention.
[0003] In a normal functioning scenario between the NF consumer and the NF producer, the NF consumer generally transmits a request to a load balancer or a routing agent that may be a SCP (Service Communication Proxy). The load balancer may transmit the NF consumer request to the NF producer. The NF consumer request may be at least one of services that the NF consumer may require from the NF producer.
[0004] Multiple requests may be transmitted from the NF consumer to the load balancer or the routing agent that may be the SCP (Service Communication Proxy) via UE (User equipment) that comprises of the MAC address. Generally, an NF consumer request comprising MAC address will reach the SCP or NF producer. Thereafter, another request from the NF consumer may reach another SCP or NF producer. For example, in the case of PCF (Policy Charging Function) that may be the NF producer in the communication network. Initially, NF consumer request comprising MAC address may reach the PCF. Then the NF consumer may be registered to PCF1 and the NF consumer profile is created at that interval at PCF1. In some scenarios, the upcoming NF consumer request may reach another PCF in the communication network that may be PCF2. At PCF2, the NF consumer may not be registered. So, a session is established between the PCF1 and PCF2 in order to fetch NF consumer data from the PCF1. The NF consumer data is copied from the PCF1 to the PCF2 that may be separately stored at the memory.
[0005] The process of establishing the session between the multiple PCF or NF or the SCP that may be load balancer is a cumbersome and time-consuming task. That may lead to affecting the performance of the system. Also, after the data duplication process or copying the NF consumer data from one PCF to another PCF consumes additional memory is consumed, thereby creating latency in the system.
[0006] In view of the above, there is a dire need for a system and method for MAC address (Media Access Control Address) based request routing between the NF consumer and the NF producer in a communication network.
SUMMARY OF THE INVENTION
[0007] One or more embodiments of the present disclosure provides a method and a system for routing a request to a Network Function (NF).
[0008] In one aspect of the present invention, the method for routing the request to the Network Function (NF) is disclosed. The method includes the step of receiving, by one or more processors, a request from a NF consumer to route the request from the NF consumer to at least one of a plurality of NF producers. The method further includes the step of checking, by the one or more processors, whether the received request includes a Media Access Control (MAC) address header. The method further includes the step of extracting, by the one or more processors, at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking. The method further includes the step of determining, by the one or more processors, an index utilizing the at least one octet extracted from the MAC address header. The method further includes the step of transmitting, by the one or more processors, the received request to at least one of the relevant NF producer from a list of the plurality of NF producers based on the corresponding index determined.
[0009] In another embodiment the step of determining, an index utilizing the at least one octet extracted from the MAC address header, includes the step of, converting the at least one octet extracted from the MAC address header into a different format and performing, a modulo operation utilizing the converted corresponding at least one octet into the different format and a number of plurality of NF producers fetched from the list of the plurality of NF producers to obtain the index.
[0010] In another embodiment the step of performing, the modulo operation utilizing the converted corresponding at least one octet into the different format and the number of plurality of NF producers (112) fetched from the list of the plurality of NF producers (112) to obtain the index, includes the step of dividing, by the one or more processors, the converted corresponding at least one octet into the different format with the number of NF producers fetched from the list of the plurality of NF producers.
[0011] In yet another embodiment, the index which is determined is the remainder of the modulo operation.
[0012] In yet another embodiment, the at least one octet extracted from the MAC address header is at least one of, last pre-defined digits of hexadecimal octets of the MAC address header.
[0013] In yet another embodiment, the different format is at least one of, a corresponding decimal number.
[0014] In another aspect of the present invention, the system for routing the request to the Network Function (NF) is disclosed. The system includes a transceiver, configured to, receive, a request from a NF consumer to route the request from the NF consumer to at least one of a plurality of NF producers. The system includes an inspection unit, configured to, check, whether the received request includes a Media Access Control (MAC) address header. The system further includes an extraction unit, configured to, extract, at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking. The system further includes a determination unit, configured to, determine, an index utilizing the at least one octet extracted from the MAC address header. The system further includes the transceiver, configured to, transmit, the received request to at least one of the relevant NF producer from a list of the plurality of NF producers based on the corresponding index determined.
[0015] In yet another aspect of the present invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a processor. The processor is configured to receive, a request from a NF consumer to route the request from the NF consumer to at least one of a plurality of NF producers. The processor is further configured check, whether the received request includes a Media Access Control (MAC) address header. The processor is further configured to extract, at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking. The processor is further configured to determine, an index utilizing the at least one octet extracted from the MAC address header. The processor is further configured to transmit, the received request to at least one of the relevant NF producer from a list of the plurality of NF producers based on the corresponding index determined.
[0016] In another aspect of the present invention, a Network Function (NF) consumer is disclosed. One or more primary processors is communicatively coupled to one or more processors. The one or more primary processors is further coupled with a memory. The memory stores instructions which when executed by the one or more primary processors causes the NF consumer to transmit, a request to the one or more processors to route the request from the NF consumer to at least one of a plurality of NF producers.
[0017] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] 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. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0019] FIG. 1 is an exemplary block diagram of an environment for routing a request to a Network Function (NF), according to one or more embodiments of the present invention;
[0020] FIG. 2 is an exemplary block diagram of a system for routing the request to the Network Function (NF), according to one or more embodiments of the present invention;
[0021] FIG. 3 is an exemplary architecture of the system of FIG. 2, according to one or more embodiments of the present invention;
[0022] FIG. 4 is an exemplary architecture for routing the request to the Network Function (NF), according to one or more embodiments of the present disclosure;
[0023] FIG. 5 is an exemplary signal flow diagram illustrating the flow for routing the request to the Network Function (NF), according to one or more embodiments of the present disclosure; and
[0024] FIG. 6 is a flow diagram of a method for routing the request to the Network Function (NF), according to one or more embodiments of the present invention.
[0025] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0026] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0027] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0028] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0029] Various embodiments of the present invention provide a system and a method for routing a request to a Network Function (NF) producer and more particularly routing the request based on a Media Access Control (MAC) address to a NF producer. The disclosed system and method aims at enhancing efficiency of a NF consumer relationship by ensuring that the routing of the NF consumers multiple requests using the MAC address to the specific NF producer where the NF consumer is already registered. In other words, the present invention provides a unique approach of routing the NF consumers multiple requests and subsequent requests that may come up in future based on the MAC address to a specific NF instance or the NF producer.
[0030] Referring to FIG. 1, FIG. 1 illustrates an exemplary block diagram of an environment 100 for routing the request to a Network Function (NF) 112, according to one or more embodiments of the present invention. The environment 100 includes a User Equipment (UE) 102, a server 104, a network 106, a system 108, the Network Function (NF) consumer 110, a plurality of Network Function (NF) producers 112.
[0031] For the purpose of description and explanation, the description will be explained with respect to one or more user equipment’s (UEs) 102, or to be more specific will be explained with respect to a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure. Each of the at least one UE 102 namely the first UE 102a, the second UE 102b, and the third UE 102c is configured to connect to the server 104 via the network 106.
[0032] In an embodiment, each of the first UE 102a, the second UE 102b, and the third UE 102c is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as smartphones, 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.
[0033] The network 106 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0034] The network 106 may also include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth.
[0035] The environment 100 includes the server 104 accessible via the network 106. The server 104 may include by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, a processor executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defense facility side, or any other facility that provides service.
[0036] The environment 100 further includes the Network Function (NF) consumer 110 and the plurality of Network Function (NF) producers 112. The NF consumer 110 is the NF which transmits one or more requests to another NF such as at least one of the plurality of NF producers 112 in order to establish communication or share data packets with at least one of the plurality of NF producers 112. The plurality of NF producers 112 are the NFs which receives the one or more requests from another NF such the NF consumer 110 in order to establish communication or share data packets between them.
[0037] In an embodiment, the NF consumer 110 and the plurality of NF producers 112 are NFs which are configured to perform tasks and provide services to enable network operations and communications. The NFs are responsible for performing tasks and providing services, such as routing, switching, authentication, security, billing, and more. The NFs play a crucial role in the efficient and reliable operation of networks 106. For example, the 5G NFs includes at least one of, but not limited to, an Access and Mobility Management Function (AMF), a Session Management Function (SMF), a User Plane Function (UPF) and a Policy Charging Function (PCF).
[0038] The environment 100 further includes the system 108 communicably coupled to the server 104, the NF consumer 110, the plurality of NF producers 112 and the UE 102 via the network 106. The system 108 is adapted to be embedded within the server 104 or is embedded as the individual entity.
[0039] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0040] FIG. 2 is an exemplary block diagram of the system 108 routing the request to the Network Function (NF) 112, according to one or more embodiments of the present invention.
[0041] As per the illustrated and preferred embodiment, the system 108 for routing the request to the Network Function (NF) 112, includes one or more processors 202, a memory 204, and a storage unit 206. The one or more processors 202, hereinafter referred to as the processor 202, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions. However, it is to be noted that the system 108 may include multiple processors as per the requirement and without deviating from the scope of the present disclosure. Among other capabilities, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204.
[0042] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204 as the memory 204 is communicably connected to the processor 202. The memory 204 is configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to route the request to the Network Function (NF) 112. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0043] As per the illustrated embodiment, the storage unit 206 is configured to store data associated with the NF consumer 110 and the plurality of NF producer 112. In one embodiment, the storage unit 206 stores a list of the plurality of NF producer 112 which are included in the network 106. The storage unit 206 is one of, but not limited to, the Unified Inventory Management (UIM) unit, a centralized database, a cloud-based database, a commercial database, an open-source database, a distributed database, an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth. The foregoing examples of storage unit 206 types are non-limiting and may not be mutually exclusive e.g., the database can be both commercial and cloud-based, or both relational and open-source, etc.
[0044] As per the illustrated embodiment, the system 108 includes the processor 202 to route the request to the Network Function (NF) producer 112. The processor 202 includes a transceiver 208, an inspection unit 210, an extraction unit 212, a conversion unit 214, an operation unit 216 and determination unit 218. The processor 202 is communicably coupled to the one or more components of the system 108 such as the storage unit 206, and the memory 204. In an embodiment, operations and functionalities of the transceiver 208, the inspection unit 210, the extraction unit 212, the conversion unit 214, the operation unit 216, the determination unit 218, and the one or more components of the system 108 can be used in combination or interchangeably.
[0045] In an embodiment, the transceiver 208 of the processor 202 is configured to receive a request from the NF consumer 110 to route the request from the NF consumer 110 to at least one of the plurality of NF producers 112. In particular, the NF consumer 110 transmits the request to the system 108 to route the request from the NF consumer 110 to at least one of a plurality of NF producers 112. Herein, the request pertains to at least one of, but not limited to, transmit data packets by establishing communication with the plurality of NF producers 112. In an embodiment, the request transmitted by the NF consumer 110 includes at least one of, a Media Access Control (MAC) address. The MAC address is a physical address, that uniquely identifies the NFs such as the plurality of the NF producers 112 on the network 106.
[0046] Upon receiving the request from the NF consumer 110, the inspection unit 210 of the processor 202 is configured to check whether the received request includes a Media Access Control (MAC) address header. In one embodiment, the MAC address header is a data field added at the beginning of the data packet in order to turn the data packet into a frame to be transmitted from the NF consumer 110 to the plurality of NF producers 112. For example, the MAC address consists of 48 bits, usually represented as a string of 12 hexadecimal digits (0 to 9, a to f, or A to F) which are often grouped into pairs separated by colons or dashes. The MAC address 001B638445E6 may be given as 00:1b:63:84:45:e6 or as 00-1B-63-84-45-E6.
[0047] Upon checking, if the inspection unit 210 detects that the MAC address header is present in the received request, then the extraction unit 212 of the processor 202 is configured to extract the MAC address header from the received request. In particular, the extraction unit 212 extracts at least one octet from the MAC address header. For example, the MAC address header includes 6 octets. The octet is a unit of digital information in computing and telecommunications that consists of eight bits. In one embodiment, the at least one octet extracted from the MAC address header is at least one of, last pre-defined digits for example, last four hexadecimal octet or 4 hex octet of the MAC address header. For example, let us assume the MAC address as b8-8f-8b-9b-ab-c0, then abc0 are the hex digits extracted from the MAC address b8-8f-8b-9b-ab-c0.
[0048] In an alternate embodiment, upon checking, the inspection unit 210 detects that the MAC address header is not present in the received request. Subsequent to detection, the transceiver 208 of the processor 202 transmits the received requests from the NF consumer 110 to the NF producer 112 based on an available or a predefined criteria. The available or predefined criteria is at least one of, but not limited to, routing the requests from the NF consumer 102 to those NF producers 112 offering a certain service name, or a similar NF type. For example, let us assume that an NF consumer A and an NF producer A are associated with providing telephony services to the user. In this scenario, if the request transmitted from the NF consumer A does not include the MAC address header, then based on the similar type of telephony services provided by the NF producer A to the user, the transceiver 208 transmits the received requests NF consumer A to the NF producer A. In an alternate embodiment, when the MAC address is not present in the received request, the transceiver 208 of the processor 202 transmits the received requests based on the predefined criteria such as at least one of, but not limited to, utilizing a round robin method for routing the request from the NF consumer 110 to the NF producer 112.
[0049] Subsequent to extracting the MAC address header, the conversion unit 214 of the processor 202 is configured to convert the at least one octet extracted from the MAC address header into a different format. In one embodiment, the different format includes at least one of, but not limited to, decimal number, hexadecimal number and binary number. Herein the extracted at least one octet from the MAC address header is converted into the corresponding decimal number format. To convert an octal number to the decimal number the conversion unit 214 multiplies each digit of the extracted octal with the reducing power of 8. For example, if the octal number is 37, then its corresponding decimal number is 31. In an alternate embodiment, the hexadecimal digits or number are extracted from the MAC address header and further converted into the different formats without limiting the scope of the invention.
[0050] For example, let us assume “x” is the at least one octet extracted from the MAC address which is represented in hexadecimal number system and “y” is number of “NF producer 112” which is represented here as in decimal number system. In order to perform a modulo operation between two numbers (say x and y) they must be in same number system format. In an example scenario, to calculate modulo between “x” and “y” both “x” and “y” should be in either “decimal number system” or “octal number system” or “hexadecimal number system” etc. Therefore, the number system format of the at least one octet extracted from the MAC address’s is converted to a different format same as the number system format of the count of the NF producer 112. In an example, the at least one octet extracted from the MAC address may be in hexadecimal number system and further converted into a decimal number system format i. e. a different format, whereas it is provided that the count of NF producer is also in decimal numbers system format, hence the modulo operation can be performed to obtain the index.
[0051] Upon converting the at least one octet extracted from the MAC address header into the converted corresponding at least one octet into the different format such as the decimal number, the operation unit 216 of the processor 202 is configured to perform a modulo operation utilizing the converted corresponding at least one octet into the different format such as the decimal number and a number of the plurality of NF producers 112 fetched from the list of the plurality of NF producers 112. In one embodiment, the number of the plurality of NF producers 112 is fetched from the list of the plurality of NF producers 112 stored in the storage unit 206. In order to perform the modulo operation, the operation unit 216 divides the converted corresponding at least one octet into the different format such as the decimal number with the number of NF producers fetched from the list of the plurality of NF producers 112. For example, the decimal number converted from the 4 hex octet of the MAC address is divided with the number of NF producer 112 present in the network 106.
[0052] Based on performing the modulo operation, the determination unit 218 of the processor 202 is configured to determine an index. In one embodiment, the index determined by the determination unit 218 is the remainder of the modulo operation. In one embodiment, the index is determined based on the modulo operation performed on the converted corresponding at least one octet into the different format and the number of the NF producer 112. Herein, the converted corresponding at least one octet and the number of the NF producer 112 have the same number system format. For example, by dividing the decimal number with the number of NF producers 112 the remainder is obtained which is inferred as the index by the determination unit 218.
[0053] Upon performing the modulo operation, the transceiver 208 of the processor 202 is configured to transmit the received request to at least one of the relevant NF producers 112 from the list of the plurality of NF producers 112 based on the corresponding index determined from the modulo operation. In particular, a mapping of the plurality of NF producers 112 with the corresponding index determined from the modulo operation is stored in the storage unit 206 which is utilized by the transceiver 208 to transmit the received request to at least one of the relevant NF producers 112. For example, if the index/remainder 0 is obtained, then the received request is sent to the 1st NF producer 112 among the list of the plurality of NF producers 112 and if N-1 index/remainder is obtained, then the received request is sent to the Nth NF producer 112. In other words, after completion of the division of the decimal number converted from the 4 hex octet of the MAC address with the number of NF producers 112 in the network 106, the remainder is obtained. Based on the obtained remainder, the NF consumer 110 request is sent to the respective NF producer 112 among the plurality of the NF producers 112. In particular, the index is used by the transceiver 208 to route the request to the NF producer 112. Advantageously, the request corresponding to the specific MAC address will always be received on the specific NF producer 112, so the requirement of sharing a session among the plurality of the NF producers 112 is eliminated.
[0054] In one embodiment, the NF consumer 110 acts as a Hyper Text Transfer Protocol (HTTP) client and the NF producer 112 acts as a HTTP server when the NF consumer 110 subscribes to the NF producer's 112 notifications. Similarly, the NF producer 112 acts as a HTTP client and the NF consumer 110 acts as a HTTP server when the NF producer 112 delivers notifications to the NF consumer. 110. In particular, separate HTTP (S) connections shall be set up between the HTTP client and the SCP 402 (as shown in FIG. 4), between SCPs 402 (if there is more than one SCP 402 in the communication path between the HTTP client and the HTTP server), and between the SCP 402 and the HTTP server.
[0055] In one embodiment, when the request is received from the NF consumer 110, the request includes a HTTP header. In particular, the HTTP headers beginning with the prefix 3gpp-Sbi-Discovery- are used in indirect communication mode for discovery and selection of the suitable NF producer 112 by the SCP 402. The HTTP headers included in the request or any Service Based Interface (SBI) message which include information that allows the SCP 402 to find the suitable NF producer 112. The Service Based Interface (SBI) is the term given to the API based communication that can take place between two Network Functions (NFs) within the network 106. The SBI message is the request transmitted from the one NF to another NF, such as from the NF consumer 110 to the suitable NF producer 112. The HTTP headers contain discovery parameters to be conveyed by the NF consumer 110 to the SCP 402 and shall be used for finding the suitable NF producer 112 instance.
[0056] The transceiver 208, the inspection unit 210, the extraction unit 212, the conversion unit 214, the operation unit 216 and the determination unit 218, in an exemplary embodiment, are implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 204 may store instructions that, when executed by the processing resource, implement the processor 202. In such examples, the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 202 may be implemented by electronic circuitry.
[0057] FIG. 3 illustrates an exemplary architecture for the system 108, according to one or more embodiments of the present invention. More specifically, FIG. 3 illustrates the system 108 for routing the request to the Network Function (NF) 112. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the NF consumer 110 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0058] FIG. 3 shows communication between the NF consumer 110, the system 108, and the plurality of NF producers 112. For the purpose of description of the exemplary embodiment as illustrated in FIG. 3, the NF consumer 110, uses a network protocol connection to communicate with the system 108, and the plurality of NF producers 112. In an embodiment, the network protocol connection is the establishment and management of communication between the NF consumer 110, the system 108 and the plurality of NF producers 112 over the network 106 (as shown in FIG. 1) using a specific protocol or set of protocols. The network protocol connection includes, but not limited to, Session Initiation Protocol (SIP), System Information Block (SIB) protocol, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), Simple Network Management Protocol (SNMP), Internet Control Message Protocol (ICMP), Hypertext Transfer Protocol Secure (HTTPS) and Terminal Network (TELNET).
[0059] In an embodiment, the NF consumer 110 includes a primary processor 302, and a memory 304. In alternate embodiments, the NF consumer 110 may include more than one primary processor 302 as per the requirement of the network 106. The primary processor 302, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
[0060] In an embodiment, the primary processor 302 is configured to fetch and execute computer-readable instructions stored in the memory 304. The memory 304 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to route the request to the NF producer 112. The memory 304 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0061] In one embodiment, the UE 102 communicates with the NF consumers 110 based on which the NF consumers 110 intends to send request to the plurality of NF producers 112. The plurality of NF producers 112 are the NFs where the request from NF consumer 110 is received. In one embodiment, the system 108 receives the request from the NF consumers 110 and extracts the MAC address from the received requests. Based on the MAC address extracted from the received request, the system 108 routes the received request to the relevant NF producer 112 among the plurality of NF producers 112 in the network 106. Alternatively, in the absence of MAC address, the system 108 routes the received request to the relevant NF producer 112 among the plurality of NF producers 112 in the network 106 based on the available or the predefined routing criteria.
[0062] As mentioned earlier in FIG.2, the system 108 includes the processors 202, the memory 204, and the storage unit 206, for routing the request to the NF producer 112, which are already explained in FIG. 2. For the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition.
[0063] Further, as mentioned earlier the processor 202 includes the transceiver 208, the inspection unit 210, the extraction unit 212, the conversion unit 214, the operation unit 216 and the determination unit 218, which are already explained in FIG. 2. Hence, for the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition. The limited description provided for the system 108 in FIG. 3, should be read with the description provided for the system 108 in the FIG. 2 above, and should not be construed as limiting the scope of the present disclosure.
[0064] FIG. 4 is an exemplary the system 108 architecture 400 for routing the request to the Network Function (NF) 112, according to one or more embodiments of the present disclosure.
[0065] As per the illustrated embodiment, the system 108 architecture 400 includes multiple NF consumers such as a NF consumer 1, a NF consumer 2, and a NF consumer 3. Further, the architecture 400 includes a Service Communication Proxy (SCP) 402, and the plurality of NF producers 112 such as, a NF producer 1, a NF producer 2, and a NF producer 3. The SCP 402 includes a SCP cache 404. The SCP cache 404 is a hardware or software component that stores data so that future requests for that data can be served faster. In particular, the SCP cache 404 stores the list of the plurality of NF producers 112. Further, the SCP cache 404 stores mapping of the plurality of NF producers 112 with the index determined from the modulo operation.
[0066] In one embodiment, the SCP 402 is a decentralized solution which is deployed alongside 5G Network Functions (NFs) for providing at least one of, a routing control, a resiliency, and an observability to the network 106. The main job of the SCP 402 is to ensure that traffic is routed to the right destination. In one embodiment, the SCP 402 is a load balancer or a routing agent that receives a plurality of requests from the multiple NF consumers 110 that comprises of the MAC address such as MAC address 1 (b8-8f-8b-9b-ab-c0), MAC address 2 (b8-8f-8b-9b-ab-c1), and MAC address 3 (b8-8f-8b-9b-ab-c0). In one embodiment, the plurality of requests received from the multiple NF consumers 110 at the SCP 402 uses a Hyper Text Transfer Protocol version 2 (HTTP 2.0) network protocol for the communication. The load balancer is a device that acts as a reverse proxy and distributes the network traffic across the number of servers. The routing agent is a functional element that provides real-time routing capabilities to ensure that messages are routed among the correct elements in the network 106. The traffic is generally the multiple requests/messages received at the SCP 402 from the multiple NF consumers 110 such as the NF consumer 1, the NF consumer 2, and the NF consumer 3.
[0067] For example: Whenever the multiple NF consumers 110 request is received at the SCP 402, the SCP 402 checks if the NF consumers 110 request contains a particular ‘x-mac-address’ header. If the header is present, then the last 4 hex octet of the MAC address is extracted. Further, the extracted last 4 hex octet are converted into the corresponding decimal number. Let us assume that the converted decimal number is 36 and there are 7 instances of the NF producers 112. Thereafter, the modulo operation is performed. In other words, the decimal number converted from the 4 hex octet of the MAC address i.e. 36 is divided with the number of the NF producers 112 i.e. 7 which are already configured. Herein, after the modulo operation the remainder is 1 (36/7=1), the remainder of the modulo operation is the index of the NF producers 112. Thereafter the SCP 402 checks the list within the SCP cache 404 and then forwards the NF consumer request to the respective NF producer 112 which are included in the list such as the NF producer 1, the NF producer 2,…and the NF producer 7. In one scenario, if the remainder would be “0”, then the request is transmitted to the NF instance 1. Herein in this case, the remainder is “1”, then the request is transmitted to the NF instance 2. Due to this approach, there is no need for establishing the sessions between the SCP 402 or the NFs, thereby reducing the processing time of the system 108 and avoiding the processing of data duplications that saves the memory 204 of the system 108.
[0068] FIG. 5 is a signal flow diagram illustrating the flow for routing the request to the Network Function (NF) producer 112, according to one or more embodiments of the present disclosure.
[0069] At step 502, the NF consumer 110 transmits the request to the system 108 in order to route the request from the NF consumer 110 to at least one of the plurality of NF producers 112.
[0070] At step 504, the system 108 checks whether the MAC address is included in the received request.
[0071] At step 506, based on checking the system 108 determines the presence of the MAC address header in the received request and extracts at least one octet from the MAC address header.
[0072] At step 508, the system 108 converts at least one octet extracted from the MAC address header into the different format.
[0073] At step 510, the system 108 performs the modulo operation by utilizing the converted corresponding at least one octet in different format such as the decimal number and the number of plurality of NF producers 112 fetched from the list of the plurality of NF producers 112. Thereafter, the system 108 determines the index based on performing the modulo operation.
[0074] At step 512, the system 108 transmits the received request to at least one of the relevant NF producer 112 from the list of the plurality of NF producers 112 based on the corresponding index determined from the modulo operation.
[0075] FIG. 6 is a flow diagram of a method 600 for routing the request to the Network Function (NF) producer 112, according to one or more embodiments of the present invention. For the purpose of description, the method 600 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0076] At step 602, the method 600 includes the step of receiving the request from the NF consumer 110 to route the request from the NF consumer 110 to at least one of the plurality of NF producers 112. In one embodiment, the transceiver 208 receives the request from the NF consumer 110. For example, the NF consumer 110 transmits the request in order to share data packets from the NF consumer 110 to at least one of the plurality of NF producers 112.
[0077] At step 604, the method 600 includes the step checking whether the received request includes the Media Access Control (MAC) address header. In one embodiment, the inspection unit 210 checks whether the received request includes the MAC header. For example, the NF consumer 110 transmits the request along with the MAC address of the source and destination in the header to ensure appropriate communication. The MAC address is 12 digits or 6-byte hexadecimal number, which is represented in colon-hexadecimal notation format. The MAC address is divided into six octets, and each octet contains 8 bits.
[0078] At step 606, the method 600 includes the step of extracting at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking. In one embodiment, subsequent to determining presence of the MAC header in the received request by the inspection unit 210, the extraction unit 212 extracts the at least one octet from the MAC address header. For example, the last 4 hex characters or bits are extracted from the MAC header.
[0079] At step 608, the method 600 includes the step of determining the index utilizing the at least one octet extracted from the MAC address header. In embodiment, the determination unit 218 determines the index utilizing the at least one octet extracted from the MAC address header. In order to determine index initially, the conversion unit 214 converts the at least one octet extracted from the MAC address header into the into the different format. In one embodiment, the conversion unit 214 converts at least the one octet extracted from the MAC address header into the at least one of, the corresponding decimal number. For example, let us assume that the octal number is 37. The octal number is a number expressed in the base 8. In order to convert octal to decimal the the conversion unit 214 multiplies each digit of the extracted octal number 37 with the reducing power of 8 then its corresponding decimal number is 31. If the octal number is 37, then 378 = 3×81+7×80 = 24+7 = 31. In another example, let us assume that the hexadecimal number is extracted from the MAC address. In order to convert the hexadecimal number to decimal number, the conversion unit 214 multiplies the hexadecimal digits by 16. Then, the conversion unit 214 multiplies each digit with the corresponding power of 16 (starting from the rightmost digit multiplied by 16º) and finally adds up the products. Herein, if the hexadecimal number is 2A316 then its corresponding decimal number is 675., 2A316= 2 * 16² + 10 * 16¹ + 3 * 16º = 67510.
[0080] Subsequent to conversion, the modulo operation is performed by the operation unit 216 utilizing the converted corresponding at least one octet into the different format such as the decimal number and the number of plurality of NF producers 112 fetched from the list of the plurality of NF producers 112. In one embodiment, the operation unit 216 performs the modulo operation by dividing the converted at least one of, corresponding decimal number with the number of plurality of NF producers 112. For example, let us assume the converted decimal number is 36 and the number of NF producers 112 present in the network 106 is 7. Herein, operation unit 216 performs division operation by considering the converted decimal number i.e. 36 as the dividend and the number of NF producers 112 i.e. 7 as the divisor.
[0081] Subsequent to performing the modulo operation, the determination unit 218 determines the index based on the modulo operation. In particular, the determination unit 218 determines the remainder of the division operation performed by the operation unit 216. For example, by dividing the converted decimal number 36 with the number of NF producers 112 i.e. 7, the remainder of this division operation is 1.
[0082] At step 610, the method 600 includes the step of transmitting the received request to at least one of the relevant NF producer 112 from the list of the plurality of NF producers 112 based on the corresponding index determined from the modulo operation. In one embodiment, the transceiver 208 of transmits the received request to at least one of the relevant NF producer 112 based on the corresponding index determined by the determination unit 218 from the modulo operation. For example, in one scenario, let us assume converted decimal number is 36 and the number of NF producers 112 are 6, then by performing the modulo operation the remainder is 0. Based on the remainder 0, the transceiver 208 transmits the received request to a first NF producer among the 6 NF producers 112. In another scenario, let us assume converted decimal number is 36 and the number of NF producers 112 are 7, then by performing the modulo operation the remainder is 1. Based on the remainder 1, the transceiver 208 transmits the received request to a second NF producer among the 6 NF producers 112.
[0083] The present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions. The computer-readable instructions are executed by the processor 202. The processor 202 is configured to receive, a request from a NF consumer 110 to route the request from the NF consumer 110 to at least one of a plurality of NF producers 112. The processor 202 is further configured to check, whether the received request includes a Media Access Control (MAC) address header. The processor 202 is further configured to extract, at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking. The processor 202 is further configured to determine, an index utilizing the at least one octet extracted from the MAC address header. The processor 202 is further configured to transmit, the received request to at least one of the relevant NF producers 112 from the list of the plurality of NF producers 112 based on the corresponding index determined.
[0084] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0085] The present disclosure provides technical advancements such as eliminating the requirement of sharing session information to other NF instances and system. Utilizing the MAC address the system transmit all requests received from the NF consumer to the specific NF producer corresponding to the MAC address. Simplified and easy to configure solution by which we will be able to achieve session stickiness based on MAC address. When the MAC addresses are random in nature then the request are equally distributed among NF producers hence avoiding unbalanced session among NF producers.
[0086] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.

REFERENCE NUMERALS

[0087] Environment - 100;
[0088] User Equipment (UE)/client - 102;
[0089] Server - 104;
[0090] Network- 106;
[0091] System -108;
[0092] NF consumers – 110
[0093] Plurality of NF producers - 112
[0094] Processor - 202;
[0095] Memory - 204;
[0096] Storage unit – 206;
[0097] Transceiver – 208;
[0098] Inspection unit – 210;
[0099] Extraction unit – 212;
[00100] Conversion unit – 214;
[00101] Operation unit – 216;
[00102] Determination unit – 218;
[00103] Primary Processor – 302;
[00104] Memory – 304;
[00105] SCP – 402;
[00106] SCP cache – 404;
,CLAIMS:CLAIMS
We Claim:
1. A method (600) for routing request to a Network Function (NF), the method (600) comprises the steps of:
receiving, by one or more processors (202), a request from a NF consumer (110) to route the request from the NF consumer (110) to at least one of a plurality of NF producers (112);
checking, by the one or more processors (202), whether the received request includes a Media Access Control (MAC) address header;
extracting, by the one or more processors (202), at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking;
determining, by the one or more processors (202), an index utilizing the at least one octet extracted from the MAC address header; and
transmitting, by the one or more processors (202), the request to at least one of the relevant NF producer (112) from a list of the plurality of NF producers (112) based on the corresponding index determined.

2. The method (600) as claimed in claim 1, wherein the step of determining, an index utilizing the at least one octet extracted from the MAC address header, includes the step of:
converting, by the one or more processors (202), the at least one octet extracted from the MAC address header into a different format;
performing, by the one or more processors, a modulo operation utilizing the converted corresponding at least one octet into the different format and a number of plurality of NF producers (112) fetched from the list of the plurality of NF producers (112) to obtain the index.

3. The method (600) as claimed in claim 2, wherein the step of performing, the modulo operation utilizing the converted corresponding at least one octet into the different format and the number of plurality of NF producers (112) fetched from the list of the plurality of NF producers (112) to obtain the index, includes the step of:
dividing, by the one or more processors (202), the converted corresponding at least one octet into the different format with the number of NF producers (112) fetched from the list of the plurality of NF producers (112).

4. The method (600) as claimed in claim 2, wherein the index which is determined is the remainder of the modulo operation.

5. The method (600) as claimed in claim 1, wherein the at least one octet extracted from the MAC address header is at least one of, last pre-defined digits of hexadecimal octets of the MAC address header.

6. The method (600) as claimed in claim 2, wherein the different format is at least one of, a corresponding decimal number.

7. A system (108) for routing a request to a Network Function (NF), the system (108) comprises:
a transceiver (208), configured to, receive, a request from a NF consumer (110) to route the request from the NF consumer (110) to at least one of a plurality of NF producers (112);
an inspection unit (210), configured to, check, whether the received request includes a Media Access Control (MAC) address header;
an extraction unit (212), configured to, extract, at least one octet from the MAC address header in response to determining presence of the MAC header in the received request based on checking;
a determination unit (218), configured to, determine, an index utilizing the at least one octet extracted from the MAC address header; and
the transceiver (208), configured to, transmit, the received request to at least one of the relevant NF producer (112) from a list of the plurality of NF producers (112) based on the corresponding index determined.

8. The system (108) as claimed in claim 7, wherein the determination unit (218) determines, an index utilizing the at least one octet extracted from the MAC address header, by utilizing:
a conversion unit (214), configured to, convert, the at least one octet extracted from the MAC address header into a different format;
an operation unit (216), configured to, perform, a modulo operation utilizing the converted corresponding at least one octet into the different format and a number of plurality of NF producers (112) fetched from the list of the plurality of NF producers (112) to obtain the index.

9. The system (108) as claimed in claim 8, wherein the operation unit (216), performs, the modulo operation utilizing the converted corresponding at least one octet into the different format and the number of plurality of NF producers (112) fetched from a list of the plurality of NF producers (112) obtain the index, by:
dividing, the converted corresponding at least one octet into the different format with the number of NF producers (112) fetched from the list of the plurality of NF producers (112).

10. The system (108) as claimed in claim 8, wherein the index which is determined is the remainder of the modulo operation.

11. The system (108) as claimed in claim 7, wherein the at least one octet extracted from the MAC address header is at least one of, last pre-defined digits of hexadecimal octets of the MAC address header.

12. The system (108) as claimed in claim 8, wherein the different format is at least one of, a corresponding decimal number.

13. A NF consumer (110), comprising:
one or more primary processors (302) communicatively coupled to one or more processors (202), the one or more primary processors (302) coupled with a memory (304), wherein said memory (304) stores instructions which when executed by the one or more primary processors (302) causes the NF consumer (110) to:
transmit, a request to the one or more processors (202) to route the request from the NF consumer (110) to at least one of a plurality of NF producers (112); and
wherein the one or more processors (202) is configured to perform the steps as claimed in claim 1.

Documents

Application Documents

# Name Date
1 202321060023-STATEMENT OF UNDERTAKING (FORM 3) [06-09-2023(online)].pdf 2023-09-06
2 202321060023-PROVISIONAL SPECIFICATION [06-09-2023(online)].pdf 2023-09-06
3 202321060023-FORM 1 [06-09-2023(online)].pdf 2023-09-06
4 202321060023-FIGURE OF ABSTRACT [06-09-2023(online)].pdf 2023-09-06
5 202321060023-DRAWINGS [06-09-2023(online)].pdf 2023-09-06
6 202321060023-DECLARATION OF INVENTORSHIP (FORM 5) [06-09-2023(online)].pdf 2023-09-06
7 202321060023-FORM-26 [17-10-2023(online)].pdf 2023-10-17
8 202321060023-Proof of Right [12-02-2024(online)].pdf 2024-02-12
9 202321060023-DRAWING [05-09-2024(online)].pdf 2024-09-05
10 202321060023-COMPLETE SPECIFICATION [05-09-2024(online)].pdf 2024-09-05
11 Abstract 1.jpg 2024-10-01
12 202321060023-Power of Attorney [24-01-2025(online)].pdf 2025-01-24
13 202321060023-Form 1 (Submitted on date of filing) [24-01-2025(online)].pdf 2025-01-24
14 202321060023-Covering Letter [24-01-2025(online)].pdf 2025-01-24
15 202321060023-CERTIFIED COPIES TRANSMISSION TO IB [24-01-2025(online)].pdf 2025-01-24
16 202321060023-FORM 3 [29-01-2025(online)].pdf 2025-01-29
17 202321060023-FORM 18 [20-03-2025(online)].pdf 2025-03-20