IP Library Granted Patent US 7,496,604
Granted Patent B2
US 7,496,604 · App. 10/061,270 · Granted Feb 24, 2009

Reducing duplication of files on a network

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,496,604
App. No.
10/061,270
Granted
Feb 24, 2009
Kind
B2
Abstract

Systems and techniques for improving the performance of a network system having one or more sending systems and one or more receiving systems may include determining the digital signature of a received digital file, comparing the digital signature against stored digital signatures of digital files accessible to the receiving system, and determining whether to store the received digital file and/or a location identifier for the stored version of the received digital file based on a result of the comparison.

Claims (154)

1. A method for reducing duplication of files in an electronic messaging system, the method comprising:

receiving an electronic message addressed to a user, the electronic message including a header portion, a content portion, and a digital file;

storing a representation of the electronic message with at least the header portion in association with the user's mailbox;

determining a digital signature for the digital file included in the electronic message;

accessing, from electronic storage, multiple digital signatures, each of the multiple digital signatures corresponding to a digital file included in a previous electronic message received by the electronic messaging system prior to receiving the electronic message;

comparing the digital signature for the digital file included in the electronic message against the accessed multiple digital signatures;

based on comparison results, determining whether the digital signature for the digital file included in the electronic message relates to a digital signature included in the accessed multiple digital signatures; and

conditioned on determining that the digital signature for the digital file included in the electronic message relates to a digital signature included in the accessed multiple digital signatures:

identifying the related digital signature, the related digital signature corresponding to the digital file;

accessing volume data associated with the related digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system;

determining, based on the accessed volume data, whether the digital file has been included in electronic messages received by the electronic messaging system more than a threshold number of times;

conditioned on determining that the digital file has been included in electronic messages received by the electronic messaging system more than the threshold number of times:

accessing a location identifier associated with the related digital signature, the location identifier identifying a location of the shared digital file corresponding to the related digital signature, and

configuring, based on the accessed location identifier, the representation of the electronic message to reference the shared digital file corresponding to the digital file; and

conditioned on determining that the digital file has not been included in electronic messages received by the electronic messaging system more than the threshold number of times:

storing a user version of the digital file in electronic storage associated with the electronic messaging system, and

configuring the representation of the electronic message to access the user version of the digital file.

2. The method of claim 1 wherein the digital file comprises an electronic mail message.

3. The method of claim 2 wherein the digital file includes an attachment in an electronic mail message.

4. The method of claim 3 wherein determining the digital signature for the digital file includes determining the digital signature of the attachment.

5. The method of claim 1 wherein each of the accessed multiple digital signatures correspond to an attachment of an electronic mail message accessible by the electronic messaging system.

6. The method of claim 1 further comprising storing a location identifier for a previously-stored digital file corresponding to the related digital signature.

7. The method of claim 6 further comprising not redundantly storing the digital file included in the electronic message.

8. The method of claim 1 wherein determining the digital signature includes applying a hashing technique to all or part of all of the digital file.

9. The method of claim 8 wherein applying the hashing technique includes applying an MD 5 algorithm to the digital file.

10. The method of claim 8 wherein applying the hashing technique includes applying a version of an SHA algorithm to the digital file.

11. The method of claim 1 wherein the digital signature is determined from less than all of the digital file.

12. The method of claim 1 wherein the digital signature is determined based on a name of the digital file.

13. The method of claim 1 wherein determining the digital signature is determined based on a size of the digital file.

14. The method of claim 1 further comprising verifying that the digital file included in the electronic message corresponds to the shared digital file corresponding to the related digital signature.

15. The method of claim 14 wherein verifying that the digital file included in the electronic message corresponds to the shared digital file corresponding to the related digital signature includes verifying that at least a portion of a name of the digital file included in the electronic message corresponds to at least a portion of a name of the shared digital file.

16. The method of claim 14 wherein verifying that the digital file included in the electronic message corresponds to the shared digital file corresponding to the related digital signature includes verifying based on a size of the digital file.

