IP Library Granted Patent US 9,053,120
Granted Patent B2
US 9,053,120 · App. 12/637,807 · Granted Jun 9, 2015

Grouping and differentiating files based on content

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,053,120
App. No.
12/637,807
Granted
Jun 9, 2015
Kind
B2
Abstract

Methods and apparatus teach a digital spectrum of a file. The digital spectrum is used to map a file's position. This position relative to another file's position reveals distances between the files. Representatively, files have a plurality of symbols representing an underlying data stream of original bits of data. The number of occurrences of each symbol in each file is compared to like symbols in other files. This can occur via algorithms, mapping, or both. In certain instances, comparison reveals a difference in counts between the symbols of the files. This difference is then squared, added together, and a square root taken. Comparing “distance values” reveals file adjacency, grouping, or the like. Also, normalizing, weighting, filtering functions and/or other statistical computations are applied in certain instances.

Claims (30)

1. In a computing system environment, a method of differentiating files stored on one or more computing devices, each file having a plurality of symbols derived from an underlying data stream of all original bits of raw data of said each file, comprising:

encoding said each file as a plurality of symbols representing an underlying data stream of all original bits of binary data of the file;

determining a number of occurrences of each said symbol in said each file; and

computing a distance between said each file and every other file based on the determined number of occurrences.

2. The method of claim 1 , further including normalizing the determined number of occurrences for said each symbol by comparing to a total number of symbols in a source file.

3. The method of claim 1 , further including weighting the determined number of occurrences for said each symbol according to a bit length of said original bits of data represented by the symbols.

4. The method of claim 3 , wherein the weighting further includes multiplying the determined number of occurrences for said each symbol by a corresponding said bit length.

5. The method of claim 1 , further including grouping together closest neighbors of the files.

6. The method of claim 1 , further including sorting into an ordered list the computed said distances between said each file and every other file.

7. The method of claim 1 , further including normalizing and weighting the determined number of occurrences for said each symbol.

8. The method of claim 7 , wherein the normalizing further includes comparing the determined number of occurrences for said each symbol to a total number of symbols in a source file.

9. The method of claim 7 , wherein the weighting further includes multiplying the determined number of occurrences for said each symbol by a bit length of said original bits of data represented by the symbols.

10. In a computing system environment, a method of differentiating files stored on one or more computing devices, each file having a plurality of symbols derived from an underlying data stream of all original bits of raw data of said each file, comprising encoding said each file as a plurality of symbols representing an underlying data stream of all original bits of binary data of the file, determining a number of occurrences of each said symbol in said each file, and computing a distance in an N-dimensional space between said each file and every other file based on said determined number of occurrences, said N-dimensional space being defined by a total number N of different symbols in the plurality of symbols.

11. The method of claim 10 , wherein the computing the distance further includes determining for like symbols a difference in said determined number of occurrences.

12. The method of claim 11 , further including squaring the determined difference for said like symbols.

13. The method of claim 12 , further including adding together the squared determined differences.

14. The method of claim 13 , further including taking a square root of the added together squared determined differences.

15. In a computing system environment, a method of determining closest files stored on one or more computing devices, each file having a plurality of symbols derived from an underlying data stream of all original bits of raw data of said each file, comprising:

encoding said each file as a plurality of symbols representing an underlying data stream of all original bits of binary data of the file;

determining a number of occurrences of each said symbol in said each file;

computing a distance value between said each file and every other file based on said number of occurrences; and

concluding a closest two files based on the computed distance value.

16. The method of claim 15 , further including normalizing the determined number of occurrences for said each symbol.

17. The method of claim 15 , further including weighting the determined number of occurrences for said each symbol.

18. The method of claim 15 , further including considering only a portion of the determined number of occurrences when said computing the distance.

19. In a computing system environment, a method of differentiating files stored on one or more computing devices, each file having a plurality of symbols derived from an underlying data stream of all original bits of raw data of said each file, comprising:

encoding said each file as a plurality of symbols representing an underlying data stream of all original bits of binary data of the file;

defining an N-dimensional space wherein N is a total number of different symbols in the plurality of symbols;

determining a number of occurrences of each said symbol in said each file; and

computing a distance in the N-dimensional space between said each file and every other file of the stored files based on the determined number of occurrences.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2009
From: TEERLINK, CRAIG N.
To: NOVELL, INC.
Reel/Frame 023652/0557 →