FR3042670A1 - Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair - Google Patents

Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair Download PDF

Info

Publication number
FR3042670A1
FR3042670A1 FR1502196A FR1502196A FR3042670A1 FR 3042670 A1 FR3042670 A1 FR 3042670A1 FR 1502196 A FR1502196 A FR 1502196A FR 1502196 A FR1502196 A FR 1502196A FR 3042670 A1 FR3042670 A1 FR 3042670A1
Authority
FR
France
Prior art keywords
data
group
peer
sending
segments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1502196A
Other languages
English (en)
Inventor
Selim Ellouze
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wepstr Innovation
Original Assignee
Wepstr Innovation
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 Wepstr Innovation filed Critical Wepstr Innovation
Priority to FR1502196A priority Critical patent/FR3042670A1/fr
Publication of FR3042670A1 publication Critical patent/FR3042670A1/fr
Pending legal-status Critical Current

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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

La présente invention vise des procédés et dispositifs de communication pour ordonnancer la distribution de données dans un réseau pair-à-pair. Les clients (10) s'enregistrent et envoient des informations à l'entité de pilotage (20). L'entité de pilotage (20) les affecte dans des groupes et détermine pour chaque groupe (50) une planification dans le temps des envois et réceptions de segments de données entre ses clients. Elle détermine également un dispositif externe au groupe (50) pour envoyer à ses clients les segments de données, par exemple l'entité de distribution (30). Les clients (10) de chaque groupe (50) se connectent entre eux et au dispositif de communication source de données pour le groupe. Ils reçoivent de l'entité de pilotage (20) la planification dans le temps d'envois et réceptions de segments de données et l'appliquent pour distribuer les données dans le groupe.

Description