17. The method of claim 14 wherein verifying that the digital file included in the electronic message corresponds to the shared digital file corresponding to the related digital signature includes verifying based on a hash performed on the digital file.

18. The method of claim 14 wherein verifying that the digital file included in the electronic message corresponds to the shared digital file corresponding to the related digital signature includes verifying based on data in the digital file.

19. The method of claim 1 wherein determining, based on the accessed volume data, whether the digital file has been included in electronic messages received by the electronic messaging system more than the threshold number of times includes determining, based on the accessed volume data, whether the digital file has been included in electronic messages received by the electronic messaging system more than the threshold number of times, the threshold number of times being greater than two.

20. The method of claim 1 wherein:

accessing volume data associated with the related digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system includes accessing a counter associated with the related digital signature, the counter being configured to count the number of times that the digital file has been included in electronic messages received by the electronic messaging system; and

determining, based on the accessed volume data, whether the digital file has been included in electronic messages received by the electronic messaging system more than the threshold number of times includes determining whether a value of the counter associated with the related digital signature is greater than the threshold number of times.

21. A method for reducing duplication of files in an electronic messaging system, the method comprising:

receiving a first electronic message addressed to a first user, the first electronic message including an digital file;

storing a representation of the first electronic message;

determining a first digital signature for the digital file included in the first electronic message;

accessing, from electronic storage, a second digital signature corresponding to a digital file included in a previous electronic message received by the electronic messaging system prior to receiving the first electronic message;

comparing the first digital signature for the digital file included in the first electronic message against the second digital signature;

based on comparison results, determining that first digital signature for the digital file included in the first electronic message relates to the second digital signature, the second digital signature being associated with a first shared instance of the digital file;

accessing volume data associated with the second digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system;

determining, based on the accessed volume data, that the digital file has been included in electronic messages received by the electronic messaging system more than a first threshold number of times;

in response to determining that the digital file has been included in electronic messages received by the electronic messaging system more than the first threshold number of times:

accessing a first location identifier associated with the second digital signature, the first location identifier identifying a location of the first shared instance of the digital file, and

configuring, based on the accessed first location identifier, the representation of the first electronic message to reference the first shared instance of the digital file;

updating the volume data associated with the second digital signature based on receiving the first electronic message including the digital file;

receiving a second electronic message addressed to a second user, the second electronic message being different from the first electronic message and including the digital file;

storing a representation of the second electronic message;

determining a third digital signature for the digital file included in the second electronic message;

accessing, from electronic storage, the second digital signature;

comparing the third digital signature for the digital file included in the second electronic message against the second digital signature;

based on comparison results, determining that the third digital signature for the digital file included in the second electronic message relates to the second digital signature, the second digital signature being associated with the first shared instance of the digital file;

accessing the updated volume data associated with the second digital signature;

determining, based on the updated volume data, that the digital file has been included in electronic messages received by the electronic messaging system more than a second threshold number of times, the second threshold number of times being greater than the first threshold number of times;

in response to determining that the digital file has been included in electronic messages received by the electronic messaging system more than the second threshold number of times:

storing a second shared instance of the digital file, the second shared instance of the digital file being different than the first shared instance of the digital file;

determining a second location identifier identifying a location of the second shared instance of the digital file;

associating the second location identifier with the second digital signature; and

configuring, based on the second location identifier, the representation of the second electronic message to reference the second shared instance of the digital file rather than the first shared instance of the digital file.

22. A system comprising:

a processor;

a memory;

means for receiving an electronic message addressed to a user, the electronic message including a header portion, a content portion, and a digital file;

means for storing a representation of the electronic message with at least the header portion in association with the user's mailbox;

means for determining a digital signature for the digital file included in the electronic message;

means for accessing, from electronic storage, multiple digital signatures, each of the multiple digital signatures corresponding to a digital file included in a previous electronic message received by the electronic messaging system prior to receiving the electronic message;

means for comparing the digital signature for the digital file included in the electronic message against the accessed multiple digital signatures;

means for determining based on the comparison results whether the digital signature for the digital file included in the electronic message relates to a digital signature included in the accessed multiple digital signatures;

