SlideShare a Scribd company logo
UNIT - VI 
SYNCHRONIZATION
INTRODUCTION: 
• We know that the database management 
in mobile computing have two 
components- database engine and 
synchronizer. 
• Generally a mobile DBMS facilitates 
insertion, modification, and retrieval of 
data from local database it also 
synchronize the change of records at 
databases in remote central server. 
• Data dissemination techniques describes 
how a server or distributed mobile 
computing system broadcasts data to
Mobile devices. 
• Let us consider a PC is associated with 
mobile device and this computer 
connected to the internet which download 
applications and large files. 
• Now consider the data at the computer is 
modified at some instant, the disseminated 
data at the server has changed at another 
instant, the data at mobile device is also 
changed at another instant- the changes 
are take place at one of the three ends at 
different instants. There be a need to 
synchronize the data at three ends.
SYNCHRONIZATION: Data disseminated and 
replicated at remote stations may occur in 
number of ways. 
• Data replication may done by copying the 
data from one place to another place, or 
copying the data from one place to many 
other places, or copying the data from 
many other places to many other places. 
• For example music files are copied into 
iPods, iPhones, and to several devices. 
• The replicated data may be full copy or a 
partial copy.
MOBILE DEVICE 
Device specific platform, OS, and data format 
Data copy sent from a system to another system Downlink 
Mobile service provider or nearby local computer or Device connected to wireless or wired media 
• Replication from data source to device 
• Replication from data source to many devices 
Mobile client devices 1…J 
Device specific platform, OS, and data format 
Data copy sent to many devices Downlink 
Central server or data server connected through wireless or wired media
• Data replication among many data sources 
and devices in peer-to-peer architecture. 
Mobile computing system or Device - 1 Mobile computing system or Device - 2 
Uplink Downlink Uplink Downlink 
Mobile service provider 
System specific platform, OS & data 
formats on each system 
Data sent between the systems in 
peer-to-peer architecture
Full copy replication: Means that the full set 
of data records replicates according to 
certain domain-specific data format rules at 
the replicating devices or systems. 
• A server having a set of 8 images with 
resolution 640 × 640 pixels in the domain of 
a mobile device, it can replicate and hoard 
with 160 × 160 pixels when all 8 images 
copied, though with the different resolution, 
then it is known as full copy replication. 
Partial copy replication: A subset of the data 
set copied according to certain domain-specific 
rules at the devices or systems.
• Partial replication should have consistency 
and do discrepancy and all basic features 
of original data. 
• Generally data replication precedes data 
synchronization. The synchronization 
refers to maintaining data consistency 
among the disseminated or distributed 
data. 
• Data consistency means if there is data 
modification at the server then the 
modification should reflect in the data with 
in the device within a defined period. There 
are two ways of synchronization.
One-to-many synchronization: We know that 
each system stores the data either pushed 
from the server or by sending the request. 
• This type of synchronization is occurred in 
the client server architecture. Here the 
server maintains a synchronization server, 
it may separate accounts of different users 
for that data. 
• The synchronization server, synchronizes 
the data and disseminates the copies to 
each and every client.
Many-to-many synchronization: Here the 
synchronization system have peer-to-peer 
architecture. 
• In this architecture each system is capable 
of pushing the data to other systems as 
well as getting the data by sending pull 
requests. 
• Synchronization within mobile computing 
comes under the many-to-many 
synchronization and it is categorizes into 
fine areas; 
•
1) Synchronization in mobile computing 
systems. 
2) Usage models for synchronization in 
mobile computing environment. 
3) Domain dependent specific rules for 
synchronization. 
4) Conflict resolution strategies 
5) The use of synchronizer.
Synchronization in mobile computing 
systems: 
Data synchronization is defined as the 
process of maintaining the availability of 
data generated from the source and 
maintaining consistency between the 
copies pushed from the source and local 
cached or hoarded data at different 
computing systems without discrepancies 
or conflicts among the distributed data.
• a consistent copy of data is a copy which 
may not be identical to the present data 
record at the data generating source, but 
must satisfy all the required functions and 
domain dependent specific rules . 
• The domain specific rules are in terms of 
resolution, precision, data format, and 
time interval permitted for replication. A 
consistent copy should not be in conflict 
with the data at the data generating 
source. 
• Data generating source for 
synchronization may be a server, 
distributed mobile computing system, a
Information, and new subscriptions for the 
services required by the source device. 
• Data synchronization helps mobile users 
in accessing data and using it for 
computing on mobile devices, When a 
device not connected to a source or server, 
the user may employ data that is not in 
conflict with the present state of data at 
the source. 
• synchronization also helps mobile users 
in hoarding the data at the personal area 
computer and vice versa.
•Synchronization helps storage at enterprise 
server a large chunks of information for the 
many devices connected to it and update 
partial copies of data at frequent intervals. 
• the following are the different processes in 
data synchronization; 
1)Synchronization between the server and 
device when the server sends full copy. 
2)Synchronization between device as a data 
generating source and server when device 
sends full copy. 
3)Synchronization between server and device 
when partial but consistent copy stored at 
device and updated as soon as
the copy modifies. 
4) Synchronization between server and 
device for partial but consistent copy 
stored at the device, but the modified copy 
at server need not be send to the device on 
next transaction. 
Types of synchronization: 
Data synchronization has happened in 
between the mobile device and service 
provider (server), mobile device and 
personal computer or between the mobile 
devices which are enabled Wi-Fi or 
Bluetooth.
The following are different synchronization 
categories; 
1)Two way synchronization: Partial or full 
copies of data are synchronized between 
device and server. For example consider 
the same data set at the device and at the 
server, two way synchronization mean, 
any changes made at one side it should be 
consistent at other side. 
2)Server alerted synchronization: In this 
method when the data is modified at 
server, then it generates the alerts the to 
the clients, now the client synchronizes
modified data by placing the pull request to 
the server. 
3) One way server initiated synchronization: 
In this method server initiates 
synchronization of any new modifications 
since the communication of last 
modification. Now the server sends the 
modified copy to the client. 
4) Refresh synchronization at client: In this 
method, client initiates the 
synchronization with the server for 
refreshing its data and refreshing its 
configuration parameters saved at server.
For example, when the connecting device 
parameters are changed or a new device 
connected to the server, then the 
configuration information is send to the 
server to takes place the data 
dissemination from server or refresh 
synchronization at client in future. 
5) Client initiated synchronization: Here the 
client initiates synchronization with the 
server for sending its modifications. 
For example, the client mobile device 
initiates synchronization of ring tones or 
music files available at server, in periodic
Intervals, or as and when it connects to the 
server. 
6) Refresh from client for backup and update 
synchronization: Here the client initiates 
the synchronization and sends backup to 
the server for updating its data. 
For example, a mobile device initiates 
refreshing of the hoarded data at the 
server in periodic intervals, or as and when 
it connects to the server. 
7) Slow (full data copy) synchronization: In 
this method client and server data copies 
are compared field by field and are
synchronized as per conflict resolution rules. 
The full copy synchronization is takes place 
when device is in idle state and 
immediately not connected to the server. 
For this reason it is called slow 
synchronization, but it is a thorough 
synchronization. 
Formats of Synchronization Data copies: 
During the synchronization the data 
formats at a server and at the device may 
different from each other. 
• When the data at the source is 
synchronized with data at the receiver, it
should be done as per the formats of the 
receiver. The following are different formats 
of data at the receiver; 
1)Database Records: Here the records are 
indexed to facilitate search operation by 
placing the query. 
For example, the contacts in the mobile are 
indexed as per the first alphabet of the 
name. 
2) Flat Files: In the flat file format the data 
should be interpreted as a single unit. 
That is we should read the file from 
beginning to end, data should not picked
from the middle of the file. 
For example, an XML or HTML file at the 
server is synchronized with the file at 
device which is in text or binary file 
format, the total file should transmitted to 
the device. 
3) Device specific storage: Some times a 
device may use the specific storage format 
for synchronize data with the server. The 
device specific format is depending upon a 
specific protocol used by the device. 
For example, AAC (Apple Audio 
Communication) is used to music files
synchronization with in Apple iPod. Contact 
information in vCard format, vToDO, 
vCalender, vjournal are used in some 
mobile devices. 
Usage Models for Synchronization: 
• Four usage models employed for 
synchronization in mobile computing 
systems. 
1) Synchronization between two APIs with in 
a mobile computing system: The usage 
model for synchronization between two 
application programming interfaces is the 
data generated by an application is
synchronized and used in another 
application. An API running at the device 
synchronizes data with another application 
on the same device or another device. 
The following diagram shows 
synchronization between two APIs of the 
same mobile computing system. 
Mobile computing system 
application i 
Mobile computing system 
application j 
Data Synchronization
• Data records at personal information 
manager (PIM) API synchronized with the 
email API, when email from a new source 
retrieves at the email API in the device, the 
name and email address data fields at the 
application saved as new data record at PIM 
API. Next time an email is to be sent to the 
same person, the email API uses the same 
data record from the PIM API. 
2) Synchronization between the device and 
nearby local computer or device connected 
through a wireless or wired network: This 
type of synchronization fall into to another 
usage model to synchronize the data.
• This type of synchronization is also called 
Personal Area Synchronization (PAS) using 
PAS software HotSync or ActiveSync. 
For example, synchronization with nearby 
PC through a serial port using a wired 
connection to PC and device, 
synchronization with the nearby computer 
through a wireless personal area network 
(WPAN) using ZigBee or Bluetooth. The 
following diagram shows the device and 
local computer connected through wire or 
wireless network.
Mobile Device 
Data synchronization 
Device specific platform, OS, and data format at 
the device 
Computer connected to device by wireless, Bluetooth, IrDA or ZigBee 
protocol 
Computer specific platform, OS, and data formats 
3) Synchronization between remote systems 
and device: The device data records 
synchronize with the mobile service 
provider server records and vice versa. 
Here the device connects to remote 
systems on Internet through the wired, 
wireless mobile service provider, or WiFi
For example, IntelliSync is a synchronizer 
synchronizes data at the remote systems 
with PAS, it is able to do the 
synchronization through wireless. It is a 
open architecture, thus can be integrated 
with enterprise architecture. 
4) Synchronization between the device and 
remote system through local computer: In 
this case the synchronization is happened 
between remote server and mobile device 
through a local system. 
• Here first the synchronization takes place 
between local system and mobile node
by using the ActiveSync, or Bluetooth, then 
the local system synchronizes the data at 
remote server by using WLAN, WiFi etc. 
Mobile Device 
Device specific platform, OS, & Data format at each device 
Computer connected to device by wire, wireless, 
Bluetooth, IrTA, or ZigBEE 
Remote System or Server 
Data synchronization between device & Server
Domain dependent specific rules for data 
synchronization: 
• A mobile computing system consists of 
multiple domains in which data 
synchronization takes place. 
• Data in mobile device domain has different 
rules for storage and usage compared with 
remote system. 
• For example data in a system domain is 
identified by alphabets maximum of 255 
characters, and the same data in mobile 
domain may identified with 8 bit number.
• The following are the some domain specific 
rules for data synchronization. 
1)Data synchronization in domain specific 
platforms and data formats: Here data 
synchronization can takes place between 
data generating domain and destined 
domain, both have different platforms and 
formats. 
For example, a database record at the 
device may be in structured text or XML 
format and its OS is Symbian. Now the 
record is synchronized with database 
record at server where it can be in DB2
or oracle format and its OS may be windows. 
2) Domain specific data property dependent 
synchronization: Data synchronization 
takes place one domain with one data 
property and another domain having 
different property. 
For example, a data record ID at the device 
is specified in byte format, after the 
synchronization the same record is 
specified in 16-bit word at the server. 
Another one is a device use 8-bit ASCII for 
ID, while server uses 16-bit Unicode.
3) Synchronization up to last successful act 
of synchronization: One of the domain 
specific rule is the data record is 
considered to be synchronized if it was 
updated at the last connection. 
For example, the call log in phone has the 
records of missed calls, dialled numbers, 
and received calls. A data record at the 
access point is synchronized with phone it 
was updated at the last connection, then it 
eventually updated on the next connection.
4) Memory infrastructure dependent rule 
based synchronization at two different 
domains: Here the domain specific rule is 
the data records are synchronized up to 
the allotted memory. 
For example, At the remote server data is 
maintained in the allotted memory of 8 MB 
and a device allotted 128KB only for that 
data. Thus only part of the data items can 
be synchronized and saved at the device. 
The device synchronizes data from the 
remote server for each time.
• Memory infrastructure dependent rule, 
that maximum data be synchronized at the 
device and arranged in order such that the 
last cached data is at top and least 
recently cached is on last. 
• Memory infrastructure dependent rule, 
that minimum data be synchronized at the 
device and arranged in order such that the 
last cached data is at top and least 
recently cached is on last. 
5) Synchronization with temporal properties 
of data: A domain specific rule that data 
records synchronized within specific time
interval and within time specified by the 
domain. 
For example, certain data records are 
synchronized every day, week or in a 
month. 
A critical data record must be updated 
before using the data within least time, 
otherwise the data is considered to be in 
temporal conflict.
Personal Information Manager: 
Personal Information Manager is a software 
that manages the data. Now a days most of 
the smart phones have a specialized API 
for PIM. 
• The PIM API may also include the 
synchronizer with other devices and 
applications. 
• The function of the PIM is, creation of data 
copies, updating, replacement, addition 
and deletion of data records. 
• The PIM is also responsible for sending of 
data to API and receiving of data from
another API, as well as sorting of the 
records. 
• PIM may also manages the data copies at 
the devices for user. It also provide 
multiple selections and various options 
through PIM API. 
• The PIM API has several applications such 
as calendar, address book, tasks to do etc.. 
• The PIM address book consists list of 
contacts with office, home, mobile, fax, 
web addresses and email Ids. 
• Tasks-to-do consists a list of planned 
tasks by the user. It also reminds the user
Of the task as per the planned time. 
• The PIM data is able to synchronize with 
PC, WPAN, remote system, or at another 
mobile device. 
• Suppose the mobile device may loose the 
PIM data records due to accidental deletion 
or battery power loss, there is an option for 
synchronization called “restore” which 
helps restoring the copies at the device. 
• When the mobile device connected to a PC, 
WPAN, remote system, or another mobile 
the copies are synchronized with that 
device to use later.
• Here the system may store (backup) the 
hole data or only the selected content. 
Synchronization & Conflict resolution 
strategies: 
• Conflict in synchronization arises when a 
data copy changed at one end but not 
simultaneously modified at other ends 
therefore, the same data item at two 
ends, is not same. 
• Let the data items P and Q, in conflict 
during computation in the time interval 
between t1 and t2, where t1 and t2 are the 
instants when P and Q are modified.
•A conflict resolution strategy adopted in 
such cases to resolve conflicts, the strategy 
specifies the rules that need to be applied for 
conflict resolution. 
1)Priority based resolution rule: Data-server 
can be specified as dominant higher priority 
entity for conflict resolution of synchronized 
data records. 
For example, let us consider mobile-service-provider 
server S having a list of missed, 
dialed, and received calls for the device D. D 
has a synchronized list of missed, dialed, 
and received calls. When the list at D in 
conflict with the list at S,
priority-based resolution rule specifies that 
the server priority is higher. 
2) Time based resolution rule: Data node P 
specified as dominant entity when P always 
receives copies first from the server S. 
For example, S having the emails 
disseminated to the device D at an instant t1 
D connects to a personal area computer (PC) 
to which the device always synchronizes the 
mails at a later instant t2 Time-based 
resolution rule specifies that D dominant 
because it receives the mails earlier than the 
PC.
3) Information based resolution rule: Data 
node can be specified as dominant entity 
when information specific to it is 
synchronized with other nodes. 
For example, Server S having the device 
configuration record disseminated from the 
device D Information-based resolution rule 
specifies that since the information is for the 
device D hence D is dominant node. For 
device-specific information, the device data 
accepted rather than the server data.
4) Time stamp based resolution rule:Time-stamp- 
based resolution rule necessitates 
that a time-stamp must be used while 
sending a data copy. The copy found to be 
latest resolves the conflict. 
For example, Server S having the flight 
information which it always disseminates at 
regular intervals with a time stamp over it to 
the device D and as well as to a PC. 
5) User interaction based resolution: An API 
at a device allows a user to interact with the 
device and this interaction resolves the 
conflict arising out of the duplicate or 
multiple entries.
User interaction resolution rule specifies 
that the duplicate data entries permitted at 
the node when a receiver API later on 
resolves the conflict after interaction with 
User. 
For example, Two phone number entries 
found for same name and address, the 
device prompts user to resolve the conflict, 
user resolves the conflict by opting for one of 
it.
Synchronizer: 
• Synchronizer is a software tool for 
synchronization. It resides at the host. If 
the synchronizer host is a server then it is 
called synchronization server. 
• Synchronizer is configured as per specified 
domain dependent and conflict resolution 
rules. 
• Synchronizer finds any data item or record 
appended at the data set. 
• The synchronizer discovers modifications 
with respect to the last action of 
synchronization on specified data copies
Which has been deleted, added, or modified. 
It resolves the conflict as per the resolution 
rules. 
• Synchronizer disseminates the changes to 
other devices or systems so that other 
devices incorporate changes in their data 
copies. 
A synchronizer adopts the method for 
synchronization more efficient compared to 
one in which the synchronizer directly 
retrieves the changed records.
• First logs in the information about the 
records which have been changed and 
then retrieves the changed records by just 
setting or resetting a flag called dirty or 
invalid flag. 
• When associated flag in set state 
(=1),record R state is modified or 
invalidated since previous synchronization. 
When in reset state (=0), R is not modified 
or invalidated since previous 
synchronization. Reduces the possibility of 
using conflicting entries at the server (or 
device) hosting the synchronizer.
Mobile Agent: 
• Mobile agent consists of software with 
data, which can move from one computing 
system to another autonomously and does 
functions for a device or system. 
• The mobile agent can also described as an 
autonomous software which runs on a 
host with some data and which 
dynamically moving to another host as and 
when required. 
• Mobile agent is a powerful tool for 
distributed applications and retrieval of 
remote host information.
• Mobile agent has dynamic software that 
runs on different hosts at different times. It 
makes available the resources of the host to 
the resource-scarce devices, discovers new 
resources, and monitors the distribution of 
resources. 
• It also manages the network and the 
distributed computing systems. It is very 
effective alternative to the use of application-specific 
server(s) and device middleware for 
retrieving information and Messages. 
• the following diagram shows mobile agent 
based architecture.
•
•Here the agent moves at instants T1, T2, 
and T3 to process a request, get email, and 
get records from a database, respectively, 
when a mobile agent moves at instant T1, 
T2, or T3, it saves its own state at the host 
and transmits this saved state to the next 
host in order to resume execution of the 
codes starting from the saved state. 
Mobile agent characteristics: 
1. Mobility of code and data from one 
computing system (host) to another. 
2. Ability to learn in order to adapt code and 
data to the host computing system.
3. Ability to clone, extend, or dispose itself 
after its role finishes. 
4. Compatibility to the hosts. 
5. Ability to continuously and autonomously 
process requests and send responses and 
alerts. 
Advantages of mobile agents: 
1. Asynchronous running of codes on 
diversified heterogeneous hosts. 
2. Reduced computational and data 
requirements on the devices with limited 
resources. 
3. Tolerance to connection failures.
4. Only the agent source (for example, device 
middleware, which sends the agent) needs to 
be modified in order to redefine the 
functions expected from the agent. 
• There is no need of a centralized or an 
application-specific server. 
5. An agent can send the requests to a 
computing system as well as generate 
responses for requests from the system. An 
agent thus has certain similarities to peer-to- 
peer architecture. 
6. The connection protocol and the 
connecting network between host and 
source are immaterial.
• The main objective of mobile agents is 
application virtualization environment. An 
agent may have strong or weak mobility. 
• An agent may also have migration and 
collaboration latencies. Migration latency 
means the waiting period in migrating from 
one host to another. 
• Collaboration latency means waiting period 
in start of collaboration between 
application server and service requesting 
system. 
• There is some environmental and platform 
specific difficulties in implementing mobile
agents due to adaptability and compatibility 
of diversified hosts and also some security 
specific is there. 
Aglets: Aglet is a Java base agent. Java is a 
mobile agent platform and library which 
are used for building applications based on 
mobile agents. 
• An aglet can move autonomously and 
spontaneously and its code can move from 
one host to another. 
• Aglet code can able to execute on remote 
host and it adopt the behaviour according 
to the host.
• Java security classes are used to provide 
security to the aglets. 
Application Server: 
• Application server (AS) is a software which 
executes on server computer. 
• The application server implements 
application level logic for business 
functions. 
• Here application logic means, the logic 
commands or instructions are used for 
sending and receiving logic results from 
computing systems (clients) by the 
application server.
• The business functions means how the 
logical transactions carried out between 
the server and the client. 
• The following are some example 
transactions carried out by the mail AS. 
(a) Establishing connection between mail 
APIs (application program interfaces) and 
mail server. 
(b) Updating mails by inserting, adding, 
replacing, or deleting. 
(c) Querying for the mails. 
(d) Terminating the connection between the 
API and the mail server.
• The application server gets the requests 
from collaborating or independent mobile 
devices of an enterprise or from distributed 
mobile computing system. 
• All the requests are processed by the 
application server and responses are send 
back. 
• The following are different functions 
exhibit by the application server. 
1)It provides application services and 
runtime environment. 
2)It handles presentation services to the 
systems (clients) for this purpose it
maintains a separate database records. 
3)An application server itself integrates with 
backend databases and systems. 
The following diagram shows N tire 
application server.
• Here consider that there are j clients which 
can request to the server. A client 1 … or j 
sends the request from collaborating or 
independent mobile devices of an enterprise 
or from a distributed mobile computing 
system. 
• Now the requests are passed through tire-1 
to tire N and then responses are sent to the 
backend system, tire-1. 
The following are the some of the services 
provided by the application server at tire-2 
1. Service i: application logic processing at 
the server
2. Service j: presentation services for device 
responses and decoding the device requests. 
3. Service k : transaction services with 
support to pervasive computing model of 
mobile applications. 
4. Application l: system integration service 
for backend services and database at Tiers 
3, …, N. 
The following are the examples of web 
database and enterprise application servers; 
1.IBM DB2 is an RDBMS (Relational 
Database Management System) data server 
from IBM,
and its versions run on handheld devices 
and in enterprises where application logic 
processing at the server. 
2. Oracle 9i database Server-RDBMS 
Oracle9i server has a large number of 
features and it supports XML documents 
and has an option for cluster database. 
Enterprise Server: 
• A server which is centralized data server in 
an enterprise in known as enterprise 
server. 
• The enterprise server holds most of the 
information about the enterprise and it 
responds to the request that are from
• The enterprise servers consists of at least 3 
to N tires. These servers has backend 
database. 
The following are examples for enterprise 
servers 
1.Web Generic application servers for Java-based 
web applications (Microsoft, Sun, 
and Netscape) with additional support for 
wireless network and mobile devices. 
2. IBM Web Sphere Application Server with 
specialized mobile Web computing 
application server.
3. IBM Domino Application Server for 
workgroups, email applications, and support 
for handheld and Windows CE devices. 
4.Microsoft Mobile Information Server. (e.g., 
for messenger and email). 
5. Oracle 9i Application Server for database 
services with mobile support. 
6. Puma and Synchrologic iMobile Suite for 
data-synchronization services. 
7. Nokia WAP (Wireless Application Protocol) 
Server for wireless Internet WAP apps. 
8. BlackBerry Enterprise Server (BES)─ a 
middleware software for BlackBerry wireless 
devices.
Sun Java System Web Server 6 
• Sun Java System web server 6 is used for 
large business applications. It is 
compatible with number of operating 
systems and allows the deployment of CGI, 
PHP, ColdFusion, Servelets, JSP and ASP. 
• CGI-Common Gateway Interface is a 
protocol, it is a language neutral interface 
for processing. It use PERL or PHP. 
• PHP-Pre Hypertext Processor, is a 
language for processing the text and 
preparing it in hypertext format and 
enables dynamic web pages.
• ColdFusion creates pages by joining 
different entities, elements, and databases 
before a web server sends the response to 
the client. 
• Servelets are Java classes at the server 
side and JSP is a web page at the server 
which does the following using servelets; 
a)Process the web page. 
b)Connects the page to database. 
c)Deploy Java script code, Java components 
and directives. 
d)Generates responses when client send 
request in HTML.
• ASP-Active Server Page is also a web page 
do the following; 
a)Process the web page. 
b)Connects to the database. 
c)Deploy Java script, VB script and 
directives. 
d)Generates responses when client send 
request in HTML. 
e)Provide application services include email 
service, security, file system, and session 
management.
• In ASP an access manager provides secure 
access to web based resources and session 
management lead to starting a session, 
carrying transactions and closing the 
session. 
Content Engine: 
• Sun Java web server 6 has a content 
engine. It is a software layer, used for 
publishing web application response. 
• In other words, it is a program which uses 
content sources at a server and drives 
them to destination.
• Here driving means, sending publishing, or 
generating response to web applications so 
that the client gets the required content 
from the source (server). 
• The content engine has three components-search 
engine, content management 
engine, and HTTP engine. 
• The content engine is a layer for web 
content creation, addition to existing 
contents, and storage of content page 
using HTML, JSP, and ASP. 
• It maintains integrity of clients content at 
the server.
IBM WebSphere MQe: 
• IBM websphere is an application server for 
web applications on mobile devices with 
Messaging and Queuing Everyplace (MQe). 
• Every place means for mobile devices at all 
places including sensors, phones, 
PDAs,IBM 
WebSphere Voice Server, text-to-speech(TTS) 
software, and IBM WebSphere RFID 
Premises Server. 
• It runs on mobile devices with application 
accelerator, which accelerates the running 
of an application so the results obtain 
much faster.
• The functions of websphere is deployment 
and integration of client data. 
• The following are the feature of MQe; 
1.It assure secure messaging. 
2.It decouples from the application. 
3.It uses queue manager that sends 
messages onto a queue. 
4.It has adapters that adapt to device 
interfaces. 
5.It enables remote connection to mobile 
devices.
• MQe has a development kit used for 
developing applications for messaging for 
mobile devices. 
• MQe includes portal, transcoding, and 
personalization servers. A web portal or 
server deploys data formats and codes 
which are different from each mobile 
device. 
• Websphere provides three basic services-configuration 
services, directory services, 
and networking protocols. 
• The basic service of websphere is 
configuration service and next one is
Directory service. It deploys JNDS-Java 
Naming and Directory Service and LDAP-Light 
weight Directory Access Protocol. 
• Websphere also has a HTTP server which 
functions as a web server. 
• The following are other services of 
websphere; 
1. Device management and management of 
subscriptions for the applications, 
websphere provides the devices with 
connectivity protocols, such as TCP/IP, 
CDMA, GSM and WAP.
2. It provides a synchronization engine, 
which synchronizes the data at the device 
with the server. It maintains consistency 
without conflicts. 
3. It facilitates device caching. 
4. It enables load balancing, that is 
distribution of time between multiple client 
requests. 
Oracle Application Server: 
• We know that oracle is a popular RDBMS, 
the oracle application server enables web 
based transactions with the database.
• The latest version of oracle AS is 12G- here 
G refers the grid computing. 
• The oracle 9i AS is used in both windows 
and UNIX platforms. It includes oracle 
XML parser and oracleJSP. 
• The oracle 9i AS has two components – 
one is HTTP server and other is 9iAS 
portal, which has OC4J (Oracle AS 
container for J2EE1.4) 
• In oracle 9i AS, the HTTP server responds to 
simple SQL requests from the clients. Here a 
client send the request and getting response 
through 9iAS enterprise web cash.
• The HTTP server is also interfaces with 
9iAS portal. 
• The oracle 9iAS portal has Parallel Page 
Engine (PPE), which retrieves the pages in 
parallel to the portal. 
• In oracle AS J2EE supports the web 
applications and EJB establish sessions 
with the client. 
• The 9iAS containing business logic, 
management, security, e-business and 
portal functions.
Portals: 
• The web portal is a web site, which 
supports the following actions; 
1.It provides application specific programs. 
2.It provides services available from number 
of websites. 
3.It provide services to PC as well as mobile 
devices. 
4.It provide diversified middleware to enable 
transactions with client. 
5.It enables personalized capabilities like 
business transactions to clients.
6. It provides a path for running distributed 
or collaboration applications. 
7. It has portlets. 
8. It may have page processing Engine (PPE) 
IBM web sphere: 
• This portal provide a software architecture 
for applications and business transactions. 
• It has scalability to fit to any size 
organization and it is a extension of voice 
based applications.
Java portal: The Java portlet define a 
contract between portlet container and 
portlets. 
• To use java portal we may deploy JSR-Java 
Specification Recommendation 168. 
• In Java portlet the WSRP- web service for 
remote portlet, is a software works as a 
content aggregator. 
• WSRP access and display content which 
are at remote sites or at portals. 
• Finally a portal includes an authentication 
server, a content aggregator and APIs for 
service.
End of UNIT VI

