IP Library Granted Patent US 11,176,163
Granted Patent B2
US 11,176,163 · App. 15/715,926 · Granted Nov 16, 2021

System and method for transferring and synchronizing student information system (SIS) data

Inventors: Tuan Nguyen Thanh Pham (Portland, OR); Jeffery Scott Sanders (Portland, OR); Herts Chen (Portland, OR); Mikhail Anatolevich Krughkov (Gresham, OR); Devin Christopher Sills (Portland, OR)
Assignee: COLLEGENET, INC.
G06F16/27G06F16/2282G06F16/2379H04L67/1095H04L67/02
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 11,176,163
App. No.
15/715,926
Granted
Nov 16, 2021
Kind
B2
Abstract

Embodiments of the present invention are directed to a two-way data transfer and synchronization system. The data transfer and synchronization system includes a provider system and a customer system. The provider system includes a web service hosted by a web server connected to a computer network and a first database. The customer system includes a client application, connected to the computer network and a second database (e.g., SIS database). The provider system cannot read data from the second database. The client application is configured to send requests to the web service and to receive HTTP responses from the web service. The responses from the web service are executed by the client application so that changes made to the second database are also made to the first database, and vice versa.

Claims (62)

1. A data transfer and synchronization system in which a customer maintains a second database and a provider uses data from the second database to provide services to users for the customer, the system comprising:

a provider system, comprising:

a web service hosted by a web server connected to a computer network, the web service providing services to users for the customer; and

a first database comprising a software-as-a-service (SaaS) database; and

a customer system, comprising:

a client application that is:

locally installed on the customer system;

trusted by the customer system to perform on the second database data accessing and manipulation functions that are not allowed to be performed directly from the provider system through the computer network;

connected to the computer network and

configured to send HTTP requests to the web service and to receive HTTP responses from the web service so that changes made to the second database are also made to the first database and changes made to the first database are also made to the second database; and

the second database,

wherein configured to send HTTP requests via the client application to the web service and to receive HTTP responses from the web service so that changes made to the second database are also made to the first database and changes made to the first database are also made to the second database; and

; and

wherein the provider system cannot initiate data processing requests to the customer system to access data from the second database.

2. The data transfer and synchronization system of claim 1 , in which the web service includes a user interface and further comprising a user browser configured to send an HTTP request to the user interface and to receive an HTTP response from the user interface, wherein the HTTP request from the user browser to the user interface comprises a data management or data accessing task to be performed on the data stored in the second database in the customer system.

3. The data transfer and synchronization system of claim 2 , wherein the HTTP response from the user interface to the user browser comprises a result of the execution of the data management or data accessing task.

4. The data transfer and synchronization system of claim 2 , wherein the data management or data accessing task to be performed on the data stored in the second database in the customer system is transmitted from the user interface to the web service.

5. The data transfer and synchronization system of claim 1 , wherein the HTTP request from the client application to the web service comprises a request to determine whether any users have posted actions to be executed by the customer system on the second database.

6. The data transfer system and synchronization of claim 5 , wherein the HTTP response from the web service to the client application comprises an indication of whether any users have posted actions to be executed by the customer system on the second database.

7. The data transfer and synchronization system of claim 6 , wherein in the event that any users have posted an action to be executed by the customer system on the second database, the HTTP response from the web service to the client application further comprises work instructions for performing the posted action.

8. The data transfer and synchronization system of claim 7 , wherein the posted action comprises reading data from the second database.

9. The data transfer and synchronization system of claim 8 , wherein after the client application has executed the posted action, a result of the posted action is transmitted to the web service by means of an HTTP request.

10. The data transfer and synchronization system of claim 9 , wherein the result of the posted action is transmitted from the web service to the user interface.

11. The data transfer and synchronization system of claim 10 , wherein the result of the posted actions is transmitted from the user interface to the user browser by means of an HTTP response.

12. The data transfer and synchronization system of claim 1 , wherein the provider system further comprises:

a mirror database containing mirror tables;

wherein the customer system further comprises:

one or more mirror tables of the tables in the second database; and

one or more triggers on the tables in the second database.

13. The data transfer and synchronization system of claim 12 ,

wherein the client application watches for changes to the data stored in the second database; and

wherein changes to the data in the second database are captured via triggers and stored in the mirror tables in the second database.

14. The data transfer and synchronization system of claim 13 , wherein if the client detects a change to the data stored in the second database, then an HTTP request is sent to the web service conveying information that a change to the data has occurred, and a type of the change that has occurred to the data.

