IP Library Granted Patent US 7,340,491
Granted Patent B2
US 7,340,491 · App. 10/831,322 · Granted Mar 4, 2008

Methods and apparatus for data preservation and software distribution within an enterprise system

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,340,491
App. No.
10/831,322
Granted
Mar 4, 2008
Kind
B2
Abstract

A method, system and article of manufacture for data preservation. A method for preserving data during system migration includes determining which files on a computer should not be preserved, preserving all files from the computer not identified by the determining step, performing a system migration on the computer, and downloading the preserved files to the computer. The determining step may determines which files should not be preserved by applying rules that specify which files should not be preserved. A system for preserving data during system migration includes a plurality of workstation computers and a remote site server connected to the plurality of workstation computers. Each workstation computer includes a plurality of files. The remote site server includes a processor that executes instructions on a memory, the memory including instructions for preserving data during system migration.

Claims (89)

1. A method comprising:

generating a rule set, each rule from the rule set having a filename,

the generating including:

determining whether a filename of a rule from the rule set includes a wildcard;

adding the rule to a wildcard array of rules when the filename of the rule includes the wildcard; and

adding the rule to an explicit array of rules when the filename of the rule does not include the wildcard;

determining that a first set of files from a plurality of files on a computer should not be preserved based on the rule set;

preserving a second set of files from the plurality of files based on the determining associated with the first set of files, the second set of files being different than the first set of files;

performing a system migration associated with the computer; and

downloading the preserved files associated with the computer.

2. The method of claim 1 , wherein the generating includes retrieving a file that includes the rule set.

3. The method of claim 1 , wherein the generating includes parsing at least one rule from the rule set into its component fields.

4. The method of claim 1 , wherein the generating includes:

repeating the determining associated with the filename, the adding associated with the wildcard array or rules, and the adding associated with the explicit array of rules for each rule from the rule set; and

sorting the explicit array of rules.

5. A method, comprising:

determining that a first set of files from a plurality of files on a computer should not be preserved based on rules that specify which files should not be preserved, the rules including a set of wildcard rules,

the determining including:

comparing a file from the plurality of files to the set of wildcard rules, one wildcard rule at a time, until a match is found or until the file is compared to the entire set of wildcard rules;

indicating that the file is not to be preserved if a match is found; and

repeating the comparing and the indicating for each file from the plurality of files;

preserving a second set of files from the plurality of files based on the determining, the first set of files being different than the second set of files;

performing a system migration associated with the computer; and

downloading the preserved files associated with the computer.

6. The method of claim 5 , further comprising:

applying a set of explicit rules to each file from the plurality of files on the computer.

7. The method of claim 6 , further comprising:

recursively searching the set of explicit rules based on each file from the plurality of files to determine whether at least one file from the plurality of files matches at least one explicit rules from the set of explicit rules.

8. A method, comprising:

determining that a first set of files from a plurality of files on a computer should not be preserved based on rules that specify which files should not be preserved, the rules including a set of explicit rules, each rule from the set of explicit rules having a filename,

the determining including:

conducting a binary search of the set of explicit rules based on a file from the plurality of files,

the conducting including:

selecting a rule at a midpoint of the set of explicit rules; and

determining whether a name of the file occurs before or after a filename associated with the rule when the name of the file does not match the filename of the rule at the midpoint of the set of explicit rules;

indicating that the file is not to be preserved when the file is matched to an explicit rule based on the conducting; and

repeating the conducting and the indicating for each file from the plurality of files,

preserving a second set of files from the plurality of files based on the determining associated with the first set of files, the first set of files being different than the second set of files;

performing a system migration on the computer; and

downloading the preserved files to the computer.

9. The method of claim 8 , wherein the explicit rules have a first portion and a second portion,

the conducting includes:

selecting a rule from a first portion of the set of explicit rules when the name of the file occurs before the filename of the rule at the midpoint of the set of explicit rules;

if the name of the file does not match the filename of the rule at the midpoint of the first portion of the set of explicit rules, determining whether the name of the file occurs before or after the filename of the rule at the midpoint of the first portion of the set of explicit rules;

