Load balancing method and system for sip signaling service cluster, and storage medium

By providing load balancing methods and systems in SIP signaling service clusters, the problem of load balancing in the SIP protocol in the prior art is solved, stateful dialogue load balancing and standard function support are realized, and the stability and scalability of the system are improved.

WO2025108410A1PCT designated stage expired Publication Date: 2025-05-30E SURFING VISION TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/133755
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-24
Filing Date
2024-11-22
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The existing technology is difficult to achieve load balancing of the SIP protocol, and it is impossible to correctly establish SIP sessions, especially in video surveillance platforms that cannot deal with sudden large concurrent messages.

Method used

It provides a load balancing method and system for SIP signaling service cluster. By receiving request messages, the target SIP signaling service is determined based on balancing load, and stateful dialogue load balancing is realized, supporting RFC series standards and GB/T 28181 standard functions.

Benefits of technology

It realizes load balancing of SIP protocol, supports stateful dialogue load balancing, can be applied to traditional network communications and complex network environments, realizes address conversion and conversational maintenance, and improves the stability and scalability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024133755_30052025_PF_FP_ABST
    Figure CN2024133755_30052025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a load balancing method for an SIP signaling service cluster, a load balancing system for an SIP signaling service cluster, and a computer-readable storage medium. The load balancing method for an SIP signaling service cluster comprises the steps of: receiving a request message from a device, and on the basis of a balanced load, determining a first SIP signaling service responding to the request message in an SIP signaling server cluster; in response to the request message being an initial SIP request message, using the first SIP signaling service as a target SIP signaling service; in response to the request message being not the initial SIP request message, using, as a target SIP signaling service, an SIP signaling service of a previous request message of a same SIP session for responding to the request message; and forwarding the request message to the target SIP signaling service. The load balancing method for an SIP signaling service cluster provided by the present invention can implement SIP-based load balancing, can be adapted to complex network environments, and implements functions such as address translation and session keepalive.
Need to check novelty before this filing date? Find Prior Art

Description

Load balancing method, system and storage medium for SIP signaling service cluster Technical Field

[0001] The present invention relates to the field of multimedia communications, and in particular to a load balancing method for a SIP signaling service cluster, a load balancing system for a SIP signaling service cluster, and a computer-readable storage medium. Background Art

[0002] SIP (Session Initiation Protocol) is an application-layer signaling control protocol used to establish, modify, and release multimedia sessions in IP (Internet Protocol) networks. It is primarily used for voice, messaging, video, and call control.

[0003] With the widespread adoption of the national standard GB / T 28181 for information transmission, exchange, and control technologies for public security video surveillance network systems, the ongoing development of video surveillance networks, and the growing number of public surveillance image access resources, the access capacity of existing video surveillance platforms has reached a performance bottleneck. Platforms at all levels are unable to quickly respond to sudden large concurrent messages and quickly process and reclaim resources. During the project construction process, it was urgent for all platforms to establish an optimized system structure to achieve load balancing and ensure stable system operation.

[0004] The central signaling control server of the monitoring network system is the core component of the system structure of each level of the platform. The protocol stack used complies with the RFC series standards, for example, RFC3261 (an extension of the SIP protocol, which defines a framework for implementing event subscription and notification on the SIP protocol). Among them, the establishment of media sessions adopts the SIP protocol. As a control protocol of the application layer, the SIP protocol is based on a request-response communication mode similar to the HTTP protocol. However, unlike the HTTP protocol, the SIP protocol is a stateful session. Therefore, the commonly used HTTP load balancing technology cannot achieve the replication of SIP sessions. For single-request and multiple-response sessions, the commonly used HTTP load balancing technology cannot correctly locate the video monitoring platform node, resulting in the inability to correctly establish the SIP session.