15. The data transfer and synchronization system of claim 14 , wherein the types of change to the data comprise additions of data, deletions of data, or updates to the data.

16. The data transfer and synchronization system of claim 14 , wherein the changes to the data stored in the second database which were sent to the web service are saved in the mirror database.

17. The data transfer and synchronization system of claim 16 , wherein a portion of the relevant changes to the data are used to modify the data stored in the first database.

18. A data transfer and synchronization method, comprising the steps of:

configuring a data transfer system to comprise:

a provider system, comprising:

a web service hosted by a web server connected to a computer network; and

a first database; and

a customer system, comprising:

a client application that is:

locally installed on the customer system;

trusted by the customer system to perform on the second database data accessing and manipulation functions that are not allowed to be performed directly from the provider system through the computer network;

connected to the computer network; and

configured to send HTTP requests to the web service and to receive HTTP responses from the web service so that changes made to the second database are also made to the first database and changes made to the first database are also made to the second database; and

the second database,

wherein configured to send HTTP requests to the web service and to receive HTTP responses from the web service so that changes made to the second database are also made to the first database and changes made to the first database are also made to the second database; and the provider system cannot initiate a data processing request to the customer system to read data from the second database;

sending an HTTP request from the client application to determine whether the web service has received any data processing tasks for the second database; and

in response to the web service having received a data processing task for the second database:

sending an HTTP response from the web service to the client application, the HTTP response further comprising work instructions for performing the data processing task on the second database;

executing, using the client application, the data processing task on the second database;

transmitting, using the client application, a result of the data processing task to the web service of the provider system; and

modifying data in the first database of the provider system with the result of the data processing task performed on the second database of the customer system.

19. The data transfer and synchronization method of claim 18 , wherein the provider system further comprises a mirror database containing mirror tables.

20. The data transfer and synchronization method of claim 19 , wherein the client application watches for changes to the data stored in the second database of the customer system.

21. The data transfer and synchronization method of claim 20 , wherein if the client detects a change to the data stored in the second database of the customer system, then an HTTP request is sent to the web service conveying information that a change to the data in the second database has occurred, and a type of the change that has occurred to the data.

22. The data transfer and synchronization method of claim 21 , wherein the type of change to the data comprises additions of data, deletions of data, or updates to the data.

23. The data transfer and synchronization method of claim 21 , wherein the changeto the data stored in the second database that was sent to the web service is saved in the mirror database of the provider system.

24. The data transfer and synchronization method of claim 23 , wherein a portion of the changes to the data in the second database of the customer system is used to modify data stored in the first database of the provider system.

25. The data transfer and synchronization system of claim 1 in which the second database comprises a student information system (SIS) database.

Assignments (10)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 30, 2026
From: COLLEGENET, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS ADMINISTRATIVE AGENT
Reel/Frame 075325/0510 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: COLLEGENET, INC.
Reel/Frame 074228/0004 →
SECURITY INTEREST Recorded May 23, 2025
From: COLLEGENET, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 071211/0265 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2025
From: CAPITAL FINANCE ADMINISTRATION, LLC
To: COLLEGENET, INC.
Reel/Frame 070415/0222 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2023
From: BSCP GP I, LLC
To: COLLEGENET, INC.
Reel/Frame 064174/0992 →
SECURITY INTEREST Recorded Jun 30, 2023
From: COLLEGENET, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 064130/0697 →
RELEASE OF SECURITY INTEREST Recorded Jul 1, 2022
From: CIBC BANK USA
To: COLLEGENET, INC.
Reel/Frame 060420/0110 →
SECURITY INTEREST Recorded Jul 7, 2021
From: COLLEGENET, INC.
To: BSCP GP I, LLC, AS AGENT
Reel/Frame 056777/0027 →
SECURITY INTEREST Recorded Mar 31, 2021
From: COLLEGENET, INC.
To: CIBC BANK USA
Reel/Frame 055782/0316 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2018
From: CHEN, HERTS; KRUGHKOV, MIKHAIL ANATOLEVICH; SILLS, DEVIN CHRISTOPHER; PHAM, TUAN NGUYEN THANH; SANDERS, JEFFREY SCOTT
To: COLLEGENET, INC.
Reel/Frame 044658/0427 →
Continuity (2)
Provisional Application 62400465 · Sep 27, 2016
Related Publication 20180089296A1 · Mar 29, 2018