Pervasive Computing, also known as Ubiquitous Computing, Mobile and Embedded Computing, is believed to be the next generation computing following Mainframe Computing, PC Computing and Internet Computing.
In the vision of Pervasive computing, small, inexpensive and robust processing devices are pervasively embedded in the environment we live and serve us anywhere, anytime [1,2]. Eventually they become so pervasive that they blend into the environment and we take their services for granted and might not be aware of their existence.
There is clearly a trend toward this. Desktops/laptop computers are becoming more and more affordable. We also see more and more people are having smart phones, PDAs, netbooks, tablet PCs and iPads. While we may not be aware of, computing devices are also being embedded in things we interact with everyday, like cars and coke machines.
Figure 1 Server Centric Pervasive Computing
The computing devices may be able to perform tasks by their own, or by interacting with human and other devices. However, more often than not, central servers are needed to serve these devices. We call this Server Centric Pervasive Computing as illustrated in Fig. 1. The devices are connected with the servers via wired or wireless networks. Applications on the devices provide an interface to end users while all data are stored on a central server. Applications on the devices communicate with the central server to do data collection, data distribution and device management.
There are basically two models for how the servers serve the devices. One is online model, where a device has to keep a connection with a server to be able to perform any functions. The other is offline model, where the device has its own cache of data and is able to function even when it’s disconnected from the server. The device only needs to connect to the server when it needs to synchronize its cache with the server database.
Intrinsically the offline model is a more scalable approach since it offloads a big chunk of the server work to the devices, which are getting more and more capable. The offline model also helps in reducing network congestion and improving responsiveness of devices. Still, the success of the offline model largely hinges on the efficiency and robustness of the underlying data synchronization system.
Today, there are all kinds of data synchronization systems available, with or without relational databases being involved. We believe that more and more data synchronization applications will be standardized on database synchronization systems; just like information management applications are now mostly based on database systems.
Globalization represents another aspect of Pervasive Computing. Typically an enterprise’s geographically distributed employees, partners and customers access central servers through the Internet. All is fine until there is a poor Internet connection or a network outage. More and more enterprises are considering adding local servers to resolve this issue. Here again, the databases of the local servers and those of the central servers need to be synchronized in order to have the best of both worlds: fast, reliable access of the information and consolidation of the information.
Pervasync database synchronization system provides a data synchronization infrastructure for your pervasive business, supporting popular databases such as Oracle DBMS, MySQL DBMS and SQLite (currently only for Google Gears). Traditional replication techniques have failed to address the large scale and personalized characteristics of Pervasive Computing. Pervasync’s innovative logical transaction based approach guarantees the convergence and stability of the system. From ground up, the system is designed to support data subsetting, so that each device can synchronize its private data as well as the shared data.