Reducing data loss in remote databases
Abstract
Systems and methods for reducing data loss in remote databases. One method includes detecting, with an electronic processor communicatively coupled to the remote database, a failure of a user session with the remote database. The method includes, in response to determining the failure of the user session, performing, with the electronic processor, an offline detection check for the user session, the offline detection check including a canary check on a known resource related to the remote database. The method includes, in response to the offline detection check indicating that the remote database is offline, setting the user session to read-only, displaying, within a graphical user interface of the user session, an offline indicator, and graphically marking the at least one outstanding request within the user session.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for reducing data loss in a remote database, the system comprising:
at least one electronic processor communicatively coupled to the remote database and configured to
receive a user input requesting to exit a user session with the remote database;
in response to receiving the user input, determine whether there is at least one outstanding request for the user session;
in response to determining that there is at least one outstanding request for the user session,
display a first dialog including a message informing a user to wait while the at least one outstanding request is being fulfilled;
after a predetermined wait time has expired, determine whether the at least one outstanding request has been fulfilled; and
in response to determining that the at least one outstanding request has not been fulfilled,
perform a request fulfillment check on the at least one outstanding request; and
display a second dialog, the second dialog including a message based on the request fulfillment check informing the user of the at least one outstanding request and including a control for exiting the user session without waiting for the at least one outstanding request to be fulfilled.
2 . The system of claim 1 , wherein the at least one outstanding request includes at least one selected from a group consisting of an uncommitted data entry and an unsynchronized data entry.
3 . The system of claim 1 , wherein the at least one electronic processor is further configured to, in response to receiving the user input,
when the at least one outstanding request includes at least one uncommitted data entry, determine whether the at least one uncommitted data entry is valid; and in response to determining that the at least one uncommitted data entry is not valid,
graphically mark the uncommitted data entry, and
display an invalid data dialog.
4 . The system of claim 1 , wherein the at least one electronic processor is configured to perform the request fulfillment check by determining at least one selected from a group consisting of a request type for the at least one outstanding request and a criticality for the at least one outstanding request.
5 . The system of claim 1 , wherein the at least one electronic processor is configured to perform the request fulfillment check by, when the at least one outstanding request includes a plurality of outstanding requests, determining whether any of the plurality of outstanding requests is conditionally chained to the success of another of the plurality of outstanding requests.
6 . The system of claim 1 , wherein the at least one electronic processor is configured to perform the request fulfillment check by determining a data loss risk level for the user session based on the at least one outstanding request.
7 . The system of claim 6 , wherein the at least one electronic processor is configured to determine the data loss risk level based on at least one selected from a group consisting of requested schema changes to the remote database, a quantity of conditionally chained outstanding requests, and an estimated time to fulfill the at least one outstanding request.
8 . The system of claim 1 , wherein at least one electronic processor is configured to perform the request fulfillment check by determining an estimated time to fulfill the at least one outstanding request based on telemetry data for the user session.
9 . The system of claim 8 , wherein the telemetry data is at least one selected from a group consisting of a duration for a recently-fulfilled request for the user session and an average duration of two or more fulfilled requests for the user session.
10 . The system of claim 8 , wherein at least one electronic processor is further configured to transmit to a second application accessing the remote database at least one selected from the group consisting of the telemetry data and the estimated time.
11 . A method for reducing data loss in a remote database, the method comprising:
detecting, with an electronic processor communicatively coupled to the remote database, a failure of a user session with the remote database; in response to determining the failure of the user session, performing, with the electronic processor, an offline detection check for the user session, the offline detection check including a canary check on a known resource related to the remote database; and in response to the offline detection check indicating that the remote database is offline, setting the user session to read-only, displaying, within a graphical user interface of the user session, an offline indicator, and graphically marking the at least one outstanding request within the user session.
12 . The method of claim 11 , further comprising:
in response to the offline detection check indicating that the remote database is online,
determining whether the at least one outstanding request has been fulfilled; and
in response to determining that the at least one outstanding request has not been fulfilled, setting the user session to read-only.
13 . The method of claim 11 , wherein detecting the failure of the user session includes detecting a failure of at least one selected from a group consisting of an uncommitted data entry and an unsynchronized data entry.
14 . The method of claim 11 , wherein detecting the failure of the user session includes comparing a pending time for the at least one outstanding request to a predetermined threshold.
15 . The method of claim 11 , wherein detecting a failure of the user session includes detecting a failure of at least two of a plurality of outstanding requests.
16 . Non-transitory computer-readable medium including instructions executable by an electronic processor to perform a set of functions, the set of functions comprising:
receiving a user input requesting to exit a user session with a remote database; in response to receiving the user input, determining whether there is at least one outstanding request for the user session; in response to determining that there is at least one outstanding request for the user session,
displaying a first dialog including a message informing a user to wait while the at least one outstanding request is being fulfilled;
after a predetermined wait time has expired, determining whether the at least one outstanding request has been fulfilled; and
in response to determining that the at least one outstanding request has not been fulfilled,
displaying a second dialog, the second dialog including a message based on the at least one outstanding request and including a control for exiting the user session without waiting for the at least one outstanding request to be fulfilled.
17 . The non-transitory computer-readable medium of claim 16 , the set of functions further comprising determining an estimated time to fulfill the at least one outstanding request based on telemetry data for the user session, wherein the message includes the estimated time.
18 . The non-transitory computer-readable medium of claim 17 , the set of functions further comprising sharing at least one selected from a group consisting of the telemetry data and the estimated time with an application communicating with the remote database separate from the user session.
19 . The non-transitory computer-readable medium of claim 18 , wherein sharing includes storing at least one selected from a group consisting of the telemetry data and the estimated database to a table accessible by the application.
20 . The non-transitory computer-readable medium of claim 18 , wherein sharing includes communicating at least one selected from a group consisting of the telemetry data and the estimated database with the application via an application programming interface.Join the waitlist — get patent alerts
Track US2019392063A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.