Sign In to Follow Application
View All Documents & Correspondence

Method And System For Identifying An Idle Network Protocol Connection In A Network

Abstract: ABSTRACT METHOD AND SYSTEM FOR IDENTIFYING AN IDLE NETWORK PROTOCOL CONNECTION IN A NETWORK The present disclosure relates to a system (108) and a method (400) for identifying idle network protocol connections in a network (106). The system (108) includes an identifying module (210) configured to identify a request transmitted from a client to a server via a network protocol connection with a stream identifier. The system (108) further includes a caching module (212) configured to cache the stream identifier for each request transmitted via the network protocol connection at a database (208). The system (108) further includes a retrieving module (214) configured to retrieve a cached stream identifier from the database (208). The system (108) further includes a comparator (216) configured to compare the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network (106). Ref. Fig. 2

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

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

Applicants

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

Inventors

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

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
METHOD AND SYSTEM FOR IDENTIFYING AN IDLE NETWORK PROTOCOL CONNECTION IN A NETWORK
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 network protocol connections, more particularly relates to a method and system for identifying idle network protocol connection in a network.
BACKGROUND OF THE INVENTION
[0002] In practice Hyper Text Transfer Protocol (HTTP)/ 2.0 connections are managed by a PING-PONG mechanism between a HTTP Client and a HTTP Server. Generally, in order to determine if a HTTP connection is active, a PING request is sent from a client to the server. If a PONG response is received from the server, it is concluded that the HTTP connection is active. Alternatively, if a PONG response is not received, it is concluded that the HTTP connection is idle or that the connection is open at the client end but closed at the server end or vice versa.
[0003] When a PING Frame is sent over a HTTP/2.0 connection, at regular intervals to determine active/idle state of the connection, computing resources such as central processing unit (CPU) cycles and memory space are consumed. Generally, a Last Stream Identifier of the HTTP/ 2.0 connection is checked and updated with every request to track the state of the HTTP /2.0 connection.
[0004] In order to save critical CPU cycle and memory, there is a need for an optimized solution for identifying the state of HTTP/2.0 connections without such repeat checks. Accordingly, an improved method and system for identifying idle network protocol connection in a network for optimizing usage of computing resources is disclosed.
SUMMARY OF THE INVENTION
[0005] One or more embodiments of the present disclosure provide a method and system for identifying idle network protocol connections in a network.
[0006] In one aspect of the present invention, a system for identifying an idle network protocol connection in a network is disclosed. The system includes an identifying module configured to identify a request transmitted from a client to a server via a network protocol connection with a stream identifier. The system further includes a caching module configured to cache a stream identifier for each request transmitted via the network protocol connection at a database. The system further includes a retrieving module configured to retrieve a cached stream identifier from the database. The system further includes a comparator configured to compare the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network.
[0007] In an embodiment, upon comparison by the comparator, if the retrieved cached stream identifier matches with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be idle. In an embodiment a ping frame is transmitted over the network protocol connection deemed to be idle. In an embodiment, the retrieved cached stream identifier is compared with the stream identifier of the latest request transmitted within a predefined time interval.
[0008] In an embodiment, upon comparison by the comparator, if the retrieved cached stream identifier fails to match with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be active. In an embodiment, the cached stream identifier is updated with the stream identifier of the latest request transmitted when the network protocol connection is deemed to be active.
[0009] In another aspect of the present invention, a method of identifying an idle network protocol connection in a network is disclosed. The method includes the steps of identifying a request transmitted from a client to a server via a network protocol connection with a stream identifier. The method further includes the steps of caching a stream identifier for each request transmitted via the network protocol connection at a database. The method further includes the steps of retrieving a cached stream identifier from the database. The method further includes the steps of comparing the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network.
[0010] 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
[0011] 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.
[0012] FIG. 1 is an exemplary block diagram of an environment for identifying idle network protocol connection in a network, according to one or more embodiments of the present invention;
[0013] FIG. 2 is an exemplary block diagram of the system for identifying idle network protocol connection in a network, according to one or more embodiments of the present invention;
[0014] FIG. 3 is an exemplary flow diagram of the system of FIG. 2, according to one or more embodiments of the present invention; and
[0015] FIG. 4 is a flow diagram of a method of identifying idle network protocol connection in a network, according to one or more embodiments of the present invention.
[0016] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0017] 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.
[0018] 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.
[0019] 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.
[0020] As per various embodiments depicted, the present invention discloses the system and method of identifying idle network protocol connections in a network.
[0021] FIG. 1 illustrates an exemplary block diagram of an environment 100 for identifying at least one idle network protocol connection in a network 106, according to one or more embodiments of the present disclosure. In this regard, the environment 100 includes a User Equipment (UE) 102, a server 104, the network 106 and a system 108 communicably coupled to each other for identifying the at least one idle network protocol connection.
[0022] As per the illustrated embodiment and for the purpose of description and illustration, the UE 102 includes, but not limited 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. Accordingly, in alternate embodiments, the UE 102 may include a plurality of UEs as per the requirement. For the ease of reference, each of the first UE 102a, the second UE 102b, and the third UE 102c, will hereinafter be collectively and individually referred to as the “User Equipment (UE) 102”.
[0023] In an embodiment, the UE 102 is not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device.
[0024] 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, one or more processors 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 defence facility side, or any other facility that provides service.
[0025] 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.
[0026] 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. The communication network 106 may also include, 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, a VOIP or some combination thereof.
[0027] The environment 100 further includes the system 108 communicably coupled to the server 104 and the UE 102 via the network 106. The system 108 is configured to identify the at least one idle network connection in the network 106. As per one or more embodiments, the system 108 is adapted to be embedded within the server 104 or embedded as an individual entity. However, for the purpose of description, the system 108 is described as an integral part of the server 104, without deviating from the scope of the present disclosure.
[0028] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0029] FIG. 2 is an exemplary block diagram of the system 108 for identifying the at least one idle network protocol connection in the network 106, according to one or more embodiments of the present invention.
[0030] As per the illustrated embodiment, the system 108 includes one or more processors 202, a memory 204, a user interface 206 and a database 208. For the purpose of description and explanation, the description will be explained with respect to one processors 202 and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the system 108 may include more than one processors 202 as per the requirement of the network 106. 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.
[0031] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204. The memory 204 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 create or share data packets over a network service. 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.
[0032] In an embodiment, the user interface 206 includes a variety of interfaces, for example, a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The user interface 206 facilitates communication of the system 108. In one embodiment, the user interface 206 provides a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, the UE 102 and the database 208.
[0033] The database 208 is one of, but not limited to, 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 database 208 types are non-limiting and may not be mutually exclusive e.g., a database can be both commercial and cloud-based, or both relational and open-source, etc.
[0034] In order for the system 108 to identify at least one idle network protocol connection in the network 106, the processor 202 includes one or more modules. In one embodiment, the one or more modules includes, but not limited to an identifying module 210, a caching module 212, a retrieving module 214 and a comparator 216 communicably coupled to each other to identify the at least one idle network protocol connection in the network 106.
[0035] The identifying module 210, the caching module 212, the retrieving module 214 and the comparator 216, in an exemplary embodiment, may be 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.
[0036] In an embodiment, one or more requests are transmitted from a client 318 (as shown in FIG. 3) to a server 320 (as shown in FIG. 3) via network protocol connections. The one or more requests includes, but is not limited to, data, service, Hypertext Transfer Protocol (HTTP) requests and the like. In one embodiment, the client 318 is, but not limited to, the Service Communication Proxy (SCP) which is an HTTP based 5G core network function. Further, in one embodiment, the server 320 is the Network Function (NF) instance including, but not limited to, 5G core network function, routers, switches, firewalls, load balancers, and DNS and Dynamic Host Configuration Protocol servers.
[0037] In an embodiment, the network protocol connection is the establishment and management of communication between two or more UE 102 over the network 106 using a specific protocol or set of protocols. The network protocol connection includes, but not limited to, 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). Further, the one or more requests transmitted by the client 318 to the server 320 via the network 106 includes a unique identifier, such as, but not limited to, a stream identifier. The stream identifier is expressed as an unsigned 31-bit integer. The value (0*00) is reserved for frames that are associated with the connection as a whole as opposed to an individual stream.
[0038] In one embodiment, the identifying module 210 of the processor 202 is configured to identify one or more requests transmitted by the client 318 to the server 320 via the network protocol connection with the stream identifier. Further, the stream identifier for each of a subsequent request transmitted by the client 318 to the server 320 and received via the network protocol connection is incremented by at least two.
[0039] Upon identification of the request transmitted from the client 318 to the server 320 by the identification module 210, the caching module 212 is configured to cache the stream identifier for each request transmitted via the network protocol connection at the database 208.
[0040] Each of the one or more requests transmitted is thus identified and thereafter cached in the database 208. Thereafter, the retrieving module 214 of the processor 202 is configured to retrieve a cached stream identifier from the database 208.
[0041] Upon retrieval of the cached stream identifier by the retrieving module 214, the comparator 216 of the processor 202 is configured to compare the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection. The latest request corresponds to the most recent request received by the client 318 from the server 320. More specifically, the comparator 216 is provided with the retrieved cached stream identifier from the database 208 and the stream identifier of the latest request available at the network protocol connection. The comparator 216 utilizes the retrieved cached stream identifier and the stream identifier of the latest request as inputs for performing a comparison operation.
[0042] Further, in one embodiment, the comparator 216 is configured to ensure that the retrieved cached stream identifier is compared with the stream identifier of the latest request within a predefined time interval. The predefined time interval is defined by at least one of, but not limited to, a service provider. In one embodiment, the predefined time interval refers to a specific, predetermined span of time. The predefined time interval could be defined in various units such as seconds, minutes or hours. For instance, in the present disclosure, the predefined time interval may be at time instance T=n, T = n+5, T = n+10 where n may be the number defined in seconds or minutes. The predefined time interval is defined based on one of, but not limited to, network parameters, network requirements, network traffic, and a combination thereof. By doing so, the comparator 216 is configured to advantageously ensure that the network protocol connections are not falsely deemed to be one of active and idle.
[0043] In response to comparison by the comparator 216, if the retrieved cached stream identifier matches with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be idle. The network protocol connection is deemed to be idle as the network protocol connection has failed to receive any request for the predefined time interval. Further, if the network protocol connection is deemed to be idle, a ping frame is transmitted over the network protocol connection. The ping frame (type=0x06) is a mechanism for measuring a minimal round-trip time from the sender, as well as determining whether an idle connection is still functional. Further, the ping frame can be sent from any endpoint and the ping frames are not associated with any individual stream. By doing so, the system 108 is able to determine if the network protocol connection deemed to be idle is functional or otherwise.
[0044] Alternatively, if the retrieved cached stream identifier fails to match with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be active. Further, if the network protocol connection is active, the cached stream identifier is updated with the stream identifier of the latest request transmitted.
[0045] FIG. 3 is an exemplary flow diagram of the system of FIG. 2, according to one or more embodiments of the present invention.
[0046] For the purpose of description of the exemplary embodiment as illustrated in FIG. 3, the client 318 is considered as a SCP proxy 318 and the server 320 is considered as an NF instance 320. The SCP Proxy 318 is an application that uses network protocol connection to communicate with the NF Instance 320. Accordingly, the SCP proxy 318 is configured to transmit the one or more requests to the NF instance 320 via the network protocol connection.
[0047] As per the illustrated embodiment, the SCP proxy 318 is configured to receive one or more port requests 302-304 over a time period T=n. More specifically, the SCP proxy 318 is configured to receive a first port request 302 at time T=1 and a second port request 304 at time T=2. Moreover, on receipt of the first port request 302, the stream identifier of the first port request 302 is included with a numerical value of one. Thereafter, on a periodic and subsequent receipt of the second port request 304, the stream identifier of the second port request 304 is incremented by at least 2.
[0048] More specifically, and for example, during operation the SCP proxy 318 is configured to receive the first port request 302 at the time T=1. Accordingly, the stream identifier for the first port request 302 is included with the numerical value one. Thereafter, the SCP proxy 318 is configured to receive the second port request 304 at the time T=2 and the stream identifier for the second port request 304 includes numerical value. The numerical value indicated in the stream identifier for the second port request 304 is an incrementation of the numerical value of the stream identifier of the first port request 302. In other words, the stream identifier of the first port request 302 is incremented by the numerical value 2, and this incremented numerical value of two results in numerical value 3, is the stream identifier of the second port request 304.
[0049] As such it is understood that the incremented stream identifier of the second port request 304 is the latest stream identifier, and the second port request 304 is the latest request. Each of the first port request 302 and the second port request 304 is thereafter forwarded to the NF instance 320. Also, each of the forwarded first port request 302 and the forwarded second port request 304 includes the stream identifier and the incremented stream identifier, respectively.
[0050] Moreover, each of the stream identifier and the incremented stream identifier is cached at the database 208 for future reference.
[0051] As per the illustrated embodiment, the SCP proxy 318 is configured to receive one or more port requests 306-308 over a time period T=n+5. More specifically, the SCP proxy 318 is configured to receive the third port request 306 at time T=6 and a fourth port request 308 at time T=7. Moreover, on the periodic and subsequent receipt of the third port request 306, the stream identifier of the third port request 306 is incremented by at least 2. Thus, the stream identifier of the third port request 306 has the numerical value 5. Thereafter, on a periodic and subsequent receipt of the fourth port request 308, the stream identifier of the fourth port request 308 is incremented by at least 2. Thus, the stream identifier of the fourth port request 308 has the numerical value 7.
[0052] Therefore, the stream identifier of the fourth port request 308 is the latest stream identifier, and the fourth port request 308 is the latest request. Each of the third port request 306 and the fourth port request 308 is thereafter forwarded to the NF instance 320. Also, each of the forwarded third port request 306 and the forwarded fourth port request 308 includes the stream identifier and the incremented stream identifier, respectively.