[0005] To overcome the aforementioned shortcomings of existing technologies, there is an urgent need for a load balancing technology for SIP signaling service clusters that can implement SIP protocol load balancing and the standard functions of RFC series standards (such as RFC3261) and GB / T 28181, while also supporting the session interaction processes specified by RFC series standards and achieving stateful conversation load balancing. Furthermore, in addition to being applicable to traditional network communications, this technology can also cope with complex network environments and implement functions such as address translation and session keepalive. Summary of the Invention

[0006] The following is a brief summary of one or more aspects to provide a basic understanding of these aspects. This summary is not an exhaustive overview of all conceivable aspects and is neither intended to identify key or critical elements of all aspects nor to define the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that will be provided later.

[0007] To overcome the aforementioned deficiencies in the prior art, the present invention provides a load balancing method and system for a SIP signaling service cluster, as well as a computer-readable storage medium. These methods implement SIP protocol load balancing and conform to the standard functions of RFC standards (e.g., RFC3261) and GB / T 28181. They also support the session interaction processes specified in the RFC standards and implement stateful conversation load balancing. Furthermore, in addition to being applicable to traditional network communications, these methods can also handle complex network environments, implementing functions such as address translation and session keepalive.

[0008] Specifically, the load balancing method for a SIP signaling service cluster provided in accordance with the first aspect of the present invention includes the steps of: receiving a request message from a device, determining a first SIP signaling service in a SIP signaling server cluster that responds to the request message based on load balancing; in response to the request message being an initial SIP request message, selecting the first SIP signaling service as a target SIP signaling service; in response to the request message not being the initial SIP request message, selecting a SIP signaling service of a previous request message of the same SIP session that responded to the request message as the target SIP signaling service; and forwarding the request message to the target SIP signaling service.

[0009] Preferably, in an embodiment of the present invention, the load balancing includes: selecting a SIP signaling service with the smallest load as the first SIP signaling service based on service information registered in a service registration table.

[0010] Preferably, in an embodiment of the present invention, the method includes: determining a load condition of the SIP signaling server cluster and the SIP signaling service based on the service information registered in the service registration table; and performing capacity management on the SIP signaling server cluster based on the load condition.

[0011] Preferably, in an embodiment of the present invention, the request message includes a SIP instruction, and in response to the request message being an initial SIP request message, setting the first SIP signaling service as a target SIP signaling service includes: acquiring a DS relationship in response to the SIP instruction, wherein the DS relationship is a correspondence between the device and the SIP signaling service; in response to not finding a correspondence between the device that sent the request message in the DS relationship, determining that the request message is the initial SIP request message; setting the first SIP signaling service as a target SIP signaling service; and establishing the DS relationship based on the device and the target SIP signaling service.

[0012] Preferably, in an embodiment of the present invention, in response to the request message not being the initial SIP request message, using the SIP signaling service of a previous request message of the same SIP session used to respond to the request message as the target SIP signaling service includes: acquiring the DS relationship in response to the SIP instruction; determining that the request message is not the initial SIP request message in response to a corresponding relationship of the device that issued the request message in the DS relationship; and using the SIP signaling service corresponding to the device as the target SIP signaling service.

[0013] Preferably, in an embodiment of the present invention, the method includes: in response to a failure of the target SIP signaling service, selecting an idle SIP signaling service as the second target SIP signaling service based on the service information registered in the service registration table; and forwarding the request message to the second target SIP signaling service, and updating the service information registered in the service registration table and the DS relationship.

[0014] Preferably, in an embodiment of the present invention, forwarding the request message to the second target SIP signaling service and updating the service information registered in the service registration table includes: restarting the target SIP signaling service and updating the service information registered in the service registration table.

[0015] Preferably, in an embodiment of the present invention, the request message includes an HTTP message, and in response to the HTTP message not including a SIP instruction, the first SIP signaling service is used as the target SIP signaling service.

[0016] Furthermore, the load balancing system for a SIP signaling service cluster provided in accordance with a second aspect of the present invention includes a memory and a processor. The memory stores computer instructions. The processor is connected to the memory and configured to execute the computer instructions stored in the memory to implement the load balancing method for a SIP signaling service cluster provided in any of the above embodiments.