Arrière-plan de l'invention [001] L'invention se rapporte au domaine général des télécommunications. L'invention se rapporte en particulier à la distribution de données, par exemple des données audiovisuelles, dans un réseau de télécommunications.
[002] Le modèle actuel de distribution de données repose principalement sur les réseaux de distribution de contenus (CDN pour « Content Distribution Networks » en anglais). Une plateforme CDN permet d'envoyer des données depuis des dispositifs de communication appelés serveurs vers des dispositifs de communication appelés clients. L'augmentation de la quantité de données à transmettre impose aux CDNs une augmentation conséquente de la capacité de leurs serveurs et la capacité de leurs liaisons réseaux pour supporter le trafic croissant. Par ailleurs, l'augmentation de la demande en services et en trafic est continuelle. L'introduction par exemple de nouvelles définitions vidéo comme le 1080p en 1900*1080 et la 4K en 3840*2160 augmente considérablement le débit d'un flux audiovisuel employant ces définitions avec un facteur compris entre 4 et 10 en fonction des paramètres d'encodage. En prenant en considération l'augmentation du nombre d'utilisateurs, la distribution de données en temps réel ou quasi temps réel comme un flux vidéo en direct nécessitera des investissements importants en infrastructures et en coûts d'exploitation pour les CDNs.
[003] L'utilisation d'un réseau pair-à-pair (P2P pour « Peer-To-Peer » en anglais) permet de remédier à ce problème en répartissant la charge de distribution sur les clients (sur les pairs) du réseau. En effet, dans un réseau pair-à-pair, les données d'un contenu sont partagées entre des clients, qui s'échangent des segments de données (appelés « chunks » en anglais) afin de rassembler l'ensemble des données du contenu. A cet effet, chaque client établit des connexions avec les autres clients du réseau pair-à-pair. Pour obtenir la liste des autres clients partageant les données d'un contenu particulier, un client s'enregistre auprès d'une entité de gestion du réseau pair-à-pair, généralement appelée « Tracker ». La distribution de données dans un réseau pair-à-pair présente plusieurs inconvénients. Le premier inconvénient résulte de l'importance du trafic généré par les clients à cause des requêtes-réponses entre eux et avec l'entité de gestion par rapport au trafic d'échange de données. Le deuxième inconvénient résulte de la mauvaise performance des réseaux pair-à-pair dans la distribution de données en temps réel. En effet, la recherche d'un client qui dispose des segments manquants pour reconstituer les données implique des délais de traitement avant d'obtenir les données qui sont incompatibles avec le temps réel.
[004] Il existe donc un besoin pour une meilleure technique de distribution de données dans les réseaux de télécommunications.
Description de l'invention [005] L'invention vise à répondre à ce besoin en proposant un procédé de communication ordonnançant le fonctionnement d'un réseau pair-à-pair incluant un premier dispositif de communication, dit entité de pilotage, un second dispositif de communication, dit entité de distribution, et une pluralité de dispositifs de communication, dits clients, l'entité de pilotage comprenant : - Des moyens de réception des clients de messages d'enregistrement et d'informations, - Des moyens de classification et formation de groupes pour rassembler des clients, - Des moyens d'affectation de clients avec des rôles précis dans des groupes, - Des moyens de planification des échanges de données pour les clients de chaque groupe entre eux et avec des clients d'un autre groupe, - Des moyens d'envois d'instructions vers les clients du réseau pair-à-pair.
[006] Autrement dit, l'invention propose une architecture de distribution en pair-à-pair dans laquelle une entité de pilotage collecte des informations sur les clients du réseau pair-à-pair, puis forme des groupes dans lesquels les clients sont affectés avec des rôles précis. L'entité de pilotage transmet des instructions aux clients pour établir des connexions entre eux et échanger les données suivant une planification qu'elle a établie. La planification assure aux clients la réception de la totalité des données dans les meilleurs délais et sans avoir recours à des requêtes de recherche de segments de données auprès d'autres clients. L'invention permet donc de réduire le trafic généré par le réseau pair-à-pair pour l'échange de données. Par ailleurs, le procédé assure une réception rapide des données qui est compatible avec les contraintes d'une distribution de données en temps réel.
[007] De manière correspondante, l'invention propose également un dispositif de communication dit entité de distribution pour la transmission des données vers un réseau pair-à-pair comprenant : - Des moyens de division des données en segments, - Des moyens de numérotation périodique et continue des segments, - Des moyens de conditionnement des segments de données avant envoi en appliquant des opérations de compression, codage, entrelacement, encapsulation et cryptage. - Des moyens d'adaptation des données, - Des moyens d'envois de segments de données vers les clients du réseau pair-à-pair, - Des moyens de réception et traitement de demande de retransmission de segments, - Des moyens de réception et traitement de messages d'instructions de l'entité de pilotage, - Des moyens d'envoi de messages d'informations à l'entité de pilotage. 1008] De manière correspondante, l'invention propose un procédé de communication effectué par l'entité de distribution pour la segmentation, adaptation et conditionnement des données qui seront distribuées sur le réseau pair-à-pair, procédé comprenant : - Une étape de réception d'instructions envoyées par l'entité de pilotage, - Une étape d'adaptation des données, - Une étape de division en segments des données, - Une étape d'application d'opérations de compression, codage, entrelacement, cryptage et encapsulation des données, - Une étape de numérotation des segments de données suivant un schéma de numérotation périodique de 1 àM, M étant un entier, et suivant un schéma de numérotation continue commençant par 1.
[009] Autrement dit, l'entité de pilotage définit les opérations et schémas de numérotation à appliquer aux données avant transmission et envoie des instructions à l'entité de distribution. L'entité de distribution applique les éventuelles adaptations demandées comme par exemple le transcodage d'un flux audiovisuel ou la conversion de format d'un fichier. Elle divise ensuite les données en segments et leur applique les différentes opérations requises dans l'ordre défini par l'entité de pilotage comme la compression pour réduire la taille des données, codage pour permettre la correction de données corrompues à la réception, entrelacement pour réduire l'effet mémoire des erreurs introduites par certains médias de communication, cryptage pour assurer la protection des données. Les segments sont ensuite numérotés en continu et suivant un cycle de période M. L'opération « modulo » permet de déterminer le numéro périodique d'un segment, par exemple, pour une période M = 16, le segment numéro 1234 a le numéro périodique S2 car 1234 mod 16=2. L'emploi de numéros périodiques permet de conférer une priorité P* à chaque segment St dans un cycle de taille M. Dans un même cycle, la priorité d'un segment de numéro inférieur est plus importante car il est plus en amont dans l'ordre de reconstruction des données. Ainsi le segment de numéro périodique S4 est prioritaire en réception par rapport au segment de numéro périodique S7 et P4 est donc supérieure à P7.
[0010] Corrélativement, l'invention propose un procédé de communication effectué par l'entité de pilotage pour l'affectation de clients dans des groupes du réseau pair-à-pair comprenant : - Une étape de réception d'informations sur un client, - Une étape d'analyse des informations du client pour le choix d'une catégorie, - Une étape de vérification de la taille des groupes de la catégorie choisie, - Une étape de vérification de la date de dernière modification des groupes, - Une étape de choix d'un groupe existant ou de création d'un nouveau groupe, - Une étape de détermination des nouveaux rôles et des nouvelles planifications d'échanges de données pour les clients du groupe, - Une étape de planification des assistances aux envois de données des clients du groupe, - Une étape d'envoi d'instructions à l'ensemble des clients du groupe indiquant leurs nouveaux rôles et planifications d'échange de données.
[0011] Autrement dit, l'entité de pilotage définit plusieurs catégories de groupes suivant des critères comme par exemple la localisation, le type de dispositif utilisé ou le débit de données maximal que le client peut supporter. Pour chaque client, une catégorie est choisie en fonction des informations qu'il a fournies. L'entité de pilotage vérifie par la suite les dispositions des groupes de la catégorie à intégrer un nouveau client. Elle vérifie la taille de chaque groupe. Si un groupe a atteint la taille maximale N, N étant un entier, il est écarté de la liste de recherche. Ensuite, l'entité de pilotage vérifie la date de dernière modification des groupes restants, qui sont donc incomplets et peuvent intégrer un nouveau client. Une période de temps appelée période de grâce D permet d'éviter de constamment modifier les groupes afin de leur assurer une meilleure stabilité dans le réseau pair-à-pair. Si aucun groupe n'a bénéficié encore de la période de grâce, celui avec la date de modification la plus ancienne est sélectionné pour y affecter le client. Sinon, parmi les groupes n'ayant subi aucune modification pendant la période D, celui avec le plus grand nombre de clients est choisi afin d'arriver à avoir des groupes complets, c.-à-d. avec une taille N, le plus rapidement possible. Si aucun des critères de sélection suscités n'est admissible, l'entité de pilotage crée un nouveau groupe et y affecte le client.
[0012] Corrélativement, l'invention propose un procédé de communication effectué par l'unité de pilotage pour la planification des échanges de segments de données entre les clients d'un groupe du réseau pair-à-pair, procédé comprenant : - Une étape de réception d'informations sur les capacités d'envoi et de réception de données des clients. - Une étape d'affectation d'un identifiant à chaque client du groupe, - Une étape de détermination de l'action de chaque client à chaque période de temps T, - Une étape de définition de la planification d'envois de segments de données pour les clients du groupe à partir des actions déterminées, - Une étape d'envois d'instructions aux clients du groupe indiquant leurs identifiants et planifications d'échanges de données entre eux.
[0013] Autrement dit, l'entité de pilotage reçoit des informations de chaque client et détermine sa capacité d'envoi UP et de réception DW, qui peuvent être exprimées en débit de données par exemple en Kbits/s. Elle définit une période de temps T durant laquelle chaque client va recevoir ou envoyer un ou plusieurs segments de données en fonction de ses capacités d'envoi et de réception. L'entité de pilotage définit un débit référence R pour les données qui seront distribuées dans le réseau pair-à-pair équivalent au débit d'envoi nécessaire pour l'envoi desdites données entre deux dispositifs de communication. Si tous les clients du groupe disposent d'une capacité d'envoi supérieure au débit référence R, le groupe assure de manière autonome la distribution de données entre ses membres. Dans le cas contraire, les clients qui ont une capacité d'envoi inférieure au débit référence R seront assistés par l'entité de distribution dans l'envoi des segments de données. Ces clients sont identifiés par l'entité de pilotage. Pour les besoins de planification des envois de données dans le groupe, l'entité de pilotage considère que tous clients disposent d'une capacité d'envoi supérieure au débit référence R.
[0014] Les clients obtiennent leurs identifiants dans le groupe en fonction de leurs capacités d'envoi. Ainsi celui qui dispose de la plus forte capacité d'envoi se voit affecter l'identifiant Cx et jouera le rôle du client numéro 1 dans le groupe. Il sera également caractérisé par ses capacités (UPX,DW1'). L'entité de pilotage définit la disponibilité chez le client CÉ du segment Sk par une variable binaire {Ai k, i G [1 — N], k e [1 — M] } prenant la valeur 1 si le segment est disponible et 0 dans le cas contraire. Elle définit également l'envoi par le client Ct au client Cj du segment Sk parla variable binaire { Eijtk, i,j e [1 — N], k e [1 — M] } prenant la valeur 1 si l'envoi a lieu et 0 dans le cas contraire.
[0015] L'entité de pilotage détermine les actions optimales des clients à chaque période de temps T en maximisant l'efficacité globale du groupe EG définie par l'équation [1]. Cette efficacité se traduit par la maximisation des sommes des envois de segments de données à chaque période de temps T pondérés par la priorité des segments envoyés par tous les clients du groupe. Autrement dit, la planification doit permettre d'envoyer le maximum de segments, de préférence les segments ayant une forte priorité en premier, suivant les besoins des clients. Ce problème est assujetti à des contraintes présentées dans les équations [2] à [5]. L'équation [2] exprime qu'un client ne peut envoyer un segment qu'il n'a pas encore reçu. L'équation [3] exprime qu'un client ne peut envoyer sur une période T plus de données que ce que sa capacité d'envoi lui permet. L'équation [4] impose des restrictions équivalentes sur la capacité de réception. L'équation [5] interdit aux clients de s'envoyer à eux-mêmes des données.
[0016] L'entité de pilotage formule ainsi un problème d'optimisation binaire d'entiers soumis à des contraintes d'égalité et d'inégalité dont la solution permet d'obtenir les variables { Eijik, i,j 6 [1 — N], k e [1 — Ai] } définissant tous les envois de segments de données entre les clients du groupe pour une période Tp.
[0017] L'entité de pilotage prend en compte la réception des données depuis l'extérieur dans le calcul de l'efficacité du groupe. A tour de rôle, en commençant par le client Cx, les clients recevront, depuis la source de données pour le groupe, les segments de données qui seront échangés entre eux. La réception de ces segments est répercutée sur les capacités de réception des clients. Ainsi pendant chaque période T, un client reçoit un segment de données depuis l'extérieur.
[0018] Pour déterminer les actions des clients du groupe durant la période Tp+1 Tp + T, L'entité de pilotage met à jour les variables de disponibilités des segments de données chez les clients du groupe {Aik, i e [1 — N], k 6 [1 — Ai] } en fonction des segments qu'ils ont reçus pendant la période Tp et incrémente la priorité des segments Pk. Pour assurer une réception rapide et prioritaire des données, l'entité de pilotage incrémente la priorité des segments après chaque période T. Ainsi la priorité Pt augmente de façon permanente entre le moment de première réception du segment S* dans le groupe et le moment de première réception d'un autre segment qui porte le même numéro périodique. Cette augmentation de priorité traduit l'urgence de plus en plus importante de recevoir le segment au fur et à mesure que le temps passe.
[0019] L'entité de pilotage réitère ensuite la procédure de recherche de l'efficacité maximale du groupe pour la nouvelle période Tp+1 avec les variables mises à jour. Elle obtient de nouvelles valeurs pour les variables { Eij>k, i,j G [1 — N], k G [1 — M] } indiquant les envois de données que devront réaliser les clients pendant cette nouvelle période Tp+l· [0020] L'entité de pilotage détermine ensuite si certains clients nécessitent une assistance aux envois de données car leurs capacités d'envois sont inférieures au débit référence R. Pour chaque client concerné, appelé client assisté, l'entité de pilotage cerne sa capacité d'envoi entre deux bornes comme indiqué dans l'équation [6]. Le cas le moins intéressant concerne un client assisté qui une capacité d'envoi quasi nulle ou très faible et ne se situe donc dans aucun des intervalles décrits par l'équation [6]. Dans ce cas, tous les envois planifiés pour ce client doivent être assurés par l'entité de distribution. Autrement, si la capacité d'envoi est cernée dans un des intervalles décrits par l'équation [6], elle sera assimilée à la valeur inférieure de l'intervalle ^/n + Le client sera chargé d'envoyer un segment tous les (n + 1) x T périodes. Pendant les autres périodes, l'entité de distribution assurera l'envoi des segments de données à la place du client assisté. L'entité de pilotage met à jour en conséquence les planifications des clients assistés et définit une planification d'assistance d'envois de segments de données pour l'entité de distribution.
, n G [1, Ai] [6] [0021] L'itération de cette procédure permet à l'entité de pilotage de définir une planification des envois de données dans le temps pour chaque client du groupe. La planification des envois fournit également des renseignements sur les clients destinataires et les segments envoyés. Elle permet en conséquence de dériver une planification des réceptions des segments de données dans le temps.
[0022] L'entité de pilotage transmet à l'ensemble des clients du groupe les planifications d'échanges de segments de données ainsi définies et les instruit de les appliquer [0023] Corrélativement, le procédé de communication effectué par l'entité de pilotage pour la planification des échanges de segments de données entre les clients d'un groupe du réseau pair-à-pair est caractérisé en ce qu'il comprend une étape pour la qualification d'un client existant ou l'addition d'un nouveau client comme un client de stabilité dans le groupe. Ledit client de stabilité reçoit les segments de données avant les autres clients du groupe. Le client de stabilité est caractérisé également en ce qu'il n'envoie pas de données en fonctionnement normal. Le client de stabilité intervient lorsqu'un évènement met à risque la stabilité du groupe comme le départ inattendu d'un client suite à des problèmes réseaux par exemple. Le client de stabilité remplace alors le client qui a quitté le groupe et évite ainsi une interruption brutale des envois de données qui sont planifiés pour le client en défaut. La réception prioritaire des segments de données par le client de stabilité lui permet de remplacer tous les clients du groupe. Il est capable aussi de recevoir des demandes d'envoi de segments de la part des autres clients et d'y répondre, par exemple pour remédier à des pertes de transmission dans le réseau. Le client de stabilité assure en conséquence une meilleure stabilité de la distribution de données dans le groupe particulièrement et dans le réseau pair-à-pair plus généralement.
[0024] Dans la procédure de maximisation de l'efficacité du groupe précédemment décrite, le client de stabilité est caractérisé par une capacité d'envoi nulle car en fonctionnement normal, il n'envoie pas de segments de données. L'efficacité du groupe EG est ainsi moins intéressante théoriquement en présence du client de stabilité car il reçoit des données sans en envoyer. Dans la pratique, le client de stabilité permet de remédier à différentes situations problématiques et caractéristiques des réseaux pair-à-pair dont le bon fonctionnement dépend aussi de celui des clients.
[0025] De manière correspondante, l'invention propose un procédé de communication effectué par l'entité de pilotage pour la planification des envois de données vers un groupe du réseau pair-à-pair, procédé comprenant : - Une étape de détermination d'une source de données pour le groupe, - Une étape de planification de l'envoi des segments de données vers le groupe, - Une étape d'envois d'instructions au dispositif sources de données pour le groupe.
[0026] Autrement dit, l'invention propose un procédé de communication effectué par l'entité de pilotage assurant la réception des segments de données par le groupe. Lesdits segments seront ensuite échangés entre les clients du groupe. L'entité pilotage choisit un dispositif de communication pour envoyer les segments au groupe. L'entité de pilotage reçoit des informations sur la charge de l'entité de distribution générée par l'envoi de segments de données aux différents groupes du réseau pair-à-pair. Elle reçoit également des informations sur la capacité d'envoi de tous les clients du réseau pair-à-pair. En fonction du niveau de charge auquel est soumise l'entité de distribution et des possibilités offertes par les clients, l'entité de pilotage désigne l'entité de distribution ou un client du réseau pair-à-pair pour envoyer les segments de données au groupe. Le dispositif de communication source désignée pour le groupe reçoit une planification des envois de segments de données aux clients du groupe indiquant pour chaque période T, le numéro de segment et le client destinataire.
[0027] La réception des segments par les clients du groupe est répartie sur l'ensemble des clients pour éviter l'utilisation d'un client unique pour la réception des données. En effet, l'échec de ce client responsable unique de la réception des données empêchera la réception des données par le groupe jusqu'à son remplacement ou la reformation du groupe. La répartition de la réception sur tous les clients engendrera la perte d'un seul segment si un client quitte le groupe. Cette répartition suit une rotation cyclique. Le client reçoit le premier segment destiné au groupe, le client C2 reçoit le second segment et ainsi de suite. La planification des envois de données vers le groupe définie par l'entité de pilotage respecte cette répartition.
[0028] L'entité de pilotage transmet au dispositifs de communication source de données pour le groupe la planification d'envois de segments de données ainsi définie et l'instruit de l'appliquer.
[0029] De manière correspondante, l'invention propose également un dispositif de communication dit client pour la distribution des données dans le réseau pair-à-pair comprenant : - Des moyens de réception depuis un ou plusieurs clients du réseau pair-à-pair, de segments de données distribués sur ledit réseau pair-à-pair, - Des moyens de réception depuis l'entité de distribution de segments de données, - Des moyens de distribution de segments de données vers d'autres clients du réseau pair-à-pair suivant une planification précise, - Des moyens de reconstruction de données à partir de segments reçus, - Des moyens d'envoi, vers l'entité de pilotage du réseau pair-à-pair, d'un message d'enregistrement en tant que client du réseau pair-à-pair, - Des moyens d'envoi, vers l'entité de pilotage du réseau pair-à-pair, de messages d'informations sur les caractéristiques et capacités du dispositif, - Des moyens de réception et traitement d'instructions de l'entité de pilotage, - des moyens d'envoi, vers l'entité de distribution ou vers d'autres clients du réseau pair-à-pair, de demande de retransmission de segments de données, - Des moyens d'envoi, vers l'entité de pilotage du réseau pair-à-pair, de messages d'informations sur la distribution des données [0030] Autrement dit, l'invention propose une architecture de distribution en pair-à-pair dans laquelle le dispositif de communication dit client envoie un message d'enregistrement à l'entité de pilotage pour intégrer le réseau pair-à-pair. Il envoie également des messages d'informations sur les caractéristiques du dispositif. Ces informations incluent par exemple le type de dispositif comme smartphone, tablette ou ordinateur ; la taille et définition de l'écran de visualisation ; les connexions réseaux disponibles ; la localisation ; etc. Les messages d'informations inclut également les capacités du dispositif comme la capacité d'envoi de données, la capacité de réception de données ; la capacité du microprocesseur, mémoire, stockage, batterie, etc.
[0031] L'obtention des informations précédemment décrite permet à l'entité de pilotage d'affecter le client à un groupe et lui transmettre un message d'instructions de connexions et planification d'échanges de segments de données lui permettant de se connecter aux clients du groupe désigné par l'entité de pilotage pour recevoir les données et participer à la distribution.
[0032] Le dispositif de communication dit client est également caractérisé en ce qu'il comprend des moyens de reconstruire les données à partir des segments reçus. Il dispose de moyens pour appliquer des opérations de décapsulation, décryptage, décompression, décodage et ordonnancement des données. La numérotation des segments permet au client de reconstruire les données dans l'ordre.
[0033] Le dispositif de communication client est également caractérisé en ce qu'il comprend des moyens d'envoi de message de demande de retransmission de segments de données. La planification des échanges de segments de données permet au dispositif client de vérifier la réception des segments et détecter une non-réception, causée par exemple par des pertes de paquets dans le réseau de communication. Des données corrompues et non récupérables peuvent également amener le client à envoyer une demande de retransmission à l'entité de distribution ou au client de stabilité du groupe.
[0034] Le dispositif de communication client envoie également périodiquement des messages d'informations à l'entité de pilotage fournissant des informations sur la distribution des données. Les informations incluent des métriques sur l'envoi et réception des segments de données, comme les retards de réception par rapport à la planification prévue, les pertes de segments et délai de traitement des retransmissions, etc.
[0035] De manière correspondante, l'invention propose un procédé de communication effectué par le dispositif de communication dit client pour la distribution des données dans un réseau pair-à-pair, procédé comprenant : - Une étape de d'envoi de message d'enregistrement et informations à l'entité de pilotage, - Une étape de réception d'instructions pour l'établissement de connexions avec d'autres clients et dispositifs du réseau pair-à-pair et pour la planification des échanges de segments données avec les autres clients du groupe, - Une étape de réception de segments de données suivant la planification définie, - Une étape d'envoi de segments de données suivant la planification définie, - Une étape d'envoi de message d'information sur la distribution de données à l'entité de pilotage.
[0036] L'invention vise aussi un programme comportant des instructions pour l'exécution d'un des étapes d'un procédé de communication conforme à l'invention lorsque ledit programme est exécuté par un ordinateur, une machine ou système informatique ou des machines électroniques capables d'exécuter des programmes. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
[0037] L'invention vise aussi un support d'enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus. Les supports d'enregistrement mentionnés ci-avant peuvent être n’importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d’enregistrement magnétique, optique ou hybride comme par exemple une disquette ou un disque dur, ou encore un moyen de stockage électriquement programmables comme les EPROM ou électriquement programmables et effaçables comme les EEPROMs, une mémoire Flash comme les SSD ou tout autre moyen de stockage capable de sauvegarder des instructions informatiques et/ou électroniques et d'être connecté à un bus système. D’autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d’autres moyens. Le programme selon l’invention peut être en particulier téléchargé sur un réseau de type Internet.
[0038] Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution du procédé en question.
Brève description des dessins [0039] D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures : - La figure 1 représente un groupe de clients dans un réseau pair-à-pair, recevant des données de l'entité de distribution et des instructions de l'entité de pilotage selon un mode de réalisation de l'invention. - La figure 2 représente un groupe de clients dans un réseau pair-à-pair, recevant des données d'un client d'un autre groupe et des instructions de l'entité de pilotage selon un autre mode de réalisation de l'invention. - La figure 3 est un tableau qui illustre un exemple d'incrémentation des priorités associées aux segments de données dans le procédé de planification des échanges de données pour un groupe du réseau pair-à-pair effectué par l'entité de pilotage, selon un mode de réalisation de l'invention. - La figure 4 est un tableau illustrant les capacités d'envoi de données des clients appartenant à un groupe du réseau pair-à-pair. - La figure 5 est un tableau illustrant une planification des échanges de données pour un groupe du réseau pair-à-pair selon les descriptions de l'invention. - Les figures 6A-6F représentent des étapes du procédé de communication permettant des envois de données vers et entre les clients d'un groupe du réseau pair-à-pair selon un mode de réalisation de l'invention. - La figure 7 représente un procédé de communication mis en œuvre par l'entité de pilotage pour intégrer un nouveau client dans le pair-à-pair et définir la planification de distribution de données du groupe intégrant le client. - La figure 8 représente un procédé de communication mis en œuvre par un client pour intégrer un réseau pair-à-pair et participer à la distribution des données.
Description détaillée des dessins [0040] Dans un esprit de clarté et de simplification de la lecture du document, les dimensions des figures annexées à la présente invention ne doivent pas être considérées avec une quelconque mise à l'échelle. Les dimensions de certains éléments ont par exemple été accentuées pour les démarquer. D'autre part, pour une meilleure compréhension de l'invention, la numérotation des éléments ont été gardées dans la mesure du possible à travers les différentes figures.
[0041] La description détaillée des figures apporte des détails supplémentaires illustrant des modes de réalisation de l'invention et leur compréhension. Cependant, il est convenu que des techniques, procédures ou systèmes bien connus par les personnes accoutumées au domaine de l'invention ne sont pas détaillés dans le but de ne pas alourdir la lecture.
[0042] La figure 1 illustre un groupe (50) regroupant 4 clients (10) du réseau pair-à-pair. Chaque client (10) a établi une connexion (41) pour communiquer avec l'entité de pilotage (20), une ou plusieurs connexions (42) avec l'entité de distribution (30) pour recevoir des segments de données et une ou .plusieurs connexions (43) avec chaque client du groupe pour échanger des segments de données. Les clients (10) du groupe (50) sont donc tous connectés entre eux deux à deux à travers au moins une connexion réseau. En plus chaque client (10) établit une connexion avec l'entité de pilotage pour s'enregistrer, envoyer des informations et recevoir des instructions. Il établit également une ou plusieurs connexions avec l'entité de distribution (30) pour recevoir des segments de données et envoyer des demandes de retransmission en cas de besoin.
[0043] L'utilisation de plusieurs connexions simultanément permet d'exploiter toute la capacité d'envoi et de réception disponible aux clients. Les connexions (41), (42) et (43) peuvent utiliser n'importe quelle technologie ou combinaison de technologies de communication incluant par exemple des liaisons radio comme le WiFi, UMTS ou WiMAX ou des liaisons filaires comme l'ADSL ou la fibre optique à travers un ou plusieurs réseaux de communication incluant un ou plusieurs nœuds de commutation, routage ou traitement.
[0044] La figure 2 illustre deux groupes de clients (50A) et (50B) du réseau pair-à-pair. Le groupe (50A) est caractérisé de manière similaire au groupe 50 de la figure 1. Il regroupe 4 clients (10) du réseau pair-à-pair tous connectés entre eux à travers des connexions (43). Chaque client (10) a établi une connexion (41) pour communiquer avec l'entité de pilotage (20).
[0045] Les clients (10) du groupe (50A) reçoivent les segments de données d'un client (10) du groupe (50B). Tous les clients du groupe (50A) ont établi au moins une connexion réseau avec ledit client source de données pour le groupe. Ce client est choisi par l'entité de pilotage pour servir le groupe (50A) car il répond à certains critères comme une capacité d'envoi suffisante pour supporter cette charge supplémentaire, une proximité avec le groupe pour assurer une réception rapide au groupe et une stabilité acceptable dans le réseau pair-à-pair.
[0046] Dans un mode de réalisation de l'invention, le groupe (50B) reçoit les données de l'entité de distribution (30). Dans un autre mode de réalisation de l'invention, le groupe (50B) pourrait recevoir les données d'un client appartenant un autre groupe du réseau pair-à-pair, comme c'est le cas du groupe (50A).
[0047] La figure 3 illustre un exemple d'incrémentation des priorités associées aux segments de données dans le procédé de planification des échanges de données pour un groupe de clients du réseau pair-à-pair. Dans cet exemple, la périodicité de numérotation des segments est de M = 6.
Dans le procédé de communication effectué par l'entité de pilotage, la procédure de détermination des envois de données entre les clients du groupe pour optimiser son efficacité globale est réitérée afin de définir une planification dans le temps des envois de données pour chaque client. Chaque itération détermine les envois de segments de données pendant une période T. Pour assurer une réception rapide des segments et proche de leur ordre de numérotation, la priorité des segments est augmentée après chaque itération pour traduire le degré d'urgence de leur réception. Ainsi l'exemple montre que la priorité du segment 5X est de 30 pendant la période Tp et devient 40 pendant la période Tp+1 jusqu'à atteindre 60 pendant la période Tp+3- Pendant la période Tp+4/ le segment est déjà reçu par l'ensemble des clients du groupe et un nouveau segment est introduit avec une priorité faible d'une valeur de départ de 10. Cette valeur va ensuite être incrémentée jusqu'à atteindre 50 pendant la période Tp+8- [0048] La priorité des autres segments S2 jusqu'à S6 est augmentée de manière similaire après chaque itération correspondante à une période T jusqu'à l'arrivée d'un nouveau segment portant le même numéro. Si dans l'exemple illustré dans la figure, le segment S1 part avec une priorité de 30, le segment S2 part lui avec une priorité de 20 et le segment S3 part avec une priorité de 10. Cette différence s'explique par l'urgence de réception du segment en priorité par rapport aux deux autres.
[0049] Si la priorité des segments est incrémentée par un palier de 10 dans cet exemple, dans d'autres modes de réalisation de l'invention, l'augmentation de la priorité peut suivre une autre loi comme une loi linéaire, polynomiale, exponentielle, etc. Les modes de réalisation de l'invention doivent néanmoins assurer une augmentation croissante de la priorité des segments après chaque période T dans la réalisation du procédé de planification des échanges de données dans un groupe.
[0050] La figure 4 est un tableau indiquant les capacités d'envoi de données de six clients (10) formant un groupe (50) du réseau pair-à-pair. Ces capacités exprimées dans cet exemple en Kbit/s sont transmises dans des messages d'informations par les clients (10) à l'entité de pilotage (20). Ces informations sont exploitées par l'entité de pilotage (20) dans le procédé de planification des échanges de données pour le groupe (50).
[0051] En référence à la figure 5, on décrit une planification entre les périodes Tp et Tp+5 de la distribution de données pour un groupe (50) du réseau pair-à-pair selon les descriptions de l'invention. Les lignes horizontales correspondent à la planification d'envoi de segments de données pour chaque client (10) du groupe (50) et pour l'entité de distribution (30) qui fournira les segments au groupe. Chaque case indique le numéro périodique du segment qui sera envoyé et l'identifiant du client destinataire du segment. Les colonnes verticales correspondent aux planifications de l'ensemble des clients du groupe pour chaque période T.
[0052] La planification définie par l'entité de pilotage (20) prend en considération les capacités d'envoi de données des clients (10) selon la description de la figure 4. Le débit référence R des données distribuées dans le réseau pair à-pair est de 600 Kbit/s, le nombre de clients (10) dans le groupe est N = 6, et la périodicité de numérotation des segments de données estM = 8. L'entité de pilotage a désigné l'entité de distribution (30) pour envoyer les segments vers le groupe.
[0053] Suivant la description de l'invention, l'entité de distribution (30) envoie à tour de rôle les segments de données vers les clients (10) du groupe. Pendant la période Tp, le client C3 reçoit le segment S3 de l'entité de distribution (30), ensuite le client C4 reçoit le segment S4 pendant la période Tp+1, jusqu'à la période Tp+5 durant laquelle le client C2 reçoit le segment S8.
[0054] Les capacités des clients C5 et C6 sont inférieures au débit référence R. Les deux clients seront assistés par l'entité de distribution (30) pour l'envoi des segments de données vers les autres clients (10) du groupe (50). Les capacités d'envoi des deux clients sont cernées par l'entité de pilotage (20) dans l'intervalle [^/2 — 300, ^l\ = 600]. Autrement dit, les deux clients C5 et C6 sont capables d'envoyer un segment de données sur une double période 2 x T alors que tous les autres clients (10) du groupe (50) sont capables d'envoyer un segment pendant chaque période T. Entre les périodes Tp et Tp+5, le client C5 ne nécessite pas d'assistance de l'entité de distribution (30) car ces envois sont espacés d'au moins une période T. Le client C6 doit lui réaliser deux envois successifs de segments pendant les périodes Tp+1 et Tp+2. Il réalisera l'envoi du segment Sa vers le client C5 lui-même et sera assisté par l'entité de distribution (30) qui enverra le segment S6 vers le client C2 à sa place.
[0055] Les figures 6A à 6F illustrent des étapes du procédé de communication durant lesquelles est réalisé l'échange de segments de données entre les clients (10) d'un groupe (50) dans un réseau pair-à-pair. Chaque figure illustre une étape correspondant à une période T.
[0056] Les planifications des envois de données vers le groupe et entre les clients respectent les planifications décrites par la figure 5. La figure 6A correspond à l'étape durant laquelle est appliquée la planification d'envois et réceptions de segments pour la période Tp. La figure 6B correspond à l'étape durant laquelle est appliquée la planification d'envois et réceptions de segments pour la période Vi· La figure 6C correspond à l'étape durant laquelle est appliquée la planification d'envois et réceptions de segments pour la période Tp+2. La figure 6D correspond à l'étape durant laquelle est appliquée la planification d'envois et réceptions de segments pour la période Tp+3. La figure 6E correspond à l'étape durant laquelle est appliquée la planification d'envois et réceptions de segments pour la période Tp+4- La figure 6F correspond à l'étape durant laquelle est appliquée la planification d'envois et réceptions de segments pour la période Tp+5.
[0057] Le client C6 assisté par l'entité de distribution (30) n'envoie pas de segment vers le client C2 pendant la période Tp+2 comme le montre la figure 5C. L'entité de distribution (30) se charge de réaliser cet envoi à la place du client assisté.
[0058] L'entité de distribution (30) envoie à chaque période un nouveau segment de données à un client différent (10) du groupe (50). L'entité de distribution (30) assiste également certains clients (10) du groupe (50) qui ne disposent pas d'une capacité d'envoi suffisante pour assurer de façon autonome l'envoi des segments de données vers les autres clients du groupe. L'entité de distribution (30) peut également être sollicitée par des clients (10) pour retransmettre certains segments de données manquants à cause de pertes de paquets dans le réseau de communication par exemple.
[0059] Ces étapes d'envois et réceptions de segments de données sont réitérées après chaque période T. Les clients (10) et l'entité de distribution (30) reçoivent la planification des envois de segments de données pour chaque période de l'entité de pilotage (20) et l'appliquent tant qu'il reste des données à distribuer dans le réseau.
[0060] En référence à la figure 7, on décrit le déroulement d'un procédé de communication contrôlé par le dispositif de communication dit entité de pilotage (20), qui permet d'intégrer un nouveau dispositif de communication dit client (10) dans un réseau pair-à-pair selon les descriptions de l'invention. Le nouveau client (10) sera capable de recevoir les données et participer à leur distribution dans le réseau pair-à-pair. On considère qu'initialement le dispositif de communication (10) n'est pas connecté à l'entité de pilotage (20) mais dispose dans sa mémoire morte ou vive, ou bien dans un de ses supports de stockage les programmes permettant d'exécuter les instructions d'un client (10) du réseau pair-à-pair. Le dispositif de communication (10) peut aussi télécharger à travers une connexion réseau ces programmes depuis un dispositif distant et les exécuter.
[0061] Dans cet état initial, à l'étape El, le dispositif de communication (10) exécute les programmes pour établir une communication avec l'entité de pilotage (20), s'enregistrer et lui envoyer des informations sur le dispositif. Ces informations peuvent inclure à titre d'exemple le type de dispositif, la taille de son l'écran s'il en dispose, les types de connexions réseaux disponibles et leurs capacités.
[0062] Pendant l'étape E2, ladite entité de pilotage (20) procède à l'enregistrement du dispositif de communication (10) et à la détermination d'une catégorie adaptée aux caractéristiques du dispositif selon les informations recueillies à l'étape El.
[0063] A l'étape E3, synonyme que l'entité de pilotage (20) a déterminé une catégorie pour le client (10), l'entité de pilotage (20) écarte les groupes complets pour garder une liste de recherche réduite aux groupes capables encore d'intégrer le client (10).
[0064] A l'étape E4. ladite entité (20) évalue les dates de dernière modification des groupes de l'étape E3. Elle écarte les groupes ayant été modifié récemment afin de garantir une certaine stabilité à ces groupes. A défaut l'entité de pilotage peut choisir le groupe avec la date de modification la plus ancienne [0065] A l'étape E5, l'entité de pilotage (20) détermine s'il existe un groupe encore incomplet et qui n'a pas été modifié il y a peu de temps pour y intégrer le client (10). A défaut, l'entité de pilotage décide de créer un nouveau groupe pour y affecter le client en passant à l'étape E7.
[0066] L'étape E6 correspond au cas où l'entité de pilotage (20) n'arrive pas à déterminer une catégorie adéquate au client (10). Elle crée une nouvelle catégorie et y affecte le client à cette étape. Ensuite à l'étape E7, elle crée un nouveau groupe dans cette nouvelle catégorie pour le client (10).
[0067] A l'étape E8, l'entité de pilotage (20) applique le procédé de planification des échanges de données pour le groupe afin de déterminer les actions pendant chaque période T des clients du groupe après intégration du nouveau client.
[0068] A l'étape E9, l'entité de pilotage (20) applique le procédé d'envoi des données vers le groupe afin de déterminer une source de données envoyant les segments au groupe.
[0069] A l'étape E10, l'entité de pilotage (20) transmet les instructions relatives à la mise à jour des rôles des clients dans le groupe (50) après intégration du nouveau client et les instructions relatives aux nouvelles planifications des échanges de données dans le groupe. Lesdites instructions sont envoyées à l'ensemble des clients du groupe et à la source désignée par l'entité de pilotage (20) pour envoyer les segments de données au groupe.
[0070] La figure 8 décrit le déroulement d'un procédé de communication mis en œuvre par un client (10) pour intégrer un réseau pair-à-pair et participer à la distribution de données dans ledit réseau pair-pair.
[0071] A l'étape Fl, le dispositif de communication (10) établit une connexion avec l'entité de pilotage (20) pour s'enregistrer et envoyer ses informations, étape décrite précédemment en référence à l'étape El.
[0072] A l'étape F2, en réponse à la sollicitation du client d'intégrer le réseau pair-à-pair, l'entité de pilotage (20) lui transmet des instructions en vue d'intégrer un groupe (50) pour recevoir les données et participer à leur distribution dans le réseau pair-à-pair suivant une planification bien définie dans les instructions transmises.
[0073] A l'étape F3, le client (10) établit des connexions avec les autres clients du groupe suivant les instructions de l'entité de pilotage (20). En cas de réussite de cette phase de connexion, le client (10) devient un membre effectif du groupe. En cas d'échec, le client (10) revient à son état initial décrit à l'étape Fl et rapporte les résultats de la phase à l'entité de pilotage (20).
[0074] A l'étape F4, synonyme de la réussite de l'étape F3 précédemment décrite, le client (10) reçoit des segments de données de la part des autres clients du groupe et de la source de données désignée par l'entité de pilotage (20) pour le groupe.
[0075] A l'étape F5, le client (10) envoie des segments de données aux autres clients du groupe suivant la planification établie par ladite entité de pilotage (20) pour le groupe.
[0076] Le client (10) surveille continûment les différentes statistiques liées à sa performance et à l'utilisation de ses ressources engendrées par la distribution des données dans le réseau pair-à-pair et communique l'ensemble de ces informations à l'entité de pilotage (20). Ladite entité de pilotage (20) peut décider d'opérer à des modifications dans le groupe si les informations recueillies indiquent une mauvaise performance du groupe.
[0077] L'invention n'est pas limitée aux modes de réalisation décrits en référence aux figures 6, 7 ou 8. Ainsi, dans une autre variante, le client(10) peut jouer le rôle d'un client de stabilité dans le groupe ou bien une source de données pour un autre groupe du réseau pair-à-pair.

