DESCRIPTION
Network entity and method for providing data to at least one user entity in a communication network
BACKGROUND OF THE INVENTION
The present invention relates to communications over communication networks.
Conventional radio communication systems such as a 2nd generation system, e.g. a Global System for Mobile Communications (GSM) or a 3rd Generation
Partnership Project (3GPP) system, e.g. a Universal Mobile Telecommunications System (UMTS) or Long Term Evolution (LTE), provide a respective certain service for transmitting data to the user devices or user entities.
Said transmitted data may be voice data, audio data or video data. E.g. internet radio goes mobile and thus increases the traffic in the mobile networks, in particular in mobile core networks. This increase in transmitting internet radio over mobile networks has a great impact onto the mobile core network.
For example in conventional systems, streaming services may be used. However, the problem due to higher bit rates may be then severe. In general for the delivery of data like radio or live content, over the internet such as internet radio, there exist two main alternatives namely unicast and multicast. Multicast is a resource-efficient protocol. In particular by using multicast, the traffic grows linearly with the number of radio stations used. In contrast to multicast, unicast, in particular unicast-based HTTP streaming creates traffic which linearly grows with the number of users in particular active users.
Under the assumption that there are much more users than radio stations, unicast consumes much more bandwidth than multicast.
However, because the used communication network between the server providing such data for example a media server and the user entities consuming said data have more than one provider domain, multicast may not work end-to-end through said communication network.
Therefore unicast-based HTTP streaming has evolved over the years as the used technology to deliver internet radio services. Additionally for that purpose 3GPP technologies likes IP Multicast tunnelling, Multimedia Broadcast Multicast (MBMS) or Local IP Access/Selected IP Traffic Offload (LIPA/SIPTO) may be used.
Said IP Multicast tunnelling enables using multicast between the traffic source and the GPRS Gateway Support Node (GGSN). However, IP Multicast tunnelling requires changes in said GGSN and the user entity or user terminal. Further, said IP Multicast tunnelling is only optionally available in 3GPP.
MBMS enables end-to-end multicast or broadcast support. However, MBMS requires a number of changes in all nodes of the used communication network, also including the user entity. In particular the user entity requires a special client application which is configured to support MBMS.
Further LIPA/SIPTO may be cheap to implement and may be transparent for internet applications, but it has no support for a multicasting.
SUMMARY OF THE INVENTION
A goal to be achieved by the present invention is to provide a solution for providing or transmitting data from a media server to at least one user entity over more than one provider domain with minimal consumption of bandwidth.
According to some implementations, it is suggested to use a respective multicast connection in the respective provider domain and using a respective unicast connection towards the respective user entity.
Further according to some implementations, it is suggested to use a respective unicast connection from the media server to a first network entity, e.g. a proxy server, coupled towards said media server and using a multicast connection between said first network entity and a second network entity, e.g. a second proxy server, coupled towards the respective user entity.
Thus according to some implementations in the view of the respective user entity, multicast tunnelling of unicast-based data streaming, in particular live media streaming is provided.
According to some implementations, multicast connections and at least one unicast connection are combined for delivering data, in particular live streaming content or services. Thus according to some implementations based on a combination of a sending proxy adapted to receive unicasted data and to send multicasted data and a further receiving proxy adapted to receive said multicasted data and to send unicasted data to the user entities, allows a transparent use of multicast technology in particular requiring no changes to the media server, user entity or client application.
According to some implementations the traffic caused by said internet streaming services or applications, delivering a live content over unicast is significantly reduced. Use cases for that may be internet radio or live media streaming.
For an example, assuming that 125,000 users of one operator are listening to one out of 100 radio stations at the same time, the traffic may be reduced from
16 Gbps down to 12.8 Mbps. According to some implementations, the existing conventional infrastructure may be reused requiring no changes to existing service or clients.
According to a first aspect, a network entity for providing data to at least one user entity in a communication network is suggested, said network entity comprising a receiver and a sender. Said receiver is configured to receive data multicasted over at least one multicast connection. Said sender is configured to send said received data to at least one user entity over a respective unicast connection.
According to a first implementation form of the first aspect, said receiver is configured to receive said data as UDP packets, the respective UDP packet encapsulating at least one TCP packet including payload.
In particular, a protocol may be used which allows the encapsulation of TCP packets or TCP data to be tunnelled over UDP packets or UDP data (see reference [1 ]).
According to a second implementation form of the first aspect, said sender is configured to send said received data to at least one user entity over a respective unicast connection as TCP packets.
According to a third implementation form of the first aspect, said network entity further has a translator coupled between said receiver and said sender. Said translator is configured to translate said received data multicasted over at least one multicast connection into data being configured to be sent over the unicast connection.
In particular, said translator may be any packaging means configured to transform multicasted data into unicasted data or vice versa.
According to a fourth implementation form of the first aspect, said network entity further has a translator coupled between said receiver and said sender, said translator being configured to translate received multicasted UDP packets into TCP packets being configured to be sent over the unicast connection.
According to a fifth implementation form of the first aspect, said sender is embodied as a HTTP streaming server.
In particular, said HTTP streaming server may proxy the connection towards the user entity receiving said data. According to a sixth implementation form of the first aspect, said network entity is embodied as a proxy server.
Any implementation form of the first aspect may be combined with any
implementation form of the first aspect to obtain another implementation form of the first aspect.
According to a second aspect, a network entity providing data to a number of receiving network entities in a communication network is suggested, said network entity comprising a receiver and a sender. Said receiver is configured to receive data transferred over a unicast connection. Said sender is configured to send said received data to the number of receiving network entities over a multicast connection.
According to a first implementation form of the second aspect, said receiver is configured to receive said data transferred over the unicast connection as TCP packets.
According to a second implementation form of the second aspect, said sender is configured to send said received data to the number of receiving network entities over the multicast connection as UDP packets, the respective UDP packet encapsulating at least one TCP packet including payload.
According to a second implementation form of the second aspect, said network entity further has a translator coupled between said receiver and said sender. Said translator is configured to translate said received data transferred over the unicast connection into data being configured to be sent over the multicast connection.
Also here said translator may be embodies as any packaging means, configured to transform multicasted data into unicasted data or vice versa. According to a third implementation form of the second aspect, said network entity further has a translator coupled between said receiver and said sender, said translator being configured to translate received unicasted TCP packets into UDP packets being configured to be sent over the multicast connection. According to a fourth implementation form of the second aspect, said receiver is embodied as a HTTP streaming client.
In particular said HTTP streaming client may proxy the connection towards the server providing said data in particular a media or content server.
According to a fifth implementation form of the second aspect, said network entity is embodied as a proxy server.
Any implementation form of the second aspect may be combined with any implementation form of the second aspect to obtain another implementation form of the second aspect.
According to a third aspect, a system for providing data from a media server to at least one user entity is suggested, said system comprising at least a first network entity and a number of second network entities. Said first network entity has a first receiver and a first sender. Said first receiver is configured to receive data transferred from the media server over a unicast connection. Said first sender is configured to send said received data to a number of second network entities over a multicast connection. The respective second network entity has a second receiver and a second sender. Said second receiver is configured to receive the multicasted data from said first sender. Said second sender is configured to send said data received from said second receiver to the at least one user entity over a respective further unicast connection.
The respective receiver may be any receiving means. Furthermore, the respective sender may be any sending means. Moreover, the respective translator may be any translating means or packaging means.
The respective means, in particular the receiver; the sender and the translator may be implemented in hardware or in software. If said means are implemented in hardware, it may be embodied as a device, e.g. as a computer or as a processor or as a part of a system, e.g. a computer system. If said means are implemented in software it may be embodied as a computer program product, as a function, as a routine, as a program code or as an executable object. The respective user entity may be embodied as user device, a mobile device or mobile terminal, in particular as a smart phone.
The network entity may be a proxy server. The communication network may comprise a mobile communication network. In particular said communication network may have a plurality of provider domains.
According to a fourth aspect, a method for providing data to at least one user entity over a network entity in a communication network is suggested, said method comprising:
receiving data multicasted over at least one multicast connection at the network entity, and
sending said received data from the network entity to at least one user entity over a respective unicast connection.
According to a fifth aspect, the invention relates to a computer program comprising a program code for executing the method for providing data to at least one user entity over a network entity in a communication network when run on at least one a computer.
According to a sixth aspect, a method for providing data over a network entity to a number of receiving network entities in a communication network is suggested, said method comprising:
receiving data transferred over a unicast connection at the network entity, and sending said received data from the network entity to the number of receiving network entities over a multicast connection.
According to seventh aspect, the invention relates to a computer program
comprising a program code for executing the method for providing data over a network entity to a number of receiving network entities in a communication network when run on at least one a computer.
According to some implementations, the present invention may be transparent for internet radio applications, in particular requiring no changes for those applications. Thus the present solution may have only a very small impact onto existing network nodes.
According to some implementations, the present solution may reduce the traffic between an internet exchange point and a radio network controller (RNC).
According to some implementations, there is a solution for a UMTS network interworking with a local breakout gateway.
BRIEF DESCRIPTION OF THE DRAWINGS
Further embodiments of the invention will be described with respect to the following figures in which:
Fig. 1 shows a first embodiment of a network entity for providing data to at least one user entity in a communication network, Fig. 2 shows a second embodiment of a network entity for providing data to at least one user entity in a communication network,
Fig. 3 shows a first embodiment of a network entity for providing data to a number of receiving network entities in a communication network,
Fig. 4 shows a second embodiment of a network entity for providing data to a number of receiving network entities in a communication network,
Fig. 5 shows a first embodiment of a system for providing data from a media server to at least one user entity,
Fig. 6 shows a second embodiment of a system for providing data from a media server to at least one user entity, Fig. 7 shows an embodiment of a method for providing data to at least one user entity over a network entity in a communication network, and
Fig. 8 shows an embodiment of a method for providing data over a network entity to a number of receiving network entities in a communication network. DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
In Fig. 1 , a first embodiment of a network entity 101 for providing data to at least one user entity 103 in a communication network is depicted. Said data, e.g.
internet radio or video data, is provided by a server 105, e.g. a radio content or media server.
The network entity 101 has a receiver 107 and a sender 1 1 1 . Said receiver 107 is coupled towards said server 105 by means of a multicast connection 109. In this regard, said receiver 107 is adapted to receive data multicasted over said multicast connection 109.
Further, said sender 1 1 1 is coupled towards the user entity 103 by means of a unicast connection. Further said sender 1 1 1 is configured to send said data received by the receiver 107 to the user entity 103 over said unicast connection 1 13.
In particular, said receiver 107 is adapted to receive said data from said media server 103 as UDP packets. The respective UDP packet may encapsulate at least one TCP packet including said radio content.
In this regard, said sender 107 may be adapted to send said received data to the user entity 103 over the unicast connection 1 13 as TCP packets.
In particular, said network entity 101 may be embodied as proxy server and said sender 1 1 1 may be embodied as a HTTP streaming server for the user entity 105.
Fig. 2 shows a second embodiment of a network entity 201 for providing data to at least one user entity 103 in a communication network. Without loss of generality, Fig. 1 and 2 show only one user entity 103, 203 for illustration purposes. Said network entity 201 of Fig. 2 has all the features of the network 101 of Fig. 1 . In this regard, the network entity 201 is coupled towards a user entity 203 and to a server 205, e.g. a media server.
The receiver 207 of the network entity 201 is coupled towards the media server 205 by means of a multicast connection 209. Said sender 21 1 is coupled towards said user entity 203 by means of a unicast connection 213. Said receiver 207 receives multicasted data transferred over the multicast connection 209. The sender 21 1 sends said received data to the user entity 203 over the unicast connection 213.
Further, said user entity 201 of Fig. 2 has a translator 215. Said translator 215 is coupled between said receiver 207 and said sender 21 1 . Said translator 215 is configured to translate said received data multicasted over the multicast connection 209 into data being configured to be sent over the unicast connection 213. In particular, said translator 215 is adapted to translate received multicasted UDP packets into TCP packets being configured to be sent over the multicast connection 213.
Fig. 3 illustrates a first embodiment of a network entity 301 for providing data to a number of receiving network entities 303 in a communication network. Without loss of generality, Fig. 3 depicts only one receiving network entity 303, which may be a proxy server.
Further, said network entity 301 is coupled towards a media server 305 providing said data, e.g. radio content.
Said network entity 301 has a receiver 307 and a sender 31 1. Said receiver 307 is coupled towards the media server 305 by means of a unicast connection 309. In this regard, said receiver 307 is configured to receive said data from the media server 305 transferred over the unicast connection 309.
The sender 31 1 is coupled towards the user entity 303 by means of a multicast connection 313. In this regard, the sender 31 1 is configured to send said received data to the receiving network entity 303 over said multicast connection 313. In particular, said receiver 307 is configured to receive said data transferred over the unicast connection 309 as TCP packets. In this example, said sender 31 1 may then be configured to send said received data to the number of receiving network entities 303 over the multicast connection 313 as UDP packets, the respective UDP packets encapsulating at least one TCP packet including the radio content.
Fig. 4 shows a second embodiment of network entity 401 for providing data to a number of a receiving network entity 403 in a communication network. Said network entity 401 of Fig. 4 comprises all features of the network entity 301 of Fig. 3.
Further, said network entity 401 of Fig. 4 has a translator 415. The translator 415 is coupled between said receiver 407 and said sender 41 1 . In particular, said translator 415 is adapted to translate the received unicasted data transferred over the unicast connection 409 into data being configured to be sent over the multicast connection 413. In this regard, the translator 415 may translate received unicasted TCP packets into UDP packets being configured to encapsulate TCP packets and to be sent over the multicast connection 413.
Said receiver 407 may be embodied as a HTTP streaming client and the network entity 401 may be embodied as proxy server.
Fig. 5 shows an embodiment of the system 501 for providing data from a media server 503 to at least one user entity 505. Without loss of generality, Fig. 5 shows only one media server 503 and only one user entity 505. The system 501 has a first network entity 507 having a first receiver 509 and a first sender 51 1 . Said first network entity 507 may be embodied as the network entity 301 of Fig. 3 or as the network entity 401 of Fig. 4.
The first receiver 509 is adapted to receive data transferred from the media server 503 over a unicast connection 513. Said first sender 51 1 of said first network entity 507 is configured to send said received data to a number of second network entities 515 over a multicast connection 517.
Without loss of generality, Fig. 5 shows only one second network entity 515.
The second network entity 515 has a second receiver 519 and a second sender 521 .
Said second receiver 519 is configured to receive the multicasted data from said first sender 51 1 of the first network entity 507. The second sender 521 is configured to send said data received from said second receiver 519 to the user entity 505 over a respective further unicast connection 523.
The second network entity 515 may be exemplary embodied as the network entity 101 of Fig. 1 or the network entity 201 of Fig. 2.
Fig. 6 shows a second embodiment of a system 600 for providing data from a media server to at least one user entity
The system 600 of Fig. 6 has a user entity 601 , a radio network controller (RNC) 602, a break-out gateway 603, an SGSN 604, a GGSN 605, an internet radio
server 606 for standard programs, an internet radio server 607 for popular programs, a receiving proxy 608, a sending proxy 609, radio channels 610 distributed over IP multicast and a table 61 1 having a list of URLs for the most popular radio stations as provided by server 607.
The user entity 601 may be adapted to select a user radio station provided by server 606 or by server 607. In this regard, the user entity 601 may send a request including a URL to the break-out gateway 603. Further, the receiving proxy 608 may act as an internet radio server towards the user entity 601. It may map multicast traffic back to unicast as received from sending proxy 609. This sending proxy 609 may pull programs from the server 607 or plurality of servers 607 of most popular radio stations and may map the received unicast traffic to multicast addresses for sending them over the radio channels 610 to the receiving proxy 608.
In a step 0 when setting up the service, the operator may define a list of URLs, reflecting the most popular internet radio stations. This list may be handled by table 61 1. For example, the list of table 1 1 may contain about 10 to 100 URLs. For each URL, the list of table 61 1 may specify to which multicast addresses MCx the content received from the corresponding URL is mapped. For each entry in the list 61 1 , the sending proxy 609 may then establish a connection to the internet radio server 607 specified by the corresponding URL. The traffic received from the sending proxy 608 is then forwarded to the indicated multicast addresses MCx.
An alternative approach to pre-configuring URLs for radio stations may be to learn the most popular radio stations by monitoring the requests of the user entities 601 .
The list 61 1 of URLs for internet radio stations that may be delivered over multicast may be also used to configure the break-out gateway 603. Said breakout gateway 603 may be embodied as a Mobile Access Edge Gateway (MEAG).
In a step 1 , where the user entity 601 requests to access a popular internet radio service as provided by the server 607, this request may be detected by the breakout gateway 603 in a step 2. The break-out gateway 603 may then redirect a HTTP request to the receiving proxy 608.
If the receiving proxy 608 receives an HTTP request in a step 3, the receiving proxy 608 may forward packets received over the corresponding multicast address MCx via unicast to the user entity 601 .
Fig. 7 shows an embodiment of a method for providing data to at least one user entity in a communication network.
As shown in Fig. 7, the method comprises a step 701 of receiving data multicasted over at least one multicast connection at the network entity.
Further, the method of Fig. 7 has a step 703 of sending said received data from the network entity to at least one user entity over a respective unicast connection. Fig. 8 shows an embodiment of a method for providing data over a network entity to a number of receiving network entities in a communication network.
In a step 801 , data transferred over a unicast connection is received at the network entity.
In a step 803, the received data is transferred from the network entity to the number of receiving network entities over a multicast connection.
REFERENCES
[1] Simon Horman, "iproxy: Running TCP services over UDP", January 2002, which can also be found on:
http://www.vergenet.net/linux/iproxy/iproxy_paper/stuff/iproxy_paper.pdf