IP Library Granted Patent US 9,021,057
Granted Patent B2
US 9,021,057 · App. 13/619,601 · Granted Apr 28, 2015

Updating transferred files

Inventor: James Crawford (Belmont, MA)
Assignee: Facebook, Inc.
H04L67/06H04L12/581H04L51/04H04L67/2819H04L67/28H04L51/08
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 9,021,057
App. No.
13/619,601
Granted
Apr 28, 2015
Kind
B2
Abstract

Systems and techniques for transferring one or more files by connecting to a communications system host; sending, to a client connected to the communications system host, a request to transfer one or more files; when a client permits access to the one or more files, establishing a direct socket connection from the client and bypassing the communications system host; and initiating the transfer of the one or more files from the client over the direct socket connection.

Claims (48)

1. A method comprising:

receiving a file by a second device from a first client device, a copy of the file being stored on the first client device, wherein the second device includes at least one processor;

establishing, by the second device, a connection with the first client device;

determining, using the at least one processor, when the copy of the file stored on the first client device was last modified based on information received from the first client device;

determining, using the at least one processor, that the copy of the file is incomplete or outdated based on when the copy of the file was last modified;

sending, by the second device, a request for a transfer of additional or updated portions of the copy of the file, the request identifying the additional or updated portions; and

receiving, by the second device, the transfer from the first client device with the additional or updated portions of the copy of the file via a direct socket connection, wherein the additional or updated portions of the copy of the file comprises portions of the copy of the file updated since the time the file was last updated.

2. The method as recited in claim 1 , further comprising: receiving the file from the first client device at the second client device via a direct socket connection.

3. The method as recited in claim 1 , further comprising:

establishing a connection with a host.

4. The method as recited in claim 1 , further comprising:

receiving a file info message from the first client device; and

using the file info message to determine when the copy of the file stored on the first client device was last modified.

5. The method as recited in claim 4 , wherein the file info message comprises a size of the copy of the file on the first client device.

6. The method as recited in claim 5 , further comprising using the size of the copy of the file on the first client device to determine that the copy of the file stored on the first client device has been modified.

7. The method as recited in claim 4 , wherein the file info message comprises a time the copy of the file on the first client device was last updated.

8. The method as recited in claim 7 , further comprising using the time the copy of the file on the first client device was last updated to determine that the copy of the file stored on the first client device includes the additional or updated portions.

9. A non-transitory computer-readable storage medium including a set of instructions that, when executed, cause at least one processor of a second device to perform steps comprising:

receiving a file from a first client device, a copy of the file being stored on the first client device;

establishing a connection with the first client device;

determining when the copy of the file stored on the first client device was last modified based on information received from the first client device;

determining that the copy of the file is incomplete or outdated based on when the copy of the file was last modified;

sending, by the second device, a request for a transfer of additional or updated portions of the copy of the file, the request identifying the additional or updated portions; and

receiving the transfer from the first client device with the additional or updated portions of the copy of the file via a direct socket connection, wherein the additional or updated portions of the copy of the file comprises portions of the copy of the file updated since the time the file was last updated.

10. The non-transitory computer-readable storage medium as recited in claim 9 , further comprising instructions that, when executed, cause the at least one processor to perform steps comprising:

receiving a file info message from the first client device; and

using the file info message to determine when the copy of the file stored on the first client device was last modified.

11. The non-transitory computer-readable storage medium as recited in claim 10 , wherein the file info message comprises a size of the copy of the file on the first client device.

12. The non-transitory computer-readable storage medium as recited in claim 11 , further comprising instructions that, when executed, cause the at least one processor to perform steps comprising: using the size of the copy of the file on the first client device to determine that the copy of the file stored on the first client device has been modified.

13. The non-transitory computer-readable storage medium as recited in claim 12 , wherein the file info message further comprises a time the copy of the file on the first client device was last updated.

14. The non-transitory computer-readable storage medium as recited in claim 13 , further comprising instructions that, when executed, cause the at least one processor to perform steps comprising: using the time the copy of the file on the first client device was last updated to determine that the copy of the file stored on the first client device includes the additional or updated portions.

15. A system comprising:

a second device configured to communicate with a first client device over a network; and

a non-transitory computer readable storage medium storing a file and instructions that, when executed by at least one processor, cause the second device to:

receive a file from the first client device, a copy of the file being stored on the first client device;

determine when the copy of the file stored on the first client device was last modified based on information received from the first client device;

determine that the copy of the file is incomplete or outdated based on when the copy of the file was last modified;

send a request for a transfer of additional or updated portions of the copy of the file, the request identifying the additional or updated portions; and

receive the transfer from the first client device with the additional or updated portions of the copy of the file via a direct socket connection, wherein the additional or updated portions of the copy of the file comprises portions of the copy of the file updated since the time the file was last updated.

16. The system as recited in claim 15 , wherein the instructions, when executed by the at least one processor, further cause the second device to:

receive a file info message from the first client device; and

use the file info message to determine when the copy of the file stored on the first client device was last modified.

17. The system as recited in claim 16 , wherein the file info message comprises a size of the copy of the file on the first client device.

18. The system as recited in claim 17 , further comprising instructions that, when executed, further cause the second device to:

use the size of the copy of the file on the first client device to determine that the copy of the file stored on the first client device has been modified.

19. The non-transitory computer-readable storage medium as recited in claim 18 , wherein the file info message further comprises a time the copy of the file on the first client device was last updated.

20. The system as recited in claim 19 , further comprising instructions that, when executed, further cause the second device to:

use the time the copy of the file on the first client device was last updated to determine that the copy of the file stored on the first client device includes the additional or updated portions.

Assignments (5)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: CRAWFORD, JAMES
To: AMERICA ONLINE, INC.
Reel/Frame 030089/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: AOL LLC
To: AOL INC.
Reel/Frame 030090/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 030090/0132 →
CHANGE OF NAME Recorded Mar 26, 2013
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 030091/0872 →
Continuity (4)
Continuation 13218654 · Aug 26, 2011
Continuation 12477368 · Jun 3, 2009
Continuation 09572953 · May 18, 2000
Related Publication 20130073677A1 · Mar 21, 2013