means for determining that the digital signature for the digital file included in the electronic message relates to a digital signature included in the accessed multiple digital signatures;

means for identifying the related digital signature, the related digital signature corresponding to the digital file;

means for accessing volume data associated with the related digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system;

means for determining, based on the accessed volume data, whether the digital file has been included in electronic messages received by the electronic messaging system more than a threshold number of times;

means for determining that the digital file has been included in electronic messages received by the electronic messaging system more than the threshold number of times;

means for accessing a location identifier associated with the related digital signature, the location identifier identifying a location of the shared digital file corresponding to the related digital signature;

means for configuring, based on the accessed location identifier, the representation of the electronic message to reference the shared digital file corresponding to the digital file;

means for determining that the digital file has not been included in electronic messages received by the electronic messaging system more than the threshold number of times;

means for storing a user version of the digital file in electronic storage associated with the electronic messaging system, and

means for configuring the representation of the electronic message to access the user version of the digital file.

23. A computer-readable storage medium encoded with executable instructions that, when executed, operate to cause a computer to perform operations comprising:

receiving an electronic message addressed to a user, the electronic message including a header portion, a content portion, and a digital file;

storing a representation of the electronic message with at least the header portion in association with the user's mailbox;

determining a digital signature for the digital file included in the electronic message;

accessing, from electronic storage, multiple digital signatures, each of the multiple digital signatures corresponding to a digital file included in a previous electronic message received by the electronic messaging system prior to receiving the electronic message;

comparing the digital signature for the digital file included in the electronic message against the accessed multiple digital signatures;

based on comparison results, determining whether the digital signature for the digital file included in the electronic message relates to a digital signature included in the accessed multiple digital signatures; and

conditioned on determining that the digital signature for the digital file included in the electronic message relates to a digital signature included in the accessed multiple digital signatures:

identifying the related digital signature, the related digital signature corresponding to the digital file;

accessing volume data associated with the related digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system;

determining, based on the accessed volume data, whether the digital file has been included in electronic messages received by the electronic messaging system more than a threshold number of times;

conditioned on determining that the digital file has been included in electronic messages received by the electronic messaging system more than the threshold number of times:

accessing a location identifier associated with the related digital signature, the location identifier identifying a location of the shared digital file corresponding to the related digital signature, and

configuring, based on the accessed location identifier, the representation of the electronic message to reference the shared digital file corresponding to the digital file; and

conditioned on determining that the digital file has not been included in electronic messages received by the electronic messaging system more than the threshold number of times:

storing a user version of the digital file in electronic storage associated with the electronic messaging system, and

configuring the representation of the electronic message to access the user version of the digital file.

24. A system comprising:

a processor;

a memory;

means for receiving a first electronic message addressed to a first user, the first electronic message including an digital file;

means for storing a representation of the first electronic message;

means for determining a first digital signature for the digital file included in the first electronic message;

means for accessing, from electronic storage, a second digital signature corresponding to a digital file included in a previous electronic message received by the electronic messaging system prior to receiving the first electronic message;

means for comparing the first digital signature for the digital file included in the first electronic message against the second digital signature;

means for determining based on comparism results that first digital signature for the digital file included in the first electronic message relates to the second digital signature, the second digital signature being associated with a first shared instance of the digital file;

means for accessing volume data associated with the second digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system;

means for determining, based on the accessed volume data, that the digital file has been included in electronic messages received by the electronic messaging system more than a first threshold number of times;

means for determining in response that the digital file has been included in electronic messages received by the electronic messaging system more than the first threshold number of times;

means for accessing a first location identifier associated with the second digital signature, the first location identifier identifying a location of the first shared instance of the digital file, and

means for configuring, based on the accessed first location identifier, the representation of the first electronic message to reference the first shared instance of the digital file;

means for updating the volume data associated with the second digital signature based on receiving the first electronic message including the digital file;

means for receiving a second electronic message addressed to a second user, the second electronic message being different from the first electronic message and including the digital file;

means for storing a representation of the second electronic message;

