SCALABLE, REAL-TIME MESSAGING SYSTEM

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for balancing loads in a publish-subscribe system. An example method includes: selecting a first hosting node from a plurality of hosting nodes based, at least in part, on a load data selected from at...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: WALKIN, Lev, LINDER, Fredrik, Erik
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for balancing loads in a publish-subscribe system. An example method includes: selecting a first hosting node from a plurality of hosting nodes based, at least in part, on a load data selected from at least one of node-specific data representing loads on the plurality of hosting nodes and channel-specific data representing a load associated with a channel; sending a request to the first hosting node to temporarily host a portion of a channel; temporarily hosting the channel portion by the first hosting node by temporarily storing one or more messages published to the channel, and temporarily providing, to a plurality of subscribers to the channel, access to the one of more messages; receiving a request to access the channel portion; and granting permission to access the channel portion. La présente invention porte sur des procédés, des systèmes et des appareils, notamment des programmes d'ordinateur codés sur un support d'enregistrement d'ordinateur, permettant d'équilibrer les charges dans un système de publication-abonnement. Un procédé donné à titre d'exemple consiste à : sélectionner un premier nœud d'hébergement parmi une pluralité de nœuds d'hébergement sur la base, au moins en partie, de données de charge sélectionnées à partir d'au moins l'une des données spécifiques à un nœud représentant des charges sur la pluralité de nœuds d'hébergement, et de données spécifiques à un canal représentant une charge associée à un canal ; envoyer une demande au premier nœud d'hébergement pour héberger temporairement une partie d'un canal ; héberger temporairement la partie de canal par le premier nœud d'hébergement en stockant temporairement un ou plusieurs messages publiés sur le canal, et fournir temporairement, à une pluralité d'abonnés au canal, l'accès à l'un des messages ; recevoir une demande d'accès à la partie de canal ; et octroyer une autorisation d'accès à la partie de canal.