[0017] Furthermore, the computer-readable storage medium provided in accordance with the third aspect of the present invention stores computer instructions, which, when executed by a processor, implement the load balancing method for a SIP signaling service cluster provided in any one of the above embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above features and advantages of the present invention will be better understood after reading the detailed description of the embodiments of the present disclosure in conjunction with the following drawings. In the drawings, the components are not necessarily drawn to scale, and components with similar related properties or characteristics may have the same or similar reference numerals.

[0019] FIG1 shows a flow chart of a load balancing method for a SIP signaling service cluster according to some embodiments of the present invention;

[0020] FIG2 shows an architecture diagram of a load balancing system for a SIP signaling service cluster according to some embodiments of the present invention;

[0021] FIG3 shows a schematic diagram of a load balancing method according to some embodiments of the present invention;

[0022] FIG4 shows a schematic diagram of service registration according to some embodiments of the present invention;

[0023] FIG5 shows a schematic diagram of an interaction process according to some embodiments of the present invention; and

[0024] FIG6 shows a flow chart of capacity management provided according to some embodiments of the present invention.

[0025] Reference numerals:

[0026] 100: Load balancing method for SIP signaling service cluster;

[0027] S110~S140: steps;

[0028] 200: Load balancing system for SIP signaling service cluster;

[0029] 210: Forwarding server;

[0030] 211: SIP forwarding module;

[0031] 212: HTTP forwarding module;

[0032] 213: Equalizer;

[0033] 220: SIP signaling server cluster;

[0034] 221, 411: SIP signaling service;

[0035] 230: Monitoring server;

[0036] 240: Cache server;

[0037] 250, 251, 252: equipment;

[0038] 260: Proxy server;

[0039] 310: Virtual IP;

[0040] 320: working node;

[0041] 412: Service information;

[0042] 420: Service Discovery Center;

[0043] 510: SIP Recipient; and

[0044] 520: SIP sender. DETAILED DESCRIPTION

[0045] The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. Note that the various aspects described below with reference to the accompanying drawings and specific embodiments are merely exemplary and should not be construed as limiting the scope of protection of the present invention.

[0046] In the description of the present invention, it should be noted that, unless otherwise expressly specified or limited, the terms "mounted," "connected," and "connected" should be understood in a broad sense. For example, they may refer to fixed, detachable, or integral connections; mechanical or electrical connections; direct or indirect connections through an intermediate medium; and internal communication between two components. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on the specific circumstances.

[0047] Furthermore, the terms "upper," "lower," "left," "right," "top," "bottom," "horizontal," and "vertical" used in the following description should be understood to refer to the orientations depicted in that section and the accompanying drawings. These relative terms are used solely for convenience of description and do not necessarily imply that the devices described herein must be manufactured or operated in a specific orientation. Therefore, they should not be construed as limiting the present invention.

[0048] It will be understood that although the terms "first," "second," "third," etc. may be used herein to describe various components, regions, layers, and / or portions, these components, regions, layers, and / or portions should not be limited by these terms, and these terms are merely used to distinguish different components, regions, layers, and / or portions. Thus, a first component, region, layer, and / or portion discussed below may be referred to as a second component, region, layer, and / or portion without departing from some embodiments of the present invention.

[0049] As mentioned above, SIP, as an application-layer control protocol, is based on a request-response communication model similar to HTTP. However, unlike HTTP, SIP is a stateful session. Therefore, commonly used HTTP load balancing technologies cannot replicate SIP sessions. For sessions with multiple responses per request, these technologies cannot correctly locate the video surveillance platform node, resulting in the inability to properly establish SIP sessions.

[0050] To overcome the aforementioned deficiencies in the prior art, the present invention provides a load balancing method and system for a SIP signaling service cluster, as well as a computer-readable storage medium. These methods implement SIP protocol load balancing and conform to the standard functions of RFC standards (e.g., RFC3261) and GB / T 28181. They also support the session interaction processes specified in the RFC standards and implement stateful conversation load balancing. Furthermore, in addition to being applicable to traditional network communications, these methods can also handle complex network environments, implementing functions such as address translation and session keepalive.