More Related Content

PDF
Mobile computing unit 5
PPTX
WWW or World Wide Web
PPTX
Cyclone disaster management
PPTX
MULTIPLEXER
PPTX
Speed Detection Of Moving Vehicles (Using Traffic Enforcement Camera)
PPTX
flip flops
PPTX
Integrated Development Environments (IDE)
PPTX
Mobile Application Development Process
Mobile computing unit 5
WWW or World Wide Web
Cyclone disaster management
MULTIPLEXER
Speed Detection Of Moving Vehicles (Using Traffic Enforcement Camera)
flip flops
Integrated Development Environments (IDE)
Mobile Application Development Process

What's hot (20)

PPT
Mobile Computing UNIT-7
PPT
Mobile Computing UNIT-I TO III
PPTX
Unit 1 introduction to computer networks
PPTX
Underlying principles of parallel and distributed computing
PPTX
Frame relay
PPTX
Data Communications and Computer Networks
PPT
4.file service architecture
PDF
IP Datagram Structure
PPSX
Features of mobile ip
PDF
TCP over wireless slides
PPTX
MOBILE COMPUTING Unit 2.pptx
PDF
Business value Drivers for IoT Solutions
PPTX
Data enrichment
PPTX
IT6601 MOBILE COMPUTING UNIT1
PDF
Mobile transportlayer
PPTX
Introduction to Distributed System
PDF
Overview of data communication and networking
PDF
Multiplexing
PPT
Coda file system
DOCX
ISP AND ITS ARCHITECTURE.
Mobile Computing UNIT-7
Mobile Computing UNIT-I TO III
Unit 1 introduction to computer networks
Underlying principles of parallel and distributed computing
Frame relay
Data Communications and Computer Networks
4.file service architecture
IP Datagram Structure
Features of mobile ip
TCP over wireless slides
MOBILE COMPUTING Unit 2.pptx
Business value Drivers for IoT Solutions
Data enrichment
IT6601 MOBILE COMPUTING UNIT1
Mobile transportlayer
Introduction to Distributed System
Overview of data communication and networking
Multiplexing
Coda file system
ISP AND ITS ARCHITECTURE.
Ad

