U.S. patent application number 14/390958 was filed with the patent office on 2015-02-26 for method for broadcasting a piece of content in an it network.
The applicant listed for this patent is TRIDENT MEDIA GUARD (TMG). Invention is credited to Bastien Casalta, Soufiane Rouibia.
Application Number | 20150058420 14/390958 |
Document ID | / |
Family ID | 48471058 |
Filed Date | 2015-02-26 |
United States Patent
Application |
20150058420 |
Kind Code |
A1 |
Rouibia; Soufiane ; et
al. |
February 26, 2015 |
METHOD FOR BROADCASTING A PIECE OF CONTENT IN AN IT NETWORK
Abstract
A method for broadcasting a piece of content in an IT network
including a content server having the content to be broadcast, and
a plurality of clients seeking to retrieve the content, method in
which the content is served in client/server mode to at least one
client in a format allowing the subsequent broadcasting of same in
P2P mode.
Inventors: |
Rouibia; Soufiane; (Nantes,
FR) ; Casalta; Bastien; (Nantes, FR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
TRIDENT MEDIA GUARD (TMG) |
Saint-Sebastien Sur Loire |
|
FR |
|
|
Family ID: |
48471058 |
Appl. No.: |
14/390958 |
Filed: |
April 4, 2013 |
PCT Filed: |
April 4, 2013 |
PCT NO: |
PCT/IB2013/052694 |
371 Date: |
October 6, 2014 |
Current U.S.
Class: |
709/204 |
Current CPC
Class: |
H04L 67/34 20130101;
H04L 67/1063 20130101; H04L 67/02 20130101; H04L 43/08 20130101;
H04L 43/0876 20130101; H04L 67/108 20130101; H04L 67/1091 20130101;
H04L 67/104 20130101; H04L 43/16 20130101 |
Class at
Publication: |
709/204 |
International
Class: |
H04L 29/08 20060101
H04L029/08; H04L 12/26 20060101 H04L012/26 |
Foreign Application Data
Date |
Code |
Application Number |
Apr 5, 2012 |
FR |
1253152 |
Claims
1. A method for broadcasting a piece of content in an IT network
including a content server having the piece of content to be
broadcast, and a plurality of clients seeking to retrieve said
piece of content, method wherein the piece of content is served in
client/server mode to at least one client in a format allowing its
subsequent broadcast in P2P mode.
2. The method as claimed in claim 1, wherein the content server
lists the clients that have already retrieved one part of the piece
of content and addresses to a new client seeking to retrieve the
piece of content the address of at least one other client from
which it can retrieve at least one part of this content.
3. The method as claimed in claim 1, wherein the content server
determines the part or parts most often missing in the swarm, and
wherein the content server addresses to a new client at least one
of the parts identified as most often missing in order to ease its
integration into the swarm.
4. The method as claimed in claim 1, the piece of content being
addressed by the content server in the form of parts identified
with an associated item of information aiming to ease the exchange
between clients in P2P mode.
5. The method as claimed in claim 4, the associated item of
information including the hash.
6. The method as claimed in claim 1, wherein a module for
monitoring the quality of service retrieves at least one quality of
service parameter from the clients.
7. The method as claimed in claim 6, wherein the number of
authorized client/server connections is a function of said at least
one parameter.
8. The method as claimed in claim 1, including the provision by the
content server to a client of a program to be installed, especially
in the form of a plug-in on the browser of this client, to be able
to retrieve the piece of content in client/server mode with a P2P
format and to receive the list of the clients of the content
server.
9. The method as claimed in claim 1, wherein the mode of
broadcasting the piece of content in real time, client/server or
P2P, is determined, as a function of predefined thresholds,
particularly QoS and QoE, of the clients retrieving the piece of
content.
10. The method as claimed in claim 1, wherein the broadcasting of
the piece of content is allowed, in P2P mode, via the browsers of
the clients.
11. A computer program product, including a computer program stored
on a medium or downloaded, arranged, onto the computer of a client,
to: install on the computer an application that makes it possible,
from the browser of the client, upon connection to a content server
arranged for implementing the method as defined in claim 1, to:
download the content from the server in client/server mode by parts
compatible with its broadcast in P2P mode to other clients that
have connected to the content server or, if the server does not
offer this possibility, download from the server a list of clients
having parts of the piece of content so as to retrieve it in a P2P
mode from other clients that have connected to the content server.
Description
[0001] The present invention relates to the broadcasting of a piece
of content within an IT network, and more particularly but not
exclusively to the broadcasting of a piece of content on the
Web.
[0002] From the patent application EP 2 109 289 it is known to have
a system for broadcasting a piece of content wherein a user, who
has said piece of content, sends it to other users in a
peer-to-peer exchange mode (P2P), using a database including
information concerning the users. The piece of content to be
broadcast is not stored in the broadcasting system.
[0003] Networks for P2P broadcasting of a piece of content are
known, particularly from the patent application US
2008/0205291.
[0004] With the exception of instant, messaging, services, "chat"
and some P2P software programs, most Internet applications are
based on a conventional client/server model. The client/server
architecture relies on a central terminal, the server, which sends
the data to client machines.
[0005] Patent application GB 2 412 279 describes a broadcasting
method wherein a piece of content can be alternatively broadcast in
client/server mode, from a central server to a user, or in P2P
mode, from one user acting as server to another user.
[0006] Several limits of web functionality have begun to appear
following the advent of high-speed connections and the tremendous
increase in the size of the content (IID video, high-resolution
images etc.) conveyed over the Internet.
[0007] Although web applications have considerably evolved by
making the most of user experience and community aspects, the
client/server paradigm still imposes technical and functional
limitations at the user level on this evolution.
[0008] The operating cost of a web application constitutes one of
these limitations. Generally, the development cost of an Internet
service is relatively low. However, the operating cost, which is
primarily linked to bandwidth and storage space, is quite high,
meaning that less can be offered to users. For example, providing
royalty-free media (photo, audio, video) involves continuous
investment which is difficult to recoup.
[0009] Also, currently, the interruption of a connection with the
server entails the simple cessation of the service provided.
[0010] The alternative used to deal with problems of server
saturation in the event of a heavy influx of Internet users to an
Internet site consists in resorting to the services of companies
offering CDNs (Content Delivery Networks). This solution has a very
high cost for the content provider and requires permanent
monitoring of the servers in case of network overloading in order
to increase the bandwidth and the size of the servers. Such a
solution is suitable for improving the reliability of the piece of
content for average levels of demand but is still unable to meet
the challenges of very high levels of demand or live transmission.
This is due to the problem of audience peaks and their regulation,
which requires abundant bandwidth and hardware adapted according to
the size of the peak.
[0011] There is therefore a need to further improve the
broadcasting of a piece of content within an IT network and more
particularly on the Web, and especially to eliminate network
congestion problems permanently and more cheaply.
[0012] The invention manages to do this using a method for
broadcasting a piece of content in an IT network including a
content server having the piece of content to be broadcast and a
plurality of clients seeking to retrieve said piece of content, a
method wherein the piece of content is served in client/server mode
to at least one client in a format allowing its subsequent
broadcasting in P2P mode to other clients.
[0013] The content may in particular be served in client/server
mode to the first clients seeking to retrieve it, then the server
may broadcast this content in P2P mode to the following clients,
while keeping a client/server mode with said first clients.
[0014] The invention makes it possible to combine the peer-to-peer
paradigm with the conventional client/server model of web
applications to profit from the advantages of these two
architectures.
[0015] The invention offers a solution based on a P2P technology
adapted to a Web environment and coupled with a classic
client/server operation. This hybrid solution may be integrated,
especially in the form of a plug-in, into all Web browsers and
makes it possible to distribute multimedia pieces of content while
reducing the infrastructure and bandwidth costs for content
providers, while preserving the same quality of service for the
internet user.
[0016] The invention makes it possible to speed up and facilitate
access to certain services in great demand, especially during
particular events (sporting events, festivities etc.) or
information posted in the form of multimedia content, for example
documents or videos of over 30 Mo posted on news sites.
[0017] The invention concerns any type of content, for example a
live video, retrievable or viewable on the Web via a browser.
[0018] The invention allows the resources particularly storage
space and bandwidth, of the internet user to be involved to a
relatively small extent. The storage space invested by the internet
user can not exceed the cache already used by the web
applications.
[0019] The operating cost of the invention is low due to the fact
that it benefits from the very nature of the P2P architecture.
Indeed, content providers may offload the majority of the
processing of the services onto their final users and be limited,
once the download has been started, to acting as a directory while
offering more attractive services to their internet users. The
invention makes it possible for the continuity of the service to be
ensured by the number of internet users sharing the same
content.
[0020] The invention allows large and small content providers to
offer their internet users a Quality of Service (QoS) equivalent
to, or even greater than, a CDN, and at a lower cost.
[0021] The content server may list the clients that have already
retrieved part of the piece of content and address to a new client
seeking to retrieve the piece of content the address of at least
one other client from which it can retrieve at least one part of
this piece of content.
[0022] The content server can advantageously determine the part or
parts most often missing in the swarm, and the content server can
address to a new client at least one of the parts identified as
most often missing in order to ease its integration into the swarm
and to allow faster broadcasting of the pans than in a conventional
P2P broadcasting system.
[0023] The piece of content may be sent by the content server in
the form of parts identified with an associated item of information
aiming to ease the exchange between clients in P2P mode. The
associated item of information preferably includes the hash.
[0024] A module for monitoring the quality of service is
advantageously used to retrieve at least one quality of service
parameter from the clients.
[0025] The number of authorized client/server connections, i.e. the
maximum number of connections before the server switches to P2P
mode, is preferably a function of said at least one parameter.
[0026] The number of connections authorized between the Internet
users may be limited if the connection of the internet user
transmitting the content is not valid, in order to limit the use of
its bandwidth.
[0027] The method may include the provision by the content server
to a client of a program to be installed especially in the form of
a plug-in on the browser of this client, to be able to retrieve the
piece of content in client/server mode with a P2P format and to
receive the list of the clients of the content server.
[0028] The method may include the determination of the mode of
broadcasting of the piece of content in real time, client/server or
P2P, as a function of predefined thresholds, particularly QoS and
QoE, of the clients retrieving the piece of content.
[0029] The method may enable the broadcasting of the piece of
content, in P2P mode, via the browsers of the clients.
[0030] Another subject of the invention, according, to another of
its aspects, is a computer program product, including a computer
program stored on a medium or downloaded, arranged, onto the
computer of a client, to: [0031] install on the computer an
application that makes it possible, from the browser of the client,
upon connection to a content server arranged for implementing the
method according to the invention, to: [0032] download the content
from the server in client/server mode by parts compatible with its
broadcast in P2P mode to other clients that have connected to the
content server or, if the server does not offer this possibility,
[0033] download from the server a list of clients having parts of
the content so as to retrieve it in a P2P mode from other clients
that have connected to the content server.
[0034] When the content server receives a new connection request,
the content server determines if the client has a program making it
possible to implement the invention. If not, the content server
offers to the client the downloading of a program in the form of a
plug-in ensuring protocol compatibility. If the client does have a
program, the content server updates the thresholds and determines
whether the thresholds have been exceeded and if the client must be
served in P2P mode or in client/server mode. If the thresholds of
the number of connections have not been exceeded, the piece of
content can be transmitted in client/server mode. The content
server lists the numbers of the client that will be served in
client/server mode. The piece of content is sent in small parts and
in http client/server mode. If the thresholds have been exceeded,
the client will be served in P2P mode.
[0035] The content server lists the numbers of the client and sends
it the numbers of the clients, in particular the IP address and
port, and at least one of the parts.
[0036] During execution, after a content request to the server, the
program retrieves the downloading mode from the content server. In
the case where the server indicates to the program that the content
can be retrieved in client/server mode, the latter is retrieved in
the form of parts from the content server. In the case of P2P mode,
the program retrieves the list of the clients, especially with
their numbers, and at least one part of the piece of content,
preferably at least one of the most often missing. The program then
connects to the swarm and retrieves the piece of content. The piece
of content retrieved in parts is reconstructed by the program with
a view to reading and/or displaying it.
[0037] The program may moreover retrieve information concerning the
piece of content, such as for example the hash of the piece of
content, the size of the piece of content or that of the parts, if
the piece of content is small in size, for example below 50 Mo, the
program may retrieve the hashes of the parts. If the piece of
content is large in size, for example above 50 Mo, upon receiving
each pan the client may request its hash from the server in order
to check its authenticity. The security of the piece of content is
thus ensured by the centralization at server level of the
broadcasting of the hashes of the parts.
[0038] The invention may be better understood upon reading the
following detailed description, of an exemplary implementation not
limiting the latter, and upon examining the appended drawing,
wherein:
[0039] FIG. 1 schematically illustrates an architecture allowing
the implementation of the invention,
[0040] FIG. 2 schematically represents a task diagram of the module
manager, and
[0041] FIG. 3 schematically represents a task diagram of the
plug-in module of the browser.
[0042] The method according to the invention may be implemented
within a global architecture 1, schematically represented in FIG.
1, including a content server 2 and several clients 3 consisting in
this example of internet users who communicate with the content
server by way of the Internet network.
[0043] Unlike a pure P2P operation, the piece of content to be
broadcast is always present on the content server 2.
[0044] During, the implementation of the method, the server 2
begins to serve the first internet user clients, also called peers,
in client/server mode.
[0045] To ease the switch to P2P mode, the server 2 divides the
piece of content into small parts (from 65 Ko to 1 Mo depending on
the size and type of the piece of content) and identifies each part
of the piece of content.
[0046] For example, the N-1 first internet users are served in
client/server mode but the piece of content is sent in small parts
with information on each of these parts, such as number and
identifier, the latter preferably including the hash.
[0047] The client/server mode thus uses the division of the piece
of content into small parts and the identification of each part to
ease the change to P2P as well as to secure the piece of content in
both client/server and P2P modes.
[0048] Starting for example from the Nth interim user and/or the
crossing of one or more predefined thresholds, for example relating
to the bandwidth or to the CPU load, the server 2 sends to the Nth,
newly connected, internet user a list of internet users who have
already retrieved part of the piece of content so that the Nth
internet user can begin to retrieve the piece of content in P2P
mode from the internet users listed by the list. The Nth Internet
user may be the 100.sup.th or the 200.sup.th user or more depending
on the power of the server and the Quality of Service (QoS) and
Quality of Experience (QoE) parameters returned by the various
internet users.
[0049] Among the information uploaded to the server by the internet
users, in addition to the QoS and QoE parameters, each client sends
information on the most recent part that it has downloaded and
indicates the level of download reached. This information allows
the server 2 to know the parts most often missing in the "swarm",
i.e. here the set of cheats that are consulting the server 2.
[0050] One of the great problems of P2P protocols is the slowness
of integration of the new arrival into the swarm. The new arrival
has nothing to offer because it has no part and no client in the
swarm will be interested in it except those which have already
downloaded everything and which are called "seeds".
[0051] If there are not many seeds, the new client will take
several minutes to be integrated into the swarm.
[0052] To solve this problem, in addition to the list of the
clients and the information on the piece of content, the server 2
also sends to the new arrival at least one of the parts most often
missing in the swarm to allow the new client to rapidly integrate
the swarm and begin the exchanges with the other clients.
[0053] All the functionalities of the P2P exchange, such as the
exchange of the client list between internet users, in particular
PEX.sup.2 Peer Exchange, and the retrieval of the client list via
means other than the content server, particularly DHT.sup.3
Distributed Hash Table, can be used in the invention.
[0054] The content server 2 includes modules known as module
manager 11, quality of service monitoring module 12 and content
preparation module 13.
[0055] Module Manager
[0056] The module manager 11 chooses, according to limits set by
the quality of service module 12, the mode of communication:
client/server or P2P. The various tasks of the module manager 11
are shown in FIG. 2.
[0057] Upon a new connection request by an internet user, in step
21, the module manager determines in step 22 whether the internet
user has the program suitable for receiving the content. If not, it
allows the internet user to download the program in the form of a
plug-in in step 23. If the internet user does have the program, in
step 24 the module manager updates the thresholds that determine
the operating mode, client/server or P2P. In step 25, the module
manager determines whether the thresholds have been exceeded.
[0058] If so, in step 26 the internet user is led to download the
piece of content in P2P mode and in step 27 the module manager
stores the numbers of the internet user, then in step 28 sends to
the interact user the IP and port numbers of the internet users of
the swarm as well as one of the parts, particularly a part that is
being sought as indicated above.
[0059] If the thresholds have not been exceeded, in step 29 the
module manager allows the internet user to download in
client/server mode, stores its numbers in a memory in step 30 and
sends the piece of content to the internet user in the form of
parts in step 31, as explained previously.
[0060] Quality Monitoring Module
[0061] The module 12 retrieves all the Quality parameters,
particularly quality of service QoS and quality of experience QoE,
as well as protocol parameters such as bandwidth and download
speed, associated with each piece of content, and transmitted by
all the internet user clients. On the basis of these parameters,
the module 12 updates the thresholds, especially the limit of the
number of connections authorized in client/server mode and the
maximum bandwidth per connection, and determines the parts that are
most often missing in the swarm.
[0062] The parameters and the thresholds may change according to
the content exchanged in the swarm. In particular, the criteria and
the quality thresholds of a piece of video content are not the same
as for a static web page.
[0063] Content Preparation Module
[0064] Module 13 divides the piece of content to be broadcast into
small parts that may be transported in each of the client/server or
P2P modes of communication and computes an identifier for each of
the parts, preferably the hash.
[0065] The size of the parts depends primarily on the type of
content (streaming or live video, static content etc.) and on its
size. For streaming and live video, the size of the parts will also
depend on the encoding used on the piece of content. In this case
(streaming or live) the size of the parts can vary from 125 Ko to
500 Ko. For static content the size may vary from 65 Ko to 1
Mo.
[0066] The program installed in the form of a plug-in on the client
browser allows the browser to retrieve the piece of content in
client/server mode with the P2P format, in the form of parts with
their associated information (number of the parts, their sizes and
their identifiers).
[0067] FIG. 3 illustrates the operation of this program.
[0068] In step 40, the internee user has connected to the content
server 2.
[0069] In step 41 the program retrieves the downloading mode from
the content server.
[0070] In the case where the downloading mode is the client/server
mode, in step 42 the program retrieves the content directly from
the server, in the form of parts, as indicated above, which are
then assembled in step 43 to reconstruct the piece of content, and
to allow its use for example by reading or display, in step 44.
[0071] In the case where the downloading mode is the P2P mode, in
step 45 the program retrieves the peer list and one part of the
piece of content, preferably the most often sought piece, as
explained previously, in order to integrate into the swarm in step
46 to retrieve the other parts of the piece of content.
[0072] Next, the reconstruction of the piece of content can take
place in step 43, and its use in step 44.
[0073] The invention is not limited to the examples that have just
been described.
[0074] The expression "including" should be understood as being a
synonym of "including at least one".
* * * * *