Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
The present invention generally relates to the field of data communications. More particularly, an embodiment of the present invention relates to an n-way synchronization of with partial or full content.
Desire for continuous access to greater amounts of information have continued to increase. In the evolvement of greater mobile working environments, users desire to have access to their data on their mobile devices such as their cell phone, their mobile computers, and their personal digital assistants (PDA.)
A key characteristic of these mobile devices is that they have heterogeneous and intermittent connectivity to a corporate information repository. For example, the mobile computer may be connected with a WLAN while it is in a hotspot, but when out of radio range, there is no connectivity. The cell phone has a different type of connectivity, typically low bandwidth but more continuous. Therefore, in order to have access to their data, one or more of a user's mobile devices are usually synchronized with a master database, such as a mail server, to have copies of their emails, etc. on their mobile devices. Then, this offline copy of the data is used when the device is unable to connect to the information repository. However, complexity is introduced by two factors, the nature of the communication system and the capabilities of the mobile device.
The nature of the communication system can be characterized by three factors, bandwidth, cost, and connectivity. A notebook computer may access the mail server via a high bandwidth corporate wireless local area network (WLAN) network, while a cell phone may access the server via a lower bandwidth GPRS WWAN connection. Typically, the per bit cost of a WWAN connection is much higher than for a WLAN connection. And finally connectivity may range from a relatively small radius around a WLAN hotspot to nearly continuous GPRS coverage.
Additional complexity is added by the characteristics of the individual device. For example, it is quite easy to store a large e-mail attachment on the user's notebook computer's hard drive, but the user's cell phone may not have the necessary storage.
Current data synchronization techniques among mobile devices typically make two key assumptions. First that all data can be simply copied from a master database to all devices unchanged and secondly that the source of the information remains fixed. For example, the PDA will always receive its information from the mobile computer's synchronized copy of the user's email. While this works for a set of devices that do not have multiple mechanisms to connect dynamically to the central repository, the data may be available via a different path and is not necessarily out of synchronization if only limited information is available on a given device due to constraints of memory or bandwidth.
The invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar or identical elements, and in which:
a-e illustrate an example of the processes in accordance with one embodiment of the invention;
a-e illustrate an example of the processes in accordance with one embodiment of the invention.
In the following detailed description of the present invention numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
One embodiment of the present invention offers a method and system for synchronization of a variety of remote devices (notebook, PDA, cell-phone, etc.) to keep a user's devices up to date. In one embodiment, any two devices can synchronize their data received from prior contact with a master database. This can happen between as many devices as the user has (e.g. a user can synchronize his cell-phone, PDA, notebook etc.).
As illustrated in the network diagram of
In process 204, the data items are copied from the first device to the second device. The data items may be copied from the first device to the second device via variety of wireless techniques, including, but not limited to, a wireless local area network (WLAN), a Bluetooth wireless personal area network connection, a short range infrared device-to-device connection or a General Packet Radio Service (GPRS).
In process 206, in one embodiment, a client application on either of the devices may recognize limited capabilities on the second device, or limited bandwidth connection available between the first and second devices. As a result, one or more of the data items copied from the first device to the second device, may include only partial content. For example a copy of an email may not include an attachment.
In process 208, a client application on the second device determines if one or more of the data items from the first device were previously stored on the second device. If one or more of the data items were not previously stored on the second device, in process 210 the data items that were not previously stored on the second device are inserted into a data list or an organized storage of the second device, along with a quality factor indicator. This indicator reflects the relative quality of the data available and the level of alteration that has occurred in the path from the data master database/repository to this device. For instance, an email message with attachments removed to decrease the transmission bandwidth would have a lower quality factor than a copy of the same email that had the attachments still present.
If one or more of the data items from the first device were previously stored on the second device, in process 212 the client application compares a quality factor indicator of the data items currently stored on the second device with the corresponding data items received from the first device. If one or more of the data items received from the first device have a greater quality factor than a quality factor of a corresponding data item on the second device, in process 214 the data items received from the first device replaces the corresponding data items previously stored on the second device. In one embodiment, the processes of 202-214 are repeated for all the data items that are synchronized between the first and second devices. Furthermore, the client application that determines whether to replace a data item, or to insert a new data item, may be stored on either the first or second device.
There are additional operations other than simply sending information to a second device that make up the complete synchronization action. These are closely aligned with their current instantiations. The action of delete occurs as in current sync systems, items deleted on the second device are also deleted in the repository at the next synchronization. Modification of a data item is slightly different in that modifications are applied to the data item in the repository before quality is compared and data transmitted. For instance, suppose the user has a copy of a document that was converted from rich text to simple text for transmission to a device. If the user has altered the simple text version, the alterations would need to be applied to the original rich text document before the comparison of quality and the full quality version of the document transmitted to the device.
As a result, the method and system described provides improved synchronization to the end user, i.e. data is available faster, without a direct connection to the master database. In one embodiment, the method and system also improves peer-to-peer data synchronization systems because it comprehends the transforms in the data required for transmission across certain links, and adapts by obtaining better quality data whenever it can.
The following examples illustrate use of one or more embodiments. In a first example, suppose a business traveler has a notebook computer and a cell-phone both of which she would like to synchronize with her master email database. She initially downloads the email to her notebook from the email server over a high bandwidth WLAN connection in her workplace, as shown in
As she rides a train to the airport she decides to synchronize her cell-phone as well. But in order to avoid incurring GPRS charges, she elects to synchronize with the notebook over Bluetooth. The notebook email client recognizes the limited device capabilities of the cell-phone and transforms the emails by removing attachments. The cell-phone recognizes the out of date information in its database and replaces records as necessary to synchronize with the notebook, as shown in
Once in the destination airport the traveler cannot find a convenient WLAN hot-spot so takes out her cell-phone and connects with the master database via GPRS. The server sends two new messages to the cell-phone with attachments removed, as shown in
At the end of the day, the traveler then reaches her destination hotel and finds a local WLAN hot-spot so she connects her notebook to the master email server and replaces the two new messages in the notebook database with their full versions including attachments, as shown in
In a second example, illustrated in
The Road-warrior initially downloads the email to his notebook from the email server over a high bandwidth WLAN connection in his workplace, as shown in
Once in the destination airport the traveler cannot find a convenient WLAN hot-spot so he requests his Embedded Controller to connect with the master database via GPRS. The server sends two new messages with attachments removed, as shown in
The traveler then opens his notebook which synchronizes with the EC database over the internal link. The two new scaled down messages are copied from the EC database to the notebook's inbox, as shown in
At the end of the day, the traveler then reaches his destination hotel and finds a local WLAN hot-spot so he connects his notebook to the master email server and replaces the two new messages in the notebook database with their full versions including attachments, as shown in
The processes described above can be stored in a memory of a computer, system, or machine as a set of instructions to be executed by a processor of the computer system or machine. In addition, the instructions to perform the processes described above could alternatively be stored on other forms of machine-readable media, including magnetic and optical disks. For example, the processes described could be stored on machine-readable media, such as magnetic disks or optical disks, which are accessible via a disk drive (or computer-readable medium drive). Further, the instructions can be downloaded into a computing device over a data network in a form of compiled and linked version.
Alternatively, the logic to perform the processes as discussed above could be implemented in additional computer and/or machine readable media, such as discrete hardware components as large-scale integrated circuits (LSI's), application-specific integrated circuits (ASIC's), firmware such as electrically erasable programmable read-only memory (EEPROM's); and electrical, optical, acoustical and other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc
Whereas many alterations and modifications of the present invention will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that any particular embodiment shown and described by way of illustration is in no way intended to be considered limiting. Therefore, references to details of various embodiments are not intended to limit the scope of the claims which in themselves recite only those features regarded as essential to the invention.