[0051] In some non-limiting embodiments, the load balancing method for a SIP signaling service cluster provided in the first aspect of the present invention can be implemented via the load balancing system for a SIP signaling service cluster provided in the second aspect of the present invention. Specifically, the load balancing system for a SIP signaling service cluster can be configured with a memory and a processor. The memory includes, but is not limited to, the computer-readable storage medium provided in the third aspect of the present invention, having computer instructions stored thereon. The processor is connected to the memory and configured to execute the computer instructions stored in the memory to implement the load balancing method for a SIP signaling service cluster provided in the first aspect of the present invention.

[0052] The following will first describe the operating principles of the aforementioned load balancing system for a SIP signaling service cluster, using examples of load balancing methods for a SIP signaling service cluster. Those skilled in the art will appreciate that these examples of the load balancing method for a SIP signaling service cluster are merely non-limiting implementations of the present invention, intended to clearly demonstrate the main concepts of the present invention and provide specific solutions that facilitate public implementation. They are not intended to limit the full functionality or operating methods of the load balancing system for a SIP signaling service cluster. Similarly, the load balancing system for a SIP signaling service cluster is merely a non-limiting implementation of the present invention and does not limit the execution entities or execution order of the steps in these load balancing methods for a SIP signaling service cluster.

[0053] Please refer to Figures 1 and 2. Figure 1 shows a flow chart of a load balancing method for a SIP signaling service cluster according to some embodiments of the present invention. Figure 2 shows an architecture diagram of a load balancing system for a SIP signaling service cluster according to some embodiments of the present invention.

[0054] As shown in FIG1 , a load balancing method 100 for a SIP signaling service cluster includes step S110 : receiving a request message from a device, and determining a first SIP signaling service in a SIP signaling server cluster that responds to the request message based on a balanced load.

[0055] In the embodiment shown in FIG2 , a load balancing system 200 for a SIP signaling service cluster includes a forwarding server 210, a SIP signaling server cluster 220, a monitoring server 230, and a cache server 240. Forwarding server 210 is configured with a SIP forwarding module 211 for SIP forwarding services, an HTTP forwarding module 212 for HTTP forwarding services, and a load balancer (LB) 213. The SIP signaling server cluster 220 can be configured with multiple SIP signaling servers, and each SIP signaling server can be configured with multiple SIP signaling services 221.

[0056] The forwarding server 210 receives a request message from a device 250, which may be a device 251 capable of sending an HTTP request message or a device 252 capable of sending a SIP request message. Thus, the request message may be a SIP request message containing a SIP instruction or an HTTP request message containing or not containing a SIP instruction.

[0057] Afterwards, based on the balanced load, the balancer 213 of the forwarding server 210 determines the first SIP signaling service in the SIP signaling server cluster 220 that responds to the request message.

[0058] Please refer to FIG3 , which shows a schematic diagram of a load balancing method provided according to some embodiments of the present invention.

[0059] As shown in Figure 3, in a non-limiting embodiment, the forwarding server 210 can first load balance the TCP / IP layer of the virtual IP (VIP) 310 of the external device 250 using the Modulo-N algorithm of ECMP (Equal-Cost Multi-Path), that is, using the 5-tuple (protocol, srcIP, srcPort, dstIP, dstPort) of the virtual IP of the TCP connection to distribute external traffic. Because this load balancing algorithm is stateless, the results of the load balancing algorithm will also change when the number of targets changes. Here, dstIP is the TCP traffic of the virtual IP 310. After determining the first SIP signaling service based on the balanced load, dstIP enters the worker node 320 of the balancer 213 of the forwarding server 210. Afterwards, dstIP can be statefully converted to the destination network address by ipvs / conntrack rules. dstIP is mapped and converted to the address of any SIP signaling service. Here, the SIP signaling service also performs load balancing on TCP traffic. Multiple data packets connected to the same traffic sender (downstream), that is, the device sending the request message, will be load balanced to the same traffic target (upstream), that is, the SIP signaling service.

