CN114827097B - Communication network construction method and device and computer equipment - Google Patents

Communication network construction method and device and computer equipment Download PDF

Info

Publication number
CN114827097B
CN114827097B CN202210421412.7A CN202210421412A CN114827097B CN 114827097 B CN114827097 B CN 114827097B CN 202210421412 A CN202210421412 A CN 202210421412A CN 114827097 B CN114827097 B CN 114827097B
Authority
CN
China
Prior art keywords
client
stream
connection
clients
conference
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.)
Active
Application number
CN202210421412.7A
Other languages
Chinese (zh)
Other versions
CN114827097A (en
Inventor
徐晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210421412.7A priority Critical patent/CN114827097B/en
Publication of CN114827097A publication Critical patent/CN114827097A/en
Application granted granted Critical
Publication of CN114827097B publication Critical patent/CN114827097B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1093In-session procedures by adding participants; by removing participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Abstract

The embodiment of the invention relates to the technical field of communication and discloses a communication network construction method, which comprises the following steps: determining the number of stream connections of each client for establishing a connection; when the number of stream connections is larger than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections; the current client is any one of the clients; the target client is any client except the current client in the clients; and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients. By means of the mode, the embodiment of the invention combines the decentralization characteristic of Mesh, the SFU transfer characteristic and the MCU low-bandwidth occupation characteristic, and can realize the dynamic self-organization of the communication network.

Description

Communication network construction method and device and computer equipment
Technical Field
The embodiment of the invention relates to the technical field of communication, in particular to a communication network construction method, a communication network construction device, computer equipment and a computer readable storage medium.
Background
At present, P2P streaming media communication in the form of multi-user audio/video conference in WebRTC (Web Real-Time Communication) is mainly performed through 3 classical network models, namely Mesh (wireless Mesh network), SFU (Selective Forwarding Unit ), MCU (MultiPoint Control Unit, multipoint control unit).
However, in practicing embodiments of the present invention, the inventors found that: the Mesh mode consumes a large bandwidth, the MCU occupies a small bandwidth, delay caused by mixed flow time is high, a high-performance MCU server with a low price is required to be introduced, and the SFU tries to solve the bandwidth bottleneck of the Mesh by introducing a large-bandwidth transfer server, but the large-area influence caused by the fault of the central node still exists. Thus, the existing WebRTC network model does not enable dynamic networking adjustments of the communication network.
Disclosure of Invention
In view of the above problems, embodiments of the present invention provide a communication network construction method, a communication network construction device, a computer device, and a computer readable storage medium, which are used for solving the problem in the prior art that a WebRTC network model cannot implement dynamic networking adjustment of a communication network.
According to an aspect of an embodiment of the present invention, there is provided a communication network construction method, including:
determining the number of stream connections of each client for establishing a connection;
when the number of stream connections is larger than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections; the current client is any one of the clients; the target client is any client except the current client in the clients;
and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
In an optional manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can afford a proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections, including: when the number of the stream connections is larger than a preset threshold, a stream reduction negotiation request is polled and initiated to each client according to a preset rule so that the current client performs load calculation to obtain load information corresponding to the current client; and determining whether the current client can bear proxy connection according to the load information.
In an optional manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can afford a proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections, including: when the current client can not bear proxy connection, the stream reduction negotiation request is initiated to the next client according to the preset rule, so that when the next client can bear proxy connection, the next client proxies the stream connection of the target client to reduce the stream connection number; or alternatively
And when the current client terminal is in line with the stream connection of the target client terminal, reestablishing the stream connection of the target client terminal and each client terminal, and initiating the stream reduction negotiation request to the next client terminal according to the preset rule, so that when the current client terminal is in line and the next client terminal can bear the proxy connection, the next client terminal is in line with the stream connection of the target client terminal, and the stream connection number is reduced.
In an alternative manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule, so that when a current client can afford a proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, including: and initiating a stream reduction negotiation request to each client through a monitoring notification mechanism, and determining the execution state of stream reduction operation of each client.
In an alternative manner, before the determining the number of stream connections of each client that establishes a connection, the method further includes:
monitoring conference information of each client accessing to a conference, and establishing conference connection among the clients according to the client information; the conference information includes individual client information.
In an optional manner, the monitoring the conference information of the access conference of each client includes: monitoring registration information of a conference event, wherein the registration information of the conference event comprises a conference ID, a participant ID and format information; monitoring conference registration information of each client in the conference event, wherein the conference registration information comprises participant IDs of clients of each participant; and establishing conference connection among the clients according to the conference registration information and the connection element information of the clients.
In an optional manner, before the conference connection between the clients is established according to the conference registration information and the connection element information of the clients, the method further includes: and acquiring connection element registration information of each client, wherein the connection element registration information comprises a session description protocol and an intranet IP address information candidate list corresponding to the client and used for establishing network connection.
According to another aspect of the embodiment of the present invention, there is provided a communication network construction apparatus including:
a determining module, configured to determine a number of stream connections of each client that establishes a connection;
the stream reduction module is used for initiating stream reduction negotiation requests to all clients according to preset rule polling when the stream connection number is larger than a preset threshold value, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the stream connection number; the current client is any one of the clients; the target client is any client except the current client in the clients;
and the communication establishing module is used for ending the flow reduction operation when the reduced flow connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
According to another aspect of an embodiment of the present invention, there is provided a computer apparatus including:
the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete communication with each other through the communication bus;
The memory is configured to store at least one executable instruction that causes the processor to perform the operations of the communication network construction method.
According to yet another aspect of the embodiments of the present invention, there is provided a computer-readable storage medium having stored therein at least one executable instruction that, when executed on a computer device, causes the computer device to perform the operations of the communication network construction method.
The method comprises the steps that through determining the number of stream connections of all clients establishing connection, when the number of stream connections is larger than a preset threshold value, a stream reduction negotiation request is initiated to all clients according to a preset rule, so that when a current client can bear proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, wherein the current client is any client in all clients, and the target client is any client except the current client in all clients; and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients. By the mode, dynamic self-organization of the communication network can be realized, the network architecture of the decentralization characteristic of Mesh and the low bandwidth occupation characteristic of SFU transfer and MCU can be fused, and the cost for constructing the WebRTC-based audio-video conference system is reduced.
The foregoing description is only an overview of the technical solutions of the embodiments of the present invention, and may be implemented according to the content of the specification, so that the technical means of the embodiments of the present invention can be more clearly understood, and the following specific embodiments of the present invention are given for clarity and understanding.
Drawings
The drawings are only for purposes of illustrating embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to designate like parts throughout the figures. In the drawings:
FIG. 1 shows a schematic architecture diagram of a classical network model of an existing WebRTC provided by an embodiment of the invention;
fig. 2 is a schematic diagram of an application environment of a communication network construction method according to an embodiment of the present invention;
FIG. 3 is a flow chart of a communication network construction method according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a communication network before and after stream reduction in a communication network construction method according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a communication network construction device according to an embodiment of the present invention;
fig. 6 shows a schematic structural diagram of a computer device according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein.
First, the problems of the prior art and the prior art found by the present inventors will be further described. WebRTC is used to implement web-based video conferencing, and the standard is the WHATWG protocol, with the aim of providing simple javascript through a browser to reach Real-time communication (Real-Time Communications (RTC)) capability. The network architecture model of WebRTC includes 3 types of Mesh, MCU and SFU.
As shown in fig. 1 (a), wherein Mesh is a non-centralised P2P streaming connection: the Mesh mode consumes a large bandwidth, for a meeting of N users, each user consumes each (N-1) path of audio and video streams, and each time one user is added, the total audio and video stream number is increased by 2N (each path of audio and video), so that the method is only suitable for small-scale meetings, and the bandwidth between clients is limited.
As shown in fig. 1 (b), the SFU (Selective Forwarding Unit ) forwards the multiple streams through the server proxy: SFU attempts to solve the bandwidth bottleneck of Mesh by introducing a large bandwidth transit server, but the large area impact caused by the failure of the central node still exists. Moreover, the upper bandwidth limit of the server and each client is also bottleneck: because the audio and video streams consumed by each client are equal, the maximum number of users in a single conference is limited by the client with the least fluent bandwidth with the server.
As shown in fig. 1 (c), the MCU (MultiPoint Control Unit ) is a server side mixed stream and pushes a single stream to a client side: although the bandwidth occupation of the MCU is small, because real-time mixed flow is needed, if a conference with a certain scale is supported, delay caused by mixed flow time consumption is high, and a costly high-performance MCU server is needed to be introduced. Meanwhile, there is a problem that all conferences are interrupted due to the faults of the central MCU nodes.
The application provides a network architecture scheme which fuses the decentralization characteristic of Mesh and the SFU transfer and MCU low bandwidth occupation characteristic aiming at local area network scenes based on the problems of the network architecture models of the WebRTC so as to reduce the cost of an enterprise for constructing an intranet environment based on the WebRTC audio/video conference system. The core idea of the network architecture implementation is: based on the Mesh, the nodes in the Mesh are gradually updated to SFU and MCU according to the local system resources, so that the maximum user number upper limit of each WebRTC conference is improved as much as possible. The application environment of the communication network construction method according to the embodiment of the present application is described below. Referring to fig. 2, an application environment schematic diagram of a communication network construction method according to an embodiment of the present application is shown. As shown in fig. 2, the communication network construction method provided by the embodiment of the present application is applied to the dynamic self-organizing communication system, where the dynamic self-organizing communication system includes a plurality of clients, webRTC and a monitoring notification module, where the monitoring notification module is configured to monitor client information, conference information and stream reduction events reported by each client, and notify the WebRTC to establish a connection according to the client information and the conference information, or notify each client to execute a stream reduction operation according to the monitored stream reduction events. And establishing a multimedia stream, namely an audio-video conference, between each two clients through a WebRTC. The monitor notification module may be any module capable of implementing monitor notification, for example, a Zookeeper cluster. Taking a Zookeeper cluster as an example, the Zookeeper cluster comprises a plurality of Zookeeper nodes, each node can correspond to one or a plurality of clients, and each client can actively report connection element information to the Zookeeper cluster in advance through a Zookeeper distributed consistency component of the Zookeeper cluster, wherein the connection element information comprises a session description protocol (namely SDP information) and an intranet IP address information Candidate list corresponding to the clients and used for establishing network connection, and the intranet IP address information Candidate list is IP address information which can be externally connected to the clients, namely ICE Candida list in WebRTC. In the embodiment of the application, the Zookeeper cluster is provided with the appointed path for storing the connection element information, and after one client writes the connection element information in the appointed path, other clients can read through the appointed path. Specifically, the process of registering the connection element information into the Zookeeper cluster by the client is as follows: after the conference background program of each client is started, SDP (session description protocol) information of the local equipment is actively acquired and reported to a ZooKeeper cluster, the current distributed intranet IP address of the local equipment is regularly acquired, the IP address information of the client, which can be externally connected, is registered in the ZooKeeper cluster based on a ZooKeeper distributed consistency component, namely an ICE (ICE server) list in webRTC, and ZooKeeper nodes corresponding to the client in the ZooKeeper cluster store connection element information, wherein the stored paths and formats are shown in a table 1.
Table 1:
after one client registers the connection element information of the client into the ZooKeeper cluster, other clients can acquire the connection element information of the client. The connection element information includes a session description protocol (i.e., SDP information) and an intranet IP address information candidate list corresponding to the client terminal for establishing network connection. Wherein, since there are 2 default ports per client: one for producing audio and video streams and one for consuming audio and video streams. Therefore, the port information is not included in icecandate. The ZooKeeper distributed consistency component can be realized through an API of a ZooKeeper binary library, which is equivalent to a command line console logging in ZooKeeper, and executes the following command line instructions: create path content, i.e., text information.
In the embodiment of the invention, the ZooKeeper cluster is also used for monitoring the conference information of each client accessing to the conference, and establishing RTC conference connection between each client according to each client information. The ZooKeeper cluster is further configured to obtain a stream reduction negotiation request, and notify each client of the stream reduction negotiation request, so that each client performs stream reduction according to the stream reduction negotiation request.
Fig. 3 is a flowchart of a communication network construction method according to an embodiment of the present invention, where the method is performed by the above-mentioned dynamic ad hoc communication system, and specifically may be performed by a client in the dynamic ad hoc communication system, or may be performed by a WebRTC module, or may be performed by a listening notification module, or may be performed by a control module in the dynamic ad hoc communication system, which is independent of the client, the WebRTC module, and the listening notification module. The dynamic ad hoc communication system may be a device for establishing a communication network, and may include various forms of devices such as a desktop computer, a notebook computer, a tablet computer, a smart phone, a personal computer, and the like. Digital Assistants (PDAs) and smart watches have information processing functionality, display functionality, data storage functionality, wired/wireless network functionality, and input/output interface devices (e.g., displays, touch screens, keyboards, mice, keyboards, cameras, microphones, speakers, etc.). As shown in fig. 1, the method comprises the steps of:
step 110: the number of stream connections for each client establishing a connection is determined.
In the embodiment of the invention, the number of stream connections PC_f refers to the number of multimedia stream interactions by mutually connecting clients establishing RTC communication connection. The multimedia stream may be an audio-video stream or a text data stream. For example, mesh-like connections are point-to-point connections that establish the number of stream connections between the various clients of the conference connection is n (n-1)/2.
Wherein before determining the number of stream connections of each client establishing a connection, the method further comprises: monitoring conference information of each client accessing to a conference, and establishing conference connection among the clients according to the client information; the conference information includes individual client information.
In the embodiment of the invention, before monitoring the conference information of each client accessing to the conference, firstly, monitoring the registration information of a conference event, wherein the registration information of the conference event comprises a conference ID, a participant ID and format information; monitoring conference registration information of each client in the conference event, wherein the conference registration information comprises participant IDs of clients of each participant; and establishing conference connection among the clients according to the conference registration information and the connection element information of the clients.
Specifically, taking the example that the monitoring notification module is a ZooKeeper cluster, when a certain user (client) initiates a meeting, the client registers and generates meeting information corresponding to the meeting in a target path in the ZooKeeper cluster. The meeting information includes the generated current globally unique meeting ID and its own client information. The storage paths in the ZooKeeper cluster and the stored conference information format are shown in table 2.
Table 2:
the conference information comprises client information corresponding to a client initiating a conference, such as a client ID; the method also comprises the last time the client enters, whether the client is taken over, the user ID of the current participant and the type of the take over. Whether or not it is taken over indicates whether or not it is in the form of a proxy connection with other clients, i.e. SFU or MCU, or a point-to-point connection, i.e. Mesh. The ZooKeeper cluster stores this registration information after it receives it. Other clients can register their own client information under the target path in the ZooKeeper cluster according to the conference ID of the conference event, specifically including adding the user ID of the client in the target path and adding the conference information corresponding to the client in the JSON-form character string information, including the last entry time of the client, whether the client is taken over, taking over the user ID of the current participant, taking over the type, and the client can also read the client connection elements of the participating client, such as SDP information, etc., according to the preregistered self information of the participating client. The process of establishing conference connection between the clients according to the conference registration information and the connection element information of the clients comprises the following steps: when the participating client discovers that a new record exists in the information in the 'per rotor/conference id/user/', the new participant is perceived to enter, so that SDP information and ICE information of the new participant client are acquired from a preset path 'per user/', and PeerConection connection of the client initiating to the new participant is actively established according to the SDP information and ICE information, so that RTC connection is established. According to the table 2, the clients are generally not taken over by default in the conference information registered in the conference event, so that the connection between the clients is connected by means of Mesh by default. Rtc PeerConnection (call of audio or video, with encryption and bandwidth management, webRTC API proprietary object, representing the current user's one-way P2P connection with a specific peer) is a P2P bi-directional connection defined in the WebRTC API specification, both ends of the connection corresponding to the client/client (Mesh mode) or client/server (MCU/SFU mode) that establishes the WebRTC session. In conventional Mesh mode, each RtcPeerConnection requires an SDP offer and ICE bridge via a signaling server. For the case of multiple P2P connections, even introducing parallel computation for simultaneous processing is relatively time consuming. By adopting the mode of the application, the RTC communication connection can be rapidly carried out, and the efficiency is improved.
Step 120: when the number of stream connections is larger than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections; the current client is any one of the clients; the target client is any client except the current client in the clients.
After RTC communication is established between the clients of the meeting, all clients of the meeting room perform dynamic self-organization of the communication network in the subsequent audio/video meeting process. The method specifically comprises the steps of judging whether the number of stream connections of all clients in a conference room exceeds a preset threshold value PC_u, and when the number of stream connections exceeds the preset threshold value, initiating a stream reduction negotiation request according to a preset rule poll. The preset rule is a preset global unified threshold value, the threshold value can be correspondingly set according to the scene, and the embodiment of the invention is not particularly limited. The stream reduction negotiation request may be initiated by a client in the dynamic ad hoc communication system, may be initiated by a control unit in the WebRTC module, or may be initiated by a listening notification module. In one embodiment of the invention, the method can be initiated by the first-in-meeting client, and the specific process is as follows:
And initiating a stream reduction negotiation request to each client through a monitoring notification mechanism, and determining the execution state of stream reduction operation of each client. Firstly, according to the client U1 recorded in the target path and started at the earliest time of the session, carrying out load calculation, the client U1 sequentially sends stream reduction negotiation requests to other clients by creating stream reduction negotiation events in the ZooKeeper. The node path and format in which the client U1 creates the flow reduction negotiation event is shown in table 3.
Table 3:
the stream reduction negotiation event includes information such as an event ID, a preset rule (generation rule), an event type, a last entry time of a current initiator, a client ID (user ID) of the current initiator, a current receiver, a processing stage of time, a number of desired reductions, and a cumulative reduced number. The preset rule is a rule for polling each client, and may be a rule sequentially executed from a certain client at a meeting time.
In the embodiment of the invention, when a certain client U2 receives a stream reduction negotiation request through an event monitoring mechanism of a ZooKeeper and judges the current receiver, the client U2 needs to respond. The client U2 performs load calculation to obtain load information, if the system resources (CPU, memory and bandwidth) of the client U2 are abundant according to the load information, the client U2 determines that the client U3 can bear proxy connection, and can serve as an SFU of the client U3 in the same conference, wherein the client U3 is a client which is not U1 and U2 and establishes connection with U2 in the same conference. At this time, the client U2 modifies "stage" in the flow reduction negotiation event in the ZooKeeper to "accept", and modifies "ismask" of the client U3 to "true", and "maskOwner" identifier to the client U2, and "maskType identifier" to the SFU. After the rest clients ZooKeeper receive the notification, the connection with the client U3 is closed, so that 1-time stream reduction operation is completed. The communication network before and after the stream reduction operation is schematically shown in fig. 4, and as can be seen from fig. 4, the client U3 communicates with other clients through the client U2, and the client U2 is proxy-connected thereto. After the stream reduction operation is completed, the client U2 takes over the audio and video stream forwarding of the client U3 and takes the audio and video stream forwarding as an SFU; the two-way connection between other clients and the client U3 is disconnected, and the audio and video stream of the client U3 can be obtained only through the client U2, or the client U2 can send the audio and video stream of the client U3.
In the embodiment of the present invention, after the client U2 takes over the client U3, the connection element information of the client registered before the client U2 will be changed in the ZooKeeper cluster. And preferably, the SFU of the client U3 will perform a mixed flow/parallel flow promotion and degradation attempt according to the configured policy, for example: the CPU of the machine has more than 40% idle utilization rate, the memory has more than 1G idle, and the stream produced by the machine and the stream of U3 are mixed into one path, namely, the stream is upgraded into the MCU. Meanwhile, since the local resources are also dynamically changed, when the local resources become tense, the local resources are also allowed to be actively degraded into SFU. At this time, the mask type field described above changes correspondingly: that is, the field is recorded as SFU initially, and is changed into MCU after being upgraded into MCU, and is changed back to SFU when being actively downgraded, and the field always keeps consistent with the actual take-over role.
And when the current client can not bear the proxy connection, initiating the stream reduction negotiation request to the next client according to the preset rule, so that the next client can proxy the stream connection of the target client when the next client can bear the proxy connection, and reducing the stream connection number. Specifically, if the client U2 performs load calculation to obtain load information, if it determines that its own system resources are tense according to the load information, it confirms that it cannot afford the proxy connection, and it cannot act as any SFU of any other user in the same conference room, and updates stage to reject. After receiving the reject request, U1 continues to update the next receiver, and resets stage to the request. The whole process can be a simple unilateral sequential request, and the multiparty sequential response is a limited loop, namely: u1 request- > U2 response; u1 request- > U3 response; ... U1 requests- > Uk corresponds, k=2, 3,..and k < =n, n being the total number of people at the current meeting. Until U1 decides that the flow reduction satisfies the threshold condition, or k is equal to n, the transmission of the request is stopped.
Step 130: and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
After the client U2 completes the current stream reduction operation, 1 will be added to "accumulatedlue" in the stream reduction negotiation event, and "stage" is updated to "next". And after receiving this update notification, the client U1 checks whether the number (i.e., desirval) desired to be reduced is equal to the accumulated reduced number (i.e., accumulateval), and if the former is still greater than the latter, updates the next receiver, and resets "stage" to request. And stopping sending the stream reduction request until the current connection number locally recorded by the client U1 minus the connection total number confirmed to be reduced is smaller than or equal to a preset threshold value, and modifying the state to be finished.
In the embodiment of the invention, when the current client proxies the stream connection of the target client, if the current client needs to be disconnected but the target client still needs to be on-line, the stream connection between the target client and each client is reestablished before the current client is disconnected, and the stream reduction negotiation request is initiated to the next client according to the preset rule, so that the stream connection of the target client is proxied by the next client when the current client is disconnected and the next client can bear the proxy connection, and the stream connection number is reduced. Specifically, when the client U2 is about to be offline, and at this time, the client U2 cannot continue to take over the audio and video stream of the client U3, so before the client U2 leaves the conference, it is necessary to empty the mask of the client U3, modify the unmasked to false, notify other participants, reestablish the RtcPeerConnection with the client U3, and re-perform the necessary stream reduction negotiation process. Ensuring that the client U2 is offline does not affect continued participation of the client U3.
Because only one user sends the poll type stream reduction request process at the same time, and the sequence of the entime of all the clients in the conference is consistently visible to all the multiple participants, when the client U1 completes the stream reduction negotiation process and sets the entime to the next earliest client entering the conference, and modifies the eventType from the reorder to the select, the corresponding next client will learn the change according to the event monitoring notification mechanism of the ZooKeeper, set the sender as itself, and repeat the stream reduction negotiation process in sequence.
In the embodiment of the invention, when the reduced number of stream connections is smaller than or equal to the preset threshold, the stream reduction operation is ended to determine the communication network among the clients, after the stream reduction negotiation operation, the connection modes of all the clients are determined, and the clients of the participant can be connected in a Mesh mode, an SFU mode or an MCU mode, thereby realizing the dynamic self-organization of the communication network.
The method comprises the steps that through determining the number of stream connections of all clients establishing connection, when the number of stream connections is larger than a preset threshold value, a stream reduction negotiation request is initiated to all clients according to a preset rule, so that when a current client can bear proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, wherein the current client is any client in all clients, and the target client is any client except the current client in all clients; and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients. By the mode, dynamic self-organization of the communication network can be realized, the network architecture of the decentralization characteristic of Mesh and the low bandwidth occupation characteristic of SFU transfer and MCU can be fused, and the cost for constructing the WebRTC-based audio-video conference system is reduced.
Fig. 5 is a schematic structural diagram of a communication network construction device according to an embodiment of the present invention. As shown in fig. 3, the apparatus 300 includes:
a determining module 310, configured to determine the number of stream connections of each client that establishes a connection;
a flow reduction module 320, configured to, when the number of flow connections is greater than a preset threshold, poll and initiate a flow reduction negotiation request to each client according to a preset rule, so that when a current client can afford a proxy connection, the current client proxies the flow connection of the target client, so as to reduce the number of flow connections; the current client is any one of the clients; the target client is any client except the current client in the clients;
and a communication establishing module 330, configured to end the flow reduction operation to determine a communication network between the clients when the reduced number of flow connections is less than or equal to the preset threshold.
The specific working process of the communication network construction device in the embodiment of the present invention is substantially identical to the specific flow steps in the above method embodiment, and will not be described herein.
The method comprises the steps that through determining the number of stream connections of all clients establishing connection, when the number of stream connections is larger than a preset threshold value, a stream reduction negotiation request is initiated to all clients according to a preset rule, so that when a current client can bear proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, wherein the current client is any client in all clients, and the target client is any client except the current client in all clients; and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients. By the mode, dynamic self-organization of the communication network can be realized, the network architecture of the decentralization characteristic of Mesh and the low bandwidth occupation characteristic of SFU transfer and MCU can be fused, and the cost for constructing the WebRTC-based audio-video conference system is reduced.
Fig. 6 is a schematic structural diagram of a computer device according to an embodiment of the present invention, and the specific embodiment of the present invention is not limited to the specific implementation of the computer device.
As shown in fig. 6, the computer device may include: a processor 402, a communication interface (Communications Interface) 404, a memory 406, and a communication bus 408.
Wherein: processor 402, communication interface 404, and memory 406 communicate with each other via communication bus 408. A communication interface 404 for communicating with network elements of other devices, such as clients or other servers. Processor 402 is configured to execute program 410 and may specifically perform the relevant steps described above for the computer method embodiment.
In particular, program 410 may include program code including computer-executable instructions.
The processor 402 may be a central processing unit CPU, or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present invention. The one or more processors included in the computer device may be the same type of processor, such as one or more CPUs; but may also be different types of processors such as one or more CPUs and one or more ASICs.
Memory 406 for storing programs 410. Memory 406 may comprise high-speed RAM memory or may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
Program 410 may be specifically invoked by processor 402 to cause a computer device to:
determining the number of stream connections of each client for establishing a connection;
when the number of stream connections is larger than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections; the current client is any one of the clients; the target client is any client except the current client in the clients;
and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
In an optional manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can afford a proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections, including: when the number of the stream connections is larger than a preset threshold, a stream reduction negotiation request is polled and initiated to each client according to a preset rule so that the current client performs load calculation to obtain load information corresponding to the current client; and determining whether the current client can bear proxy connection according to the load information.
In an optional manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can afford a proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections, including: when the current client can not bear proxy connection, the stream reduction negotiation request is initiated to the next client according to the preset rule, so that when the next client can bear proxy connection, the next client proxies the stream connection of the target client to reduce the stream connection number; or alternatively
And when the current client terminal is in line with the stream connection of the target client terminal, reestablishing the stream connection of the target client terminal and each client terminal, and initiating the stream reduction negotiation request to the next client terminal according to the preset rule, so that when the current client terminal is in line and the next client terminal can bear the proxy connection, the next client terminal is in line with the stream connection of the target client terminal, and the stream connection number is reduced.
In an alternative manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule, so that when a current client can afford a proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, including: and initiating a stream reduction negotiation request to each client through a monitoring notification mechanism, and determining the execution state of stream reduction operation of each client.
In an alternative manner, before the determining the number of stream connections of each client that establishes a connection, the method further includes:
monitoring conference information of each client accessing to a conference, and establishing conference connection among the clients according to the client information; the conference information includes individual client information.
In an optional manner, the monitoring the conference information of the access conference of each client includes: monitoring registration information of a conference event, wherein the registration information of the conference event comprises a conference ID, a participant ID and format information; monitoring conference registration information of each client in the conference event, wherein the conference registration information comprises participant IDs of clients of each participant; and establishing conference connection among the clients according to the conference registration information and the connection element information of the clients.
In an optional manner, before the conference connection between the clients is established according to the conference registration information and the connection element information of the clients, the method further includes: and acquiring connection element registration information of each client, wherein the connection element registration information comprises a session description protocol and an intranet IP address information candidate list corresponding to the client and used for establishing network connection.
The method comprises the steps that through determining the number of stream connections of all clients establishing connection, when the number of stream connections is larger than a preset threshold value, a stream reduction negotiation request is initiated to all clients according to a preset rule, so that when a current client can bear proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, wherein the current client is any client in all clients, and the target client is any client except the current client in all clients; and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients. By the mode, dynamic self-organization of the communication network can be realized, the network architecture of the decentralization characteristic of Mesh and the low bandwidth occupation characteristic of SFU transfer and MCU can be fused, and the cost for constructing the WebRTC-based audio-video conference system is reduced.
An embodiment of the present invention provides a computer readable storage medium storing at least one executable instruction that, when executed on a computer device, causes the computer device to perform a communication network construction method according to any of the above method embodiments.
The executable instructions may be particularly useful for causing a computer device to:
determining the number of stream connections of each client for establishing a connection;
when the number of stream connections is larger than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections; the current client is any one of the clients; the target client is any client except the current client in the clients;
and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
In an optional manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can afford a proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections, including: when the number of the stream connections is larger than a preset threshold, a stream reduction negotiation request is polled and initiated to each client according to a preset rule so that the current client performs load calculation to obtain load information corresponding to the current client; and determining whether the current client can bear proxy connection according to the load information.
In an optional manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can afford a proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections, including: when the current client can not bear proxy connection, the stream reduction negotiation request is initiated to the next client according to the preset rule, so that when the next client can bear proxy connection, the next client proxies the stream connection of the target client to reduce the stream connection number; or alternatively
And when the current client terminal is in line with the stream connection of the target client terminal, reestablishing the stream connection of the target client terminal and each client terminal, and initiating the stream reduction negotiation request to the next client terminal according to the preset rule, so that when the current client terminal is in line and the next client terminal can bear the proxy connection, the next client terminal is in line with the stream connection of the target client terminal, and the stream connection number is reduced.
In an alternative manner, when the number of stream connections is greater than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule, so that when a current client can afford a proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, including: and initiating a stream reduction negotiation request to each client through a monitoring notification mechanism, and determining the execution state of stream reduction operation of each client.
In an alternative manner, before the determining the number of stream connections of each client that establishes a connection, the method further includes:
monitoring conference information of each client accessing to a conference, and establishing conference connection among the clients according to the client information; the conference information includes individual client information.
In an optional manner, the monitoring the conference information of the access conference of each client includes: monitoring registration information of a conference event, wherein the registration information of the conference event comprises a conference ID, a participant ID and format information; monitoring conference registration information of each client in the conference event, wherein the conference registration information comprises participant IDs of clients of each participant; and establishing conference connection among the clients according to the conference registration information and the connection element information of the clients.
In an optional manner, before the conference connection between the clients is established according to the conference registration information and the connection element information of the clients, the method further includes: and acquiring connection element registration information of each client, wherein the connection element registration information comprises a session description protocol and an intranet IP address information candidate list corresponding to the client and used for establishing network connection.
The method comprises the steps that through determining the number of stream connections of all clients establishing connection, when the number of stream connections is larger than a preset threshold value, a stream reduction negotiation request is initiated to all clients according to a preset rule, so that when a current client can bear proxy connection, the current client proxies the stream connection of a target client to reduce the number of stream connections, wherein the current client is any client in all clients, and the target client is any client except the current client in all clients; and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients. By the mode, dynamic self-organization of the communication network can be realized, the network architecture of the decentralization characteristic of Mesh and the low bandwidth occupation characteristic of SFU transfer and MCU can be fused, and the cost for constructing the WebRTC-based audio-video conference system is reduced.
The embodiment of the invention provides a communication network construction device which is used for executing the communication network construction method.
Embodiments of the present invention provide a computer program that is callable by a processor to cause a computer device to perform the communication network construction method in any of the method embodiments described above.
An embodiment of the present invention provides a computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions which, when run on a computer, cause the computer to perform the communication network construction method of any of the method embodiments described above.
The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with the teachings herein. The required structure for a construction of such a system is apparent from the description above. In addition, embodiments of the present invention are not directed to any particular programming language. It will be appreciated that the teachings of the present invention described herein may be implemented in a variety of programming languages, and the above description of specific languages is provided for disclosure of enablement and best mode of the present invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the above description of exemplary embodiments of the invention, various features of the embodiments of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed invention requires more features than are expressly recited in each claim.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component, and they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specifically stated.

Claims (10)

1. A method of communication network construction, the method comprising:
determining the number of stream connections of each client for establishing a connection; the stream connection number is the sum of the stream connection numbers of all clients;
When the number of stream connections is larger than a preset threshold, a stream reduction negotiation request is initiated to each client according to a preset rule poll, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the number of stream connections; the current client is any one of the clients; the target client is any client except the current client in the clients;
and ending the stream reduction operation when the reduced stream connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
2. The method of claim 1, wherein when the number of stream connections is greater than a preset threshold, initiating a stream reduction negotiation request to each client according to a preset rule poll, such that when a current client can afford a proxy connection, the current client proxies a stream connection of a target client to reduce the number of stream connections, comprising:
when the number of the stream connections is larger than a preset threshold, a stream reduction negotiation request is polled and initiated to each client according to a preset rule so that the current client performs load calculation to obtain load information corresponding to the current client; and determining whether the current client can bear proxy connection according to the load information.
3. The method of claim 1, wherein when the number of stream connections is greater than a preset threshold, initiating a stream reduction negotiation request to each client according to a preset rule poll, such that when a current client can afford a proxy connection, the current client proxies a stream connection of a target client to reduce the number of stream connections, comprising:
when the current client can not bear proxy connection, the stream reduction negotiation request is initiated to the next client according to the preset rule, so that when the next client can bear proxy connection, the next client proxies the stream connection of the target client to reduce the stream connection number; or alternatively
And when the current client terminal is in line with the stream connection of the target client terminal, reestablishing the stream connection of the target client terminal and each client terminal, and initiating the stream reduction negotiation request to the next client terminal according to the preset rule, so that when the current client terminal is in line and the next client terminal can bear the proxy connection, the next client terminal is in line with the stream connection of the target client terminal, and the stream connection number is reduced.
4. The method of claim 1, wherein when the number of stream connections is greater than a preset threshold, initiating a stream reduction negotiation request to each client according to a preset rule poll to enable a current client to proxy a stream connection for a target client when the current client can assume a proxy connection, to reduce the number of stream connections, comprising:
And initiating a stream reduction negotiation request to each client through a monitoring notification mechanism, and determining the execution state of stream reduction operation of each client.
5. The method of claim 1, wherein prior to determining the number of flow connections for each client establishing a connection, the method further comprises:
monitoring conference information of each client accessing to a conference, wherein the conference information comprises information of each client; and establishing conference connection among the clients according to the client information.
6. The method of claim 5, wherein before listening to the conference information of the conference to which each client has access, the method comprises:
monitoring registration information of a conference event, wherein the registration information of the conference event comprises a conference ID, a participant ID and format information;
monitoring conference registration information of each client in the conference event, wherein the conference registration information comprises participant IDs of clients of each participant;
and establishing conference connection among the clients according to the conference registration information and the connection element information of the clients.
7. The method according to claim 6, wherein before establishing the conference connection between the clients according to the conference registration information and the connection element information of the clients, the method further comprises:
And acquiring connection element registration information of each client, wherein the connection element registration information comprises a session description protocol and an intranet IP address information candidate list corresponding to the client and used for establishing network connection.
8. A communication network constructing apparatus, comprising:
a determining module, configured to determine a number of stream connections of each client that establishes a connection; the stream connection number is the sum of the stream connection numbers of all clients;
the stream reduction module is used for initiating stream reduction negotiation requests to all clients according to preset rule polling when the stream connection number is larger than a preset threshold value, so that when the current client can bear proxy connection, the current client proxies the stream connection of the target client to reduce the stream connection number; the current client is any one of the clients; the target client is any client except the current client in the clients;
and the communication establishing module is used for ending the flow reduction operation when the reduced flow connection number is smaller than or equal to the preset threshold value so as to determine the communication network among the clients.
9. A computer device, comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete communication with each other through the communication bus;
The memory is configured to store at least one executable instruction that causes the processor to perform the operations of the communication network construction method according to any one of claims 1-7.
10. A computer readable storage medium, characterized in that at least one executable instruction is stored in the storage medium, which executable instruction, when run on a computer device, causes the computer device to perform the operations of the communication network construction method according to any of claims 1-7.
CN202210421412.7A 2022-04-21 2022-04-21 Communication network construction method and device and computer equipment Active CN114827097B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210421412.7A CN114827097B (en) 2022-04-21 2022-04-21 Communication network construction method and device and computer equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210421412.7A CN114827097B (en) 2022-04-21 2022-04-21 Communication network construction method and device and computer equipment

Publications (2)

Publication Number Publication Date
CN114827097A CN114827097A (en) 2022-07-29
CN114827097B true CN114827097B (en) 2023-10-17

Family

ID=82506316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210421412.7A Active CN114827097B (en) 2022-04-21 2022-04-21 Communication network construction method and device and computer equipment

Country Status (1)

Country Link
CN (1) CN114827097B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007281783A (en) * 2006-04-05 2007-10-25 Ntt Docomo Inc Communication control method, and communication control unit
CN102340532A (en) * 2010-07-26 2012-02-01 北京启明星辰信息技术股份有限公司 P2P application identification method and device as well as P2P flow management method and device
DE102014108904A1 (en) * 2013-06-30 2014-12-31 Avaya Inc. Virtual Web Real Time Communications (WebRTC) gateways and related methods, systems and computer readable media
CN109474684A (en) * 2018-11-14 2019-03-15 广州虎牙信息科技有限公司 A kind of method, apparatus, terminal device and storage medium obtaining live video stream
US10346367B1 (en) * 2015-04-30 2019-07-09 Amazon Technologies, Inc. Load shedding techniques for distributed services with persistent client connections to ensure quality of service
CN113114702A (en) * 2021-05-13 2021-07-13 上海井星信息科技有限公司 WebRTC communication method and system based on SIP protocol interaction at IOS (input/output System) end
CN114363351A (en) * 2021-12-27 2022-04-15 武汉思普崚技术有限公司 Proxy connection suppression method, network architecture and proxy server

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4550704B2 (en) * 2005-09-20 2010-09-22 株式会社日立製作所 Communication system and communication management method
US10708320B2 (en) * 2017-06-27 2020-07-07 Atlassian Pty Ltd Selective internal forwarding in conferences with distributed media servers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007281783A (en) * 2006-04-05 2007-10-25 Ntt Docomo Inc Communication control method, and communication control unit
CN102340532A (en) * 2010-07-26 2012-02-01 北京启明星辰信息技术股份有限公司 P2P application identification method and device as well as P2P flow management method and device
DE102014108904A1 (en) * 2013-06-30 2014-12-31 Avaya Inc. Virtual Web Real Time Communications (WebRTC) gateways and related methods, systems and computer readable media
US10346367B1 (en) * 2015-04-30 2019-07-09 Amazon Technologies, Inc. Load shedding techniques for distributed services with persistent client connections to ensure quality of service
CN109474684A (en) * 2018-11-14 2019-03-15 广州虎牙信息科技有限公司 A kind of method, apparatus, terminal device and storage medium obtaining live video stream
CN113114702A (en) * 2021-05-13 2021-07-13 上海井星信息科技有限公司 WebRTC communication method and system based on SIP protocol interaction at IOS (input/output System) end
CN114363351A (en) * 2021-12-27 2022-04-15 武汉思普崚技术有限公司 Proxy connection suppression method, network architecture and proxy server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于局域网的流媒体信息低时延传输通讯系统;任庆新;《中国优秀硕士学位论文电子期刊》;全文 *

Also Published As

Publication number Publication date
CN114827097A (en) 2022-07-29

Similar Documents

Publication Publication Date Title
JP6325741B2 (en) A framework that supports a hybrid of mesh and non-mesh endpoints
US10887359B2 (en) Parallel peer to peer connection establishment in webRTC conferencing
US7701882B2 (en) Systems and methods for collaborative communication
CN1328683C (en) Video conference talk conversion from unicast to multicast
CN1318999C (en) Videoconference system architecture
US8437281B2 (en) Distributed real-time data mixing for conferencing
US11533347B2 (en) Selective internal forwarding in conferences with distributed media servers
US20100223320A1 (en) Data distribution efficiency for online collaborative computing sessions
US9270937B2 (en) Real time stream provisioning infrastructure
US10686873B2 (en) Seamless transition of a video session between a mesh topology and a centralized bridge topology
CN114025002A (en) MQTT information transmission method, system and communication equipment
Civanlar et al. Peer-to-peer multipoint videoconferencing on the Internet
US9473316B2 (en) Resource consumption reduction via meeting affinity
US9264662B2 (en) Chat preauthorization
CN108400965B (en) Multimedia conference integrated communication system and method
US20230396679A1 (en) Mixed peer-to-peer mesh and forwarding system
CN114827097B (en) Communication network construction method and device and computer equipment
CN108848121A (en) Screen-picture transmission method, device, server, system and storage medium
Saveliev et al. Architecture of data exchange with minimal client-server interaction at multipoint video conferencing
Karam et al. Using Socket. io Approach for Many-to-Many Bi-Directional Video Conferencing
KR102606904B1 (en) Real-time video call service support method and video call support device for the same
CN116684939B (en) Message processing method, device, computer equipment and computer readable storage medium
JP2010171663A (en) Communication method, communication system, communication device, and computer program
WO2023005487A1 (en) Audio/video conference implementation method, audio/video conference system and related apparatus
Celebi Design and Implementation of a Novel Peer-to-Peer Approach to Multipoint Videoconferencing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant