IP Library Granted Patent US 9,575,987
Granted Patent B2
US 9,575,987 · App. 14/567,355 · Granted Feb 21, 2017

System and method for providing assured database updates via a one-way data link

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,575,987
App. No.
14/567,355
Granted
Feb 21, 2017
Kind
B2
Abstract

A system for assuredly copying information from a reference database to a remote database. A send server is coupled to a first network. A receive server is coupled to a second network. A one-way data link provides unidirectional transfer of information from the send server to the receive server. A monitor application iteratively forwards update files including sequence information to the send server. An update application receives each update file and updates the remote database based therein. The update files are also sequentially stored in the send server in groups and each group is sent to the receive server and stored in memory. If an update file is not received in proper sequential order, the receive server stops sending update files in the current group and instead reads the missing update file and subsequent update files in the current group from memory and forwards such files to the update application.

Claims (74)

1. A system for assuredly copying information from a reference database to a remote database, the reference database having an associated log file including sequential entries for each change made to the reference database, comprising:

a send server coupled to a first network;

a receive server coupled to a second network;

a one-way data link for unidirectional transfer of information from the send server to the receive server;

a monitor application for reading the log file at predetermined intervals, for generating a set of database update information including each new entry in the log file, for providing the new set of database update information with sequence information, and for sequentially forwarding each set of database update information to the send server; and

an update application for receiving each set of database update information and for updating the remote database based on entries included in each received set of database update information;

wherein the send server is configured to forward each received set of database update information to the receive server via the one-way data link and to store each set of database update information in a memory in the send server;

wherein the send server is also configured to, after receipt of all sets of database update information in a current group, to compress all of the stored sets of database update information into a single compressed file and to forward the single compressed file to the receive server;

wherein the receive server is configured to receive each set of database update information from the send server via the one-way data link, to extract sequence information from a current set of database update information and to compare the extracted sequence information with sequence information for an immediately previously received set of database update information to determine if the current set of database update information was received in proper sequential order;

wherein the receive server is also configured to forward the current set of database update information to the update application if the current set of database update information was determined to be received in proper sequential order;

wherein the receive server is also configured to receive the single compressed file from the send server via the one-way data link, to decompress the single compressed file and to store all of the decompressed sets of database update information from the single compressed file in a memory in the receive server; and

wherein the receive server is also configured to, if the current set of database update information was determined not to be received in proper sequential order, to discard each subsequent set of database update information in the current group, to identify an initial set of database update information in the memory in the receive server that corresponds to a next sequential set of database update information to the previously received set of database update information, and to read and forward the identified initial set of database update information and each subsequent sequential set of database update information in the memory in the receive server to the update application.

2. The system of claim 1 , wherein the monitor application and reference database are within a server coupled to the first network and the monitor application is configured to forward each set of database update information to the send server via the first network.

3. The system of claim 1 , wherein the update application and remote database are within a server coupled to the second network and the receive server is configured to forward each set of database update information to the update application via the second network.

4. The system of claim 1 , wherein each set of database update information comprises a database update file.

5. The system of claim 4 , wherein the sequence information is stored as part of a filename for each database update file.

6. The system of claim 4 , wherein the sequence information is stored within each database update file.

7. The system of claim 1 , wherein each set of database update information comprises a set of packets of information.

8. A system for assuredly copying information from a reference database to a remote database, the reference database having an associated log file including sequential entries for each change made to the reference database, comprising:

a send server coupled to a first network;

a receive server coupled to a second network;

a one-way data link for unidirectional transfer of information from the send server to the receive server; and

an update application for receiving each set of database update information and for updating the remote database based on entries included in each received set of database update information;

wherein the reference database is within the send server,

wherein the send server is configured to read the log file at predetermined intervals, to generate a set of database update information including each new entry in the log file, to provide the new set of database update information with sequence information, to forward each set of database update information to the receive server via the one-way data link and to store each set of database update information in a memory in the send server;

wherein the send server is also configured to, after processing of all sets of database update information in a current group, to compress all of the stored sets of database update information into a single compressed file and to forward to the single compressed file to the receive server;

wherein the receive server is configured to receive each set of database update information from the send server via the one-way data link, to extract sequence information from a current set of database update information and to compare the extracted sequence information with sequence information for an immediately previously received set of database update information to determine if the current set of database update information was received in proper sequential order;