Claims (14)

  1. REVENDICATIONS 1) Procédé de communication pour la planification des échanges de segments de données entre les clients appartenant à un groupe d'un réseau pair-à-pair, effectué par un dispositif de communication dit entité de pilotage (20), caractérisé en ce qu'il comprend : - Une étape de définition des rôles des clients (10) dans un groupe (50) en fonction de leurs capacités d'envoi de données, - Une étape de définition d'un problème d'optimisation binaire soumis à des contraintes d'égalité et d'inégalité caractérisant les actions des clients pendant une période de temps T, - Une étape de détermination des actions des clients pendant ladite période de temps T pour maximiser l'efficacité globale du groupe, définissant une planification des envois de segments de données dans le groupe pour la période visée, - Une étape de mise à jour des disponibilités des segments reçus par les clients et leurs priorités dans la formulation du problème d'optimisation, - Une étape d'itération de la détermination des actions des clients avec les nouvelles valeurs pour la période de temps suivante visée, - Une étape de définition des planifications d'envois et réceptions de segments données pour le groupe à partir des actions déterminées.
  2. 2) Procédé de communication, selon la revendication 1, caractérisé en ce qu'il comprend : - Une étape de réception d'informations sur les capacités d'envois et réceptions de données des clients (10) du groupe (50).
  3. 3) Procédé de communication, selon les revendications 1 ou 2, caractérisé en ce qu'il comprend : - Une étape de qualification des capacités d'envois des clients (10) d'un groupe (50) du réseau pair-à-pair par rapport à un débit référence R des données distribuées, - Une étape de détermination des assistances aux envois de données aux clients ne disposant pas d'une capacité d'envoi suffisante par rapport au débit référence R.
  4. 4) Procédé de communication, selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend : - Une étape d'affectation d'un client de stabilité à un groupe (50) caractérisé en ce qu'il est capable de remplacer un autre client du groupe et assurer son rôle dans la distribution de données.
  5. 5) Procédé de communication, selon l'une quelconque des revendications précédentes, pour l'affectation d'un client (10) à un groupe (50) d'un réseau pair-à-pair, effectué par un dispositif de communication dit entité de pilotage (20), caractérisé en ce qu'il comprend : - Une étape (E2) de décision d'affectation d'un client (10) à une catégorie de clients, - Une étape (E3) de détermination de groupes incomplets, - Une étape (E4) de détermination de groupes non modifiés depuis au moins une période de grâce D, - Une étape (E5) de choix d'un groupe (50) pour le client (10), - Une étape (E8) de détermination des planifications des échanges de segments de données pour le groupe (50) intégrant le nouveau client (10) selon les revendications là 4, - Une étape (E9) de détermination d'un dispositif de communication source de données pour le groupe pour l'envoi des segments de données au groupe (50), - Une étape (E10) de transmission d'instructions aux clients (10) du groupe (50).
  6. 6) Procédé de communication, selon la revendication 5, caractérisé en ce qu'il comprend avant l'étape (E2) : - Une étape (El) de réception de messages d'enregistrement et d'informations du client (10).
  7. 7) Procédé de communication, selon la revendication 5, caractérisé en ce qu'il comprend : - Une étape (E6) pour la création d'une nouvelle catégorie, - Une étape (E7) pour la création d'un nouveau groupe.
  8. 8) Procédé de communication, selon la revendication 5, pour la planification des envois de segments de données vers les clients (10) appartenant à un groupe (50) d'un réseau pair-à-pair, effectué par un dispositif de communication dit entité de pilotage (20), caractérisé en ce que l'étape (E9) comprend : - Une étape de détermination d'un dispositif source de données pour le groupe (50), - Une étape de planification de l'envoi des segments de données vers le groupe (50), - Une étape d'envois d'instructions au dispositif sources de données pour le groupe.
  9. 9) Procédé de communication, selon la revendication 8, pour la segmentation, adaptation et conditionnement des données distribuées sur le réseau pair-à-pair, procédé comprenant : - Une étape de réception d'instructions envoyées par l'entité de pilotage (20), - Une étape d'adaptation des données, - Une étape de division en segments des données, - Une étape d'application d'opérations de compression, codage, entrelacement, cryptage et encapsulation des données, - Une étape de numérotation des segments de données suivant un schéma de numérotation périodique et un schéma de numérotation continue.
  10. 10) Procédé de communication, selon l'une quelconque des revendications précédentes, pour la distribution de données entre les clients (10) appartenant à un groupe (50) d'un réseau pair-à-paîr,, caractérisé en ce qu'il comprend : - Une étape (Fl) d'envoi de messages d'enregistrement et d'informations à l'entité de pilotage, - Une étape (F2) de réception d'instructions indiquant la planification des envois et réceptions de segments de données, - Une étape (F4) de réception de segments de données suivant la planification définie, - Une étape (F5) d'envoi de segments de données suivant la planification définie, - Une étape (F6) d'envoi de messages d'informations sur la distribution de données à l'entité de pilotage (20).
  11. 11) Dispositif de communication (20) dit entité de pilotage, pour la mise en oeuvre du procédé de communication selon les revendications 1 à 8, caractérisé en ce qu'il comprend : - Des moyens de réception des clients (10) de messages d'enregistrement et d'informations, - Des moyens de formation de catégories et groupes (50), - Des moyens d'affectation des clients avec des rôles précis dans des groupes, - Des moyens de planification des échanges de données pour les clients de chaque groupe entre eux et avec des clients d'un autre groupe, - Des moyens de planification des envois de données vers les clients d'un groupe, - Des moyens d'envois d'instructions vers les clients (10) du réseau pair-à-pair, - Des moyens d'envois d'instructions vers l'entité de distribution (30).
  12. 12) Dispositif de communication (30) dit entité de distribution, pour la mise en œuvre du procédé de communication selon la revendication 9, caractérisé en ce qu'il comprend : - Des moyens de division des données en segments, - Des moyens de numérotation périodique et continue des segments, - Des moyens de conditionnement des segments de données avant envoi en appliquant des opérations de compression, codage, entrelacement, encapsulation et cryptage, - Des moyens d'adaptation des données, - Des moyens d'envoi de segments de données vers les clients du réseau pair-à-pair, - Des moyens de réception et traitement de demande de retransmission de segments, - Des moyens de réception et traitement de messages d'instructions de l'entité de pilotage (20).
  13. 13) Dispositif de communication (10) dit client, pour la mise en œuvre du procédé de communication selon la revendication 10, caractérisé en ce qu'il comprend : - Des moyens de réception depuis un ou plusieurs clients du réseau pair-à-pair, de segments de données distribués sur ledit réseau pair-à-pair, - Des moyens de réception depuis l'entité de distribution (30) de segments de données, - Des moyens de distribution de segments de données vers d'autres clients du réseau pair-à-pair suivant une planification définie, - Des moyens de reconstruction de données à partir de segments reçus, - Des moyens d'envoi, vers l'entité de pilotage du réseau pair-à-pair, d'un message d'enregistrement en tant que client du réseau pair-à-pair, - Des moyens d'envoi, vers l'entité de pilotage du réseau pair-à-pair, de messages d'informations sur les caractéristiques et capacités du dispositif.
  14. 14) Programme d'ordinateur comportant des instructions pour l'exécution du procédé de communication selon les revendications 1, à 10, lorsque ledit programme est exécuté par un ordinateur.
