Abstract
A method for receiving data on a mobile device includes accessing information identifying a number of collaborator devices and receiving respective portions of the data from each of the number of collaborator devices. The respective portions depend on at least one of (a) throughputs between the mobile device and the number of collaborator devices and (b) potential debits charged by the number of collaborator devices. The receiving occurs via mobile-to- mobile connections between the mobile device and the number of collaborator devices. The received respective portions of data are stored at the mobile device. Content is generated on a display of the mobile device based on the stored respective portions of the data.
Claims
- A method for receiving data on a mobile device, the method comprising:
- accessing information;
- identifying a number of collaborator devices;
- receiving respective portions of the data from each of the number of collaborator devices, wherein the respective portions depend on at least one of (a) throughputs between the mobile device and the number of collaborator devices and (b) potential debits charged by the number of collaborator devices, wherein the receiving occurs via mobile-to-mobile connections between the mobile device and the number of collaborator devices;
- storing, at the mobile device, the received respective portions of data; and
- generating content on a display of the mobile device based on the stored respective portions of the data.
- The method of claim 1, wherein each of the number of collaborator devices comprises a mobile device.
- The method of claim 2, wherein the number of collaborator devices comprises a tablet computing device. 4. The method of claim 1, wherein the content is streamed to the display of the mobile device and wherein data sizes of the respective portions depend on at least one latency requirement of the streamed content.
- The method of claim 1, wherein the respective portions of the data received from 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 receives its respective portions of the data from another collaborator device via a first mobile-to- mobile connection and forwards its respective portions of the data to the mobile device via a second mobile-to-mobile connection.
- The method of claim 1, wherein the mobile-to-mobile connections comprise an LTE-Direct based connection.
- The method of claim 1, wherein the accessing information identifying the number of collaborator devices comprises:
- transmitting a first message from the mobile device to a server remote to the mobile device, the first message requesting collaborator information; and
- in response to the transmission, receiving a second message from the server, wherein the second message identifies the number of collaborator devices.
- The method of claim 1, wherein the accessing information identifying the number of collaborator devices comprises:
- transmitting message from the mobile device to potential collaborator devices located in the vicinity of the mobile device; and
- in response to the transmission, receiving a number of response messages from at least some of the potential collaborator devices, the number of response messages collectively identifying the number of collaborator devices.
- The method of claim 1, wherein the accessing information identifying the number of collaborator devices comprises:
- receiving a respective broadcast message from each of the collaborator devices indicating an identity of that collaborator device.
- The method of claim 1, further comprising generating, on the 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 device.
- The method of claim 11, further comprising:
- sequentially receiving user selection of each of the number of collaborator devices from the listing potential collaborator devices, wherein each selection of a collaborator device from the listing generates instructions to update a displayed estimated transfer time associated with the data file on the display of the mobile device.
- The method of claim 1, wherein the debits are assessed as Bitcoins.
- The method of claim 1, further comprising receiving a request to download the data and an associated time constraint for downloading the data.
- The method of claim 14, further comprising:
- determining a current effective throughput of the mobile device; and in response to determination that the current effective throughput of the mobile device is not sufficient to download the data within the time constraint, performing the accessing of information identifying the number of collaborator devices.
- The method of claim 1, wherein the mobile-to-mobile connections between the mobile device and the number of collaborator devices comprise:
- a first connection receiving data from a first collaborator device operating according to a WiFi protocol; and
- simultaneously with the first connection, a second connection receiving data from a second collaborator device operating according to a communications protocol other than a WiFi protocol.
- A mobile application comprising computer executable instructions stored on a non-transitory computer-readable storage medium, which when executed
- by a processor of a mobile device, cause the processor to perform a method comprising: accessing information identifying a number of collaborator devices;
- receiving respective portions of data from each of the number of collaborator devices, wherein the respective portions depend on at least one of (a) throughputs between the mobile device and the number of collaborator devices and (b) potential debits charged by the number of collaborator devices, wherein the receiving occurs via mobile-to-mobile connections between the mobile device and the number of collaborator devices;
- providing instructions to store, at the mobile device, the received respective portions of data; and
- providing instructions to generate content on a display of the mobile device based on the stored respective portions of data. 18. The mobile application of claim 17, wherein each of the number of collaborator devices is a mobile device.
- The mobile application of claim 18, wherein the number of collaborator devices comprises a tablet computing device.
- The mobile application of claim 17, wherein the content is streamed to the display of the mobile device and wherein data sizes of the respective portions depend on at least one latency requirement of the streamed content. 21. The mobile application of claim 17, wherein the respective portions of the data received from 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 mobile application of claim 17, wherein one of the number of collaborator devices receives its respective portions of the data from another collaborator device via a first mobile-to-mobile connection and forwards its respective portions of the data to the mobile device via a second mobile-to-mobile connection.
- The mobile application of claim 17, wherein the mobile- to-mobile connections comprise an LTE-Direct based connection.
- The mobile application of claim 17, wherein the accessing information identifying the number of collaborator devices comprises:
- causing transmission of a first message from the mobile device to a server remote to the mobile device, the first message requesting collaborator information; and
- in response to the transmission, receiving a second message from the server, wherein the second message identifies the number of collaborator devices.
- The mobile application of claim 17, wherein the accessing information 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 a number of response messages from at least some of the potential collaborator devices, the number of response messages collectively identifying the number of collaborator devices.
- The mobile application of claim 17, wherein the accessing information identifying the number of collaborator devices comprises:
- receiving a respective broadcast message from each of the collaborator devices indicating an identity of that collaborator device.
- The mobile application of claim 17, the method further comprising providing instructions to generate, on the 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 device.
- The mobile application of claim 27, the method further comprising:
- sequentially receiving user selection of each of the number of collaborator devices from the listing potential collaborator devices, wherein each selection of a collaborator device from the listing generates instructions to update a displayed estimated transfer time associated with the data file on the display of the mobile device.
- The mobile application of claim 17, wherein the debits are assessed as Bitcoins.
- The mobile application of claim 17, further comprising receiving a request to download the data and an associated time constraint for downloading the data.
- The mobile application of claim 30, the method further comprising:
- determining a current effective throughput of the mobile device; and in response to determination that the current effective throughput of the mobile device is not sufficient to download the data within the time constraint, performing the accessing of information identifying the number of collaborator devices.
- The mobile application of claim 17, wherein the mobile-to-mobile connections between the mobile device and the number of collaborator devices comprise:
- a first connection receiving data from a first collaborator device operating according to a WiFi protocol; and
- simultaneously with the first connection, a second connection receiving data from a second collaborator device operating according to a communications protocol other than a WiFi protocol.
- 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 33, wherein the request is identified as having been generated by a mobile application executing on the mobile device.
- The method of claim 33, 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 33, 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 36, 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 37, 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 33, 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 33, wherein identifying a number of collaborator devices comprises receiving identification of the number of collaborator devices from the mobile device.
- The method of claim 33, 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 33, wherein each of the number of collaborator devices is a mobile device.
- The method of claim 42, wherein the number of collaborator devices comprises a tablet computing device.
- The method of claim 33, 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 33, 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 33, 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 33, 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 33, 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 33, wherein the debits are assessed as Bitcoins.
- The method of claim 33, 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 51, wherein the request is identified as having been generated by a mobile application executing on the mobile device.
- The computing device of claim 51, 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 51, 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 54, 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 55, 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 51, 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 51, 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 51, 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 51, wherein each of the number of collaborator devices is a mobile device.
- The computing device of claim 60, wherein the number of collaborator devices comprises a tablet computing device.
- The computing device of claim 51, 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 51, 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 51, 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 51, 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 51, 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 51, wherein the debits are assessed as Bitcoins.
- The computing device of claim 51, 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.
Applicants
-
Vringo Labs 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
-
H04L12/28
Explore more patents:
Document Preview
- Publication: Nov 13, 2014
-
Application:
May 8, 2014
US 2014/0037352 W
-
Priority:
Aug 28, 2013
US 201361871032 P
-
Priority:
Jul 6, 2013
US 201361843346 P
-
Priority:
May 8, 2013
US 201361821044 P