[0053] Further, at a time T=n+10 or in other words T=11, which is within the predefined time interval defined by the service operator, the SCP proxy 318 fails to receive any request. During this predefined time interval, the system 108 retrieves the cached stream identifier of the latest request, i.e., the fourth port request 308. Thereafter, the system 108 compares the retrieved cached stream identifier with the stream identifier of the latest request, which in this case is the fourth port request 308.
[0054] On comparison, the retrieved cached stream identifier of the latest request and the stream identifier of the latest request matches with each other. Owing to this match, the system 108 deems the network protocol connection between the SCP proxy 318 and the client 320 to be idle.
[0055] Further, if the network protocol connection between the SCP proxy 318 and the client 320 is deemed to be idle the ping frame is transmitted over the network protocol connection between the SCP proxy 318 and the client 320 to determine whether the idle connection is still functional. Accordingly, computing resources are optimized during this idle time period.
[0056] FIG. 4 is a flow diagram of a method 400 for identifying at least one idle network protocol connection in the network 106, according to one or more embodiments of the present invention. For the purpose of description, the method is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0057] At step 402, the method 400 includes the step of identifying one or more requests transmitted from the client to the server via the network protocol connection with the stream identifier. In one embodiment, the identifying module 210 of the processor 202 is configured to identify one or more requests transmitted by the client 318 to the server 320 via the network protocol connection with the stream identifier. Further, the stream identifier for each of a subsequent request transmitted by the client 318 to the server 320 and received via the network protocol connection is incremented by at least two.
[0058] At step 404, the method 400 includes the step of caching a stream identifier for each request transmitted via the network protocol connection at a database. Upon identification of the request transmitted from the client 318 to the server 320 by the identification module 210, the caching module 212 is configured to cache the stream identifier for each request transmitted via the network protocol connection at the database 208.
[0059] At 406, the method 400 includes the step of retrieving a cached stream identifier of a latest request from the database. Each of the one or more requests transmitted is thus identified and thereafter cached in the database 208. Thereafter, the retrieving module 214 of the processor 202 is configured to retrieve a cached stream identifier from the database 208.
[0060] At 408, the method 400 includes the step of comparing the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network. The latest request corresponds to the most recent request received by the client 318 from the server 320. Upon retrieval of the latest request by the retrieving module 214, the comparator 216 of the processor 202 is configured to compare the retrieved cached stream identifier with the stream identifier of the latest request transmitted via the network protocol connection. More specifically, the comparator 216 is provided with the retrieved cached stream identifier from the database 208 and the stream identifier of the latest request available at the network protocol connection. The comparator 216 utilizes the retrieved cached stream identifier and the stream identifier of the latest request as inputs for performing a comparison operation
[0061] Further, in one embodiment, the comparator 216 is configured to ensure that the retrieved cached stream identifier is compared with the stream identifier of the latest request within a predefined time interval. By doing so, the comparator 216 is configured to advantageously ensure that the network protocol connections are not falsely deemed to be one of active and idle.
[0062] In response to comparison by the comparator 216, if the retrieved cached stream identifier matches with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be idle. The network protocol connection is deemed to be idle as the network protocol connection has failed to receive any request for the predefined time interval. Further, if the network protocol connection is deemed to be idle, a ping frame is transmitted over the network protocol connection. By doing so, the system 108 is able to determine if the network protocol connection deemed to be idle is functional or otherwise.
[0063] Alternatively, if the retrieved cached stream identifier fails to match with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be active. However, if the network protocol connection is active, the cached stream identifier is updated with the stream identifier of the latest request transmitted.
[0064] 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 identify a request transmitted from the client to the server via the network protocol connection with the stream identifier. The processor 202 is further configured to cache the stream identifier for each request transmitted via the network protocol connection at the database 208. The processor 202 is further configured to retrieve the cached stream identifier of a latest request from the database 208. The processor 202 is further configured to compare the retrieved cached stream identifier with the stream identifier of the latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network 106.
[0065] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-4) 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.
[0066] The present disclosure incorporates technical advancement of identifying idle network protocol connections in a network by saving critical CPU cycle and memory. Further, there is no need to maintain separate Last Stream Identifier variable and update its value with each single request in the present disclosure.
[0067] 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

