IP Library Granted Patent US 7,844,681
Granted Patent B2
US 7,844,681 · App. 11/471,761 · Granted Nov 30, 2010

Network file sharing method and system

Assignee: EMC Corporation
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 7,844,681
App. No.
11/471,761
Filed
Jun 21, 2006
Granted
Nov 30, 2010
Kind
B2
Art Unit
2457
USPC
709/206
Abstract

A method for writing file data from client to server which comprises writing file data from a client to a server, wherein the client issues to the server a file transfer proposal that includes the names of a plurality of files to be transferred and attributes of each of the plurality of files. The server determines optimum memory locations for the plurality of files and optimum sequence and size of data transfer and issues to the client a request to transfer the plurality of files in a sequence that is optimized for memory location and minimal number of data transfers, thereby maximizing data transfer rate from the client to the server. Client computer, server computer, and network apparatus that are configured to implement the method are also disclosed.

Claims (39)

1. A method for transferring a file, comprising:

receiving from a sending device a file transfer proposal that includes information describing a file to be transferred from the sending device to a destination device at which the file is to be transferred, the information includes the size of the file to be transferred;

determining at the destination device, prior to the content of the file being transferred and based at least in part on the information describing the file including the size of the file to be transferred, a storage location at the destination device for the file to be transferred to;

receiving, at the destination device, the content of the file; and

storing the content of the file in the previously determined storage location at the destination device.

2. A method as recited in claim 1 , further comprising issuing to the sending device, subsequent to determining the storage location, a file transfer request to cause transfer to be initiated.

3. A method as recited in claim 1 , wherein the information describing the file indicates a size of the file and determines the storage location including determining based at least in part on the size of the file a location in which the entire file can be stored contiguously.

4. A method as recited in claim 1 , wherein the sending device and/or the destination device is/are associated with a storage area network.

5. A method as recited in claim 1 , wherein the destination device is associated with a server.

6. A method as recited in claim 1 , wherein:

the destination device includes a plurality of pieces of media; and

determining includes selecting from the plurality of pieces of media.

7. A method as recited in claim 1 further comprising determining at least one of the following: a file transfer sequence, a block transfer sequence, and/or a data transfer size.

8. A method as recited in claim 1 , wherein a plurality of files are to be transferred and the method further comprises determining a file transfer sequence based at least in part on time(s) associated with retrieving the plurality of files from the sending device.

9. A method as recited in claim 1 , wherein a plurality of files are to be transferred and the method further comprises determining a file transfer sequence based at least in part on time(s) associated with storing the plurality of files on the destination device.

10. A method as recited in claim 1 further comprising transferring the file using a third party other than the destination device or the sending device.

11. A method as recited in claim 1 , wherein the file to be transferred includes a plurality of blocks and the storage location includes a plurality of block locations associated with the destination device for the plurality of blocks to be transferred to.

12. A method as recited in claim 1 , wherein the information describing the file includes at least one of (1) a size of the file to be transferred or (2) one or more locations of data block(s) that compose the file to be transferred.

13. A method as recited in claim 1 , wherein the information describing the file includes one or more additional attributes of the file.

14. A system for transferring a file, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive from a sending device a file transfer proposal that includes information describing a file to be transferred from the sending device to a destination device at which the file is to be transferred, the information includes the size of the file to be transferred;

determine at the destination device, prior to the content of the file being transferred and based at least in part on the information describing the file including the size of the file to be transferred, a storage location at the destination device for the file to be transferred to;

receive, at the destination device, the content of the file; and

store the content of the file in the previously determined storage location at the destination device.

15. A system as recited in claim 14 , wherein the sending device and/or the destination device is/are associated with a storage area network.

16. A system as recited in claim 14 , wherein the memory is configured to provide the processor with further instructions for determining at least one of the following: a file transfer sequence, a block transfer sequence, and/or a data transfer size.

17. A system as recited in claim 14 , wherein the memory is configured to provide the processor with further instructions for transferring the file using a third party other than the destination device or the sending device.

18. A system as recited in claim 14 , wherein the file to be transferred includes a plurality of blocks and the storage location includes a plurality of block locations associated with the destination device for the plurality of blocks to be transferred to.

19. A computer program product for transferring a file, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

receiving from a sending device a file transfer proposal that includes information describing a file to be transferred from the sending device to a destination device at which the file is to be transferred, the information includes the size of the file to be transferred;

determining at the destination device to which, prior to the content of the file being transferred and based at least in part on the information describing the file including the size of the file to be transferred, a storage location at the destination device for the file to be transferred to;

receiving, at the destination device, the content of the file; and

storing the content of the file in the previously determined storage location at the destination device.

20. A computer program product as recited in claim 19 , wherein the sending device and/or the destination device is/are associated with a storage area network.

21. A computer program product as recited in claim 19 , the computer program product further comprising computer instructions for determining at least one of the following: a file transfer sequence, a block transfer sequence, and/or a data transfer size.

22. A computer program product as recited in claim 19 , the computer program product further comprising computer instructions for transferring the file using a third party other than the destination device or the sending device.

23. A computer program product as recited in claim 19 , wherein the file to be transferred includes a plurality of blocks and the storage location includes a plurality of block locations associated with the destination device for the plurality of blocks to be transferred to.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2010
From: DEPELTEAU, ROBERT
To: OTG SOFTWARE, INC.
Reel/Frame 025163/0058 →
MERGER Recorded Oct 19, 2010
From: LEGATO SYSTEMS, INC.
To: EMC CORPORATION
Reel/Frame 025163/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2010
From: OTG SOFTWARE, INC.
To: LEGATO SYSTEMS, INC.
Reel/Frame 025163/0071 →
Continuity (3)
Continuation 1009849900 · Mar 18, 2002
Provisional Application 6027682900 · Mar 16, 2001
Related Publication 20060242264A1 · Oct 26, 2006