Viewers also liked (8)

PDF
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
PDF
AI Lesson 41
PPTX
It6601 mobile computing unit 5
Mobile Ad-hoc Network (MANET) Routing Algorithms─ Part 1
AI Lesson 41
It6601 mobile computing unit 5
Ad

Similar to Mobile Computing UNIT-6 (20)

PPTX
Distributed dbms (ddbms)
PPTX
SYNCHRONIZATION
PPTX
unit 4-1.pptx
PPT
Lecture notes -001
PPTX
Information storage management_Module 3_FC SAN AND FCoE .pptx
PPTX
Advanced Topics on Database - Unit-1 AU17
DOCX
DISTRIBUTED SYSTEM 16M.docx
DOCX
Provable multicopy dynamic data possession
DOCX
Provable multicopy dynamic data possession
DOCX
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
DOCX
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PDF
Using replication, you can distribute data to different locations an.pdf
DOC
Case Study For Replication For PCMS
PPTX
Disadvantages Distributed System.pptx
PPTX
Design Issues of Distributed System (1).pptx
PPTX
Intro to Distributed Systems (By Lasmon Kapota).pptx
PPTX
DC UNIT 1 cs 3551 DISTRIBUTED COMPUTING.pptx
PPTX
Distributed Database system in Computer Science.pptx
PDF
Provable Multicopy Dynamic Data Possession in Cloud Computing Systems
PDF
Document 22.pdf
Distributed dbms (ddbms)
SYNCHRONIZATION
unit 4-1.pptx
Lecture notes -001
Information storage management_Module 3_FC SAN AND FCoE .pptx
Advanced Topics on Database - Unit-1 AU17
DISTRIBUTED SYSTEM 16M.docx
Provable multicopy dynamic data possession
Provable multicopy dynamic data possession
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
Using replication, you can distribute data to different locations an.pdf
Case Study For Replication For PCMS
Disadvantages Distributed System.pptx
Design Issues of Distributed System (1).pptx
Intro to Distributed Systems (By Lasmon Kapota).pptx
DC UNIT 1 cs 3551 DISTRIBUTED COMPUTING.pptx
Distributed Database system in Computer Science.pptx
Provable Multicopy Dynamic Data Possession in Cloud Computing Systems
Document 22.pdf

