WO2018122533A1 - Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes - Google Patents

Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes Download PDF

Info

Publication number
WO2018122533A1
WO2018122533A1 PCT/FR2017/053853 FR2017053853W WO2018122533A1 WO 2018122533 A1 WO2018122533 A1 WO 2018122533A1 FR 2017053853 W FR2017053853 W FR 2017053853W WO 2018122533 A1 WO2018122533 A1 WO 2018122533A1
Authority
WO
WIPO (PCT)
Prior art keywords
nodes
node
messages
consumer
network
Prior art date
Application number
PCT/FR2017/053853
Other languages
French (fr)
Inventor
Adrien PLAGNOL
Chary TITOUAN
Original Assignee
Worldline
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 Worldline filed Critical Worldline
Priority to CN201780086742.2A priority Critical patent/CN110431824B/en
Priority to EP17838185.1A priority patent/EP3563558A1/en
Publication of WO2018122533A1 publication Critical patent/WO2018122533A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Definitions

  • the invention relates to the field of node networks communicating with each other by peer-to-peer messages as well as the domain of interconnection processes between nodes in a network of nodes communicating with each other by peer-to-peer messages.
  • the network of nodes considered is for example an architecture of micro-services, respectively distributed on potentially several machines, having for example not the same addresses between them, not being for example not all on the same network, not presenting between them for example not the same computing capacity.
  • each micro-service can have a potentially undefined life time.
  • the heterogeneous nature of this micro-services architecture makes it more fragile compared to imponderable events, of the localized fault type, and therefore difficult to manage.
  • the network of nodes so that its nodes communicate with each other, goes initially in an initial phase to interconnect the nodes between them, then goes in a phase of update during the life of the network to maintain and to adapt the interconnections between the nodes of the network.
  • the message distribution system will communicate micro services between them through a message passing system.
  • a message passing system For this, it can use an implementation centered on a broker of messages ("broker" in English language).
  • peer to peer a network of nodes exchanging messages in peer-to-peer ("peer to peer") and an associated interconnection method, which are both managed by a central interconnection device .
  • peer to peer a network of nodes exchanging messages in peer-to-peer
  • an associated interconnection method which are both managed by a central interconnection device .
  • a disadvantage of this first prior art is that this central interconnection device is a weak link in the network, a single point of failure (SPF), including a failure, even temporary, will disrupt the operation of the network and significantly degrade its performance of transmission efficiency and message processing.
  • SPF single point of failure
  • the message broker-based system can be centralized (such as "RabbitMQ" or "ActiveMQ”), but it has a significant limitation because this centralized system will be a single point of failure that can disrupt the operation. network and degrade its capabilities.
  • a network of nodes exchanging messages in peer-to-peer (“peer to peer” in English) and an associated interconnection method, which are both fully distributed.
  • peer to peer in English
  • a disadvantage of this second prior art is that the robustness related to this fully distributed character, in particular in a network of nodes exchanging peer-to-peer messages, becomes a weakness when the size of the messages exchanged within the network becomes important. Because a large volume of fully distributed data exchange, in a type of peer-to-peer communication, will tend to saturate the network and therefore also degrade its performance in transmission efficiency and message processing.
  • the message broker-based system can be distributed (as for example "Kafka"), but it has an important limitation, because this distributed system will become operationally limited as soon as the size and the volume of the messages that he will have to pass will become too important.
  • the object of the present invention is to provide a network of nodes and / or an interconnection method at least partially overcoming the aforementioned drawbacks.
  • the object of the invention is to provide a network of nodes and / or an interconnection method, for which a good compromise between robustness of operation of the network on the one hand and efficiency of operation of this network on the other hand is realized. .
  • the robustness of operation of the network will allow the network of nodes to continue to operate by allowing the nodes of this network to continue to exchange messages with each other even if a given component, for example a central component, breaks down, at least in the case of a temporary breakdown, the most frequent case.
  • a given component for example a central component
  • the operating efficiency of this network will allow the network node to continue to optimize the transmission and processing time of the messages exchanged, even if a given component, for example a central component, fails, at least for the case of a temporary breakdown, the most frequent case.
  • the invention proposes a network in which the producing nodes, on the one hand each manage their list of consumer nodes, thus guaranteeing their autonomy with respect to a possible point of failure in the network, and on the other hand each optimize their list of consumer nodes in terms of processing time of their messages produced, by deleting, at least temporarily from their list, consumer nodes that are too slow to process the messages. received messages from the producer node corresponding to this list.
  • the present invention proposes a computer network of nodes communicating with each other by peer-to-peer messages, message producing nodes sending their product messages to message consumer nodes, a consumer node that can be also a producer node at another level of the network, characterized in that each message producing node: chooses, among the nodes registered as active in the network, its consumer nodes to interconnect with them, maintains the list of its nodes interconnected consumer nodes, manages the load balancing of its product messages to its interconnected consumer nodes, as a function of processing time, by its interconnected consumer nodes, of its product messages, by sending its product messages especially to its more interconnected consumer nodes.
  • low processing time modifies its list of interconnected consumer nodes according to the processing time, by its interconnected consumer nodes, its messages produced, removing from its list at least temporarily its interconnected consumer nodes too slow.
  • the present invention also proposes a method of interconnection and communication between nodes in a computer network according to the invention.
  • the present invention also proposes a method of interconnection between nodes in a computer network of nodes communicating with each other by peer-to-peer messages, message producing nodes sending their generated messages to message consumer nodes, a node a consumer which can also be a producer node at another level of the network, characterized in that each message producing node: chooses, from among the nodes registered as active in the network, its consumer nodes to interconnect with them, keeps up to date the list of its interconnected consumer nodes, modifies its list of interconnected consumer nodes according to the processing time, by its consumer nodes, of its generated messages, by deleting from its list at least temporarily its interconnected consumer nodes too slow.
  • the very large nature of the data exchanged and the critical real time character of the processing of these exchanged data make the use of node network according to the invention and the associated interconnection method particularly interesting.
  • the network will use a peer-to-peer message passing system that will be self-adaptive and highly resilient.
  • This system will make it possible to establish a communication between micro-services through a communication channel functionally identical to a data bus, but whose implementation is based on direct communication between the microservices themselves.
  • each micro-service is responsible for maintaining the list of its peers in the network, as well as load distribution when distributing messages to these peers.
  • This system makes it possible to create data flows between micro-services that will be able to withstand even a large scale change, while maintaining a strong resilience in the event of the disappearance of nodes or in the event of communication links being cut off. the network.
  • the invention comprises one or more of the following features which can be used separately or in partial combination with one another or in total combination with one another, or with one or the other of the aforementioned objects of the invention. .
  • the nodes register as active in the network with a centralized register in the network, which register diffuses to at least all the active producing nodes of the network, preferably to all the active nodes of the network, the list of at least all the active consumer nodes of the network, preferably the list of all the active nodes of the network.
  • Broadcasting (“broadcast" in English) is a different type of communication from peer-to-peer messaging.
  • said register does not establish for a given particular producer node the list of its interconnected consumer nodes, and said register does not send to any particular producer node the list of its interconnected consumer nodes.
  • the good functioning of the register at least a part of the time remains useful, insofar as only the register can signal to the different producing nodes the changes occurring in the topology of the network, thus allowing these producing nodes to update each one. their list of consumer nodes, thereby allowing each producing node to operate with a list of consumer nodes that is optimized in terms of efficiency relative to the instant topology of the node network.
  • the management of the evolution of the network topology in a distributed manner at each producing node remains possible, but this would reduce the operating efficiency of the network.
  • the nodes register periodically as active in the network with the register, as long as they are able to process messages, the recording period preferably being less than or equal to 10 seconds, any active node that is missing at least two recording periods, preferably at least one recording period, are deleted from the list of active nodes by the register.
  • the recording period preferably being less than or equal to 10 seconds
  • any active node that is missing at least two recording periods, preferably at least one recording period are deleted from the list of active nodes by the register.
  • this periodic recording is a little tedious for each consumer node, it allows on the other hand to further improve the compromise between robustness of operation and efficiency of network operation, insofar as it has the effect of temporarily removing any node a deficient consumer, and to suppress it only for approximately the duration of his disability, for the duration of a close registration period.
  • each message producing node can modify its list of interconnected consumer nodes by possibly adding a newly registered consumer node if it is able to consume messages produced by said producer node.
  • each producing node can increase its list of consumer nodes in real time, and thus improve its load management in terms of product messages sent in real time as well.
  • each consumer node sends, at least for some messages received from a producer node, its processing time of these messages or a representative weight of its processing time of these messages, representative of the difference between the arrival of these messages at said consumer node and their departure from said consumer node possibly after transformation, and preferably each producer node adds a processing time evaluation request in all or part of the messages that it sends to each of its interconnected consumer nodes .
  • each consumer node can update the performance of all consumer nodes in its list and adapt the load management of its messages produced accordingly, just as often as it wants, it is sufficient for it to choose the proportion of his product messages to which he adds a request for evaluation of processing time.
  • each message producing node manages the load balancing of its product messages to its interconnected consumer nodes, based on the processing times or weights sent by its interconnected consumer nodes, sending more product messages to the interconnected consumer nodes. whose treatment times are lower or the weights correspond to lower processing times.
  • each producing node improves the load management of its product messages, thus improving the overall efficiency of transmission of the messages produced and their processing in the network.
  • each producer node calculates a sliding average weight over time for each of its interconnected consumer nodes, which it uses to manage the load balancing of its product messages to its interconnected consumer nodes. In this way, the calculated parameter is on the one hand well representative of the processing speed of the messages received by a consumer node, while smoothing point variations not representative of this parameter, reducing the risks of instability and divergence of enslavement according to the variations of this parameter.
  • each producer node loads its interconnected consumer nodes in a weighted random manner, so that the probability for its interconnected consumer nodes to receive a message produced by said producer node depends on a random draw which is weighted by the weights of said nodes. interconnected consumers.
  • This weighted random load management achieves a good compromise between the fair and distributed use of all available consumer nodes, a factor that improves the robustness of network operation by avoiding overloading high-performance consumer nodes to avoid their collapse factor of instability in the network, and secondly the operating efficiency of the network by using priority and more often the fastest consumer nodes.
  • each node is a micro-service that exchanges messages with at least one other node, each micro-service being either a processor that processes data received from one node of the network to then send that processed data to another node of the network, preferably said processing being reduced to a single processing task performed on these data, either a source that produces data to be injected into the network to at least one processor, or a sink that exports the processed data by at least one processor to a third-party system on the network.
  • This type of network is particularly adapted to the use of the invention, in the as its nodes perform a lot of relatively simple operations on a lot of data.
  • At least one of the processors preferably the majority of the processors, still more preferably all the processors, filters the received data and then routes them to different types of nodes in the network.
  • This is a particularly representative example of simple operations achievements in large numbers on a large volume of data.
  • a type of producer node is a filter which separates the received messages according to a criterion to be filled, to direct them towards three types of consumer nodes respectively according to whether said criterion is fulfilled, or not filled, or perhaps filled.
  • a filter which separates the received messages according to a criterion to be filled, to direct them towards three types of consumer nodes respectively according to whether said criterion is fulfilled, or not filled, or perhaps filled.
  • the messages are representative of banking transactions
  • the criterion is the fraudulent nature or not of a banking transaction.
  • the very large character of the exchanged data and the critical real time character of the processing of these exchanged data make the use of the node network according to the invention as well as the associated interconnection method particularly interesting.
  • the messages are representative of images filmed by CCTV cameras
  • the criterion is the character of presence or absence of delictual risk related to the content of a filmed image or a sequence of images. images filmed by these CCTV cameras.
  • the very large character of the exchanged data and the critical real time character of the processing of these exchanged data make the use of the node network according to the invention as well as the associated interconnection method particularly interesting.
  • Figure 1 schematically shows an example of a network part according to one embodiment of the invention.
  • FIG. 2 diagrammatically represents an example of a network part according to one embodiment of the invention.
  • Figure 3 schematically shows an example of a network part according to one embodiment of the invention.
  • FIG. 4 schematically represents an example of a scale of the cumulative weights allowing management of the peas of the consumer nodes in a network according to one embodiment of the invention.
  • FIG. 1 schematically represents an example of a network portion according to one embodiment of the invention.
  • the network 6 comprises producing nodes 1 and consuming nodes 2.
  • the nodes A, B, C and D are represented the nodes A, B, C and D.
  • the node A is a producer node 1.
  • the node B is a consumer node 2 at the level of the link between the nodes A and B in the network 6, while the same node B is a producer node 1 at the link between the nodes B and C in the network 6 as well as at the link between the nodes.
  • Node B is a producer node 1 or a consumer node 2, depending on the level of the network 6 considered.
  • node A is only a producer node
  • a register 3 broadcasts to all the nodes A, B, C and D of the network 6, initially the original topology of the network 6, then each update of this topology during the life of the network 6.
  • the messages produced by the producer node A go to the consumer node B and only circulate in this direction, to be consumed by the consumer node B.
  • the messages produced by the producer node B go to the consumer node C and only circulate in this direction, to be consumed by the consumer node C.
  • the messages produced by the producer node B go to the consumer node D and only circulate in this direction, to be consumed by the consumer node D.
  • Each producer node 1 maintains a list of consumer nodes 2 to which it may have to transmit messages as part of the flow to which it belongs.
  • the node A knows the node B to which it transmits the messages that it produces.
  • Node B knows the nodes C and D to which it transmits the messages it produces, each message being sent to either node C or node D.
  • This list of consumer nodes 2 is initialized by a request to a register 3 to which each producer node 1 or consumer 2 belongs at its instantiation.
  • This register 3 is only useful when a change occurs in the topology of the nodes. Thus, if the register 3 disappears, for example if it is damaged or if its link with the network 6 becomes inoperative, the operation of the flow represented in FIG. 1 is not affected.
  • Each producer node 1 or consumer 2 register, at its instantiation, in the register 3. It will send thereafter a new registration request at regular intervals, for example every 5 or 10 seconds, with the register 3. From this way, if the register 3 becomes faulty, this node 1 or 2 will quickly receive the complete topology of the network 6 of nodes during the re-instantiation of this register 3.
  • FIG. 2 diagrammatically represents an example of a network part according to one embodiment of the invention.
  • the part of the network 6 is first shown at a time T0 and then at a time T1.
  • the node A is interconnected with the node B and the node B is interconnected with the node C.
  • the node A sends messages towards the node B which sends messages towards the node C.
  • register 3 broadcasts the information that node D has registered with it. Neither node A nor node C interconnect with node D.
  • the node B is interconnected with the node D.
  • the node A is interconnected with the node B and the node B is interconnected with the nodes C and D.
  • the node A sends messages to node B that sends messages to either node C or node D.
  • the register 3 has the role of transmitting all the events it processes broadcast to all the nodes 1 and 2 of the network 6 that it knows. Thus, when a new node 1 or 2 is declared, all the other nodes 1 or 2 are informed and the producer nodes 1 choose to connect to it depending on whether this new node is part of their stream or not.
  • the register 3 broadcasts the information. Node A does not connect to Node D, Node B connects to Node D because Node D is part of the type of service included in its flow.
  • Each consumer node 2 maintains the median response time on a sliding window of N message sends, which is called Tmed.
  • Tmed a sliding window of N message sends
  • the request is aborted. This request will be immediately reissued under the same conditions.
  • the sending of the message is considered as failed and the target consumer node 2 is removed from the list of target consumer nodes 2 of the producer node 1 unsuccessfully trying to send him messages. This procedure makes it possible to quickly eliminate the consumer nodes 2 whose response time becomes abnormally high.
  • the loss, at least temporary, of the register 3 has no impact on the operation of the network 6.
  • the register 3 is used to distribute the knowledge of the topology of micro-services, but once it acquired, the network 6 becomes autonomous for its operation, and n ' again needs register 3 only when changing network topology 6.
  • Figure 3 schematically shows an example of a network part according to one embodiment of the invention.
  • the network 6 comprises producer nodes 1 and consumer nodes 2.
  • the nodes PI and P2 are producing nodes 1, at the level of links considered.
  • the nodes C1, C2 and C3 are consumer nodes 2, at the level of links considered.
  • a register 3 diffuses to all the nodes PI, P2, C1, C2 and C3 of the network 6, initially the original topology of the network 6, then each update of this topology during the life of the network 6.
  • the messages produced by the producer node PI go to the consumer nodes C1 and C2, and only circulate in this direction, to be consumed by the consumer nodes C1 and C2.
  • the messages produced by the producer node P2 go to the consumer nodes C1, C2 and C3, and only circulate in this direction, to be consumed by the consumer nodes C1, C2 and C3.
  • Load balancing is a technique used by large networks to balance the solicitation of the servers.
  • the network 6 according to the invention has set up a dynamic, intelligent and adaptive load distribution.
  • Each producer node for example a producer micro-service 1, has a load distribution module which is grafted at its output interface and which communicates with the input interface of each of the consumer nodes 2 of its list. , for example consumer micro-services 2.
  • Each of the N producer nodes 1 knows its list of consumer nodes 2 among the M consumer nodes 2, all M consumer nodes 2 having at initialization an identical weight, for example a value of 1 .
  • each producing node 1 will place, within some of its messages produced and sent, a header specifying a request for evaluation of the processing time for the message considered.
  • consumer nodes 2 will have weights that are dynamic because they are recalculated regularly.
  • Each consumer node 2 has a queue of messages to be processed, as well as a processing function that consumes these messages one after the other.
  • the consumer node 2 responds to the producer node 1 having sent the processed message, preferably returning to it a parameter representative of the difference between its start time and its arrival time, for example a weight, alternatively, the treatment time itself.
  • a parameter representative of the difference between its start time and its arrival time for example a weight, alternatively, the treatment time itself.
  • This weight is updated in the consumer node table of the producing node concerned.
  • Each producer node independently harvests the load information of each consumer node.
  • Each producer node therefore maintains its own weight table of consumer nodes, which can therefore be different from that of the other producing nodes.
  • the invention preferentially uses the notion of sliding average weight, defined by the average of the weights over a time window ⁇ , defining a number of iterations making it possible to calculate a sliding average, given for a node consumer in particular:
  • This sliding weight is used to weight the random draw used to select the destination consumer node of the next message.
  • the weighting is done by comparing the value drawn with a scale on which the consumer nodes are positioned according to their weight.
  • This scale goes from 0 to the value of the sum of Wigliss.
  • the value of each terminal of the scale is calculated according to the accumulated values of the previous terminals.
  • the producer nodes PI and P2 both have the same weight table:
  • the weights are cumulated on a scale, and we obtain the table 2.
  • the producer nodes PI and P2 derive a value between 0 and 3. If this value is between 0 and 1, the next message will be sent to the consumer node C1, if the value is between 1 and 2. , the message will be sent to the consumer node C2, if the value is between 2 and 3, the message will be sent to the consumer node C3. By convention, if the value is exactly 1, it will be sent to the consumer node C1, and if the value is exactly 2, it will be sent to the consumer node C2.
  • the producer node PI sends its message to the consumer node C2, while the producer node P2 sends its message to the consumer node C3.
  • the consumer node C2 responds in 5 seconds to the producer node PI and the consumer node C3 responds in 2 seconds to the producer node P2.
  • the producer nodes PI and P2 now have different weights for each of the consumer nodes C1, C2 and C3, which gives the table 3.
  • the producer node PI sends its message to the consumer node C2 and the producer node P2 sends its message to the consumer node C1.
  • the consumer node C2 responds to the producer node PI in 2 seconds and the consumer node C1 responds to the producer node P2 in 10 seconds.
  • o c2 ⁇ 0.2, 0.5 ⁇
  • the final weights for consumer nodes C1 to C3 are dynamic sliding average weights.
  • FIG. 4 schematically represents an example of a scale of the cumulative weights allowing management of the peas of the consumer nodes in a network according to one embodiment of the invention.
  • the cumulative weight scale represents the three consumer nodes C1, C2 and C3 at the time t0 in a tree, each consumer node being represented by a sheet 4 comprising the name of the node and the value of its weight.
  • the cumulative weight scale represents the three consumer nodes C1, C2 and C3 at time t1 in the same tree, each consumer node being represented by a sheet 5 comprising the name of the node and the value of its weight, which may have been modified.
  • the cumulative weight scale is stored as a cumulative weight table via an interval tree ("range tree” in English), which brings average complexity with this technique in 0 (log (n)).
  • the leaves of the tree correspond to the boundaries of the intervals.
  • the tree structure provides access to values in a given interval quickly and recalculating weights involves known algorithms.
  • This tree data structure storing this accumulated weight scale not only satisfies the storage problem of a scale of values, but also presents a useful additional advantage which is to have very good access and modification performance to the values stored therein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention concerns a computer network of nodes (1, 2) communicating with one another by peer-to-peer messages, message-producer nodes (1) sending their produced messages to message-consumer nodes (2), a consumer node (2) also being able to be a producer node (1) at another level of the network (6), characterised in that each message-producer node (1): chooses, among the nodes (1, 2) registered as active in the network, its consumer nodes (2) in order to interconnect with them; keeps up-to-date the list of its interconnected consumer nodes (2); manages the load distribution of its produced messages to its interconnected consumer nodes (2), according to the processing time, by its interconnected consumer nodes (2), of its produced messages, by sending its produced messages primarily to its interconnected consumer nodes (2) having low processing times; and, modifies its list of interconnected consumer nodes (2) according to the processing time, by its interconnected consumer nodes (2), of its produced messages, by deleting from its list, at least temporarily, those of its interconnected consumer nodes (2) which are too slow.

Description

RESEAU INFORMATIQUE DE NŒUDS COMMUNIQUANT ENTRE EUX PAR MESSAGES EN PAIR A PAIR ET PROCEDE  COMPUTER NETWORK OF NODES COMMUNICATING BETWEEN THEM AND PAIR MESSAGES THEREFOR
D'INTERCONNEXION ENTRE NŒUDS ASSOCIE  INTERCONNECTION BETWEEN ASSOCIATED NODES
DOMAINE DE L'INVENTION FIELD OF THE INVENTION
L'invention concerne le domaine des réseaux de nœuds communiquant entre eux par messages en pair à pair ainsi que le domaine des procédés d'interconnexion entre nœuds dans un réseau de nœuds communiquant entre eux par messages en pair à pair. The invention relates to the field of node networks communicating with each other by peer-to-peer messages as well as the domain of interconnection processes between nodes in a network of nodes communicating with each other by peer-to-peer messages.
Le réseau de nœuds considéré est par exemple une architecture de micro-services, respectivement répartis sur potentiellement plusieurs machines, n'ayant par exemple pas les mêmes adresses entre eux, ne se trouvant par exemple pas tous sur le même réseau, ne présentant entre eux par exemple pas la même capacité de calcul. De plus, chaque micro-service peut avoir un temps de vie potentiellement indéfini. Le caractère hétérogène de cette architecture de micro- services la rend plus fragile par rapport aux événements impondérables, du type panne localisée, et donc délicate à gérer.  The network of nodes considered is for example an architecture of micro-services, respectively distributed on potentially several machines, having for example not the same addresses between them, not being for example not all on the same network, not presenting between them for example not the same computing capacity. In addition, each micro-service can have a potentially undefined life time. The heterogeneous nature of this micro-services architecture makes it more fragile compared to imponderable events, of the localized fault type, and therefore difficult to manage.
CONTEXTE DE L'INVENTION BACKGROUND OF THE INVENTION
Le réseau de nœuds, pour que ses nœuds communiquent entre eux, va d'abord dans une phase initiale interconnecter les nœuds entre eux, puis va ensuite dans une phase de mise à jour au cours de la vie du réseau maintenir et adapter les interconnections entre les nœuds du réseau. The network of nodes, so that its nodes communicate with each other, goes initially in an initial phase to interconnect the nodes between them, then goes in a phase of update during the life of the network to maintain and to adapt the interconnections between the nodes of the network.
Par exemple, le système de distribution de messages va faire communiquer des micro- services entre eux à travers un système de passage de messages. Pour cela, il peut utiliser une implémentation centrée sur un courtier de messages (« broker » en langue anglaise). Selon un premier art antérieur, il est connu un réseau de nœuds échangeant des messages en pair à pair (« peer to peer » en langue anglaise) et un procédé d'interconnexion associé, qui sont tous deux gérés par un dispositif central d'interconnexion. Un inconvénient de ce premier art antérieur est que ce dispositif central d'interconnexion constitue un maillon faible dans le réseau, un point simple de défaillance (SPF pour « single point of failure » en langue anglaise), dont une panne, même temporaire, va perturber le fonctionnement du réseau et dégrader notablement ses performances d'efficacité de transmission et de traitement de messages. For example, the message distribution system will communicate micro services between them through a message passing system. For this, it can use an implementation centered on a broker of messages ("broker" in English language). According to a first prior art, there is known a network of nodes exchanging messages in peer-to-peer ("peer to peer") and an associated interconnection method, which are both managed by a central interconnection device . A disadvantage of this first prior art is that this central interconnection device is a weak link in the network, a single point of failure (SPF), including a failure, even temporary, will disrupt the operation of the network and significantly degrade its performance of transmission efficiency and message processing.
Par exemple, le système à base de courtier de messages peut être centralisé (comme par exemple « RabbitMQ » ou « ActiveMQ »), mais il présente une limite importante, car ce système centralisé va constituer un point simple de défaillance qui peut perturber le fonctionnement du réseau et dégrader ses capacités.  For example, the message broker-based system can be centralized (such as "RabbitMQ" or "ActiveMQ"), but it has a significant limitation because this centralized system will be a single point of failure that can disrupt the operation. network and degrade its capabilities.
Selon un deuxième art antérieur, il est connu un réseau de nœuds échangeant des messages en pair à pair (« peer to peer » en langue anglaise) et un procédé d'interconnexion associé, qui sont tous deux sont totalement distribués. Un inconvénient de ce deuxième art antérieur est que la robustesse liée à ce caractère totalement distribué, en particulier dans un réseau de nœuds échangeant des messages en pair à pair, devient une faiblesse dès lors que la taille des messages échangés au sein du réseau devient importante, car un gros volume d'échanges de données totalement distribué, dans un type de communication en pair à pair, va avoir tendance à saturer le réseau et donc à également dégrader ses performances d'efficacité de transmission et de traitement de messages.  According to a second prior art, it is known a network of nodes exchanging messages in peer-to-peer ("peer to peer" in English) and an associated interconnection method, which are both fully distributed. A disadvantage of this second prior art is that the robustness related to this fully distributed character, in particular in a network of nodes exchanging peer-to-peer messages, becomes a weakness when the size of the messages exchanged within the network becomes important. because a large volume of fully distributed data exchange, in a type of peer-to-peer communication, will tend to saturate the network and therefore also degrade its performance in transmission efficiency and message processing.
Par exemple, le système à base de courtier de messages peut être distribué (comme par exemple « Kafka »), mais il présente une limite importante, car ce système distribué va devenir opérationnellement limité dès lors que la taille et le volume des messages qu'il devra faire passer deviendront trop importants. RESUME DE L'INVENTION For example, the message broker-based system can be distributed (as for example "Kafka"), but it has an important limitation, because this distributed system will become operationally limited as soon as the size and the volume of the messages that he will have to pass will become too important. SUMMARY OF THE INVENTION
Le but de la présente invention est de fournir un réseau de nœuds et/ou un procédé d'interconnexion palliant au moins partiellement les inconvénients précités. The object of the present invention is to provide a network of nodes and / or an interconnection method at least partially overcoming the aforementioned drawbacks.
Plus particulièrement, l'invention vise à fournir un réseau de nœuds et/ou un procédé d'interconnexion, pour lesquels un bon compromis entre robustesse de fonctionnement du réseau d'une part et efficacité de fonctionnement de ce réseau d'autre part est réalisé.  More particularly, the object of the invention is to provide a network of nodes and / or an interconnection method, for which a good compromise between robustness of operation of the network on the one hand and efficiency of operation of this network on the other hand is realized. .
En effet, d'une part la robustesse de fonctionnement du réseau va permettre au réseau de nœuds de continuer à fonctionner en permettant aux nœuds de ce réseau de continuer à échanger entre eux des messages même si un composant donné, par exemple un composant central, tombe en panne, au moins pour le cas d'une panne temporaire, cas le plus fréquent.  Indeed, on the one hand the robustness of operation of the network will allow the network of nodes to continue to operate by allowing the nodes of this network to continue to exchange messages with each other even if a given component, for example a central component, breaks down, at least in the case of a temporary breakdown, the most frequent case.
D'autre part, l'efficacité de fonctionnement de ce réseau va permettre au nœud de réseau de continuer à optimiser le temps de transmission et de traitement des messages échangés, même si un composant donné, par exemple un composant central, tombe en panne, au moins pour le cas d'une panne temporaire, cas le plus fréquent.  On the other hand, the operating efficiency of this network will allow the network node to continue to optimize the transmission and processing time of the messages exchanged, even if a given component, for example a central component, fails, at least for the case of a temporary breakdown, the most frequent case.
Afin de réaliser ce compromis entre robustesse de fonctionnement et efficacité de fonctionnement du réseau, l'invention propose un réseau dans lequel les nœuds producteurs, d'une part gèrent eux-mêmes chacun leur liste de nœuds consommateurs, garantissant ainsi leur autonomie par rapport à un éventuel point de défaillance dans le réseau, et d'autre part optimisent chacun leur liste de nœuds consommateurs en termes de temps de traitement de leurs messages produits, en supprimant, au moins temporairement de leur liste, les nœuds consommateurs trop lents à traiter les messages produits reçus de la part du nœud producteur correspondant à cette liste.  In order to achieve this compromise between robustness of operation and efficiency of network operation, the invention proposes a network in which the producing nodes, on the one hand each manage their list of consumer nodes, thus guaranteeing their autonomy with respect to a possible point of failure in the network, and on the other hand each optimize their list of consumer nodes in terms of processing time of their messages produced, by deleting, at least temporarily from their list, consumer nodes that are too slow to process the messages. received messages from the producer node corresponding to this list.
A cette fin, la présente invention propose un réseau informatique de nœuds communiquant entre eux par messages en pair à pair, des nœuds producteurs de message envoyant leurs messages produits vers des nœuds consommateurs de message, un nœud consommateur pouvant être également un nœud producteur à un autre niveau du réseau, caractérisé en ce que chaque nœud producteur de message : choisit, parmi les nœuds enregistrés comme actifs dans le réseau, ses nœuds consommateurs pour s'interconnecter avec eux, maintient à jour la liste de ses nœuds consommateurs interconnectés, gère la répartition de charge de ses messages produits vers ses nœuds consommateurs interconnectés, en fonction du temps de traitement, par ses nœuds consommateurs interconnectés, de ses messages produits, en envoyant ses messages produits surtout à ses nœuds consommateurs interconnectés à plus faible temps de traitement, modifie sa liste de nœuds consommateurs interconnectés en fonction du temps de traitement, par ses nœuds consommateurs interconnectés, de ses messages produits, en supprimant de sa liste au moins temporairement ses nœuds consommateurs interconnectés trop lents. To this end, the present invention proposes a computer network of nodes communicating with each other by peer-to-peer messages, message producing nodes sending their product messages to message consumer nodes, a consumer node that can be also a producer node at another level of the network, characterized in that each message producing node: chooses, among the nodes registered as active in the network, its consumer nodes to interconnect with them, maintains the list of its nodes interconnected consumer nodes, manages the load balancing of its product messages to its interconnected consumer nodes, as a function of processing time, by its interconnected consumer nodes, of its product messages, by sending its product messages especially to its more interconnected consumer nodes. low processing time, modifies its list of interconnected consumer nodes according to the processing time, by its interconnected consumer nodes, its messages produced, removing from its list at least temporarily its interconnected consumer nodes too slow.
A cette fin, la présente invention propose aussi un procédé d'interconnexion et de communication entre nœuds dans un réseau informatique selon l'invention.  To this end, the present invention also proposes a method of interconnection and communication between nodes in a computer network according to the invention.
A cette fin, la présente invention propose également un procédé d'interconnexion entre nœuds dans un réseau informatique de nœuds communiquant entre eux par messages en pair à pair, des nœuds producteurs de message envoyant leurs messages produits vers des nœuds consommateurs de message, un nœud consommateur pouvant être également un nœud producteur à un autre niveau du réseau, caractérisé en ce que chaque nœud producteur de message : choisit, parmi les nœuds enregistrés comme actifs dans le réseau, ses nœuds consommateurs pour s'interconnecter avec eux, maintient à jour la liste de ses nœuds consommateurs interconnectés, modifie sa liste de nœuds consommateurs interconnectés en fonction du temps de traitement, par ses nœuds consommateurs, de ses messages produits, en supprimant de sa liste au moins temporairement ses nœuds consommateurs interconnectés trop lents.  To this end, the present invention also proposes a method of interconnection between nodes in a computer network of nodes communicating with each other by peer-to-peer messages, message producing nodes sending their generated messages to message consumer nodes, a node a consumer which can also be a producer node at another level of the network, characterized in that each message producing node: chooses, from among the nodes registered as active in the network, its consumer nodes to interconnect with them, keeps up to date the list of its interconnected consumer nodes, modifies its list of interconnected consumer nodes according to the processing time, by its consumer nodes, of its generated messages, by deleting from its list at least temporarily its interconnected consumer nodes too slow.
Selon des modes de réalisation préférentiels de l'invention, le caractère très volumineux des données échangées et le caractère temps réel critique du traitement de ces données échangées rendent l'utilisation du réseau de nœuds selon l'invention ainsi que le procédé d'interconnexion associé particulièrement intéressants. According to preferred embodiments of the invention, the very large nature of the data exchanged and the critical real time character of the processing of these exchanged data make the use of node network according to the invention and the associated interconnection method particularly interesting.
Selon des modes de réalisation préférentiels de l'invention, le réseau va utiliser un système de passage de messages en pair à pair qui sera autoadaptatif et à haute résilience. Ce système va permettre d'établir une communication entre micro- services à travers un canal de communication fonctionnellement identique à un bus de données, mais dont l'implémentation est basée sur une communication directe entre les microservices eux-mêmes. Dans cette architecture, chaque micro-service est responsable du maintien de la liste de ses pairs dans le réseau, ainsi que de la répartition de charge lors de la distribution des messages vers ces pairs. Ce système permet de créer des flux de données entre micro-services qui vont être capables de résister à un changement d'échelle même important, tout en gardant une résilience forte en cas de disparition de nœuds ou en cas de coupure de liens de communication dans le réseau.  According to preferred embodiments of the invention, the network will use a peer-to-peer message passing system that will be self-adaptive and highly resilient. This system will make it possible to establish a communication between micro-services through a communication channel functionally identical to a data bus, but whose implementation is based on direct communication between the microservices themselves. In this architecture, each micro-service is responsible for maintaining the list of its peers in the network, as well as load distribution when distributing messages to these peers. This system makes it possible to create data flows between micro-services that will be able to withstand even a large scale change, while maintaining a strong resilience in the event of the disappearance of nodes or in the event of communication links being cut off. the network.
Suivant des modes de réalisation préférés, l'invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles, avec l'un ou l'autre des objets de l'invention précités.  According to preferred embodiments, the invention comprises one or more of the following features which can be used separately or in partial combination with one another or in total combination with one another, or with one or the other of the aforementioned objects of the invention. .
De préférence, les nœuds s'enregistrent comme actifs dans le réseau auprès d'un registre centralisé dans le réseau, lequel registre diffuse à au moins tous les nœuds producteurs actifs du réseau, de préférence à tous les nœuds actifs du réseau, la liste d'au moins tous les nœuds consommateurs actifs du réseau, de préférence la liste de tous les nœuds actifs du réseau. La diffusion (« broadcast » en langue anglaise) est un mode de communication différent de l'échange de messages en pair à pair (« peer to peer » en langue anglaise).  Preferably, the nodes register as active in the network with a centralized register in the network, which register diffuses to at least all the active producing nodes of the network, preferably to all the active nodes of the network, the list of at least all the active consumer nodes of the network, preferably the list of all the active nodes of the network. Broadcasting ("broadcast" in English) is a different type of communication from peer-to-peer messaging.
De préférence, ledit registre n'établit pour aucun nœud producteur particulier donné la liste de ses nœuds consommateurs interconnectés, et ledit registre n'envoie à aucun nœud producteur particulier donné la liste de ses nœuds consommateurs interconnectés. Un avantage est le fait, qu'une fois constitué, le réseau de nœuds devient autonome par rapport au service de registre sans lequel ce réseau peut ensuite fonctionner normalement temporairement pendant une panne de durée limitée de ce registre. Preferably, said register does not establish for a given particular producer node the list of its interconnected consumer nodes, and said register does not send to any particular producer node the list of its interconnected consumer nodes. An advantage is the fact that, once constituted, the network of nodes becomes autonomous with respect to the registry service without which this network can then operate normally temporarily during a failure of limited duration of this register.
Par contre, le bon fonctionnement du registre au moins une partie du temps reste utile, dans la mesure où seul le registre peut signaler aux différents nœuds producteurs les changements survenus dans la topologie du réseau, permettant ainsi à ces nœuds producteurs de mettre à jour chacun leur liste de nœuds consommateurs, permettant de cette manière à chaque nœud producteur de fonctionner avec une liste de nœuds consommateurs qui est optimisée en termes d'efficacité par rapport à la topologie instantanée du réseau de nœuds. Alternativement, la gestion de l'évolution de la topologie du réseau de manière distribuée au niveau de chaque nœud producteur reste possible, mais celle-ci réduirait l'efficacité de fonctionnement du réseau.  On the other hand, the good functioning of the register at least a part of the time remains useful, insofar as only the register can signal to the different producing nodes the changes occurring in the topology of the network, thus allowing these producing nodes to update each one. their list of consumer nodes, thereby allowing each producing node to operate with a list of consumer nodes that is optimized in terms of efficiency relative to the instant topology of the node network. Alternatively, the management of the evolution of the network topology in a distributed manner at each producing node remains possible, but this would reduce the operating efficiency of the network.
Ainsi, la distribution au niveau de chaque nœud producteur de la gestion de la liste de ses nœuds consommateurs d'une part associée à la gestion centralisée de la seule topologie du réseau avec sa mise à jour permanente d'autre part réalise une amélioration supplémentaire importante du compromis entre robustesse de fonctionnement et efficacité de fonctionnement du réseau.  Thus, the distribution at the level of each producer node of the management of the list of its consumer nodes on the one hand associated with the centralized management of the only topology of the network with its permanent update on the other hand realizes an important additional improvement. compromise between robustness of operation and efficiency of network operation.
De préférence, les nœuds s'enregistrent périodiquement comme actifs dans le réseau auprès du registre, dès lors qu'ils sont aptes à traiter des messages, la période d'enregistrement étant de préférence inférieure ou égale à 10 secondes, tout nœud actif qui manque au moins deux périodes d'enregistrement, de préférence au moins une période d'enregistrement, est supprimé de la liste des nœuds actifs par le registre. Ainsi, même si cet enregistrement périodique est un peu fastidieux pour chaque nœud consommateur, il permet en revanche d'améliorer encore le compromis entre robustesse de fonctionnement et efficacité de fonctionnement du réseau, dans la mesure où il a pour effet de supprimer temporairement tout nœud consommateur déficient, et de ne le supprimer que pendant à peu près la durée de sa déficience, à la durée d'une période d'enregistrement près. De préférence, chaque nœud producteur de message peut modifier sa liste de nœuds consommateurs interconnectés en y ajoutant éventuellement un nœud consommateur nouvellement enregistré si celui-ci est apte à consommer les messages produits par ledit nœud producteur. Ainsi, chaque nœud producteur peut augmenter sa liste de nœuds consommateurs en temps réel, et donc améliorer sa gestion de charge en termes de messages produits envoyés en temps réel également. Preferably, the nodes register periodically as active in the network with the register, as long as they are able to process messages, the recording period preferably being less than or equal to 10 seconds, any active node that is missing at least two recording periods, preferably at least one recording period, are deleted from the list of active nodes by the register. Thus, even if this periodic recording is a little tedious for each consumer node, it allows on the other hand to further improve the compromise between robustness of operation and efficiency of network operation, insofar as it has the effect of temporarily removing any node a deficient consumer, and to suppress it only for approximately the duration of his disability, for the duration of a close registration period. Preferably, each message producing node can modify its list of interconnected consumer nodes by possibly adding a newly registered consumer node if it is able to consume messages produced by said producer node. Thus, each producing node can increase its list of consumer nodes in real time, and thus improve its load management in terms of product messages sent in real time as well.
De préférence, chaque nœud consommateur envoie, au moins pour certains messages reçus d'un nœud producteur, son temps de traitement de ces messages ou bien un poids représentatif de son temps de traitement de ces messages, représentatif de la différence entre l'arrivée de ces messages au niveau dudit nœud consommateur et leur départ dudit nœud consommateur éventuellement après transformation, et de préférence chaque nœud producteur ajoute une requête d'évaluation de temps de traitement dans tout ou partie des messages qu'il envoie à chacun de ses nœuds consommateurs interconnectés. De cette manière, chaque nœud consommateur peut mettre à jour les performances de tous les nœuds consommateurs de sa liste et adapter la gestion de charge de ses messages produits en conséquence, le tout aussi souvent qu'il veut, il lui suffit pour cela de choisir la proportion de ses messages produits à laquelle il ajoute une requête d'évaluation de temps de traitement.  Preferably, each consumer node sends, at least for some messages received from a producer node, its processing time of these messages or a representative weight of its processing time of these messages, representative of the difference between the arrival of these messages at said consumer node and their departure from said consumer node possibly after transformation, and preferably each producer node adds a processing time evaluation request in all or part of the messages that it sends to each of its interconnected consumer nodes . In this way, each consumer node can update the performance of all consumer nodes in its list and adapt the load management of its messages produced accordingly, just as often as it wants, it is sufficient for it to choose the proportion of his product messages to which he adds a request for evaluation of processing time.
De préférence, chaque nœud producteur de message gère la répartition de charge de ses messages produits vers ses nœuds consommateurs interconnectés, en fonction des temps de traitement ou bien des poids envoyés par ses nœuds consommateurs interconnectés, envoyant plus de messages produits vers les nœuds consommateurs interconnectés dont les temps de traitement sont plus faibles ou bien les poids correspondent à des temps de traitement plus faibles. Ainsi chaque nœud producteur améliore la gestion de charge de ses messages produits, améliorant ainsi l'efficacité globale de transmission des messages produits et de leur traitement dans le réseau. De préférence, chaque nœud producteur calcule un poids moyen glissant au cours du temps, pour chacun de ses nœuds consommateurs interconnectés, qu'il utilise pour gérer la répartition de charge de ses messages produits vers ses nœuds consommateurs interconnectés. De cette manière, le paramètre calculé est d'une part bien représentatif de la vitesse de traitement des messages produits reçus par un nœud consommateur, tout en lissant les variations ponctuelles peu représentatives de ce paramètre, diminuant les risques d'instabilité et de divergence d'asservissement en fonction des variations de ce paramètre. Preferably, each message producing node manages the load balancing of its product messages to its interconnected consumer nodes, based on the processing times or weights sent by its interconnected consumer nodes, sending more product messages to the interconnected consumer nodes. whose treatment times are lower or the weights correspond to lower processing times. Thus each producing node improves the load management of its product messages, thus improving the overall efficiency of transmission of the messages produced and their processing in the network. Preferably, each producer node calculates a sliding average weight over time for each of its interconnected consumer nodes, which it uses to manage the load balancing of its product messages to its interconnected consumer nodes. In this way, the calculated parameter is on the one hand well representative of the processing speed of the messages received by a consumer node, while smoothing point variations not representative of this parameter, reducing the risks of instability and divergence of enslavement according to the variations of this parameter.
De préférence, chaque nœud producteur charge ses nœuds consommateurs interconnectés de manière aléatoire pondérée, de sorte que la probabilité pour ses nœuds consommateurs interconnectés de recevoir un message produit par ledit nœud producteur, dépend d'un tirage aléatoire qui est pondéré par les poids desdits nœuds consommateurs interconnectés. Cette gestion de charge aléatoire pondérée réalise un bon compromis entre d'une part l'utilisation équitable et répartie de tous les nœuds consommateurs disponibles, facteur d'amélioration de la robustesse de fonctionnement du réseau en évitant de surcharger des nœuds consommateurs très performants pour éviter leur effondrement facteur d'instabilité dans le réseau, et d'autre part l'efficacité de fonctionnement du réseau en utilisant en priorité et plus souvent les nœuds consommateurs les plus rapides.  Preferably, each producer node loads its interconnected consumer nodes in a weighted random manner, so that the probability for its interconnected consumer nodes to receive a message produced by said producer node depends on a random draw which is weighted by the weights of said nodes. interconnected consumers. This weighted random load management achieves a good compromise between the fair and distributed use of all available consumer nodes, a factor that improves the robustness of network operation by avoiding overloading high-performance consumer nodes to avoid their collapse factor of instability in the network, and secondly the operating efficiency of the network by using priority and more often the fastest consumer nodes.
De préférence, chaque nœud est un micro-service qui échange des messages avec au moins un autre nœud, chaque micro-service étant soit un processeur qui traite des données reçues d'un nœud du réseau pour envoyer ensuite ces données traitées à un autre nœud du réseau, de préférence ledit traitement se réduisant à une seule tâche de traitement réalisée sur ces données, soit une source qui produit des données à injecter dans le réseau vers au moins un processeur, soit un puits qui exporte les données traitées par au moins un processeur vers un système tiers au réseau. Ce type de réseau est particulièrement adapté à l'utilisation de l'invention, dans la mesure où ses nœuds réalisent beaucoup d'opérations relativement simples sur beaucoup de données. Preferably, each node is a micro-service that exchanges messages with at least one other node, each micro-service being either a processor that processes data received from one node of the network to then send that processed data to another node of the network, preferably said processing being reduced to a single processing task performed on these data, either a source that produces data to be injected into the network to at least one processor, or a sink that exports the processed data by at least one processor to a third-party system on the network. This type of network is particularly adapted to the use of the invention, in the as its nodes perform a lot of relatively simple operations on a lot of data.
De préférence, au moins l'un des processeurs, de préférence la majorité des processeurs, encore plus de préférence tous les processeurs, filtre les données reçues et les aiguille ensuite vers différents types de nœuds dans le réseau. C'est un exemple particulièrement représentatif de réalisations d'opérations simples en grand nombre sur un gros volume de données.  Preferably, at least one of the processors, preferably the majority of the processors, still more preferably all the processors, filters the received data and then routes them to different types of nodes in the network. This is a particularly representative example of simple operations achievements in large numbers on a large volume of data.
De préférence, un type de nœud producteur est un filtre qui sépare les messages reçus en fonction d'un critère à remplir, pour les aiguiller vers trois types de nœuds consommateurs respectivement selon que ledit critère est rempli, ou pas rempli, ou peut-être rempli. Là encore voilà une opération simple, mais à réaliser très vite et un grand nombre de fois.  Preferably, a type of producer node is a filter which separates the received messages according to a criterion to be filled, to direct them towards three types of consumer nodes respectively according to whether said criterion is fulfilled, or not filled, or perhaps filled. Here again is a simple operation, but to achieve very quickly and a lot of times.
Dans un premier mode de réalisation préférentiel, les messages sont représentatifs de transactions bancaires, le critère est le caractère frauduleux ou non d'une transaction bancaire. Le caractère très volumineux des données échangées et le caractère temps réel critique du traitement de ces données échangées rendent l'utilisation du réseau de nœuds selon l'invention ainsi que le procédé d'interconnexion associé particulièrement intéressants.  In a first preferred embodiment, the messages are representative of banking transactions, the criterion is the fraudulent nature or not of a banking transaction. The very large character of the exchanged data and the critical real time character of the processing of these exchanged data make the use of the node network according to the invention as well as the associated interconnection method particularly interesting.
Dans un deuxième mode de réalisation préférentiel, les messages sont représentatifs d'images filmées par des caméras de vidéosurveillance, le critère est le caractère de présence ou d'absence de risque délictuel lié au contenu d'une image filmée ou d'une séquence d'images filmées par ces caméras de vidéosurveillance. Le caractère très volumineux des données échangées et le caractère temps réel critique du traitement de ces données échangées rendent l'utilisation du réseau de nœuds selon l'invention ainsi que le procédé d'interconnexion associé particulièrement intéressants.  In a second preferred embodiment, the messages are representative of images filmed by CCTV cameras, the criterion is the character of presence or absence of delictual risk related to the content of a filmed image or a sequence of images. images filmed by these CCTV cameras. The very large character of the exchanged data and the critical real time character of the processing of these exchanged data make the use of the node network according to the invention as well as the associated interconnection method particularly interesting.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d'un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. BREVE DESCRIPTION DES DESSINS Other features and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of example and with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
La figure 1 représente schématiquement un exemple d'une partie de réseau selon un mode de réalisation de l'invention. Figure 1 schematically shows an example of a network part according to one embodiment of the invention.
La figure 2 représente schématiquement un exemple d'une partie de réseau selon un mode de réalisation de l'invention.  FIG. 2 diagrammatically represents an example of a network part according to one embodiment of the invention.
La figure 3 représente schématiquement un exemple d'une partie de réseau selon un mode de réalisation de l'invention.  Figure 3 schematically shows an example of a network part according to one embodiment of the invention.
La figure 4 représente schématiquement un exemple d'échelle des poids cumulés permettant une gestion des pois des nœuds consommateurs dans un réseau selon un mode de réalisation de l'invention.  FIG. 4 schematically represents an example of a scale of the cumulative weights allowing management of the peas of the consumer nodes in a network according to one embodiment of the invention.
DESCRIPTION DETAILLEE DE L'INVENTION La figure 1 représente schématiquement un exemple d'une partie de réseau selon un mode de réalisation de l'invention. DETAILED DESCRIPTION OF THE INVENTION FIG. 1 schematically represents an example of a network portion according to one embodiment of the invention.
Le réseau 6 comprend des nœuds producteurs 1 et des nœuds consommateurs 2. Dans le réseau 6 sont représentés les nœuds A, B, C et D. Ici, le nœud A est un nœud producteur 1. Le nœud B est un nœud consommateur 2 au niveau de la liaison entre les nœuds A et B dans le réseau 6, tandis que ce même nœud B est un nœud producteur 1 au niveau de la liaison entre les nœuds B et C dans le réseau 6 tout comme au niveau de la liaison entre les nœuds B et D dans le réseau 6. Le nœud B est un nœud producteur 1 ou bien un nœud consommateur 2, selon le niveau du réseau 6 considéré. En revanche ici, le nœud A n'est qu'un nœud producteur The network 6 comprises producing nodes 1 and consuming nodes 2. In the network 6 are represented the nodes A, B, C and D. Here, the node A is a producer node 1. The node B is a consumer node 2 at the level of the link between the nodes A and B in the network 6, while the same node B is a producer node 1 at the link between the nodes B and C in the network 6 as well as at the link between the nodes. nodes B and D in the network 6. Node B is a producer node 1 or a consumer node 2, depending on the level of the network 6 considered. On the other hand here, node A is only a producer node
1, tandis que les nœuds C et D ne sont que des nœuds consommateurs 2. 1, while the nodes C and D are only consumer nodes 2.
Un registre 3 diffuse vers tous les nœuds A, B, C et D du réseau 6, initialement la topologie d'origine du réseau 6, puis chaque mise à jour de cette topologie au cours de la vie du réseau 6. Au niveau de la liaison entre les nœuds A et B dans le réseau 6, les messages produits par le nœud producteur A vont vers le nœud consommateur B et ne circulent que dans ce sens, pour être consommés par le nœud consommateur B. Au niveau de la liaison entre les nœuds B et C dans le réseau 6, les messages produits par le nœud producteur B vont vers le nœud consommateur C et ne circulent que dans ce sens, pour être consommés par le nœud consommateur C. Au niveau de la liaison entre les nœuds B et D dans le réseau 6, les messages produits par le nœud producteur B vont vers le nœud consommateur D et ne circulent que dans ce sens, pour être consommés par le nœud consommateur D. A register 3 broadcasts to all the nodes A, B, C and D of the network 6, initially the original topology of the network 6, then each update of this topology during the life of the network 6. At the level of the link between the nodes A and B in the network 6, the messages produced by the producer node A go to the consumer node B and only circulate in this direction, to be consumed by the consumer node B. At the level of the link between the nodes B and C in the network 6, the messages produced by the producer node B go to the consumer node C and only circulate in this direction, to be consumed by the consumer node C. At the link between the nodes B and D in the network 6, the messages produced by the producer node B go to the consumer node D and only circulate in this direction, to be consumed by the consumer node D.
Chaque nœud producteur 1 maintient une liste des nœuds consommateurs 2 à qui il peut avoir à transmettre des messages dans le cadre du flux auquel il appartient. Dans le flux de la figure 1, le nœud A connaît le nœud B auquel il transmet les messages qu'il produit. Le nœud B connaît les nœuds C et D auxquels il transmet les messages qu'il produit, chaque message étant envoyé soit au nœud C soit au nœud D.  Each producer node 1 maintains a list of consumer nodes 2 to which it may have to transmit messages as part of the flow to which it belongs. In the flow of FIG. 1, the node A knows the node B to which it transmits the messages that it produces. Node B knows the nodes C and D to which it transmits the messages it produces, each message being sent to either node C or node D.
Cette liste de nœuds consommateurs 2 est initialisée par une requête à un registre 3 auquel s'inscrit chaque nœud producteur 1 ou consommateur 2 à son instanciation. Ce registre 3 n'est utile que lorsqu'un changement intervient dans la topologie des nœuds. Ainsi, si le registre 3 disparaît, par exemple s'il est détérioré ou si son lien avec le réseau 6 devient inopérant, le fonctionnement du flux représenté à la figure 1 n'est pas impacté.  This list of consumer nodes 2 is initialized by a request to a register 3 to which each producer node 1 or consumer 2 belongs at its instantiation. This register 3 is only useful when a change occurs in the topology of the nodes. Thus, if the register 3 disappears, for example if it is damaged or if its link with the network 6 becomes inoperative, the operation of the flow represented in FIG. 1 is not affected.
Chaque nœud producteur 1 ou consommateur 2 s'inscrit, à son instanciation, dans le registre 3. Il enverra par la suite une nouvelle requête d'enregistrement à intervalle régulier, par exemple toutes les 5 ou 10 secondes, auprès du registre 3. De cette manière, si le registre 3 devient défaillant, ce nœud 1 ou 2 recevra rapidement la topologie complète du réseau 6 de nœuds lors de la ré-instanciation de ce registre 3.  Each producer node 1 or consumer 2 register, at its instantiation, in the register 3. It will send thereafter a new registration request at regular intervals, for example every 5 or 10 seconds, with the register 3. From this way, if the register 3 becomes faulty, this node 1 or 2 will quickly receive the complete topology of the network 6 of nodes during the re-instantiation of this register 3.
La figure 2 représente schématiquement un exemple d'une partie de réseau selon un mode de réalisation de l'invention. La partie du réseau 6 est d'abord montrée à un temps T0 et ensuite à un temps Tl.  FIG. 2 diagrammatically represents an example of a network part according to one embodiment of the invention. The part of the network 6 is first shown at a time T0 and then at a time T1.
A un temps T0, le nœud A est interconnecté avec le nœud B et le nœud B est interconnecté avec le nœud C. Le nœud A envoie des messages vers le nœud B qui envoie des messages vers le nœud C.  At a time T0, the node A is interconnected with the node B and the node B is interconnected with the node C. The node A sends messages towards the node B which sends messages towards the node C.
Ensuite, le registre 3 diffuse l'information que le nœud D s'est enregistré auprès de lui. Ni le nœud A, ni le nœud C, ne s'interconnectent avec le nœud D. En revanche le nœud B s'interconnecte avec le nœud D. Au temps Tl, le nœud A est interconnecté avec le nœud B et le nœud B est interconnecté avec les nœuds C et D. Le nœud A envoie des messages vers le nœud B qui envoie des messages vers soit le nœud C soit le nœud D. Then, register 3 broadcasts the information that node D has registered with it. Neither node A nor node C interconnect with node D. On the other hand, the node B is interconnected with the node D. At time T1, the node A is interconnected with the node B and the node B is interconnected with the nodes C and D. The node A sends messages to node B that sends messages to either node C or node D.
Le registre 3 a pour rôle d'émettre tous les événements qu'il traite en diffusion à tous les nœuds 1 et 2 du réseau 6 qu'il connaît. Ainsi, lorsqu'un nouveau nœud 1 ou 2 se déclare, tous les autres nœuds 1 ou 2 en sont informés et les nœuds producteurs 1 choisissent de s'y connecter selon que ce nouveau nœud fait partie de leur flux ou pas.  The register 3 has the role of transmitting all the events it processes broadcast to all the nodes 1 and 2 of the network 6 that it knows. Thus, when a new node 1 or 2 is declared, all the other nodes 1 or 2 are informed and the producer nodes 1 choose to connect to it depending on whether this new node is part of their stream or not.
Sur la figure 2, par exemple au temps Tl, le nœud D se déclare, le registre 3 diffuse l'information. Le nœud A ne se connecte pas au nœud D, le nœud B se connecte au nœud D car le nœud D fait partie du type de service compris dans son flux.  In FIG. 2, for example at the time T1, the node D is declared, the register 3 broadcasts the information. Node A does not connect to Node D, Node B connects to Node D because Node D is part of the type of service included in its flow.
Chaque nœud consommateur 2 maintient le temps de réponse médian sur une fenêtre glissante de N envois de messages, qui est appelée Tmed. Lors de l'envoi d'un message vers un nœud consommateur 2, si ce nœud consommateur 2 cible n'a pas répondu au bout de 2*Tmed, la requête est abandonnée. Cette requête sera immédiatement réémise dans les mêmes conditions. Au bout d'un certain nombre de telles réémissions, par exemple au bout de 2 ou 3 réémissions, l'envoi du message est considéré comme échoué et le nœud consommateur 2 cible est retiré de la liste de nœuds consommateurs 2 cibles du nœud producteur 1 ayant tenté de manière infructueuse de lui envoyer des messages. Ce mode opératoire permet d'éliminer rapidement les nœuds consommateurs 2 dont le temps de réponse devient anormalement élevé. Ces nœuds consommateurs 2 supprimés vont pouvoir par la suite se réenregistrer auprès du registre 3, lorsqu'ils seront redevenus opérationnels et qu'ils pourront à nouveau garantir un temps raisonnable de traitement des messages reçus de la part des nœuds producteurs 1. Le registre 3 va diffuser cette information qui sera à son tour interceptée par le nœud producteur 1 qui est émetteur de messages. Ce mécanisme permet donc d'exclure temporairement les nœuds consommateurs 2 défaillants ou soudainement trop lents, avant de les réintégrer dans le flux, une fois qu'ils sont redevenus opérationnels. Each consumer node 2 maintains the median response time on a sliding window of N message sends, which is called Tmed. When sending a message to a consumer node 2, if this target consumer node 2 has not responded after 2 * Tmed, the request is aborted. This request will be immediately reissued under the same conditions. After a certain number of such re-transmissions, for example after 2 or 3 retransmissions, the sending of the message is considered as failed and the target consumer node 2 is removed from the list of target consumer nodes 2 of the producer node 1 unsuccessfully trying to send him messages. This procedure makes it possible to quickly eliminate the consumer nodes 2 whose response time becomes abnormally high. These deleted consumer nodes 2 will then be able to re-register with the register 3, when they will be operational again and they will again be able to guarantee a reasonable time of processing of the messages received from the producer nodes 1. The register 3 will broadcast this information which will in turn be intercepted by the producer node 1 which is transmitting messages. This mechanism makes it possible to temporarily exclude the nodes consumers 2 failing or suddenly too slow, before reintegrating them into the flow, once they become operational again.
Dans un réseau 6 de type architecture de micro-services organisés en flux et communiquant entre eux de sorte que chaque micro-service producteur de messages gère sa propre liste de micro-services consommateurs de messages, la perte, au moins temporaire, du registre 3 n'a pas d'impact sur le fonctionnement du réseau 6. Le registre 3 sert à distribuer la connaissance de la topologie des micro-services, mais une fois celle-ci acquise, le réseau 6 devient autonome pour son fonctionnement, et n'a à nouveau besoin du registre 3 que lors d'un changement de topologie du réseau 6.  In a micro-service architecture network 6 organized in flow and communicating with each other so that each message producing micro-service manages its own list of micro-services consumers of messages, the loss, at least temporary, of the register 3 has no impact on the operation of the network 6. The register 3 is used to distribute the knowledge of the topology of micro-services, but once it acquired, the network 6 becomes autonomous for its operation, and n ' again needs register 3 only when changing network topology 6.
La figure 3 représente schématiquement un exemple d'une partie de réseau selon un mode de réalisation de l'invention.  Figure 3 schematically shows an example of a network part according to one embodiment of the invention.
Le réseau 6 comprend des nœuds producteurs 1 et des nœuds consommateurs 2. Dans le réseau 6 sont représentés les nœuds PI, P2, Cl, C2 et C3. Ici, les nœuds PI et P2 sont des nœuds producteurs 1, au niveau de liaisons considérées. Ici les nœuds Cl, C2 et C3, sont des nœuds consommateurs 2, au niveau de liaisons considérées.  The network 6 comprises producer nodes 1 and consumer nodes 2. In the network 6 are represented the nodes PI, P2, C1, C2 and C3. Here, the nodes PI and P2 are producing nodes 1, at the level of links considered. Here, the nodes C1, C2 and C3 are consumer nodes 2, at the level of links considered.
Un registre 3 diffuse vers tous les nœuds PI, P2, Cl, C2 et C3 du réseau 6, initialement la topologie d'origine du réseau 6, puis chaque mise à jour de cette topologie au cours de la vie du réseau 6.  A register 3 diffuses to all the nodes PI, P2, C1, C2 and C3 of the network 6, initially the original topology of the network 6, then each update of this topology during the life of the network 6.
Les messages produits par le nœud producteur PI vont vers les nœuds consommateurs Cl et C2, et ne circulent que dans ce sens, pour être consommés par les nœuds consommateurs Cl et C2. Les messages produits par le nœud producteur P2 vont vers les nœuds consommateurs Cl, C2 et C3, et ne circulent que dans ce sens, pour être consommés par les nœuds consommateurs Cl, C2 et C3.  The messages produced by the producer node PI go to the consumer nodes C1 and C2, and only circulate in this direction, to be consumed by the consumer nodes C1 and C2. The messages produced by the producer node P2 go to the consumer nodes C1, C2 and C3, and only circulate in this direction, to be consumed by the consumer nodes C1, C2 and C3.
Sur une telle architecture possédant N nœuds producteurs 1, c'est-à- dire envoyant des messages, ainsi que M nœuds consommateurs 2, c'est-à- dire recevant ces messages, il est utile de répartir intelligemment la charge de travail entre les différents nœuds. La répartition de charge est une technique utilisée par les réseaux de taille importante afin d'équilibrer la sollicitation des serveurs. Le réseau 6 selon l'invention a mis en place une répartition dynamique, intelligente et adaptative des charges. On such an architecture having N producing nodes 1, that is to say sending messages, as well as M consumer nodes 2, that is to say receiving these messages, it is useful to intelligently distribute the workload between the different nodes. Load balancing is a technique used by large networks to balance the solicitation of the servers. The network 6 according to the invention has set up a dynamic, intelligent and adaptive load distribution.
Chaque nœud producteur 1, par exemple un micro- service producteur 1, possède un module de répartition de charge qui se greffe au niveau de son interface de sortie et qui communique avec l'interface d'entrée de chacun des nœuds consommateurs 2 de sa liste, par exemple des micro-services consommateurs 2. Chacun des N nœuds producteurs 1 connaît sa liste de nœuds consommateurs 2 parmi les M nœuds consommateurs 2, tous les M nœuds consommateurs 2 possédant à l'initialisation un poids identique, par exemple de valeur 1.  Each producer node 1, for example a producer micro-service 1, has a load distribution module which is grafted at its output interface and which communicates with the input interface of each of the consumer nodes 2 of its list. , for example consumer micro-services 2. Each of the N producer nodes 1 knows its list of consumer nodes 2 among the M consumer nodes 2, all M consumer nodes 2 having at initialization an identical weight, for example a value of 1 .
Toutes les q secondes, par exemple toutes les 5 secondes, chaque nœud producteur 1 va placer, à l'intérieur de certains de ses messages produits et envoyés, un entête spécifiant une demande d'évaluation du temps de traitement pour le message considéré. Ainsi les nœuds consommateurs 2 auront des poids qui sont dynamiques car ceux-ci sont recalculés régulièrement.  Every q seconds, for example every 5 seconds, each producing node 1 will place, within some of its messages produced and sent, a header specifying a request for evaluation of the processing time for the message considered. Thus consumer nodes 2 will have weights that are dynamic because they are recalculated regularly.
Chaque nœud consommateur 2 possède une file d'attente de messages à traiter, ainsi qu'une fonction de traitement qui consomme ces messages les uns après les autres.  Each consumer node 2 has a queue of messages to be processed, as well as a processing function that consumes these messages one after the other.
Dès qu'un message intégrant une demande d'évaluation de temps de traitement est inséré dans la queue, on lui étiquette son heure système d'arrivée, et dès qu'il sortira de la fonction de traitement, on lui étiquettera son heure système de départ, la différence entre cette heure système de départ et cette heure système d'arrivée correspondant au temps de traitement du message par ce nœud consommateur 2.  As soon as a message incorporating a processing time request is inserted into the queue, it is labeled its system arrival time, and as soon as it leaves the processing function, it will be labeled its system time of initially, the difference between this system start time and this arrival system time corresponding to the message processing time by this consumer node 2.
En guise de message d'acquittement, le nœud consommateur 2 répond au nœud producteur 1 ayant envoyé le message traité, en lui renvoyant préférentiellement un paramètre représentatif de la différence entre son temps de départ et son temps d'arrivée, par exemple un poids, ou bien alternativement, le temps de traitement lui-même.  As an acknowledgment message, the consumer node 2 responds to the producer node 1 having sent the processed message, preferably returning to it a parameter representative of the difference between its start time and its arrival time, for example a weight, alternatively, the treatment time itself.
Ici, de cette différence, est généré un poids proportionnel à la vitesse d'exécution du nœud consommateur 2. Soit le poids d'un nœud consommateur i :
Figure imgf000017_0001
Here, from this difference, a weight is generated proportional to the execution speed of the consumer node 2. Let the weight of a consumer node i:
Figure imgf000017_0001
ce qui correspond à la formule (1).  which corresponds to formula (1).
Ce poids est mis à jour dans la table des nœuds consommateurs du nœud producteur concerné. Chaque nœud producteur récolte indépendamment les informations de charge de chaque nœud consommateur. Chaque nœud producteur maintient donc sa propre table de poids de nœuds consommateurs qui peut donc être différente de celle des autres nœuds producteurs.  This weight is updated in the consumer node table of the producing node concerned. Each producer node independently harvests the load information of each consumer node. Each producer node therefore maintains its own weight table of consumer nodes, which can therefore be different from that of the other producing nodes.
Afin d'obtenir un poids précis, l'invention utilise préférentiellement la notion de poids moyen glissant, défini par la moyenne des poids sur une fenêtre de temps δ, définissant un nombre d'itérations permettant de calculer une moyenne glissante, donné pour un nœud consommateur en particulier :  In order to obtain a precise weight, the invention preferentially uses the notion of sliding average weight, defined by the average of the weights over a time window δ, defining a number of iterations making it possible to calculate a sliding average, given for a node consumer in particular:
Si ' Î W^ W^ Wi^ Win }  If '^ W ^ W ^ Wi ^ Win}
ce qui correspond à la formule (2).  which corresponds to formula (2).
Soit le poids moyen glissant du consommateur i, noté Wigliss, pour un ensemble de mesures de taille n: et Wigliss = 1 pour n = 0 Let the average sliding weight of the consumer i, noted Wigliss, for a set of measurements of size n: and Wigliss = 1 for n = 0
Figure imgf000017_0002
Figure imgf000017_0002
ce qui correspond à la formule (3).  which corresponds to formula (3).
Ce poids glissant sert à pondérer le tirage aléatoire qui sert à choisir le nœud consommateur destinataire du prochain message.  This sliding weight is used to weight the random draw used to select the destination consumer node of the next message.
La pondération se fait par comparaison de la valeur tirée avec une échelle sur laquelle sont positionnés les nœuds consommateurs en fonction de leur poids.  The weighting is done by comparing the value drawn with a scale on which the consumer nodes are positioned according to their weight.
Cette échelle va de 0 à la valeur de la somme des Wigliss. La valeur de chaque borne de l'échelle est calculée en fonction des valeurs cumulées des bornes précédentes.  This scale goes from 0 to the value of the sum of Wigliss. The value of each terminal of the scale is calculated according to the accumulated values of the previous terminals.
Avec N le nombre de nœuds consommateurs :  With N the number of consumer nodes:
Pour i de 0 à N— 1: Borne^ = Borne^! + Wigliss et Borne0 = 0 Par exemple, si l'on reprend la partie de réseau de la figure 3, on obtient le calcul suivant. For i from 0 to N-1: Borne ^ = Borne ^ ! + Wigliss and Bound 0 = 0 For example, if we take the network part of Figure 3, we obtain the following calculation.
Après initialisation du réseau, les nœuds producteurs PI et P2 ont tous les deux la même table de poids :  After initialization of the network, the producer nodes PI and P2 both have the same weight table:
TABLE 1 TABLE 1
Figure imgf000018_0001
Figure imgf000018_0001
Lors d'une première itération, les poids sont cumulés sur une échelle, et l'on obtient la table 2. During a first iteration, the weights are cumulated on a scale, and we obtain the table 2.
TABLE 2
Figure imgf000018_0002
TABLE 2
Figure imgf000018_0002
Pour l'envoi de leur prochain message, les nœuds producteurs PI et P2 tirent une valeur entre 0 et 3. Si cette valeur vaut entre 0 et 1, le prochain message sera envoyé au nœud consommateur Cl, si la valeur est entre 1 et 2, le message sera envoyé au nœud consommateur C2, si la valeur est entre 2 et 3, le message sera envoyé au nœud consommateur C3. Par convention, si la valeur vaut exactement 1, elle sera envoyée au nœud consommateur Cl, et si la valeur vaut exactement 2, elle sera envoyée au nœud consommateur C2. To send their next message, the producer nodes PI and P2 derive a value between 0 and 3. If this value is between 0 and 1, the next message will be sent to the consumer node C1, if the value is between 1 and 2. , the message will be sent to the consumer node C2, if the value is between 2 and 3, the message will be sent to the consumer node C3. By convention, if the value is exactly 1, it will be sent to the consumer node C1, and if the value is exactly 2, it will be sent to the consumer node C2.
Considérons par exemple, comme valeur de tirage 1.5 pour le nœud producteur PI et 2.2 pour le nœud producteur P2. Le nœud producteur PI envoie donc son message au nœud consommateur C2, tandis que le nœud producteur P2 envoie son message au nœud consommateur C3. Le nœud consommateur C2 répond en 5 secondes au nœud producteur PI et le nœud consommateur C3 répond en 2 secondes au nœud producteur P2. For example, consider the draw value 1.5 for the producer node PI and 2.2 for the producer node P2. The producer node PI sends its message to the consumer node C2, while the producer node P2 sends its message to the consumer node C3. The consumer node C2 responds in 5 seconds to the producer node PI and the consumer node C3 responds in 2 seconds to the producer node P2.
En appliquant les formules (1), (2) et (3) présentées ci-dessus, on obtient pour le nœud producteur PI :  Applying the formulas (1), (2) and (3) presented above, for the producer node PI, we obtain:
1 1  1 1
Wc2 o = ; — = - = 0.2 W c2 o =; - = - = 0.2
n.arrivee n.depart ^  n.arrivee n.depart ^
ôc2 = { 0.2 } ô c2 = {0.2}
1  1
Wc2gliss = - * Wc2 0 = 0.2 W c2 gliss = - * W c2 0 = 0.2
et pour le nœud producteur P2 :  and for the producer node P2:
1 1  1 1
Wc3 o = ; — = j = 0.5 W c3 o =; - = j = 0.5
n.arrivee ^-i.depart ^  n.arrivee ^ -i.depart ^
ôc3 : { 0.5 } O C3 : {0.5}
Wc3gliss = - * Wc3 0 = 0.5 W c3 gliss = - * W c3 0 = 0.5
Les nœuds producteurs PI et P2 ont maintenant des poids différents pour chacun des nœuds consommateurs Cl, C2 et C3, ce qui donne la table 3.  The producer nodes PI and P2 now have different weights for each of the consumer nodes C1, C2 and C3, which gives the table 3.
TABLE 3 TABLE 3
Figure imgf000019_0001
Figure imgf000019_0001
Lors d'une deuxième itération, les poids sont cumulés sur une échelle est mise à jour, et l'on obtient la table 4. In a second iteration, weights are accumulated on a scale that is updated, and we get table 4.
TABLE 4 TABLE 4
Cl C2 C3C1 C2 C3
PI 0 1 1.2 2.2PI 0 1 1.2 2.2
P2 0 1 2 2.5 Le nouveau tirage aléatoire donne une valeur de 1.1 pour le nœud producteur PI et une valeur 0.3 pour le nœud producteur P2. P2 0 1 2 2.5 The new random draw gives a value of 1.1 for the producer node PI and a value 0.3 for the producer node P2.
Le nœud producteur PI envoie donc son message au nœud consommateur C2 et le nœud producteur P2 envoie son message au nœud consommateur Cl.  The producer node PI sends its message to the consumer node C2 and the producer node P2 sends its message to the consumer node C1.
Le nœud consommateur C2 répond au nœud producteur PI en 2secondes et le nœud consommateur Cl répond au nœud producteur P2 en 10 secondes.  The consumer node C2 responds to the producer node PI in 2 seconds and the consumer node C1 responds to the producer node P2 in 10 seconds.
En appliquant de nouveau les formules (1), (2) et (3) pour le nœud producteur PI, on obtient :  Applying the formulas (1), (2) and (3) again for the producer node PI, we obtain:
1 1  1 1
Wc2 ! = — = - = 0.5 W c2! = - = - = 0.5
ti.arrivee ^-i.depart ^  ti.arrivee ^ -i.depart ^
ôc2 = { 0.2, 0.5 } o c2 = {0.2, 0.5}
Wc2gliss = - * (Wc2 0 + Wc2 1) = 0.35 W c2 gliss = - * (W c2 0 + W c2 1 ) = 0.35
et pour le nœud producteur P2, on obtient :  and for the producer node P2, we obtain:
1 1  1 1
WCL o = = —— = 0.1W CL o = = - = 0.1
.arrivee .depart -L U .arrivee .depart - LU
6C1 : { 0.1 } 6 C1 : {0.1}
Wclgliss = * Wc1 0 = 0.1 W cl gliss = * W c1 0 = 0.1
Les nœuds producteurs PI et P2 ont maintenant des poids à nouveau modifiés pour les nœuds consommateurs Cl, C2 et C3, ce qui donne la table  The PI and P2 producer nodes now have weights again modified for the consumer nodes C1, C2 and C3, which gives the table
TABLE 5 TABLE 5
PI P2 PI P2
Cl 1 0.1Cl 1 0.1
C2 0.35 1 C2 0.35 1
C3 1 0.5 Lors d'une troisième itération, les poids sont cumulés sur une échelle qui est mise à jour, et l'on obtient la table 6. C3 1 0.5 In a third iteration, weights are accumulated on a scale that is updated, and we get table 6.
TABLE 6
Figure imgf000021_0001
TABLE 6
Figure imgf000021_0001
Ainsi, les poids finaux pour les nœuds consommateurs Cl à C3 sont des poids moyens glissants dynamiques. Thus, the final weights for consumer nodes C1 to C3 are dynamic sliding average weights.
La figure 4 représente schématiquement un exemple d'échelle des poids cumulés permettant une gestion des pois des nœuds consommateurs dans un réseau selon un mode de réalisation de l'invention.  FIG. 4 schematically represents an example of a scale of the cumulative weights allowing management of the peas of the consumer nodes in a network according to one embodiment of the invention.
L'échelle des poids cumulés représente les trois nœuds consommateurs Cl, C2 et C3 au temps tO dans un arbre, chaque nœud consommateur étant représenté par une feuille 4 comprenant le nom du nœud et la valeur de son poids.  The cumulative weight scale represents the three consumer nodes C1, C2 and C3 at the time t0 in a tree, each consumer node being represented by a sheet 4 comprising the name of the node and the value of its weight.
L'échelle des poids cumulés représente les trois nœuds consommateurs Cl, C2 et C3 au temps tl dans le même arbre, chaque nœud consommateur étant représenté par une feuille 5 comprenant le nom du nœud et la valeur de son poids laquelle a éventuellement été modifiée.  The cumulative weight scale represents the three consumer nodes C1, C2 and C3 at time t1 in the same tree, each consumer node being represented by a sheet 5 comprising the name of the node and the value of its weight, which may have been modified.
L'échelle de poids cumulés est stockée sous forme de tableau à poids cumulés via un arbre d'intervalles (« range tree » en langue anglaise), ce qui apporte une complexité moyenne avec cette technique en 0(log(n)).  The cumulative weight scale is stored as a cumulative weight table via an interval tree ("range tree" in English), which brings average complexity with this technique in 0 (log (n)).
Les feuilles de l'arbre correspondent aux bornes des intervalles. La structure en arbre permet d'accéder aux valeurs dans un intervalle donné rapidement et recalculer les poids implique des algorithmes connus.  The leaves of the tree correspond to the boundaries of the intervals. The tree structure provides access to values in a given interval quickly and recalculating weights involves known algorithms.
On voit, pour les nœuds Cl, C2, C3, les bornes des intervalles qui sont respectivement 1 / 2 / 3, au temps tO, et 1 / 1,2 / 2,2 au temps tl.  We see, for the nodes C1, C2, C3, the limits of the intervals which are respectively 1/2/3, at time t0, and 1 / 1,2 / 2,2 at time tl.
Cette structure de données en arbre stockant cette échelle de poids cumulés permet, non seulement de répondre fonctionnellement à la problématique de stockage d'une échelle de valeurs, mais aussi elle présente un avantage supplémentaire utile qui est de présenter de très bonnes performances d'accès et de modification aux valeurs qui y sont stockées. This tree data structure storing this accumulated weight scale not only satisfies the storage problem of a scale of values, but also presents a useful additional advantage which is to have very good access and modification performance to the values stored therein.
Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais elle est susceptible de nombreuses variantes accessibles à l'homme de l'art.  Of course, the present invention is not limited to the examples and to the embodiment described and shown, but it is capable of numerous variants accessible to those skilled in the art.

Claims

REVENDICATIONS
1. Réseau informatique de nœuds (1, 2) communiquant entre eux par messages en pair à pair, des nœuds producteurs (1) de message envoyant leurs messages produits vers des nœuds consommateurs (2) de message, un nœud consommateur (2) pouvant être également un nœud producteur (1) à un autre niveau du réseau (6), caractérisé en ce que chaque nœud producteur (1) de message : A computer network of nodes (1, 2) communicating with each other by peer-to-peer messages, message producing nodes (1) sending their generated messages to message consumer nodes (2), a consumer node (2) capable of also being a producer node (1) at another level of the network (6), characterized in that each producer node (1) of message:
choisit, parmi les nœuds (1, 2) enregistrés comme actifs dans le réseau, ses nœuds consommateurs (2) pour s'interconnecter avec eux,  chooses, among the nodes (1, 2) registered as active in the network, its consumer nodes (2) to interconnect with them,
maintient à jour la liste de ses nœuds consommateurs (2) interconnectés,  maintains a list of its interconnected consumer nodes (2),
gère la répartition de charge de ses messages produits vers ses nœuds consommateurs (2) interconnectés, en fonction du temps de traitement, par ses nœuds consommateurs (2) interconnectés, de ses messages produits, en envoyant ses messages produits surtout à ses nœuds consommateurs (2) interconnectés à plus faible temps de traitement,  manages the load balancing of its product messages to its interconnected consumer nodes (2), as a function of the processing time, by its interconnected consumer nodes (2), of its product messages, by sending its messages mainly to its consumer nodes ( 2) interconnected with lower processing time,
modifie sa liste de nœuds consommateurs (2) interconnectés en fonction du temps de traitement, par ses nœuds consommateurs (2) interconnectés, de ses messages produits, en supprimant de sa liste au moins temporairement ses nœuds consommateurs (2) interconnectés trop lents.  modifies its list of interconnected consumer nodes (2) according to the processing time, by its interconnected consumer nodes (2), of its generated messages, by deleting from its list at least temporarily its interconnected consumer nodes (2) too slow.
2. Réseau informatique selon la revendication 1, caractérisé en ce que les nœuds (1, 2) s'enregistrent comme actifs dans le réseau auprès d'un registre (3) centralisé dans le réseau (6), lequel registre diffuse à au moins tous les nœuds producteurs (1) actifs du réseau (6), de préférence à tous les nœuds (1, 2) actifs du réseau (6), la liste d'au moins tous les nœuds consommateurs (2) actifs du réseau (6), de préférence la liste de tous les nœuds (1, 2) actifs du réseau (6). 2. Computer network according to claim 1, characterized in that the nodes (1, 2) register as active in the network near a centralized register (3) in the network (6), which register diffuses to at least all the producing nodes (1) of the network (6), preferably at all the active nodes (1, 2) of the network (6), the list of at least all the active consumer nodes (2) of the network (6) ), preferably the list of all active nodes (1, 2) of the network (6).
3. Réseau informatique selon la revendication 2, caractérisé en ce que ledit registre (3) n'établit pour aucun nœud producteur (1) particulier donné la liste de ses nœuds consommateurs (2) interconnectés, n'envoie à aucun nœud producteur (1) particulier donné la liste de ses nœuds consommateurs (2) interconnectés. 3. Computer network according to claim 2, characterized in that said register (3) establishes for no particular producer node (1) given the list of its interconnected consumer nodes (2), does not send to any producing node (1 ) particular given the list of its interconnected consumer nodes (2).
4. Réseau informatique selon l'une quelconque des revendications 2 à 3, caractérisé en ce que les nœuds (1, 2) s'enregistrent périodiquement comme actifs dans le réseau (6) auprès du registre (3), dès lors qu'ils sont aptes à traiter des messages, la période d'enregistrement étant de préférence inférieure ou égale à 10 secondes, tout nœud (1, 2) actif qui manque au moins deux périodes d'enregistrement, de préférence au moins une période d'enregistrement, est supprimé de la liste des nœuds (1, 2) actifs par le registre (3). 4. Computer network according to any one of claims 2 to 3, characterized in that the nodes (1, 2) periodically register as active in the network (6) with the register (3), as soon as they are able to process messages, the recording period preferably being less than or equal to 10 seconds, any active node (1, 2) which lacks at least two recording periods, preferably at least one recording period, is removed from the list of active nodes (1, 2) by the register (3).
5. Réseau informatique selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque nœud producteur (1) de message peut modifier sa liste de nœuds consommateurs (2) interconnectés en y ajoutant éventuellement un nœud consommateur (2) nouvellement enregistré si celui-ci est apte à consommer les messages produits par ledit nœud producteur (1). A computer network according to any one of the preceding claims, characterized in that each message producer node (1) can modify its interconnected consumer node list (2) by optionally adding a newly registered consumer node (2) if the one it is able to consume the messages produced by said producer node (1).
6. Réseau informatique selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque nœud consommateur (2) envoie, au moins pour certains messages reçus d'un nœud producteur (1), son temps de traitement de ces messages ou bien un poids représentatif de son temps de traitement de ces messages, représentatif de la différence entre l'arrivée de ces messages au niveau dudit nœud consommateur (2) et leur départ dudit nœud consommateur (2) éventuellement après transformation, de préférence chaque nœud producteur (1) ajoute une requête d'évaluation de temps de traitement dans tout ou partie des messages qu'il envoie à chacun de ses nœuds consommateurs (2) interconnectés. 6. Computer network according to any one of the preceding claims, characterized in that each consumer node (2) sends, at least for certain messages received from a producer node (1), its processing time of these messages or a weight representative of its processing time of these messages, representative of the difference between the arrival of these messages at said consumer node (2) and their departure from said consumer node (2) possibly after transformation, preferably each producer node (1 ) adds a processing time evaluation request in all or some of the messages that it sends to each of its interconnected consumer nodes (2).
7. Réseau informatique selon la revendication 6, caractérisé en ce que chaque nœud producteur (1) de message gère la répartition de charge de ses messages produits vers ses nœuds consommateurs (2) interconnectés, en fonction des temps de traitement ou bien des poids envoyés par ses nœuds consommateurs (2) interconnectés, envoyant plus de messages produits vers les nœuds consommateurs (2) interconnectés dont les temps de traitement sont plus faibles ou bien les poids correspondent à des temps de traitement plus faibles. 7. The computer network as claimed in claim 6, characterized in that each message producing node (1) manages the load distribution of its product messages to its interconnected consumer nodes (2), as a function of the processing times or the weights sent. through its interconnected consumer nodes (2), sending more product messages to the interconnected consumer nodes (2) whose processing times are lower or the weights corresponding to lower processing times.
8. Réseau informatique selon la revendication 7, caractérisé en ce que chaque nœud producteur (1) calcule un poids moyen glissant au cours du temps, pour chacun de ses nœuds consommateurs (2) interconnectés, qu'il utilise pour gérer la répartition de charge de ses messages produits vers ses nœuds consommateurs (2) interconnectés. Computer network according to claim 7, characterized in that each producer node (1) calculates a sliding average weight over time for each of its interconnected consumer nodes (2), which it uses to manage the load distribution. from its product messages to its interconnected consumer nodes (2).
9. Réseau informatique selon la revendication 7 ou 8, caractérisé en ce que chaque nœud producteur (1) charge ses nœuds consommateurs (2) interconnectés de manière aléatoire pondérée, de sorte que la probabilité pour ses nœuds consommateurs (2) interconnectés de recevoir un message produit par ledit nœud producteur (1), dépend d'un tirage aléatoire qui est pondéré par les poids desdits nœuds consommateurs (2) interconnectés. A computer network according to claim 7 or 8, characterized in that each producer node (1) loads its interconnected consumer nodes (2) in a weighted random manner, so that the probability for its interconnected consumer nodes (2) to receive a message produced by said producer node (1), depends on a random draw which is weighted by the weights of said interconnected consumer nodes (2).
10. Réseau informatique selon l'une quelconque des revendications précédentes, caractérisé en ce que : Computer network according to one of the preceding claims, characterized in that:
chaque nœud (1, 2) est un micro- service qui échange des messages avec au moins un autre nœud (1, 2),  each node (1, 2) is a micro-service that exchanges messages with at least one other node (1, 2),
chaque micro- service étant :  each micro-service being:
o soit un processeur qui traite des données reçues d'un nœud (1, 2) du réseau (6) pour envoyer ensuite ces données traitées à un autre nœud (1, 2) du réseau (6), de préférence ledit traitement se réduisant à une seule tâche de traitement réalisée sur ces données, o soit une source qui produit des données à injecter dans le réseau (6) vers au moins un processeur, o is a processor that processes data received from a node (1, 2) of the network (6) to then send the processed data to another node (1, 2) of the network (6), preferably said processing being reduced to a single processing task performed on these data, o is a source that produces data to be injected into the network (6) to at least one processor,
o soit un puits qui exporte les données traitées par au moins un processeur vers un système tiers au réseau (6).  or a sink that exports the data processed by at least one processor to a third party system (6).
11. Réseau informatique selon la revendication 10, caractérisé en ce qu'au moins l'un des processeurs, de préférence la majorité des processeurs, encore plus de préférence tous les processeurs, filtre les données reçues et les aiguille ensuite vers différents types de nœuds (1, 2) dans le réseau (6). 11. The computer network as claimed in claim 10, wherein at least one of the processors, preferably the majority of the processors, and even more preferably all the processors, filters the received data and then routes them to different types of nodes. (1, 2) in the network (6).
12. Réseau informatique selon l'une quelconque des revendications précédentes, caractérisé en ce que un type de nœud producteur (1) est un filtre qui sépare les messages reçus en fonction d'un critère à remplir, pour les aiguiller vers trois types de nœuds consommateurs (2) respectivement selon que ledit critère est : rempli, ou pas rempli, ou peut-être rempli. 12. Computer network according to any one of the preceding claims, characterized in that a producer node type (1) is a filter that separates the received messages according to a criterion to be filled, to direct them to three types of nodes consumers (2) respectively according to whether said criterion is: completed, or not filled, or perhaps filled.
13. Réseau informatique selon la revendication 12, caractérisé en ce que les messages sont représentatifs de transactions bancaires, le critère est le caractère frauduleux ou non d'une transaction bancaire. 13. Computer network according to claim 12, characterized in that the messages are representative of banking transactions, the criterion is the fraudulent nature or not of a bank transaction.
14. Réseau informatique selon la revendication 12, caractérisé en ce que les messages sont représentatifs d'images filmées par des caméras de vidéosurveillance, le critère est le caractère de présence ou d'absence de risque délictuel lié au contenu d'une image filmée ou d'une séquence d'images filmées par ces caméras de vidéosurveillance. 14. Computer network according to claim 12, characterized in that the messages are representative of images filmed by CCTV cameras, the criterion is the character of presence or absence of delictual risk related to the content of a filmed image or a sequence of images filmed by these CCTV cameras.
15. Procédé d'interconnexion et de communication entre nœuds (1, 2) dans un réseau informatique (6) selon l'une quelconque des revendications précédentes. 15. A method of interconnection and communication between nodes (1, 2) in a computer network (6) according to any one of the preceding claims.
16. Procédé d'interconnexion entre nœuds (1, 2) dans un réseau informatique (6) de nœuds (1, 2) communiquant entre eux par messages en pair à pair, des nœuds producteurs (1) de message envoyant leurs messages produits vers des nœuds consommateurs (2) de message, un nœud consommateur (2) pouvant être également un nœud producteur (1) à un autre niveau du réseau (6), caractérisé en ce que chaque nœud producteur (1) de message : 16. A method of interconnection between nodes (1, 2) in a computer network (6) of nodes (1, 2) communicating with each other by means of messages peer-to-peer message producing nodes (1) sending their generated messages to message consumer nodes (2), a consumer node (2) also being a producer node (1) at another network level (6) characterized in that each producer node (1) of message:
choisit, parmi les nœuds (1, 2) enregistrés comme actifs dans le réseau (6), ses nœuds consommateurs (2) pour s'interconnecter avec eux, maintient à jour la liste de ses nœuds consommateurs (2) interconnectés,  chooses, among the nodes (1, 2) registered as active in the network (6), its consumer nodes (2) to interconnect with them, maintains the list of its interconnected consumer nodes (2),
modifie sa liste de nœuds consommateurs (2) interconnectés en fonction du temps de traitement, par ses nœuds consommateurs (2), de ses messages produits, en supprimant de sa liste au moins temporairement ses nœuds consommateurs (2) interconnectés trop lents.  modifies its list of interconnected consumer nodes (2) according to the processing time, by its consumer nodes (2), of its generated messages, by deleting from its list at least temporarily its interconnected consumer nodes (2) too slow.
PCT/FR2017/053853 2016-12-27 2017-12-27 Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes WO2018122533A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780086742.2A CN110431824B (en) 2016-12-27 2017-12-27 Computer network of nodes communicating with each other by means of peer-to-peer messages and associated method for interconnecting nodes
EP17838185.1A EP3563558A1 (en) 2016-12-27 2017-12-27 Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1663408 2016-12-27
FR1663408A FR3061391B1 (en) 2016-12-27 2016-12-27 COMPUTER NETWORK OF KNOTS COMMUNICATING BETWEEN THEM THROUGH PAIR MESSAGES AND INTERCONNECTION METHOD BETWEEN NODES ASSOCIATED THEREWITH

Publications (1)

Publication Number Publication Date
WO2018122533A1 true WO2018122533A1 (en) 2018-07-05

Family

ID=58737663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2017/053853 WO2018122533A1 (en) 2016-12-27 2017-12-27 Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes

Country Status (4)

Country Link
EP (1) EP3563558A1 (en)
CN (1) CN110431824B (en)
FR (1) FR3061391B1 (en)
WO (1) WO2018122533A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019689A (en) * 2019-05-29 2020-12-01 北京奇虎科技有限公司 Incoming call show service processing system and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070097986A1 (en) * 2005-11-02 2007-05-03 Abu-Amara Hosame H Peer-to-peer communication architecture and terminals
US20080046554A1 (en) * 2003-10-20 2008-02-21 Datta Glen V Peer-to-peer relay network
EP1903816A1 (en) * 2006-09-22 2008-03-26 Nokia Siemens Networks Gmbh & Co. Kg Method for operating an access node and access node thereof
US20100135168A1 (en) * 2007-07-10 2010-06-03 Yi-Ping Chen Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device
US20110013018A1 (en) * 2008-05-23 2011-01-20 Leblond Raymond G Automated camera response in a surveillance architecture
US20110276633A1 (en) * 2008-12-30 2011-11-10 Telecom Italia S.P.A. Method and system for data management in peer-to- peer network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898388B (en) * 2016-04-05 2019-07-23 合一网络技术(北京)有限公司 A kind of node download schedule method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046554A1 (en) * 2003-10-20 2008-02-21 Datta Glen V Peer-to-peer relay network
US20070097986A1 (en) * 2005-11-02 2007-05-03 Abu-Amara Hosame H Peer-to-peer communication architecture and terminals
EP1903816A1 (en) * 2006-09-22 2008-03-26 Nokia Siemens Networks Gmbh & Co. Kg Method for operating an access node and access node thereof
US20100135168A1 (en) * 2007-07-10 2010-06-03 Yi-Ping Chen Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device
US20110013018A1 (en) * 2008-05-23 2011-01-20 Leblond Raymond G Automated camera response in a surveillance architecture
US20110276633A1 (en) * 2008-12-30 2011-11-10 Telecom Italia S.P.A. Method and system for data management in peer-to- peer network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019689A (en) * 2019-05-29 2020-12-01 北京奇虎科技有限公司 Incoming call show service processing system and method

Also Published As

Publication number Publication date
CN110431824A (en) 2019-11-08
EP3563558A1 (en) 2019-11-06
CN110431824B (en) 2022-05-10
FR3061391B1 (en) 2019-05-31
FR3061391A1 (en) 2018-06-29

Similar Documents

Publication Publication Date Title
EP3189636B1 (en) Method of monitoring and of warning of routing configuration in a cluster comprising static communication links and computer program implementing this method
EP1388058A1 (en) Method for communication and/or machine resource sharing among a plurality of members of a community in a communication network
FR2948247A1 (en) METHOD AND SYSTEM FOR HIGH PERFORMANCE AND AUTOMATED MANAGEMENT OF VIRTUAL NETWORKS.
EP2036271A2 (en) Method of automatic driving of a telecommunications network with local mutualization of knowledge
EP1387538B1 (en) Apparatus and method for determining routing paths in a communication network with selection attributes
WO2018122533A1 (en) Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes
EP3732565B1 (en) Computer network of computing resource infrastructures and method for allocating said resources to client applications
WO2012085432A1 (en) Method and device for digital data communication
EP2577920B1 (en) Method of pseudo-dynamic routing in a cluster comprising static communication links and computer program implementing this method
WO2015173274A1 (en) Architecture for correlating events for supercomputer surveillance
EP3563233B1 (en) Computer network of computing resource infrastructures and method for allocating these resources to client applications
EP3675435A1 (en) Method for dynamic routing in a network of connected objects
WO2014135793A1 (en) Method for allocating resources for implementing virtual networks in a telecommunication network
FR3025905A1 (en) ALLOCATION OF RESOURCES
Castiel Study of QB-CSMA algorithms
WO2023031288A1 (en) Method for determining an interconnection topology between switches of a communication network, corresponding computer program product and corresponding device
EP4397019A1 (en) Method for determining an interconnection topology between switches of a communication network, corresponding computer program product and corresponding device
WO2005020506A1 (en) Method of locating mobile communicating objects within a communications network, comprising the transmission of location identifiers by repeaters and server updates
WO2022208017A1 (en) Method, device and system for making available a communication resource
WO2014135794A1 (en) Congestion control method for telecommunications networks
EP4213024A1 (en) Method for sharing images, corresponding computer program and system implementing such a method
FR3095914A1 (en) Method of dynamic routing in a network of connected objects
WO2023067267A1 (en) Method for transmitting items of data in a mesh network and communication device in such a network
WO2023217639A1 (en) Method, device and system for the dynamic development of a data infrastructure
WO2009013440A1 (en) Method for exchanging messages between a session data server and client services

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17838185

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017838185

Country of ref document: EP

Effective date: 20190729