[0060] Here, the load balancing may be that the balancer 213 selects the SIP signaling service with the smallest load as the first SIP signaling service based on the service information registered in the service registration table.

[0061] Specifically, the forwarding server 210 may also include a cached service registry. The forwarding server 210 periodically synchronizes the service registry of the service discovery center with the service discovery center. When a service request is needed, the forwarding server 210 may determine the network address of the SIP signaling service through the service registry.

[0062] Please refer to FIG4 , which shows a schematic diagram of service registration provided according to some embodiments of the present invention.

[0063] As shown in Figure 4 , when a SIP signaling service 411 is enabled, it reports service information 412 of the SIP signaling service to a service discovery center 420. This service information 412 includes the IP address, HTTP port, SIP port, and other information of the SIP signaling service 411. This information forms a service registry within the service discovery center 420. The service registry can be a database containing the network addresses of all SIP signaling services. Forwarding server 210 periodically pulls the service registry from service discovery center 420 and updates the service registry cached within forwarding server 210.

[0064] In a non-limiting embodiment, the request message may be a request message in a SIP session that includes a SIP command. If the request message is the initial SIP request message in the SIP session, a first SIP signaling service is selected as the target SIP signaling service. If the request message is not the initial SIP request message, the SIP signaling service of the previous request message in the same SIP session that responded to the request message is selected as the target SIP signaling service, and the request message is redirected to the target SIP signaling service. The SIP command includes fields or parameters carried in the request message, such as the device's IP address, which can be used to select the corresponding SIP signaling service.

[0065] Specifically, to increase the processing performance of the equalizer 213, the equalizer 213 may not reassemble the request message, but instead directly encapsulate the request message as a whole and forward it to the selected SIP signaling service. For example, the equalizer 213 may directly encapsulate the request message into a new IP packet, set the source address and port of the IP packet to the IP address and port of the device, and then send the IP packet to the selected target SIP signaling service. Therefore, the request message can include device information.

[0066] 1 , the load balancing method 100 for a SIP signaling service cluster further includes step S120 : in response to the request message being an initial SIP request message, using the first SIP signaling service as a target SIP signaling service.

[0067] In the embodiment shown in FIG2 , cache server 240 caches a DS relationship, where the DS relationship can be a relationship between a device and a SIP signaling service. Furthermore, the cache server can also configure a validity period (e.g., 10 minutes) for the DS relationship.

[0068] After receiving the request message, forwarding server 210 first determines whether the request message includes a SIP instruction. In a non-limiting embodiment, the request message can be a SIP request message carrying a SIP instruction, or an HTTP message carrying a SIP instruction. In response to the SIP instruction being included in the request message, the DS relationship is retrieved from cache server 240.

[0069] Preferably, if no corresponding relationship is found in the DS relationship for the device issuing the request message, the request message is determined to be an initial SIP request message. In this manner, there is no need to redirect the initial SIP request message. Specifically, the first SIP signaling service currently responding to the request message is used as the target SIP signaling service. A DS relationship is then established based on the device issuing the request message and the target SIP signaling service, and the message is cached in the DS relationship of cache server 240.

[0070] 1 , the load balancing method 100 for a SIP signaling service cluster includes step S130 : in response to the request message not being an initial SIP request message, using the SIP signaling service of the previous request message of the same SIP session used to respond to the request message as the target SIP signaling service.

[0071] In a preferred embodiment, when the request message is not an initial SIP request message, that is, when a corresponding relationship exists in the DS relationship for the device issuing the request message, the SIP signaling service corresponding to the device issuing the request message is used as the target SIP signaling service based on the request message. Here, the target SIP signaling service corresponding to the device issuing the request message is the SIP signaling service of the previous request message in the same SIP session as the request message.

