Search

KR-20260063480-A - METHOD AND SERVER FOR CONTROLLING WEBRTC CLUSTER

KR20260063480AKR 20260063480 AKR20260063480 AKR 20260063480AKR-20260063480-A

Abstract

A method for controlling a WebRTC cluster is disclosed. The method for controlling a WebRTC cluster according to the present invention comprises the steps of: obtaining information regarding a first connection path selected by a first criterion and information regarding a second connection path selected by a second criterion different from the first criterion among a plurality of connection paths that can be supported to connect a first client and a second client; and controlling the WebRTC cluster so that the first client exchanges data with the second client through the first connection path and the second connection path.

Inventors

  • 김석모
  • 김기현
  • 박세진
  • 박수민

Assignees

  • 주식회사 케이티

Dates

Publication Date
20260507
Application Date
20241030

Claims (20)

  1. Regarding the method of controlling a WebRTC cluster, A step of obtaining information about a first connection path selected by a first criterion and information about a second connection path selected by a second criterion different from the first criterion among a plurality of connection paths that can be supported to connect a first client and a second client; and The method comprises the step of controlling the WebRTC cluster so that the first client exchanges data with the second client through the first connection path and the second connection path. How to control a WebRTC cluster.
  2. In Article 1, The above WebRTC cluster is, Connecting multiple clients connected to the WebRTC cluster through multiple topologies, and Information regarding the above-mentioned first connection path is, It includes information on a first topology selected among the plurality of topologies above, and The information regarding the above second connection path is, Information regarding a second topology selected among the plurality of topologies above How to control a WebRTC cluster.
  3. In Paragraph 2, Information regarding the above-mentioned first connection path is, It includes information about a first connection point selected from a plurality of connection points within the first topology, along with information about a first topology selected from a plurality of connection points within the first topology. The information regarding the above second connection path is, Information regarding a second topology selected among the plurality of topologies, along with information regarding a second connection point selected among a plurality of connection points within the second topology. How to control a WebRTC cluster.
  4. In Paragraph 2, The above plurality of topologies are, at least one of one or more Mesh-based topologies, one or more MCU-based topologies, one or more SFU-based topologies, or one or more hybrid-based topologies How to control a WebRTC cluster.
  5. In Article 1, The above-mentioned first connection path is, Among a plurality of elements representing the characteristics of a connection path, a first element corresponding to the reception characteristics of a service is selected, and The above second connection path is, Among a plurality of elements representing the characteristics of a connection path, a second element corresponding to the transmission characteristics of a service is selected, and The above plurality of elements are, including the delay time and bandwidth of the connection path How to control a WebRTC cluster.
  6. In Paragraph 5, The above first connection path is used for the first client to receive data from the second client, and The above second connection path is used by the first client to transmit data to the second client. How to control a WebRTC cluster.
  7. In Paragraph 6, The bandwidth of the first connection path is greater than the bandwidth of the second connection path, and The delay time of the second connection path is lower than the delay time of the first connection path. How to control a WebRTC cluster.
  8. In Article 7, The above first connection path is used for the first client to receive media streaming data from the second client, and The above second connection path is used by the first client to transmit control data to the second client. How to control a WebRTC cluster.
  9. In Article 1, The step of controlling the WebRTC cluster so that the first client exchanges data with the second client through the first connection path and the second connection path is: A step of transmitting media streaming data received from the second client to the first client through the first connection path; A step comprising: receiving control data including a control command and time information at which the control command was input from the first client through the second connection path, and transmitting the control data to the second client. How to control a WebRTC cluster.
  10. In Article 9, The step of transmitting media streaming data received from the second client to the first client through the first connection path is: The method includes the step of dividing media streaming data received from the second client to generate segments and transmitting the segments to the first client. The time information at which the above control command was entered is, The above control command includes identification information of the input segment and a time point within the input segment. How to control a WebRTC cluster.
  11. In a server controlling a WebRTC cluster, A communication unit that communicates with an external device; and A control unit comprising: acquiring, through the communication unit, information regarding a first connection path selected by a first criterion and information regarding a second connection path selected by a second criterion different from the first criterion among a plurality of connection paths that can be supported to connect a first client and a second client, and controlling the WebRTC cluster so that the first client exchanges data with the second client through the first connection path and the second connection path; A server that controls a WebRTC cluster.
  12. In Article 1, The above WebRTC cluster is, Connecting multiple clients connected to the WebRTC cluster through multiple topologies, and Information regarding the above-mentioned first connection path is, It includes information on a first topology selected among the plurality of topologies above, and The information regarding the above second connection path is, Information regarding a second topology selected among the plurality of topologies above A server that controls a WebRTC cluster.
  13. In Paragraph 12, Information regarding the above-mentioned first connection path is, It includes information about a first connection point selected from a plurality of connection points within the first topology, along with information about a first topology selected from a plurality of connection points within the first topology. The information regarding the above second connection path is, Information regarding a second topology selected among the plurality of topologies, along with information regarding a second connection point selected among a plurality of connection points within the second topology. A server that controls a WebRTC cluster.
  14. In Paragraph 12, The above plurality of topologies are, at least one of one or more Mesh-based topologies, one or more MCU-based topologies, one or more SFU-based topologies, or one or more hybrid-based topologies A server that controls a WebRTC cluster.
  15. In Paragraph 11, The above-mentioned first connection path is, Among a plurality of elements representing the characteristics of a connection path, a first element corresponding to the reception characteristics of a service is selected, and The above second connection path is, Among a plurality of elements representing the characteristics of a connection path, a second element corresponding to the transmission characteristics of a service is selected, and The above plurality of elements are, including the delay time and bandwidth of the connection path A server that controls a WebRTC cluster.
  16. In Paragraph 15, The above first connection path is used for the first client to receive data from the second client, and The above second connection path is used by the first client to transmit data to the second client. A server that controls a WebRTC cluster.
  17. In Paragraph 16, The bandwidth of the first connection path is greater than the bandwidth of the second connection path, and The delay time of the second connection path is lower than the delay time of the first connection path. A server that controls a WebRTC cluster.
  18. In Paragraph 17, The above first connection path is used for the first client to receive media streaming data from the second client, and The second connection path above is used by the first client to transmit control data to the second client. A server that controls a WebRTC cluster.
  19. In Article 1, The above control unit is, Media streaming data received from the second client is transmitted to the first client through the first connection path, and Receive control data including a control command and time information when the control command is input from the first client through the second connection path, and transmit the control data to the second client. A server that controls a WebRTC cluster.
  20. A step of obtaining information about a first connection path selected by a first criterion and information about a second connection path selected by a second criterion different from the first criterion among a plurality of connection paths that can be supported to connect a first client and a second client; and A computer program stored on a non-transient readable medium to perform a method comprising the step of controlling a WebRTC cluster so that the first client exchanges data with the second client through the first connection path and the second connection path.

