The present invention relates to the domain of Information and Communication Technologies.
The present invention more specifically relates to a method for the diffusion of data in a distributed network.
In the prior art, information diffusion techniques are already known (broadcasting). This diffusion carried out regularly (almost in real time) is traditionally realized in one of the following ways: by broadcast (or its multicast variant) or by unicast.
The broadcast methods consist in the transmission of information only once for all the client terminals that “listen for” this information. This technique is very efficient on the server side. However, this technique presents two important disadvantages:
The multicast technique is a variant of the broadcast mechanism in which he (or she) who is listening for a specific data stream registers with the network infrastructure and servers. Due to this registering process, the network is able to avoid diffusing specific data streams in parts of the network where no “listener” terminal is interested by that stream. This mechanism enables saving bandwidth in the access network that is the part of the network between the final user and the core network part. The drawbacks of such methods are the following:
The unicast technique consists in the transmission of information individually from the server to each listener terminal. This technique can be used in “push” mode (data streams are pushed by the server to the final users), in a similar manner to the methods for broadcast, or in “pull” mode (the user terminal extracts data streams from the server). The “pull” variant is currently widely deployed, particularly via Web protocols and Web servers. The main drawback of the unicast technique is that it is not economical of server resources. In addition, it is difficult to extend this technique to a large network constituted of similar devices.
The RSS (Really Simple Syndication) or Atom technologies, which are unicast techniques in pull mode, are already known in the prior art. In the scope of these two technologies, a terminal regularly interrogates a server and creates the illusion with regard to the user that the data has been sent to the terminal. The problem that is posed is the overloading of the network, in terms of bandwidth.
Today, it is possible to transmit data to a DECT (Digital Enhanced Cordless Telecommunications) terminal. The aim is to use resources shared between several users. The central problem posed is how to distribute data without overloading the network.
The prior art knows, through the U.S. Pat. No. 7,047,315 (Cisco Technology), a method for routing data via one or more load-sharing routers to a selected server, having a shared load, among a plurality of servers in a network.
The prior art also knows, from the US patent application No. US 2003/217172 (Intel), a method for transmitting a shared load in environments at varied speeds.
In the context of the present invention, various items of end-user client equipment communicate between themselves to dynamically create a hierarchical equipment network that enables downward circulation of data (from a main server to all users).
The present invention differs from the solutions of the prior art U.S. Pat. No. 7,047,315 and US 2003/217 172 in that:
The present invention intends to overcome the drawbacks of the prior art by proposing a data diffusion mechanism almost in real time in a large scale network. It is understood that the data stream is directed from a content server to a client terminal (a PC or other type of network device). One of the aims of the present invention is to facilitate data diffusion.
For this purpose, the present invention relates to, in its most generally accepted sense, a communication terminal (T1) adapted to connect in a network to other communication terminals (T2, T3) and to a server and adapted to receive and transmit data streams, characterized in that it comprises means for establishing hierarchical links of “parent/child” type with other communication terminals or with a server, these hierarchical links being dynamically established on the basis of the load of said terminal (T1) and of the load of the terminals (T2, T3) directly or indirectly connected to it, as well as on the basis of the load of said server.
Preferably, said communication terminal comprises means for establishing, in the context of hierarchical links, a data-stream tree structure.
The present invention also relates to a method for association between a client terminal and a central server or between a client terminal and another client/server terminal in a hierarchical communication network comprising at least a central server and a plurality of client terminals, some of the client terminals also being servers and “parents” and others being “children” in said network, characterized in that it comprises the following steps:
Preferably, in step b)ii), the client/server child terminal towards which the request for association is redirected, is randomly selected.
Advantageously, in step c)ii), the client/server child terminal towards which the request for association is redirected, is randomly selected.
Finally, the present invention also relates to a communication network for multimedia content diffusion from a public content server to a central private server and to a plurality of client terminals that are logically connected to said private server and to each other by a communication sub-network, characterized in that said sub-network is distributed, possesses a hierarchal structure and is dynamically constructed on the basis of the load at the level of the server and client terminals.
Preferably, the multimedia content is diffused in “push” mode.
According to an embodiment, said multimedia content is composed of a plurality of data streams and, to establish said sub-network hierarchal structure, a data-stream tree structure is constructed.
Within the context of said network hierarchical structure, some client terminals are “parents” and others are “children”. These notions are used here in their classical computing sense.
In an embodiment, the client terminals are PC type computers.
In another embodiment, the client terminals are network terminals, possibly telephony terminals, for example DECT compatible.
Advantageously, in the case of a client terminal fault, the children of the faulty terminal are able to reconnect to said private central server or to the parent of the faulty terminal.
The invention will be better understood from the following description of an embodiment of the invention provided as an example by referring to the annexed figures, wherein:
a and 3b illustrate examples of the association process without and with the intervention of a child server, and
The deployed terminals are used as in a peer-to-peer architecture. A hierarchal network is constructed of peers that are subscribers to the same data stream.
The data is extracted from a public server by a private proxy server, before being redistributed to the entire network of client terminals (for example those noted as t1, t2 and t3 in
The data can be diffused in push mode or in pull mode in the hierarchical network.
In both modes, the proxy server diffuses the data to its direct children that themselves diffuse it to their children (if any). This recursive mechanism enables diffusion of data to all the network nodes.
The tree structure is dynamically constructed on the basis of a stream. Each end user device that wishes to subscribe to a specific stream contacts the central private server for this stream. Then, it is either directly attached to the server, or redirected to one of the children of the central server. The children are able to dynamically redirect an incoming connection to one of their own children, thus creating a tree structure.
The hierarchical network is dynamically constructed on the basis of the load at the server and its client terminals.
The load can be defined as the number of connected children. For example, if the load is defined as limited to 5 connections, the 5 first children that connect to the private server or a given client can accept their association request. The next children will be redirected by their parent (private server or client) to a child of the latter.
In a more elaborate manner, the load can be a function of both the number of children and the volume of data to be diffused.
For example, for a volume of data of 50 ko, the server/client can limit the number of child connections to 10 and for a volume of 100 ko, limit then this number to 5.
Generally, this definition of the maximum load can differ between the server and its clients. The server can accept for example 100 children and the clients could accept only 20.
Then, the child server has two options:
This process is iterated until a server accepts to grant access to said stream.
a and 3b illustrate an example of association process without (
In
In
In the case of a particular terminal fault, the children of the faulty terminal are able to reconnect to the central server or to the parent of the faulty terminal.
In addition, this system is robust: there is a function of “election of a new chief” in the case of a break in the link.
This mechanism of election of a new chief guarantees that when a client disappears from the tree structure architecture of children that were connected, it does not disappear. The first child to recognise the absence of the parent contacts the private server to obtain the coordinates of a new potential parent and hence informs the neighbouring children of the new chief.
The mechanism according to the present invention, implemented as software, can be loaded onto existing terminals without modification to the hardware.
The communications network according to the present invention presents numerous advantages:
The invention is described in the preceding text as an example. It is understood that those skilled in the art are capable of producing variants of the invention without leaving the scope of the patent.
| Number | Date | Country | Kind |
|---|---|---|---|
| 0653349 | Aug 2006 | FR | national |
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/FR2007/051798 | 8/8/2007 | WO | 00 | 2/2/2009 |