[0072] As shown in FIG1 , the load balancing method 100 for a SIP signaling service cluster includes step S140 : forwarding the request message to a target SIP signaling service.

[0073] After determining the target SIP signaling service, the forwarding server 210 forwards the request message to the target SIP signaling service.

[0074] Here, forwarding server 210 acts as the gateway for request messages from the public network, forwarding them to the target SIP signaling service on the intranet. Upon receiving the request message, the target SIP signaling service can perform different processing based on the service type. For example, it may forward requests like INVITE and ACK, while directly responding to commands like Register and Keepalive.

[0075] Forwarding server 210 can also function as a proxy server for SIP sessions. When forwarding messages, forwarding server 210 can add a Via header field to the SIP instructions included in the request message. The Via header field can use the received and report fields to record the IP address and port number of the proxy (such as a device, forwarding server, or SIP signaling service) that the request message passed through, allowing the response request message to be delivered in the same direction as the original request message.

[0076] Please refer to FIG5 , which shows a schematic diagram of an interaction process according to some embodiments of the present invention.

[0077] Each time a request message passes through a proxy (including the SIP sender), a Via header field is added. This Via header field can include the proxy's IP and port. When the message reaches the SIP recipient, the Via header field records the complete path the request message has taken. As shown in Figure 5, SIP recipient 510 (called party) receives an INVITE request message from SIP sender 520 (calling party). This INVITE message is sent to SIP recipient 520 via forwarding server 210. The Via header field records the IP and port numbers of SIP sender 510 and forwarding server 210. In the embodiment shown in Figure 5, the IP address of SIP sender 510 is xx.com and the port number is 5060; the IP address of forwarding server 210 is xx.xx.xx.1 and the port number is 5060; and the IP address of SIP recipient 520 is xx.xx.xx.2 and the port number is 5060.

[0078] Afterwards, SIP receiver 520 copies these Via header fields intact into the response request message (including the parameters of each Via header field and the order of each Via header field) and sends it to the URI in the first Via header field. Before forwarding the response request message, each proxy deletes the first Via header field (that is, the Via header field it added) and forwards the message to the URI in the new first Via header field until the message reaches SIP sender 510. As shown in Figure 5, SIP receiver 520 responds to the request message INVITE. The path of the response request message 200 OK is the IP and port added in the Via header field. When it reaches forwarding server 210, forwarding server 210 deletes the forwarding server's own IP and port in the Via header field and forwards the request message 200 OK to SIP sender 510 based on the Via header field.

[0079] Furthermore, in the embodiment shown in FIG2 , before sending a request message to the SIP sender 510 or the SIP receiver 520 shown in FIG5 , the SIP signaling service 221 may also carry its own external SIP service address and port data in the fields or parameters of the request message, and then encapsulate the request message into a new IP packet, set the source address and port of the IP packet to the address and port of the SIP service provided externally by the balancer 213 of the forwarding server 210, and finally send the IP packet.

[0080] In addition, in response to a target SIP signaling service failure, an idle SIP signaling service is selected as a second target SIP signaling service based on the service information registered in the service registry. The request message is then forwarded to the second target SIP signaling service, and the service information and DS relationship registered in the service registry are updated. Furthermore, in response to a target SIP signaling service failure, the target SIP signaling service can be restarted, and the service information registered in the service registry can be updated.

[0081] Specifically, when a working SIP signaling service goes down, the request messages in the SIP signaling service will be smoothly switched to other idle SIP signaling services, and the current SIP signaling service will be restarted at the same time.

[0082] In the embodiment shown in FIG4 , when a SIP signaling service 411 goes down, the service discovery center 420 cannot receive heartbeat information from the SIP signaling service and will clear the service information 412 of the SIP signaling service from the service registry and notify the forwarding server 210. Preferably, the load balancing system for the SIP signaling service cluster can also update the DS relationship in the cache server 240. When a new request message arrives, the forwarding server 210 will bypass the SIP signaling service 411 and distribute it to other SIP signaling services.