if the name of the file occurs before the filename of the rule at the midpoint of the first portion of the set of explicit rules, selecting a rule at the midpoint between the beginning of the set of explicit rules and the midpoint of the first portion of the set of explicit rules; and

if the name of the file occurs after the filename of the rule at the midpoint of the first portion of the set of explicit rules, selecting a rule at the midpoint between the midpoint of the first portion of the set of explicit rules and the midpoint of the set of explicit rules.

10. The method of claim 8 , wherein the conducting includes repeatedly selecting rules at midpoints of increasingly smaller subsets of the set of explicit rules until the file matches an explicit rule from the set of explicit rules or until the binary search exhausts a plurality of index values.

11. A computer-readable medium comprising code representing instructions to cause a processor to:

generate a rule set, each rule from the rule set having a filename, the code to generate including instructions to cause the processor to:

determine whether a filename associated with a rule from the rule set includes a wildcard;

add the rule to a wildcard array of rules when the filename of the rule includes the wildcard; and

add the rule to an explicit array of rules when the filename of the rule does not include the wildcard;

determine that a first set of files on a computer should not be preserved based on the rule set;

preserve a second set of files on the computer different than the first set of files based on the code to determine associated with the first set of files;

perform a system migration associated with the computer; and

download the preserved files associated with the computer.

12. The computer-readable medium of claim 11 , the code further comprising code to:

retrieve a file that includes the rule set.

13. The computer-readable medium of claim 11 , the code further comprising code to: parse at least one rule from the rule set into its component fields.

14. The computer-readable medium of claim 11 , the code further comprises code to:

repeat the code to determine associated with the filename, the code to add associated with the wildcard array of rules, and the code to add associated with the explicit array of rules for each rule from the rule set; and

sort the explicit array of rules.

15. The computer-readable medium of claim 11 , wherein the rule set specifies which files should not be preserved.

16. The computer-readable medium of claim 11 , the code further comprises code to: apply a set of explicit rules from the explicit array of rules to each file from the plurality of files on the computer.

17. The computer-readable medium of claim 16 , the code further comprising code to: recursively search the set of explicit rules to determine whether at least one file from the plurality of files matches at least one explicit rules from the set of explicit rules.

18. A computer-readable medium comprising code representing instructions to cause a processor to:

determine that a first set of files from a plurality of files on a computer should not be preserved based on rules that specify which files should not be preserved, the rules including a set of wildcard rules,

the code to determine including instructions to cause the processor to:

compare a file from the plurality of files to the set of wildcard rules, one wildcard rule at a time, until a match is found or the file is compared to the entire set of wildcard rules;

indicate that the file is not to be preserved when a match is found; and

repeat the code to compare and the code to indicate for each file from the plurality of files;

preserve a second set of files from the plurality of files based on the code to determine, the second set of files being different than the first set of files;

perform a system migration associated with the computer; and

download the preserved files associated with the computer.

19. A computer-readable medium comprising code representing instructions to cause a processor to:

determine which files from a plurality of files on a computer should not be preserved based on rules that specify which files should not be preserved, the rules including a set of explicit rules, each rule from the set of explicit rules being associated with a filename,

the code to determine including instruction to cause the processor to:

conduct a binary search of the explicit rules based on a file from the plurality of files,

the code to conduct including instructions to cause the processor to:

select a rule at the midpoint of the set of explicit rules; and

if a name of the file does not match a filename of the rule at the midpoint of the set of explicit rules, determine whether the name of the file occurs before or after the filename of the rule at the midpoint of the set of explicit rules;

indicate that the file is not to be preserved when the file is matched to an explicit rule from the set of explicit rules; and

repeat the code to conduct and the code to indicate for each file from the plurality of files.

20. The computer-readable medium of claim 19 , wherein the set of explicit rules has a first portion and a second portion, the code to conduct includes instructions to cause the computer to:

select a rule at the midpoint of the first portion of the set of explicit rules, when the name of the file occurs before the filename of the rule at the midpoint of the set of explicit rules;

