The invention relates to the transmission of content data, possibly multimedia, in peer-to-peer (or P2P) mode, between peer (equipment) which can be connected, via a communication equipment, to communication networks, and in which P2P applications run.
The invention relates to all the communication networks (or infrastructures), whether wired or wireless, capable of transmitting content data (possibly multimedia) between user equipment constituting peers. Therefore, this can be a wired network, such as a global network with medium or high bitrate data transmission lines, like for instance lines of the xDSL type (for ‘x Digital Subscriber Line’) or cables or even optical fibres, or a global wireless network, for example of the mobile (or cellular) type, or a wireless network of the local (or proximity) type (WLAN (‘Wireless Local Area Network’—IEEE 802.11a, WiFi (802.11g), ETSI HiperLAN/2), WiMAX (IEEE 802.16, ETSI HiperMAN), and Bluetooth standards).
Moreover, ‘communication equipment’ here means any type of equipment which can connect to at least one first wired or wireless communication network and providing access to the Internet (IP (‘Internet Protocol’)) and to a second wired or wireless communication network. It can therefore be, for example, a communication gateway, a residential gateway or a modem which is possibly part of a peer (equipment).
In addition, ‘peer equipment’ here means any type of equipment which can exchange data with other peers or network equipment, via communication equipment of the type defined above and possibly integrated. Therefore, this can be, for example, a fixed or portable computer, a fixed or mobile (or cellular) telephone, a personal digital assistant (or PDA, including a ‘pocket PC’) a content receiver (like, for example, a decoder, a residential gateway or a STB (‘Set-Top Box’)), from the moment when it has, or is coupled to, a communication equipment of the type defined above.
Finally, ‘content’ here means a set of data which defines a television or video or audio (radio or musical) or games or multimedia program, or a computer file (or ‘data’) or messages (for example, control or data messages, allowing the running of an application distributed over several peers).
Some P2P networks are constituted of peers which are connected (via their communication equipment) to the Internet. The data (content) transmissions between these peers are then carried out via at least one communication network providing access to the Internet, such as for example an ADSL network.
As those skilled in the art know, the bandwidth available to a peer to transmit data to at least one other peer over a link called an uplink is generally notably smaller than the one available to the same peer to receive data from another peer over a link called a downlink. Because of this technical constraint, and considering that, in a P2P network, each peer can act both as a server and as a client, the performance of a P2P network, in particular in terms of exchanged data rates, is limited by the bandwidths available to the peers for their uplinks.
So, some P2P applications, such as for example the broadcasting of video streams (which includes video on demand (or VoD), for which the contents are pre-recorded and fully available, the push-to-peer broadcast, for which contents are transmitted in advance during periods of very low traffic, and live streaming, for which the contents are broadcast live as soon as they are created), are limited by the capacities on the uplinks of the server peers and not by the capacities on the downlinks of the client peers.
The purpose of the invention is therefore to improve the situation.
For this purpose, the invention first proposes a method dedicated to the transmission of data in peer-to-peer mode between peers capable of being connected by means of communication equipment (like, for example, modems) at least to a first communication network providing an access to the Internet and to a second communication network.
This method is characterized by the fact that it consists, when a communication application of the peer-to-peer type runs in a first peer must transmit data to at least one second peer in which the same communication application runs:
The method according to the invention can comprise other characteristics which can be taken individually or in combination, and in particular:
The invention also proposes a device dedicated to the management of data transmissions in peer-to-peer mode by a communication equipment of at least one peer in which at least one communication application of the peer-to-peer type runs, this equipment comprising at least one first communication module suitable for the connection to a first communication network providing access to the Internet and a second communication module suitable for the connection to a second communication network.
This device is characterised by the fact that it comprises first management means responsible for, when the communication application of the peer must transmit data to at least one other peer in which the same communication application runs:
The device according to the invention can comprise other characteristics that can be taken separately or in combination, notably:
The invention also proposes a communication equipment, for at least one peer, in which at least one communication application of the peer-to-peer type runs, and comprising a first communication module suitable for the connection to a first communication network providing access to the Internet, a second communication module suitable for the connection to a second communication network, and one part at least of a device for managing data transmission in peer-to-peer mode of the type of the one presented above.
The invention also proposes a peer comprising at least one communication application of the peer-to-peer type and a communication equipment of the type of the one presented above.
This peer can also comprise generation means coupled to the communication application and responsible for constituting an overlay of peers, with which their peer can communicate via the first and second communication networks, to communicate with the first management means of the device in order to provide them with data to be transmitted or to receive data that they have received and which are intended for the communication application.
Such generation means can by example be responsible for ordering the transmission to a service server, via the first communication network, of the identifiers of the peers with which their peer can exchange data via the second communication network.
The invention is particularly well suited, although not restrictively, to situations in which the first and second communication networks are respectively a global network (wired and/or wireless (possibly satellite or hybrid)) and a local (or proximity) wireless network.
Other characteristics and advantages of the invention will appear upon examination of the detailed description hereafter, and the annexed drawings, wherein:
The annexed drawings can not only serve to complete the invention, but also contribute if necessary, to its definition.
The purpose of the invention is to allow the transmission in peer-to-peer mode (or P2P) of content data between peers of a P2P network constituted via at least a first communication network providing access to the Internet (by means of an IP protocol) and a second communication network in which this same IP protocol can preferably be used.
In what follows, it is considered in a non-restrictive manner that the first (communication) network is a global wired network (for example of the ADSL type) providing access to the Internet (IP) and ensuring connectivity between all the peers (equipment) of a P2P network. But, the invention is not limited to this type of first communication network. Indeed, it relates to any type of first communication network (or infrastructure) having at least one access network, wired and/or wireless, and capable of transmitting content data (possibly multimedia) between peers (equipment), via communication equipment to which the latter are coupled or that the latter comprise. Therefore, the access network can be a wired network, such as a cable or optical fibre network, or a wireless network, such as a mobile (or cellular) network or a local area network (WLAN, WiMAX and Bluetooth standards).
Moreover, it is considered in what follows, as a non-restrictive example, that the second (communication) network is a wireless local area (or proximity) network (for example of the WiFi type) using the same IP protocol as the first network R1 and providing access to certain peers of the P2P network via independent physical links between peers. But, the invention is not limited to this type of second communication network. Indeed, it relates to any type of second communication network (or infrastructure) having at least one access network, wired and/or wireless, and capable of transmitting content data (possibly multimedia) between peers (equipment), via communication equipment to which the latter are coupled or that the latter comprise. Therefore, the access network can be a wired network, such as an ADSL network, a cable network, or an optical fibre network, or a wireless network, such as a mobile (or cellular) network or a local area network (WLAN, WiMAX standards and Bluetooth).
In addition, it is considered in what follows, as a non-restrictive example, that the communication equipment (Ej) are modems which are either connected to peer (equipment) (Pi), or installed in peers (equipment) (Pi). But, the invention is not limited to this type of communication equipment. It concerns any type of equipment which can connect at least to a node of a first wired and/or wireless communication network providing access to the Internet (IP) and to a second wired or wireless communication network. Therefore, this can also be a communication gateway or a residential gateway, for example.
Lastly, we consider in what follows, as a non-restrictive example, that the peers (equipment) (Pi) are fixed or portable computers, possibly fitted with a communication equipment (Ej). But the invention is not limited to this type of peer equipment. It concerns any type of equipment capable of exchanging data with other peers or network equipment, via a communication equipment (Ej). Therefore, this can also be fixed or mobile (or cellular) telephones, personal digital assistants (or PDAs, including ‘pocket PCs’), content receivers (like for example decoders, residential gateways or STBs (‘Set-Top Boxes’)), for example.
It will be noted that, in the illustrated non-restrictive example, each modem (or communication equipment) Ej is connected to a single peer Pi (consequently, I=j). But this is not mandatory. Several (at least two) peers Pi may indeed be connected to the same communication equipment Ej.
it will also be noted that, in the illustrated non-restrictive example, the different modems (or communication equipment) Ej are connected to communication nodes Nn (here, n=1 to 4) different from the first network (here, of the ADSL type) R1. But this is not mandatory. Several (at least two) modems Ej may indeed be connected to the same communication node Mn.
In the case of a first network R1 of the ADSL type, the communication nodes Nn are for example DSLAMs (for Digital Subscriber Line Access Multiplexers) which provide, within a telephone exchange, the interconnection between telephone lines and an IP backbone. It will be noted that the IP routing is done within the first network R1 in other communication nodes which are located downstream of the DSLAMs and connected to the latter.
Each modem Ej comprises a first communication module MC1 which is responsible for setting up the communications with the associated communication node Nn.
The second network R2 of the WiFi type comprises access points PA to which modems Ej Can connect via waves. The latter comprise for this purpose a second communication module MC2 which is responsible for is setting up communications with access points PA which are located in its neighbourhood (that is to say within radio range). It will be noted that a communication equipment Ej, even a peer Pi, may itself constitute an access point PA, especially in the case of a second ad hoc network R2 of the WiFi type (that is to say without infrastructure).
The content data which is exchanged between peers Pi within the
P2P network originates from at least one contents server (not represented) within the framework of a content delivery service, such as for example a video stream delivery service (video on demand or VoD), push-to-peer, or live streaming, or a program broadcasting service (for example, television, or radio or musical programs), or a file (or data) broadcasting service, or a message broadcasting service (for example, control or data messages allowing the operation of an application distributed over several peers).
This service can for example be controlled by a service server SS by means of a P2P application management module MGA and an overlay management module MGR. This service server SS is connected to the first network R1. It is in particular responsible for constituting and updating the overlay of the P2P network by means of its overlay management module MGR.
It will be noted that, in the illustrated non-restrictive example, modems E1 to E3 are respectively external to peers P1 to P3, whereas modem E4 is part of peer P4.
The invention proposes a method capable of transmitting (content) data in peer-to-peer mode between peers Pi.
The method according to the invention comprises two main steps that are successively completed whenever a communication application A of the peer-to-peer type (P2P) being executed (or running) in a first peer (for example, P1) must transmit data over an uplink to at least one second peer (for example, P3), in which the same communication application A is running.
A first main step consists in choosing one of the first R1 and second R2 networks, to which modem E1 of first peer P1 can connect, according to at least one chosen criterion. It is for example triggered upon reception of the content data to be transmitted.
This choice of a communication network can for example be made according to at least one criterion which is chosen among at least the highest available bandwidth, a need to leave a network available, a saturation probability, the latency and a transmission cost for the network operator (in particular, as regards the bandwidth used).
It will be understood that, if the cost criterion is chosen, a choice will preferably be made to use the second network (here, of the WiFi type) R2, rather than the first network (here, of the ADSL type) R1, since the setting up of links between peers via the second network R2 has no cost for an operator.
If a criterion of the ‘highest bandwidth’ type is used, it will be determined, at the level of the E1 modem, which of its two uplinks via the first R1 and second R2 networks provides the highest available bandwidth at the time under consideration. In the case of a second R2 network of the WiFi type, the bandwidth is generally of about 10 Mbps whereas, in the case of a first R1 network of the ADSL type, the bandwidth is generally of about 1 Mbps. Consequently, whenever the WiFi uplink is not used by a peer Pi, or is used but can satisfy the service constraints, it will be preferable to choose it for the content (uplink) transmissions (possibly in addition to the ADSL uplink).
This first network choice step can be completed either by the modem Ej of the peer Pi which wants to transmit data to at least one other Pi′ peer (i′≠i), or by said peer Pi. To do so, the modem Ej (or communication equipment) that the peer Pi uses to connect to one of the two R1 and R2 networks and/or the peer Pi must comprise, or be coupled to, one part at least of a data transmission management device D according to the invention.
As illustrated on
In the illustrated non-restrictive example, the device D is an integral part of the modem Ej. But this is not mandatory. Hence, its first management module MG1 could be located in the peer Pi.
In what follows, it is considered as a non-restrictive example that the chosen criterion is the highest bandwidth. Consequently, the first management module MG1 chooses among the first R1 and second R2 networks that which provides, over the uplink of the modem Ej of the peer Pi concerned, the highest bandwidth to perform this data transmission.
Once the first management module MG1 has chosen a network, two situations can occur.
Either the first network R1 has been chosen and then the (each) second recipient peer Pi′ can be reached with certainty via said first network R1, and the first management module MG1 has access to a list of identifiers, which contains the identifiers of the peers Pi′ with which the modem Ej of the peer Pi concerned can communicate via the first network R1 and via the second network R2 and in which the same communication application A as that which wants to transmit data in said peer Pi runs, in order to determine the identifier of the second peer Pi′.
Or the second network R2 has been chosen and then the first management module MG1 must determine in the afore-mentioned list of identifiers whether (each) second recipient peer Pi′ can be reached via said second network R2. If this is the case, then the first management module MG1 maintains its choice of the second network R2. In the opposite case, the first management module MG1 is obliged to modify its choice and finally, therefore, to choose the first network R1.
It will be noted that these peer identifiers can for example be public IP addresses (and therefore routable via the first network R1) or private IP addresses (and therefore not routable (for example, of the 192.168.18.0/24 type)). It will also be noted that the same peer can, within a list of identifiers, be associated with a public IP address, assigned by the first network R1, and with a private IP address, assigned by the peer Pi considered (as will be seen further on) and usable via the second network R2.
This list of identifiers is for example stored in an overlay generation module MGN of the peer Pi concerned. It can for example be constituted by the overlay generation module MGN of the peer Pi concerned from information which originates from other Pi′ peers and/or the service server SS.
The information which originates from the other Pi′ peers can for example be given to the overlay generation module MGN by a second management module MG2 of the device D which is preferably located in the modem Ej of a peer Pi (as illustrated in
More precisely, the second management module MG2 of a device D associated with a modem Ej can for example interrogate other peers Pi′ via the access points PA of the second network R2 in order to determine if their modems Ej′ can exchange data with its own modem Ej via the second network R2. It can also analyse the messages that are possibly received by the second communication module MC2 and which originate from the other peers Pi′ via the second network R2. It can also listen to the messages which are exchanged between peers Pi′ over the second network R2.
These messages can for example be generated, possibly periodically, by the second management module MG2 of the device D which is associated with the modem Ej of a peer Pi. They each comprise the identifier of the peer Pi in which a communication application A runs, as well as possibly the identifier of the latter (A) when the peer Pi has several communication applications coupled to the same overlay generation module MGN.
The identifier of a communication application A running in a peer Pi is for example given to the second management module MG2, of the device D which is associated with a modem Ej of this peer Pi, by the overlay generation module MGN of the peer Pi, during a recording phase.
The second management module MG2 of a modem Ej of a peer Pi can thus communicate, to the overlay generation module MGN of this peer Pi, each pair of peer identifier and application identifier received so that it completes a list of identifiers for its own peer Pi.
In brief, a list of identifiers of a peer Pi is constituted by the overlay generation module MGN of a peer (which is therefore suitable for this purpose in comparison with those equipping the peers of the prior art) and comprises the list of identifiers of the other peers Pi′ of the network P2P with which said peer Pi can communicate in P2P via the first network R1 and/or via the second network R2.
The identifiers of the other peers Pi′ of the P2P network with which said peer Pi can communicate in P2P via the first network R1 are for example public IP addresses which are for example given by the overlay management module MGR of the service server SS via the Internet (and therefore via the first network R1 and via the modem Ej).
The identifiers of the other peers Pi′ of the P2P network with which the peer Pi can communicate in P2P via the second network R2 are for example private IP addresses which are for example assigned by the overlay generation module MGN to the peers Pi′ which have been detected in its neighbourhood by the second management module MG2 associated with this peer Pi. The notion of neighbourhood (or proximity) must be understood here in the physical sense of the term and not in the logical sense.
The peers to which an overlay generation module MGN assigns a private IP address (or identifiers) constitute together a kind of private IP network which can be exclusively dedicated to a communication application A.
It will be noted that the overlay generation module MGN of a peer Pi can possibly be responsible for giving to the overlay management module
MGR of the service server SS, for example via the first communication module MC1 of its modem Ej and via the first network R1, at least the part of the list of identifiers of its own peer Pi that comprises the public identifiers (public IP addresses). Thus, the overlay management module MGR can update the global overlay of the P2P network that it controls and send, to the different peers Pi of the latter, the list of the public identifiers of the peers with which it is meant to be able to exchange data.
The second main step of the process according to the invention begins after the final choice of the network (the one which satisfies each chosen criterion (by example, the one which provides the highest bandwidth) at the time under consideration, or the one which is the only one to allow a communication with the second recipient peer Pi′).
This second main step consists in connecting the first peer (here, P1), via its modem (here, E1), to the network which has been finally chosen (for example, R2) to transmit in peer-to-peer mode the data of the communication application A to the second peer (here, P3), via this chosen network R2.
This second step is preferentially controlled by the first management module MG1 of the device D associated with the modem Ej concerned. More precisely, when the first management module MG1 has definitively chosen the network which must be used for the transmission of the data that it has previously received in the form of IP packets, it looks at the destination address which is contained in the header of the IP packets and routes the latter to the communication module MC1 or MC2 of the modem Ej which is connected to the chosen network so that they reach the level of the second recipient peer Pi′.
It will be noted that the routing table, which is used by a first management module MG1, contains, like any IP routing table, a default route (Internet) and particular routes specific to certain subnetworks of the secondary network R2.
This routing table is preferentially updated by the first management module MG1 with information which can be given to it by the second management module MG2 and which contain the identifiers of the peers Pi′ newly identified with which its modem Ej can from now on communicate via the second network R2.
It will also be noted that the first management module MG1, before routing IP packets to the second network R2, can possibly check that the original IP address (of the peer Pi) actually corresponds to a peer which has recorded with the second management module MG2.
It will also be noted that the management device D according to the invention can be realized in the form of software modules. In particular, the first management module MG1 can use techniques of the Firewall, NAT (Network Translation Address) and IP routing type. But the management device D can also be realized partly or fully in the form of hardware circuits or a combination of software modules and hardware circuits.
In what precedes, we have described an example of embodiment of a management device D according to the invention fully located in a communication equipment Ej associated with a peer Pi. But, such a device D could be partly located in the communication equipment Ej (for example, concerning its second management module MG2) and partly located in the peer Pi (for example, concerning its first management module MG1).
With the invention, some at least of the P2P applications can have access to local area (or proximity) networks, for example of the WiFi type, thus making it possible to relieve the Internet link and to discover neighbouring (or close) peers in the radio sense of the term.
Hence, when a client peer searches a server peer likely to give it a part at least of a content, it can for example start its search with the neighbours with which it can communicate via the second network R2. If a neighbouring peer can satisfy it, it will then immediately transmit to it the required content data via the second network. However, if none of them can satisfy it, then it starts its search again with peers that can only be reached via the first network and, if the latter peers still cannot satisfy it, it starts its search again with the content server.
Moreover, in the case of a service of the push-to-peer type, contents can for example be broadcast in advance to the peer or peers via the first network R1, during periods of very low traffic. Once a content is stored in a peer, it can then either use it or transmit it to requesting client peers via the second network if this is possible at the time under consideration. It will be understood that the invention makes it possible to transfer, in advance, many more contents to the peers and thus to reduce the load of the content servers. In fact, if peers cannot download, as quickly as they display, a content of the video type, at which they are almost certain to look, then the content will be pushed towards these peers and, with the proximity radio link (for example, WiFi), it is sure that it is sufficient to transmit a content to a peer so that its neighbours can download it quickly enough. Hence, for a group of three peers, we can only load a video once, which leaves storage space to put other videos.
Generally, the invention makes it possible for a server peer to serve more client peers since it now has two uplinks to serve them simultaneously. It also makes it possible for a server peer, of which the uplink on the first network R1 is overloaded, to request another peer to help it to transfer content data to a client peer which can only be reached by the first network R1. More precisely, the server peer will transfer data, via the second network R2, to the server called for help and whose uplink on the first network R1 is not is overloaded, so that the latter server transfers it in its turn to the final recipient client peer via the first network R1. In the same manner, a peer whose downlink bandwidth is saturated will be in a position to request a neighbouring peer, via the second network R2, to help it.
The invention is not limited to the embodiments of the management device, communication equipment, peer and transmission method described above, only as an example, but it encompasses all the variants that those skilled in the art can envisage within the framework of the claims hereinafter.
Number | Date | Country | Kind |
---|---|---|---|
0856894 | Oct 2008 | EP | regional |