WO2016156386A1 - System for broadcasting audio and/or video content via a local wifi network, and devices implementing the method - Google Patents

System for broadcasting audio and/or video content via a local wifi network, and devices implementing the method Download PDF

Info

Publication number
WO2016156386A1
WO2016156386A1 PCT/EP2016/056903 EP2016056903W WO2016156386A1 WO 2016156386 A1 WO2016156386 A1 WO 2016156386A1 EP 2016056903 W EP2016056903 W EP 2016056903W WO 2016156386 A1 WO2016156386 A1 WO 2016156386A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
content
request
transmitting
broadcast server
Prior art date
Application number
PCT/EP2016/056903
Other languages
French (fr)
Inventor
Frédéric BEAUCHAMP
Original Assignee
Tdf
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 Tdf filed Critical Tdf
Publication of WO2016156386A1 publication Critical patent/WO2016156386A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Definitions

  • the present invention relates more particularly to the fact that the different packets are sent by a streaming server to each terminal through a local Wifi network.
  • many terminals are present in an area managed by a streaming server. This is particularly the case where travelers are in the same vehicle, a train, a bus or a boat, or in a waiting room or a theater, for example.
  • the list of available services being limited, a number of terminals connect to the streaming server to receive the same content.
  • US 2012/066495 - HAO JACK published March 15, 2012 describes a system for transmitting encrypted content, through a wireless network.
  • a device receives a download request from a user terminal and transmits the requested content in encrypted form over a Peer To Peer link.
  • the present invention provides a solution that does not have the drawbacks described above, while offering the advantages listed below. above.
  • the proposed solution reduces the workload of the streaming server by reporting it to the terminals.
  • the present invention provides a method of transmitting a linear content from a broadcast server to a plurality of terminals using the Wifi network.
  • the method comprises a prior step of receiving said content by the broadcast server using a broadcast network a step of transmission by the broadcast server to a first terminal of said content in the form of a packet stream of data, a step of transmission by a second terminal of a request to the broadcast server to receive, by the Wifi network, the same content, said step of transmitting said request triggering a transmission step, by the server broadcast, a message identifying the first terminal as the transmitting terminal of this content, the second terminal then sending a request to receive this content to the first terminal to receive said content through a peer-to-peer link.
  • the broadcast server does not manage all the linear content transmission streams but entrusts some of them to the terminals connected to the Wifi network, thus freeing up the resources of the broadcast server which can use them for other tasks. .
  • the method comprises a step of managing a list at the broadcast server, said list associating a given content with at least one identifier of a terminal that receives from the broadcast server this content.
  • the step of transmitting a message, by the broadcast server, in response to a request sent by the second terminal to receive this content, comprises a substep of selection by the broadcast server selected in said list an identifier of a terminal that is associated with the requested content.
  • the broadcast server quickly determines the terminals capable of transmitting the requested content.
  • the method comprises a step of transmitting a message from a terminal to the broadcast server indicating that this terminal does not have the resources necessary to transmit to another terminal the content currently received and associated in the list, this information being entered into the list managed by the broadcast server, such a terminal not being selected by the broadcast server to transmit the content to another terminal.
  • the broadcast server does not indicate to a terminal an identifier of a terminal that actually receives the requested content but does not have the resources necessary to retransmit it.
  • the method comprises a step of transmitting a message from a terminal to the broadcast server indicating that this terminal has the resources necessary to transmit to another terminal a plurality of content currently received and associated in the list, this information being entered into the list managed by the broadcast server, such a terminal being selected by the broadcast server to transmit one of the contents to another terminal.
  • the method manages terminals having the necessary resources to retransmit several contents at the same time.
  • the method comprises the following steps:
  • true content transmission chains are formed to broadcast the different contents using peer-to-peer links.
  • the dynamic management of the peer-to-peer links between terminals for transmitting the content is done by the terminals themselves and not by the broadcast server.
  • the method comprises a step of counting the iterations, the following steps are triggered when the number of iterations reaches a determined maximum value:
  • the broadcast server manages the terminal chains transmitting the same content and stops the iterations within a chain when it includes a maximum number of terminals.
  • the message transmitted by the broadcast server in response to a request to receive a content by the Wifi network comprises a list of several terminals identified as terminals receiving said content, the requesting terminal of a content s'. addressing a first terminal of the list to receive this content and exploring a succession of terminals from this first terminal of the list by peer-to-peer links, a new request to receive this content to another first terminal of the list being triggered by the requesting terminal when the number of iterations reaches a determined maximum value without being able to receive the content.
  • each requesting terminal manages its own chain of terminals to receive the requested content and does not mobilize the resources of the broadcast server for this management.
  • the requesting terminal issues a request to receive the requested content directly from the broadcast server when no terminal of terminal successions starting with the first terminals of the list transmitted in the message, is available to transmit the requested content. In this way, even if no terminal already receiving the requested content is available, the broadcast server can still directly transmit this content.
  • the invention relates to a broadcast server receiving by means of reception of linear contents through a broadcast network and a communication means for transmitting and receiving messages to a plurality of terminals through a point of access. Wifi access.
  • the communication means transmits to a first terminal and at its request a content in the form of a stream of data packets.
  • the communication means receives from a second terminal a request to receive this same content by the Wi-Fi network, the reception of this request triggering the transmission by said communication means of a message identifying the first terminal as transmitting device of this content.
  • the invention relates to a terminal intended to receive at least one linear audio and / or video content originating from a broadcasting network comprising at least one data storage memory of the at least one content and one medium.
  • Wi-Fi communication to send and receive messages through a Wifi point.
  • the communication means transmits to a broadcast server a request to receive the at least one content in the form of a stream of data packets.
  • the communication means receives in response said data packets, said packets being stored in the data memory, said means subsequently receiving a request from another terminal to transmit to said other terminal said data packets previously stored in memory, said means transmitting in response said packets extracted from the data memory.
  • the invention relates to a program product computer downloadable from a communications network and / or stored on a computer readable medium and / or executable by a central unit.
  • Said computer program product comprises program instructions for implementing at least one step of the content transmission method as described above and in any one of the embodiments.
  • FIG. 1 shows an example of the main elements composing a system for broadcasting services to terminals
  • FIG. 2 represents an example of a flowchart of the main steps for the implementation of a method according to an embodiment
  • FIG. 3 represents a first state of the communication flows between terminals and the streaming server at a given instant
  • FIG. 4 represents a second state of the communication flows between terminals and the streaming server at another given instant
  • FIG. 5 illustrates the contents of a table for managing the broadcasting of services within a Wifi network.
  • the invention relates to a method for transmitting a linear content of a streaming server to a plurality of terminals using the Wifi network.
  • the streaming server transmits to a first terminal the requested content in the form of a stream of data packets.
  • a second terminal issues a request to the streaming server for receive the same content via the Wi-Fi network, the reception of this request triggering the transmission by the streaming server of a message identifying the first terminal as sending device of this content.
  • the second device then sends a request to receive this content to the first terminal to receive said content by the first terminal through a peer-to-peer link, and no longer by the streaming server.
  • part of the management load of broadcast content transmissions is transferred to the terminals of the network and thus the resources of the streaming server are less used.
  • the diffusion system illustrated in FIG. 1 notably comprises an HLS encoder 1 which receives a plurality of streams carrying services.
  • These services are, for example, audio and / or video channels, applications (teleshopping, traffic information, weather reports, .).
  • These services provide linear contents, that is to say, subject to the temporal constraint of being reproduced in near real time, the term "quasi" meaning that there may be a slight time difference between the emission by the head of network and reproduction at the terminal, such an offset being generally a few seconds, or even a few tens of seconds.
  • the data of the services are presented at the input of the encoder HLS 1 (acronym of "HTTP Live Streaming") which segments the audio and / or video content in a succession of packets (or "chunk” - this name will then be used in the rest of the document). Segmentation techniques are known per se, for example the HLS, DASH or Smooth Streaming algorithms.
  • Each chunk has a file data structure containing a payload (for example, audio and / or video data, with data synchronizing their reproduction - typically "timestamps"), a reference, and a source identifier ( typically the identifier of the associated service).
  • the stream is generally of the MPEG type.
  • Each chunk contains a succession of packets constituting an audio and / or video stream.
  • the duration of reproduction of the audio and / or video data of each chunk of the same service is the same, typically a few seconds.
  • Each chunk is organized into a file containing a set of audio and / or video data packets, and is identified chronologically by a reference. Having a nature of independent files, the chunks can be transmitted according to various ways and received non-chronologically by the terminal. The reference of each chunk makes it possible to reconstitute the sequencing of the data and to reproduce the content correctly.
  • the segmented contents of the services are transmitted to a server PUSH 2 to be broadcast to at least one broadcast server 3, which is the French translation of "streaming server", it is the Anglo-Saxon word that will subsequently be used .
  • the encoder HLS 1 and the server 2 constitute a broadcast headend. Broadcasting can be carried out by digital television broadcasting networks, such as DTT networks, implementing the DVB-T standard ("Digital Video Broadcasting - Terrestrial" for "digital terrestrial video broadcasting"). Broadcasting of data packets is specified by standards so as to be received by a large number of receivers of any type.
  • the network (terrestrial, satellite or cable) broadcasts audio and / or video content in data streams more commonly referred to as "service” and data intended to reference them.
  • the streaming server 3 has a central unit 4, a program memory 5 and a storage unit 6, typically one Hard disk.
  • the program memory 5 contains in particular a distributed service management application which constitutes one of the objects of the present invention.
  • the streaming server communicates with a Wifi point 7 managing a local Wifi network.
  • the set formed by the streaming server 3 and the access point Media 7 is designated by "Media Server” or “MS” abbreviated, it being understood that the set can be embodied by a single device, or by two devices independent and connected to each other.
  • the streams of chunks generated by the HLS encoder are transmitted by an HTTP server through a 3G / 4G network, ie a mobile telephone network, to be received by an access point.
  • a 3G / 4G network ie a mobile telephone network
  • the streaming server 3 unencapsulates the chunk received from the different streams, distributes them to reconstitute the services if necessary (when the broadcast data stream includes several multiplexed services) and stores them in a circular buffer memory 6.
  • This circular buffer organized in FiFo permanently contains a certain amount of chunks per service which corresponds to a fixed period of reproduction of these services, for example one hour. In this way, if each chunk of a service allows the reproduction of 20 seconds of contents, the buffer allowing a reproduction of one hour of this service contains 180 chunks.
  • the MS communicates with terminals such as smartphones 8 (or “smartphones” according to English terminology), computers 8a portable or not, 8 ter tablets, ...
  • terminals such as smartphones 8 (or “smartphones” according to English terminology), computers 8a portable or not, 8 ter tablets, ...
  • Each terminal (designated by the continued under the generic reference 8) uses the Wifi network managed by the access point 7 to transmit to the streaming server communication requests to receive duly referenced chunks.
  • the communications between terminals are peer-to-peer, which is the French translation of "peer to peer", it is the Anglo-Saxon term that will be used later.
  • Peer to peer communications are managed by the layer of Wifi communication without going through the streaming server 3.
  • the Wifi communication layer transmits the request to the streaming server. If the request is to receive chunks from a service currently broadcast, then the broadcast service management application searches in memory 6 the chunks requested by this terminal and transmits it through the Wifi point 7.
  • the terminals 8 When reproducing audio and / or video content, the terminals 8 requests bursts of three consecutive chunks (this figure being given as an example), and at the beginning of the reproduction of the third, asks for the following three chunks . If a small number of terminals interact via the Wi-Fi network with the streaming server 3, then the latter can manage requests and respond to their requests. In some cases, the number of terminals 8 is important and the resources of the streaming server 3 are insufficient to extract the chunks requested memory 6. This case occurs especially when the MS is placed in a vehicle occupied by many users of terminals 8, whether this vehicle is moving or not, or in a waiting room or show room.
  • the present invention makes it possible in particular to reduce the workload of the streaming server 3 by transferring a portion to the level of the terminals 8.
  • Fig. 2 shows an example of a flow chart showing the steps of implementation of the invention according to an exemplary embodiment.
  • the streaming server 3 and the terminals 8 download their broadcast service management applications, the downloading is carried out from a remote site, or from a hardware medium (USB key, smart card, CD, ).
  • a hardware medium USB key, smart card, CD, .
  • the streaming server 3 receives from the broadcast network at least one service.
  • the broadcast service management application then stores the chunks services in the memory 6 managed circularly, and updates a first table listing the services received from the broadcast network. If the function allowing to go back in the content is not available, only the last three chunks can be memorized, ie a duration of the order of 60 seconds. If the rollback function is provided, then the streaming server manager can significantly increase the number of chunks in the circularly managed memory 6 to extend the available time of the audio and / or video contents.
  • terminals 8 can interrogate the streaming server 3 via the Wifi network and its access point 7, and ask for a list of services currently available.
  • the streaming server returns the list extracted from the first table (step 2.2).
  • step 2.3 the user of the terminal TA requests the streaming server to receive the service SI which carries the audio and / or video content Cl.
  • the management application of the broadcast services verifies that the requested service is broadcast and that the corresponding chunks are present in the memory 6. If this is the case, the streaming server extracts from the memory 6 the last chunks of the requested service and requests the Wifi point to transmit them to TA (step 2.4) .
  • the streaming server updates the table indicating that the SI chunks are currently being transmitted to TA.
  • a second terminal TB requests the streaming server to receive the same service SI.
  • the streaming server consults the service configuration table, and notes that this service is already transmitted to the TA terminal.
  • step 2.6 the streaming server 3 then transmits to the terminal TB not the last chunks of the requested service but the terminal identifier TA, for example its IP_A address.
  • the terminal TB By receiving this identifier, the terminal TB requests the Wifi point 7 to establish a Peer-to-Peer connection Wifi with the terminal TA identified by the IP_A address and sends a request for receipt of the SI service.
  • the terminal TA responds to the terminal TB in step 2.7 by a message Peer to Peer indicating that he has the last elements of this service by specifying the numbers of chunks stored in his memory.
  • the terminal TB On receipt of the message, the terminal TB requests to receive a salvo of three chunks, preferably the last three received and stored by the terminal TA (step 2.8). The terminal TA then sends it to step 2.9.
  • Peer-to-peer exchanges between TA and TB are carried out through the Wifi point and without passing through the streaming server 3.
  • the service chunks to the terminal TB pass through the terminal TA.
  • the streaming server 3 ensures the supply of the chunks to a first terminal, but this terminal ensures the provision to the next terminal which reduces the workload to be executed by the streaming server.
  • the solution is generalized by creating a real chain where a second terminal called "current" receives from a first terminal said "previous" the chunks and transmits to a third terminal said "next" who requests it.
  • Some terminals 8 do not have the resources to manage the retransmission of a service to another terminal in Peer to Peer, or have simply not downloaded their management application broadcast services. According to an improvement, during the request to receive a service, such a terminal signals this fact to the streaming server 3 which records it in the table by associating it with this information. The streaming server does not select to retransmit a service a terminal that does not have the resources to perform such retransmission.
  • the present invention also covers the fact that a terminal can receive several services at the same time, and that it can therefore transmit the chunks of services received on request from possibly different terminals. This management is possible provided that the resources of the terminal allow it.
  • the streaming server transmits to the requesting terminal of a service several identifiers terminals. Peer-to-Peer connections are then established between the requesting terminal and the terminals identified by the streaming server. In this way, to receive a salvo of several chunks, a terminal requests a chunk (n) to a first terminal, the next chunk (n + 1) to a second and the next chunk (n + 2) to a third.
  • a terminal in the chain can interrupt the reception of the chunks, either by cutting the reception, or by withdrawing from the Wifi coverage, or by turning off the device.
  • the chain that is cut off must immediately re-form to continue transmitting the service to the chain terminals after the break.
  • Fig. 3 represents a local area network comprising a streaming server 3 and five terminals TA, TB, TC, TD and TD communicating with a Wifi point (not shown).
  • Fig. 3 shows the data paths at a specific instant, where the server-side streaming application manages the transmission of the chunks of two services: the service SI to the terminal TA, and the service S2 to the terminal TE.
  • TB receives via the Wifi point the chunks of the SI service transmitted by TA.
  • a single arrow TA to TB is represented when in fact the link between TA and TB passes through the access point Wifi 7.
  • TC receives from TB the chunks of the service SI and TD receives from TC the SI service chunks.
  • the table listing the services received from the broadcast network indicates that SI is transmitted to TA and that S2 is transmitted to TE.
  • TC transmits a request to the streaming server 3 to receive this service and the broadcast service management application responds to it by indicating to transmit its request to TE.
  • TC requests TE through a Peer to Peer link via the Wifi point to receive the chunks of the S2 service, and TC becomes the second terminal of the transmission chain of the S2 service.
  • TC no longer asks to receive the SI chunks from TB, and no longer has them in memory.
  • TD asks TC to send him SI chunks, TC either does not answer him, or responds that he does not have them.
  • TD then speaks to the streaming server 3 to request to receive SI.
  • the streaming server When reading the table, the streaming server responds to contact TA.
  • TA acknowledges that its distributed service management application is already busy transmitting SI chunks to TB, and responds to TD to address TB.
  • TD transmits its request to TB.
  • TB finding that he is the last in the chain, responds that he has the last chunks of this service and he is ready to transmit.
  • FIG. 4 intervenes quickly where two channels are operational, one to transmit SI from the streaming server 3 to TA, then to TB, then to TD, and another to transmit S2 from the streaming server 3 to TE, then to TC.
  • the management of the terminal chains is carried out entirely at the level of the application for managing the services broadcast, this application being resident in the streaming server which thus has the total knowledge of the flows between terminals of the Wi-Fi network and the composition of the various current channels.
  • the broadcast service management applications resident in the streaming server 3 and the terminals 8 limit the number of terminals forming a transmission chain of the audio and / or video contents. If a terminal finds that its sequence number in the chain exceeds the maximum number, for example, then it indicates this information to the streaming server.
  • the streaming server records the fact that this channel is complete and knows that it must no longer provide connections to this service through this terminal, at least over a period of time.
  • the streaming server transmits to the requesting terminal, either the identifier of another terminal to which it transmits the chunks of this service, or its own identifier indicating in this that assumes the management of this terminal and thus creates a new channel.
  • the streaming server transmits to a requesting terminal of a service a list of several terminal identifiers to which the streaming server is currently transmitting the requested service and which are therefore first terminals. of chain.
  • the calling terminal is addressed to a first terminal of the list and finds that the maximum number of terminals is reached or that no terminal in the chain has the necessary resources to transmit the service to it, so it decides to pass itself. to another first terminal in the list. If no terminal of the channels thus explored can deliver this service, then the requesting terminal transmits to the streaming server a request to create a new channel in which it is the first terminal.
  • Fig. 5 shows an example of a table listing the services received from the broadcast network, this table is updated by the management application of the broadcast services present in the streaming server 3.
  • the example presented shows four services broadcast and received by the streaming server.
  • a first service called “Weather Info” is transmitted to the terminal T1 having the IP address "IP_1”.
  • a second service called “Channel 1" is transmitted to the terminal T5 and terminal T18.
  • the table indicates that the chain that starts with the T5 terminal has reached its maximum number of terminals. If a terminal requests to receive this service, then the streaming server responds by transmitting the IP_18 address of the terminal T18.
  • a third service called “Channel 2" is not transmitted to any terminal.
  • a fourth service called “traffic information” is transmitted to terminals T3, T18 and T1.
  • the terminal T3 is marked as not connectable because it does not have the resources necessary to support the transmission of chunks to another terminal.
  • Terminal T18 is also marked as non-connectable because, already receiving the second service and retransmitting it to another terminal, it no longer has the resources to support the transmission of chunks to other terminals. If a terminal requests to receive this fourth service, then the streaming server transmits the Tl address. Note that Tl also receives the first service. Looking at the table, we can see that Tl has the resources to manage two service transmission chains.
  • the invention is not limited to the embodiments that have just been described.
  • any computer device interacting with a server via a Wi-Fi connection is capable of implementing the present invention.

Abstract

The invention relates to a method for transmitting linear audio and/or video content from a broadcast server to a plurality of terminals by using the Wifi network. First, the broadcast server transmits the requested content to a first terminal, in the form of a data packet stream. Next, a second terminal transmits a request to the broadcast server to receive the same content via the Wifi network, the reception of said request triggering the transmission, by the broadcast server, of a message identifying the first terminal as the terminal transmitting said content. The second terminal then transmits a request to receive said content to the first terminal in order to receive said content via a peer-to-peer link. In this way, part of the load of managing the transmission of broadcast content is transferred to the level of the network terminals, and the resources of the Wifi server are thus used less.

Description

Système de diffusion de contenus audio et/ou vidéo par un réseau Wifi local, et appareils mettant en œuvre le procédé.  System for broadcasting audio and / or video content via a local Wifi network, and apparatus implementing the method.
1. Domaine de l'invention 1. Field of the invention
L'invention concerne un procédé de diffusion d'un flux de services émis par une tête de réseau à destination d'une pluralité de terminaux, le flux de services transporte un contenu audio et/ou vidéo découpé en paquets de données et destinés à être reproduit au niveau des terminaux. La présente invention concerne plus particulièrement le fait que les différents paquets sont émis par un serveur de streaming vers chaque terminal à travers un réseau Wifi local.  Provided is a method of broadcasting a service stream transmitted by a head end to a plurality of terminals, the service flow carries audio and / or video content cut into data packets and intended to be reproduced at the terminals. The present invention relates more particularly to the fact that the different packets are sent by a streaming server to each terminal through a local Wifi network.
2. Art antérieur 2. Prior Art
De nos jours, Il existe de nombreux moyens de réaliser la transmission de contenus numériques, parmi lesquels les techniques se basant sur les standards issus des consortiums DVB (de l'anglais « Digital Video Broadcast » pour « Diffusion Video Numérique »). D'autres techniques de transmission de contenus sont aussi utilisées avec des réseaux fonctionnant à l'aide du protocole IP (de l'Anglais « Internet Protocol » pour « Protocole Internet »). Ces contenus sont transmis à l'aide d'un support matériel (un câble par exemple) ou immatériel (un réseau sans fil, généralement radio).  Nowadays, there are many ways to achieve the transmission of digital content, among which the techniques based on standards from consortia DVB (English "Digital Video Broadcast" for "Digital Video Broadcasting"). Other content transmission techniques are also used with networks operating using the IP protocol (from the English "Internet Protocol" for "Internet Protocol"). These contents are transmitted using a material medium (a cable for example) or intangible (a wireless network, usually radio).
De nombreuses personnes utilisent leur terminal pour recevoir en temps réel des services tels que des chaînes de télévision, des informations météo ou de trafic routier, les cotations boursières, l'état des arrivées de trains, ... Ces terminaux dialoguent très généralement par Wifi qui est un standard largement répandu de nos jours. En sélectionnant un service délivrant un contenu linéaire, c'est à dire destiné à être reproduit en temps réel ou avec un très léger retard dès sa réception, l'utilisateur demande à son terminal d'établir une liaison en unicast avec un serveur de streaming via un point d'accès Wifi détecté à proximité. Le service référence le contenu audio et/ou vidéo à transmettre en temps réel et le terminal reçoit les paquets transportant ce contenu. Many people use their terminal to receive real-time services such as television channels, weather or traffic information, stock quotes, the state of train arrivals, etc. These terminals communicate very generally via WiFi. which is a widespread standard nowadays. By selecting a service delivering a linear content, ie intended to be reproduced in real time or with a very slight delay as soon as it is received, the user asks his terminal to establish a unicast link with a streaming server via a Wifi point detected at proximity. The service references the audio and / or video content to be transmitted in real time and the terminal receives the packets carrying this content.
Dans certains cas, de nombreux terminaux sont présents dans une zone gérée par un serveur de streaming. C'est notamment le cas où des voyageurs se retrouvent dans un même véhicule, un train, un car ou un bateau, ou encore dans une salle d'attente ou une salle de spectacle, par exemple. La liste des services disponibles étant limitée, un certain nombre de terminaux se connectent au serveur de streaming pour recevoir le même contenu.  In some cases, many terminals are present in an area managed by a streaming server. This is particularly the case where travelers are in the same vehicle, a train, a bus or a boat, or in a waiting room or a theater, for example. The list of available services being limited, a number of terminals connect to the streaming server to receive the same content.
Pour épargner au serveur de streaming la gestion de nombreuses liaisons unicast, une solution simple consiste à transmettre vers les terminaux les contenus en multicast sur le réseau Wifi. Cependant, il s'avère que ce réseau supporte mal un tel mode de communication, et on constate de fréquentes pertes de données.  To save the streaming server the management of many unicast links, a simple solution is to transmit to the terminals the multicast content on the Wifi network. However, it turns out that this network does not support such a mode of communication, and there are frequent data losses.
Le document US 2012/066495 - HAO JACK publié le 15 Mars 2012 décrit un système de transmission d'un contenu crypté, à travers un réseau sans fil. Un appareil reçoit une demande de téléchargement provenant d'un terminal utilisateur et lui transmet par une liaison Peer To Peer le contenu demandé sous forme crypté.  US 2012/066495 - HAO JACK published March 15, 2012 describes a system for transmitting encrypted content, through a wireless network. A device receives a download request from a user terminal and transmits the requested content in encrypted form over a Peer To Peer link.
Le document US 2007/183342 - WONG HANSON publié le 9 Août 2007, décrit un procédé pour transmettre un contenu à travers un réseau P2P en provenance d'une plateforme. Ce document enseigne le chaînage consistant en ce qu'un terminal reçoive en streaming un contenu d'un terminal précédent et le retransmette en streaming à un terminal suivant.  US 2007/183342 - WONG HANSON, published August 9, 2007, describes a method for transmitting content over a P2P network from a platform. This document teaches chaining in that a terminal receives streaming content from a previous terminal and retransmits it streaming to a next terminal.
Il existe donc un réel besoin de mettre en œuvre un moyen de diffusion de contenus audio et/ou vidéo linéaires qui utilise le support du réseau Wifi et qui consomme un minimum des ressources du serveur de streaming.  There is therefore a real need to implement a means of broadcasting linear audio and / or video content that uses the support of the Wifi network and that consumes a minimum of the resources of the streaming server.
3. Objectifs de l'invention 3. Objectives of the invention
La présente invention apporte une solution qui ne présente pas les inconvénients décrits plus haut, tout en proposant les avantages listés ci- dessus. La solution proposée permet de diminuer la charge de travail du serveur de streaming en la reportant au niveau des terminaux. The present invention provides a solution that does not have the drawbacks described above, while offering the advantages listed below. above. The proposed solution reduces the workload of the streaming server by reporting it to the terminals.
4. Exposé de l'invention 4. Presentation of the invention
La présente invention propose un procédé de transmission d'un contenu linéaire d'un serveur de diffusion vers une pluralité de terminaux en utilisant le réseau Wifi. Le procédé comporte une étape préalable de réception dudit contenu par le serveur de diffusion à l'aide d'un réseau de diffusion une étape d'émission par le serveur de diffusion vers un premier terminal dudit contenu sous la forme d'un flux de paquets de données, une étape d'émission par un second terminal d'une requête vers le serveur de diffusion pour recevoir, par le réseau Wifi, ce même contenu, ladite étape d'émission de ladite requête déclenchant une étape de transmission, par le serveur de diffusion, d'un message identifiant le premier terminal comme terminal émetteur de ce contenu, le second terminal émettant alors une requête de réception de ce contenu vers le premier terminal pour recevoir ledit contenu à travers une liaison pair à pair.  The present invention provides a method of transmitting a linear content from a broadcast server to a plurality of terminals using the Wifi network. The method comprises a prior step of receiving said content by the broadcast server using a broadcast network a step of transmission by the broadcast server to a first terminal of said content in the form of a packet stream of data, a step of transmission by a second terminal of a request to the broadcast server to receive, by the Wifi network, the same content, said step of transmitting said request triggering a transmission step, by the server broadcast, a message identifying the first terminal as the transmitting terminal of this content, the second terminal then sending a request to receive this content to the first terminal to receive said content through a peer-to-peer link.
De cette manière, le serveur de diffusion ne gère pas l'ensemble des flux de transmission de contenus linéaires mais en confie une partie aux terminaux connectés au réseau Wifi, libérant ainsi des ressources du serveur de diffusion qui peut les utiliser pour d'autres taches.  In this way, the broadcast server does not manage all the linear content transmission streams but entrusts some of them to the terminals connected to the Wifi network, thus freeing up the resources of the broadcast server which can use them for other tasks. .
Selon un premier mode de réalisation, le procédé comporte une étape de gestion d'une liste au niveau du serveur de diffusion, ladite liste associant un contenu donné à au moins un identifiant d'un terminal qui reçoit du serveur de diffusion ce contenu. L'étape de transmission d'un message, par le serveur de diffusion, en réponse à une requête émise par le second terminal pour recevoir ce contenu, comporte une sous-étape de sélection par le serveur de diffusion sélectionne dans ladite liste un identifiant d'un terminal qui est associé au contenu demandé.  According to a first embodiment, the method comprises a step of managing a list at the broadcast server, said list associating a given content with at least one identifier of a terminal that receives from the broadcast server this content. The step of transmitting a message, by the broadcast server, in response to a request sent by the second terminal to receive this content, comprises a substep of selection by the broadcast server selected in said list an identifier of a terminal that is associated with the requested content.
De cette manière, le serveur de diffusion détermine rapidement les terminaux susceptibles de transmettre le contenu demandé. In this way, the broadcast server quickly determines the terminals capable of transmitting the requested content.
Selon un autre mode de réalisation, le procédé comporte une étape de transmission d'un message d'un terminal vers le serveur de diffusion indiquant que ce terminal n'a pas les ressources nécessaires pour transmettre à un autre terminal le contenu actuellement reçu et associé dans la liste, cette information étant introduite dans la liste gérée par le serveur de diffusion, un tel terminal n'étant pas sélectionné par le serveur de diffusion pour transmettre le contenu à un autre terminal.  According to another embodiment, the method comprises a step of transmitting a message from a terminal to the broadcast server indicating that this terminal does not have the resources necessary to transmit to another terminal the content currently received and associated in the list, this information being entered into the list managed by the broadcast server, such a terminal not being selected by the broadcast server to transmit the content to another terminal.
De cette manière, le serveur de diffusion n'indique pas à un terminal un identifiant d'un terminal qui reçoit effectivement le contenu demandé mais qui n'a pas les ressources nécessaires pour le retransmettre.  In this way, the broadcast server does not indicate to a terminal an identifier of a terminal that actually receives the requested content but does not have the resources necessary to retransmit it.
Selon un autre mode de réalisation, le procédé comporte une étape de transmission d'un message d'un terminal vers le serveur de diffusion indiquant que ce terminal possède les ressources nécessaires pour transmettre à un autre terminal une pluralité de contenus actuellement reçus et associés dans la liste, cette information étant introduite dans la liste gérée par le serveur de diffusion, un tel terminal étant sélectionné par le serveur de diffusion pour transmettre l'un des contenus à un autre terminal.  According to another embodiment, the method comprises a step of transmitting a message from a terminal to the broadcast server indicating that this terminal has the resources necessary to transmit to another terminal a plurality of content currently received and associated in the list, this information being entered into the list managed by the broadcast server, such a terminal being selected by the broadcast server to transmit one of the contents to another terminal.
De cette manière, le procédé gère des terminaux ayant les ressources nécessaires pour retransmettre plusieurs contenus en même temps.  In this way, the method manages terminals having the necessary resources to retransmit several contents at the same time.
Selon un autre mode de réalisation, le procédé comporte les étapes suivantes :  According to another embodiment, the method comprises the following steps:
- émission par un terminal demandeur d'un contenu vers un terminal dit « précédent » d'une requête pour recevoir ce contenu par une liaison pair à pair,  transmission by a requesting terminal of a content to a so-called "previous" terminal of a request to receive this content by a peer-to-peer link,
- émission par le terminal précédent en réponse à la requête d'un message indiquant de demander ce contenu à un terminal dit « suivant », le terminal précédent transmettant déjà ce contenu au terminal suivant,  transmission by the preceding terminal in response to the request of a message indicating to request this content to a so-called "next" terminal, the previous terminal already transmitting this content to the next terminal,
- réitération des deux étapes précédentes, le terminal suivant devenant le terminal précédent, jusqu'à ce qu'un terminal suivant transmette ledit contenu au terminal demandeur. repetition of the two previous steps, the next terminal becoming the preceding terminal, until a subsequent terminal transmits said content at the requesting terminal.
De cette manière, de véritables chaînes de transmission de contenus se constituent pour diffuser les différents contenus à l'aide de liaison pair à pair. La gestion dynamique des liaisons pair à pair entre terminaux pour transmettre le contenu s'effectue par les terminaux eux-mêmes et non par le serveur de diffusion.  In this way, true content transmission chains are formed to broadcast the different contents using peer-to-peer links. The dynamic management of the peer-to-peer links between terminals for transmitting the content is done by the terminals themselves and not by the broadcast server.
Selon un autre mode de réalisation, le procédé comporte une étape de comptage des itérations, les étapes suivantes sont déclenchées lorsque le nombre d'itérations atteint une valeur maximale déterminée :  According to another embodiment, the method comprises a step of counting the iterations, the following steps are triggered when the number of iterations reaches a determined maximum value:
- arrêt des itérations,  - stop iterations,
- recherche par le serveur de diffusion d'un autre premier terminal recevant le contenu du serveur,  - Search by the broadcast server of another first terminal receiving the content of the server,
- émission par le terminal demandeur d'une requête de réception de ce contenu vers cet autre premier terminal pour lui transmettre ledit contenu.  - sending by the requesting terminal a request to receive this content to the other first terminal to transmit said content.
De cette manière, le serveur de diffusion gère les chaînes de terminaux transmettant un même contenu et stoppe les itérations au sein d'une chaîne lorsque celle-ci comporte un nombre maximal de terminaux.  In this way, the broadcast server manages the terminal chains transmitting the same content and stops the iterations within a chain when it includes a maximum number of terminals.
Selon un autre mode de réalisation, le message transmis par le serveur de diffusion en réponse à une requête pour recevoir par le réseau Wifi un contenu comporte une liste de plusieurs terminaux identifiés comme terminaux recevant ledit contenu, le terminal demandeur d'un contenu s'adressant à un premier terminal de la liste pour recevoir ce contenu et explorant une succession de terminaux à partir de ce premier terminal de la liste par des liaisons pair à pair, une nouvelle requête de réception de ce contenu vers un autre premier terminal de la liste étant déclenchée par le terminal demandeur lorsque le nombre d'itérations atteint une valeur maximale déterminée sans avoir pu recevoir le contenu. De cette manière, chaque terminal demandeur gère sa propre chaîne de terminaux pour recevoir le contenu demandé et ne mobilise pas les ressources du serveur de diffusion pour assurer cette gestion.  According to another embodiment, the message transmitted by the broadcast server in response to a request to receive a content by the Wifi network comprises a list of several terminals identified as terminals receiving said content, the requesting terminal of a content s'. addressing a first terminal of the list to receive this content and exploring a succession of terminals from this first terminal of the list by peer-to-peer links, a new request to receive this content to another first terminal of the list being triggered by the requesting terminal when the number of iterations reaches a determined maximum value without being able to receive the content. In this way, each requesting terminal manages its own chain of terminals to receive the requested content and does not mobilize the resources of the broadcast server for this management.
Selon un autre mode de réalisation, le terminal demandeur émet une requête pour recevoir directement du serveur de diffusion le contenu demandé lorsqu'aucun terminal des successions de terminaux commençant par les premiers terminaux de la liste transmise dans le message, n'est disponible pour transmettre le contenu demandé. De cette manière, même si aucun terminal recevant déjà le contenu demandé n'est disponible, le serveur de diffusion peut toujours directement transmettre ce contenu. According to another embodiment, the requesting terminal issues a request to receive the requested content directly from the broadcast server when no terminal of terminal successions starting with the first terminals of the list transmitted in the message, is available to transmit the requested content. In this way, even if no terminal already receiving the requested content is available, the broadcast server can still directly transmit this content.
Selon un autre aspect, l'invention concerne un serveur de diffusion recevant par un moyen de réception des contenus linéaires à travers un réseau de diffusion et un moyen de communication pour émettre et recevoir des messages vers une pluralité de terminaux à travers un point d'accès Wifi. Le moyen de communication émet vers un premier terminal et à sa demande un contenu sous la forme d'un flux de paquets de données. Le moyen de communication reçoit d'un second terminal une requête pour recevoir ce même contenu par le réseau Wifi, la réception de cette requête déclenchant la transmission par ledit moyen de communication d'un message identifiant le premier terminal comme appareil émetteur de ce contenu.  According to another aspect, the invention relates to a broadcast server receiving by means of reception of linear contents through a broadcast network and a communication means for transmitting and receiving messages to a plurality of terminals through a point of access. Wifi access. The communication means transmits to a first terminal and at its request a content in the form of a stream of data packets. The communication means receives from a second terminal a request to receive this same content by the Wi-Fi network, the reception of this request triggering the transmission by said communication means of a message identifying the first terminal as transmitting device of this content.
Selon un autre aspect, l'invention concerne un terminal destiné à recevoir au moins un contenu audio et/ou vidéo linéaire provenant d'un réseau de diffusion comportant au moins une mémoire de stockage de données de l'au moins un contenu et un moyen de communication par Wifi pour émettre et recevoir des messages à travers un point d'accès Wifi. Le moyen de communication émet vers un serveur de diffusion une requête pour recevoir l'au moins un contenu sous la forme d'un flux de paquets de données. Le moyen de communication reçoit en réponse lesdits paquets de données, les dits paquets étant stockés dans la mémoire de données, ledit moyen recevant ultérieurement une requête provenant d'un autre terminal pour transmettre à cet autre terminal lesdits paquets de données précédemment stockés en mémoire, ledit moyen émettant en réponse lesdits paquets extraits de la mémoire de données.  According to another aspect, the invention relates to a terminal intended to receive at least one linear audio and / or video content originating from a broadcasting network comprising at least one data storage memory of the at least one content and one medium. Wi-Fi communication to send and receive messages through a Wifi point. The communication means transmits to a broadcast server a request to receive the at least one content in the form of a stream of data packets. The communication means receives in response said data packets, said packets being stored in the data memory, said means subsequently receiving a request from another terminal to transmit to said other terminal said data packets previously stored in memory, said means transmitting in response said packets extracted from the data memory.
Selon un autre aspect, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communications et/ou stocké sur un support lisible par ordinateur et/ou exécutable par une unité centrale. Ledit produit programme d'ordinateur comprend des instructions de programme pour la mise en œuvre d'au moins une étape du procédé de transmission d'un contenu tel que décrit précédemment et selon l'un quelconque des modes de réalisation. According to another aspect, the invention relates to a program product computer downloadable from a communications network and / or stored on a computer readable medium and / or executable by a central unit. Said computer program product comprises program instructions for implementing at least one step of the content transmission method as described above and in any one of the embodiments.
5. Liste des figures 5. List of figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :  Other features and advantages of the invention will appear more clearly on reading the following description of a particular embodiment, given as a simple illustrative and nonlimiting example, and the appended drawings, among which:
- la figure 1 présente un exemple des principaux éléments composant un système pour diffuser des services à des terminaux,  FIG. 1 shows an example of the main elements composing a system for broadcasting services to terminals,
- la figure 2 représente un exemple d'ordinogramme des principales étapes pour la mise en œuvre d'un procédé selon un mode de réalisation,  FIG. 2 represents an example of a flowchart of the main steps for the implementation of a method according to an embodiment,
- la figure 3 représente un premier état des flux de communication entre des terminaux et le serveur de streaming à un instant donné,  FIG. 3 represents a first state of the communication flows between terminals and the streaming server at a given instant,
- la figure 4 représente un second état des flux de communication entre des terminaux et le serveur de streaming à un autre instant donné,  FIG. 4 represents a second state of the communication flows between terminals and the streaming server at another given instant,
- la figure 5 illustre le contenu d'un tableau pour la gestion de la diffusion de services au sein d'un réseau Wifi.  FIG. 5 illustrates the contents of a table for managing the broadcasting of services within a Wifi network.
6. Description d'un mode de réalisation de l'invention 6. Description of an embodiment of the invention
6.1 Principe général  6.1 General principle
L'invention concerne un procédé de transmission d'un contenu linéaire d'un serveur de streaming vers une pluralité de terminaux en utilisant le réseau Wifi. Dans un premier temps, le serveur de streaming émet vers un premier terminal le contenu demandé sous la forme d'un flux de paquets de données. Puis, un second terminal émet une requête vers le serveur de streaming pour recevoir par le réseau Wifi ce même contenu, la réception de cette requête déclenchant la transmission par le serveur de streaming d'un message identifiant le premier terminal comme appareil émetteur de ce contenu. Le second appareil émet alors une requête de réception de ce contenu vers le premier terminal pour recevoir ledit contenu par ce premier terminal à travers une liaison pair à pair, et non plus par le serveur de streaming. The invention relates to a method for transmitting a linear content of a streaming server to a plurality of terminals using the Wifi network. Initially, the streaming server transmits to a first terminal the requested content in the form of a stream of data packets. Then, a second terminal issues a request to the streaming server for receive the same content via the Wi-Fi network, the reception of this request triggering the transmission by the streaming server of a message identifying the first terminal as sending device of this content. The second device then sends a request to receive this content to the first terminal to receive said content by the first terminal through a peer-to-peer link, and no longer by the streaming server.
De cette manière, une partie de la charge de gestion des transmissions de contenus diffusés est transférée au niveau des terminaux du réseau et ainsi les ressources du serveur de streaming sont moins utilisées.  In this way, part of the management load of broadcast content transmissions is transferred to the terminals of the network and thus the resources of the streaming server are less used.
6.2 Mode particulier de réalisation 6.2 Particular embodiment
Le système de diffusion illustré par la Fig. 1 comporte notamment un encodeur HLS 1 qui reçoit une pluralité de flux transportant des services. Ces services sont par exemple des chaînes audio et/ou vidéo, des applications (de télé-achat, d'information trafic routier, des bulletins météorologiques, ....). Ces services fournissent des contenus linéaires, c'est à dire, soumis à la contrainte temporelle d'être reproduits en quasi temps réel, le terme « quasi » signifiant qu'il peut exister un léger décalage temporel entre l'émission par la tête de réseau et la reproduction au niveau du terminal, un tel décalage étant généralement de quelques secondes, voire quelques dizaines de secondes. Les données des services sont présentées à l'entrée de l'encodeur HLS 1 (acronyme de « HTTP Live Streaming ») qui segmente le contenu audio et/ou vidéo en une succession de paquets (ou « chunk » - cette appellation sera ensuite utilisée dans le reste du document). Les techniques de segmentation sont connues en soi, on peut citer par exemple les algorithmes HLS, DASH ou encore, Smooth Streaming. Chaque chunk dispose d'une structure de données de fichier contenant une charge utile (par exemple, les données audio et /ou vidéo, avec les données synchronisant leur reproduction - des « timestamps » typiquement), une référence, et un identifiant de source (typiquement l'identifiant du service associé). Dans le cas d'un contenu audio et/ou vidéo, le flux est généralement de type MPEG. Chaque chunk contient une succession de paquets constituant un flux audio et/ou vidéo. La durée de reproduction des données audio et/ou vidéo de chaque chunk d'un même service est la même, typiquement quelques secondes. Chaque chunk est organisé en un fichier contenant un ensemble de paquets de données audio et/ou vidéo, et est identifié chronologiquement par une référence. Ayant une nature de fichiers indépendants, les chunks peuvent être transmis selon des chemins divers et reçus non-chronologiquement par le terminal. La référence de chaque chunk permet de reconstituer le séquencement des données et de reproduire correctement le contenu. The diffusion system illustrated in FIG. 1 notably comprises an HLS encoder 1 which receives a plurality of streams carrying services. These services are, for example, audio and / or video channels, applications (teleshopping, traffic information, weather reports, ....). These services provide linear contents, that is to say, subject to the temporal constraint of being reproduced in near real time, the term "quasi" meaning that there may be a slight time difference between the emission by the head of network and reproduction at the terminal, such an offset being generally a few seconds, or even a few tens of seconds. The data of the services are presented at the input of the encoder HLS 1 (acronym of "HTTP Live Streaming") which segments the audio and / or video content in a succession of packets (or "chunk" - this name will then be used in the rest of the document). Segmentation techniques are known per se, for example the HLS, DASH or Smooth Streaming algorithms. Each chunk has a file data structure containing a payload (for example, audio and / or video data, with data synchronizing their reproduction - typically "timestamps"), a reference, and a source identifier ( typically the identifier of the associated service). In the case of audio and / or video content, the stream is generally of the MPEG type. Each chunk contains a succession of packets constituting an audio and / or video stream. The duration of reproduction of the audio and / or video data of each chunk of the same service is the same, typically a few seconds. Each chunk is organized into a file containing a set of audio and / or video data packets, and is identified chronologically by a reference. Having a nature of independent files, the chunks can be transmitted according to various ways and received non-chronologically by the terminal. The reference of each chunk makes it possible to reconstitute the sequencing of the data and to reproduce the content correctly.
Les contenus segmentés des services sont transmis à un serveur PUSH 2 pour être diffusés vers au moins un serveur de diffusion 3, qui est la traduction française de « serveur de streaming » , c'est le terme anglo-saxon qui sera par la suite utilisé. L'encodeur HLS 1 et le serveur 2 constituent une tête de réseau de diffusion. La diffusion peut s'effectuer par des réseaux de diffusion de télévision numérique, comme les réseaux TNT, mettant en oeuvre la norme DVB-T ("Digital Video Broadcasting - Terrestrial" pour "diffusion vidéo numérique terrestre"). La diffusion de paquets de données est spécifiée par des standards de façon à être reçu par un grand nombre de récepteurs de tout type. Le réseau (terrestre, satellite ou câble) diffuse des contenus audio et/ou vidéo dans des flux de données plus communément appelés « service » et des données destinées à les référencer. Ces données sont par exemple définies dans les spécifications DVB-SI ('Digital Video Broadcast - spécification for Service Information') ou encore 'diffusion de vidéo numérique - spécification des Données de Service' EN 300 468 VI.3.1 (éditée par l'ETSI) et la norme « Technologies de l'information - Codage générique des images animées et du son associé : Système », référencée MPEG ISO/CEI 13818-1, 2nd édition publié le lier décembre 2000.  The segmented contents of the services are transmitted to a server PUSH 2 to be broadcast to at least one broadcast server 3, which is the French translation of "streaming server", it is the Anglo-Saxon word that will subsequently be used . The encoder HLS 1 and the server 2 constitute a broadcast headend. Broadcasting can be carried out by digital television broadcasting networks, such as DTT networks, implementing the DVB-T standard ("Digital Video Broadcasting - Terrestrial" for "digital terrestrial video broadcasting"). Broadcasting of data packets is specified by standards so as to be received by a large number of receivers of any type. The network (terrestrial, satellite or cable) broadcasts audio and / or video content in data streams more commonly referred to as "service" and data intended to reference them. These data are for example defined in the DVB-SI ('Digital Video Broadcast - Specification for Service Information') or 'Digital Video Broadcasting - Specification of Service Data' specification EN 300 468 VI.3.1 (published by ETSI ) and the "Information technology - Generic coding of moving pictures and associated audio: System" standard, referenced MPEG ISO / IEC 13818-1, 2nd edition published on December 1, 2000.
Le serveur de streaming 3 dispose d'une unité centrale 4, d'une mémoire de programme 5 et d'une unité de mémorisation 6, typiquement un disque dur. La mémoire de programme 5 contient notamment une application de gestion des services diffusés qui constitue un des objets de la présente invention. Le serveur de streaming communique avec un point d'accès Wifi 7 gérant un réseau Wifi local. L'ensemble formé par le serveur de streaming 3 et le point d'accès Média 7 est désigné par « Média Serveur » ou « MS » en abrégé, étant entendu que l'ensemble peut se concrétiser par un seul appareil, ou par deux appareils indépendants et connectés entre eux. The streaming server 3 has a central unit 4, a program memory 5 and a storage unit 6, typically one Hard disk. The program memory 5 contains in particular a distributed service management application which constitutes one of the objects of the present invention. The streaming server communicates with a Wifi point 7 managing a local Wifi network. The set formed by the streaming server 3 and the access point Media 7 is designated by "Media Server" or "MS" abbreviated, it being understood that the set can be embodied by a single device, or by two devices independent and connected to each other.
Selon une variante de réalisation, les flux de chunks générés par l'encodeur HLS sont émis par un serveur HTTP à travers un réseau 3G/4G, c'est à dire un réseau de téléphonie mobile, pour être reçus par un point d'accès Wifi.  According to an alternative embodiment, the streams of chunks generated by the HLS encoder are transmitted by an HTTP server through a 3G / 4G network, ie a mobile telephone network, to be received by an access point. Wireless.
Quel que soit son type, le serveur de streaming 3 désencapsule les chunk reçus des différents flux, les répartit pour reconstituer les services le cas échéant (lorsque le flux de données diffusés comporte plusieurs services multiplexés) et les mémorisent dans un buffer circulaire de la mémoire 6. Ce buffer circulaire organisé en FiFo (« First In First Out ») contient en permanence une certaine quantité de chunks par service ce qui correspond à une durée déterminée de reproduction de ces services, par exemple une heure. De cette manière, si chaque chunk d'un service permet la reproduction de 20 secondes de contenus, le buffer permettant une reproduction d'une heure de ce service contient 180 chunks.  Whatever its type, the streaming server 3 unencapsulates the chunk received from the different streams, distributes them to reconstitute the services if necessary (when the broadcast data stream includes several multiplexed services) and stores them in a circular buffer memory 6. This circular buffer organized in FiFo ("First In First Out") permanently contains a certain amount of chunks per service which corresponds to a fixed period of reproduction of these services, for example one hour. In this way, if each chunk of a service allows the reproduction of 20 seconds of contents, the buffer allowing a reproduction of one hour of this service contains 180 chunks.
Au niveau local, le MS dialogue avec des terminaux tels que des ordiphones 8 (ou « smartphone » selon une terminologie anglo-saxonne), des ordinateurs 8 bis portables ou non, des tablettes 8 ter, ... Chaque terminal (désigné par la suite sous la référence générique 8) utilise le réseau Wifi géré par le point d'accès 7 pour transmettre au serveur de streaming des requêtes de communication afin de recevoir des chunks dûment référencés. Les communications entre terminaux sont de type de pair à pair, qui est la traduction française de « peer to peer» , c'est le terme anglo-saxon qui sera par la suite utilisé. Les communications peer to peer sont gérées par la couche de communication Wifi sans passer par le serveur de streaming 3. At the local level, the MS communicates with terminals such as smartphones 8 (or "smartphones" according to English terminology), computers 8a portable or not, 8 ter tablets, ... Each terminal (designated by the continued under the generic reference 8) uses the Wifi network managed by the access point 7 to transmit to the streaming server communication requests to receive duly referenced chunks. The communications between terminals are peer-to-peer, which is the French translation of "peer to peer", it is the Anglo-Saxon term that will be used later. Peer to peer communications are managed by the layer of Wifi communication without going through the streaming server 3.
Lorsque le MS reçoit une requête d'un terminal 8 en spécifiant l'adresse IP du serveur de streaming, la couche de communication Wifi transmet la requête au serveur de streaming. Si la requête consiste à recevoir des chunks d'un service actuellement diffusé, alors l'application de gestion des services diffusés recherche dans la mémoire 6 les chunks demandés par ce terminal et lui transmet à travers le point d'accès Wifi 7.  When the MS receives a request from a terminal 8 specifying the IP address of the streaming server, the Wifi communication layer transmits the request to the streaming server. If the request is to receive chunks from a service currently broadcast, then the broadcast service management application searches in memory 6 the chunks requested by this terminal and transmits it through the Wifi point 7.
Après avoir détaillé les principaux éléments constitutifs du système, nous allons maintenant expliquer comment ceux-ci coopèrent.  After having detailed the main elements of the system, we will now explain how these co-operate.
Lors de la reproduction d'un contenu audio et/ou vidéo, les terminaux 8 demande des salves de trois chunks consécutifs (ce chiffre étant donné à titre d'exemple), et au début de la reproduction du troisième, demande les trois chunks suivants. Si un petit nombre de terminaux dialoguent par le réseau Wifi avec le serveur de streaming 3, alors ce dernier peut assurer la gestion des requêtes et répondre à leurs demandes. Dans certains cas, le nombre de terminaux 8 est important et les ressources du serveur de streaming 3 sont insuffisantes pour extraire les chunks demandés de la mémoire 6. Ce cas intervient notamment lorsque le MS est placé dans un véhicule occupé par de nombreux utilisateurs de terminaux 8, que ce véhicule soit en mouvement ou non, ou dans une salle d'attente ou de spectacle.  When reproducing audio and / or video content, the terminals 8 requests bursts of three consecutive chunks (this figure being given as an example), and at the beginning of the reproduction of the third, asks for the following three chunks . If a small number of terminals interact via the Wi-Fi network with the streaming server 3, then the latter can manage requests and respond to their requests. In some cases, the number of terminals 8 is important and the resources of the streaming server 3 are insufficient to extract the chunks requested memory 6. This case occurs especially when the MS is placed in a vehicle occupied by many users of terminals 8, whether this vehicle is moving or not, or in a waiting room or show room.
La présente invention permet notamment de diminuer la charge de travail du serveur de streaming 3 en reportant une partie au niveau des terminaux 8.  The present invention makes it possible in particular to reduce the workload of the streaming server 3 by transferring a portion to the level of the terminals 8.
La Fig. 2 présente un exemple d'ordinogramme montrant les étapes de mise en œuvre de l'invention selon un exemple de réalisation. Selon une étape préalable, le serveur de streaming 3 et les terminaux 8 téléchargent leurs applications de gestion des services diffusés, le téléchargement s'effectue à partir d'un site distant, ou d'un support matériel (clef USB, carte à puce, CD, ...).  Fig. 2 shows an example of a flow chart showing the steps of implementation of the invention according to an exemplary embodiment. According to a preliminary step, the streaming server 3 and the terminals 8 download their broadcast service management applications, the downloading is carried out from a remote site, or from a hardware medium (USB key, smart card, CD, ...).
A l'étape 2.1, le serveur de streaming 3 reçoit du réseau de diffusion au moins un service. L'application de gestion des services diffusés stocke alors les chunks des services dans la mémoire 6 gérée circulairement, et met à jour un premier tableau listant les services reçus du réseau de diffusion. Si la fonction permettant de revenir en arrière dans le contenu n'est pas disponible, seuls les trois derniers chunks peuvent être mémorisés, soit une durée de l'ordre de 60 secondes. Si la fonction de retour en arrière est proposée, alors le gestionnaire du serveur de streaming peut augmenter considérablement le nombre de chunks dans la mémoire 6 gérée circulairement pour allonger la durée disponible des contenus audio et/ou vidéo. A tout moment, des terminaux 8 peuvent interroger le serveur de streaming 3 via le réseau Wifi et son point d'accès 7, et lui demander la liste des services actuellement disponibles. Le serveur de streaming renvoie la liste extraite du premier tableau (étape 2.2). In step 2.1, the streaming server 3 receives from the broadcast network at least one service. The broadcast service management application then stores the chunks services in the memory 6 managed circularly, and updates a first table listing the services received from the broadcast network. If the function allowing to go back in the content is not available, only the last three chunks can be memorized, ie a duration of the order of 60 seconds. If the rollback function is provided, then the streaming server manager can significantly increase the number of chunks in the circularly managed memory 6 to extend the available time of the audio and / or video contents. At any time, terminals 8 can interrogate the streaming server 3 via the Wifi network and its access point 7, and ask for a list of services currently available. The streaming server returns the list extracted from the first table (step 2.2).
A l'étape 2.3, l'utilisateur du terminal TA demande au serveur de streaming de recevoir le Service SI qui transporte le contenu audio et/ou vidéo Cl. L'application de gestion des services diffusés vérifie que le service demandé est diffusé et que les chunks correspondants sont bien présents dans la mémoire 6. Si c'est le cas, le serveur de streaming extrait de la mémoire 6 les derniers chunks du service demandé et demande au point d'accès Wifi de les émettre vers TA (étape 2.4). Le serveur de streaming met à jour le tableau indiquant que les chunks du service SI sont actuellement transmis à TA. A une étape ultérieure 2.5, un second terminal TB demande au serveur de streaming de recevoir le même service SI. Le serveur de streaming consulte le tableau de configuration des services, et constate que ce service est déjà transmis vers le terminal TA. A l'étape 2.6, le serveur de streaming 3 transmet alors au terminal TB non pas les derniers chunks du service demandé mais l'identifiant du terminal TA, par exemple son adresse IP_A.  In step 2.3, the user of the terminal TA requests the streaming server to receive the service SI which carries the audio and / or video content Cl. The management application of the broadcast services verifies that the requested service is broadcast and that the corresponding chunks are present in the memory 6. If this is the case, the streaming server extracts from the memory 6 the last chunks of the requested service and requests the Wifi point to transmit them to TA (step 2.4) . The streaming server updates the table indicating that the SI chunks are currently being transmitted to TA. At a later step 2.5, a second terminal TB requests the streaming server to receive the same service SI. The streaming server consults the service configuration table, and notes that this service is already transmitted to the TA terminal. In step 2.6, the streaming server 3 then transmits to the terminal TB not the last chunks of the requested service but the terminal identifier TA, for example its IP_A address.
En recevant cet identifiant, le terminal TB demande au point d'accès Wifi 7 d'établir une liaison Peer to Peer en Wifi avec le terminal TA identifié par l'adresse IP_A et lui transmet une demande de réception du service SI. Recevant déjà les chunks de ce service et les stockant temporairement dans sa mémoire, le terminal TA répond au terminal TB à l'étape 2.7 par un message Peer to Peer indiquant qu'il possède bien les derniers éléments de ce service en spécifiant les numéros des chunks stockés dans sa mémoire. A la réception du message, le terminal TB demande à recevoir une salve de trois chunks, de préférence les trois derniers reçus et stockés par le terminal TA (étape 2.8). Le terminal TA lui envoie alors à l'étape 2.9. By receiving this identifier, the terminal TB requests the Wifi point 7 to establish a Peer-to-Peer connection Wifi with the terminal TA identified by the IP_A address and sends a request for receipt of the SI service. Already receiving the chunks of this service and storing them temporarily in its memory, the terminal TA responds to the terminal TB in step 2.7 by a message Peer to Peer indicating that he has the last elements of this service by specifying the numbers of chunks stored in his memory. On receipt of the message, the terminal TB requests to receive a salvo of three chunks, preferably the last three received and stored by the terminal TA (step 2.8). The terminal TA then sends it to step 2.9.
Les échanges en Peer to Peer entre TA et TB s'effectuent à travers le point d'accès Wifi et sans passer par le serveur de streaming 3. Les chunks du service à destination du terminal TB transitent par le terminal TA. De cette manière, le serveur de streaming 3 assure la fourniture des chunks à un premier terminal, mais ce terminal assure la fourniture au terminal suivant ce qui diminue la charge de travail à exécuter par le serveur de streaming. Bien évidemment, la solution se généralise en créant une véritable chaîne où un second terminal dit « courant » reçoit d'un premier terminal dit « précédent » les chunks et les transmet à un troisième terminal dit « suivant » qui lui en fait la demande.  Peer-to-peer exchanges between TA and TB are carried out through the Wifi point and without passing through the streaming server 3. The service chunks to the terminal TB pass through the terminal TA. In this way, the streaming server 3 ensures the supply of the chunks to a first terminal, but this terminal ensures the provision to the next terminal which reduces the workload to be executed by the streaming server. Of course, the solution is generalized by creating a real chain where a second terminal called "current" receives from a first terminal said "previous" the chunks and transmits to a third terminal said "next" who requests it.
Certains terminaux 8 ne disposent pas des ressources permettant de gérer la retransmission d'un service vers un autre terminal en Peer to Peer, ou n'ont tout simplement pas téléchargé leur application de gestion des services diffusés. Selon un perfectionnement, lors de la requête pour recevoir un service, un tel terminal signale ce fait au serveur de streaming 3 qui l'enregistre dans le tableau en lui associant cette information. Le serveur de streaming ne sélectionne pas pour retransmettre un service un terminal qui ne dispose pas des ressources pour réaliser une telle retransmission.  Some terminals 8 do not have the resources to manage the retransmission of a service to another terminal in Peer to Peer, or have simply not downloaded their management application broadcast services. According to an improvement, during the request to receive a service, such a terminal signals this fact to the streaming server 3 which records it in the table by associating it with this information. The streaming server does not select to retransmit a service a terminal that does not have the resources to perform such retransmission.
La présente invention couvre également le fait qu'un terminal peut recevoir plusieurs services en même temps, et qu'il peut de ce fait transmettre à la demande de terminaux éventuellement différents les chunks des services reçus. Cette gestion est possible à condition que les ressources du terminal le permettent.  The present invention also covers the fact that a terminal can receive several services at the same time, and that it can therefore transmit the chunks of services received on request from possibly different terminals. This management is possible provided that the resources of the terminal allow it.
Selon un autre mode de réalisation, à l'étape 2.6, le serveur de streaming transmet au terminal demandeur d'un service plusieurs identifiants de terminaux. Des liaisons Peer-toPeer s'établissent alors entre le terminal demandeur et les terminaux identifiés par le serveur de streaming. De cette manière, pour recevoir une salve de plusieurs chunks, un terminal demande un chunk (n) à un premier terminal, le chunk suivant (n+1) à un second et le chunk suivant (n+2) à un troisième. According to another embodiment, in step 2.6, the streaming server transmits to the requesting terminal of a service several identifiers terminals. Peer-to-Peer connections are then established between the requesting terminal and the terminals identified by the streaming server. In this way, to receive a salvo of several chunks, a terminal requests a chunk (n) to a first terminal, the next chunk (n + 1) to a second and the next chunk (n + 2) to a third.
Au bout d'un certain temps, de véritables chaînes de terminaux se constituent pour diffuser les services au sein du réseau Wifi. A tout moment, un terminal de la chaîne peut interrompre la réception des chunks, soit en coupant la réception, soit en se retirant de la couverture Wifi, soit en éteignant l'appareil. La chaîne qui est coupée doit se reformer immédiatement pour continuer à transmettre le service aux terminaux de la chaîne situés après la coupure.  After a while, real chains of terminals are formed to broadcast the services within the Wifi network. At any time, a terminal in the chain can interrupt the reception of the chunks, either by cutting the reception, or by withdrawing from the Wifi coverage, or by turning off the device. The chain that is cut off must immediately re-form to continue transmitting the service to the chain terminals after the break.
La Fig. 3 représente un réseau local comportant un serveur de streaming 3 et cinq terminaux TA, TB, TC, TD et TD communiquant avec un point d'accès Wifi (non représenté). La Fig. 3 montre les chemins des données à un instant précis, où l'application côté serveur de streaming gère la transmission des chunks de deux services : le service SI vers le terminal TA, et le service S2 vers le terminal TE. TB reçoit via le point d'accès Wifi les chunks du service SI transmis par TA. Pour ne pas alourdir la figure, une seule flèche de TA vers TB est représentée alors que dans les faits, la liaison entre TA et TB transite par le point d'accès Wifi 7. TC reçoit de TB les chunks du service SI et TD reçoit de TC les chunks du service SI. Le tableau listant les services reçus du réseau de diffusion indique que SI est transmis à TA et que S2 est transmis à TE. Fig. 3 represents a local area network comprising a streaming server 3 and five terminals TA, TB, TC, TD and TD communicating with a Wifi point (not shown). Fig. 3 shows the data paths at a specific instant, where the server-side streaming application manages the transmission of the chunks of two services: the service SI to the terminal TA, and the service S2 to the terminal TE. TB receives via the Wifi point the chunks of the SI service transmitted by TA. To avoid burdening the figure, a single arrow TA to TB is represented when in fact the link between TA and TB passes through the access point Wifi 7. TC receives from TB the chunks of the service SI and TD receives from TC the SI service chunks. The table listing the services received from the broadcast network indicates that SI is transmitted to TA and that S2 is transmitted to TE.
Supposons maintenant que l'utilisateur du terminal TC décide de ne plus recevoir le service SI mais le service S2. TC transmet une requête au serveur de streaming 3 pour recevoir ce service et l'application de gestion des services diffusés lui répond en indiquant de transmettre sa requête à TE. Comme décrit par la Fig. 2, TC demande à TE par une liaison Peer to Peer via le point d'accès Wifi de recevoir les chunks du service S2, et TC devient le second terminal de la chaîne de transmission du service S2. TC ne demande plus de recevoir de TB les chunks du service SI, et ne les possède donc plus en mémoire. Lorsque TD demande à TC de lui transmettre les chunks de SI, TC soit ne lui répond pas, soit répond qu'il ne les a pas. TD s'adresse alors au serveur de streaming 3 pour demander à recevoir SI. En lisant le tableau, le serveur de streaming répond de s'adresser à TA. TA constatant que son application de gestion des services diffusés est déjà occupé à transmettre les chunks de SI à TB, répond à TD de s'adresser à TB. TD transmet sa requête à TB. TB constatant qu'il est le dernier de la chaîne, répond qu'il possède bien les derniers chunks de ce service et qu'il est prêt à les transmettre. Ainsi, la situation illustrée par la Fig. 4 intervient rapidement où deux chaînes sont opérationnelles, l'une pour transmettre SI du serveur de streaming 3 vers TA, puis vers TB, puis vers TD, et une autre pour transmettre S2 du serveur de streaming 3 vers TE, puis vers TC. Suppose now that the user of the terminal TC decides to no longer receive the service SI but the service S2. TC transmits a request to the streaming server 3 to receive this service and the broadcast service management application responds to it by indicating to transmit its request to TE. As described in FIG. 2, TC requests TE through a Peer to Peer link via the Wifi point to receive the chunks of the S2 service, and TC becomes the second terminal of the transmission chain of the S2 service. TC no longer asks to receive the SI chunks from TB, and no longer has them in memory. When TD asks TC to send him SI chunks, TC either does not answer him, or responds that he does not have them. TD then speaks to the streaming server 3 to request to receive SI. When reading the table, the streaming server responds to contact TA. TA acknowledges that its distributed service management application is already busy transmitting SI chunks to TB, and responds to TD to address TB. TD transmits its request to TB. TB finding that he is the last in the chain, responds that he has the last chunks of this service and he is ready to transmit. Thus, the situation illustrated in FIG. 4 intervenes quickly where two channels are operational, one to transmit SI from the streaming server 3 to TA, then to TB, then to TD, and another to transmit S2 from the streaming server 3 to TE, then to TC.
On constate que cette gestion dynamique s'adapte bien à la modification des besoins des terminaux en termes de réception de services.  It can be seen that this dynamic management adapts well to the modification of the needs of the terminals in terms of reception of services.
Selon une variante, la gestion des chaînes de terminaux s'effectue intégralement au niveau de l'application de gestion des services diffusés, cette application étant résidente dans le serveur de streaming qui a ainsi la connaissance totale des flux entre terminaux du réseau Wifi et la composition des différentes chaînes en cours.  According to one variant, the management of the terminal chains is carried out entirely at the level of the application for managing the services broadcast, this application being resident in the streaming server which thus has the total knowledge of the flows between terminals of the Wi-Fi network and the composition of the various current channels.
Le passage d'un terminal à un autre pour véhiculer les chunks entraîne un retard dans la réception par le terminal en fin de chaîne et donc sa reproduction. Selon un perfectionnement, les applications de gestion des services diffusés résidente dans le serveur de streaming 3 et les terminaux 8 limitent le nombre de terminaux formant une chaîne de transmission des contenus audio et/ou vidéo. Si un terminal constate que son numéro d'ordre dans la chaîne dépasse le nombre maximum, 10 par exemple, alors il indique cette information au serveur de streaming. Le serveur de streaming enregistre le fait que cette chaîne est complète et sait qu'il ne doit plus proposer de connexions de ce service par ce terminal, au moins au cours d'un certain temps. Le serveur de streaming transmet au terminal demandeur, soit l'identifiant d'un autre terminal à qui il transmet les chunks de ce service, soit son propre identifiant indiquant en cela qui assume la gestion de ce terminal et crée ainsi une nouvelle chaîne. The passage from one terminal to another to convey the chunks causes a delay in the reception by the terminal at the end of the chain and therefore its reproduction. According to an improvement, the broadcast service management applications resident in the streaming server 3 and the terminals 8 limit the number of terminals forming a transmission chain of the audio and / or video contents. If a terminal finds that its sequence number in the chain exceeds the maximum number, for example, then it indicates this information to the streaming server. The streaming server records the fact that this channel is complete and knows that it must no longer provide connections to this service through this terminal, at least over a period of time. The streaming server transmits to the requesting terminal, either the identifier of another terminal to which it transmits the chunks of this service, or its own identifier indicating in this that assumes the management of this terminal and thus creates a new channel.
Selon une variante de réalisation, à l'étape 2.6, le serveur de streaming transmet à un terminal demandeur d'un service une liste de plusieurs identifiants de terminaux à qui le serveur de streaming transmet actuellement le service demandé et qui sont donc des premiers terminaux de chaîne. Le terminal demandeur s'adresse à un premier terminal de la liste et constate que le maximum de terminaux est atteint où qu'aucun terminal de la chaîne ne dispose des ressources nécessaires pour lui transmettre le service, alors il décide de lui-même de passer à un autre premier terminal de la liste. Si aucun terminal des chaînes ainsi explorées ne peut délivrer ce service, alors le terminal demandeur transmet au serveur de streaming une requête pour créer une nouvelle chaîne dans lequel il est le premier terminal.  According to an alternative embodiment, in step 2.6, the streaming server transmits to a requesting terminal of a service a list of several terminal identifiers to which the streaming server is currently transmitting the requested service and which are therefore first terminals. of chain. The calling terminal is addressed to a first terminal of the list and finds that the maximum number of terminals is reached or that no terminal in the chain has the necessary resources to transmit the service to it, so it decides to pass itself. to another first terminal in the list. If no terminal of the channels thus explored can deliver this service, then the requesting terminal transmits to the streaming server a request to create a new channel in which it is the first terminal.
La Fig. 5 présente un exemple de tableau listant les services reçus du réseau de diffusion, ce tableau est mis à jour par l'application de gestion des services diffusés présente dans le serveur de streaming 3. L'exemple présenté montre quatre services diffusés et reçus par le serveur de streaming. Un premier service appelé « Info Météo » est transmis au terminal Tl ayant l'adresse IP « IP_1 ». Un second service appelé « Canal 1 » est transmis au terminal T5 et au terminal T18. Le tableau indique que la chaîne qui démarre par le terminal T5 a atteint son nombre maximum de terminaux. Si un terminal demande à recevoir ce service, alors le serveur de streaming répond en transmettant l'adresse IP_18 du terminal T18. Un troisième service appelé « Canal 2 » n'est transmis à aucun terminal. Un quatrième service appelé « Info Trafic » est transmis aux terminaux T3, T18 et Tl. Le terminal T3 est marqué comme étant non connectable car il n'a pas les ressources nécessaires pour supporter la transmission des chunks vers un autre terminal. Le terminal T18 est également marqué comme étant non connectable car, recevant déjà le second service et le retransmettant à un autre terminal, il n'a plus les ressources nécessaires pour supporter la transmission des chunks vers d'autres terminaux. Si un terminal demande à recevoir ce quatrième service, alors le serveur de streaming transmet l'adresse de Tl. A noter que Tl reçoit aussi le premier service. En consultant le tableau, on peut constater que Tl possède les ressources pour gérer deux chaînes de transmission de service. Fig. 5 shows an example of a table listing the services received from the broadcast network, this table is updated by the management application of the broadcast services present in the streaming server 3. The example presented shows four services broadcast and received by the streaming server. A first service called "Weather Info" is transmitted to the terminal T1 having the IP address "IP_1". A second service called "Channel 1" is transmitted to the terminal T5 and terminal T18. The table indicates that the chain that starts with the T5 terminal has reached its maximum number of terminals. If a terminal requests to receive this service, then the streaming server responds by transmitting the IP_18 address of the terminal T18. A third service called "Channel 2" is not transmitted to any terminal. A fourth service called "traffic information" is transmitted to terminals T3, T18 and T1. The terminal T3 is marked as not connectable because it does not have the resources necessary to support the transmission of chunks to another terminal. Terminal T18 is also marked as non-connectable because, already receiving the second service and retransmitting it to another terminal, it no longer has the resources to support the transmission of chunks to other terminals. If a terminal requests to receive this fourth service, then the streaming server transmits the Tl address. Note that Tl also receives the first service. Looking at the table, we can see that Tl has the resources to manage two service transmission chains.
L'invention n'est pas limitée aux modes de réalisation qui viennent d'être décrits. En particulier, tout appareil informatique dialoguant avec un serveur par liaison Wifi est susceptible de mettre en œuvre la présente invention.  The invention is not limited to the embodiments that have just been described. In particular, any computer device interacting with a server via a Wi-Fi connection is capable of implementing the present invention.

Claims

REVENDICATIONS
1. Procédé de transmission d'au moins un contenu audio et/ou vidéo linéaire d'un serveur de diffusion (3) vers une pluralité de terminaux (8) en utilisant un réseau Wifi, comportant une étape préalable de réception (2.1) dudit contenu par le serveur de diffusion à l'aide d'un réseau de diffusion et une étape d'émission (2.4) par le serveur de diffusion vers un premier terminal, dudit contenu sous la forme d'un flux de paquets de données, le procédé comportant une étape d'émission (2.5) par un second terminal d'une requête vers le serveur de diffusion pour recevoir, par le réseau Wifi, ce même contenu, ladite étape d'émission de ladite requête déclenchant une étape de transmission (2.6) par le serveur de diffusion d'un message identifiant le premier terminal comme terminal émetteur de ce contenu, le second terminal émettant alors une requête de réception (2.8) de ce contenu vers le premier terminal pour recevoir ledit contenu à travers une liaison pair à pair, caractérisé en ce qu'il comporte en outre les étapes suivantes : A method of transmitting at least one audio and / or linear video content from a broadcast server (3) to a plurality of terminals (8) using a Wifi network, comprising a prior step of receiving (2.1) said content by the broadcast server using a broadcast network and a broadcast step (2.4) by the broadcast server to a first terminal, said content in the form of a stream of data packets, the method comprising a step of transmitting (2.5) by a second terminal of a request to the broadcast server to receive, by the Wifi network, the same content, said step of transmitting said request triggering a transmission step (2.6 ) by the broadcast server of a message identifying the first terminal as the transmitting terminal of this content, the second terminal then sending a request to receive (2.8) this content to the first terminal to receive said content through an even link topeer, characterized in that it further comprises the following steps:
émission par un terminal demandeur d'un contenu vers un terminal dit « précédent » d'une requête pour recevoir ce contenu par une liaison pair à pair,  sending by a requesting terminal of a content to a so-called "previous" terminal of a request to receive this content by a peer-to-peer link,
émission par le terminal précédent en réponse à ladite requête d'un message vers le terminal demandeur indiquant de demander ce contenu à un terminal dit « suivant », le terminal précédent transmettant déjà ce contenu au terminal suivant,  transmission by the previous terminal in response to said request for a message to the requesting terminal indicating to request this content to a so-called "next" terminal, the previous terminal already transmitting this content to the next terminal,
réitération des deux étapes précédentes, le terminal suivant devenant le terminal précédent, jusqu'à ce qu'un terminal suivant transmette ledit contenu au terminal demandeur  reiteration of the two preceding steps, the next terminal becoming the previous terminal, until a subsequent terminal transmits said content to the requesting terminal
comptage des itérations par le serveur de diffusion, les étapes suivantes étant déclenchées lorsque le nombre d'itérations atteint une valeur maximale déterminée :  counting the iterations by the broadcast server, the following steps being triggered when the number of iterations reaches a determined maximum value:
o arrêt des itérations, o recherche par le serveur de diffusion d'un autre premier terminal recevant le contenu par le serveur, o stop iterations, o search by the broadcast server of another first terminal receiving the content by the server,
o émission par le terminal demandeur d'une requête de réception de ce contenu vers cet autre premier terminal pour lui transmettre ledit contenu.  o sending by the requesting terminal a request to receive this content to the other first terminal to transmit said content.
2. Procédé de transmission d'un contenu selon la revendication 1 caractérisé en ce qu'il comporte une étape de gestion d'une liste au niveau du serveur de diffusion (3), ladite liste associant un contenu donné à au moins un identifiant d'un terminal (8) qui reçoit du serveur de diffusion ce contenu, et en ce que l'étape de transmission d'un message, par le serveur de diffusion, en réponse à une requête émise par le second terminal pour recevoir ce contenu, comporte une sous-étape de sélection par le serveur de diffusion, dans ladite liste, d'un identifiant d'un terminal qui est associé au contenu demandé et une sous-étape de transmission, dans ledit message, dudit identifiant sélectionné, au second terminal. 2. A method of transmitting content according to claim 1 characterized in that it comprises a step of managing a list at the broadcast server (3), said list associating a given content with at least one identifier of a terminal (8) which receives from the broadcast server this content, and in that the step of transmitting a message, by the broadcast server, in response to a request sent by the second terminal to receive this content, comprises a substep of selection by the broadcast server, in said list, of an identifier of a terminal which is associated with the requested content and a substep of transmission, in said message, of said selected identifier, to the second terminal .
3. Procédé de transmission d'un contenu selon la revendication 2 caractérisé en ce qu'il comporte une étape de transmission d'un message d'un terminal (8) vers le serveur de diffusion (3) indiquant que ce terminal n'a pas les ressources nécessaires pour transmettre à un autre terminal le contenu actuellement reçu et associé dans la liste, cette information étant introduite dans la liste gérée par le serveur de diffusion, un tel terminal n'étant pas sélectionné par le serveur de diffusion pour transmettre le contenu à un autre terminal. 3. A method of transmitting content according to claim 2 characterized in that it comprises a step of transmitting a message from a terminal (8) to the broadcast server (3) indicating that the terminal has not the resources necessary to transmit to another terminal the content currently received and associated in the list, this information being introduced into the list managed by the broadcast server, such a terminal not being selected by the broadcast server to transmit the content to another terminal.
4. Procédé de transmission d'un contenu selon la revendication 2 ou 3 caractérisé en ce qu'il comporte une étape de transmission d'un message d'un terminal (8) vers le serveur de diffusion (3) indiquant que ce terminal possède les ressources nécessaires pour transmettre à un autre terminal une pluralité de contenus actuellement reçus et associés dans la liste, cette information étant introduite dans la liste gérée par le serveur de diffusion, un tel terminal étant sélectionné par le serveur de diffusion pour transmettre l'un des contenus à un autre terminal. 4. A method of transmitting content according to claim 2 or 3 characterized in that it comprises a step of transmitting a message from a terminal (8) to the broadcast server (3) indicating that the terminal has the resources necessary to transmit to a different terminal a plurality of content currently received and associated in the list, this information being introduced in the list managed by the broadcast server, such a terminal being selected by the broadcast server to transmit one of the contents to another terminal.
5. Procédé de transmission d'un contenu selon l'une quelconque des revendications précédentes ; caractérisé en ce que le message transmis par le serveur de diffusion en réponse à une requête pour recevoir par le réseau Wifi un contenu, comporte une liste de plusieurs terminaux identifiés comme terminaux recevant ledit contenu, le terminal demandeur de ce contenu s'adressant à un premier terminal de la liste pour recevoir ce contenu et explorant une succession de terminaux à partir de ce premier terminal de la liste par des liaisons pair à pair, une nouvelle requête de réception de ce contenu vers un autre premier terminal de la liste étant déclenchée par le terminal demandeur lorsque le nombre d'itérations atteint une valeur maximale déterminée sans avoir pu recevoir ce contenu. A method of transmitting a content according to any one of the preceding claims; characterized in that the message transmitted by the broadcast server in response to a request to receive a content by the Wi-Fi network comprises a list of several terminals identified as terminals receiving said content, the requesting terminal of this content addressing a first terminal of the list to receive this content and exploring a succession of terminals from this first terminal of the list by peer-to-peer links, a new request for reception of this content to another first terminal of the list being triggered by the requesting terminal when the number of iterations reaches a maximum value determined without being able to receive this content.
6. Procédé de transmission d'un contenu selon la revendication 5 ; caractérisé en ce que le terminal demandeur émet une requête pour recevoir directement du serveur de diffusion le contenu demandé lorsqu'aucun terminal des successions de terminaux commençant par les premiers terminaux de la liste transmise dans le message, n'est disponible pour transmettre le contenu demandé. A method of transmitting a content according to claim 5; characterized in that the requesting terminal issues a request to receive the requested content directly from the broadcast server when no terminal of the terminal successions starting with the first terminals of the list transmitted in the message is available to transmit the requested content. .
7. Terminal (8) dit « demandeur » destiné à recevoir au moins un contenu audio et/ou vidéo linéaire provenant d'un réseau de diffusion, ledit terminal comportant au moins une mémoire de stockage de données du contenu et un moyen de communication par Wifi pour émettre et recevoir des messages à travers un point d'accès Wifi (7), ledit moyen de communication émettant vers un serveur de diffusion une requête pour recevoir ledit contenu sous la forme d'un flux de paquets de données, ledit moyen de communication recevant en réponse lesdits paquets de données, les dits paquets étant stockés dans la mémoire de données, ledit moyen recevant ultérieurement une requête provenant d'un autre terminal (8) pour transmettre à cet autre terminal lesdits paquets de données précédemment stockés en mémoire, ledit moyen émettant en réponse lesdits paquets extraits de la mémoire de données ; 7. Terminal (8) called "requestor" intended to receive at least one linear audio and / or video content originating from a broadcast network, said terminal including at least one data storage memory of the content and a means of communication via Wifi for transmitting and receiving messages through a Wifi point (7), said communication means transmitting to a broadcast server a request for receiving said content in the form of a stream of data packets, said means of communication receiving in response said data packets, said packets being stored in the data memory, said means subsequently receiving a request from another terminal (8) for transmitting to said other terminal said previously stored data packets in said memory means transmitting in response said packets extracted from the data memory;
caractérisé en ce que le moyen de communication émet vers un terminal dit « précédent » une requête pour recevoir un contenu selon une liaison pair à pair, ce contenu étant déjà reçu par le terminal précédent, le moyen de communication recevant de ce terminal précédent en réponse à ladite requête un message indiquant de demander ce contenu à un terminal dit « suivant », le terminal précédent transmettant déjà ce contenu au terminal suivant,  characterized in that the means of communication transmits to a so-called "previous" terminal a request to receive a content according to a peer-to-peer link, this content being already received by the preceding terminal, the communication means receiving from this previous terminal in response to said request a message indicating to request this content to a terminal called "next", the previous terminal already transmitting this content to the next terminal,
le terminal demandeur réitérant les demandes vers chaque terminal suivant, le terminal suivant devenant le terminal précédent, jusqu'à ce qu'un terminal suivant transmette ledit contenu au terminal demandeur, le terminal demandeur comptabilisant des itérations et lorsque le nombre d'itérations atteint une valeur maximale déterminée déclenchant les opérations suivantes : arrêt des requêtes vers les terminaux précédent,  the requesting terminal reiterating the requests to each subsequent terminal, the next terminal becoming the preceding terminal, until a subsequent terminal transmits said content to the requesting terminal, the requesting terminal counting iterations and when the number of iterations reaches a determined maximum value triggering the following operations: stopping requests to the previous terminals,
émission vers un serveur de diffusion d'une requête pour recevoir l'identité d'un autre terminal recevant le contenu directement par ce serveur,  sending to a broadcast server a request to receive the identity of another terminal receiving the content directly by this server,
émission par le terminal demandeur d'une requête de réception de ce contenu vers cet autre terminal pour lui transmettre ledit contenu.  sending by the requesting terminal a request to receive this content to this other terminal to transmit said content.
8. Produit programme d'ordinateur téléchargeable depuis un réseau de communications et/ou stocké sur un support lisible par ordinateur et/ou exécutable par une unité centrale, caractérisé en ce qu'il comprend des instructions de programme pour la mise en œuvre d'au moins une étape du procédé de transmission d'un contenu selon l'une quelconque des revendications 1 à 6. 8. Computer program product downloadable from a communications network and / or stored on a computer-readable medium and / or executable by a central unit, characterized in that it comprises program instructions for the implementation of at least one step of the method of transmitting a content according to any one of claims 1 to 6.
PCT/EP2016/056903 2015-03-30 2016-03-30 System for broadcasting audio and/or video content via a local wifi network, and devices implementing the method WO2016156386A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1552669 2015-03-30
FR1552669A FR3034610B1 (en) 2015-03-30 2015-03-30 SYSTEM FOR BROADCASTING AUDIO AND / OR VIDEO CONTENT BY A LOCAL WIFI NETWORK, AND APPARATUSES IMPLEMENTING THE METHOD

Publications (1)

Publication Number Publication Date
WO2016156386A1 true WO2016156386A1 (en) 2016-10-06

Family

ID=53758325

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/056903 WO2016156386A1 (en) 2015-03-30 2016-03-30 System for broadcasting audio and/or video content via a local wifi network, and devices implementing the method

Country Status (2)

Country Link
FR (1) FR3034610B1 (en)
WO (1) WO2016156386A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010027479A1 (en) * 1998-10-05 2001-10-04 Backweb Technologies, Ltd. Distributed client-based data caching system
US20030009587A1 (en) * 2001-07-06 2003-01-09 Intel Corporation Method and apparatus for peer-to-peer services
US20070183342A1 (en) 2006-02-06 2007-08-09 Mediazone.Com, Inc. Peer-to-peer broadcast management system
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
US20100185753A1 (en) * 2007-08-30 2010-07-22 Hang Liu Unified peer-to-peer and cache system for content services in wireless mesh networks
US20120066495A1 (en) 2010-09-13 2012-03-15 Verizon Patent And Licensing Inc. Mobile content delivery optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010027479A1 (en) * 1998-10-05 2001-10-04 Backweb Technologies, Ltd. Distributed client-based data caching system
US20030009587A1 (en) * 2001-07-06 2003-01-09 Intel Corporation Method and apparatus for peer-to-peer services
US20070183342A1 (en) 2006-02-06 2007-08-09 Mediazone.Com, Inc. Peer-to-peer broadcast management system
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
US20100185753A1 (en) * 2007-08-30 2010-07-22 Hang Liu Unified peer-to-peer and cache system for content services in wireless mesh networks
US20120066495A1 (en) 2010-09-13 2012-03-15 Verizon Patent And Licensing Inc. Mobile content delivery optimization

Also Published As

Publication number Publication date
FR3034610A1 (en) 2016-10-07
FR3034610B1 (en) 2018-05-18

Similar Documents

Publication Publication Date Title
US20140215545A1 (en) Online video playing method and video playing server
US10182269B1 (en) HTTP live streaming delivery over multicast
JP2011082977A (en) P2p network system and data transmitting and receiving method therefor
EP2939450B1 (en) Transmission of a multimedia message doubled with the transmission of a text message
FR2832014A1 (en) INTER-USER COMMUNICATION MODULE AND METHOD AND CORRESPONDING PRODUCTS
EP3284260B1 (en) Method for replacing a main content with at least one secondary content, corresponding content replacement device and computer program
EP3461135A1 (en) Method for managing the access right to a digital content
EP3840388B1 (en) Dual audio-link decoder equipment
FR2980662A1 (en) METHOD FOR RECORDING CONTENT IN A FILE ON A SERVER AND CORRESPONDING DEVICE
US20140375746A1 (en) Platform, device and method for enabling micro video communication
EP3231190B1 (en) Method and devices for transmitting a data stream according to a multipoint transmission mode
EP1850602B1 (en) Method and system for speeding up access to contents from a mobile terminal
WO2016156386A1 (en) System for broadcasting audio and/or video content via a local wifi network, and devices implementing the method
WO2016177778A1 (en) System for distributing digital documents to roaming media servers, and apparatuses implementing the method
US10171545B2 (en) System for transferring real-time audio/video stream
EP3149918A1 (en) Content downloading and network provisioning
EP4224868A2 (en) Methods for synchronising, generating a stream, corresponding computer programs, storage media, playback, execution and generation devices
FR3092720A1 (en) Adaptive and contextual streaming
EP3092777B1 (en) Method of processing the restitution error in respect of a digital content
WO2017071524A1 (en) Multimedia resource publishing method and apparatus
EP2083554A1 (en) Method for direct transmission of content intended to be recovered later in P2P mode after being split, and associated control device and equipment
EP2854415B1 (en) Method for dynamic transmission of information data relating to an audio and/or video programme
EP3109790B1 (en) Near-field communication device, suitable for providing access to a remote service
EP2856302A2 (en) Local server for display device
FR3000357A1 (en) Method for transferring e.g. audio communication from e.g. smartphone to e.g. computer, involves receiving request for audio and/or video stream of communication and request for re-routing of stream from terminal to another terminal

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: 16713863

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16713863

Country of ref document: EP

Kind code of ref document: A1