The present invention generally relates to systems and methods and, more particularly, to mechanisms and techniques for improving performance of a content sharing system.
Peer To Peer P2P applications, including streaming applications, are becoming commonplace on the PC and it foresee that they will make their way into networked Consumer Electronic CE devices (e.g. MP3 players, media players etc). P2P streaming applications will also be available on mobile phone devices. Examples of P2P streaming applications are Joost (video) and Spotify (music).
The current P2P applications assume that the P2P client and the storage of the content exchanged by the client are a single entity. See for example the implicit reference to the collocation between logic and storage: http://users.cs.cf.ac.uk/Ian.J.Taylor/DistributedSystems/PP TSlides/BittorentLecture.ppt. This link points to a presentation on the way Bittorent client works. Slides 17-18 shows peers exchange messages with the tracker. Peer A hosts the logic supporting this. Slide 19 shows peer A perform shake-hand with other peers. Peer A hosts the logic supporting this. Slides 20-21 show peer A getting the pieces. Peer A also stores the pieces. From the above it can be seen that a P2P client (peer A in this example) hosts the P2P logic as well as stores the content it gets from other peers.
While this is relevant for many PC based applications, the concept is inflexible and will be a restricting factor when there is a need to separate P2P control logic from storage entities.
For example, when running a P2P client on the edge of a network, for example in the end user terminal, where network resources (like bandwidth) might be very limited and/or be charged as a metered service at a prohibitively high cost, client and storage in a single entity does not make much sense.
In another example, it may be desirable to centralize the P2P control processing to one or a few nodes inside the network core while distributing storage nodes close to (end-user) terminals. This is not possible with current P2P clients and leads to unnecessary transfers of content in the mobile network core.
An aim of the invention is to overcome above identified limitations of the prior art. The invention focuses on the locating of storage facilities for the content in an optimized way, to prevent back-haul of needed bandwidth and reduce bandwidth consumption.
The basic concept of the invention is the separation of storage facilities and logic of applications in different physical hosts.
The solution more in detail is a system for improving performance of a content sharing system comprising content sharing clients, wherein storage means and logic means for content chunk disposed by a client is separated into different physical hosts.
According to one exemplary embodiment a system and a method for optimizing logic and storage facilities has been described whereby logic facilities have been located at edge user position while storage facilities have been located at a central position.
According to another exemplary embodiment a system and a method for optimizing logic and storage facilities has been described whereby logic facilities have been located at a central position while storage facilities have been located at edge user positions.
According to yet other exemplary embodiments, a central node and a node at edge user position according to the invention have been described.
An object of the invention is to reduce negative traffic impact caused by bandwidth consumption. This object and others are achieved by systems, methods, arrangements and nodes.
Advantages of the invention are an attained reduction of accessing latency time of stored content as a result of splitting the logic and storage components. The amount of back-haul bandwidth needed is also reduced since the storage part of a control node can be situated close to edge-users. Furthermore, distributed storage architecture can now be implemented for caches of P2P content in mobile operator networks.
The invention will now be described more in detail with the aid of preferred embodiments in connection with the enclosed drawings.
a discloses a block schematic illustration of logic facilities at edge user position and storage facilities in a node at a central position.
b discloses a block schematic illustration of logic facilities at central position and storage facilities in a node at an edge user position.
The mobile network and the core network together constitutes a 3rd Generation Partnership Project (3GPP) mobile network. The architecture of the 3GPP mobile network is built around tunneling. In
The centrally located P2P control node PCN 7 is implemented into the node 20 where tunnels are terminated. The significance of placing the PCN into the PDN GW 20 is that it is the ingress/egress point for all internet traffic; hence all the traffic from/to the mobile peers will go through this central node and the central PCN node will be in the signaling path of the P2P traffic. A storage facility 23 is in this first embodiment hosted by the central control node 7 according to the invention. In
The system and method according to the first embodiment will now be further explained together with
In a first method step, the radio based laptop 6, from now on called the mobile client 6 at some point according to the invention downloads content 30, received from other clients, to a location closer to the external clients. In this example the node 7 has been selected as host for the content chunk. Content chunk is by definition a part of the content, which part can be of various sizes. So, while maintaining P2P functionality comprising the logic facilities needed for downloading content from other clients, forming search queries to other clients and answering search queries from other clients etc. as before, i.e. hosted by the mobile client 6, storage facilities 23 for content chunk is now hosted at a location closer to clients that are expected to request content chunk. To be noted is that the content chunk that now is hosted by the central node 7 still is registered by the P2P system as hosted by the mobile client 6.
A request 31 for content chunk that is registered by the P2P system as hosted by the mobile client 6 but in fact is hosted by the central node 7, is sent from a requesting external client 2 to the mobile client 6.
The P2P logic facility maintained in the mobile client 6 sends an instruction 32 to the central node 7 to serve the requested content chunk, now hosted in 7, to the content requesting external client 2.
The central node 7 serves the requested content chunk to the requesting external client 2.
When another external client 3 request 34 the content chunk from the mobile client 6, the mobile client will instruct 35 the central node 7 to serve the chunk in the same manner as described above.
In the example above bandwidth consuming transfers of content has been disclosed in the figure with thick arrows 30, 33 and 36 while signalling (less bandwidth consuming) has been disclosed with thin arrows 31, 32, 34 and 35. As can be understood from the figure, bandwidth consumption decreases in the network when the content is centrally located. The more popular the content is, the more bandwidth (that might be very limited) is saved.
The system and method according to the second embodiment will now be further explained together with
A request 41 for content chunk is sent from a requesting internal mobile client 1 to the internal client's parent node, i.e. to the central node 7.
The central node 7 fetches the chunk from the P2P network. This is inline with P2P streaming system operation. The request 41 is hereby forwarded 42 from the central node 7 to the content holding external client 2. The request 41 is in this example modified before forwarding so that 7 appear to be the requesting node.
The content chunk is delivered 43 from the external client 2 to the central node 7.
The received content chunk is served 44 from the central node 7 to the requesting internal mobile client 1.
A storage decision 45 is made in the central node 7. The storage decision takes request rate for the content chunk into consideration. An expected high request rate will result in a positive storage decision. The expected high rate is assumed to be popularity of the specific content file which indicates the measure of probability with which the same file will be requested by other end users. A popularity threshold can for example be set and if the popularity threshold for a given file is exceeded its deemed popular and a positive storage decision is made.
As a consequence of a positive storage decision, the central node 7 forwards 46, via RBS, the content chunk received from the external client 2, to the storage facility S2 at edge user position close to the requesting client 5.
A request 47 for content chunk is sent from a requesting internal mobile client 5 to the internal client's parent node i.e. to the central node 7.
The central node 7 instructs 48 the storage facility
S2 to serve this content to the requesting peer 5. This instruction is a signaling message.
The storage facility S2 serves 49 the content chunk to the requesting internal mobile client 5 via the Radio Base Station RBS that serves 5 (see also
A request 50 for content chunk is sent from another requesting internal mobile client 6 to the internal client's parent node i.e. to the central node 7.
The central node 7 instructs 51 the storage facility S2 to serve this content to the requesting peer 6.
The storage facility S2 serves 52 the content chunk to the requesting internal mobile client 6 via the Radio Base Station RBS that serves 6 (see also
In the example above bandwidth consuming transfers of content has been disclosed in the figure with thick arrows 43, 44, 46, 49 and 52 while signalling (less bandwidth consuming) has been disclosed with thin arrows 41, 42, 47, 48, 50 and 51. As can be understood from the figure, bandwidth consumption decreases in the network when the content is located at edge user position.
a discloses a block schematic illustration of a central performance improving node 9A attached via an interface IF1 to a node 6 at edge user position. In the example in
b discloses a block schematic illustration of a performance improving node 9B at edge user position attached via an interface IF2 to a node 7 at central position. The node at edge user position is a first physical host for storage facilities for content chunk disposed by a client, for example client 2 as described in the second embodiment. The node 7 is a second physical host, for a P2P logic part for the content chunk. The P2P logic part consists of processes 26a-c responsible for downloading content from the network, forming search queries and answering search queries from other peers. The communication between the edge user position node 9B and the central node 7 has been described together with the second embodiment and takes place via sender means S and receiver means R in 9B and 7. A message processing logic 24b in 7 is responsible for executing the storage decision by taking request rate for the content chunk into consideration. The message processing logic 24b is also responsible for forwarding 46 (see
To be noted is that the nodes described in
As will be obvious to someone skilled in the art, the peers do not have to be separated into external and internal peers but instead all involved peers may be located in the same operator network. The storage facility can be divided on several places. Furthermore, as an example, that an internal client “hosts” storage facilities do not necessarily mean that the storage is located within the internal client's laptop, instead it means that the facility is under the influence of the internal client. In the described embodiments, examples of hosts for storage and/or logic facilities are 6, 7, 9A and 9B.
A system that can be used to put the invention into practice is schematically shown in the
The systems and methods of the present invention may be implemented for example on any of the Third Generation Partnership Project (3GPP), European Telecommunications Standards Institute (ETSI), American National Standards Institute (ANSI) or other standard telecommunication network architecture. Other examples are the Institute of Electrical and Electronics Engineers (IEEE) or The Internet Engineering Task Force (IETF).
The description, for purposes of explanation and not limitation, sets forth specific details, such as particular components, electronic circuitry, techniques, etc., in order to provide an understanding of the present invention. But it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, and techniques, etc., are omitted so as not to obscure the description with unnecessary detail. Individual function blocks are shown in one or more figures. Those skilled in the art will appreciate that functions may be implemented using discrete components or multi-function hardware. Processing functions may be implemented using a programmed microprocessor or general-purpose computer. The invention is not limited to the above described and in the drawings shown embodiments but can be modified within the scope of the enclosed claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE09/50619 | 5/29/2009 | WO | 00 | 12/15/2011 |