FR1502196A 2015-10-19 2015-10-19 Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair Pending FR3042670A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1502196A FR3042670A1 (fr) 2015-10-19 2015-10-19 Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1502196A FR3042670A1 (fr) 2015-10-19 2015-10-19 Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair

Publications (1)

Publication Number Publication Date
FR3042670A1 true FR3042670A1 (fr) 2017-04-21

Family

ID=55646638

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1502196A Pending FR3042670A1 (fr) 2015-10-19 2015-10-19 Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair

Country Status (1)

Country Link
FR (1) FR3042670A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014095273A1 (fr) * 2012-12-19 2014-06-26 Peerialism AB Politique de demande de téléchargement vers l'aval basée sur une bande passante la plus élevée dans un réseau p2p de diffusion en continu et en direct

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014095273A1 (fr) * 2012-12-19 2014-06-26 Peerialism AB Politique de demande de téléchargement vers l'aval basée sur une bande passante la plus élevée dans un réseau p2p de diffusion en continu et en direct

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DI NIU ET AL: "Asymptotic rate limits for randomized broadcasting with network coding", COMMUNICATION, CONTROL, AND COMPUTING, 2009. ALLERTON 2009. 47TH ANNUAL ALLERTON CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 30 September 2009 (2009-09-30), pages 143 - 150, XP031616615, ISBN: 978-1-4244-5870-7 *