Description

Method and Server for Controlling WebRTC Cluster The present invention relates to a method for controlling a WebRTC cluster and a server capable of controlling a client to communicate with another client through two sessions set with different criteria in communication using the WebRTC protocol. WebRTC is a P2P real-time streaming protocol that enables the easy transmission of streaming data using a browser as a client without the need for separate program installation. Recently, WebRTC is being used not only for 1:1 streaming data transmission but also for 1:N and N:M streaming data transmission. For example, WebRTC is being used in various fields such as video conferencing, games, and VR/AR services. In WebRTC technology, a WebRTC cluster is used as a platform to connect clients to each other, and the WebRTC cluster can support various topologies. FIGS. 1 and FIGS. 2 illustrate a connection method between clients of a WebRTC cluster, and the WebRTC cluster can support connections between clients using at least one of a P2P (Peer-to-peer) method ( FIG. 1) or a TURN/STUN relay method ( FIG. 2). In addition, Figure 3 illustrates various topologies that can be supported in a WebRTC cluster, such as a Mesh method (Figure 3a), an SFU method (Figure 3b), an MCU method (Figure 3c), and a hybrid method in which two or more of these are combined. Clients select a connection path that is advantageous to them (more specifically, topology and connection points within the topology) depending on the characteristics of the service and the client's location, and this tendency is more pronounced when configuring a multi-region cloud-based WebRTC cluster to provide large-scale WebRTC. In this case, criteria for a client to select a connection path advantageous to them may include latency and bandwidth. Furthermore, depending on the characteristics of the service they need to receive, the client may select a connection path by prioritizing either latency (specifically low latency) or bandwidth (specifically high bandwidth). For example, a client requiring high-definition media streaming services may select a connection path by prioritizing bandwidth due to the nature of the service, which requires the reception of large amounts of data. As another example, a client requiring remote control services may select a connection path by prioritizing latency due to the nature of the service, which necessitates fast control execution. However, there may be services where both latency and bandwidth are critical. For example, in cloud gaming that enables remote play via streaming, the game runs on a remote client; a specific client receives media streaming data from the game running on the remote client, while another specific client transmits control data (e.g., commands to control an in-game character) to the remote client. In other words, since both the reception of media streaming data and the transmission of control data occur in such game services, both latency and bandwidth become critical. An example similar to cloud gaming is Extended Reality (XR) services. In cases where both factors (bandwidth and latency) are important, the client must select a connection path (topology and connection points within the topology) that satisfies both factors. Additionally, since multiple clients can connect to a single WebRTC cluster, the following problem may occur if multiple clients make the same choice. In a single WebRTC cluster, there may exist multiple connection paths (topologies and connection points within the topology) that can be supported, and the routes through which data is transmitted may differ between different connection paths. As shown in FIG. 3, since the WebRTC cluster supports multiple topologies and connection points within the topologies, the performance of the multiple connection paths may differ (for example, the bandwidth and latency of a first connection path may be worse than the bandwidth and latency of a second connection path), and the characteristics of the multiple connection paths may also differ (for example, the bandwidth of a first connection path may be superior to that of a second connection path (i.e., the bandwidth is greater), while the latency of a second connection path may be superior to that of a first connection path (i.e., the latency may be lower)). However, when multiple clients select a connection path (topology and connection points within the topology) that satisfies both bandwidth and latency requirements, a problem arises where clients flock to the path that offers superior performance in both bandwidth and latency among the numerous paths supported by a single WebRTC cluster. In this case, the performance of that path deteriorates as clients flock to it. Consequently, WebRTC cluster operators must make continuous infrastructure investments to increase the number of paths with excellent bandwidth and latency, while facing the issue of being unable to properly utilize existing infrastruc