Accelerated delivery of media content via peer caching
First Claim
1. A network communications system, comprising:
- an internet gateway server positioned at a mobile broadband access point and configured to;
establish client-side connections between the internet gateway server and a plurality of client devices via a client-side access network forming a mobile broadband wireless access network;
enable communications between each of the client devices and corresponding server devices via the client-side access network, the internet gateway server, and a server-side wide area network;
monitor the client devices to identify a subset of the client devices that are actively connected to the internet gateway server via the client-side access network and that opt-in to accelerated transmission of media data in which the subset of client devices are utilized to cache chunks of media data requested by other client devices via peer-to-peer connections;
maintain a record at a data store of the internet gateway server of media data chunks cached at each client device of the subset of client devices actively connected to the internet gateway server, the record organized by a media identifier and a corresponding media data chunk identifier for each media data chunk, and a client identifier for each of the client devices;
receive a request from a first client device of the subset of client devices actively connected to the internet gateway server for a media data item stored at a media server device connected or connectable to the internet gateway server via the server-side wide area network;
identify a media identifier for the media data item based, at least in part, on a parameter of a URL of the request for the media data item, or based, at least in part, on a response received from the media server device;
determine that a first target portion of the media data item corresponding to at least a first media data chunk is cached at a second client device of the subset of client devices actively connected to the internet gateway server based on the media identifier and the corresponding media data chunk identifier for the first media data chunk, and the client identifier for the second client device of the record;
responsive to the request, instruct the first client device to establish corresponding peer-to-peer connections with the second client device over the client-side access network connected to the internet gateway server via the mobile broadband wireless access network, to request, and to receive the first target portion of the media data item from the second client device;
retrieve a remainder of the media data item not cached at any of the client devices actively connected to the internet gateway server based on the record, by requesting the remainder of the media data item from the media server device, and receiving the remainder of the media data item from the media server device; and
send the remainder of the media data item to the first client device.
0 Assignments
0 Petitions
Accused Products
Abstract
An example method includes monitoring client devices to identify a subset of client devices actively connected to an internet gateway server, and maintaining a record of media data chunks cached at each client device of the subset of client devices. The method includes receiving a request from a first client device for a media data item stored at a media server device, and determining that a first target portion of the media data item is cached at a second client device actively connected to the internet gateway server. The method includes instructing the first client device to establish a peer-to-peer connection with the second client device, to request, and to receive the first target portion of the media data item from the second client device. The method includes retrieving and sending the remainder of the media data item to the first client device.
-
Citations
12 Claims
-
1. A network communications system, comprising:
an internet gateway server positioned at a mobile broadband access point and configured to; establish client-side connections between the internet gateway server and a plurality of client devices via a client-side access network forming a mobile broadband wireless access network; enable communications between each of the client devices and corresponding server devices via the client-side access network, the internet gateway server, and a server-side wide area network; monitor the client devices to identify a subset of the client devices that are actively connected to the internet gateway server via the client-side access network and that opt-in to accelerated transmission of media data in which the subset of client devices are utilized to cache chunks of media data requested by other client devices via peer-to-peer connections; maintain a record at a data store of the internet gateway server of media data chunks cached at each client device of the subset of client devices actively connected to the internet gateway server, the record organized by a media identifier and a corresponding media data chunk identifier for each media data chunk, and a client identifier for each of the client devices; receive a request from a first client device of the subset of client devices actively connected to the internet gateway server for a media data item stored at a media server device connected or connectable to the internet gateway server via the server-side wide area network; identify a media identifier for the media data item based, at least in part, on a parameter of a URL of the request for the media data item, or based, at least in part, on a response received from the media server device; determine that a first target portion of the media data item corresponding to at least a first media data chunk is cached at a second client device of the subset of client devices actively connected to the internet gateway server based on the media identifier and the corresponding media data chunk identifier for the first media data chunk, and the client identifier for the second client device of the record; responsive to the request, instruct the first client device to establish corresponding peer-to-peer connections with the second client device over the client-side access network connected to the internet gateway server via the mobile broadband wireless access network, to request, and to receive the first target portion of the media data item from the second client device; retrieve a remainder of the media data item not cached at any of the client devices actively connected to the internet gateway server based on the record, by requesting the remainder of the media data item from the media server device, and receiving the remainder of the media data item from the media server device; and send the remainder of the media data item to the first client device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A network communications method, comprising, at an internet gateway server positioned at a mobile broadband access point:
-
establishing client-side connections between the internet gateway server positioned at the mobile broadband access point and a plurality of client devices via a client-side access network forming a mobile broadband wireless access network; enabling communications between each of the client devices and corresponding server devices via the client-side access network, the internet gateway server, and a server-side wide area network; monitoring the client devices to identify a subset of the client devices that are actively connected to the internet gateway server via the client-side access network and that opt-in to accelerated transmission of media data in which the subset of client devices are utilized to cache chunks of media data requested by other client devices via peer-to-peer connections; maintaining a record at a data store of the internet gateway server of media data chunks cached at each client device of the subset of client devices actively connected to the internet gateway server, the record organized by a media identifier and a corresponding media data chunk identifier for each media data chunk, and a client identifier for each of the client devices; receiving a request from a first client device of the subset of client devices actively connected to the internet gateway server for a media data item stored at a media server device connected or connectable to the internet gateway server via the server-side wide area network; identifying a media identifier for the media data item based, at least in part, on a parameter of a URL of the request for the media data item, or based, at least in part, on a response received from the media server device; determining that a first target portion of the media data item corresponding to at least a first media data chunk is cached at a second client device of the subset of client devices actively connected to the internet gateway server based on the media identifier and the corresponding media data chunk identifier for the first media data chunk, and the client identifier for the second client device of the record; determining that a second target portion of the media data item is cached at a third client device of the subset of client devices actively connected to the internet gateway server based on the media identifier and the corresponding media data chunk identifier for the second media data chunk, and the client identifier for the third client device of the record; responsive to the request, instructing the first client device to establish corresponding peer-to-peer connections with each of the second and third client devices over the mobile broadband wireless access network connected by the internet gateway server, to request, and to receive the first and second target portions of the media data item from the second and third client devices, respectively; initiating presentation of the first and second target portions of the media data item at the first client device; retrieving a remainder of the media data item not cached at any of the client devices actively connected to the internet gateway server based on the record, by requesting the remainder of the media data item from the media server device, and receiving the remainder of the media data item from the media server device; sending the remainder of the media data item to the first client device; and initiating presentation of the remainder of the media data item at the first client device. - View Dependent Claims (9, 10, 11)
-
-
12. A network communications method, comprising, at a network device forming an internet gateway server positioned at a mobile broadband access point between a first client device and a media server device in a communications network:
-
monitoring communications between the first client device and the media server device to identify a media identifier contained within or indicated by one or more of a request message for a media data item from the first client device directed to the media server device, or a response message for the request from the media server device directed to the first client device; intercepting the response message from the media server device; maintain a record at a data store of the network device of media data chunks cached at client devices actively connected to the network device via a client-side access network forming a mobile broadband wireless access network, the record organized by a media identifier and a corresponding media data chunk identifier for each media data chunk, and a client identifier for each client device actively connected to the network device and that opt-in to accelerated transmission of media data in which the subset of client devices are utilized to cache chunks of media data requested by other client devices via peer-to-peer connections; modifying an object reference to a first target portion of the media data item in the response message from a network address of the media server device to a network address of a second client device identified in the record by a corresponding client identifier to enable the first client device to establish a peer-to-peer connection with the second client device over the mobile broadband wireless access network of the network device, and to enable the first client device to request and to receive the first target portion of the media data item identified in the record by a corresponding media identifier and a corresponding media data chunk identifier from the second client device via the peer-to-peer connection over the mobile broadband wireless access network; and facilitating delivery of a remainder of the media data item to the first client device from one or more of the media server device, a third client device via another peer-to-peer connection over the mobile broadband wireless access network, or the network device based on the record; wherein the first target portion of the media data item corresponds to a seek location of the media data item subsequent to a beginning portion of the media data item.
-
Specification