US 7493130 Synchronizing over a number of synchronization mechanisms using flexible rules
ABSTRACT – Two computer systems in a network each have a local store that contains a copy of a data item that is to be synchronized. One of the computer systems may be, for example, a mobile device while the other may be a synchronization server. In order to determine whether to synchronize a data item, and what synchronization mechanism to use, one of the computer systems references a flexible set of rules that may be influenced by instructions from a network administrator or a mobile device user. The flexible set of rules takes into consideration the value of the data, the cost associated with synchronization, the security of the synchronization mechanisms, the security of the mobile device, as well as the location of the mobile user in dictating whether and how to synchronize.
FIELD OF THE INVENTION
The present invention relates to computer network operations. In particular, the present invention relates to methods, systems, and computer program products for synchronizing by flexibly using multiple synchronization mechanisms while considering the then-existing economic and/or security considerations involved with synchronization over a particular mechanism to a particular device
BACKGROUND OF THE INVENTION
Computer networks allow more individuals more ready access to more information than ever before. The Internet is a conglomerate of interconnected computer networks that spreads far and wide throughout the world. An individual need only have an Internet-enabled computer (or device) and an Internet connection to be able to access information from across the globe.
Mobile devices such as mobile telephones; Personal Digital Assistants (PDAs) and laptop computers also may have the ability to access various objects (e.g., documents) for particular remote network locations. However, accessing documents over a network may be quite time consuming and costly and thus remote access may be unacceptable in many applications. Accordingly, with the memory capabilities of mobile devices increasing, many mobile devices have caching mechanisms that allow them to locally store synchronized copies of more relevant objects that are also stored in another network location.
Synchronization ensures that the copy of a document on the mobile device is an identical replica of a remote copy of the document. After synchronization, however, changes may be made to both of the remote copy or the local copy. Accordingly, the local and remote copies may become quite different after some time. However, the copies are once again made identical during the next synchronization.
Conventional synchronization mechanisms give the user very little control over synchronization. Basically, the user just selects items to synchronize and selects a single synchronization mechanism to use. This rigid approach ignores some factors that are relevant to whether, when, and how to synchronize.
For example, some data is more valuable than others. Yet, the conventional technique does not consider the value of the data once the items for synchronization are selected. For example, a user may select to synchronize an in-box. However, the in-box contains high-value e-mails (such as an e-mail offering a highly coveted job) as well as low value e-mails (such as unwanted spam). Yet, all of the e-mails are synchronized in the exact same manner.
Also current synchronization mechanisms do not consider the costs associated with synchronization. For example, synchronization mechanisms may involve networks with a wide variety of costs and latencies. For example, synchronization over an analog dialup that uses a Global System for Mobile communication (GSM) network has a relatively low bandwidth of approximately 9.6 to 14.4 kilobits per second. A connection over a General Packet Radio Server (GPRS) network allows somewhat faster throughput speeds of up to 115 kilobits per second. However, current GPRS networks are relatively expensive. A connection over an 802.11b (also called “WiFi”) wireless network can attain speeds of up to 11 megabits per second, orders of magnitude greater than GSM or GPRS. In addition, use of 802.11b networks is typically free to those who have access to the network. However, 802.11b networks are typically less available as they currently span much less of the globe than do GSM or GPRS networks.
Current synchronization techniques also typically do not consider security concerns associated with synchronization. For example, the channel used for synchronization may have various levels of inherent security that guard against eavesdropping. For example, physical network connections are very secure, 802.11b networks are somewhat secure, with GSM dialup networks being somewhat less secure, and with GPRS networks being less secure. Also, the devices to which data may be synchronized may have varying levels of security. For example, some devices give access to any locally stored document to anyone who happens to possess the device, even if that person just stole the device from the legitimate user. Other devices are more secure by requiring a password when first logging in. Others are even more secure by having the screen saver turn on after a short period of lack of use, and require a password to restore the device once the screen saver is on. Others are yet even more secure by having an encrypted file system.
Accordingly, what is desired are mechanisms that use a synchronization mechanism that is appropriate given the economic and security concerns that exist at the time of the synchronization.
SUMMARY OF THE INVENTION
The principles of the present invention provide for systems, methods and computer program products for performing synchronization in a flexible manner. Instead of just allowing the user a choice as to what to synchronize and then having the user manually synchronize, one or more of the pair of computer systems involved with the synchronization automatically considers the then-existing circumstances to determine whether, when and how to synchronize. In one described example, the synchronization occurs between a mobile device and a synchronization server. The methods of the present invention may be performed by either synchronizing computer system (e.g., by either the mobile device or the synchronization server).
It is first determined that a data item is to be synchronized. This may be accomplished in response to a user-issued instruction, or in response to a message from the other device indicating that the data item ought to be synchronized. The determination may also have been made by consulting a flexible set of rules that are dictated by a network administrator of the synchronization server as well as by the mobile device user.
Once it has been determined that a data item is to be synchronized, the computer system identifies the available synchronization mechanisms, and then once again consults with the flexible rules to determine which of the available synchronization mechanisms to use. The computer system then synchronizes using the selected synchronization mechanism.
The flexible selection rules may be set and changed by a network administrator and by a user of the mobile device. The flexible selection rules take into consideration the value of the data, the economic cost of synchronization, the security of the synchronization mechanism, and the security of the mobile device. Accordingly, it is much less likely that the flexible rules will allow for highly sensitive data to be shared with an insecure device or over an insecure synchronization channel. Likewise, it is much less likely that a less valuable item of data will be synchronized over an expensive network.
The synchronization rules also take into consideration the location of the mobile device and user. If none of the available synchronization mechanisms are selectable based on the flexible rules, then the synchronization may be delayed, and then the synchronization mechanism may be repeatedly reevaluated until there is a selectable synchronization mechanism.
Should synchronization occur, and later a security condition for synchronization changes, then the effects of the synchronization may be reversed. For example, suppose that the flexible rules indicate that synchronization to a mobile device is proper since the mobile device has configuration settings in which a screen saver is activated after five minutes of non-use, and that a user password is required to restore the device each time the screen saver is activated. Later, suppose the user deactivates the screen saver. The synchronization server may query the mobile device to determine that the screen saver has been deactivated. Since the original conditions for synchronization are no longer met, the synchronization server may issue an instruction to erase the data item from the mobile device, or (if change tracking is enabled) then may instruct the mobile device to roll back the data item to its pre-synchronization state.
Accordingly, the principles of the present invention perform synchronization in a much more appropriate manner considering the surrounding circumstances. In addition, the effects of synchronization may be reversed if security changes so require. Furthermore, the network administrator (and the mobile user) has much more control over when synchronization occurs. This results in a more secure, cost effective, and efficient synchronization design.
Additional features and advantages of the invention will be set forth in the description that follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.