means for determining a third digital signature for the digital file included in the second electronic message;

means for accessing, from electronic storage, the second digital signature;

means for comparing the third digital signature for the digital file included in the second electronic message against the second digital signature;

means for determining based on comparison results that the third digital signature for the digital file included in the second electronic message relates to the second digital signature, the second digital signature being associated with the first shared instance of the digital file;

means for accessing the updated volume data associated with the second digital signature;

means for determining, based on the updated volume data, that the digital file has been included in electronic messages received by the electronic messaging system more than a second threshold number of times, the second threshold number of times being greater than the first threshold number of times;

means for determining in response that the digital file has been included in electronic messages received by the electronic messaging system more than the second threshold number of times;

means for storing a second shared instance of the digital file, the second shared instance of the digital file being different than the first shared instance of the digital file;

means for determining a second location identifier identifying a location of the second shared instance of the digital file;

means for associating the second location identifier with the second digital signature; and

means for configuring, based on the second location identifier, the representation of the second electronic message to reference the second shared instance of the digital file rather than the first shared instance of the digital file.

25. A computer-readable storage medium encoded with executable instructions that, when executed, operate to cause a computer to perform operations comprising:

receiving a first electronic message addressed to a first user, the first electronic message including an digital file;

storing a representation of the first electronic message;

determining a first digital signature for the digital file included in the first electronic message;

accessing, from electronic storage, a second digital signature corresponding to a digital file included in a previous electronic message received by the electronic messaging system prior to receiving the first electronic message;

comparing the first digital signature for the digital file included in the first electronic message against the second digital signature;

based on comparison results, determining that first digital signature for the digital file included in the first electronic message relates to the second digital signature, the second digital signature being associated with a first shared instance of the digital file;

accessing volume data associated with the second digital signature, the volume data being based on a number of times that the digital file has been included in electronic messages received by the electronic messaging system;

determining, based on the accessed volume data, that the digital file has been included in electronic messages received by the electronic messaging system more than a first threshold number of times;

in response to determining that the digital file has been included in electronic messages received by the electronic messaging system more than the first threshold number of times:

accessing a first location identifier associated with the second digital signature, the first location identifier identifying a location of the first shared instance of the digital file, and

configuring, based on the accessed first location identifier, the representation of the first electronic message to reference the first shared instance of the digital file;

updating the volume data associated with the second digital signature based on receiving the first electronic message including the digital file;

receiving a second electronic message addressed to a second user, the second electronic message being different from the first electronic message and including the digital file;

storing a representation of the second electronic message;

determining a third digital signature for the digital file included in the second electronic message;

accessing, from electronic storage, the second digital signature;

comparing the third digital signature for the digital file included in the second electronic message against the second digital signature;

based on comparison results, determining that the third digital signature for the digital file included in the second electronic message relates to the second digital signature, the second digital signature being associated with the first shared instance of the digital file;

accessing the updated volume data associated with the second digital signature;

determining, based on the updated volume data, that the digital file has been included in electronic messages received by the electronic messaging system more than a second threshold number of times, the second threshold number of times being greater than the first threshold number of times;

in response to determining that the digital file has been included in electronic messages received by the electronic messaging system more than the second threshold number of times:

storing a second shared instance of the digital file, the second shared instance of the digital file being different than the first shared instance of the digital file;

determining a second location identifier identifying a location of the second shared instance of the digital file;

associating the second location identifier with the second digital signature; and

configuring, based on the second location identifier, the representation of the second electronic message to reference the second shared instance of the digital file rather than the first shared instance of the digital file.

Assignments (7)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028487/0602 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: AOL LLC
To: AOL INC.
Reel/Frame 023723/0645 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →
CHANGE OF NAME Recorded Jan 15, 2009
From: AMERICA ONLINE INC.
To: AOL LLC
Reel/Frame 022112/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2002
From: SUTTON, LORIN R.; DESPEAUX, CRAIG E.; HALL, WALTER SCOTT, III; ADAMSKI, MICHAEL K.
To: AMERICA ONLINE, INC.
Reel/Frame 012926/0219 →