[0068] Environment- 100
[0069] User Equipment (UE)- 102
[0070] Server- 104
[0071] Communication Network- 106
[0072] System -108
[0073] Processor- 202
[0074] Memory- 204
[0075] User Interface- 206
[0076] Database- 208
[0077] Identifying module- 210
[0078] Caching module- 212
[0079] Retrieving module 214
[0080] Comparator- 216
[0081] SCP Proxy (Client) – 318
[0082] NF instance (Server)- 320


,CLAIMS:CLAIMS
We Claim
1. A method (400) of identifying an idle network protocol connection in a network (106), the method (400) comprising the steps of:
identifying, by one more processors (202), a request transmitted from a client (318) to a server (320) via a network protocol connection with a stream identifier;
caching, by the one or more processors (202), the stream identifier for each request transmitted via the network protocol connection at a database (208);
retrieving, by the one or more processors (202), a cached stream identifier from the database (208); and
comparing, by the one or more processors (202), the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network (106).

2. The method (400) as claimed in claim 1, wherein on comparison, if the retrieved cached stream identifier matches with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be idle.

3. The method (400) as claimed in claim 2, wherein the method (400) comprises the step of transmitting, by the one or more processors (202), a ping frame over the network protocol connection deemed to be idle.

4. The method (400) as claimed in claim 1, wherein the retrieved cached stream identifier is compared with the stream identifier of the latest request transmitted within a predefined time interval.

