IP Library Granted Patent US 8,825,626
Granted Patent B1
US 8,825,626 · App. 13/216,020 · Granted Sep 2, 2014

Method and system for detecting unwanted content of files

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,825,626
App. No.
13/216,020
Granted
Sep 2, 2014
Kind
B1
Abstract

Techniques for detecting unwanted data are described herein. In one embodiment, a request is received for storing a data object in a storage system from a client over a network, where the request includes first representative data representing the data object without including actual content of the data object. It is detected whether the data object contains unwanted content by comparing the first representative data with second representative data without accessing the actual content of the data object, where the second representative data represents the unwanted content. A response is transmitted to the client over the network indicating whether the data object is likely to contain the unwanted object based on comparison of the first and second representative data.

Claims (43)

1. A computer-implemented method for detecting unwanted content, the method comprising:

receiving a request for storing a data object in a storage system from a client over a network, the data object comprising a plurality of chunks, each chunk represented by a representative data, the request including a first representative data representing a first chunk of the data object without including actual content of the data object;

determining whether the data object has been stored at the storage system prior to determining whether the data object is likely to contain unwanted content;

in response to determining the data object has not been stored at the storage system, determining whether the data object is likely to contain unwanted content by comparing the first representative data with a second representative data without accessing the actual content of the data object and without comparing all the representative data representing the plurality of chunks of the data object against the second representative, the second representative data representing the unwanted content that should not be stored in the storage system based on a policy configured by an administrator associated with the storage system;

in response to determining the data object has not been stored at the storage system and further in response to determining that the data object is likely to contain unwanted content, transmitting a first response to the client over the network informing the client that the data object is likely to contain the unwanted content based on comparison of the first and second representative data, wherein the first response causes the client not to send the data object;

in response to determining the data object has not been stored at the storage system and further in response to determining the data object is not likely to contain unwanted content, transmitting a second response to the client over the network informing the client that the data object is not likely to contain the unwanted content based on comparison of the first and second representative data, wherein the second response causes the client to send the data object;

receiving the actual data object from the client, wherein the actual data object is received only if the second response was sent to the client indicating that the data object is unlikely to contain the unwanted content; and

storing the data object in the storage system including the first representative data of the data object.

2. The method of claim 1 , wherein the second representative data was generated based on one or more data objects that contain the unwanted content using an identical predetermined algorithm that was used to generate the first representative data.

3. The method of claim 1 , wherein the first representative data is generated based on at least one of one or more features extracted from the data object and a fingerprint computed by hashing the data object.

4. The method of claim 1 , wherein the first representative data was generated by the client using a predetermined function that was used to generate the second representative data.

5. The method of claim 1 , wherein the storage system is a deduplicated storage system having a plurality of storage units, each of the storage units storing data that is deduplicated therein.

6. The method of claim 1 , wherein the first representative data is generated by:

partitioning a file associated with the data object into a plurality of chunks; and

for each of the chunks, generating third representative data, wherein the first representative data is generated based on at least a portion of the third representative data.

7. The method of claim 6 , wherein the third representative data is generated based on at least one of one or more features extracted from each of the chunks and a fingerprint computed by hashing each of the chunks.

8. The method of claim 7 , wherein third representative data is generated by applying a data filtering technique using only a subset of bits of the data.

9. The method of claim 1 , wherein indicating a likelihood that the data object contains unwanted content comprises:

determining an amount of second representative data that matches the first representative data; and

indicating that the data object is likely to contain the unwanted content if the amount of matched second representative data exceeds a predetermined threshold.

10. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a computer, cause the computer to perform operations comprising:

receiving a request for storing a data object in a storage system from a client over a network, the data object comprising a plurality of chunks, each chunk represented by a representative data, the request including a first representative data representing a first chunk of the data object without including actual content of the data object;

determining whether the data object has been stored at the storage system prior to determining whether the data object is likely to contain unwanted content;

in response to determining the data object has not been stored at the storage system, determining whether the data object is likely to contain unwanted content by comparing the first representative data with a second representative data without accessing the actual content of the data object and without comparing all the representative data representing the plurality of chunks of the data object against the second representative, the second representative data representing the unwanted content that should not be stored in the storage system based on a policy configured by an administrator associated with the storage system;

in response to determining the data object has not been stored at the storage system and further in response to determining that the data object is likely to contain unwanted content, transmitting a first response to the client over the network informing the client that the data object is likely to contain the unwanted content based on comparison of the first and second representative data, wherein the first response causes client not to send the data object;

in response to determining the data object has not been stored at the storage system and further in response to determining the data object is not likely to contain unwanted content, transmitting a second response to the client over the network informing the client that the data object is not likely to contain the unwanted content based on comparison of the first and second representative data, wherein the second response causes the client to send the data object;

receiving the actual data object from the client, wherein the actual data object is received only if the second response was sent to the client indicating that the data object is unlikely to contain the unwanted content; and

storing the data object in the storage system including the first representative data of the data object.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the second representative data was generated based on one or more data objects that contain the unwanted content using an identical predetermined algorithm that was used to generate the first representative data.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the first representative data is generated based on at least one of one or more features extracted from the data object and a fingerprint computed by hashing the data object.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the storage system is a deduplicated storage system having a plurality of storage units, each of the storage units storing data that is deduplicated therein.

14. A system, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed from the memory, cause the processor to

receive a request for storing a data object in a storage system from a client over a network, the data object comprising a plurality of chunks, each chunk represented by a representative data, the request including a first representative data representing a first chunk of the data object without including actual content of the data object,

determine whether the data object has been stored at the storage system prior to determining whether the data object is likely to contain unwanted content,

in response to determining the data object has not been stored at the storage system, determine whether the data object is likely to contain unwanted content by comparing the first representative data with a second representative data without accessing the actual content of the data object and without comparing all the representative data representing the plurality of chunks of the data object against the second representative, the second representative data representing the unwanted content that should not be stored in the storage system based on a policy configured by an administrator associated with the storage system,

in response to determining the data object has not been stored at the storage system and further in response to determining that the data object is likely to contain unwanted content, transmit a first response to the client over the network informing the client that the data object is likely to contain the unwanted content based on comparison of the first and second representative data, wherein the response causes the client not to send the data object,

in response to determining the data object has not been stored at the storage system and further in response to determining the data object is not likely to contain unwanted content, transmit a second response to the client over the network informing the client that the data object is not likely to contain the unwanted content based on comparison of the first and second representative data, wherein the second response causes the client to send the data object, and

wherein the actual data object is received from the client if the second response was sent to the client indicating that the data object is unlikely to contain the unwanted content and the data object is stored in the storage system including the first representative data of the data object.

15. The system of claim 14 , wherein the second representative data was generated based on one or more data objects that contain the unwanted content using an identical predetermined algorithm that was used to generate the first representative data.

16. The system of claim 14 , wherein the first representative data is generated based on at least one of one or more features extracted from the data object and a fingerprint computed by hashing the data object.

17. The system of claim 14 , wherein the storage system is a deduplicated storage system having a plurality of storage units, each of the storage units storing data that is deduplicated therein.

Assignments (10)
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 Aug 23, 2011
From: DOUGLIS, FREDERICK; SHILANE, PHILIP N.; WALLACE, GRANT
To: EMC CORPORATION
Reel/Frame 026794/0269 →