Search

US-12621713-B2 - Method of communication between a peer and a signaling system

US12621713B2US 12621713 B2US12621713 B2US 12621713B2US-12621713-B2

Abstract

A method comprising: obtaining ( 102 ) a dataset consisting of respective unique identifiers of signaling instances present in a system at a first time; obtaining ( 104 ) a unique identifier of a peer of a peer-to-peer network; selecting ( 106 ) a first signaling instance among the signaling instances, by applying a deterministic function (F) to input data comprising the unique identifier and the dataset; establishing ( 108 ) a communication channel comprising a subchannel between a load balancer (L) and the peer and a subchannel between the load balancer (L) and the first signaling instance; obtaining ( 102 ) an updated dataset consisting of respective unique identifiers of signaling instances present in the system ( 1 ) at a second time; selecting ( 106 ) a second signaling instance among the signaling instances, by applying the deterministic function (F) to updated input data, wherein the updated input data comprises the unique identifier and the updated dataset; if the second signaling instance differs from the first signaling instance, updating ( 109 ) the communication channel by closing the subchannel between the load balancer (L) and the first signaling instance and opening a subchannel between the load balancer (L) and the second signaling instance.

Inventors

  • Erwan de Lepinau

Assignees

  • STREAMROOT

Dates

Publication Date
20260505
Application Date
20231110
Priority Date
20230302

Claims (6)

  1. 1 . A method comprising: obtaining a dataset consisting of respective unique identifiers of signaling instances present in a system at a first time, obtaining a unique identifier of a peer of a peer-to-peer network, selecting a first signaling instance among the signaling instances, by applying a deterministic function to input data, wherein the input data comprises: the unique identifier of the peer of the peer-to-peer network, and the dataset, establishing a communication channel between the peer of the peer-to-peer network and the system, wherein the communication channel comprises a subchannel between a load balancer and the peer of the peer-to-peer network and a subchannel between the load balancer and the first signaling instance, obtaining an updated dataset consisting of respective unique identifiers of signaling instances present in the system at a second time after the first time, wherein the updated dataset differs at least in part from the dataset, selecting a second signaling instance among the signaling instances, by applying the deterministic function to updated input data, wherein the updated input data comprises: the unique identifier of the peer of the peer-to-peer network, and the updated dataset, comparing the first signaling instance and the second signaling instance, if the second signaling instance differs from the first signaling instance, updating the communication channel, where the updating comprises: closing the subchannel between the load balancer and the first signaling instance, and opening a subchannel between the load balancer and the second signaling instance.
  2. 2 . The method of the claim 1 , wherein each subchannel is a Websocket channel.
  3. 3 . The method of the claim 1 , wherein the deterministic function is a rendezvous hashing or a consistent hashing.
  4. 4 . The method of the claim 1 , wherein the deterministic function outputs a unique identifier of the selected signaling instance.
  5. 5 . The method of the claim 1 , wherein the input data consists of the unique identifier of the peer of the peer-to-peer network and of the dataset.
  6. 6 . A non-transitory computer-readable medium comprising code instructions for causing a computer to perform the method as claimed in claim 1 .

Description

CROSS-REFERENCE TO THE RELATED APPLICATIONS This application claims the benefit of Application No. 23305276.0 filed Mar. 2, 2023, in Europe, and which application is incorporated herein by reference. To the extent appropriate a claim of priority is made to the above-disclosed application. TECHNICAL FIELD The present disclosure deals with a method of communication between a peer and a signaling system. BACKGROUND A system for relaying messages between peers of a peer-to-peer network comprises several signaling instances, wherein the signaling instances communicate with peers via different communication channels. In practice, a peer may be assigned to a specific signaling instance. Such a system works as follows. A message generated by a source peer and intended for a recipient is received by a first peer of the system, via a first communication channel established between the source peer and the first signaling instance. Then, the message is sent by a second signaling instance of the system to the recipient peer via a second communication channel established between the second signaling instance and the recipient peer. It may be desirable to change the number of signaling instances in the signaling system. However, this change may cause issues preventing a message to find its way within the signaling system. SUMMARY A goal of the present disclosure is to overcome the drawback identified above. This goal is achieved by the method of claim 1. This method comprises steps of: obtaining a dataset consisting of respective unique identifiers of signaling instances present in a system at a first time,obtaining a unique identifier of a peer of a peer-to-peer network,selecting a first signaling instance among the signaling instances, by applying a deterministic function to input data, wherein the input data comprises: the unique identifier of the peer, andthe dataset, establishing a communication channel between the peer and the system, wherein the communication channel comprises a subchannel between a load balancer and the peer and a subchannel between the load balancer and the first signaling instance,obtaining an updated dataset consisting of respective unique identifiers of signaling instances present in the system at a second time after the first time, wherein the updated dataset differs at least in part from the dataset,selecting a second signaling instance among the signaling instances, by applying the deterministic function to updated input data, wherein the updated input data comprises: the unique identifier of the peer, andthe updated dataset, comparing the first signaling instance and the second signaling instance,if the second signaling instance differs from the first signaling instance, updating the communication channel, where the updating comprises: closing the subchannel between the load balancer and the first signaling instance, andopening a subchannel between the load balancer and the second signaling instance. Optional features of the method and other aspects of the present disclosure are detailed in the other claims. Optionally, each subchannel is a Websocket channel. Optionally, the deterministic function is a rendezvous hashing or a consistent hashing. Optionally, the deterministic function outputs a unique identifier of the selected signaling instance. Optionally, the input data consists of the unique identifier of the recipient peer and of the dataset. Another aspect of the present disclosure is a computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out the steps of the method described above. A further aspect of the present disclosure is a non-transitory computer-readable medium comprising code instructions for causing a computer to perform the method described above. A further aspect of the present disclosure is a load balancer configured to perform the method described above. Still another aspect of the present disclosure is a system comprising the load balancer and an instance manager configured to add at least two signaling instances in the system, and send the dataset to the load balancer. DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of this invention will be apparent in the following detailed description of an illustrative embodiment thereof, which is to be read in connection with the accompanying drawings. FIG. 1 schematically represents peers of a peer-to-peer network and a signaling system for relaying messages between the peers. FIGS. 2, 3, 4 shows steps of methods according to an embodiment, and performed in a signaling system. DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT A signaling system 1 according to an embodiment is shown in FIG. 1. A function played by the signaling system 1 is relaying messages between peers of a peer-to-peer network. In the non-limiting example of FIG. 1, only two peers A, B are shown, but the signaling sys