EP4740422A1 - Method and system for managing connections at hypertext transfer protocol (http) client - Google Patents
Method and system for managing connections at hypertext transfer protocol (http) clientInfo
- Publication number
- EP4740422A1 EP4740422A1 EP24835600.8A EP24835600A EP4740422A1 EP 4740422 A1 EP4740422 A1 EP 4740422A1 EP 24835600 A EP24835600 A EP 24835600A EP 4740422 A1 EP4740422 A1 EP 4740422A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- servers
- unit
- connections
- connection
- queries
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
Abstract
The present disclosure relates to a method and a system for managing connections at hypertext transfer protocol (HTTP) client to increase overall throughput of overall communication network The disclosure encompasses: establishing, by a connection establishing unit [302], one or more connections with one or more servers; creating, by a creating unit [304], a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; receiving, by a receiving unit [306], the one or more queries from an application program interface (API) for the one or more servers; adding, by a queueing unit [308], the one or more queries in the respective queue for the one or more servers; and identifying, by a identifying unit [310], an available connection with the one or more servers.
Description
METHOD AND SYSTEM FOR MANAGING CONNECTIONS AT HYPERTEXT TRANSFER PROTOCOL (HTTP) CLIENT FIELD OF THE DISCLOSURE [0001] The present disclosure relates generally to the field of wireless communication systems. More particularly, the present disclosure relates to methods and systems for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network. BACKGROUND [0002] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art. [0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. 3G technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth-generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth-generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. With each generation, wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users. [0004] In a communication network, Hypertext Transfer Protocol (HTTP) Client uses multiple connections, rather than a single connection, in order to complete communication efficiently. Using a single connection for communication allows only one outstanding request for
a peer which creates significant overhead, and slowing down the application which in turn, causes ripple effect on other dependent applications. Using multiple but limited number of connections solves this problem. However, use of multiple connections has its own disadvantages. [0005] One such issue is idle connections. When no communication is taking place between a client and a server but a connection persists between them, an idle connection occurs. While multiple connections may be added to cater to requests when the load is high, these connections remain in the idle state when the load reduces. [0006] Further, in the existing solutions where an idle connection take place, a wait-timer for a pre-defined period of time is used at the server end to monitor if communication is taking place or not. However, when the idle connection occurs and no communication takes place within such pre-defined period of time, activation of firewalls take place to break the connection from the server end. After the idle wait time, the firewalls (if any exists between HTTP client and server) tear-down the underlying transport layer connection without letting the client know. This leads to the formation of a stale state (or idle state), i.e. the connection can no longer be used to send requests to the server and the connection’s state at the client’s end shall always be stale. This also leads to inefficient usage of the resources. [0007] Further, over the period of time various solutions have been developed to improve the performance of communication devices and to enhance HTTP client to efficiently use multiple connections to increase overall throughput of overall communication network. However, there are certain challenges with existing solutions such increased overall time for communication due to formation of a new connection for every request for communication, and occurrence of stale connection when an idle state for a connection occurs for more than the pre-defined period. [0008] Thus, there exists an imperative need in the art to managing connections at Hypertext Transfer Protocol (HTTP) Client for enhancing HTTP client to efficiently use multiple connections to increase overall throughput of overall communication network, which the present disclosure aims to address. OBJECTS OF THE INVENTION [0009] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0010] It is an object of the present disclosure to provide a system and a method for managing connections at Hypertext Transfer Protocol (HTTP) Client. [0011] It is another object of the present disclosure to provide a system and a method for enhancing HTTP client to efficiently use multiple connections to increase overall throughput of overall communication network. [0012] It is yet another object of the present disclosure to provide a solution that provides a persistent connection for enhancing HTTP communication. [0013] It is yet another object of the present disclosure to provide a time-efficient solution to use multiple connections in HTTP communication. [0014] It is yet another object of the present disclosure to provide a solution in which a custom HTTP client can adjust the number of connections as per requirement of the application. [0015] It is yet another object of the present disclosure to provide a solution in which a custom HTTP client can detect stale (idle) connections which have been closed by the server but their closure event was undetected at the client. Upon detection, it can retry the failed requests over new connections. [0016] It is yet another object of the present disclosure to provide a solution in which a custom HTTP client also supports secure communication. SUMMARY OF THE DISCLOSURE [0017] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter. [0018] According to an aspect of the present disclosure, a method for managing connections at Hypertext Transfer Protocol (HTTP) Client is disclosed. The method comprises establishing, by one or more HTTP clients, one or more connections with one or more servers. Further, the method comprises creating, by the one or more HTTP clients, a queue for each of the one or more
connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers. Further, the method comprises receiving, by the one or more HTTP clients, the one or more queries from an application program interface (API) for the one or more servers. Further, the method comprises adding, by the one or more HTTP clients, the one or more queries in the respective queue for the one or more servers. Further, the method comprises identifying, by the one or more HTTP clients, an available connection with the one or more servers. [0019] In an exemplary aspect of the present disclosure, the method further comprises detecting, by the one or more HTTP clients, a failure in transmitting the added one or more queries over the identified available connection; identifying, by the one or more HTTP clients, the identified available connection as a stale connection; closing, by the one or more HTTP clients, the stale connection; and establishing, by the one or more HTTP clients, a new connections with the one or more servers, wherein the added one or more queries are transmitted over the new connection. [0020] In an exemplary aspect of the present disclosure, the one or more HTTP clients establishes a preconfigured number of connections with the one or more servers. [0021] In an exemplary aspect of the present disclosure, the method comprises: notifying, by the one or more HTTP clients, a peer management task (PMT) unit of the added one or more queries; and transmitting, by the peer management task (PMT) unit, the added one or more queries to the one or more servers over the identified available connection. [0022] In an exemplary aspect of the present disclosure, in an event the PMT unit identifies that no connection is available, the method further comprises determining, by the PMT unit, whether a number of connections exceeds a preconfigured number of connections. [0023] In an exemplary aspect of the present disclosure, in an event the PMT unit identifies that the number of connections is less than the preconfigured number of connections, the method further comprises: creating, by the PMT unit, a new connection with the one or more servers; and transmitting, by the PMT unit, the added one or more queries to the one or more servers over the new connection.
[0024] In an exemplary aspect of the present disclosure, in an event the PMT unit identifies that the number of connections exceeds the preconfigured number of connections, the method further comprises: waiting, by the PMT unit, for the one or more connections with the one or more servers to become available; and transmitting, by the PMT unit, the added one or more queries to the one or more servers once the one or more connections are available. [0025] In an exemplary aspect of the present disclosure, the one or more queries comprises HTTP requests corresponding to at least one of GET, POST, PUT, DELETE, or other standard HTTP methods intended for communication with the one or more servers. [0026] According to another aspect of the present disclosure, a system for managing connections at Hypertext Transfer Protocol (HTTP) Client is disclosed. The system comprises a connection establishing unit configured to establish one or more connections with one or more servers. Further, the system comprises a creating unit configured to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers. Further, the system comprises a receiving unit configured to receive the one or more queries from an application program interface (API) for the one or more servers. Further, the system comprises a queueing unit configured to add the one or more queries in the respective queue for the one or more servers. Further, the system comprises an identifying unit configured to identify an available connection with the one or more servers. [0027] According to another aspect of the present disclosure, a user equipment (UE) comprises a system for managing connections at Hypertext Transfer Protocol (HTTP) Client is disclosed. The system further comprises a connection establishing unit configured to establish one or more connections with one or more servers. Further, the system comprises a creating unit configured to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers. Further, the system comprises a receiving unit configured to receive the one or more queries from an application program interface (API) for the one or more servers. Further, the system comprises a queueing unit configured to add the one or more queries in the respective queue for the one or more servers. Further, the system comprises an identifying unit configured to identify an available connection with the one or more servers.
[0028] According to another aspect of the present disclosure, a non-transitory computer readable medium to store executable instructions is provided, the executable instructions when executed by one or more units of a system, cause: a connection establishing unit to establish one or more connections with one or more servers; a creating unit to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; a receiving unit to receive the one or more queries from an application program interface (API) for the one or more servers; a queueing unit to add the one or more queries in the respective queue for the one or more servers; an identifying unit to identify an available connection with the one or more servers. BRIEF DESCRIPTION OF DRAWINGS [0029] 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. [0030] FIG. 1 illustrates an exemplary block diagram representation of a Hypertext Transfer Protocol (HTTP) client server interface architecture. [0031] FIG. 2 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. [0032] Fig.3 illustrates an exemplary block diagram of a system for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network, in accordance with exemplary implementations of the present disclosure.
[0033] Fig. 4 illustrates a method flow diagram for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network, in accordance with exemplary implementations of the present disclosure. [0034] FIG.5 illustrates method flow diagram of an exemplary process indicating an exemplary scenario of the process for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network, in accordance with exemplary embodiments of the present disclosure. [0035] The foregoing shall be more apparent from the following more detailed description of the disclosure. DETAILED DESCRIPTION [0036] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings. [0037] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth. [0038] It should be noted that the terms "mobile device", "user equipment", "user device", “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply
any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein. [0039] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. [0040] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. [0041] The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive—in a manner similar to the term “comprising” as an open transition word—without precluding any additional or other elements. [0042] As used herein, an “electronic device”, or “portable electronic device”, or “user device” or “communication device” or “user equipment” or “device” refers to any electrical, electronic, electromechanical and computing device. The user device is capable of receiving and/or transmitting one or parameters, performing function/s, communicating with other user devices and
transmitting data to the other user devices. The user equipment may have a processor, a display, a memory, a battery and an input-means such as a hard keypad and/or a soft keypad. The user equipment may be capable of operating on any radio access technology including but not limited to IP-enabled communication, Zig Bee, Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi, Wi-Fi direct, etc. For instance, the user equipment may include, but not limited to, a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure. [0043] Further, the user device may also comprise a “processor” or “processing unit” includes processing unit, wherein processor refers to any logic circuitry for processing instructions. The processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor. [0044] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various components/units can be implemented interchangeably. While specific embodiments may disclose a particular functionality of these units for clarity, it is recognized that various configurations and combinations thereof are within the scope of the disclosure. The functionality of specific units as disclosed in the disclosure should not be construed as limiting the scope of the present disclosure. Consequently, alternative arrangements and substitutions of units, provided they achieve the intended functionality described herein, are considered to be encompassed within the scope of the present disclosure. [0045] As discussed in the background section, the current known solutions for enhancing HTTP client to efficiently use multiple connections to increase overall throughput of overall communication network have several shortcomings such as increased overall time for communication due to formation of a new connection for every request for communication, and occurrence of state when an idle connection occurs for more than the pre-defined period.
[0046] The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by allowing the network to make persistent connections to ensure that the teardown of the connection does not take place once the request for the connection has been met with response. Further, HTTP client can adjust and maintain the number of connections based on the requirement of the application. Furthermore, the HTTP client can detect stale state for the idle connections that have been closed by the server but their closure event was left undetected at the client. Upon detection of the stale state for the idle connection (that is, upon detection of stale (or idle) connection for a threshold period of time), HTTP client retries to send requests to form new connections in order to allow the communication to happen smoothly whenever the communication is performed within such connection. Moreover, the HTTP Client also supports secure communication. [0047] In the present disclosure, the number of connections to be created with the server by the HTTP client are pre-configured and these connections are maintained (created or destroyed) as per the demand of the application by calculating the current load being generated by the application. Also, the HTTP Client detects the stale connection when it receives Reset (RST) at Transport Protocol (TCP) level from the peer while sending request, wherein the server or the peer is pre-configured with Fully Qualified Domain Name (FQDN) and Internet Protocol (IP) addresses of active and standby IP addresses. This happens when there is firewall between Client and Server. Server closes the connections with the firewall but connections between client and firewall remained intact. Upon stale connection detection, new connection(s) is(are) established with the peer for request forwarding. [0048] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings. [0049] Fig. 1 illustrates an exemplary block diagram representation of a Hypertext Transfer Protocol (HTTP) client-server interface architecture [102]. A client [102a] communicates with server [102b] using the HTTP interface [102c]. The client–server model is a distributed application structure that distributes tasks between the providers of a resource, called servers, and service requesters, called clients. The clients [102a] and servers [102b] communicate over a computer network on separate hardware, but both client [102a] and server [102b] may reside in the same system. A server host runs one or more server programs, which share their resources with clients. The clients [102a] and servers [102b] exchange messages in a request–response messaging pattern. In operation for communication between clients [102a] and servers [102b], server(s) [102b] waits
for client(s) [102a] request messages. After the server [102b] receives a request message from a client [102a], the server [102b] processes the message, and replies to the client [102a] with a response message. All the communication takes place using the Hypertext Transfer Protocol. The response may contain an HTTP Response status code indicating whether or not the request succeeded. [0050] Fig.2 illustrates an exemplary block diagram of a computing device [1000] (or as used herein, computer system [1000]) upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device [1000] may also implement a method for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network utilising the system. In another implementation, the computing device [1000] itself implements the method for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network using one or more units configured within the computing device [1000], wherein said one or more units are capable of implementing the features as disclosed in the present disclosure. [0051] The computing device [1000] may include a bus [1002] or other communication mechanism for communicating information, and a hardware processor [1004] coupled with bus [1002] for processing information. The hardware processor [1004] may be, for example, a general purpose microprocessor. The computer system [1000] may also include a main memory [1006], such as a random access memory (RAM), or other dynamic storage device, coupled to the bus [1002] for storing information and instructions to be executed by the processor [1004]. The main memory [1006] also may be used for storing temporary variables or other intermediate information during execution of the instructions to be executed by the processor [1004]. Such instructions, when stored in non-transitory storage media accessible to the processor [1004], render the computer system [1000] into a special-purpose machine that is customized to perform the operations specified in the instructions. The computer system [1000] further includes a read only memory (ROM) [1008] or other static storage device coupled to the bus [1002] for storing static information and instructions for the processor [1004]. [0052] A storage device [1010], such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus [1002] for storing information and instructions. The computer system [1000] may be coupled via the bus [1002] to a display [1012], such as a cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED)
display, etc. for displaying information to a computer user. An input device [1014], including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus [1002] for communicating information and command selections to the processor [1004]. Another type of user input device may be a cursor controller [1016], such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor [1004], and for controlling cursor movement on the display [1012]. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane. [0053] The computer system [1000] / computing device [1000] may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system [1000] causes or programs the computer system [1000] to be a special-purpose machine. According to one implementation, the techniques herein are performed by the computer system [1000] in response to the processor [1004] executing one or more sequences of one or more instructions contained in the main memory [1006]. Such instructions may be read into the main memory [1006] from another storage medium, such as the storage device [1010]. Execution of the sequences of instructions contained in the main memory [1006] causes the processor [1004] to perform the process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of or in combination with software instructions. [0054] The computer system [1000] also may include a communication interface [1018] coupled to the bus [1002]. The communication interface [1018] provides a two-way data communication coupling to a network link [1020] that is connected to a local network [1022]. For example, the communication interface [1018] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, the communication interface [1018] may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface [1018] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. [0055] The computer system [1000] can send messages and receive data, including program code, through the network(s), the network link [1020] and the communication interface [1018]. In
the Internet example, a server [1030] might transmit a requested code for an application program through the Internet [1028], the ISP [1026], the local network [1022], host [1024] and the communication interface [1018]. The received code may be executed by the processor [1004] as it is received, and/or stored in the storage device [1010], or other non-volatile storage for later execution. [0056] Referring to Figure 3, an exemplary block diagram of a system [300] for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network is shown, in accordance with the exemplary implementations of the present disclosure. The system [300] comprises at least one connection establishing unit [302], at least one creating unit [304], at least one receiving unit [306], at least one queueing unit [308], at least one identifying unit [310], and at least one detecting unit [312], at least one peer management task (PMT) unit [314] (or PMT module [314], and at least one transmitting unit [316]. Also, all of the components/ units of the system [300] are assumed to be connected to each other unless otherwise indicated below. As shown in the figures all units shown within the system should also be assumed to be connected to each other. Also, in Fig.3 only a few units are shown, however, the system [300] may comprise multiple such units or the system [300] may comprise any such numbers of said units, as required to implement the features of the present disclosure. Further, in an implementation, the system [300] may be present in a user device to implement the features of the present disclosure. The system [300] may be a part of the user device / or may be independent of but in communication with the user device (may also referred herein as a UE). In another implementation, the system [300] may reside in a server or a network entity. In yet another implementation, the system [300] may reside partly in the server/ network entity and partly in the user device. [0057] The system [300] is configured for managing connections at Hypertext Transfer Protocol (HTTP) Client, with the help of the interconnection between the components/units of the system [300]. [0058] The configuration of a HTTP Server(s) is done prior to establishment of the connections between the HTTP client and the HTTP servers. In this, multiple servers and/or peers may be configured. Both active and standby peers are configured and mapped to a fully qualified domain name (FQDN). Further, a data storing the FQDN as a key and using active and standby peers as value is used. This data may be pre-stored in a storage unit [318]. Once the configuration is done, and is successful, the client may initiate the configured number of connections towards
the server. For this purpose, the client may use the connection establishing unit [302]. The connection establishing unit [302] is configured to establish one or more connections with one or more servers. [0059] Further, the creating unit [304] is configured to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers. For each server/peer configured, the creating unit [304] may create a new queue. Also, in an implementation, a new request may be added to the queue every time when the new request to be sent to the server/peer is submitted. In other words, when an application submits a request through client, requests are buffered in a queue. Also, a Peer Management Task (PMT) module (or as used herein, PMT unit [314]) is made to run in the background. This PMT module constantly monitors for receival of any new request that is submitted to a queue. In an implementation, the PMT module is notified to process further the newly received request. The PMT module may find an available resource to be used for further processing of the request(s). [0060] Thus, after creation of the queue, the receiving unit [306] is configured to receive the one or more queries from an application program interface (API) for the one or more servers. For this purpose, an application module may call an Application Programming Interface (API) of the client to send a request. This API has a Universal Resource Identifier (URI) as one of the parameters. The application module can provide the FQDN or internet protocol (IP) address as values of the URI to send such requests. [0061] Further, queueing unit [308] is configured to add the one or more queries in the respective queue for the one or more servers. Pertinently, if the FQDN is used by the application module in the above request, an available connection of active instance may be preferred over that of standby instance. However, if the IP address is used in URI, the request may be routed to the specific instance, be it an active instance or a standby instance. Also, after submitting the request, application module is free from further processing, which will facilitate in increasing overall throughput of overall communication network. [0062] Further, the identifying unit [310] is configured to identify an available connection with the one or more servers. For this purpose, the identifying unit [310] may determine whether connection is available or not. If it is determined that a connection is available, then the request may be written on the available connection. However, in an implementation, if it is determined
that no connection is available, then the identifying unit [310] may further determine if the number of connections exceed a pre-configured threshold number of connections. Further, if it is determined that the number of connections do not exceed the pre-configured threshold number of connections, then a new connection may be created for writing the request on the newly created connection. However, if it is determined that the number of connections exceed the pre-configured threshold number of connections, then the system waits for a connection be to free and when the connection becomes available, then the request may be written on the available connection. In an implementation, once the PMT module is notified, the request from the queue is popped out, and identification of an available connection from the pool is done or a new connection is created. Further, the request is forwarded to such identified or created connection. Also, in an implementation, if the writing of the request is successful, then a connection is formed and the flow is terminated. However, if the writing of the request in unsuccessful, then this connection is closed, and a new connection is created. Further, the request is written over the new connection created. Once, the writing of this new request is successful, then it is checked by the detecting unit [312] if there is any problem occurring while forwarding the request to the server. If a problem is detected, by the detecting unit [312], while forwarding the request to the server, a failure reason is checked. A person skilled in the art would appreciate that in a network, there are regular connection fluctuations (connections being created and destroyed), so there are occasions where the connection seems available but when an application try to write a request on that connection, the connection may become unavailable. Further, in scenarios where a firewall is present in the path of a data packet, idle connections may frequently be closed by the firewall. A stateful firewall (that keeps a track of the state or context of connections by maintaining a state table, as opposed to stateless firewalls that do not track the state of connections) may remove connections from its state table after a given idle session timeout. Due to this, a client may be unaware of the connection closure at firewall end. Due to this, the connection appears active at the client end. The client end gets to know about this connection closure when an application tries to write a request over the channel and it receives CONNECTION_RESET indication from the firewall. Thus, if the failure is due to CONNECTION_RESET, then the identifying unit [310] marks/identifies the available connection as a stale connection. Further, in this implementation, the queueing unit [308] closes this identified stale connection. [0063] In another exemplary implementation, after closing the identified stale connection, a new connection may also be created to maintain the connection pool. Further, in this implementation, the connection establishing unit [302] may establish a new connection with the
one or more servers, wherein the added one or more queries may be transmitted over this new connection. [0064] In other words, in an event the PMT unit [314] identifies that no connection is available, the PMT unit [314] is further configured to determine whether a number of connections exceeds a preconfigured number of connections, that is a threshold number of connections. This threshold number of connections is decided as per the throughput requirement of the application. Higher connections will lead to higher throughput. However, greater number of connections than required may lead to resource wastage. Hence, the threshold number of connections are configured by the application basis at least the throughput requirement of the application. Also, in an exemplary implementation, the one or more HTTP clients establish a preconfigured number of connections with the one or more servers. Further, in an exemplary implementation, in an event the PMT unit [314] identifies that the number of connections is less than the preconfigured number of connections, the creating unit [304] may create a new connection with the one or more servers. In this implementation, the transmitting unit [316] may be further configured to transmit the added one or more queries to the one or more servers over the new connection. [0065] Also, in this implementation, in an event the PMT unit [314] identifies that the number of connections exceeds the preconfigured number of connections, the queueing unit [308] is further configured to wait for the one or more connections with the one or more servers to become available. In this implementation, the transmitting unit [316] is further configured to transmit the added one or more queries to the one or more servers once the one or more connections are available. [0066] In an exemplary implementation, the one or more queries comprises HTTP requests corresponding to at least one of GET, POST, PUT, DELETE, or other standard HTTP methods intended for communication with the one or more servers. [0067] The system [300] allows multiple connection requests to be sent asynchronously to increase the overall throughput of the application. Further, the system allows the use of multiple connections to be optimized in a way such that these connections are created and teared down depending on the traffic currently being generated for proper resource utilization. Furthermore, more connections are created (subjected to a threshold) if the application requires and connections are teared down when application requires only a few. Thereby, traffic handling during both the peak hours and lean hours is taken care of effectively. Further, the problem of stale connections
due to the idle state is also solved. When the client tries to send a request over the stale connection due to idle state, it receives RST (reset) frame indicating CONNECTION_RESET over TCP (Transmission Control Protocol) from peer. Upon receiving the RST packet, the client releases the connection state from its memory and frees the unusable resource and works upon creation of a new connection (if required) with the peer. [0068] Referring to Figure 4, an exemplary method flow diagram [400], for enhancing HTTP client to efficiently use multiple connections to increase overall throughput of overall communication network, in accordance with exemplary embodiments of the present invention is shown. In an implementation the method [400] is performed by the system [300]. As shown in Figure 4, the method [400] starts at step [302]. For the purpose of clarity, various components as shown in Figure 3 may be used to explain the steps of Figure 4. Also, for the purpose of clarity, components of Figure 5 which illustrates a method flow diagram of an exemplary process indicating an exemplary scenario of the process for managing connections at Hypertext Transfer Protocol (HTTP) Client to increase overall throughput of overall communication network, in accordance with exemplary embodiments of the present disclosure, may also be used in conjunction with the explanation of Figure 4 in this disclosure. [0069] At step [402], the method [400] as disclosed by the present disclosure comprises establishing, by the connection establishing unit [302], one or more connections with one or more servers. The connection establishing unit [302] establishes one or more connections with the one or more servers as per pre-configurations or based on the demand of the application by calculating the current load being generated by the application. Also, a configuration of a HTTP Server(s) is done prior to establishment of the connections between the HTTP client and the HTTP servers (See block 501 of Fig. 5). In this, multiple servers and/or peers may be configured. Both active and standby peers are configured and mapped to a fully qualified domain name (FQDN). Further, a data storing the FQDN as a key and using active and standby peers as value is used. This data may be pre-stored in a storage unit [318]. Once the configuration is done, and is successful, the client may initiate the configured number of connections towards the server. For this purpose, the client may use the connection establishing unit [302]. [0070] Next, at step [404], the method [400] as disclosed by the present disclosure comprises creating, by the creating unit [304], a queue for each of the one or more connections with the one or more servers. For each server/peer configured, the creating unit [304] may create a new queue (See block 502 of Fig. 5). Also, in an implementation, a new request may be added to the queue
every time when the new request to be sent to the server/peer is submitted. In other words, when an application submits a request through client, requests are buffered in a queue. Also, a Peer Management Task (PMT) module (or as used herein, PMT unit [314]) is made to run in the background. This PMT unit [314] constantly monitors for receival of any new request that is submitted to a queue. In an implementation, the PMT unit [314]is notified to process further the newly received request. The PMT unit [314] may find an available resource to be used for further processing of the request(s). [0071] Next, after creation of the queue, at step [406], the method [400] as disclosed by the present disclosure comprises receiving, by the receiving unit [306], one or more queries from an application program interface (API) for the one or more servers. For this purpose, an application module may call an Application Programming Interface (API) of the client to send a request (See block 503 of Fig.5). This API has a Universal Resource Identifier (URI) as one of the parameters. The application module can provide the FQDN or internet protocol (IP) address as values of the URI to send such requests. [0072] Next, at step [408], the method [400] as disclosed by the present disclosure comprises adding, by the queueing unit [308], the one or more queries in the respective queue for the one or more servers (See block 504 of Fig.5). Pertinently, if the FQDN is used by the application module in the above request, an available connection of active instance may be preferred over that of standby instance. However, if the IP address is used in URI, the request may be routed to the specific instance, be it an active instance or a standby instance. Also, after submitting the request, application module is free from further processing, which will facilitate in increasing overall throughput of overall communication network. [0073] Next, at step [410], the method [400] as disclosed by the present disclosure comprises identifying, by the identifying unit [310], an available connection with the one or more servers. For this purpose, the identifying unit [310] may determine whether connection is available or not (See block 505 of Fig.5). If it is determined that a connection is available, then the system proceeds to the next step of writing the request on the available connection (See block 508 of Fig. 5). However, in an implementation, if it is determined that no connection is available, then the identifying unit [310] may further determine if the number of connections exceed a pre-configured threshold number of connections (See block 506 of Fig. 5). Further, if it is determined that the number of connections do not exceed the pre-configured threshold number of connections, then the method proceeds to creating a new connection (See block 509 of Fig.5) and then the method
moves to the next step of writing the request on the available connection (See block 508 of Fig. 5). However, if it is determined that the number of connections exceed the pre-configured threshold number of connections, then the system waits for a connection be to free (See block 507 of Fig.5) and when the connection becomes available, the method moves to the next step of writing the request on the available connection (See block 508 of Fig.5). In an implementation, once the PMT module is notified, the request from the queue is popped out, and identification of an available connection from the pool is done or a new connection is created. Further, the request is forwarded to such identified or created connection. Also, in an implementation, it is checked whether the writing of the request is successful or not (See block 510 of Fig.5). If the writing of the request is successful, then a connection is formed and the flow is terminated (See block 514 of Fig. 5). However, if the writing of the request in unsuccessful, then this connection is closed (See block 511 of Fig. 5), and a new connection is created (See block 512 of Fig. 5). Further, the request is written over the new connection created (See block 513 of Fig.5). [0074] In an implementation, once the writing of this new request is successful, then the method comprises checking, by the detecting unit [312], if there is any problem occurring while forwarding the request to the server. If a problem is detected, by the detecting unit [312], while forwarding the request to the server, a failure reason is checked. A person skilled in the art would appreciate that in a network, there are regular connection fluctuations (connections being created and destroyed), so there are occasions where the connection seems available but when an application try to write a request on that connection, the connection may become unavailable. Further, in scenarios where a firewall is present in the path of a data packet, idle connections may frequently be closed by the firewall. A stateful firewall (that keeps a track of the state or context of connections by maintaining a state table, as opposed to stateless firewalls that do not track the state of connections) may remove connections from its state table after a given idle session timeout. Due to this, a client may be unaware of the connection closure at firewall end. Due to this, the connection appears active at the client end. The client end gets to know about this connection closure when an application tries to write a request over the channel and it receives CONNECTION_RESET indication from the firewall. Thus, if the failure is due to CONNECTION_RESET, then the method comprises identifying/marking, by the identifying unit [310], the available connection as a stale connection. Further, in this implementation, the method may further comprise closing, by the queueing unit [308], this identified stale connection. In another exemplary implementation, after closing the identified stale connection, a new connection may also be created to maintain the connection pool. Further, in this implementation, the method may further comprise, establishing, by the connection establishing unit [302], a new connection
with the one or more servers, wherein the added one or more queries may be transmitted over this new connection. [0075] In other words, in an event the PMT unit [314] identifies that no connection is available, the PMT unit [314] determines whether a number of connections exceeds a preconfigured number of connections, that is a threshold number of connections. This threshold number of connections is decided as per the throughput requirement of the application. Higher connections will lead to higher throughput. However, greater number of connections than required may lead to resource wastage. Hence, the threshold number of connections are configured by the application basis at least the throughput requirement of the application. Also, in an exemplary implementation, the one or more HTTP clients establish a preconfigured number of connections with the one or more servers. Further, in an exemplary implementation, in an event the PMT unit [314] identifies that the number of connections is less than the preconfigured number of connections, the creating unit [304] may create a new connection with the one or more servers. In this implementation, the transmitting unit [316] may be further configured to transmit the added one or more queries to the one or more servers over the new connection. Also, in this implementation, in an event the PMT unit [314] identifies that the number of connections exceeds the preconfigured number of connections, the queueing unit [308] is further configured to wait for the one or more connections with the one or more servers to become available. In this implementation, the transmitting unit [316] is further configured to transmit the added one or more queries to the one or more servers once the one or more connections are available. [0076] In an exemplary implementation, the one or more queries comprises HTTP requests corresponding to at least one of GET, POST, PUT, DELETE, or other standard HTTP methods intended for communication with the one or more servers. [0077] The method [400] allows multiple connection requests to be sent asynchronously to increase the overall throughput of the application. Further, the method [400] allows the use of multiple connections to be optimized in a way such that these connections are created and teared down depending on the traffic currently being generated for proper resource utilization. Furthermore, more connections are created (subjected to a threshold) if the application requires and connections are teared down when application requires only a few. Thereby, traffic handling during both the peak hours and lean hours is taken care of effectively. Further, the problem of stale connections due to the idle state is also solved. When the client tries to send a request over the stale connections due to idle state, it receives RST (reset) frame indicating
CONNECTION_RESET over TCP (Transmission Control Protocol) from peer. Upon receiving the RST packet, the client releases the connection state from its memory and frees the unusable resource and works upon creation of a new connection (if required) with the peer. [0078] The present disclosure also encompasses a user equipment (UE) for managing connections at Hypertext Transfer Protocol (HTTP) Client comprising a system. The system further comprises a connection establishing unit configured to establish one or more connections with one or more servers. Further, the system comprises a creating unit configured to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers. Further, the system comprises a receiving unit configured to receive the one or more queries from an application program interface (API) for the one or more servers. Further, the system comprises a queueing unit configured to add the one or more queries in the respective queue for the one or more servers. Further, the system comprises an identifying unit configured to identify an available connection with the one or more servers. [0079] The present disclosure also encompasses a non-transitory computer readable medium to store executable instructions for managing connections at Hypertext Transfer Protocol (HTTP) Client, the executable instructions when executed by one or more units of a system, cause: a connection establishing unit to establish one or more connections with one or more servers; a creating unit to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; a receiving unit to receive the one or more queries from an application program interface (API) for the one or more servers; a queueing unit to add the one or more queries in the respective queue for the one or more servers; an identifying unit to identify an available connection with the one or more servers. [0080] As is evident from the above, the present disclosure provides a technically advanced solution for enhancing Hypertext Transfer Protocol (HTTP) client to efficiently use multiple connections to increase overall throughput of overall communication network. Various advantages of the present disclosure includes: x Asynchronous creation of multiple connection requests to increase the overall throughput of the system; x Optimization of the system to allow the use of multiple connections x Efficient and proper usage of the resources.
x Efficient and reliable handling of the traffic handling during both the peak hours and lean hours. x Time-saving and efficient solution to solve the problem of stale state due to the idle connections. x The system allows the client to failover or failback between active and standby instances of the server and allows preventing any data loss without service disruption, in case any one of the instances is unreachable. It constantly checks for the reachability status of the server instance and restores the connections once it becomes reachable again. x The system supports secure message exchange with the server using Secure Socket Layer (SSL) or Transport Layer Security (TLS). This helps in maintaining integrity of data. x The custom HTTP Client can: adjust the number of connections as per requirement of the application; detect stale (idle) connections which have been closed by the server but their closure event was undetected at the client, and upon detection, it can retry the failed requests over new connections; and support secure communication. [0081] While considerable emphasis has been placed herein on the disclosed embodiments, it will be appreciated that many embodiments can be made and that many changes can be made to the embodiments without departing from the principles of the present disclosure. These and other changes in the embodiments of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
Claims
We Claim: 1. A method for managing connections at Hypertext Transfer Protocol (HTTP) Client, the method comprising: ^ establishing, by a connection establishing unit [302], one or more connections with one or more servers; ^ creating, by a creating unit [304], a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; ^ receiving, by a receiving unit [306], the one or more queries from an application program interface (API) for the one or more servers; ^ adding, by a queueing unit [308], the one or more queries in the respective queue for the one or more servers; and ^ identifying, by an identifying unit [310], an available connection with the one or more servers.
2. The method as claimed in claim 1, the method further comprising: ^ detecting, by a detecting unit [312], a failure in transmitting the added one or more queries over the identified available connection; ^ identifying, by the identifying unit [310], the identified available connection as a stale connection; ^ closing, by the queueing unit [308], the stale connection; and ^ establishing, by the connection establishing unit [302], a new connections with the one or more servers, wherein the added one or more queries are transmitted over the new connection.
3. The method as claimed in claim 1, wherein the one or more HTTP clients establishes a preconfigured number of connections with the one or more servers.
4. The method as claimed in claim 1, wherein the method comprises: ^ notifying, by a notifying unit, a peer management task (PMT) unit [314] about the added one or more queries; and ^ transmitting, by a transmitting unit [316], the added one or more queries to the one or more servers over the identified available connection.
5. The method as claimed in claim 4, wherein in an event the PMT unit [314] identifies that no connection is available, the method further comprises determining, by the PMT unit [314], whether a number of connections exceeds a preconfigured number of connections.
6. The method as claimed in claim 5, wherein in an event the PMT unit [314] identifies that the number of connections is less than the preconfigured number of connections, the method further comprising: ^ creating, by the creating unit [304], a new connection with the one or more servers; and ^ transmitting, by the transmitting unit [316], the added one or more queries to the one or more servers over the new connection.
7. The method as claimed in claim 5, wherein in an event the PMT unit [314] identifies that the number of connections exceeds the preconfigured number of connections, the method further comprising: ^ waiting, by the queueing unit [308], for the one or more connections with the one or more servers to become available; and ^ transmitting, by the transmitting unit [316], the added one or more queries to the one or more servers once the one or more connections are available.
8. The method as claimed in claim 1, wherein the one or more queries comprises HTTP requests corresponding to at least one of GET, POST, PUT, DELETE, or other standard HTTP methods intended for communication with the one or more servers.
9. A system for managing connections at Hypertext Transfer Protocol (HTTP) Client, the system comprising: ^ a connection establishing unit [302] configured to establish one or more connections with one or more servers; ^ a creating unit [304] configured to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; ^ a receiving unit [306] configured to receive the one or more queries from an application program interface (API) for the one or more servers; ^ a queueing unit [308] configured to add the one or more queries in the respective queue for the one or more servers; and
^ an identifying unit [310] configured to identify an available connection with the one or more servers.
10. The system as claimed in claim 9, the system further comprises: ^ a detecting unit [312] configured to detect a failure in transmitting the added one or more queries over the identified available connection; ^ the identifying unit [310] configured to identify the identified available connection as a stale connection; ^ the queueing unit [308] configured to close the stale connection; and ^ the connection establishing unit [302] configured to establish a new connection with the one or more servers, wherein the added one or more queries are transmitted over the new connection.
11. The system as claimed in claim 9, wherein the one or more HTTP clients establishes a preconfigured number of connections with the one or more servers.
12. The system as claimed in claim 9, wherein the system comprises: ^ a notifying unit configured to notify a peer management task (PMT) unit [314] of the added one or more queries; and ^ a transmitting unit [316] configured to transmit the added one or more queries to the one or more servers over the identified available connection.
13. The system as claimed in claim 12, wherein in an event the PMT unit [314] identifies that no connection is available, comprises a determining unit configured to determine whether a number of connections exceeds a preconfigured number of connections.
14. The system as claimed in claim 13, wherein in an event the PMT unit [314] identifies that the number of connections is less than the preconfigured number of connections, the system comprises: ^ the creating unit [304] configured to create a new connection with the one or more servers; and ^ the transmitting unit [316] configured to transmit the added one or more queries to the one or more servers over the new connection.
15. The system as claimed in claim 13, wherein in an event the PMT unit [314] identifies that the number of connections exceeds the preconfigured number of connections, the system comprises: ^ the queueing unit [308] configured to wait for the one or more connections with the one or more servers to become available; and ^ the transmitting unit [316] configured to transmit the added one or more queries to the one or more servers once the one or more connections are available.
16. The system as claimed in claim 9, wherein the one or more queries comprises HTTP requests corresponding to at least one of GET, POST, PUT, DELETE, or other standard HTTP methods intended for communication with the one or more servers.
17. A user equipment (UE) for managing connections at Hypertext Transfer Protocol (HTTP) Client, the UE comprising a system, the system further comprising: ^ a connection establishing unit [302] configured to establish one or more connections with one or more servers; ^ a creating unit [304] configured to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; ^ a receiving unit [306] configured to receive the one or more queries from an application program interface (API) for the one or more servers; ^ a queueing unit [308] configured to add the one or more queries in the respective queue for the one or more servers; and ^ an identifying unit [310] configured to identify an available connection with the one or more servers.
18. A non-transitory computer readable storage medium storing instructions for managing connections at Hypertext Transfer Protocol (HTTP) Client, the instructions including executable code, the executable code when executed by one or more units of a system [300], may cause: ^ a connection establishing unit [302] of the system [300] to establish one or more connections with one or more servers; ^ a creating unit [304] of the system [300] to create a queue for each of the one or more connections with the one or more servers, wherein the queue acts as a buffer for one or more queries awaiting transmission to the one or more servers; ^ a receiving unit [306] of the system [300] to receive the one or more queries from an application program interface (API) for the one or more servers;
^ a queueing unit [308] of the system [300] to add the one or more queries in the respective queue for the one or more servers; and ^ an identifying unit [310] of the system [300] to identify an available connection with the one or more servers.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN202321044882 | 2023-07-04 | ||
| PCT/IN2024/050748 WO2025008878A1 (en) | 2023-07-04 | 2024-06-11 | Method and system for managing connections at hypertext transfer protocol (http) client |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4740422A1 true EP4740422A1 (en) | 2026-05-13 |
Family
ID=94171345
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24835600.8A Pending EP4740422A1 (en) | 2023-07-04 | 2024-06-11 | Method and system for managing connections at hypertext transfer protocol (http) client |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4740422A1 (en) |
| WO (1) | WO2025008878A1 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160094608A1 (en) * | 2014-09-30 | 2016-03-31 | Qualcomm Incorporated | Proactive TCP Connection Stall Recovery for HTTP Streaming Content Requests |
| US11683254B1 (en) * | 2022-01-12 | 2023-06-20 | Salesforce, Inc. | Rate limit and burst limit enhancements for request processing |
-
2024
- 2024-06-11 WO PCT/IN2024/050748 patent/WO2025008878A1/en not_active Ceased
- 2024-06-11 EP EP24835600.8A patent/EP4740422A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025008878A1 (en) | 2025-01-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10063599B2 (en) | Controlling registration floods in VOIP networks via DNS | |
| US8514750B2 (en) | Multiplexed communication for duplex applications | |
| EP3873062A1 (en) | Data transmission method, system, and proxy server | |
| WO2020207091A1 (en) | Management client, and device monitoring system and method | |
| CN103856440A (en) | Message processing method, server and message processing system based on distributed bus | |
| US9967360B2 (en) | Method and system for information exchange utilizing an asynchronous persistent store protocol | |
| US8275905B2 (en) | System and method for store-and-forward for highly available message production | |
| JP2011529587A (en) | Method and apparatus for resource sharing between multiple user devices in a computer network | |
| US20200287781A1 (en) | Network connection and termination system | |
| US9749825B2 (en) | Connection-oriented messaging and signaling in mobile heath networks | |
| CN110808948A (en) | Remote procedure call method, device and system | |
| CN113630366A (en) | Internet of things equipment access method and system | |
| US9483218B2 (en) | Network printing | |
| US20210203604A1 (en) | Load balancing method, device and system | |
| WO2025008878A1 (en) | Method and system for managing connections at hypertext transfer protocol (http) client | |
| CN112055083B (en) | Request processing method and device, electronic equipment and medium | |
| WO2019201111A1 (en) | Information processing method, apparatus and device, and computer-readable storage medium | |
| CN111756873A (en) | Intranet penetration method, device, equipment and storage medium for environmental protection monitoring | |
| CN112087510B (en) | Request processing method, device, electronic equipment and medium | |
| CN111049754B (en) | Data communication method, device, equipment and computer readable storage medium | |
| WO2025052401A1 (en) | Method and system for handling an overload condition in a network | |
| WO2025013070A1 (en) | Method and system for call checkpointing in an internet protocol multimedia subsystem | |
| WO2025017685A1 (en) | Method and system for synchronizing account information between primary site and disaster recovery site | |
| WO2025062417A1 (en) | Method and system for avoiding suspension of one or more network functions from a network | |
| WO2025062454A1 (en) | Method and system for increasing throughput of data transactions by implementing a storage system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20260202 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |