IP Library Granted Patent US 8,671,185
Granted Patent B2
US 8,671,185 · App. 13/099,973 · Granted Mar 11, 2014

Data transmission between devices based on bandwidth availability

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,671,185
App. No.
13/099,973
Granted
Mar 11, 2014
Kind
B2
Abstract

In one embodiment, in response to data to be transmitted to or from an electronic device, the electronic device determines whether the electronic device currently has a first network connection with a sufficiently high bandwidth. If the electronic device currently does not have a first network connection with a sufficiently high bandwidth, then the electronic device estimates a future time when the electronic device is likely to have a second network connection with a sufficiently high bandwidth, and schedules transmission of the data at the future time.

Claims (55)

1. A method comprising:

monitoring and collecting, by a computing device, activities of a user in connection with the computing device and information of the computing device, wherein each activity is associated with at least one location;

constructing a behavior profile for the user based at least in part on the activities of the user and the information of the computing device;

in response to data to be transmitted to or from the computing device, wherein the computing device is associated with a current location,

determining whether the computing device currently has a first network connection associated with the current location with a sufficiently high bandwidth; and

if the computing device currently does not have a first network connection with a sufficiently high bandwidth, then:

estimating, based at least in part on the locations associated with the activities of the user as represented by the behavior profile, a first future time when the computing device is likely to have a second network connection with a sufficiently high bandwidth; and

scheduling transmission of the data at the first future time.

2. The method of claim 1 , further comprising:

determining whether the data have a sufficiently high priority;

scheduling the transmission of the data at the first future time if the data do not have a sufficiently high priority; and

transmitting the data to or from the computing device if the data have a sufficiently high priority.

3. The method of claim 1 , further comprising:

estimating a second future time when the computing device is likely not to have any network connection; and

transmitting the data to or from the computing device before the second future time.

4. The method of claim 1 , wherein the computing device supports a plurality of wireless network connections.

5. The method of claim 1 , wherein the first network connection has a sufficiently high bandwidth when the first network connection is a wireless connection.

6. The method of claim 1 , wherein the first network connection has a sufficiently high bandwidth when the bandwidth of the first network connection is at or above a predetermined threshold.

7. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

monitor and collect, by the system, activities of a user in connection with the system and information of the system, wherein each activity is associated with at least one location;

construct a behavior profile for the user based at least in part on the activities of the user and the information of the system;

in response to data to be transmitted to or from the system, wherein the system is associated with a current location,

determine whether the system currently has a first network connection associated with the current location with a sufficiently high bandwidth; and

if the system currently does not have a first network connection with a sufficiently high bandwidth, then:

estimate, based at least in part on the locations associated with the activities of the user as represented by the behavior profile, a first future time when the system is likely to have a second network connection with a sufficiently high bandwidth; and

schedule transmission of the data at the first future time.

8. The system of claim 7 , wherein the processors are further operable when executing the instructions to:

determine whether the data have a sufficiently high priority;

schedule the transmission of the data at the first future time if the data do not have a sufficiently high priority; and

transmit the data to or from the system if the data have a sufficiently high priority.

9. The system of claim 7 , wherein the processors are further operable when executing the instructions to:

estimate a second future time when the system is likely not to have any network connection; and

transmit the data to or from the system before the second future time.

10. The system of claim 7 , wherein the system supports a plurality of wireless network connections.

11. The system of claim 7 , wherein the first network connection has a sufficiently high bandwidth when the first network connection is a wireless connection.

12. The system of claim 7 , wherein the first network connection has a sufficiently high bandwidth when the bandwidth of the first network connection is at or above a predetermined threshold.

13. One or more computer-readable non-transitory storage media embodying software operable when executed to:

monitor and collect, by a system, activities of a user in connection with the system and information of the system, wherein each activity is associated with at least one location;

construct a behavior profile for the user based at least in part on the activities of the user and the information of the system;

in response to data to be transmitted to or from the system, wherein the system is associated with a current location,

determine whether the system currently has a first network connection associated with the current location with a sufficiently high bandwidth; and

if the system currently does not have a first network connection with a sufficiently high bandwidth, then:

estimate, based at least in part on the locations associated with the activities of the user as represented by the behavior profile, a first future time when the system is likely to have a second network connection with a sufficiently high bandwidth; and

schedule transmission of the data at the first future time.

14. The media of claim 13 , wherein the software is further operable when executed to:

determine whether the data have a sufficiently high priority;

schedule the transmission of the data at the first future time if the data do not have a sufficiently high priority; and

transmit the data to or from the system if the data have a sufficiently high priority.

15. The media of claim 13 , wherein the software is further operable when executed to:

estimate a second future time when the system is likely not to have any network connection; and

transmit the data to or from the system before the second future time.

16. The media of claim 13 , wherein the system supports a plurality of wireless network connections.

17. The media of claim 13 , wherein the first network connection has a sufficiently high bandwidth when the first network connection is a wireless connection.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2011
From: GANDHI, SHAHEEN ASHOK; REISS, DAVID SCOTT; GARCIA, DAVID HARRY
To: FACEBOOK, INC.
Reel/Frame 026293/0077 →