Similar Documents

Publication Publication Date Title
US9769536B2 (en) Method and system for adaptive virtual broadcasting of digital content
US8943215B2 (en) Distributed smooth streaming utilizing dynamic manifests
US9444866B2 (en) Network condition predictions for multimedia streaming
US8806049B2 (en) P2P-engine
FR2987147A1 (fr) Procede de mesure d'audience
US20230283817A1 (en) Transmission of applications with content
FR2988964A1 (fr) Technique de distribution d'un contenu video de type immersif
US9979988B2 (en) Program distribution service
EP3780632A1 (fr) Systeme de distribution d'un contenu audiovisuel
EP3732565B1 (fr) Reseau informatique d'infrastructures de ressources de calcul et procede d'affectation de ces ressources a des applications client
FR3042670A1 (fr) Procedes et dispositifs de communication pour ordonnancer la distribution de donnees dans un reseau pair-a-pair
EP2680603B1 (fr) Technique de traitement pour proposer un contenu temps réel à des entités clientes
EP3205067B1 (fr) Diffusion de contenus en streaming dans un réseau pair à pair
FR3042365A1 (fr) Systeme et procede de communication pour controler la repartition de la transmission de donnees sur plusieurs dispositifs
EP3563233A1 (fr) Reseau informatique d'infrastructures de ressources de calcul et procede d'affectation de ces ressources a des applications client
WO2015059041A1 (fr) Préextraction agressive
US11330228B1 (en) Perceived content quality through dynamic adjustment of processing settings
WO2024028472A1 (fr) Procédé de traitement d'une requête d'analyse statistique ou prédictive, procédé de communication et entités applicatives aptes à mettre en oeuvre ces procédés
WO2019179855A1 (fr) Procede de diffusion d'un contenu
WO2021209706A1 (fr) Gestion de l'accès à des contenus numériques accessibles en téléchargement progressif adaptatif et encodés selon une méthode d'encodage à débit variable, en fonction d'une charge réseau
FR3030982A1 (fr) Procede d'enregistrement automatique de contenus video recommandes, dispositif et produit programme d'ordinateur associes.
WO2020030882A2 (fr) Méthode et dispositif de diffusion de vidéo à 360 degrés
Ouyang On heterogeneous user demands in peer-to-peer video streaming systems
FR3124668A1 (fr) Procédé de contrôle de la livraison partagée d’un contenu
Hammami et al. Comprehensive study of buffering mechanisms in hybrid live P2P streaming protocol HLPSP

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170421

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

RX Complete rejection

Effective date: 20210819