if the name of the file does not match the filename of the rule at the midpoint of the first portion of the set of explicit rules, determine if the name of the file occurs before or after the filename of the rule at the midpoint of the first portion of the set of explicit rules;

if the name of the file occurs before the filename of the rule at the midpoint of the first portion of the set of explicit rules, select a rule at the midpoint between the beginning of the set of explicit rules and the midpoint of the first portion of the set of explicit rules; and

if the name of the file occurs after the filename of the rule at the midpoint of the first portion of the set of explicit rules, select a rule at the midpoint between the midpoint of the first portion of the set of explicit rules and the midpoint of the set of explicit rules.

21. The computer readable medium of claim 19 , wherein the code to conduct includes instructions to cause the computer to: repeatedly select rules at midpoints of increasingly smaller subsets of the set of explicit rules until the file matches at least one explicit rule from the set of explicit rules or until the binary search exhausts a plurality of index values.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Apr 6, 2022
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: CHARLESTON MARINE CONTAINERS, INC.; DIGITAL FUSION, INC.; KRATOS INTEGRAL HOLDINGS, LLC; KRATOS TECHNOLOGY & TRAINING SOLUTIONS, INC.; KRATOS UNMANNED AERIAL SYSTEMS, INC. (F/K/A COMPOSITE ENGINEERING INC.); SAT CORPORATION
Reel/Frame 059616/0001 →
RELEASE OF SECURITY INTEREST Recorded Apr 6, 2022
From: TRUIST BANK, SUCCESSOR BY MERGER TO SUNTRUST BANK, AS COLLATERAL AGENT AND ADMINISTRATIVE AGENT
To: KRATOS INTEGRAL HOLDINGS, LLC; SAT CORPORATION; KRATOS TECHNOLOGY & TRAINING SOLUTIONS, INC.; CHARLESTON MARINE CONTAINERS, INC.; DIGITAL FUSION, INC.; KRATOS UNMANNED AERIAL SYSTEMS, INC. (F/K/A COMPOSITE ENGINEERING, INC.); GICHNER SYTEMS GROUP, INC.; MICRO SYSTEMS, INC.; SECUREINFO CORPORATION
Reel/Frame 059616/0151 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 7, 2017
From: KRATOS DEFENSE & SECURITY SOLUTIONS, INC.; AI METRIX, INC.; AIRORLITE COMMUNICATIONS, INC.; AVTEC SYSTEMS, INC.; BSC PARTNERS, LLC; CARLSBAD ISI, INC.; CHARLESTON MARINE CONTAINERS INC.; DALLASTOWN REALTY I, LLC; DALLASTOWN REALTY II, LLC; DEFENSE SYSTEMS, INCORPORATED; DEI SERVICES CORPORATION; DFI REALTY, LLC; DIGITAL FUSION SOLUTIONS, INC.; DIGITAL FUSION, INC.; DIVERSIFIED SECURITY SOLUTIONS, INC.; DTI ASSOCIATES, INC.; GENERAL MICROWAVE CORPORATION; GENERAL MICROWAVE ISRAEL CORPORATION; GICHNER SYSTEMS GROUP, INC.; GICHNER SYSTEMS INTRERNATIONAL, INC.; HAVERSTICK CONSULTING, INC.; HAVERSTICK GOVERNMENT SOLUTIONS, INC.; HENRY BROS. ELECTRONICS, INC.; HENRY BROS. ELECTRONICS INC.; HENRY BROS. ELECTRONICS, L.L.C.; HGS HOLDINGS, INC.; JMA ASSOCIATES, INC.; KPSS GOVERNMENT SOLUTIONS, INC; KRATOS COMMUNICATIONS, INC.; KRATOS DEFENSE & ROCKET SUPPORT SERVICES, INC.; KRATOS INTEGRAL HOLDINGS, LLC; KRATOS INTEGRAL SYSTEMS INTERNATIONAL, INC.; KRATOS PUBLIC SAFETY & SECURITY SOLUTIONS, INC.; KRATOS SOUTHEAST, INC.; KRATOS SPACE & MISSILE DEFENSE SYSTEMS, INC.; KRATOS SYSTEMS AND SOLUTIONS, INC.; KRATOS TECHNOLOGY & TRAINING SOLUTIONS, INC.; KRATOS TEXAS, INC.; KRATOS UNMANNED AERIAL SYSTEMS, INC.; KRATOS UNMANNED SYSTEMS SOLUTIONS, INC.; LVDM, INC.; MADISON RESEARCH CORPORATION; MICRO SYSTEMS, INC.; MSI ACQUISITION CORP.; POLEXIS, INC.; REAL TIME LOGIC, INC.; REALITY BASED IT SERVICES LTD.; ROCKET SUPPORT SERVICES, LLC; SAT CORPORATION; SCT ACQUISITION, LLC; SCT REAL ESTATE, LLC; SECUREINFO CORPORATION; SHADOW I, INC.; SHADOW II, INC.; SUMMIT RESEARCH CORPORATION; WFI NMC CORP.; KRATOS SOUTHWEST L.P.
To: SUNTRUST BANK
Reel/Frame 044742/0845 →
SECURITY INTEREST Recorded Dec 1, 2017
From: AIRORLITE COMMUNICATIONS, INC.; CHARLESTON MARINE CONTAINERS, INC.; DIGITAL FUSION, INC.; HENRY BROS. ELECTRONICS, INC. (DE); HENRY BROS. ELECTRONICS, INC. (NJ); KRATOS INTEGRAL HOLDINGS, LLC; KRATOS TECHNOLOGY & TRAINING SOLUTIONS, INC.; KRATOS UNMANNED AERIAL SYSTEMS, INC.; GICHNER SYSTEMS GROUP, INC.; MICRO SYSTEMS, INC.; SAT CORPORATION; SECUREINFO CORPORATION
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 044593/0678 →
RELEASE OF SECURITY INTEREST Recorded Nov 21, 2017
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: AIRORLITE COMMUNICATIONS, INC.; CHARLESTON MARINE CONTAINERS INC.; KRATOS UNMANNED AERIAL SYSTEMS, INC.; DIGITAL FUSION, INC.; GENERAL MICROWAVE CORPORATION; HENRY BROS. ELECTRONICS, INC.; KRATOS INTEGRAL HOLDINGS, LLC; KRATOS TECHNOLOGY & TRAINING SOLUTIONS, INC.; KRATOS DEFENSE & SECURITY SOLUTIONS, INC.; SECUREINFO CORPORATION
Reel/Frame 044195/0924 →
SECURITY INTEREST Recorded Jan 30, 2015
From: AIRORLITE COMMUNICATIONS, INC.; CHARLESTON MARINE CONTAINERS INC.; COMPOSITE ENGINEERING, INC.; DIGITAL FUSION, INC.; GENERAL MICROWAVE CORPORATION; HENRY BROS. ELECTRONICS, INC.; KRATOS INTEGRAL HOLDINGS, LLC; KRATOS TECHNOLOGY & TRAINING SOLUTIONS, INC.; KRATOS DEFENSE & SECURITY SOLUTIONS, INC.; SECUREINFO CORPORATION
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 034861/0796 →
RELEASE OF SECURITY INTEREST Recorded Jun 17, 2014
From: KEYBANK NATIONAL ASSOCIATION
To: SECUREINFO CORPORATION
Reel/Frame 033188/0761 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 10, 2012
From: SECUREINFO CORPORATION
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 028535/0771 →
RELEASE OF SECURITY INTEREST Recorded Jun 27, 2012
From: SILICON VALLEY BANK
To: SECUREINFO CORPORATION
Reel/Frame 028456/0136 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2008
From: CAMPBELL, SCOTT
To: SPIRIAN TECHNOLOGIES, INC.
Reel/Frame 020320/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2008
From: SPIRIAN TECHNOLOGIES, INC.
To: SECUREINFO CORPORATION
Reel/Frame 020320/0730 →
SECURITY INTEREST Recorded Jun 5, 2007
From: SECUREINFO CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 019406/0724 →