[0083] In addition, the request message may be an HTTP message distributed from the proxy server 260, and the HTTP message does not include a SIP instruction, so that the first SIP signaling service is used as the target SIP signaling service. Here, the proxy server may be Nginx.

[0084] Furthermore, the load balancing system 200 for the SIP signaling service cluster can also determine the load of the SIP signaling server cluster and the SIP signaling service based on the service information registered in the service registry. The monitoring server 230 performs capacity management on the SIP signaling server cluster based on the load. Load is calculated by monitoring metrics (including multi-dimensional monitoring metrics such as CPU load, memory, number of online devices, and number of UDP connections).

[0085] Please refer to FIG. 6 , which shows a flow chart of capacity management according to some embodiments of the present invention.

[0086] As shown in Figure 6, monitoring server 230 determines whether capacity expansion management is necessary based on the acquired load (e.g., monitoring data for SIP signaling servers) and further determines the capacity expansion. For example, the expected resource capacity is determined based on the resource consumption of request messages per unit time and the number of request messages in the current queue. If the expected resource capacity is greater than the number of SIP signaling services, the number of SIP signaling services to be added is determined. If the expected resource capacity is less than the number of SIP signaling services, the number of SIP signaling services to be deleted is determined. When adding SIP signaling services, the remaining resources in the SIP signaling server cluster are determined to be sufficient. If the remaining resources in the SIP signaling server cluster are sufficient, horizontal capacity expansion is performed based on the number of SIP signaling services to be added. If the remaining resources in the SIP signaling server cluster are insufficient, capacity expansion is not possible, and the capacity expansion process ends. Furthermore, it can be determined whether the remaining resources meet the specifications of the original SIP signaling services. If they do, horizontal capacity expansion is performed based on the specifications of the original SIP signaling services. If the requirements are not met, the probability of successful expansion can be increased as much as possible by adjusting the SIP signaling service specifications, thereby improving the success rate of resource scheduling.

[0087] For example, the SIP signaling server cluster's metrics are regularly checked at preset intervals (e.g., 15 seconds). According to the scaling formula: Expected number of SIP signaling services = ceil[Current number of SIP signaling services * (Current metrics / Expected metrics)], where the configurable tolerance range is 0.1, if the ratio of (Current metrics / Expected metrics) is close to 1 (i.e., between 0.9 and 1.1), the current number of SIP signaling services is considered within the tolerance range and scaling can be omitted to avoid jitter issues caused by frequent scaling. Compared to the existing manual scaling during operations and maintenance, automatic scaling of the SIP signaling service cluster by monitoring its load is more intelligent and real-time, helping to save SIP signaling service resources and labor costs.

[0088] In summary, the load balancing method for a SIP signaling service cluster provided by this invention ensures that request messages within a single SIP session are sent to the same SIP signaling service. Furthermore, it can distribute service requests from various devices across different SIP signaling services, reducing the pressure on a single SIP signaling service. This allows it to handle a greater number of devices and facilitates unified device integration and management.

[0089] Although the above methods are illustrated and described as a series of acts for simplicity of explanation, it is to be understood and appreciated that these methods are not limited by the order of the acts, as some acts may occur in a different order and / or concurrently with other acts from those illustrated and described herein or not illustrated and described herein but understandable to those skilled in the art according to one or more embodiments.

[0090] Those skilled in the art will appreciate that information, signals, and data may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips cited throughout the foregoing description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0091] Those skilled in the art will further appreciate that the various illustrative logic blocks, modules, circuits, and algorithmic steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of the two. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps are generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. A skilled person may implement the described functionality in different ways for each specific application, but such implementation decisions should not be interpreted as resulting in a departure from the scope of the present invention.

[0092] The various illustrative logic modules and circuits described in conjunction with the embodiments disclosed herein may be implemented or executed using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

[0093] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read and write information from / to the storage medium. In an alternative, the storage medium may be integrated into the processor. The processor and storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In an alternative, the processor and storage medium may reside in a user terminal as discrete components.

