Apparatus, system, and method for data synchronization in a multi-path environment
First Claim
1. A non-transitory computer readable storage medium comprising a computer readable program for data synchronization, wherein the computer readable program when executed on a computer causes the computer to:
- generate an email send event on a host computer that sends an email to a recipient over a first network connection connecting the host computer to a first network;
copy the outbound data of the email send event from the host computer to a secondary device that is separate from the host computer in response to generating the email send event;
monitor the email send event;
notify the secondary device of a successful send event on the host computer in response to the host computer sending the email to the recipient over the first network connection;
notify the secondary device of a failed send event on the host computer in response to the host computer failing to send the email to the recipient over the first network connection, wherein the secondary device generates a secondary send event from the outbound data that attempts to send the email to the recipient over a second network connection in response to receiving the notification of the failed send event;
communicate a confirmation notification to the host computer in response to the secondary device successfully sending the email over the second network connection; and
notify the secondary device to delete the outbound data copied to the secondary device in response to the host computer sending the email to the recipient over the first network connection.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for synchronizing inbound and outbound data in an environment that offers multiple data pathways. When an attempt to send data by a host computer fails, the host computer notifies a secondary device with a separate network connection of the failure. The secondary device attempts to send the data over its separate network connection. If the secondary device fails to send the data, the host computer generates new attempts to send the data over its network connection. The secondary device does the same if the host computer continues to fail in its attempts to send the data. When either the host computer or the secondary device sends the outbound data, it notifies the other of the successful send. The devices then stop further attempts to transmit the data. For inbound data, the host computer and secondary device obtain unique identifiers for inbound data items, compare them, and request from the other those inbound data items that it has not received.
31 Citations
20 Claims
-
1. A non-transitory computer readable storage medium comprising a computer readable program for data synchronization, wherein the computer readable program when executed on a computer causes the computer to:
-
generate an email send event on a host computer that sends an email to a recipient over a first network connection connecting the host computer to a first network; copy the outbound data of the email send event from the host computer to a secondary device that is separate from the host computer in response to generating the email send event; monitor the email send event; notify the secondary device of a successful send event on the host computer in response to the host computer sending the email to the recipient over the first network connection; notify the secondary device of a failed send event on the host computer in response to the host computer failing to send the email to the recipient over the first network connection, wherein the secondary device generates a secondary send event from the outbound data that attempts to send the email to the recipient over a second network connection in response to receiving the notification of the failed send event; communicate a confirmation notification to the host computer in response to the secondary device successfully sending the email over the second network connection; and notify the secondary device to delete the outbound data copied to the secondary device in response to the host computer sending the email to the recipient over the first network connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
a computer-readable storage media storing computer readable programs; a processor executing the computer readable programs, the computer readable programs comprising; an outbound module that generates an email send event on a host computer that sends an email to a recipient over a first network connection connecting the host computer to a first network, copies the outbound data of the email send event from the host computer to a secondary device that is separate from the host computer in response to generating the email send event, monitors the email send event, and notifies the secondary device of a successful send event on the host computer in response to the host computer sending the email to the recipient over the first network connection; the outbound module that further notifies the secondary device of a failed send event on the host computer in response to the host computer failing to send the email to the recipient over the first network connection, wherein the secondary device generates a secondary send event from the outbound data that attempts to send the email to the recipient over a second network connection in response to receiving the notification of the failed send event; a confirmation module that communicates a confirmation notification to the host computer in response to the secondary device successfully sending the email over the second network connection; and a confirmation module that notifies the secondary device to delete the outbound data copied to the secondary device in response to the host computer sending the email to the recipient over the first network connection. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system comprising:
-
a host computer comprising; a first network connection communicatively connecting the host computer to a first network; a first synchronization apparatus comprising; an outbound module that generates an email send event on the host computer that sends an email to a recipient over the first network, copies the outbound data of the email send event to a secondary device in response to generating the email send event, and monitors the email send event; the outbound module that further notifies the secondary device of a failed send event on the host computer in response to the host computer failing to send the email to the recipient over the first network; a confirmation module that notifies the secondary device to delete the outbound data copied to the secondary device in response to the host computer sending the email to the recipient over the first network connection and receives a confirmation notification from the secondary device in response to the secondary device successfully sending the email over a second network; a retry module that resends the email on the host computer transparently to the user in response to the confirmation module lacking the confirmation notification for the email; and a synch module that provides the secondary device with a success notification in response to a successful send of the email by the host computer; the secondary device comprising; a second network connection communicatively connecting the secondary device to the second network; a support apparatus comprising; a send module that generates a secondary send event for the email over the second network in response to receiving notification of a failed send event on the host computer from the outbound module; a verification module that sends the confirmation notification to the host computer in response to the secondary device successfully sending the email over the second network; a secondary retry module configured to resend the email on the secondary device in response to the secondary send event failing and further in response to the secondary device lacking the success notification. - View Dependent Claims (18, 19, 20)
-
Specification