Steadily increasing bandwidths in fixed and mobile access to networks have encouraged increasing levels of data transactions from end users. Most of these transactions are downloads of content available in the public domain.
Most downloads take place using existing file download protocols over point to point (PTP) connections (i.e. unicast connections), or over point to multipoint (PTM) (i.e. broadcast/multicast connections).
Unicast transmission is the sending of information packets to a single network destination. The term “unicast” is formed in analogy to the word “broadcast” which means transmitting the same data to all destinations. Another multi-mode distribution method, “multicast”, is similar to IP broadcasting, but implemented in more efficient manner.
Unicast messaging is used for all network processes where a private or unique resource is requested. Unicast is generally used where two way connections are needed to complete the network transaction.
Sending the same data to multiple unicast addresses requires the sender to send all the data many times over, once for each recipient. If it is required to send data to many recipients, broadcast or multicast approaches may be used. In a broadcast, data is sent to all possible destinations (an “all-hosts broadcast”): this permits a sender to send the data only once, and all receivers can copy it. For example, in the IP protocol, 255.255.255.255 represents a limited local broadcast. For multicast, a multicast address is associated with a group of interested receivers. According to RFC 3171, addresses 224.0.0.0 to 239.255.255.255 are designated as multicast addresses. The sender sends a single datagram (from the sender's unicast address) to the multicast address, and the intermediary routers take care of making copies and sending them to all receivers that have registered their interest in data from that sender.
Multicast, by its very nature, is not a connection-oriented mechanism, so protocols such as the Transmission Control Protocol (TCP), which allows for retransmission of missing packets, are generally not appropriate. One suitable protocol for multicast transmission is File Delivery over Unidirectional Transport (FLUTE), documented in RFC 3926.
FIGS. 1 and 2 illustrate unicast (PTP) and multicast (PTM) delivery of data packets of content in a cellular network. For simplicity, the following discussion describes the delivery of non-streaming data but it will be appreciated that the same principles apply to the delivery of streaming data. FIG. 1 is a schematic representation of elements of a network delivering the content data using unicast packets. A content provider 101 sends packets across a backbone network towards a Gateway GPRS Support Node (GGSN) 102. The GGSN identifies the addresses and locations of users subscribed to the content data, and forwards the packets to various Serving GPRS Support Nodes (SGSN) 103, 104. The SGSNs 103, 104 route the packets through radio networks 105, 106, 107 towards end users using mobile terminals 111-118. Each end user requires its own data, and therefore the data must be sent eight times from the content provider 101, and four from the GGSN 102 to each SGSN 103, 104. The same data is sent many times over into each radio network 105-106. It will be appreciated that this results in very inefficient usage of network resources.
FIG. 2 is a schematic representation of elements of the same network delivering the content data using multicast packets. The backbone network and, radio networks 105, 106, 107 must all support the use of multicast packets, and the gateway nodes must be able to route multicast packets. The content provider 101 need only transmit a single set of multicast data packets. Each gateway node recognises that the packets are multicast, and forwards the same data to more than one recipient. This ensures a more efficient use of network resources, but requires that all points in the network can deal with multicast data packets.
There are situations when a server delivering data over a PTP connection may wish to switch delivery to a PTM connection, or vice versa. For example, suppose a server is delivering data to only a few recipients, and has set up a PTP session with each of them. If more client devices request the data from the server, it may be desirable for the server to set up a PTM session so as to deliver the data to all of the recipients simultaneously.
Currently, all transfer protocols are used exclusively either for PTM delivery or for PTP delivery. In order for the server to stop sending data using the PTP sessions and start sending it using a PTM session it would be necessary to tear down all of the existing sessions and establish a new session, requiring the use of a different protocol. For example, the PTP sessions might operate under FTP protocol, which does not support multicast transmission. In order to send data to multiple recipients in a multicast session, the FTP sessions would have to be terminated, and a new session using a PTM protocol such as FLUTE would be required.
To allow such capability, the servers and client devices need to support a protocol for each delivery mode. Furthermore, additional control plane protocols with well defined signalling procedures are required to perform switching between the different types of session. This, in turn, results in a significant signalling load.