wherein the receive server is also configured to forward the current set of database update information to the update application if the current set of database update information was determined to be received in proper sequential order;

wherein the receive server is also configured to receive the single compressed file from the send server via the one-way data link, to decompress the single compressed file and to store all of the decompressed sets of database update information from the single compressed file in a memory in the receive server; and

wherein the receive server is also configured to, if the current set of database update information was determined not to be received in proper sequential order, to discard each subsequent set of database update information in the current group, to identify an initial set of database update information in the memory in the receive server that corresponds to a next sequential set of database update information to the previously received set of database update information, and to read and forward the identified initial set of database update information and each subsequent sequential set of database update information in the memory in the receive server to the update application.

9. The system of claim 8 , wherein each set of database update information comprises a database update file.

10. The system of claim 9 , wherein the sequence information is stored as part of a filename for each database update file.

11. The system of claim 9 , wherein the sequence information is stored within each database update file.

12. The system of claim 8 , wherein each set of database update information comprises a set of packets of information.

13. A system for assuredly copying information from a reference database to a remote database, the reference database having an associated log file including sequential entries for each change made to the reference database, comprising:

a send server coupled to a first network;

a receive server coupled to a second network;

a one-way data link for unidirectional transfer of information from the send server to the receive server; and

a monitor application for reading the log file at predetermined intervals, for generating a set of database update information including each new entry in the log file, for providing the new set of database update information with sequence information, and for sequentially forwarding each set of database update information to the send server via the first network;

wherein the send server is configured to forward each received set of database update information to the receive server via the one-way data link and to store each set of database update information in a memory in the send server;

wherein the send server is also configured to, after receipt of all sets of database update information in a current group, to compress all of the stored sets of database update information into a single compressed file and to forward to the single compressed file to the receive server;

wherein the remote database is within the receive server;

wherein the receive server is configured to receive each set of database update information from the send server via the one-way data link, to extract sequence information from a current set of database update information and to compare the extracted sequence information with sequence information for an immediately previously received set of database update information to determine if the current set of database update information was received in proper sequential order;

wherein the receive server is also configured to update the remote database file based on entries included in the current set of database update information if the current set of database update information was determined to be received in proper sequential order;

wherein the receive server is also configured to receive the single compressed file from the send server via the one-way data link, to decompress the single compressed file and to store all of the decompressed sets of database update information from the single compressed file in a memory in the receive server; and

wherein the receive server is also configured to, if the current set of database update information was determined not to be received in proper sequential order, to discard each subsequent set of database update information in the current group, to identify an initial set of database update information in the memory in the receive server that corresponds to a next sequential set of database update information to the previously received set of database update information, and to update the remote database based on entries included in the identified initial set of database update information and each subsequent sequential set of database update information in the memory in the receive server.

14. The system of claim 13 , wherein each set of database update information comprises a database update file.

15. The system of claim 14 , wherein the sequence information is stored as part of a filename for each database update file.

16. The system of claim 14 , wherein the sequence information is stored within each database update file.

17. The system of claim 13 , wherein each set of database update information comprises a set of packets of information.

18. A system for assuredly copying information from a reference database to a remote database, the reference database having an associated log file including sequential entries for each change made to the reference database, comprising:

a send server coupled to a first network;

a receive server coupled to a second network; and

a one-way data link for unidirectional transfer of information from the send server to the receive server;

wherein the reference database is within the send server,

wherein the send server is configured to read the log file at predetermined intervals, to generate a set of database update information including each new entry in the log file, to provide the new set of database update information with sequence information, to forward each set of database update information to the receive server via the one-way data link and to store each set of database update information in a memory in the send server;

wherein the send server is also configured to, after processing of all sets of database update information in a current group, to compress all of the stored sets of database update information into a single compressed file and to forward to the single compressed file to the receive server;

wherein the remote database is within the receive server;

wherein the receive server is configured to receive each set of database update information from the send server via the one-way data link, to extract sequence information from a current set of database update information and to compare the extracted sequence information with sequence information for an immediately previously received set of database update information to determine if the current set of database update information was received in proper sequential order;

wherein the receive server is also configured to update the remote database file based on entries included in the current set of database update information if the current set of database update information was determined to be received in proper sequential order;

wherein the receive server is also configured to receive the single compressed file from the send server via the one-way data link, to decompress the single compressed file and to store all of the decompressed sets of database update information from the single compressed file in a memory in the receive server; and

