Abstract
A method for operating a server includes receiving, at the server, a request from a mobile device identifying a data file and retrieving the data file from a remote storage device in response to receiving the request. A party other than a party that operates the server operates the remote storage device. A number of collaborator devices are identified. Each of the number of collaborator devices is capable of establishing a mobile-to-mobile communications link with the mobile device. Respective portions of the data file are allocated to each of the number of collaborator devices based on at least one of (a) throughputs associated with the number of collaborator devices and (b) potential debits charged by the number of collaborator devices. Respective portions of the data file are transmitted to each of the number of collaborator devices according to the allocation.
Claims
-
A method for operating a server comprising:
receiving, at the server, a request from a mobile device identifying a data file;
retrieving the data file from a remote storage device in response to receiving the request, wherein the remote storage device is operated by a party other than a party that operates the server;
identifying a number of collaborator devices, wherein each of the number of collaborator devices is capable of establishing a mobile-to-mobile communications link with the mobile device;
allocating respective portions of the data file to each of the number of collaborator devices based on at least one of (a) throughputs associated with the number of collaborator devices and (b) potential debits charged by the number of collaborator devices; and
transmitting of respective portions of the data file to each of the number of collaborator devices according to the allocation.
- The method of claim 1, wherein the request is identified as having been generated by a mobile application executing on the mobile device.
- The method of claim 1, wherein retrieving the data file from the remote storage device comprises sending a request to the storage device, the request to the storage device identifying the server but not identifying the mobile device.
-
The method of claim 1, wherein identifying the number of collaborator devices comprises
accessing a database of potential collaborator devices and corresponding geographic locations of those potential collaborator devices.
-
The method of claim 4, wherein identifying the number of collaborator devices comprises:
broadcasting of a message to potential collaborator devices; and
receiving position information associated with each potential collaborator device in response to the broadcasting.
- The method of claim 5, wherein identifying the number of collaborator devices comprises determining whether to include a potential collaborator device in the number of collaborator devices based on the position information associated with that collaborator device.
- The method of claim 1, wherein allocating the respective portions of the data file to each of the number of collaborator devices comprises receiving allocation instructions from the mobile device.
- The method of claim 1, wherein identifying a number of collaborator devices comprises receiving identification of the number of collaborator devices from the mobile device.
- The method of claim 1, wherein identifying a number of collaborator devices comprises selecting the number of collaborator devices from a number of potential collaborator devices at the server.
- The method of claim 1, wherein each of the number of collaborator devices is a mobile device.
- The method of claim 10, wherein the number of collaborator devices comprises a tablet computing device.
- The method of claim 1, wherein data sizes of the respective portions of the data file depend on at least one latency requirement indicated by the request identifying the data file.
- The method of claim 1, wherein the respective portions of the data file allocated to one of the number of collaborator devices comprises a first portion of a data file and a second portion of the data file separated by a third portion of the data file.
- The method of claim 1, wherein one of the number of collaborator devices is capable of an LTE-Direct based mobile-to-mobile communications link with the mobile device.
-
The method of claim 1, wherein identifying the number of collaborator devices comprises:
transmitting a message from the mobile device to potential collaborator devices located in the vicinity of the mobile device; and
in response to the transmission, receiving at least one response message identifying the number of collaborator devices.
- The method of claim 1, further comprising transmitting instructions to generate, on a display of the mobile device, a listing of potential collaborator devices, wherein the listing for each potential collaborator device includes an indication of (a) throughput or (b) potential debits associated with that potential collaborator device.
- The method of claim 1, wherein the debits are assessed as Bitcoins.
-
The method of claim 1, further comprising:
determining a current effective throughput of the mobile device in response to receiving the remote request; and
in response to determination that the current effective throughput of the mobile device is not sufficient to download the data file within a specified time constraint, performing the identification of the number of collaborator devices.
-
A non-transitory computer-readable storage medium storing computer executable instructions, which when executed by a processor, cause the computing device to perform a method comprising:
receiving a request from a mobile device identifying a data file;
causing retrieval of the data file from a remote storage device in response to receiving the request, wherein the remote storage device is operated by a party other than a party that operates the computing device;
identifying a number of collaborator devices, wherein each of the number of collaborator devices is capable of establishing a mobile-to-mobile communications link with the mobile device;
allocating respective portions of the data file to each of the number of collaborator devices based on at least one of (a) throughputs associated with the number of collaborator devices and (b) potential debits charged by the number of collaborator devices; and
causing transmission of respective portions of the data file to each of the number of collaborator devices according to the allocation.
- The computing device of claim 19, wherein the request is identified as having been generated by a mobile application executing on the mobile device.
- The computing device of claim 19, wherein causing retrieval of the data file from the storage device comprises causing sending of a request to the server, the request to the server identifying the computing device but not identifying the mobile device.
- The computing device of claim 19, wherein identifying the number of collaborator devices comprises accessing a database of potential collaborator devices and corresponding geographic locations of those potential collaborator devices.
-
The computing device of claim 22, wherein identifying the number of collaborator devices comprises:
causing a broadcasting of a message to potential collaborator devices; and
receiving position information associated with each potential collaborator device in response to the broadcasting.
- The computing device of claim 23, wherein identifying the number of collaborator devices comprises determining whether to include a potential collaborator device in the number of collaborator devices based on the position information associated with that collaborator device.
- The computing device of claim 19, wherein allocating the respective portions of the data file to each of the number of collaborator devices comprises receiving allocation instructions from the mobile device.
- The computing device of claim 19, wherein identifying a number of collaborator devices comprises receiving identification of the number of collaborator devices from the mobile device.
- The computing device of claim 19, wherein identifying a number of collaborator devices comprises selecting the number of collaborator devices from a number of potential collaborator devices at the computing device.
- The computing device of claim 19, wherein each of the number of collaborator devices is a mobile device.
- The computing device of claim 28, wherein the number of collaborator devices comprises a tablet computing device.
- The computing device of claim 19, wherein data sizes of the respective portions of the data file depend on at least one latency requirement indicated by the request identifying the data file.
- The computing device of claim 19, wherein the respective portions of the data file allocated to one of the number of collaborator devices comprises a first portion of a data file and a second portion of the data file separated by a third portion of the data file.
- The computing device of claim 19, wherein one of the number of collaborator devices is capable of an LTE-Direct based mobile-to-mobile communications link with the mobile device.
-
The computing device of claim 19, wherein identifying the number of collaborator devices comprises:
causing transmission of a message from the mobile device to potential collaborator devices located in the vicinity of the mobile device; and
in response to the transmission, receiving at least one response message identifying the number of collaborator devices.
- The computing device of claim 19, further comprising causing transmission of instructions to generate, on a display of the mobile device, a listing of potential collaborator devices, wherein the listing for each potential collaborator device includes an indication of (a) throughput or (b) potential debits associated with that potential collaborator device.
- The computing device of claim 19, wherein the debits are assessed as Bitcoins.
-
The computing device of claim 19, further comprising:
determining a current effective throughput of the mobile device in response to receiving the remote request; and
in response to determination that the current effective throughput of the mobile device is not sufficient to download the data file within a specified time constraint, performing the identification of the number of collaborator devices.
Owners (US)
-
Vringo Infrastructure Inc
(Dec 05 2013)
Explore more patents:
Applicants
-
Misra Saswat
Explore more patents:
-
Lang Andrew K
Explore more patents:
-
Charkow Jason
Explore more patents:
-
Cohen David
Explore more patents:
-
Vringo Inc
Explore more patents:
Inventors
-
Misra Saswat
Explore more patents:
-
Lang Andrew K
Explore more patents:
-
Charkow Jason
Explore more patents:
-
Cohen David
Explore more patents:
CPC Classifications
-
H04L41/50
Explore more patents:
-
G06Q20/065
Explore more patents:
-
G06Q20/123
Explore more patents:
-
G06Q20/223
Explore more patents:
-
H04L5/0037
Explore more patents:
-
H04L43/0805
Explore more patents:
-
H04L47/70
Explore more patents:
-
H04L63/0853
Explore more patents:
-
H04L65/4069
Explore more patents:
-
H04L67/06
Explore more patents:
-
H04L67/104
Explore more patents:
-
H04L67/1063
Explore more patents:
-
H04L67/1068
Explore more patents:
-
H04L67/1074
Explore more patents:
-
H04L67/108
Explore more patents:
-
H04L67/18
Explore more patents:
-
H04L67/20
Explore more patents:
-
H04M15/07
Explore more patents:
-
H04M15/31
Explore more patents:
-
H04M15/46
Explore more patents:
-
H04M15/93
Explore more patents:
-
H04W4/24
Explore more patents:
-
H04W12/02
Explore more patents:
-
H04W12/06
Explore more patents:
-
H04W76/14
Explore more patents:
-
H04W76/15
Explore more patents:
-
H04W84/12
Explore more patents:
-
H04W88/04
Explore more patents:
IPC Classifications
-
G01R31/08
Explore more patents:
-
H04L5/00
Explore more patents:
-
H04L12/24
Explore more patents:
-
H04L12/26
Explore more patents:
-
H04L12/911
Explore more patents:
-
H04L29/06
Explore more patents:
-
H04L29/08
Explore more patents:
-
H04M15/00
Explore more patents:
-
H04W4/24
Explore more patents:
-
H04W12/02
Explore more patents:
-
H04W12/06
Explore more patents:
-
H04W84/12
Explore more patents:
-
H04W88/04
Explore more patents:
Document Preview
- Publication: Mar 22, 2016
-
Application:
Dec 5, 2013
US 201314098390 A
-
Priority:
Dec 5, 2013
US 201314098390 A
-
Priority:
Aug 28, 2013
US 201361871032 P
-
Priority:
Jul 6, 2013
US 201361843346 P
-
Priority:
May 8, 2013
US 201361821044 P