Multicast data transfer
First Claim
1. An apparatus comprising:
- a first logical interface configured to receive a file from a content provider;
a second logical interface configured to forward said file to one or more hosts as a sequence of data packets in a first file delivery transmission; and
a processor configured to perform the following;
a) receive a first request for the file from a first host;
b) define a multicast delivery group including the first host;
c) receive a second request for the file from a second host during the first file delivery transmission of the requested file to the first host;
d) determine whether the second host is situated within a locational area of the first host;
e) if the second host is situated within the locational area of the first host, add the second host to the multicast delivery group, and cause the transmission of a remaining portion of the first file delivery transmission to both first and second hosts after adding the second host to the multicast delivery group; and
f) when a host is added to the group during the first file delivery transmission then, following completion of the sequence of data packets, cause re-transmission of said file to the group as a sequence of data packets in a second file delivery transmission,wherein each host in the group is allocated an amount of bandwidth on a network on which the first file delivery transmission occurs, and the processor is further configured to;
share allocated bandwidth of multiple hosts in the group to increase a data transfer rate experienced by the hosts in the group.
1 Assignment
0 Petitions
Accused Products
Abstract
In response to a file request from a host 3a, a server 7 retrieves the file from a content provider 2. A group comprising the host 3a is defined and the file sent to the group as a sequence of data packets A-G. Any further hosts 3b, 3c in the same locational area as host 3a that submit a request for the same file during the transmission of the data packet sequence are added to the group and receive the remaining packets in the sequence. At the end of the sequence, the server 7 re-transmits the data packet sequence to hosts 3b, 3c so that they receive the data packets dropped or missed in the original transmission. A host 3b that moves to another location during the transmission submits a NACK message, which is treated by a server 7′ associated with the second locational area as a file request.
-
Citations
18 Claims
-
1. An apparatus comprising:
-
a first logical interface configured to receive a file from a content provider; a second logical interface configured to forward said file to one or more hosts as a sequence of data packets in a first file delivery transmission; and a processor configured to perform the following; a) receive a first request for the file from a first host; b) define a multicast delivery group including the first host; c) receive a second request for the file from a second host during the first file delivery transmission of the requested file to the first host; d) determine whether the second host is situated within a locational area of the first host; e) if the second host is situated within the locational area of the first host, add the second host to the multicast delivery group, and cause the transmission of a remaining portion of the first file delivery transmission to both first and second hosts after adding the second host to the multicast delivery group; and f) when a host is added to the group during the first file delivery transmission then, following completion of the sequence of data packets, cause re-transmission of said file to the group as a sequence of data packets in a second file delivery transmission, wherein each host in the group is allocated an amount of bandwidth on a network on which the first file delivery transmission occurs, and the processor is further configured to; share allocated bandwidth of multiple hosts in the group to increase a data transfer rate experienced by the hosts in the group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
receiving a request for a file from a first host; retrieving the file from a content provider; defining a group comprising the first host; forwarding the file to the group as a sequence of data packets in a first file delivery transmission; receiving a request from a further host to join said group during said first file delivery transmission; responding to said request by transmitting to said further host a start packet to configure a connection between a network element and said further host; adding to the group any further hosts submitting requests for the file during said first file delivery transmission whereby said further hosts receive the remaining data packets in said first file delivery transmission, wherein adding a further host to the group includes comparing a location of the further host with a location of the first host, and wherein the file is forwarded via a first communication network and the request from the first host is received via a second communication network; and where a host is added to the group during the first file delivery transmission then, following completion of the sequence of data packets, re-transmitting said file to the group as a sequence of data packets in a second file delivery transmission, wherein each host in the group is allocated an amount of bandwidth on a network on which the first file delivery transmission occurs, and the method further comprises sharing allocated bandwidth of multiple hosts in the group to increase a data transfer rate experienced by the hosts in the group. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
a host sending to a network element via a cellular telecommunication network a request to join a group; receiving, via a different communication network from said cellular telecommunication network, a start packet transmitted by the network element which configures a connection between the network element and the host; receiving a sequence of data packets transmitted by the network element in a first file delivery transmission; arranging the sequence of data packets in their appropriate order; and receiving a second file delivery transmission comprising the sequence of data packets; wherein the host retrieves data packets that were dropped or missed in the first file delivery transmission by retrieving the corresponding data packets in the second file delivery transmission; and a data transfer rate experienced by the host increases as further hosts are included in the group through sharing of bandwidth allocated to the host and the further hosts on a network on which the first file delivery transmission occurs.
-
-
16. An apparatus comprising:
-
a transmitter configured to send a request to a network element to join a group of one or more hosts to receive a file transmitted by said network element; a receiver configured to receive a start packet transmitted by the network element to configure a connection between the network element and the receiver and to receive a sequence of data packets transmitted by the network element to the group in a first file delivery transmission and re-transmitted by the network element to the group in a second file delivery transmission; and a processor configured to arrange the sequence of data packets in their appropriate order; wherein the apparatus is arranged to retrieve any data packets that were dropped or missed in the first file delivery transmission by retrieving the corresponding data packets in the second file delivery transmission; and the apparatus is configured to experience a data transfer rate that increases as further apparatuses are included in the group through sharing of bandwidth on a network on which the first file delivery transmission occurs allocated to the apparatus and the further apparatuses. - View Dependent Claims (17, 18)
-
Specification