|Publication number||US6366930 B1|
|Application number||US 08/835,609|
|Publication date||Apr 2, 2002|
|Filing date||Apr 9, 1997|
|Priority date||Apr 12, 1996|
|Also published as||US6847982, US20020073106|
|Publication number||08835609, 835609, US 6366930 B1, US 6366930B1, US-B1-6366930, US6366930 B1, US6366930B1|
|Inventors||James A. Parker, Gary J. Legner, George Lima, David P. Schwartz, James R. Gunkel|
|Original Assignee||Computer Associates Think, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (78), Non-Patent Citations (5), Referenced by (139), Classifications (18), Legal Events (6)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application claims the benefit of U.S. Provisional Application No.: 60/015,327 Apr. 12, 1996.
The present invention relates generally to apparatuses and methods of inventorying data and managing assets, and, more particularly, to a computerized system including a software program which periodically inventories a plurality of hardware, software, and data files by assigning a signature to each file, determines which of those files has been changed, identifies and saves the changes on-site and offsite and restores any requested file by reconstructing the file by applying selected stored changes to the current on-site version or the baseline off-site version.
It is known to save files on a computer system and to assign a brief coded description to each file. One such system to Flanagan in U.S. Pat. No. 5,119,291 discloses a write-once optical disc data recorder wherein the addition of data is stored in a non-linear manner in modularized and indexed directories. Each file version recorded on the disk is assigned a “file version description” (FIG. 4) which identifies the file version. A problem with this type of system is that it does not inventory hardware and software files and the signature is not in hexadecimal format. It is an object of the present invention to provide a software program that conducts an initial inventorying process which assigns a hexadecimal signature to identify all hardware, software, and data files in a given system and then compares current and previous signatures to determine whether any of the files have been added, omitted, or changed in any way.
Automatic document image revision systems for electronically storing revisions or modifications to documents which are already electronically stored in unrevised or unmodified form are also known. One such system to Walsh in U.S. Pat. No. 5,020,122 discloses an improved process for eliminating the degradation of the information in the original document whereby only the intended or significant modifications to a document were stored in the system. However, such process made pixel-to-pixel comparisons to generate a bit map image of the changes and was slow and cumbersome in reconstructing documents. See also Murdock U.S. Pat. No. 5,448,729 which discloses a system for the automation of virtually all clerical functions in an office, such as, an insurance company or law office in which a compete audit history of all activity to a specific database file record is maintained without saving the entire database record in a historical file. See also Cheffetz U.S. Pat. No. 5,133,065. See also Ashcraft U.S. Pat. No. 5,247,660 which discloses a method of dynamically managing the storage of information in a write-once media, such as, optical disks in a network utilizing remote computers and a central computer which controls both magnetic disks and optical disks (FIG. 1) with an algorithm for storing updates separately from the general data comprising the original document (FIG. 8). However, all of these systems fail to disclose computing forward and reverse deltas each time a record is changed or saving the current version on-site and the baseline version off-site. It is an object of the present invention to provide unique algorithms for determining forward and reverse deltas by comparing a historical and current version of a document while deleting all prior file versions other than an offsite baseline version and the on-site current version and using the deltas and stored versions to repeatably and efficiently recreate any requested version as it existed at any prior time.
Text document management processes which allow for generating plural revisions from the same original are also known, such as, the one to Mizuta in U.S. Pat. No. 5,280,574 which discloses a process whereby multiple arrangements of the original based on multiple sets of changes are derived and saved enabling a user to restore a particular arrangement by retrieving the original and the selected set of changes to reproduce the desired revised document. The process uses excessive storage. It is an object of the present invention to use minimum storage on-site and offsite by storing only a baseline version of a document offsite with all forward deltas and saving only the current version of the document on-site with all reverse deltas. The volume and time to transmit data to offsite storage and back to the on-site host is kept to a minimum.
It is a further object of the present invention to detect the precise changes made to a prior file in the system and then save the changes. An important step in this process is computing the differences between the two previous and current versions to provide a forward delta and a reverse delta, and, then, storing the current version and the reverse delta of the changed file on-site while deleting only the last previous on-site version of the changed file, and permanently storing off-site the forward delta of the changed file and a baseline copy of each new file. This process preferably uses different forward and reverse algorithms to compute the forward and reverse deltas.
It is still a further object of the present invention to restore any requested file if it is located on-site by recovering the current version and subtracting the appropriate reverse deltas therefrom until the requested file is produced, or if the document is off-site, by recovering the baseline version and adding the appropriate forward deltas thereto until the requested file is produced.
Set forth below is a brief summary of the invention in order to achieve the foregoing and other benefits and advantages in accordance with the purposes of the present invention as embodied and broadly described herein.
The present invention is briefly summarized in the following steps:
1. At time1 inventorying all files on-site on a selected hard drive inventory path of a database,
2. Calculating and assigning to each on-site file a hexadecimal signature which identifies each file in the database,
3. At time2 repeating steps (1) and (2) for each file and comparing the previous signature to the current signature to determine whether anything about the file has been changed in any way, or whether old files have been deleted or new files added
4. Comparing the current version of a changed file to the last previous on-site version of the changed file,
5. Computing the differences between the two versions by different forward and reverse algorithms to provide a forward delta [last previous+delta=current] and a reverse delta [current−delta=last previous],
6. Storing the current version and the reverse delta of the changed file on-site while deleting only the last previous on-site version of the changed file,
7. Repeating steps (4)-(6) for each changed file, and
8. Permanently storing off-site the forward deltas of each changed file and a baseline copy of each new file,
9. Restoring any requested file,
if on-site, by recovering the current version and subtracting the appropriate reverse deltas therefrom until the requested file is produced, or
if off-site, by recovering the baseline version and adding the appropriate forward deltas thereto until the requested file is produced,
Further features of the invention include
a. issuing a “deleted file” warning as to any previously inventoried file not found on a next succeeding inventory pass,
b. issuing a “possible corruption” warning during inspection passes as to any file whose signature has changed,
c. capturing predetermined files or groups of files at predetermined times,
d. issuing an “unidentified possibly valuable asset” warning as to changed files not previously inventoried nor on a predetermined ignore table,
e. encrypting files stored off-site.
The advantages of this process and apparatus are many. Most notably, the advantages include
1. Enhanced comprehensive identification, control, protection, and management of critical hardware, software, and data business assets.
2. Enablement of a unique strategy for taking inventories of hardware, software, and data at each workstation at desired frequencies.
3. Customized automated back-up for disaster recovery includes intelligent capture and compression which significantly reduces the amount of data stored on-site or encrypted and permanently stored off-site while providing complete and effective back-up of all data.
4. Tracking of all file additions, changes, re-names, moves and deletions and other user activity.
5. Rapid restoration on-site of any historical version via independent reconstruction of saved on-site or offsite components.
6. Reduced costs.
7. Increased productivity.
FIG. 1 is a simplified flow chart of the top level process employed in the present invention at level 1.0.00.
FIG. 2 is a simplified flow chart of the inventory processing steps of the present invention at level 1.2.00.
FIG. 3 is a simplified flow chart of the Akashic File Clerk Capture Processing steps of the present invention at level 1.3.00.
FIG. 4 is a simplified flow chart of the process of Retrieving Historical Files From The Vault Archives of the present invention at level 2.9.00.
FIG. 5 is a simplified flow chart of the Scribe Process of the present invention at level 2.4.00.
FIG. 6 is a simplified flow chart of the Scribe Scanner Sweep Functions and Process of the present invention at levels 2.2.00 and 2.6.00.
FIG. 7 is a simplified flow chart of the Software Communications at the Client Akashic Vault of the present invention at level 2.7.00.
FIG. 8 is a simplified flow chart of the Library Process of the present invention at level 3.1.00.
FIGS. 9 and 10 are simplified flow charts of the Capture Library Storage process of the present invention at levels 3.4.01 and 3.4.08.
FIGS. 11 and 12 are simplified flow charts of the Library Shopping Scanner Process of the present invention at level 3.5.01 and 3.5.04.
In summary, the Intelligent Data Inventory and Asset Management (“IDIAM”) System of the present invention comprises the following steps:
1. As seen in FIG. 2, inventorying initially and at scheduled intervals according to predetermined Tasks assigned to predetermined groups of files in a Host (on-site) system selected ones of a plurality of hardware, software, and data files in the system by
a. creating a Hard Drive Inventory Path setting for all files residing on a predetermined hard drive to be inventoried,
b. comparing each file on the Inventory Path to an Inventory Database to determine if the file exists from a previous inventory,
c. if not, calculating a hexadecimal signature (file path, name, size, date and time of last file save) for the file which identifies the file in the database and adding the file to an Inventory Database and to a Change Set Database,
d. if the file exists in the Inventory Database but does not exist in the Hard Drive Inventory Path, identifying the file as deleted in the Change Set Database and a Historical Archive and deleting the file from the Inventory Database,
e. if the file exists in the Inventory Database and is also in the Hard Drive Inventory Path, comparing the previous signature to the current signature to determine whether the file has been changed,
f. if the file has changed, generating a new signature and updating the Change Set and Inventory Databases,
g. if the file has not been changed, optionally inspecting each file in the Inventory Path by generating a new signature for each file and comparing the new signature to the previous signature and issuing a warning of potential corruption as to each file whose signature has been changed.
2. As seen in FIG. 3, processing each changed file in the Inventory Path for capture by,
a. moving to the Changed Set Database all files previously added to a Temporary Hold Table during a prior capture process,
b. initially evaluating each file in the Change Set Database for capture according to a predetermined qualification set and copying the qualified files to a Capture Set Database (in a temporary directory in an archive format),
c. providing a predetermined Data Asset Table identifying those files by prioritized Capture Category that must be captured and providing a predetermined Ignore Table identifying those files of no interest,
d. Comparing each file in the Change Set Database to the Data Asset Table and,
(1) if the file is not on the Data Asset Table further comparing the file to the Ignore Table and issuing a warning if the file is also not on the Ignore Table (i.e., the file may be an unidentified, but valuable, Data Asset),
e. further evaluating each file in the Change Set Database to determine whether it is scheduled for capture by comparing its Capture Category to the Data Asset Table Capture Category identified for the inventory in progress and,
(1) if so, (i.e., equal to or greater than) placing a copy of the file in the Capture Set for further processing in a Scribe Processor and,
(2) if not, (i.e., less than) placing the file in the Hold Table for capture at the appropriate inventory,
3. Providing a Requested File identifying a user request for retrieval of a selected file (one or more) identified in the Historical Database.
4. As seen in FIG. 1, continuously Scanning a Request Out Box waiting for a Send File containing a retrieved file identified in the Requested File to appear from an on-site Vault or an off-site Library, and notifying the user upon recognizing the presence of said Send File.
5. As seen in FIGS. 5 and 6, processing each Capture Set file and each Requested File in a Scribe Processor by:
a. waiting while allowing the Scribe to finish processing any previous Capture Set or Requested File, then, when the Scribe is not busy,
b. scanning a Vault In-Box for the presence of a Capture File or a Requested File,
c. As to a Capture File in the Capture Set:
(1) if the Capture File does not exist in the Vault Historical Archive (New File), saving the New File in the Vault Historical Archive,
(2) if the Capture File exists in the Vault Historical Archive, removing the Latest Version of the Capture File available in the Vault Historical Archive,
(3) comparing the Capture File (Current Version) and the Latest Version, and
(4) computing the differences between the two versions to provide a Forward Delta and a Reverse Delta wherein
(a) the Forward Delta is that difference between the Latest Version and the Current Version which when added to the Latest Version will produce the Current Version, and
(b) the Reverse Delta is that difference between the Latest Version and the Current Version which when subtracted from the Current Version will produce the Latest Version,
(5) Storing the Reverse Delta and the Current Version in and deleting the Latest Version from the Vault Historical Archive,
(6) Repeating the above steps (1)-(5) as to each file in the Capture Set,
(7) Encrypting all Forward Deltas (of old files) and all New Files (Baseline Files) (together with optional Reverse Deltas) (individually or collectively as determined at time of installation) in a Container (whose Key is available to Library) with a Shipping Archive (container identification and file header information for cataloging and locating at Library permanent storage),
(8) Placing in the Vault Out-Box the Container and any Requested File not in the Vault Archive,
6. As seen in FIGS. 4 and 6, if the Request File is in the Vault Historical Archive, copying the Latest Version thereof in the Vault Historical Archive, subtracting the proper ones of the Reverse Deltas from the Latest Version to produce the Requested File, Sending an equivalent (Send File) of the Requested File to the Request Out-Box.
7. As seen in FIGS. 1 and 4, if the Requested File is not in the Vault Historical Archive, notifying user the Requested File is being obtained from an Off-Site Library, and sending to the Vault Out-Box a Shopping List identifying the Requested File in the Library Database.
8. As seen in FIG. 6, scanning the Vault Out-Box for the presence of Shipping Files (Shipping Containers (of Captured Files) and/or Shopping Lists (of Requested Files)) to be sent to the Off-Site Library, and initializing communications software when a predetermined set of initiation criteria (size, time, and files present) have been satisfied.
9. As seen in FIGS. 1 and 7, establishing a secure (password timely validated) communications link with the Off-Site Library, transmitting the Shipping Files to the Off-Site Library, receiving, if any, incoming Requested Files downloaded from the Library Out-Box, disconnecting the communications link, and depositing any received incoming Requested Files in a Scribe In-Box.
10. As seen in FIG. 1, scanning the Scribe In-Box for the presence of incoming encrypted Requested Files, upon detecting the presence of said encrypted Requested Files, unencrypting and adding the Baseline File and any included Forward Deltas to produce the Requested File, and sending the Requested File (Send File) to the Request Out-Box.
11. As seen in FIG. 8, Validating log-in (password timely validated) of the incoming call and setting the Library In-Box corresponding to a Vault Identification in the incoming call, receiving the incoming Shipping Files, sending any outgoing Requested Files present in a Library Out-Box for the same Vault identification, and placing the incoming Shipping Files in the Library In Queue with the Vault Identification.
12. As seen in FIGS. 9,10, Scanning the Library In Queue, detecting the presence of a Shipping Container therein, un-encrypting the Shipping Container and extracting the New Files and forward Deltas (and optional Reverse Deltas) therefrom, updating a Client Library Database (file names and storage location in Library), copying the files to a Library Burn Directory, adding to a Library Burn Queue all files from the Library Burn Directory up to a set limit smaller than the unused media storage capacity if the size of the Burn Directory is greater than the size of the unused media storage capacity and creating a new Burn Directory to receive new files and repeating the previous steps above, further scanning the Burn Queue for the presence of files to be recorded and, when said files are detected, recording said files in the permanent Library storage media with file identification, deleting the just recorded Burn Directory, and asking the storage attendant for new media to be placed in the storage device (the old media is now full).
13. As seen in FIGS. 11,12, scanning the Library in Queue for a Shopping List, detecting the Shopping List and extracting the Requested File information therefrom, updating the Shopping Queue with the extracted information, scanning the Shopping Queue for the presence of the extracted information, and, when the information is detected, identifying the media location of and selecting the media device (Compact Disk Juke Box1) where the Requested Files (Baseline and Forward Deltas) are stored, and copying the Requested Files to the Library Out-Box.
IDIAM System Functional Description
I. Introduction Overview
II. File Clerk Data Inventory Management
III. File Corruption/Virus Infection
IV. Akashic Vault
VI. Library System
VII. Software Inventory/License Tracking
VIII. Hardware Inventory
IX. System Administration/Reporting
I. Introduction Overview
The IDIAM System Functional description set forth below
1Alternatively, tape or other electronic memory media may be used. provides a description of the major functions and options of the IDIAM (Intelligent Data Inventory and Asset Management) software system. As best seen in FIG. 1, the overall software system comprises:
A. The Akashic File Clerk resides on each network workstation/server. The File Clerk maintains an inventory database containing unique signatures for every file on a work station (during the initial installation inventory) and also all new and changed files. The File Clerk allows the client to determine those files that are critical to their particular business function and capture only those files that are important enough to be captured. Inventories are then run at scheduled intervals to identify and capture new and previously captured files that have changed. All captured files are forwarded to the Akaskic Vault for storage and processing.
The File clerk also provides the user with a retrieval function, which allows historical files to be requested from the Vault and deposited in the original location, a default retrieval directory or the users choice. Because all file captures are historical, all retrievals can be selected on a point-in-time basis. Because the Vault is a node on the client's network, retrievals are very quick, and require minimal network traffic.
B. The Akashic Vault is a computer that is attached as a node to the client's network. The Vault stores captured files using intelligent compression technology. This Intelligent Compression technology allows the Vault software, referred to as the Akashic Scribe, to store multiple historical file versions in a highly compressed state. Therefore, the Akashic Vault becomes a very efficient storage and retrieval mechanism for massive quantities of data that would normally not be available, without high capacity storage devices. At regular intervals, the Vault sends copies of the latest file captures to an offsite Library system. The system is designed to transmit the data offsite using commercial phone lines. Data may be encrypted depending on the client needs. The offsite Library may be maintained by the client.
C. The Library system (data center) catalogs each client transmission and records the encrypted transmission contents onto Write Once Optical Storage Disks. These disks are intended to be stored in a Juke Box Reader which allows ready retrieval of the transmission contents. A request for data retrieval is sent to the client and decrypted by the client using the client's encryption key.
II. File Clerk Data Inventory Management Functions. With Reference to FIG. 2
A. Initial Work Station/Server Inventory
Inventory and identify all files on a workstation/server hard drive by path, file name and file type including hidden DOS files and including the additional parameters:
1. Date last changed
2. Time last changed
3. File Size
4. Attribute setting
5. 32 bit CRC
Insert initial inventory in the File Clerk database installed on the workstation/server. The File Clerk database maintains a running history of all files on the hard drive.
B. Subsequent Scheduled Inventories
The File Clerk performs scheduled inventories requested by the client in the Data Asset Description and File Clerk functions. Using the information in the initial and subsequent previous inventory as a reference:
Files are identified that have:
1. Changed since the last inventory
2. Been deleted since the last inventory
3. Been added since the last inventory
C. Historical Signatures
Using the information gathered in each scheduled inventory generate new historical signatures for each file that has met the criteria of II.B. above. Refresh database for future reference, maintain historical information for retrieval later.
D. User Defined Functions:
System Administrator/User at each work station/server enters the following attributes:
1. Data Assets that require “capture” on a periodic basis, by:
a. Importance to the business operations (required). The level of importance is required to establish the data files that will be captured at specific scheduled inventories by the file clerk. It is required for all files required to be captured, whether their importance is high or low.
b. Software program used to generate the file (option). This option allows data files to be captured by their level of importance relative to the general topic of software program used to generate the data file. This allows for capture scheduled at generic level of importance relative to all files generated by a given program and retrieval of an individual file by program name (Word, Excel, Corel Draw, Power Point, etc.).
c. File Name (option). This option allows single data files to be captured individually by their level of importance. This option is typically reserved for critical database files; however, may be used for other important files.
d. Topic or Event Description (option). This option allows groups of files that should be captured together, meaning the topic which may be a project, task, case, etc. has a significance level tied to those data files associated with the topic. Capture of file changes as defined by B. above allows all files related to that topic to be captured as well as retrieved by that topic. In addition, specific point-in-time events may be tied to the historical version of the files grouped by topic when that event is entered into the File Clerk.
e. Directory/Path Name (data files not included will not be captured)
f. File Name
g. File Type (specific files types may be included or excluded)
2. Frequency of inventory and capture:
Each of the files/groups of files defined in II.D.1.a. through g. above. Job descriptions are assigned to each of the scheduled inventory/captures. Schedules are assigned by month, week, day, or hour and by start time.
3. Data/software assets that are not required to be captured; however, should be inventoried using exclude lists for directories, file types, etc.
E. Using the information entered by the user for each file/file group and scheduled inventory/capture, initiate inventory capture as requested using the following processes:
1. Run inventory/capture as requested to identify all attributes (changed, deleted, or added), capture/copy all files that have been changed, or added. Generate historical signatures.
Transmit the captured files to the on-site Vault.
Identify all changed or added executable files that do not match authorized file signatures.
2. Place new historical signatures in workstation File Clerk inventory database.
3. Update file status on the on-site Vault data asset database. Insert captured files into Vault archive and perform the following: See IV. Akashic Vault Function.
III. File Corruption/Virus Infection Function. With Further Reference to FIG. 2
A. Perform initial full hard drive scan of every byte on the hard drive file-by-file, generate historical signature as noted in II.A above, referred to as a file inspection. Place signature information in the workstation inventory database.
B. Perform additional file inspections as determined by the client/user and entered in the File Clerk Job Description. Recommended no more than once per day but no less than once per week.
C. Use signatures of changed files to identify files that have changed by comparing to the previous signature in the File Clerk database. If any executable files have changed, the condition is identified as file corruption and a possible virus situation.
IV. Akashic Vault Function. With Further Reference to FIGS. 2-6
A. Storage and Shipping (FIG. 5):
1. Store latest version of captured files by historical signature:
a. Identify files as new files and build new compressed archives for each.
b. Identify changed files that have been previously archived. Compare the changed file to the latest previously archived file. Generate a reverse delta. Deltas are the difference between the latest archived version and the latest changed version from the work station. Reverse deltas when subtracted from the latest archived version will produce the appropriate earlier version of the file. Generate a forward delta immediately following the reverse delta. Forward deltas are the difference between the original and latest file that when added to the original will create the latest file. Archive the reverse delta, delete the previous latest version and archive the newest compressed version of the file.
2. Generate Files to be sent to the Library:
Using the forward delta(s) generated in IV.A.1.b. above and copies of new file archives from IV.A.1.a. above. above generate a compressed shipping container file.
3. Generate encrypted shipping container and place in the Vault Out Directory.
B. Restoration (FIG. 4):
1. Receive requests from each workstation for archived files by historical signature.
2. Recognize historical signature and retrieve from archive by copying requested version. The requested version may be an earlier version than the latest stored full version, if so subtract the required reverse deltas from the latest full version.
3. Place requested file in the Akashic Vault Retrieve Directory. Initiate retrieval program to allow retrieval into original location, default retrieval directory, or the users choice.
4. If file is unavailable in Vault archive, place request in Vault “Out” Directory.
5. Decrypt files (if necessary) requested from the off-site Library Vault when returned, remove the required forward delta(s)and original file(s). Generate the requested version by adding the appropriate forward deltas to the original file. User determines where the retrieved file will be placed, as noted in IV.B.3. above.
V. Communications. With Reference to FIGS. 1,6,7
A. Schedule and transfer shipping containers to Library system for storage:
1. Identify the presence of shipping archives in the Vault Out Directory and do the following:
a. If the phone line used by the client is dedicated to the client on-site Vault, ship the archive to the Library by dialing the Library using security process to gain access. If Library is busy, hang-up and redial at scheduled intervals until the transmission goes through. Place the shipping archive in the Library Client In Directory.
b. If the phone line used by the client is not dedicated, establish default dial out times to perform the following:
If shipping archives are present determine available time window, if time window is open, transmit. If window is not open wait, when window opens transmit. If Library is busy, hang-up and redial at scheduled intervals until the transmission goes through. Place the shipping archive in the Library Client In Directory.
B. Transmit requested files to be returned to the client. Upon complete transmission to the Library, check the Client Out Directory for shipping archives going back to the client. Transmit files to client, place files in the on-site Vault In Directory. Hang-up upon completion of transmission.
VI. Library System. With Reference to FIGS. 8-12
A. Process Client Shipping Archives (FIGS. 8-10):
1. Upon receipt of incoming client shipping archive (identified by arrival in the client's In Directory on the Library) Strip client identifiers, historical signatures and unencrypted hardware data and event logs from the shipping container and deposit in client database. Move shipping container to the Burn Center.
2. Burn Center tracks the addition of shipping containers associated with Compact Disk (CD) to be recorded. Upon reaching maximum allowable size, record CD. Upon completion of recording, delete original files to free up recording wait area.
3. While wait area is full or in the process of recording a CD, send all new containers to additional recording wait area 2, 3 and so on. Record CDS when available.
B. Retrieve Client Shipping Containers (FIGS. 11-12):
1. Upon receipt of retrieval request in a client shipping container, commence search of client data base to locate shipping containers that contain the requested data.
2. Retrieve copies of applicable shipping archives from the CD Juke Box and place in the client Out Box on the Library.
3. Transmit requested archives from the Out Box to the client at the next communications opening with the client (next time shipping containers are sent to the Library). After shipping containers are deposited transmit Out Box contents to the client.
VII. Software Inventory/License Tracking Functions (Optional)
A. Baseline Software Inventory
Establish client software inventory at time of initial installation by comparing installed software inventory to known software product inventory signatures. Identify location by machine, drive, directory, etc. using historical signatures.
B. Product Installations
All new product installations (post baseline) should be processed through the Software Product Register. This process registers the software, license, and location in the authorized software database. Inventories are run immediately prior to and after installation to establish historical signatures and location.
C. Unauthorized Installations
All new software product installations that are not installed using the authorized installation feature will be identified immediately after the next scheduled inventory.
The system administrator may at their discretion (or management's authorization) initiate a Hold process on the product's executable files which renders them inoperable. Upon determining whether the newly installed product is licensed and authorized for installation or not, the system administrator has the option to release the hold or Disable the product completely. Authorized installations are then added to the product register.
VIII. Hardware Inventory Functions (Optional)
Hardware inventories are run by each workstation/server file clerk during the initial installation inventory and all subsequent inventories. These inventories identify major hardware components available specification installed on that workstation/server. Changes to hardware are identified during each new inventory scheduled by the file clerk. This information is stored on the file clerk database, the on-site Vault database, the Library database, and a system administrator database. Each is refreshed at each new inventory.
Information retrieval is available to the system administrator through the system administrator's database during normal operation of the system. In the event of a physical disaster at the client's facility, (such as a fire, natural disaster, theft, etc.) the same information is available from the Library. The hardware information is sufficient to redesign the previous system (prior to the disaster) to facilitate ease of disaster recovery.
IX. System Administration/Reporting Functions
A. The system administrator has access to all inventory information from all work stations and can administer management functions accordingly (as directed by management).
1. Set capture importance and scheduling
2. Set captures parameters (includes and excludes)
3. Hold and Disable unauthorized software product installations
4. Determine workstation activity by name and extension type.
5. Request reports identifying inventory information, such as:
a. Files added, changed, deleted, on a given work station, by date and time.
b. File size and change size
c. Hardware Inventory information and changes
d. Installed location of software products and associated licenses and versions.
IDIAM System Process Steps Description
As seen in FIG. 1, the process begins by scheduling an inventory.
1.1.00 Schedule Inventory
Inventories are taken initially when the IDIAM System is installed and subsequently on a regularly scheduled basis. The following process is used to schedule inventories subsequent to the initial baseline inventory:
Frequencies are established by defining the frequency and timing of individual tasks. One (1) to ten (10) tasks can be assigned different frequencies and different start times. Each of these tasks is assigned to a group of files to be captured. Tasks may be assigned to more than one group of files to be captured. Each task initiates independently of each other. These tasks may be scheduled to run:
multiple times per day (every N hours)
once per day, every day of the week
selected days may be chosen (every Monday, Wednesday, and Friday, for example)
Once per week, or selected weeks
Once per Month, or selected months
As seen in FIG. 2, inventory processing includes:
1.2.00 Initiate Inventory
The process identified in flow chart 1.2.00 is used for both initial and subsequently scheduled inventories. The inventory process looks at each and every file residing on a given hard drive path on which the Akashic File Clerk (AFC) has been installed and which file has been included in the inventory drive path setting. For example, the AFC could be installed on a workstation or server hard drive identified as Drive C; however, the AFC could be set to perform inventories on partitions of the C drive known as D, E, or F, etc. and not on C. Each time the inventory is run it performs the following processes identified in flow chart 1.2.00:
1.2.03 Compares the AFC Inventory database with each file on the inventory path and determines if the file exists from a previous inventory. If it does not exist a historical signature is generated which identifies that file within all AFC databases. The following additional information is also gathered:
Date and Time of Last File Save
1.2.04 If the file exists in inventory, but does not exist in the hard drive inventory path (disk) then the file was deleted since the last inventory and is identified as deleted in the Change Set and Historical (each on the AFC) databases and deleted from the Inventory database.
Each time an inventory is run it refreshes the Inventory database from the previous to the latest, a new Hold and Change Set database is created from each inventory and all Change Set Information is added to the Historical database.
1.2.05 If the file exists in inventory and on disk the inventory compares the previous inventory information to the current information and determines if the file has changed. If the file has changed a new signature is generated and the databases are updated.
1.2.15 If the file existed previously and no changes are indicated the inventory determines if a File Inspection is to be run. File Inspections generate new signatures for all files in the inventory path and compares the old signature to the new signature. If any executable file signatures have changed a warning is sent to the appropriate workstation to identify potential software corruption.
Next, comes Capture Processing in the Akashic File Clerk as seen in FIG. 3 including:
1.3.00 Initiate Capture
Upon completion of each inventory the following processes identified in flow chart 1.3.00 are run. Note: Some process blocks identified in 1.3.00 do not require definition and are not defined below.
1.3.01 All files added to the temporary Hold table during the inventory are moved to the Change Set table.
13.02 Each file in the Change Set is evaluated for Capture.
Upon completion of the capture evaluation the files qualifying for capture are copied and placed in a Capture Set. Capture sets may be one or many files which have been copied into a temporary directory and placed into an archive format that is recognized by the Akashic Scribe software.
1.3.05 Each file is compared to previously (user/client) defined tables (known as data assets) identifying the file either by name, path, or extension variables as needing to be captured. If it has been identified, it is further evaluated for capture time under
1.3.06. If it is not defined as a data asset, it is compared to the Ignore Table. This previously defined table is used to ignore those files that the user/client are not interested in. If the file is not in the Ignore Table, then-a warning is sent to the System Administrator or other designated person (defined at time of IDIAM installation). This warning identifies that files are changing that are not identified as a data asset. The files are also not flagged as unimportant in the Ignore Table; therefore, these new or changed files may be unidentified data assets. The files should be investigated to be included in a data asset table.
1.3.06 The file is compared to the Data Asset Table Capture Category to determine if the file is scheduled to be captured during the inventory in progress. If so, the file is copied and placed in the capture set. If not, the file inventory information is placed back in the Hold Table for capture at the appropriate inventory. Of special note: If the capture category is equal to or greater than the category specified for the inventory in progress, it is captured. If it is a lower category than that being run on the current inventory, then it is placed in the Hold Table.
Referring to FIG. 1:
1.4.00 Initiate Historical Request
The user/client is given the ability to graphically interface with the Historical database. This interface is arranged in the same manner as the data asset tables to enhance the user/client memory process. To explain, users are more likely to remember special topics, events, or software used to generate a file (needed from history) than they are the individual file. Therefore, based upon the user s selection of a given data asset category they will be provided with a selected group of captured historical files identified in the Historical database. From this interface the user may select single or multiple files to request from history in the Akashic Vault.
1.5.00 Generate Vault Request File
Upon selecting historical files for retrieval, information contained in the Historical database is placed into a Request File. The Request File is formatted in a manner recognized by the Akashic Scribe software to enable processing by the scribe.
1.6.00 Scan Request Out Box
Scan software resident on the local workstation initiates upon generation of a Request File from the user/client on that particular workstation. The software periodically scans the Request Out Box waiting for files retrieved from the Akashic Vault or the Library. Upon noticing the presence of the historical Send Files the scan software issues a notice (1.7.00) to the user that historical files are available.
2.1.00 Vault In Box
The Vault In Box is a repository (physically located at the client s discretion somewhere on the network, this can be the Akashic Vault or the Client s server, etc.)for all Capture and Request Files from each Akashic File Clerk.
2.2.00 Scan the Vault In Box
Scanner software located on the Akashic Vault periodically scans the Vault In Box looking for the presence of Capture or Request files. This software also determines if the Akashic Scribe is currently processing Capture or Request files. If the Scribe is busy the scan software does nothing until the next scan. If the Scribe is not busy the scan software initiates the Scribe to process the Capture or Request File(s) as appropriate.
Referring to FIG. 5, the Scribe Process includes:
2.4.00 Process Captured Files in Scribe
2.4.01 Evaluate Capture files. Does the file exist in the Akashic Vault archive? If Yes, go to 2.4.02. If No, go to 2.4.05.
2.4.02 Remove the latest version available in the vault archive and go to 2.4.03.
2.4.03 Compare the Capture file and the version removed from archive. Compute the differences between the versions to produce a Forward Delta and a Reverse Delta. These deltas represent the following:
Forward deltas are the difference between the latest version in archive and the current captured version that when added to the archived version will produce the current captured version.
Reverse deltas are the difference between the current captured version and the latest archived version that when subtracted from the captured version will produce the appropriate earlier version of the file.
Go to 2.4.04
2.4.04 Place the Reverse Delta in the vault archive. Go to 2.4.05
2.4.05 Place the latest captured file into the vault archive. Go to 2.4.06
2.4.06 Delete the previous archived version used for the comparison in 2.4.03. Go to 2.4.07
2.4.07 Determine if the customer has requested that copies of Reverse Deltas be sent off-site. (2.4.08) If so, process copies of the reverse deltas in 2.4.09. This option will produce quicker historical restorations when these files ever need to be requested from the off-site Library.
2.4.09 Encrypt all Forward Deltas, new files and all optional Reverse Deltas using commercially available encryption methods and an encryption key available only to the client. Encryption may be performed individually on each delta/file or on all deltas/files at the same time. This process is determined at the time of IDIAM installation. If deltas/files are encrypted individually, go to 2.4.10.
2.4.10 Encrypt all individual files in a single encrypted container. The Key to this container is available to the Library and provides additional protection while the container is in transit from the client s Akashic Vault to the Off-Site Library. Go to 2.4.11.
2.4.11 Generate a shipping archive consisting of the encrypted shipping container and the client file header information used by the Library to catalog each encrypted file and delta location in the Library a permanent storage. Place the file in the Akashic Vault Out Box (2.5.00)
2.5.00 Vault Out Box
The Akashic Vault Out Box is a repository for all outgoing captured files, captured deltas, and requests for historical files from the Library.
Referring to FIG. 6 The Scanner Sweep Function includes:
2.6.00 Scan Vault Out Box
Shipping Scanner software located on the Akashic Vault periodically scans the Vault Out Box looking for the presence of Capture or Request files to be sent to the Akashic Library. This software will be notified to run upon initiation of the capture process on the scribe. Upon determining if the right shipping file size has been reached (initially set at 3MB) or the set time of day has been reached and files are waiting to be shipped, the scanner initiates the communication software (2.7.00).
Referring to FIG. 7 the Communications software steps include:
2.7.00 Communications Software
2.7.01 Initiate Communications software. Go to 2.7.02.
2.7.02 Establish communications link to Off-Site Library (both modems or other transmission devices recognizing each other). Go to 2.7.03.
2.7.03 Present password from the client Akashic Vault to the Off-Site Library. Wait for validation from the Library. If not validated, present password a set number of times, if not validated within the setting hang up. Go to 2.7.05.
2.7.05 Upon validation from the Library, transmit all Shipping Files to the Library, and wait for 2.7.06.
2.7.06 Wait for any incoming historical request files to be down-loaded from the Library. Upon receipt of incoming files or notice of no incoming files from the Library, disconnect the communication link to the Library (2.7.07).
2.8.00 (FIGS. 1,4) Are Requested Files in Vault?
Initiate Scribe software. Determine if the requested historical file is in the Akashic Vault Archive. If so go to 2.9.00, if not go to 2.11.00.
Referring to FIGS. 1 and 4, the process of retrieving historical files from vault archives includes:
2.9.00 Process Request
2.9.01 Determine Historical file needed from archive. Copy latest file from archive.
2.9.02 Compute reverse deltas needed to subtract from the latest file version.
2.9.03 Subtract the appropriate deltas from the latest file version in sequence until the requested file version is reached.
2.9.04 Generate a Send File equivalent of the file requested from 2.9.03. Deposit Send File in the Request Out Box.
2.10.00 Request Out Box
The Request Out Box is a repository (physical location on network determined at time of IDIAM installation) for access by Workstations for retrieved historical files.
2.11.00 Notify Requesting User of Delay (FIG. 1)
Send a notice to the Request Out Box notifying the user that the file is not available on the local Akashic Vault and the file is being retrieved from the Off-Site Library.
2.12.00 Generate a Shopping List
Generate a list in a format recognizable to the Library as a request for historical information and providing the information necessary to identify the file(s) requested on the Library database.
2.13.00 Scribe Retrieval In Box (FIG. 1)
The Scribe Retrieval In Box is a repository for encrypted files retrieved from the Library which are needing to be deencrypted, and processed to achieve the desired file revision requested from history. All incoming files from the library are deposited here (physical location on the network is determined at the time of IDIAM installation).
2.14.00 Scan Retrieval In Box
Scanner software scans the In Box periodically waiting for incoming files. Upon notice of the presence of incoming files these files are processed by 2.15.00
2.15.00 Process Retrieval Extraction/Deencryption
Unencrypt baseline file and any included forward deltas. Extract the file and delta(s). Add the deltas to the baseline to achieve the requested historical revision. Send the requested file to the Request Out Box (2.10.00).
Referring to FIG. 8, the Communications software in the offsite Library further includes:
3.1.00 Communications Software on the Library
3.1.01 Initiate next available modem upon one or any number of modems being busy. Go to 3.1.02.
3.1.02 Incoming call received. Go to 3.1.03
3.1.03 Initiate Validation of the Log-In password supplied from the client s Akashic Vault. Go to 3.1.04.
3.1.04 Is the password valid? If Yes, proceed to 3.1.05. If no, return to password validation until password is accepted or number of invalid attempts is reached. If password is invalid, disconnect.
3.1.05 Set the client In Box based upon the vault identification provided with the incoming file. Go to 3.1.06
3.1.06 Receive all incoming files to the In Box provided in 3.1.05. Go to 3.1.07.
3.1.07 Upon receipt of all incoming files, check for files in the Library Out Box for the incoming client. Upon identification of outgoing files destined for that client send all outgoing files. Proceed to 3.1.08.
3.1.08 Proceed to 3.2.00.
Referring to FIG. 1, the Library process further includes:
3.2.00 Library In Box
The Library In Box is a repository located on the Library Network. This repository receives all incoming Storage Files and Shopping Lists. The incoming files are routed to the appropriate process either to store or retrieve files as noted in 3.3.00.
3.4.00 Initiate Capture
Referring to FIG. 9:
3.4.01 Scan the Library In Queue. If files are present proceed to 3.4.02, if not, continue to scan periodically.
3.4.02 De-encrypt shipping container (if necessary) and extract client file information. Proceed to 3.4.03.
3.4.03 Update the Client database with the client file information for the files being processed. This will include the files being processed in the Library s history and identify where the files are located in the Library. Proceed to 3.4.04.
3.4.04 Copy files to the Library Burn Directory. Proceed to 3.4.05.
3.5.05 Determine if the Directory size is greater than the recording media storage capacity. If yes, add all files up to a set limit, smaller than the media capacity to the Burn Queue. Proceed to 3.4.07.
3.4.07 Create a new Burn Directory to receive new files.
Referring to FIG. 8:
3.4.08 Scan the Burn Queue for the presence of files to be recorded. If files are present proceed to 3.4.09.
3.4.09 Record these files to media along with the file identification for retrieval later from location information in the Library Client database. Proceed to 3.4.10
3.4.10 Delete just recorded burn directory. Proceed to 3.4.11.
3.4.11 Ask recorder attendant for new media to be placed in recording device.
Referring to FIGS. 1 and 11
3.5.00 Process Shopping List File Retrieval
3.5.01 Scan Library In Box for Shopping List. If Shopping List is present proceed to 3.5.02.
3.5.02 Extract file information for shopping list. Proceed to 3.5.03.
3.5.03 Send information to Shopping Queue. Proceed to 3.5.04.
3.5.04 Scan Shopping Queue. If file requests are present proceed to 3.5.05, if not, continue to scan periodically.
3.5.05 Find files requested in Library database (baseline and all required forward deltas). Identify media location in Library. Proceed to 3.5.06.
3.5.06 Select media reading device (Compact Disk Juke Box, etc.), proceed to 3.5.07.
3.5.07 Locate requested files on media and copy files to the Library Out Box. Proceed to 3.6.00.
3.6.00 Library Out Box
The Library Out Box is a repository for all outgoing client files requested from Library historical archives. Once files are transferred to this Out Box the process waits until the next down load from that client at which time they are sent to the client.
The foregoing description of a preferred embodiment and best mode of the invention known to applicant at the time of filing the application has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously many modifications and variations are possible in the light of the above teaching. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3585601||Aug 19, 1969||Jun 15, 1971||Kaiser Aluminium Chem Corp||Remote input management system|
|US3735348||Jun 1, 1971||May 22, 1973||Legalprint||Tape recording editing system|
|US3836768||Sep 22, 1972||Sep 17, 1974||Gen Signal Corp||Centralized traffic control system for railroads|
|US4051459||Jan 30, 1974||Sep 27, 1977||Editext Word Processing, Inc.||Stored program controlled typewriting/editing system|
|US4109238||Oct 6, 1975||Aug 22, 1978||1St Natl. Bank Of Atlanta||Apparatus for verifying checks presented for acceptance|
|US4187498||Feb 2, 1978||Feb 5, 1980||1St National Bank||Check verification system|
|US4272757||Apr 5, 1979||Jun 9, 1981||Mars, Incorporated||Vending machine accountability system|
|US4284943||Feb 13, 1979||Aug 18, 1981||Electric Machinery Mfg. Company||Apparatus and method for controlling the speed of an induction motor in a closed-loop system|
|US4369563||Oct 29, 1970||Jan 25, 1983||Molins Limited||Automated machine tool installation with storage means|
|US4686620||Jul 26, 1984||Aug 11, 1987||American Telephone And Telegraph Company, At&T Bell Laboratories||Database backup method|
|US4733354||Nov 23, 1984||Mar 22, 1988||Brian Potter||Method and apparatus for automated medical diagnosis using decision tree analysis|
|US4734789||Feb 2, 1987||Mar 29, 1988||Xerox Corporation||Editing copying machine|
|US4741047||Mar 20, 1986||Apr 26, 1988||Computer Entry Systems Corporation||Information storage, retrieval and display system|
|US4827330||Jul 20, 1987||May 2, 1989||Litton Industrial Automation Systems, Inc.||Automatic document image revision|
|US4827462||Mar 26, 1987||May 2, 1989||International Business Machines Corporation||Modular data storage directories for large-capacity data storage units|
|US4838275||Jul 20, 1987||Jun 13, 1989||Lee Arnold St J||Home medical surveillance system|
|US4853878||May 1, 1987||Aug 1, 1989||International Business Machines Corp.||Computer input by color coding|
|US4864569||Nov 25, 1987||Sep 5, 1989||Westinghouse Electric Corp.||Software verification and validation configuration management system|
|US4887129||May 2, 1988||Dec 12, 1989||Shenoy Vittal U||Editing copying machine|
|US4891503||Mar 29, 1988||Jan 2, 1990||Gascard, Inc.||Distributed authorization system|
|US4897782||Oct 19, 1987||Jan 30, 1990||International Business Machines Corporation||Local cache structure for maintaining updated file characteristics in a file sharing system|
|US4901100||Aug 18, 1988||Feb 13, 1990||Xerox Corporation||Single pass color highlighting copying system|
|US4912637 *||Apr 26, 1988||Mar 27, 1990||Tandem Computers Incorporated||Version management tool|
|US4935867||Mar 4, 1986||Jun 19, 1990||Advanced Micro Devices, Inc.||Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations|
|US5020122||Mar 10, 1989||May 28, 1991||Litton Industrial Automation Systems, Inc.||Automatic document image revision|
|US5047918||Dec 19, 1988||Sep 10, 1991||Tektronix, Inc.||File management system|
|US5119291||May 1, 1990||Jun 2, 1992||International Business Machines Corporation||Modular data storage directories for large-capacity data storage units wherein the index to the records in a sector is located in the next adjacent sector|
|US5124987||Apr 16, 1990||Jun 23, 1992||Storage Technology Corporation||Logical track write scheduling system for a parallel disk drive array data storage subsystem|
|US5133065||Jul 27, 1989||Jul 21, 1992||Personal Computer Peripherals Corporation||Backup computer program for networks|
|US5148537||May 2, 1989||Sep 15, 1992||Belsan Jay S||Method and apparatus for effecting an intra-cache data transfer|
|US5163148||Aug 11, 1989||Nov 10, 1992||Digital Equipment Corporation||File backup system for producing a backup copy of a file which may be updated during backup|
|US5165012||Oct 17, 1989||Nov 17, 1992||Comshare Incorporated||Creating reminder messages/screens, during execution and without ending current display process, for automatically signalling and recalling at a future time|
|US5210866||Sep 12, 1990||May 11, 1993||Storage Technology Corporation||Incremental disk backup system for a dynamically mapped data storage subsystem|
|US5214579||Dec 22, 1989||May 25, 1993||L & C Family Partnership||Goal-oriented investment indexing, tracking and monitoring data processing system|
|US5233513||Dec 28, 1989||Aug 3, 1993||Doyle William P||Business modeling, software engineering and prototyping method and apparatus|
|US5247660||Jul 13, 1989||Sep 21, 1993||Filetek, Inc.||Method of virtual memory storage allocation with dynamic adjustment|
|US5257377||Apr 1, 1991||Oct 26, 1993||Xerox Corporation||Process for automatically migrating a subset of updated files from the boot disk to the replicated disks|
|US5257387||Sep 5, 1989||Oct 26, 1993||Compaq Computer Corporation||Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution|
|US5261820||Dec 21, 1990||Nov 16, 1993||Dynamix, Inc.||Computer simulation playback method and simulation|
|US5263148||Jan 4, 1989||Nov 16, 1993||Compaq Computer Corporation||Method and apparatus for configuration of computer system and circuit boards|
|US5278979 *||Dec 20, 1990||Jan 11, 1994||International Business Machines Corp.||Version management system using pointers shared by a plurality of versions for indicating active lines of a version|
|US5280574||May 21, 1990||Jan 18, 1994||Hitachi, Ltd.||Text document management method adapted for generating plural text documents derived from the same original text document|
|US5299116||Oct 2, 1991||Mar 29, 1994||Baggage Services Network, Inc.||Lost baggage inventory and claim system|
|US5317732||Apr 26, 1991||May 31, 1994||Commodore Electronics Limited||System for relocating a multimedia presentation on a different platform by extracting a resource map in order to remap and relocate resources|
|US5317733||Sep 30, 1992||May 31, 1994||Cisgem Technologies, Inc.||Office automation system for data base management and forms generation|
|US5319544||Nov 20, 1989||Jun 7, 1994||Itt Corporation||Computerized inventory monitoring and verification system and method|
|US5327529||Sep 9, 1992||Jul 5, 1994||Geoworks||Process of designing user's interfaces for application programs|
|US5339392||Dec 28, 1990||Aug 16, 1994||Risberg Jeffrey S||Apparatus and method for creation of a user definable video displayed document showing changes in real time data|
|US5345581||Apr 1, 1991||Sep 6, 1994||Xerox Corporation||Process for replacing storage media in electronic printing systems|
|US5353432||Apr 23, 1991||Oct 4, 1994||Compaq Computer Corporation||Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts|
|US5375068||Jun 3, 1992||Dec 20, 1994||Digital Equipment Corporation||Video teleconferencing for networked workstations|
|US5379366||Jan 29, 1993||Jan 3, 1995||Noyes; Dallas B.||Method for representation of knowledge in a computer as a network database system|
|US5412756||Dec 22, 1992||May 2, 1995||Mitsubishi Denki Kabushiki Kaisha||Artificial intelligence software shell for plant operation simulation|
|US5425138||Dec 17, 1992||Jun 13, 1995||Casio Computer Co., Ltd.||Apparatus and method for automatically editing documents including text data and table data with ruled lines|
|US5426010||Feb 26, 1993||Jun 20, 1995||Oxford Computer, Inc.||Ultra high resolution printing method|
|US5428525||Jul 1, 1992||Jun 27, 1995||Cappelaere; Patrice G.||Computer system and method for signal control prioritizing and scheduling|
|US5428684||Sep 30, 1992||Jun 27, 1995||Fujitsu Limited||Electronic cashless transaction system|
|US5428774||Mar 16, 1993||Jun 27, 1995||International Business Machines Corporation||System of updating an index file of frame sequences so that it indexes non-overlapping motion image frame sequences|
|US5430855||Aug 31, 1994||Jul 4, 1995||Storage Technology Corporation||Disk drive array memory system using nonuniform disk drives|
|US5432932||Oct 23, 1992||Jul 11, 1995||International Business Machines Corporation||System and method for dynamically controlling remote processes from a performance monitor|
|US5440705||Apr 30, 1990||Aug 8, 1995||Advanced Micro Devices, Inc.||Address modulo adjust unit for a memory management unit for monolithic digital signal processor|
|US5444851||Jan 21, 1994||Aug 22, 1995||Johnson Service Company||Method of accessing configured nodes in a facilities management system with a non-configured device|
|US5448729||May 25, 1994||Sep 5, 1995||Cisgem Technologies, Inc.||Office system with audit history|
|US5450545||Jul 23, 1992||Sep 12, 1995||International Business Machines Corporation||Generation of rules-based computer programs using data entry screens|
|US5450750||Jul 1, 1994||Sep 19, 1995||Abler Data System||Body volume measurement chamber|
|US5455945||May 19, 1993||Oct 3, 1995||Vanderdrift; Richard||System and method for dynamically displaying entering, and updating data from a database|
|US5463735||Feb 3, 1994||Oct 31, 1995||Johnson Service Company||Method of downloading information stored in an arching device to destination network controller through intermediate network controllers in accordance with routing information|
|US5475421||Jul 16, 1992||Dec 12, 1995||Digital Equipment Corporation||Video data scaling for video teleconferencing workstations communicating by digital data network|
|US5499365 *||Aug 4, 1993||Mar 12, 1996||International Business Machines Corporation||System and method for controlling versions of objects in an object oriented computing environment|
|US5581764||May 2, 1994||Dec 3, 1996||Novadigm, Inc.||Distributed computer network including hierarchical resource information structure and related method of distributing resources|
|US5623661 *||Nov 29, 1995||Apr 22, 1997||International Business Machines Corp.||System for and method of providing delta-versioning of the contents of PCTE file objects|
|US5634052 *||Oct 24, 1994||May 27, 1997||International Business Machines Corporation||System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server|
|US5729743 *||Nov 30, 1995||Mar 17, 1998||Deltatech Research, Inc.||Computer apparatus and method for merging system deltas|
|US5781912 *||Dec 19, 1996||Jul 14, 1998||Oracle Corporation||Recoverable data replication between source site and destination site without distributed transactions|
|US5806078 *||Jun 9, 1994||Sep 8, 1998||Softool Corporation||Version management system|
|US5864849 *||Dec 16, 1996||Jan 26, 1999||Lucent Technologies Inc.||System and method for restoring a multiple checkpointed database in view of loss of volatile memory|
|US5897642 *||Jul 14, 1997||Apr 27, 1999||Microsoft Corporation||Method and system for integrating an object-based application with a version control system|
|US5983241 *||Jul 18, 1996||Nov 9, 1999||Fuji Xerox Co., Ltd.||File management system and file management method|
|1||Additional Information for the RCE Revision Control Engine Release 1.5.0, Jul. 28, 1995 originally News.txt file included with software from XCC Software, Karlsruche, Germany.|
|2||RCE BDE, document downloaded on Aug. 14, 1998 from DuraSoft GmbH Internet RCE home page at http://wwwipd.ira.uka.de/~RCE/.|
|3||RCE BDE, document downloaded on Aug. 14, 1998 from DuraSoft GmbH Internet RCE home page at http://wwwipd.ira.uka.de/˜RCE/.|
|4||RCE-The Revision Control Engine-The Successor of RCS, Jul. 1995 originally Readme.txt file included with software from SCC Software, Karlsruche, Germany.|
|5||RCE—The Revision Control Engine—The Successor of RCS, Jul. 1995 originally Readme.txt file included with software from SCC Software, Karlsruche, Germany.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US6795834 *||Dec 27, 2000||Sep 21, 2004||Fujitsu Limited||Apparatus, method, and storage medium for file management|
|US6804784 *||Sep 29, 2000||Oct 12, 2004||Infraworks Corporation||Back-channeling in a memory vault system|
|US6847982 *||Jan 25, 2002||Jan 25, 2005||Computer Associates Think, Inc.||Intelligent data inventory and asset management system method and apparatus|
|US6978281 *||Nov 21, 2000||Dec 20, 2005||Microsoft Corporation||Versioned project data|
|US7058667 *||Dec 27, 2000||Jun 6, 2006||Microsoft Corporation||Method and system for creating and maintaining version-specific properties in a file|
|US7076496 *||Sep 27, 2001||Jul 11, 2006||3Com Corporation||Method and system for server based software product release version tracking|
|US7149734||Mar 26, 2002||Dec 12, 2006||Logic Library, Inc.||Managing reusable software assets|
|US7200613 *||Nov 4, 2002||Apr 3, 2007||Xerox Corporation||Asset management system for network-based and non-network-based assets and information|
|US7200805||Mar 19, 2002||Apr 3, 2007||Logiclibrary, Inc.||Dynamic generation of schema information for data description languages|
|US7234077||Jun 24, 2003||Jun 19, 2007||International Business Machines Corporation||Rapid restoration of file system usage in very large file systems|
|US7246254||Jul 16, 2003||Jul 17, 2007||International Business Machines Corporation||System and method for automatically and dynamically optimizing application data resources to meet business objectives|
|US7320009||Mar 28, 2003||Jan 15, 2008||Novell, Inc.||Methods and systems for file replication utilizing differences between versions of files|
|US7322024||Mar 18, 2002||Jan 22, 2008||Logiclibrary, Inc.||Generating reusable software assets from distributed artifacts|
|US7328322||Jan 25, 2006||Feb 5, 2008||Bea Systems, Inc.||System and method for optimistic caching|
|US7380155||Feb 12, 2007||May 27, 2008||Bea Systems, Inc.||System for highly available transaction recovery for transaction processing systems|
|US7392317||Mar 7, 2007||Jun 24, 2008||Bea Systems, Inc.||Systems and methods for migratable services|
|US7403996||Feb 13, 2003||Jul 22, 2008||Bea Systems, Inc.||Systems and methods for migratable services|
|US7406618||Jan 4, 2006||Jul 29, 2008||Bea Systems, Inc.||Apparatus for highly available transaction recovery for transaction processing systems|
|US7409420||Oct 31, 2001||Aug 5, 2008||Bea Systems, Inc.||Method and apparatus for session replication and failover|
|US7444333||Jan 25, 2006||Oct 28, 2008||Bea Systems, Inc.||Cluster caching with concurrency checking|
|US7467166||Apr 6, 2007||Dec 16, 2008||Bea Systems, Inc.||System and method for heterogeneous caching|
|US7546353||Nov 13, 2004||Jun 9, 2009||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US7571215 *||Oct 11, 2001||Aug 4, 2009||Bea Systems, Inc.||Data replication protocol|
|US7577828||Jan 14, 2005||Aug 18, 2009||Dell Products L.P.||System and method for information handling system manufacture with verified hardware configuration|
|US7587467||Nov 13, 2004||Sep 8, 2009||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US7600036||Jun 2, 2005||Oct 6, 2009||Western Digital Technologies, Inc.||Access and control system for network-enabled devices|
|US7620842||Jul 28, 2006||Nov 17, 2009||Bea Systems, Inc.||Method for highly available transaction recovery for transaction processing systems|
|US7627902 *||Feb 20, 2003||Dec 1, 2009||Dell Marketing Usa, L.P.||Method of managing a software item on a managed computer system|
|US7631184 *||May 14, 2002||Dec 8, 2009||Nicholas Ryan||System and method for imposing security on copies of secured items|
|US7673323 *||Dec 13, 2001||Mar 2, 2010||Bea Systems, Inc.||System and method for maintaining security in a distributed computer network|
|US7702791||Oct 31, 2001||Apr 20, 2010||Bea Systems, Inc.||Hardware load-balancing apparatus for session replication|
|US7788404||Aug 31, 2010||Western Digital Technologies, Inc.||Access and control system for network-enabled devices|
|US7836067||Jun 22, 2009||Nov 16, 2010||Mirror Imaging, LLC||Method of obtaining electronically-stored financial documents|
|US7849054||Jun 6, 2006||Dec 7, 2010||Microsoft Corporation||Method and system for creating and maintaining version-specific properties in a file|
|US7895153||Feb 22, 2011||Oracle International Corporation||System and method for performing commutative operations in data access systems|
|US7895563||Oct 12, 2006||Feb 22, 2011||Logic Library, Inc.||Managing reusable software assets|
|US7917628||Nov 13, 2004||Mar 29, 2011||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US7921169||Aug 4, 2008||Apr 5, 2011||Oracle International Corporation||System and method for exactly once message store communication|
|US7934251||Nov 13, 2004||Apr 26, 2011||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US8065740 *||Nov 22, 2011||Dell Marketing Usa, L.P.||Managing a software item on a managed computer system|
|US8095509 *||Jan 10, 2012||Novell, Inc.||Techniques for retaining security restrictions with file versioning|
|US8117157 *||Oct 23, 2006||Feb 14, 2012||Sap Ag||External evaluation processes|
|US8176014||Apr 6, 2007||May 8, 2012||Oracle International Corporation||System and method for providing a cache that stores entity beans and employs data invalidation|
|US8306954||Nov 22, 2010||Nov 6, 2012||Oracle International Corporation||Methods and systems for file replication utilizing differences between versions of files|
|US8341132 *||Oct 1, 2008||Dec 25, 2012||Ca, Inc.||System and method for applying deltas in a version control system|
|US8341275||Dec 25, 2012||Western Digital Technologies, Inc.||Access and control system for network-enabled devices|
|US8352567||Mar 5, 2004||Jan 8, 2013||Western Digital Technologies, Inc.||VCR webification|
|US8370953||Feb 5, 2013||Dell Marketing Usa, L.P.||Method of managing a software item on a managed computer system|
|US8412813||May 17, 2006||Apr 2, 2013||Logiclibrary, Inc.||Customizable asset governance for a distributed reusable software library|
|US8539445||Aug 18, 2008||Sep 17, 2013||International Business Machines Corporation||Method for generating a robust software signature|
|US8661507||Mar 29, 2011||Feb 25, 2014||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US8688797||Nov 13, 2004||Apr 1, 2014||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US8768885||Sep 12, 2012||Jul 1, 2014||Adobe Systems Incorporated||Shared edit access of electronic content|
|US8843448 *||Dec 11, 2012||Sep 23, 2014||Emc Corporation||Method and system for renamed directory handling for incremental file migration|
|US8849869||Mar 11, 2013||Sep 30, 2014||Adobe Systems Incorporated||System and method for editing an item list in electronic content|
|US8856202 *||Aug 20, 2009||Oct 7, 2014||Intellectual Ventures Ii Llc||Flexible remote data mirroring|
|US8959582 *||Jul 2, 2012||Feb 17, 2015||Pkware, Inc.||System and method for manipulating and managing computer archive files|
|US8996621||May 12, 2008||Mar 31, 2015||Adobe Systems Incorporated||Asynchronous comment updates|
|US9071574||Nov 14, 2012||Jun 30, 2015||Western Digital Technologies, Inc.||Access and control system for network-enabled devices|
|US9098721||Jun 5, 2012||Aug 4, 2015||Pkware, Inc.||Method for strongly encrypting .ZIP files|
|US9141612||Mar 15, 2013||Sep 22, 2015||Mirrior Imaging, LLC||Method of obtaining an electronically-stored financial document|
|US9146976 *||May 21, 2013||Sep 29, 2015||Baker Hughes Incorporated||Synchronization and reconciliation through identification|
|US9176943||May 12, 2008||Nov 3, 2015||Adobe Systems Incorporated||Comment presentation in electronic documents|
|US9191443 *||Nov 13, 2004||Nov 17, 2015||Western Digital Technologies, Inc.||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US9235386||Jan 18, 2008||Jan 12, 2016||Akana, Inc.||Generating reusable software assets from distributed artifacts|
|US20020073106 *||Jan 25, 2002||Jun 13, 2002||Computer Associates Think, Inc. A Dela Corporation||Intelligent data inventory and asset management system method and apparatus|
|US20020116406 *||Dec 27, 2000||Aug 22, 2002||Microsoft Corporation,||Method and system for creating and maintaining version-specific properties in a file|
|US20030014480 *||Oct 31, 2001||Jan 16, 2003||Sam Pullara||Method and apparatus for session replication and failover|
|US20030014526 *||Oct 31, 2001||Jan 16, 2003||Sam Pullara||Hardware load-balancing apparatus for session replication|
|US20030018732 *||Oct 11, 2001||Jan 23, 2003||Jacobs Dean Bernard||Data replication protocol|
|US20030023898 *||Oct 11, 2001||Jan 30, 2003||Jacobs Dean Bernard||Layered architecture for data replication|
|US20030046230 *||Aug 2, 2002||Mar 6, 2003||Jacobs Dean Bernard||Method for maintaining account consistency|
|US20030046282 *||Mar 26, 2002||Mar 6, 2003||Carlson Brent A.||Managing reusable software assets|
|US20030093521 *||Nov 4, 2002||May 15, 2003||Xerox Corporation.||Asset management system for network-based and non-network-based assets and information|
|US20030105912 *||Nov 30, 2001||Jun 5, 2003||Noren Gregory T.||Space efficient backup technique in a storage system|
|US20030163364 *||Feb 28, 2002||Aug 28, 2003||Piercy Lee W.||Net delta change in inventory management|
|US20030163761 *||Feb 20, 2003||Aug 28, 2003||Michael Chen||System and method for message driven bean service migration|
|US20030182470 *||Mar 18, 2002||Sep 25, 2003||Carlson Brent A.||Generating reusable software assets from distributed artifacts|
|US20030217281 *||May 14, 2002||Nov 20, 2003||Secretseal Inc.||System and method for imposing security on copies of secured items|
|US20030225650 *||May 9, 2002||Dec 4, 2003||Doug Wilson||Web based system and method for asset management|
|US20040172449 *||Mar 5, 2004||Sep 2, 2004||Lambertus Hesselink||VCR webification|
|US20040205573 *||Mar 19, 2002||Oct 14, 2004||Carlson Brent A.||Dynamic generation of schema information for data description languages|
|US20040267714 *||Jun 27, 2003||Dec 30, 2004||Yuri Frid||Method and system for computerized creating, maintaining, updating, and querying inventory database over the internet for the locations and the obiects with time-dependent and time-independent attributes|
|US20050010652 *||Aug 5, 2004||Jan 13, 2005||Ideogram Design S.A.R.L.||Process and device for selective download of data based on index file transmitted from a central server|
|US20050015641 *||Jul 16, 2003||Jan 20, 2005||International Business Machines Corporation||System and method for automatically and dynamically optimizing application data resources to meet business objectives|
|US20050081063 *||Oct 8, 2004||Apr 14, 2005||Bea Systems, Inc.||Delegated administration for a distributed security system|
|US20050114711 *||Nov 13, 2004||May 26, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050120082 *||Nov 13, 2004||Jun 2, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050138186 *||Nov 13, 2004||Jun 23, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050144186 *||Nov 13, 2004||Jun 30, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050144195 *||Nov 13, 2004||Jun 30, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050144200 *||Nov 13, 2004||Jun 30, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050149481 *||Nov 13, 2004||Jul 7, 2005||Lambertus Hesselink||Managed peer-to-peer applications, systems and methods for distributed data access and storage|
|US20050171737 *||Apr 7, 2005||Aug 4, 2005||Hartley Bruce V.||Method and apparatus for assessing the security of a computer system|
|US20050192993 *||Feb 7, 2005||Sep 1, 2005||Bea Systems, Inc.||System and method for performing commutative operations in data access systems|
|US20050203758 *||Mar 12, 2004||Sep 15, 2005||Wilfried Blum||Method for remote evaluation and management of vehicular parts|
|US20050257245 *||Oct 8, 2004||Nov 17, 2005||Bea Systems, Inc.||Distributed security system with dynamic roles|
|US20050268334 *||Jun 2, 2005||Dec 1, 2005||Lambertus Hesselink||Access and control system for network-enabled devices|
|US20050278395 *||May 28, 2004||Dec 15, 2005||Lucent Technologies, Inc.||Remotely identifying software on remote network nodes by discovering attributes of software files and comparing software file attributes to a unique signature from an audit table|
|US20060004959 *||Jul 11, 2005||Jan 5, 2006||Bea Systems, Inc.||System and method for heterogeneous caching|
|US20060047810 *||Sep 2, 2004||Mar 2, 2006||Kyle Herzog||Asset management system and method|
|US20060123066 *||Jan 25, 2006||Jun 8, 2006||Bea Systems, Inc.||Cluster caching with concurrency checking|
|US20060123199 *||Jan 25, 2006||Jun 8, 2006||Bea Systems, Inc.||System and method for optimistic caching|
|US20060129872 *||Jan 4, 2006||Jun 15, 2006||Fung Priscilla C||Apparatus for highly available transaction recovery for transaction processing systems|
|US20060184387 *||Feb 11, 2005||Aug 17, 2006||Guard Insurance Group||Insurance policy renewal chain|
|US20060195208 *||Jan 14, 2005||Aug 31, 2006||Curtis Sammer||System and method for information handling system manufacture with verified hardware configuration|
|US20060265688 *||May 17, 2006||Nov 23, 2006||Logiclibrary, Inc.||Customizable asset governance for a distributed reusable software library|
|US20060271814 *||Jul 28, 2006||Nov 30, 2006||Bea Systems, Inc.||Method for highly available transaction recovery for transaction processing systems|
|US20060277314 *||Aug 16, 2006||Dec 7, 2006||Lambertus Hesselink||Access and control system for network-enabled devices|
|US20070033567 *||Oct 12, 2006||Feb 8, 2007||Logiclibrary, Inc.||Managing reusable software assets|
|US20070038686 *||Oct 23, 2006||Feb 15, 2007||Sap Ag, A Walldorf, Germany Corporation||External evaluation processes|
|US20070101256 *||Nov 1, 2005||May 3, 2007||Charles Simonyi||Perfect source control|
|US20070136393 *||Feb 12, 2007||Jun 14, 2007||Bea Systems, Inc.||System for Highly Available Transaction Recovery for Transaction Processing Systems|
|US20070147306 *||Mar 7, 2007||Jun 28, 2007||Bea Systems, Inc.||Systems and methods for migratable services|
|US20070192320 *||Apr 6, 2007||Aug 16, 2007||Bea Systems, Inc.||System and Method for Flushing Bean Cache|
|US20070192334 *||Apr 6, 2007||Aug 16, 2007||Bea Systems, Inc.||System and Method for Heterogeneous Caching|
|US20080091683 *||Dec 7, 2007||Apr 17, 2008||Bea Systems, Inc.||System and method for performing commutative operations in data access systems|
|US20080097997 *||Dec 12, 2007||Apr 24, 2008||Bea Systems, Inc.||System and method for optimistic caching|
|US20080133558 *||Jan 18, 2008||Jun 5, 2008||Logiclibrary, Inc.||Generating reusable software assets from distributed artifacts|
|US20080312272 *||May 12, 2008||Dec 18, 2008||Mark David Soll||Aryloazol-2-yl cyanoethylamino compounds, method of making and method of using thereof|
|US20080313293 *||Aug 4, 2008||Dec 18, 2008||Bea Systems, Inc.||System and method for exactly once message store communication|
|US20090043774 *||Feb 5, 2008||Feb 12, 2009||Gosukonda Naga Sudhakar||Techniques for retaining security restrictions with file versioning|
|US20090248636 *||Aug 18, 2008||Oct 1, 2009||International Business Machines Corporation||Method for generating a robust software signature|
|US20090259668 *||Jun 22, 2009||Oct 15, 2009||Schulze Michael D||Method of obtaining electronically-stored financial documents|
|US20090313389 *||Aug 20, 2009||Dec 17, 2009||Miralink Corporation||Flexible remote data mirroring|
|US20100034787 *||Feb 11, 2010||Histogen, Inc.||Composition and methods for promoting hair growth|
|US20100037316 *||Oct 15, 2009||Feb 11, 2010||Dell Marketing Usa, L.P.||Managing a software item on a managed computer system|
|US20100082580 *||Oct 1, 2008||Apr 1, 2010||Defrang Bruce||System and method for applying deltas in a version control system|
|US20100185469 *||Jul 22, 2010||Guard Insurance Group||Insurance Policy Renewal Chain|
|US20100306730 *||May 17, 2006||Dec 2, 2010||Logiclibrary, Inc.||Customizable asset governance for a distributed reusable software library|
|US20120143926 *||Feb 9, 2012||Jun 7, 2012||Wolfgang Kalthoff||External evaluation processes|
|US20130024700 *||Jul 2, 2012||Jan 24, 2013||Peterson James C||System and method for manipulating and managing computer archive files|
|US20140006796 *||Jun 29, 2012||Jan 2, 2014||Christopher T. Smith||System and method for identifying software changes|
|US20140032502 *||May 12, 2008||Jan 30, 2014||Adobe Systems Incorporated||History-based archive management|
|US20140095715 *||Dec 3, 2013||Apr 3, 2014||Sony Corporation||Communication network system, gateway, data communication method and program providing medium|
|US20140351213 *||May 21, 2013||Nov 27, 2014||Baker Hughes Incorporated||Synchronization and reconciliation through identification|
|CN101405696B||Feb 1, 2007||Mar 21, 2012||国际商业机器公司||A method and system for generating a robust software signature|
|WO2003005243A1 *||Jun 28, 2002||Jan 16, 2003||Logiclibrary Inc||Managing reusable software assets|
|WO2007122021A1 *||Feb 1, 2007||Nov 1, 2007||Ibm||A method for generating a robust software signature|
|U.S. Classification||1/1, 707/999.203, 707/999.006, 707/999.202, 707/999.101|
|International Classification||G06Q30/06, G06Q10/08, G06F21/00|
|Cooperative Classification||Y10S707/99942, Y10S707/99936, Y10S707/99954, Y10S707/99953, G06F21/565, G06Q30/06, G06Q10/087|
|European Classification||G06Q30/06, G06Q10/087, G06F21/56B6|
|Apr 16, 2001||AS||Assignment|
|Jan 28, 2002||AS||Assignment|
|Nov 15, 2004||AS||Assignment|
|Oct 3, 2005||FPAY||Fee payment|
Year of fee payment: 4
|Sep 2, 2009||FPAY||Fee payment|
Year of fee payment: 8
|Sep 4, 2013||FPAY||Fee payment|
Year of fee payment: 12