Recently uploaded (20)

PPTX
Pharma ospi slides which help in ospi learning
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Basic Mud Logging Guide for educational purpose
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Pre independence Education in Inndia.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Pharma ospi slides which help in ospi learning
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Basic Mud Logging Guide for educational purpose
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
O5-L3 Freight Transport Ops (International) V1.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Microbial diseases, their pathogenesis and prophylaxis
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Abdominal Access Techniques with Prof. Dr. R K Mishra
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Anesthesia in Laparoscopic Surgery in India
Pre independence Education in Inndia.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...

Mobile Computing UNIT-6

  • 1. UNIT - VI SYNCHRONIZATION
  • 2. INTRODUCTION: • We know that the database management in mobile computing have two components- database engine and synchronizer. • Generally a mobile DBMS facilitates insertion, modification, and retrieval of data from local database it also synchronize the change of records at databases in remote central server. • Data dissemination techniques describes how a server or distributed mobile computing system broadcasts data to
  • 3. Mobile devices. • Let us consider a PC is associated with mobile device and this computer connected to the internet which download applications and large files. • Now consider the data at the computer is modified at some instant, the disseminated data at the server has changed at another instant, the data at mobile device is also changed at another instant- the changes are take place at one of the three ends at different instants. There be a need to synchronize the data at three ends.
  • 4. SYNCHRONIZATION: Data disseminated and replicated at remote stations may occur in number of ways. • Data replication may done by copying the data from one place to another place, or copying the data from one place to many other places, or copying the data from many other places to many other places. • For example music files are copied into iPods, iPhones, and to several devices. • The replicated data may be full copy or a partial copy.
  • 5. MOBILE DEVICE Device specific platform, OS, and data format Data copy sent from a system to another system Downlink Mobile service provider or nearby local computer or Device connected to wireless or wired media • Replication from data source to device • Replication from data source to many devices Mobile client devices 1…J Device specific platform, OS, and data format Data copy sent to many devices Downlink Central server or data server connected through wireless or wired media
  • 6. • Data replication among many data sources and devices in peer-to-peer architecture. Mobile computing system or Device - 1 Mobile computing system or Device - 2 Uplink Downlink Uplink Downlink Mobile service provider System specific platform, OS & data formats on each system Data sent between the systems in peer-to-peer architecture
  • 7. Full copy replication: Means that the full set of data records replicates according to certain domain-specific data format rules at the replicating devices or systems. • A server having a set of 8 images with resolution 640 × 640 pixels in the domain of a mobile device, it can replicate and hoard with 160 × 160 pixels when all 8 images copied, though with the different resolution, then it is known as full copy replication. Partial copy replication: A subset of the data set copied according to certain domain-specific rules at the devices or systems.
  • 8. • Partial replication should have consistency and do discrepancy and all basic features of original data. • Generally data replication precedes data synchronization. The synchronization refers to maintaining data consistency among the disseminated or distributed data. • Data consistency means if there is data modification at the server then the modification should reflect in the data with in the device within a defined period. There are two ways of synchronization.
  • 9. One-to-many synchronization: We know that each system stores the data either pushed from the server or by sending the request. • This type of synchronization is occurred in the client server architecture. Here the server maintains a synchronization server, it may separate accounts of different users for that data. • The synchronization server, synchronizes the data and disseminates the copies to each and every client.
  • 10. Many-to-many synchronization: Here the synchronization system have peer-to-peer architecture. • In this architecture each system is capable of pushing the data to other systems as well as getting the data by sending pull requests. • Synchronization within mobile computing comes under the many-to-many synchronization and it is categorizes into fine areas; •
  • 11. 1) Synchronization in mobile computing systems. 2) Usage models for synchronization in mobile computing environment. 3) Domain dependent specific rules for synchronization. 4) Conflict resolution strategies 5) The use of synchronizer.
  • 12. Synchronization in mobile computing systems: Data synchronization is defined as the process of maintaining the availability of data generated from the source and maintaining consistency between the copies pushed from the source and local cached or hoarded data at different computing systems without discrepancies or conflicts among the distributed data.
  • 13. • a consistent copy of data is a copy which may not be identical to the present data record at the data generating source, but must satisfy all the required functions and domain dependent specific rules . • The domain specific rules are in terms of resolution, precision, data format, and time interval permitted for replication. A consistent copy should not be in conflict with the data at the data generating source. • Data generating source for synchronization may be a server, distributed mobile computing system, a
  • 14. Information, and new subscriptions for the services required by the source device. • Data synchronization helps mobile users in accessing data and using it for computing on mobile devices, When a device not connected to a source or server, the user may employ data that is not in conflict with the present state of data at the source. • synchronization also helps mobile users in hoarding the data at the personal area computer and vice versa.
  • 15. •Synchronization helps storage at enterprise server a large chunks of information for the many devices connected to it and update partial copies of data at frequent intervals. • the following are the different processes in data synchronization; 1)Synchronization between the server and device when the server sends full copy. 2)Synchronization between device as a data generating source and server when device sends full copy. 3)Synchronization between server and device when partial but consistent copy stored at device and updated as soon as
  • 16. the copy modifies. 4) Synchronization between server and device for partial but consistent copy stored at the device, but the modified copy at server need not be send to the device on next transaction. Types of synchronization: Data synchronization has happened in between the mobile device and service provider (server), mobile device and personal computer or between the mobile devices which are enabled Wi-Fi or Bluetooth.
  • 17. The following are different synchronization categories; 1)Two way synchronization: Partial or full copies of data are synchronized between device and server. For example consider the same data set at the device and at the server, two way synchronization mean, any changes made at one side it should be consistent at other side. 2)Server alerted synchronization: In this method when the data is modified at server, then it generates the alerts the to the clients, now the client synchronizes
  • 18. modified data by placing the pull request to the server. 3) One way server initiated synchronization: In this method server initiates synchronization of any new modifications since the communication of last modification. Now the server sends the modified copy to the client. 4) Refresh synchronization at client: In this method, client initiates the synchronization with the server for refreshing its data and refreshing its configuration parameters saved at server.
  • 19. For example, when the connecting device parameters are changed or a new device connected to the server, then the configuration information is send to the server to takes place the data dissemination from server or refresh synchronization at client in future. 5) Client initiated synchronization: Here the client initiates synchronization with the server for sending its modifications. For example, the client mobile device initiates synchronization of ring tones or music files available at server, in periodic
  • 20. Intervals, or as and when it connects to the server. 6) Refresh from client for backup and update synchronization: Here the client initiates the synchronization and sends backup to the server for updating its data. For example, a mobile device initiates refreshing of the hoarded data at the server in periodic intervals, or as and when it connects to the server. 7) Slow (full data copy) synchronization: In this method client and server data copies are compared field by field and are
  • 21. synchronized as per conflict resolution rules. The full copy synchronization is takes place when device is in idle state and immediately not connected to the server. For this reason it is called slow synchronization, but it is a thorough synchronization. Formats of Synchronization Data copies: During the synchronization the data formats at a server and at the device may different from each other. • When the data at the source is synchronized with data at the receiver, it
  • 22. should be done as per the formats of the receiver. The following are different formats of data at the receiver; 1)Database Records: Here the records are indexed to facilitate search operation by placing the query. For example, the contacts in the mobile are indexed as per the first alphabet of the name. 2) Flat Files: In the flat file format the data should be interpreted as a single unit. That is we should read the file from beginning to end, data should not picked
  • 23. from the middle of the file. For example, an XML or HTML file at the server is synchronized with the file at device which is in text or binary file format, the total file should transmitted to the device. 3) Device specific storage: Some times a device may use the specific storage format for synchronize data with the server. The device specific format is depending upon a specific protocol used by the device. For example, AAC (Apple Audio Communication) is used to music files
  • 24. synchronization with in Apple iPod. Contact information in vCard format, vToDO, vCalender, vjournal are used in some mobile devices. Usage Models for Synchronization: • Four usage models employed for synchronization in mobile computing systems. 1) Synchronization between two APIs with in a mobile computing system: The usage model for synchronization between two application programming interfaces is the data generated by an application is
  • 25. synchronized and used in another application. An API running at the device synchronizes data with another application on the same device or another device. The following diagram shows synchronization between two APIs of the same mobile computing system. Mobile computing system application i Mobile computing system application j Data Synchronization
  • 26. • Data records at personal information manager (PIM) API synchronized with the email API, when email from a new source retrieves at the email API in the device, the name and email address data fields at the application saved as new data record at PIM API. Next time an email is to be sent to the same person, the email API uses the same data record from the PIM API. 2) Synchronization between the device and nearby local computer or device connected through a wireless or wired network: This type of synchronization fall into to another usage model to synchronize the data.
  • 27. • This type of synchronization is also called Personal Area Synchronization (PAS) using PAS software HotSync or ActiveSync. For example, synchronization with nearby PC through a serial port using a wired connection to PC and device, synchronization with the nearby computer through a wireless personal area network (WPAN) using ZigBee or Bluetooth. The following diagram shows the device and local computer connected through wire or wireless network.
  • 28. Mobile Device Data synchronization Device specific platform, OS, and data format at the device Computer connected to device by wireless, Bluetooth, IrDA or ZigBee protocol Computer specific platform, OS, and data formats 3) Synchronization between remote systems and device: The device data records synchronize with the mobile service provider server records and vice versa. Here the device connects to remote systems on Internet through the wired, wireless mobile service provider, or WiFi
  • 29. For example, IntelliSync is a synchronizer synchronizes data at the remote systems with PAS, it is able to do the synchronization through wireless. It is a open architecture, thus can be integrated with enterprise architecture. 4) Synchronization between the device and remote system through local computer: In this case the synchronization is happened between remote server and mobile device through a local system. • Here first the synchronization takes place between local system and mobile node
  • 30. by using the ActiveSync, or Bluetooth, then the local system synchronizes the data at remote server by using WLAN, WiFi etc. Mobile Device Device specific platform, OS, & Data format at each device Computer connected to device by wire, wireless, Bluetooth, IrTA, or ZigBEE Remote System or Server Data synchronization between device & Server
  • 31. Domain dependent specific rules for data synchronization: • A mobile computing system consists of multiple domains in which data synchronization takes place. • Data in mobile device domain has different rules for storage and usage compared with remote system. • For example data in a system domain is identified by alphabets maximum of 255 characters, and the same data in mobile domain may identified with 8 bit number.
  • 32. • The following are the some domain specific rules for data synchronization. 1)Data synchronization in domain specific platforms and data formats: Here data synchronization can takes place between data generating domain and destined domain, both have different platforms and formats. For example, a database record at the device may be in structured text or XML format and its OS is Symbian. Now the record is synchronized with database record at server where it can be in DB2
  • 33. or oracle format and its OS may be windows. 2) Domain specific data property dependent synchronization: Data synchronization takes place one domain with one data property and another domain having different property. For example, a data record ID at the device is specified in byte format, after the synchronization the same record is specified in 16-bit word at the server. Another one is a device use 8-bit ASCII for ID, while server uses 16-bit Unicode.
  • 34. 3) Synchronization up to last successful act of synchronization: One of the domain specific rule is the data record is considered to be synchronized if it was updated at the last connection. For example, the call log in phone has the records of missed calls, dialled numbers, and received calls. A data record at the access point is synchronized with phone it was updated at the last connection, then it eventually updated on the next connection.
  • 35. 4) Memory infrastructure dependent rule based synchronization at two different domains: Here the domain specific rule is the data records are synchronized up to the allotted memory. For example, At the remote server data is maintained in the allotted memory of 8 MB and a device allotted 128KB only for that data. Thus only part of the data items can be synchronized and saved at the device. The device synchronizes data from the remote server for each time.
  • 36. • Memory infrastructure dependent rule, that maximum data be synchronized at the device and arranged in order such that the last cached data is at top and least recently cached is on last. • Memory infrastructure dependent rule, that minimum data be synchronized at the device and arranged in order such that the last cached data is at top and least recently cached is on last. 5) Synchronization with temporal properties of data: A domain specific rule that data records synchronized within specific time
  • 37. interval and within time specified by the domain. For example, certain data records are synchronized every day, week or in a month. A critical data record must be updated before using the data within least time, otherwise the data is considered to be in temporal conflict.
  • 38. Personal Information Manager: Personal Information Manager is a software that manages the data. Now a days most of the smart phones have a specialized API for PIM. • The PIM API may also include the synchronizer with other devices and applications. • The function of the PIM is, creation of data copies, updating, replacement, addition and deletion of data records. • The PIM is also responsible for sending of data to API and receiving of data from
  • 39. another API, as well as sorting of the records. • PIM may also manages the data copies at the devices for user. It also provide multiple selections and various options through PIM API. • The PIM API has several applications such as calendar, address book, tasks to do etc.. • The PIM address book consists list of contacts with office, home, mobile, fax, web addresses and email Ids. • Tasks-to-do consists a list of planned tasks by the user. It also reminds the user
  • 40. Of the task as per the planned time. • The PIM data is able to synchronize with PC, WPAN, remote system, or at another mobile device. • Suppose the mobile device may loose the PIM data records due to accidental deletion or battery power loss, there is an option for synchronization called “restore” which helps restoring the copies at the device. • When the mobile device connected to a PC, WPAN, remote system, or another mobile the copies are synchronized with that device to use later.
  • 41. • Here the system may store (backup) the hole data or only the selected content. Synchronization & Conflict resolution strategies: • Conflict in synchronization arises when a data copy changed at one end but not simultaneously modified at other ends therefore, the same data item at two ends, is not same. • Let the data items P and Q, in conflict during computation in the time interval between t1 and t2, where t1 and t2 are the instants when P and Q are modified.
  • 42. •A conflict resolution strategy adopted in such cases to resolve conflicts, the strategy specifies the rules that need to be applied for conflict resolution. 1)Priority based resolution rule: Data-server can be specified as dominant higher priority entity for conflict resolution of synchronized data records. For example, let us consider mobile-service-provider server S having a list of missed, dialed, and received calls for the device D. D has a synchronized list of missed, dialed, and received calls. When the list at D in conflict with the list at S,
  • 43. priority-based resolution rule specifies that the server priority is higher. 2) Time based resolution rule: Data node P specified as dominant entity when P always receives copies first from the server S. For example, S having the emails disseminated to the device D at an instant t1 D connects to a personal area computer (PC) to which the device always synchronizes the mails at a later instant t2 Time-based resolution rule specifies that D dominant because it receives the mails earlier than the PC.
  • 44. 3) Information based resolution rule: Data node can be specified as dominant entity when information specific to it is synchronized with other nodes. For example, Server S having the device configuration record disseminated from the device D Information-based resolution rule specifies that since the information is for the device D hence D is dominant node. For device-specific information, the device data accepted rather than the server data.
  • 45. 4) Time stamp based resolution rule:Time-stamp- based resolution rule necessitates that a time-stamp must be used while sending a data copy. The copy found to be latest resolves the conflict. For example, Server S having the flight information which it always disseminates at regular intervals with a time stamp over it to the device D and as well as to a PC. 5) User interaction based resolution: An API at a device allows a user to interact with the device and this interaction resolves the conflict arising out of the duplicate or multiple entries.
  • 46. User interaction resolution rule specifies that the duplicate data entries permitted at the node when a receiver API later on resolves the conflict after interaction with User. For example, Two phone number entries found for same name and address, the device prompts user to resolve the conflict, user resolves the conflict by opting for one of it.
  • 47. Synchronizer: • Synchronizer is a software tool for synchronization. It resides at the host. If the synchronizer host is a server then it is called synchronization server. • Synchronizer is configured as per specified domain dependent and conflict resolution rules. • Synchronizer finds any data item or record appended at the data set. • The synchronizer discovers modifications with respect to the last action of synchronization on specified data copies
  • 48. Which has been deleted, added, or modified. It resolves the conflict as per the resolution rules. • Synchronizer disseminates the changes to other devices or systems so that other devices incorporate changes in their data copies. A synchronizer adopts the method for synchronization more efficient compared to one in which the synchronizer directly retrieves the changed records.
  • 49. • First logs in the information about the records which have been changed and then retrieves the changed records by just setting or resetting a flag called dirty or invalid flag. • When associated flag in set state (=1),record R state is modified or invalidated since previous synchronization. When in reset state (=0), R is not modified or invalidated since previous synchronization. Reduces the possibility of using conflicting entries at the server (or device) hosting the synchronizer.
  • 50. Mobile Agent: • Mobile agent consists of software with data, which can move from one computing system to another autonomously and does functions for a device or system. • The mobile agent can also described as an autonomous software which runs on a host with some data and which dynamically moving to another host as and when required. • Mobile agent is a powerful tool for distributed applications and retrieval of remote host information.
  • 51. • Mobile agent has dynamic software that runs on different hosts at different times. It makes available the resources of the host to the resource-scarce devices, discovers new resources, and monitors the distribution of resources. • It also manages the network and the distributed computing systems. It is very effective alternative to the use of application-specific server(s) and device middleware for retrieving information and Messages. • the following diagram shows mobile agent based architecture.
  • 52.
  • 53. •Here the agent moves at instants T1, T2, and T3 to process a request, get email, and get records from a database, respectively, when a mobile agent moves at instant T1, T2, or T3, it saves its own state at the host and transmits this saved state to the next host in order to resume execution of the codes starting from the saved state. Mobile agent characteristics: 1. Mobility of code and data from one computing system (host) to another. 2. Ability to learn in order to adapt code and data to the host computing system.
  • 54. 3. Ability to clone, extend, or dispose itself after its role finishes. 4. Compatibility to the hosts. 5. Ability to continuously and autonomously process requests and send responses and alerts. Advantages of mobile agents: 1. Asynchronous running of codes on diversified heterogeneous hosts. 2. Reduced computational and data requirements on the devices with limited resources. 3. Tolerance to connection failures.
  • 55. 4. Only the agent source (for example, device middleware, which sends the agent) needs to be modified in order to redefine the functions expected from the agent. • There is no need of a centralized or an application-specific server. 5. An agent can send the requests to a computing system as well as generate responses for requests from the system. An agent thus has certain similarities to peer-to- peer architecture. 6. The connection protocol and the connecting network between host and source are immaterial.
  • 56. • The main objective of mobile agents is application virtualization environment. An agent may have strong or weak mobility. • An agent may also have migration and collaboration latencies. Migration latency means the waiting period in migrating from one host to another. • Collaboration latency means waiting period in start of collaboration between application server and service requesting system. • There is some environmental and platform specific difficulties in implementing mobile
  • 57. agents due to adaptability and compatibility of diversified hosts and also some security specific is there. Aglets: Aglet is a Java base agent. Java is a mobile agent platform and library which are used for building applications based on mobile agents. • An aglet can move autonomously and spontaneously and its code can move from one host to another. • Aglet code can able to execute on remote host and it adopt the behaviour according to the host.
  • 58. • Java security classes are used to provide security to the aglets. Application Server: • Application server (AS) is a software which executes on server computer. • The application server implements application level logic for business functions. • Here application logic means, the logic commands or instructions are used for sending and receiving logic results from computing systems (clients) by the application server.
  • 59. • The business functions means how the logical transactions carried out between the server and the client. • The following are some example transactions carried out by the mail AS. (a) Establishing connection between mail APIs (application program interfaces) and mail server. (b) Updating mails by inserting, adding, replacing, or deleting. (c) Querying for the mails. (d) Terminating the connection between the API and the mail server.
  • 60. • The application server gets the requests from collaborating or independent mobile devices of an enterprise or from distributed mobile computing system. • All the requests are processed by the application server and responses are send back. • The following are different functions exhibit by the application server. 1)It provides application services and runtime environment. 2)It handles presentation services to the systems (clients) for this purpose it
  • 61. maintains a separate database records. 3)An application server itself integrates with backend databases and systems. The following diagram shows N tire application server.
  • 62. • Here consider that there are j clients which can request to the server. A client 1 … or j sends the request from collaborating or independent mobile devices of an enterprise or from a distributed mobile computing system. • Now the requests are passed through tire-1 to tire N and then responses are sent to the backend system, tire-1. The following are the some of the services provided by the application server at tire-2 1. Service i: application logic processing at the server
  • 63. 2. Service j: presentation services for device responses and decoding the device requests. 3. Service k : transaction services with support to pervasive computing model of mobile applications. 4. Application l: system integration service for backend services and database at Tiers 3, …, N. The following are the examples of web database and enterprise application servers; 1.IBM DB2 is an RDBMS (Relational Database Management System) data server from IBM,
  • 64. and its versions run on handheld devices and in enterprises where application logic processing at the server. 2. Oracle 9i database Server-RDBMS Oracle9i server has a large number of features and it supports XML documents and has an option for cluster database. Enterprise Server: • A server which is centralized data server in an enterprise in known as enterprise server. • The enterprise server holds most of the information about the enterprise and it responds to the request that are from
  • 65. • The enterprise servers consists of at least 3 to N tires. These servers has backend database. The following are examples for enterprise servers 1.Web Generic application servers for Java-based web applications (Microsoft, Sun, and Netscape) with additional support for wireless network and mobile devices. 2. IBM Web Sphere Application Server with specialized mobile Web computing application server.
  • 66. 3. IBM Domino Application Server for workgroups, email applications, and support for handheld and Windows CE devices. 4.Microsoft Mobile Information Server. (e.g., for messenger and email). 5. Oracle 9i Application Server for database services with mobile support. 6. Puma and Synchrologic iMobile Suite for data-synchronization services. 7. Nokia WAP (Wireless Application Protocol) Server for wireless Internet WAP apps. 8. BlackBerry Enterprise Server (BES)─ a middleware software for BlackBerry wireless devices.
  • 67. Sun Java System Web Server 6 • Sun Java System web server 6 is used for large business applications. It is compatible with number of operating systems and allows the deployment of CGI, PHP, ColdFusion, Servelets, JSP and ASP. • CGI-Common Gateway Interface is a protocol, it is a language neutral interface for processing. It use PERL or PHP. • PHP-Pre Hypertext Processor, is a language for processing the text and preparing it in hypertext format and enables dynamic web pages.
  • 68. • ColdFusion creates pages by joining different entities, elements, and databases before a web server sends the response to the client. • Servelets are Java classes at the server side and JSP is a web page at the server which does the following using servelets; a)Process the web page. b)Connects the page to database. c)Deploy Java script code, Java components and directives. d)Generates responses when client send request in HTML.
  • 69. • ASP-Active Server Page is also a web page do the following; a)Process the web page. b)Connects to the database. c)Deploy Java script, VB script and directives. d)Generates responses when client send request in HTML. e)Provide application services include email service, security, file system, and session management.
  • 70. • In ASP an access manager provides secure access to web based resources and session management lead to starting a session, carrying transactions and closing the session. Content Engine: • Sun Java web server 6 has a content engine. It is a software layer, used for publishing web application response. • In other words, it is a program which uses content sources at a server and drives them to destination.
  • 71. • Here driving means, sending publishing, or generating response to web applications so that the client gets the required content from the source (server). • The content engine has three components-search engine, content management engine, and HTTP engine. • The content engine is a layer for web content creation, addition to existing contents, and storage of content page using HTML, JSP, and ASP. • It maintains integrity of clients content at the server.
  • 72. IBM WebSphere MQe: • IBM websphere is an application server for web applications on mobile devices with Messaging and Queuing Everyplace (MQe). • Every place means for mobile devices at all places including sensors, phones, PDAs,IBM WebSphere Voice Server, text-to-speech(TTS) software, and IBM WebSphere RFID Premises Server. • It runs on mobile devices with application accelerator, which accelerates the running of an application so the results obtain much faster.
  • 73. • The functions of websphere is deployment and integration of client data. • The following are the feature of MQe; 1.It assure secure messaging. 2.It decouples from the application. 3.It uses queue manager that sends messages onto a queue. 4.It has adapters that adapt to device interfaces. 5.It enables remote connection to mobile devices.
  • 74. • MQe has a development kit used for developing applications for messaging for mobile devices. • MQe includes portal, transcoding, and personalization servers. A web portal or server deploys data formats and codes which are different from each mobile device. • Websphere provides three basic services-configuration services, directory services, and networking protocols. • The basic service of websphere is configuration service and next one is
  • 75. Directory service. It deploys JNDS-Java Naming and Directory Service and LDAP-Light weight Directory Access Protocol. • Websphere also has a HTTP server which functions as a web server. • The following are other services of websphere; 1. Device management and management of subscriptions for the applications, websphere provides the devices with connectivity protocols, such as TCP/IP, CDMA, GSM and WAP.
  • 76. 2. It provides a synchronization engine, which synchronizes the data at the device with the server. It maintains consistency without conflicts. 3. It facilitates device caching. 4. It enables load balancing, that is distribution of time between multiple client requests. Oracle Application Server: • We know that oracle is a popular RDBMS, the oracle application server enables web based transactions with the database.
  • 77. • The latest version of oracle AS is 12G- here G refers the grid computing. • The oracle 9i AS is used in both windows and UNIX platforms. It includes oracle XML parser and oracleJSP. • The oracle 9i AS has two components – one is HTTP server and other is 9iAS portal, which has OC4J (Oracle AS container for J2EE1.4) • In oracle 9i AS, the HTTP server responds to simple SQL requests from the clients. Here a client send the request and getting response through 9iAS enterprise web cash.
  • 78. • The HTTP server is also interfaces with 9iAS portal. • The oracle 9iAS portal has Parallel Page Engine (PPE), which retrieves the pages in parallel to the portal. • In oracle AS J2EE supports the web applications and EJB establish sessions with the client. • The 9iAS containing business logic, management, security, e-business and portal functions.
  • 79. Portals: • The web portal is a web site, which supports the following actions; 1.It provides application specific programs. 2.It provides services available from number of websites. 3.It provide services to PC as well as mobile devices. 4.It provide diversified middleware to enable transactions with client. 5.It enables personalized capabilities like business transactions to clients.
  • 80. 6. It provides a path for running distributed or collaboration applications. 7. It has portlets. 8. It may have page processing Engine (PPE) IBM web sphere: • This portal provide a software architecture for applications and business transactions. • It has scalability to fit to any size organization and it is a extension of voice based applications.
  • 81. Java portal: The Java portlet define a contract between portlet container and portlets. • To use java portal we may deploy JSR-Java Specification Recommendation 168. • In Java portlet the WSRP- web service for remote portlet, is a software works as a content aggregator. • WSRP access and display content which are at remote sites or at portals. • Finally a portal includes an authentication server, a content aggregator and APIs for service.