5. The method (400) as claimed in claim 1, wherein on comparison, if the retrieved cached stream identifier fails to match with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be active, and the cached stream identifier is updated with the stream identifier of the latest request transmitted.

6. The method (400) as claimed in claim 5, wherein the method (400) comprises the step of updating the cached stream identifier with the stream identifier of the latest request transmitted when the network protocol connection is deemed to be active.

7. A system (108) for identifying an idle network protocol connection in a network (106), the system (108) comprising:
an identifying module (210) configured to, identify, a request transmitted from a client (318) to a server (320) via a network protocol connection with a stream identifier;
a caching module (212) configured to, cache, the stream identifier for each request transmitted via the network protocol connection at a database (208);
a retrieving module (214) configured to, retrieve, a cached stream identifier from the database (208); and
a comparator (216) configured to, compare, the retrieved cached stream identifier with the stream identifier of a latest request transmitted via the network protocol connection to identify the idle network protocol connection in the network (106).

8. The system (108) as claimed in claim 8, wherein on comparison, if the retrieved cached stream identifier matches with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be idle.

9. The system (108) as claimed in claim 9, wherein a ping frame is transmitted over the network protocol connection deemed to be idle.

10. The system (108) as claimed in claim 8, wherein on comparison, if the retrieved cached stream identifier fails to match with the stream identifier of the latest request transmitted, the network protocol connection is deemed to be active.

11. The system (108) as claimed in claim 11, wherein the cached stream identifier is updated with the stream identifier of the latest request transmitted when the network protocol connection is deemed to be active.

12. The system (108) as claimed in claim 8, wherein the retrieved cached stream identifier is compared with the stream identifier of the latest request transmitted within a predefined time interval.

Documents

Application Documents

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