wherein the receive server is also configured to, if the current set of database update information was determined not to be received in proper sequential order, to discard each subsequent set of database update information in the current group, to identify an initial set of database update information in the memory in the receive server that corresponds to a next sequential set of database update information to the previously received set of database update information, and to update the remote database based on entries included in the identified initial set of database update information and each subsequent sequential set of database update information in the memory in the receive server.

19. The system of claim 18 , wherein each set of database update information comprises a database update file.

20. The system of claim 19 , wherein the sequence information is stored as part of a filename for each database update file.

21. The system of claim 19 , wherein the sequence information is stored within each database update file.

22. The system of claim 18 , wherein each set of database update information comprises a set of packets of information.

23. A method for assuredly copying information from a reference database to a remote database, the reference database having an associated log file including sequential entries for each change made to the reference database, comprising the steps of:

reading the log file at predetermined intervals, generating a set of database update information including each new entry in the log file, and providing the new set of database update information with sequence information;

forwarding, in a send server, each set of database update information to a receive server via a one-way data link and storing each set of database update information in a memory in the send server;

after receipt of all sets of database update information in a current group in the send server, compressing all of the stored sets of database update information into a single compressed file and forwarding the single compressed file to the receive server;

receiving, in the receive server, each set of database update information from the send server via the one-way data link, extracting sequence information from a current set of database update information and comparing the extracted sequence information with sequence information for an immediately previously received set of database update information to determine if the current set of database update information was received in proper sequential order;

if the current set of database update information was determined to be received in proper sequential order, updating the remote database based on entries included in the current set of database update information;

receiving, at the receive server, the single compressed file from the send server via the one-way data link, decompressing the single compressed file and storing all of the decompressed sets of database update information from the single compressed file in a memory in the receive server; and

if the current set of database update information was determined not to be received in proper sequential order, discarding each subsequent set of database update information in the current group, identifying an initial set of database update information in the memory in the receive server that corresponds to a next sequential set of database update information to the previously received set of database update information, and updating the remote database based on entries included in the identified initial set of database update information and each subsequent sequential set of database update information in the memory in the receive server.

Assignments (9)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 049838, FRAME 0202 Recorded Sep 12, 2024
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: OWL CYBER DEFENSE SOLUTIONS, LLC
Reel/Frame 068946/0686 →
SECURITY INTEREST Recorded Sep 11, 2024
From: OWL CYBER DEFENSE SOLUTIONS, LLC
To: RGA REINSURANCE COMPANY
Reel/Frame 068938/0313 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 041136, FRAME 0223 Recorded Sep 11, 2024
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: OWL CYBER DEFENSE SOLUTIONS, LLC
Reel/Frame 068945/0922 →
MERGER AND CHANGE OF NAME Recorded Sep 2, 2022
From: OWL CYBER DEFENSE SOLUTIONS, LLC; TRESYS TECHNOLOGY, LLC
To: OWL CYBER DEFENSE SOLUTIONS, LLC
Reel/Frame 060978/0964 →
SECURITY INTEREST Recorded Jul 23, 2019
From: OWL CYBER DEFENSE SOLUTIONS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 049838/0202 →
CHANGE OF NAME Recorded Jun 20, 2017
From: OWL COMPUTING TECHNOLOGIES, LLC
To: OWL CYBER DEFENSE SOLUTIONS, LLC
Reel/Frame 042902/0582 →
CORRECTIVE ASSIGNMENT TO CORRECT TO REMOVE THIS DOCUMENT SERVES AS AN OATH/DECLARATION (37 CFR 1.63) FROM THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 041765 FRAME: 0034. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER EFFECTIVE DATE 02/03/2017. Recorded Apr 21, 2017
From: OWL COMPUTING TECHNOLOGIES, INC.
To: OWL COMPUTING TECHNOLOGIES, LLC
Reel/Frame 042344/0033 →
MERGER Recorded Mar 28, 2017
From: OWL COMPUTING TECHNOLOGIES, INC.
To: OWL COMPUTING TECHNOLOGIES, LLC
Reel/Frame 041765/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2014
From: MRAZ, RONALD; ZUCKER, ROBERT M.
To: OWL COMPUTING TECHNOLOGIES, INC.
Reel/Frame 034480/0705 →