[0094] In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software as a computer program product, the functions may be stored on or transmitted via a computer-readable medium as one or more instructions or codes. Computer-readable media include both computer storage media and communication media, including any media that facilitates the transfer of a computer program from one location to another. A storage medium may be any available medium that can be accessed by a computer. By way of example and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Any connection is also properly referred to as a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwaves, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included in the definition of medium. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks typically reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0095] The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A load balancing method for a SIP signaling service cluster, comprising the steps of: Receive a request message from a device, and determine a first SIP signaling service in a SIP signaling server cluster that responds to the request message based on a balanced load; In response to the request message being an initial SIP request message, using the first SIP signaling service as a target SIP signaling service; In response to the request message not being the initial SIP request message, using a SIP signaling service of a previous request message of the same SIP session used to respond to the request message as the target SIP signaling service; as well as The request message is forwarded to the target SIP signaling service.

2. The load balancing method according to claim 1, characterized in that: The load balancing includes: selecting a SIP signaling service with the smallest load as the first SIP signaling service based on service information registered in a service registration table.

3. The load balancing method according to claim 2, characterized in that: include: Determining the load of the SIP signaling server cluster and the SIP signaling service based on the service information registered in the service registration table; as well as Based on the load condition, capacity management is performed on the SIP signaling server cluster.

4. The load balancing method according to claim 2, characterized in that: The request message includes a SIP instruction, and in response to the request message being an initial SIP request message, taking the first SIP signaling service as a target SIP signaling service includes: In response to the SIP instruction, obtaining a DS relationship, wherein the DS relationship is a corresponding relationship between the device and the SIP signaling service; In response to not finding a corresponding relationship of the device that sends the request message in the DS relationship, determining that the request message is the initial SIP request message; Using the first SIP signaling service as a target SIP signaling service; and The DS relationship is established based on the device and the target SIP signaling service.

5. The load balancing method according to claim 4, characterized in that: In response to the request message not being the initial SIP request message, using the SIP signaling service of the previous request message of the same SIP session used to respond to the request message as the target SIP signaling service comprises: In response to the SIP instruction, acquiring the DS relationship; In response to the existence of a corresponding relationship of the device that sends the request message in the DS relationship, determining that the request message is not the initial SIP request message; and The SIP signaling service corresponding to the device is used as the target SIP signaling service.

6. The load balancing method according to claim 5, characterized in that: include: In response to a failure of the target SIP signaling service, selecting an idle SIP signaling service as the second target SIP signaling service based on service information registered in the service registration table; as well as The request message is forwarded to the second target SIP signaling service, and the service information and the DS relationship registered in the service registration table are updated.

7. The load balancing method according to claim 6, characterized in that: The forwarding of the request message to the second target SIP signaling service and updating the service information registered in the service registration table includes: Restart the target SIP signaling service and update the service information registered in the service registration table.

8. The load balancing method according to claim 1, characterized in that: The request message includes an HTTP message, and in response to the HTTP message not including a SIP instruction, the first SIP signaling service is used as the target SIP signaling service.

9. A load balancing system for a SIP signaling service cluster, comprising: a memory having computer instructions stored thereon; as well as A processor is connected to the memory and configured to execute computer instructions stored in the memory to implement the load balancing method for a SIP signaling service cluster according to any one of claims 1 to 8.

10. A computer-readable storage medium having computer instructions stored thereon, characterized in that: When the computer instructions are executed by a processor, the load balancing method for a SIP signaling service cluster according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • SIP service clustering system and implementation method

    CN110913010A

  • Media stream migration method and device, electronic equipment and storage medium

    CN115474079A

  • Data processing method, server, storage device and storage medium

    CN115967704A

  • Load balancing method and system for SIP (Session Initiation Protocol) signaling service cluster and storage medium

    CN117579703A

  • Method and system for realizing loading equilibrium based on session initial protocol

    CN1984142A