IP Library Granted Patent US 9,419,801
Granted Patent B2
US 9,419,801 · App. 12/464,785 · Granted Aug 16, 2016

System and method for transmitting needed portions of a data file between networked computers

Inventors: Steve F. Ackerman (San Antonio, TX); Christopher S. Hull (Salt Lake City, UT); Ryan Q. Stokes (Holladay, UT)
Assignee: Infrascale Inc.
H04L9/3236H04L67/06H04L2209/30H04L2209/60
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,419,801
App. No.
12/464,785
Granted
Aug 16, 2016
Kind
B2
Abstract

A system and method for communicating a data file between networked computers is disclosed. The method includes the operation of requesting a data file consisting of a plurality of file blocks to be transferred from a source computing device to a destination computing device. A hash signature for each of the plurality of file blocks of the data file is sent from the source computing device to the destination computing device. It can be determined which of the file blocks of the data file are already located on the destination computing device based on the hash signature of each file block. The remaining file blocks can be transferred from the source to the destination computing device. The file can be constructed at the destination computing device from the plurality of file blocks.

Claims (22)

1. A method for communicating a data file between a plurality of networked computers, comprising:

requesting a data file consisting of a plurality of file blocks to be transferred from a plurality of source computing devices over a network to a destination computing device;

selecting at least one source computing device from the plurality of source computing devices;

selecting a length of the plurality of file blocks based on a type of the data file;

sending a hash signature for each of the plurality of file blocks of the data file from the source computing device to the destination computing device over the network;

determining which of the plurality of file blocks of the data file are already located on the destination computing device based on the hash signature of each file block located on the destination computing device in order to reduce an amount of network traffic used for transfer of file blocks over the network;

transferring a remaining number of file blocks from the plurality of source computing devices to the destination computing device over the network; and

constructing the file on the destination computing device from the plurality of file blocks.

2. A method as in claim 1 , wherein sending a hash signature further comprises forming a hash signature for each of the file blocks using a cryptographic hash function having collision resistance.

3. A method as in claim 1 , wherein sending a hash signature further comprises forming a hash signature for each of the file blocks using a cryptographic hash function selected from the group consisting of a Secure Hash algorithm type 1 (SHA-1), SHA-2, and SHA-3.

4. A method as in claim 1 , wherein sending a hash signature further comprises sending a hash signature for each of the plurality of file blocks of the data file from a hash signature database located on the source computing device.

5. A method as in claim 1 , wherein determining which of the plurality of file blocks of the data file are already located on the destination computing device further comprises checking a hash signature database located on the destination computing device for the hash signature for any one of the file blocks of the data file.

6. A method as in claim 1 , wherein determining which of the plurality of file blocks of the data file are already located on the destination computing device further comprises checking a hash signature database located on the destination computing device for the hash signature for each of the file blocks of the data file.

7. A method as in claim 1 , wherein transferring the file blocks to the destination computing device, further comprises sending a request for the file blocks that are not located on the destination computing device to the source computing device.

8. A method for communicating a data file between computer networks, comprising:

selecting a source computing network having a data file consisting of a plurality of file blocks;

requesting the data file to be transferred from the source computing network to a destination computing network;

selecting a length of the plurality of file blocks based on a type of the data file;

sending a hash signature for each of the plurality of file blocks of the data file from the source computing network to the destination computing network;

determining which of the plurality of file blocks of the data file are already located on the destination computing network based on the hash signature of each file block located on the destination computing network in order to reduce an amount of network traffic used for transfer of file blocks over the network;

transferring a remaining number of file blocks from the source computing network to the destination computing network; and

constructing the file on the destination computing network from the plurality of file blocks.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2020
From: EASTWARD FUND MANAGEMENT, LLC
To: INFRASCALE, INC.
Reel/Frame 053836/0365 →
SECURITY INTEREST Recorded Sep 16, 2020
From: INFRASCALE, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 053784/0077 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2017
From: PACIFIC WESTERN BANK
To: INFRASCALE, INC.
Reel/Frame 044262/0223 →
SECURITY INTEREST Recorded Oct 31, 2017
From: INFRASCALE, INC.
To: EASTWARD FUND MANAGEMENT, LLC
Reel/Frame 043996/0879 →
SECURITY INTEREST Recorded Apr 17, 2017
From: INFRASCALE, INC.
To: PACIFIC WESTERN BANK, AS SUCCESSOR IN INTEREST TO SQUARE 1 BANK
Reel/Frame 042027/0513 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCKET NUMBER PREVIOUSLY RECORDED AT REEL: 039356 FRAME: 0093. ASSIGNOR(S) HEREBY CONFIRMS THE PURCHASE AGREEMENT. Recorded Nov 10, 2016
From: EVERSYNC SOLUTIONS, INC.
To: INFRASCALE, INC.
Reel/Frame 040588/0911 →
PURCHASE AGREEMENT Recorded Jul 15, 2016
From: EVERSYNC SOLUTIONS, INC.
To: INFRASCALE, INC.
Reel/Frame 039356/0093 →
CHANGE OF NAME Recorded Jul 15, 2016
From: REVINETIX, INC.
To: EVERSYNC SOLUTIONS, INC.
Reel/Frame 039360/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2015
From: EVERSYNC SOLUTIONS, INC.
To: INFRASCALE, INC.
Reel/Frame 034686/0576 →
CHANGE OF NAME Recorded Jan 12, 2015
From: REVINETIX, INC.
To: EVERSYNC SOLUTIONS, INC.
Reel/Frame 034752/0662 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: SQUARE 1 BANK
To: EVERSYNC SOLUTIONS, INC.
Reel/Frame 033500/0393 →
SECURITY AGREEMENT Recorded Mar 1, 2012
From: REVINETIX, INC.
To: SQUARE 1 BANK
Reel/Frame 027793/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2009
From: ACKERMAN, STEVE F.; HULL, CHRISTOPHER S.; STOKES, RYAN Q.
To: REVINETIX, INC.
Reel/Frame 023049/0337 →
Continuity (1)
Related Publication 20100293142A1 · Nov 18, 2010