SlideShare a Scribd company logo
2/12/2016
IT 2404 Mobile Communication
By
Dr T Gnanasekaran
1
WAP Model- Mobile Location based services WAP
Gateway–WAP protocols – WAP user agent profile-
caching model-wireless bearers for WAP - WML –
WMLScripts – WTA - iMode- SyncML.
UNIT V
APPLICATION LAYER
2/12/2016 2
WAP- Wireless Application
Protocol
2/12/2016 3
Overview
 WAP Introduction
 WAP architecture requirements
 Architecture overview
 World-wide web model
 WAP model
 Components of WAP architecture
 Sample Configuration of WAP technology
 Usage, Advantages & Disadvantages of WAP
 Summary
2/12/2016 4
WAP- Wireless Application Protocol
 An open, global specification that empowers mobile users
with wireless devices to easily access and interact with
internet information and services instantly.
 The wireless industry came up with the idea of WAP. The
point of this standard was to show internet contents on
wireless clients, like mobile phones.
2/12/2016 5
 WAP stands for Wireless Application Protocol
 WAP is an application communication protocol
 WAP is used to access services and information
 WAP is inherited from Internet standards
 WAP is for handheld devices such as mobile
phones
 WAP is a protocol designed for micro browsers
 WAP enables the creating of web applications for
mobile devices.
 WAP uses the mark-up language WML (not
HTML) WML is defined as an XML 1.0
application
2/12/2016 6
The WAP specifications continue to be developed by
contributing members, who, through interoperability
testing, have brought WAP into the limelight of the
mobile data marketplace with fully functional WAP–
enabled devices as shown below:
2/12/2016 7
The basic AIM of WAP is to provide a web-like
experience on small portable devices - like mobile
phones and PDAs.
2/12/2016 8
Purpose of WAP
To enable easy, fast delivery of relevant information
and services to mobile users.
Type of devices that use WAP
Handheld digital wireless devices such as mobile
phones, pagers, two-way radios, smart phones and
communicators -- from low-end to high-end.
WAP works with most Wireless networks such as:
CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX,
ReFLEX, iDEN, TETRA, DECT, DataTAC, Mobitex.
2/12/2016 9
Operating systems that are compatible with
WAP
•WAP is a communications protocol and an
application environment.
•WAP is independent of OS that means WAP can be
implemented on any OS.
•It can be built on any operating system including
Palm OS, EPOC 32, Windows CE, FLEXOS, OS/9,
Java OS, etc. It provides service interoperability even
between different device families.
2/12/2016 10
WAP Architecture Requirements
 Leverage existing standards whenever possible
 Define a layered, scaleable and extensible architecture
 Support as many wireless networks as possible
 Optimize for narrow-band bearers with high latency
2/12/2016 11
WAP Architecture Requirements
(Contd.)
 Optimize for efficient use of device resources
 Provide support for secure applications and
communication
2/12/2016 12
Architecture Overview
 WWW programming model is optimized and extended
to match characteristics of the wireless environment
 Utilizes proxy technology to connect between the
wireless domain and WWW
2/12/2016 13
World-Wide Web Model
CGI,
Scripts,
Etc.
Content
Web Server
Client
Web
Browser
Request
(URL)
Response
(Content)
2/12/2016 14
WAP Programming Model
CGI,
Scripts,
Etc.
Content
Web Server
Client
WAE
User
Agent
Request
(URL)
Response
(Content)
Gateway
Encoders
And
Decoders
Encoded
Request
Encoded
Response
2/12/2016 15
 WAP Device
- Is used to access WAP applications and
content. It might be a PDA, handheld computer.
 WAP Client
- Entity that receives content from Internet via a
WAP Gateway. This is usually the WAP Browser.
 WAP Content/Origin/Application Server
- Element in the network where the information
or web/WAP applications resides.
2/12/2016 16
WAP Proxy
- Acts both as a client and as a server in the
network.Typically has
 Protocol gateway : translates requests from the WAP
protocol stack to WWW protocol stack
 Content encoders and decoders : translate WAP content
into compact encoded formats to reduce the size of data
over the network
It allows content and applications to be hosted on
standard WWW servers and developed using proven
WWW technologies such as CGI scripting
2/12/2016 17
 WAP Gateway
- Intermediary element used to connect two different
types of network. It receives request directly from
the clients as if it actually were the origin server that
clients want to receive the information form. The
clients are usually unaware that they are speaking to
the Gateway.
 WAP Browser
 Software running on the WAP device that interprets the
WAP content arriving from the internet and decides how
to display it on WAP device.
2/12/2016 18
WML
 WML – Wireless Markup Language formerly
called HDML (Handheld Devices Markup
Language)
 Is a tag language that allows the text portions of
Web Pages to be presented on cellular phones and
Personal Digital Assistants (PDAs) via wireless
access.
 WML is used for delivering data to WAP devices,
and is HTML- like in its appearance.
 An alternative to WML is I-Mode’s cHTML
language.
2/12/2016 19
WAP Network Example
Web
Server
Wireless
Network
WAP
Proxy
HTML
Filter
WTA
Server
WAP
Client
WML
WML
HTML
2/12/2016 20
WWW Protocol Stack
TCP/IP
UDP/IP
TLS - SSL
HTTP
HTML
Java Script
2/12/2016 21
Components of WAP Architecture
Other Services
And Applications
Transport Layer (WDP)
Security Layer (WTLS)
Transaction Layer (WTP)
Session Layer (WSP)
Application Layer (WAE)
GSM CDMA PHS IS-136 CDPD PDC-P FLEX Etc…
Bearers :
TCP/IP
UDP/IP
TLS - SSL
HTTP
HTML
Java Script
2/12/2016 22
Wireless Application Environment (WAE)
 General-purpose application environment based on a
combination of WWW and mobile telephony
technologies.
 It defines the user interface on the phone. It contains
WML and WTA (Wireless Telephony Application).
 Primary objective – interoperable environment.
2/12/2016 23
Wireless Application Environment
(Contd.)
 WAE includes a micro-browser (Client software
designed to overcome challenges of mobile handheld
devices that enables wireless access to services such
as Internet information in combination with a suitable
network) server environment which provides
 WML
 WML script
 WTA
 Content formats
2/12/2016 24
Wireless Session Protocol (WSP)
 The WAP session protocol (WSP) layer provides
a lightweight session layer to allow efficient
exchange of data between applications.
 Application layer with a consistent interface for
two session services
 Connection-oriented service that operates above
the transaction layer protocol (WTP)
 Connectionless service that operates above a
secure or non-secure datagram service (WDP)
 Optimized for low-bandwidth bearer networks
with long latency
2/12/2016 25
Wireless Transaction Protocol (WTP)
 Runs on top of a datagram service
 The WAP transaction protocol (WTP) layer
provides transaction support, adding reliability to
the datagram service provided by WDP.
 Light weight transaction-oriented protocol
 Three classes of transaction services
 Unreliable one-way requests
 Reliable one-way requests
 Reliable two-way request-reply transactions
2/12/2016 26
Wireless Transport Layer Security (WTLS)
Based on industry-standard Transport Layer
Security (TLS) protocol
 Optimized for use over narrow-band
communication channels
 Features:
 Data integrity
 Privacy
 Authentication
 Denial-of-service protection
2/12/2016 27
Wireless Datagram Protocol (WDP)
 The WAP datagram protocol (WDP) is the
Transport layer that sends and receives messages
via any available bearer network, including SMS,
USSD, CSD, CDPD, IS–136 packet data, and
GPRS.
 Operates above the data capable bearer services
supported by various network types.
 Provides a common interface to the upper layer
protocols and hence they function independent of
the underlying wireless network.
2/12/2016 28
Bearers
 Differing levels of quality of service with respect to
throughput, error rate, and delays
 WAP protocols are designed to compensate for or
tolerate these varying levels of service
 WDP specification lists the bearers that are supported
and techniques used to allow WAP protocols to run
over each bearer
2/12/2016 29
Sample WAP Stacks
No layer
IP Non-IP
UDP WDP
WTP
WSP/B
WAE
WTLS
WAE
User Agents
No layer
IP Non-IP
UDP WDP
WTP
WTLS
Applications over
transactions
No layer
IP Non-IP
UDP WDP
WTLS
Applications over
Datagram Transport
WAP Technology
Outside of WAP
2/12/2016 30
Mobile-Originated Example of WAP
Architecture
The request from the mobile device is sent as a URL through the operator's
network to the WAP gateway, which is the interface between the operator's
network and the Internet as shown in the figure below.
2/12/2016 31
FUTURE OF WAP
Will WAP comply with Third Generation wireless
standards?
Yes, WAP has been designed to be as independent as possible from
the underlying network technology.
Is WAP necessary with higher bandwidth 3G networks?
Even as bandwidths increase, the cost of that bandwidth does not
fall to zero. These costs result from higher power usage in the
terminals, higher costs in the radio sections, greater use of RF
spectrum, and increased network loading. In addition, the original
constraints WAP was designed for -- intermittent coverage, small
screens, low power consumption, wide scalability over bearers and
devices, and one-handed operation -- are still valid in 3G networks.
Finally, we can expect the bandwidth required by application users
to steadily increase. Therefore, there is still a need to optimize the
device and network resources for wireless environments. We can
expect WAP to optimize support for multimedia applications
that continue to be relevant.2/12/2016 32
If WAP is very successful in mass-markets on 2.5G networks,
3G networks may be needed purely for capacity relief.
The reasons to migrate to WAP technology
Network operators are behind WAP
With minimal risk and investment, WAP enables operators to
decrease churn, cut costs, and increase revenues by improving
existing, value-added services and offering exciting new
informational services.
Why are equipment manufacturers interested in
WAP?
Being a global open specification suite, WAP has generated the
critical mass for manufacturers. This has opened up new
product and marketing opportunities in the wireless industry
and provides new revenue to participating companies.
2/12/2016 33
WAP in the Competitive Environment
Competition for WAP protocols could come from a number of
sources:
• subscriber identity module (SIM) toolkit—The use
of SIMs or smart cards in wireless devices is already
widespread and used in some of the service sectors.
• Windows CE—This is a multitasking, multithreaded
operating system from Microsoft designed for including or
embedding mobile and other space-constrained devices.
• JavaPhone™—Sun Microsystems is developing
PersonalJava™ and a JavaPhone™ API, which is embedded in a
Java™ virtual machine on the handset. NEPs will be able to
build cellular phones that can download extra features and
functions over the Internet; thus, customers will no longer be
required to buy a new phone to take advantage of improved
features.
2/12/2016 34
USAGE
- Corporate Applications: Sales force automation
where sales people use their WAP enabled handsets to
get instant, direct access to the latest pricing, latest
news, competitive information any time, anywhere.
- Online Services:
Banking: Users can get their current balance,
transfer funds between accounts and receive fax of a
mini-statement.
Electronic Commerce: Subscribers can use their
handset just like their PC to purchase products and
services over the Web.
2/12/2016 35
- Tele services
Prepaid Services: With a WAP-enabled phone,
prepaid subscribers can see their current balance with the
press of a button. By pressing another button, they can
also recharge their account by entering a credit card or
voucher number into the handset.
- Personal Productivity
Email: Using WAP users can keep track of their
email right from their handset.
- Others include:
- Interactive Chat
- Auctions
- Games
2/12/2016 36
The ADVANTAGES that WAP can offer over these
other methods are the following:
•open standard, vendor independent
•network-standard independent
•transport mechanism–optimized for wireless data
bearers
•application downloaded from the server, enabling
fast service creation and introduction, as opposed to
embedded software
2/12/2016 37
DISADVANTAGES of WAP
 Small screens: For web phones, there's an incredibly small
viewing area; palmtops are barely better.
 Speed of access: All devices have slow access.
 Limited or fragmented availability: Wireless web access
is sporadic in many areas and entirely unavailable in other
areas.
 Price: Many technology limitations are being addressed
by higher-end devices and services. But the entry price for
a good wireless web palmtop with decent display,
keyboard, and speed is easily $700 to $900, not including
monthly access.
 Lack of user habit: It takes some patience and overcoming
the learning curve to get the hang of it -- connecting,
putting in an address, typing. Users just aren't used to the
idea and protocol yet.
2/12/2016 38
Summary
• WAP provides a markup language and a transport protocol that
open the possibilities of the wireless environment and give players
from all levels of the industry the opportunity to access an
untapped market that is still in its infancy.
• The bearer-independent nature of WAP has proved to be a long-
awaited breath of fresh air for an industry riddled with multiple
proprietary standards that have suffocated the advent of a new
wave of mobile-Internet communications. WAP is an enabling
technology that, through gateway infrastructure deployed in
mobile operator's network, will bridge the gap between the
mobile world and the Internet, bringing sophisticated solutions to
mobile users, independent of the bearer and network.
• Backed by 75 percent of the companies behind the world's
mobile telephone market and the huge development potential of
WAP, the future for WAP looks bright.
2/12/2016 39
Wireless Application Protocol
(WAP)
 Open standard providing mobile users of wireless
terminals access to telephony and information services
 Wireless terminals include wireless phones, pagers and
personal digital assistants (PDAs)
 Designed to work with all wireless network technologies
such as GSM, CDMA, and TDMA
 Based on existing Internet standards such as IP, XML,
HTML, and HTTP
 Includes security facilities
2/12/2016 40
WAP Protocol Stack
2/12/2016 41
WAP Programming Model
2/12/2016 42
Wireless Markup Language (WML)
Features
 Text and image support – formatting and layout
commands
 Deck/card organizational metaphor – WML
documents subdivided into cards, which specify one
or more units of interaction
 Support for navigation among cards and decks –
includes provisions for event handling; used for
navigation or executing scripts
2/12/2016 43
WML Script
 Scripting language for defining script-type programs in a
user device with limited processing power and memory
 WMLScript capabilities:
 Check validity of user input before it’s sent
 Access device facilities and peripherals
 Interact with user without introducing round trips to origin
server
2/12/2016 44
WML Script
 WMLScript features:
 JavaScript-based scripting language
 Procedural logic
 Event-based
 Compiled implementation
 Integrated into WAE
2/12/2016 45
Wireless Application Environment
(WAE)
 WAE specifies an application framework for wireless
devices
 WAE elements:
 WAE User agents – software that executes in the wireless
device
 Content generators – applications that produce standard
content formats in response to requests from user agents in
the mobile terminal
 Standard content encoding – defined to allow a WAE user
agent to navigate Web content
 Wireless telephony applications (WTA) – collection of
telephony-specific extensions for call and feature control
mechanisms
2/12/2016 46
WAE Client Components
2/12/2016 47
Wireless Session Protocol (WSP)
 Transaction-oriented protocol based on the concept of a
request and a reply
 Provides applications with interface for two session
services:
 Connection-oriented session service – operates above
reliable transport protocol WTP
 Connectionless session service – operates above unreliable
transport protocol WDP
2/12/2016 48
Connection-mode WSP Services
 Establish reliable session from client to server and
release
 Agree on common level of protocol functionality
using capability negotiation
 Exchange content between client and server using
compact encoding
 Suspend and resume a session
 Push content from server to client in an
unsynchronized manner
2/12/2016 49
WSP Transaction Types
 Session establishment – client WSP user requests
session with server WSP user
 Session termination – client WSP user initiates
termination
 Session suspend and resume – initiated with suspend
and resume requests
 Transaction – exchange of data between a client and
server
 Nonconfirmed data push – used to send unsolicited
information from server to client
 Confirmed data push – server receives delivery
confirmation from client
2/12/2016 50
Wireless Transaction Protocol
(WTP)
 Lightweight protocol suitable for "thin" clients and
over low-bandwidth wireless links
 WTP features
 Three classes of transaction service
 Optional user-to-user reliability: WTP user triggers
confirmation of each received message
 Optional out-of-band data on acknowledgments
 PDU concatenation and delayed acknowledgment to reduce
the number of messages sent
 Asynchronous transactions
2/12/2016 51
WTP Transaction Classes
 Class 0: Unreliable invoke message with no result
message
 Class 1: Reliable invoke message with no result message
 Class 2: Unreliable invoke message with one reliable
result message
2/12/2016 52
WTP PDU Types
 Invoke PDU – used to convey a request from an
initiator to a responder
 ACK PDU – used to acknowledge an Invoke or Result
PDU
 Result PDU – used to convey response of the server to
the client
 Abort PDU – used to abort a transaction
 Segmented invoke PDU and segmented result PDU –
used for segmentation and reassembly
 Negative acknowledgment PDU – used to indicate that
some packets did not arrive
2/12/2016 53
Examples of WTP Operation
2/12/2016 54
Wireless Transport Layer Security
(WTLS) Features
 Data integrity – ensures that data sent between client
and gateway are not modified, using message
authentication
 Privacy – ensures that the data cannot be read by a
third party, using encryption
 Authentication – establishes authentication of the two
parties, using digital certificates
 Denial-of-service protection – detects and rejects
messages that are replayed or not successfully verified
2/12/2016 55
WTLS Protocol Stack
 WTLS consists of two layers of protocols
 WTLS Record Protocol – provides basic security services to
various higher-layer protocols
 Higher-layer protocols:
 The Handshake Protocol
 The Change Cipher Spec Protocol
 The Alert Protocol
2/12/2016 56
WTLS Protocol Stack
2/12/2016 57
WTLS Record Protocol Operation
2/12/2016 58
Phases of the Handshake Protocol
Exchange
 First phase – used to initiate a logical connection and
establish security capabilities
 Second phase – used for server authentication and key
exchange
 Third phase – used for client authentication and key
exchange
 Forth phase – completes the setting up of a secure
connection
2/12/2016 59
Wireless Datagram Protocol (WDP)
 Used to adapt higher-layer WAP protocol to the
communication mechanism used between mobile
node and WAP gateway
 WDP hides details of the various bearer networks
from the other layers of WAP
 Adaptation may include:
 Partitioning data into segments of appropriate size for the
bearer
 Interfacing with the bearer network
2/12/2016 60
Wireless Control Message Protocol
(WCMP)
 Performs the same support function for WDP as ICMP
does for IP
 Used in environments that don’t provide IP bearer and
don’t lend themselves to the use of ICMP
 Used by wireless nodes and WAP gateways to report
errors encountered in processing WDP datagrams
 Can also be used for informational and diagnostic
purposes
2/12/2016 61
i-mode
2/12/2016 62
Overview
 Introduction to i-mode
 i-mode and mobile technology today
 i-mode Development
 iHTML
 i-mode’s Business Model
 Future of i-mode
2/12/2016 63
What is i-mode?
 Service across a wireless network which enables
handheld devices (such as cell phones) to access
the Internet
 Mobile internet service offered by NTT DoCoMo
 Introduced in February 1999
 Extremely popular in Japan and expanding into
Europe
 As of March 31st, 2002, there are approximately
32,150,000 subscribers (in Japan)
Quick Note: Invented by Mari Matsunaga
2/12/2016 64
What Can I do With i-mode ?
 Web-browsing
 Email (the “killer app”)
 Chat, Games
 Access to information
 Transaction Content
 Money Transfer, Balance Check, Ticket
Reservation…
 Information Content
 News updates, sports news, stock quotes…
 Database Content
 Restaurant Guide, Telephone Directory…
2/12/2016 65
A Look at an i-mode Device
 Currently an i-mode device is an
equivalent of a very low-end
computer
 Additional buttons : directional,
select and the i button.
 Must have an iHTML browser.
 Menu based interface (i-Menu)
 Try typing in a URL => It’s not
easy!
2/12/2016 66
i-mode Transmission System
 Packet - switching network – information divided into
packets when sent and reassembled when received by
the i-mode user => faster.
 i-mode users pay by volume of data downloaded.
 Code Division Multiple Access – method for allocating
wireless channel (9.6kbps)
2/12/2016 67
i-mode vs WAP
 i-mode – packet switching network
 Handset contains IP stack
 Communicates directly using iHTML web sites,
through DoCoMo’s relay centers
 WAP – protocol originally implemented
on a circuit switched network
 Can be packet switched e.g. GPRS
 Requires gateway if required to communicate
using TCP/IP
 Can WAP support streaming video?
 Both i-mode and WAP will be supporting XHTML
Comparing WAP and imode is not straightforward!
2/12/2016 68
I-mode's security
concerns/solutions
 Concern: prank/redirected calls
 Use SSL since version 3.0 since the medium is
the internet and iHTML
 Java is more secure and only delegates
resources to "trusted" servers
 Has partnered with major corporations
including some Japanese and some in America
and Europe
 As of version 3.0, i-mode has 128-bit
encryption
2/12/2016 69
Development
 The i-mode handset (Java enabled) use the
KVM.
 Sun has ported the J2ME to i-mode.
 All Java Network operations in done via HTTP
 Other companies are porting applications for
development including Macromedia, WapProfit,
SEGA...
 It may even be possible to make your own
movies that will be playable with 3G and 4G
networks through FOMA
2/12/2016 70
iHTML
 Originally named cHTML (compact).
 No jpegs, tables, image maps, frames,
style sheets, cookies, fonts
 Handles GIFs, MIDI, and Java (iAppli)
2/12/2016 71
NTT DoCoMo
423-4567
iHTML example
<HTML>
<HEAD>
<TITLE>DoCoMo Net</TITLE>
</HEAD>
<BODY>
<CENTER>
<a href=“http://www.nttdocomo.co.jp” accesskey=“#”>NTT
DoCoMo</a><br>
<a href=“tel:4234567” accesskey=“*”>423-4567</a><br>
<!– animated gif -->
<IMG SRC="navi_ca.gif" WIDTH="94" HEIGHT="72">
</CENTER>
</BODY>
</HTML>
2/12/2016 72
Future of i-mode
 Currently, transfer rate is 9600 kbps.
 3G which is released next year, (new version of i-
mode), transfer rate 2 Mbps with streaming video
and audio
 4G (released in 2006), transfer rate is 20 MBps
2/12/2016 73
 http://www.palowireless.com/imode
 http://www.eurotechnology.com/imode
 http://www.mobilemediajapan.com
 http://www.imodelinks.com
 http://www.nttdocomo.com/html/subscriber_growth.html
 http://www.nttdocomo.com/html/imode01_4.html
 http://www.wapprofit.com/products/emudownload.html
i-mode Interactive Demo
Links
i-mode iHTML Emulator
2/12/2016 74
Sync ML
 SyncML (Synchronization Markup Language) is the
former name for a platform-independent information
synchronization standard.
 The project is currently referred to as Open Mobile
Alliance Data Synchronization and Device Management.
 The purpose of SyncML is to offer an open standard as a
replacement for existing data synchronization solutions,
which have mostly been somewhat vendor-, application-
or operating system specific.
2/12/2016 75
 SyncML is most commonly thought of as a method to
synchronize contact and calendar information
(personal information manager) between some type of
handheld device and a computer (personal, or
network-based service), such as between a mobile
phone and a personal computer. The new version of
the specification includes support for push email,
providing a standard protocol alternative to
proprietary solutions like BlackBerry.
2/12/2016 76
Sync ML
2/12/2016 77
Data Synchronization with
SyncML* and sync4j
2/12/2016 78
Agenda
 Data synchronization
 SyncML
 sync4j
 Q & A
2/12/2016 79
What is data synchronization?
Data synchronization “is the process of making
two sets of data look identical” (syncml.org
whitepaper)
2/12/2016 80
Data Synchronization
 Conflict resolution
Datastore1
 Data modifications
Datastore2
A CB C A BA CB
2/12/2016 81
What is a “data synchronization
protocol”?
 Communication syntax and semantics for a data
synchronization session
 Protocol includes:
 naming and identification of records
 common protocol commands
 identification and resolution of synchronization
conflicts
2/12/2016 82
SyncML defined…
“SyncML is a new industry initiative to develop and
promote a single, common data synchronization
protocol that can be used industry-wide.” (syncml.org)
“SyncML is a specification for a common data synchronization framework
and XML-based format […] for synchronizing data on networked devices.”
(syncml.org)
“SyncML is a […] protocol for conveying data synchronization operations.”
(syncml.org)
2/12/2016 83
Sync ML sponsors
2/12/2016 84
SyncML: clients & servers
SyncML
server
server modifications
client modifications
2/12/2016 85
SyncML data identification
LUID Data
23 A
382 B
61 C
GUID Data
189 A
3982 B
89 C
Client Server
GUID LUID
189 23
3982 382
89 61
2/12/2016 86
Sync ML
Synchronization Types
 Two-way sync
 Slow sync
 One-way sync from client only
 Refresh sync from client only
2/12/2016 87
Sync ML
Synchronization Types (cont.)
 One-way sync from server only
 Refresh sync from server only
 Server alerted sync
2/12/2016 88
Sync ML features
 Synchronize any type of data
 Multiple protocol bindings
 HTTP, WSP, OBEX
 Security
 Interoperability
2/12/2016 89
Sync ML terminology
 Message
 Package
 Command
 Status code
 Datastore
 Device Info
 Meta Info
 Capabilities
exchange
2/12/2016 90
Sync ML and XML
 Abbreviated naming convention
 Ex: ”protocol version” is <VerProto>
 XML prolog is not required
 WBXML
 WAP Binary XML
2/12/2016 91
SyncML documents
 <SyncML> DTD
 Meta info DTD
 Device info DTD
2/12/2016 92
<SyncML> document
<?xml version="1.0"?>
<!DOCTYPE … >
<SyncML>
<SyncHdr>
…
</SyncHdr>
<SyncBody>
…
</SyncBody>
</SyncML>
 “A SyncML Message is a
well-formed, but not
necessarily valid, XML
document.” (syncml.org)
 Contains data
synchronization
commands
(operations)
2/12/2016 93
<SyncHdr> element
<SyncHdr>
<VerDTD>1.0</VerDTD>
<VerProto>1.0</VerProto>
<SessionID>session41</SessionID>
<MsgID>msg80386</MsgID>
…
</SyncHdr>
2/12/2016 94
<SyncBody> element
<SyncBody>
<Delete>
<CmdID>cmd80486</CmdID>
…
<Item>…</Item>
</Delete>
</SyncBody>
2/12/2016 95
Meta Info document
 Contains sync session
parameters
<MetInf>
<Format>…</Format>
<Type>…</Type>
…
<MaxMsgSize>586
</MaxMsgSize>
…
</MetInf>
2/12/2016 96
Device Info document
 Describes device
capabilities
 For both client
and server
<DevInf>
…
<SwV>0.99</SwV>
<HwV>3.14</HwV>
…
<DevTyp>pda</DevTyp>
…
</DevInf>
2/12/2016 97
SyncML commands
 Add
 Alert
 Atomic
 Copy
 Delete
 Exec
 Get
 Map
 Put
 Replace
 Results
 Search
 Sequence
 Status
 Sync
2/12/2016 98
sync4j
 Java implementation of SyncML protocol
 sync4j client & sync4j Server
 open source
 designed for J2SE platform
 http://sync4j.sourceforge.net
2/12/2016 99
Open source licensing
 Licensing options:
 GPL?
 LGPL?
 BSD?
 Apache Public License?
 JDOM public license?
 Mozilla Public License (MPL)?
 sync4j license is virtually identical to JDOM
license
2/12/2016 100
sync4j audience
 developers who know Java but don’t know SyncML
 developers who know SyncML but may not know Java
 commercial application developers & open source
application developers
2/12/2016 101
API design ideas
 SAX API
 standard set of interfaces
 multiple implementations
 usage model: callbacks
 JDOM API
 concrete classes; single implementation
 root Document object contains Element objects
2/12/2016 102
API design ideas (cont.)
 Servlet API
 usage model: developer builds a new servlet by
subclassing HTTPServlet
 Auto-generate classes from DTD using an XML
data-binding tool??
 Sun’s JAXB
 Enhydra’s Zeus
2/12/2016 103
Design goals
 Hide complexity of the SyncML specification from
Java programmers
 XML documents, XML parsing
 multiple transport protocols
 A complete SyncML implementation
 Interoperability
 with existing SyncML clients & servers
2/12/2016 104
Design goals (cont.)
 API should be natural and familiar to Java
programmers
 direct object instantiation
 exceptions
 use Collection API / arrays, where appropriate
 event notification via event listeners
 familiar naming conventions
2/12/2016 105
Design goals (cont.)
 API must be familiar to developers who already know
the SyncML DTD’s
 API must enforce any restrictions that are defined in
the SyncML specification
 Target platform: J2SE
2/12/2016 106
Design goals (cont.)
 Modular design:
 “core” protocol support
 transport protocol libraries
 extensible client framework
 extensible server framework
 client application
 server application
2/12/2016 107
sync4j implementation
 Immutable objects
 Exception class for each SyncML “status code”
 Declaration of constants
 public final static variables
 Command object hierarchy
2/12/2016 108
sync4j command hierarchyAbstractCommand
ResponseCommandRequestCommand
AddCommand,
DeleteCommand,
ReplaceCommand,
…
ResultsCommand,
StatusCommand,
2/12/2016 109
sync4j toolset
Tool URL
Jakarta Ant jakarta.apache.org
JDOM www.jdom.org
Apache Xerces-J xml.apache.org
CVS www.cygwin.com
log4j www.log4j.org
JDK 1.3.1 java.sun.com
JUnit www.junit.org
Source Forge www.sourceforge.net
sync4j packages
 sync4j.core
 sync4j.client
 sync4j.server
 sync4j.http
 sync4j.wsp
 sync4j.obex
 sync4j.tests
2/12/2016 111
sync4j key classes
 SyncMLMessage
 DeviceInfo
 MetaInfo
 Command classes:
 AddCommand
 DeleteCommand
 ReplaceCommand
2/12/2016 112
sync4j.core.SyncMLMessage
 Two ways to construct:
 from a String of XML
 from more basic sync4j objects
2/12/2016 113
SyncML Message example 1
String strXML = “<SyncML> … </SyncML>”;
SyncMLMessage msg;
try
{
msg = new SyncMLMessage(strXML);
}
catch (InvalidSyncMLException ex)
{
}
catch (XMLSyntaxException ex)
{
}
2/12/2016 114
SyncML Message example 2
SyncHeader header = new SyncHeader(...);
SyncBody body = new SyncBody(...);
SyncMLMessage msg;
msg = new SyncMLMessage(header, body);
String strXML = msg.toXML();
2/12/2016 115
Algorithms
 Base64
 encode, decode
 WBXML
 encode, decode
 MD5
 java.security.MessageDigest
2/12/2016 116
sync4j future issues
 Compliance testing, interoperability tests
 move to JDK 1.4?
 Assert facility
 Java Logging API
 New I/O classes: java.nio
 SSL class library
2/12/2016 117
Summary
 SyncML is both complex and powerful
 sync4j hides the complexity of SyncML from Java
programmers
 The sync4j API is consistent with many familiar
Java programming idioms
 http://sync4j.sourceforge.net/
2/12/2016 118
References
 Book: Wireless Communications and Networks by
William Stallings
 PPT: WilliamStalling.com/StudentsSupport.html.
 http://www.wirelesscommunication.nl/reference/abo
ut.htm
119
THANK YOU
120

More Related Content

What's hot

Ad hoc networks introduction
Ad hoc networks   introductionAd hoc networks   introduction
Ad hoc networks introduction
Prof. Dr. Noman Islam
 
Wifi adhoc and infrastructure mode
Wifi adhoc and infrastructure modeWifi adhoc and infrastructure mode
Wifi adhoc and infrastructure modesandhilu
 
It6601 mobile computing unit 4
It6601 mobile computing unit 4It6601 mobile computing unit 4
It6601 mobile computing unit 4
RMK ENGINEERING COLLEGE, CHENNAI
 
Ad hoc network
Ad hoc networkAd hoc network
Ad hoc network
Muhammad UL Islam
 
Ch7
Ch7Ch7
Ch4
Ch4Ch4
Mobile Computing UNIT-8
Mobile Computing UNIT-8Mobile Computing UNIT-8
Mobile Computing UNIT-8
Ramesh Babu
 
IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1
RMK ENGINEERING COLLEGE, CHENNAI
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
Kathirvel Ayyaswamy
 
Wireless communication & adhoc networks
Wireless communication & adhoc networksWireless communication & adhoc networks
Wireless communication & adhoc networksSalahuddin Jokhio
 
Adhoc and routing protocols
Adhoc and routing protocolsAdhoc and routing protocols
Adhoc and routing protocols
shashi712
 
CS6003 AD HOC AND SENSOR NETWORKS
CS6003 AD HOC AND SENSOR NETWORKSCS6003 AD HOC AND SENSOR NETWORKS
CS6003 AD HOC AND SENSOR NETWORKS
Kathirvel Ayyaswamy
 
Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)
Vivek Maurya
 
Unit 3
Unit 3Unit 3
Unit 1
Unit 1Unit 1
Lecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc networkLecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc networkChandra Meena
 
Unit 6
Unit 6Unit 6

What's hot (20)

Ad hoc networks introduction
Ad hoc networks   introductionAd hoc networks   introduction
Ad hoc networks introduction
 
Wifi adhoc and infrastructure mode
Wifi adhoc and infrastructure modeWifi adhoc and infrastructure mode
Wifi adhoc and infrastructure mode
 
It6601 mobile computing unit 4
It6601 mobile computing unit 4It6601 mobile computing unit 4
It6601 mobile computing unit 4
 
Ad hoc network
Ad hoc networkAd hoc network
Ad hoc network
 
Ch7
Ch7Ch7
Ch7
 
Ch4
Ch4Ch4
Ch4
 
Adhoc network
Adhoc networkAdhoc network
Adhoc network
 
Mobile Computing UNIT-8
Mobile Computing UNIT-8Mobile Computing UNIT-8
Mobile Computing UNIT-8
 
IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
Wireless communication & adhoc networks
Wireless communication & adhoc networksWireless communication & adhoc networks
Wireless communication & adhoc networks
 
Adhoc and routing protocols
Adhoc and routing protocolsAdhoc and routing protocols
Adhoc and routing protocols
 
CS6003 AD HOC AND SENSOR NETWORKS
CS6003 AD HOC AND SENSOR NETWORKSCS6003 AD HOC AND SENSOR NETWORKS
CS6003 AD HOC AND SENSOR NETWORKS
 
Ad hoc networks
Ad hoc networksAd hoc networks
Ad hoc networks
 
Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 1
Unit 1Unit 1
Unit 1
 
Lecture 3 4. prnet
Lecture 3 4. prnetLecture 3 4. prnet
Lecture 3 4. prnet
 
Lecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc networkLecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc network
 
Unit 6
Unit 6Unit 6
Unit 6
 

Similar to It2402 mobile communication unit5

wireless mobile
wireless mobilewireless mobile
wireless mobile
Udhaya Kumar
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application Protocol
Senthil Kanth
 
Wireless Application Protocol ppt
Wireless Application Protocol pptWireless Application Protocol ppt
Wireless Application Protocol ppt
go2project
 
Wap ppt
Wap pptWap ppt
Wap ppt
Abhijit Nath
 
Wap ppt
Wap pptWap ppt
Wap ppt
Abhijit Nath
 
Wap
WapWap
Mobile computing seminar
Mobile computing seminarMobile computing seminar
Mobile computing seminarMeenakshi Devi
 
WAP.PDF
WAP.PDFWAP.PDF
WAP.PDF
kndnewguade
 
Wirelss LAN
Wirelss LANWirelss LAN
Wirelss LAN
Surbhi Sharma
 
Wireless application prorocol
Wireless application prorocolWireless application prorocol
Wireless application prorocol
9535814851
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
Editor IJCATR
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
Editor IJCATR
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
Editor IJCATR
 
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptxFALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
BARATHSHARMA
 
112321 112333 wirless application protocol
112321 112333 wirless application protocol112321 112333 wirless application protocol
112321 112333 wirless application protocol
JAINIK PATEL
 
WIRELESS APPLICATION PROTOCOL
WIRELESS APPLICATION PROTOCOLWIRELESS APPLICATION PROTOCOL
WIRELESS APPLICATION PROTOCOL
SiddikFathimaraliJaw
 
Wireless application protocol
Wireless application protocolWireless application protocol
Wireless application protocol
git tech
 

Similar to It2402 mobile communication unit5 (20)

Mcpp113,16,33,41
Mcpp113,16,33,41Mcpp113,16,33,41
Mcpp113,16,33,41
 
wireless mobile
wireless mobilewireless mobile
wireless mobile
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application Protocol
 
Wireless Application Protocol ppt
Wireless Application Protocol pptWireless Application Protocol ppt
Wireless Application Protocol ppt
 
Wap ppt
Wap pptWap ppt
Wap ppt
 
Wap ppt
Wap pptWap ppt
Wap ppt
 
Wap
WapWap
Wap
 
Mobile computing seminar
Mobile computing seminarMobile computing seminar
Mobile computing seminar
 
WAP.PDF
WAP.PDFWAP.PDF
WAP.PDF
 
Mobile applications
Mobile applicationsMobile applications
Mobile applications
 
Wirelss LAN
Wirelss LANWirelss LAN
Wirelss LAN
 
Wireless application prorocol
Wireless application prorocolWireless application prorocol
Wireless application prorocol
 
WAP
WAPWAP
WAP
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
 
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptxFALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
 
112321 112333 wirless application protocol
112321 112333 wirless application protocol112321 112333 wirless application protocol
112321 112333 wirless application protocol
 
WIRELESS APPLICATION PROTOCOL
WIRELESS APPLICATION PROTOCOLWIRELESS APPLICATION PROTOCOL
WIRELESS APPLICATION PROTOCOL
 
Wireless application protocol
Wireless application protocolWireless application protocol
Wireless application protocol
 

More from RMK ENGINEERING COLLEGE, CHENNAI

EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3
RMK ENGINEERING COLLEGE, CHENNAI
 
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2
RMK ENGINEERING COLLEGE, CHENNAI
 
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6651 COMMUNICATION ENGINEERING UNIT 5
EC6651 COMMUNICATION ENGINEERING UNIT 5EC6651 COMMUNICATION ENGINEERING UNIT 5
EC6651 COMMUNICATION ENGINEERING UNIT 5
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6651 COMMUNICATION ENGINEERING UNIT 4
EC6651 COMMUNICATION ENGINEERING UNIT 4EC6651 COMMUNICATION ENGINEERING UNIT 4
EC6651 COMMUNICATION ENGINEERING UNIT 4
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6651 COMMUNICATION ENGINEERING UNIT 2
EC6651 COMMUNICATION ENGINEERING UNIT 2EC6651 COMMUNICATION ENGINEERING UNIT 2
EC6651 COMMUNICATION ENGINEERING UNIT 2
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6651 COMMUNICATION ENGINEERING UNIT 1
EC6651 COMMUNICATION ENGINEERING UNIT 1EC6651 COMMUNICATION ENGINEERING UNIT 1
EC6651 COMMUNICATION ENGINEERING UNIT 1
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1
RMK ENGINEERING COLLEGE, CHENNAI
 
EC6202 ELECTRONIC DEVICES AND CIRCUITS NOTES
EC6202 ELECTRONIC DEVICES AND CIRCUITS NOTESEC6202 ELECTRONIC DEVICES AND CIRCUITS NOTES
EC6202 ELECTRONIC DEVICES AND CIRCUITS NOTES
RMK ENGINEERING COLLEGE, CHENNAI
 
Big picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineeringBig picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineering
RMK ENGINEERING COLLEGE, CHENNAI
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5
RMK ENGINEERING COLLEGE, CHENNAI
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 4
GE6075 PROFESSIONAL ETHICS IN ENGINEERINGUnit 4GE6075 PROFESSIONAL ETHICS IN ENGINEERINGUnit 4
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 4
RMK ENGINEERING COLLEGE, CHENNAI
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3
RMK ENGINEERING COLLEGE, CHENNAI
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2
RMK ENGINEERING COLLEGE, CHENNAI
 
Cs6703 grid and cloud computing unit 5 questions
Cs6703 grid and cloud computing  unit 5 questionsCs6703 grid and cloud computing  unit 5 questions
Cs6703 grid and cloud computing unit 5 questions
RMK ENGINEERING COLLEGE, CHENNAI
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1
RMK ENGINEERING COLLEGE, CHENNAI
 
Cs6703 grid and cloud computing unit 5
Cs6703 grid and cloud computing unit 5Cs6703 grid and cloud computing unit 5
Cs6703 grid and cloud computing unit 5
RMK ENGINEERING COLLEGE, CHENNAI
 
Cs6703 grid and cloud computing unit 4 questions
Cs6703 grid and cloud computing  unit 4 questionsCs6703 grid and cloud computing  unit 4 questions
Cs6703 grid and cloud computing unit 4 questions
RMK ENGINEERING COLLEGE, CHENNAI
 
Cs6703 grid and cloud computing unit 4
Cs6703 grid and cloud computing unit 4Cs6703 grid and cloud computing unit 4
Cs6703 grid and cloud computing unit 4
RMK ENGINEERING COLLEGE, CHENNAI
 

More from RMK ENGINEERING COLLEGE, CHENNAI (20)

EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 3
 
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 2
 
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC8353 ELECTRONIC DEVICES AND CIRCUITS Unit 1
 
EC6651 COMMUNICATION ENGINEERING UNIT 5
EC6651 COMMUNICATION ENGINEERING UNIT 5EC6651 COMMUNICATION ENGINEERING UNIT 5
EC6651 COMMUNICATION ENGINEERING UNIT 5
 
EC6651 COMMUNICATION ENGINEERING UNIT 4
EC6651 COMMUNICATION ENGINEERING UNIT 4EC6651 COMMUNICATION ENGINEERING UNIT 4
EC6651 COMMUNICATION ENGINEERING UNIT 4
 
EC6651 COMMUNICATION ENGINEERING UNIT 2
EC6651 COMMUNICATION ENGINEERING UNIT 2EC6651 COMMUNICATION ENGINEERING UNIT 2
EC6651 COMMUNICATION ENGINEERING UNIT 2
 
EC6651 COMMUNICATION ENGINEERING UNIT 1
EC6651 COMMUNICATION ENGINEERING UNIT 1EC6651 COMMUNICATION ENGINEERING UNIT 1
EC6651 COMMUNICATION ENGINEERING UNIT 1
 
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 2
 
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1
EC6202 ELECTRONIC DEVICES AND CIRCUITS Unit 1
 
EC6202 ELECTRONIC DEVICES AND CIRCUITS NOTES
EC6202 ELECTRONIC DEVICES AND CIRCUITS NOTESEC6202 ELECTRONIC DEVICES AND CIRCUITS NOTES
EC6202 ELECTRONIC DEVICES AND CIRCUITS NOTES
 
Big picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineeringBig picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineering
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 5
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 4
GE6075 PROFESSIONAL ETHICS IN ENGINEERINGUnit 4GE6075 PROFESSIONAL ETHICS IN ENGINEERINGUnit 4
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 4
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 3
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 2
 
Cs6703 grid and cloud computing unit 5 questions
Cs6703 grid and cloud computing  unit 5 questionsCs6703 grid and cloud computing  unit 5 questions
Cs6703 grid and cloud computing unit 5 questions
 
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1
GE6075 PROFESSIONAL ETHICS IN ENGINEERING Unit 1
 
Cs6703 grid and cloud computing unit 5
Cs6703 grid and cloud computing unit 5Cs6703 grid and cloud computing unit 5
Cs6703 grid and cloud computing unit 5
 
Cs6703 grid and cloud computing unit 4 questions
Cs6703 grid and cloud computing  unit 4 questionsCs6703 grid and cloud computing  unit 4 questions
Cs6703 grid and cloud computing unit 4 questions
 
Cs6703 grid and cloud computing unit 4
Cs6703 grid and cloud computing unit 4Cs6703 grid and cloud computing unit 4
Cs6703 grid and cloud computing unit 4
 

It2402 mobile communication unit5

  • 1. 2/12/2016 IT 2404 Mobile Communication By Dr T Gnanasekaran 1
  • 2. WAP Model- Mobile Location based services WAP Gateway–WAP protocols – WAP user agent profile- caching model-wireless bearers for WAP - WML – WMLScripts – WTA - iMode- SyncML. UNIT V APPLICATION LAYER 2/12/2016 2
  • 4. Overview  WAP Introduction  WAP architecture requirements  Architecture overview  World-wide web model  WAP model  Components of WAP architecture  Sample Configuration of WAP technology  Usage, Advantages & Disadvantages of WAP  Summary 2/12/2016 4
  • 5. WAP- Wireless Application Protocol  An open, global specification that empowers mobile users with wireless devices to easily access and interact with internet information and services instantly.  The wireless industry came up with the idea of WAP. The point of this standard was to show internet contents on wireless clients, like mobile phones. 2/12/2016 5
  • 6.  WAP stands for Wireless Application Protocol  WAP is an application communication protocol  WAP is used to access services and information  WAP is inherited from Internet standards  WAP is for handheld devices such as mobile phones  WAP is a protocol designed for micro browsers  WAP enables the creating of web applications for mobile devices.  WAP uses the mark-up language WML (not HTML) WML is defined as an XML 1.0 application 2/12/2016 6
  • 7. The WAP specifications continue to be developed by contributing members, who, through interoperability testing, have brought WAP into the limelight of the mobile data marketplace with fully functional WAP– enabled devices as shown below: 2/12/2016 7
  • 8. The basic AIM of WAP is to provide a web-like experience on small portable devices - like mobile phones and PDAs. 2/12/2016 8
  • 9. Purpose of WAP To enable easy, fast delivery of relevant information and services to mobile users. Type of devices that use WAP Handheld digital wireless devices such as mobile phones, pagers, two-way radios, smart phones and communicators -- from low-end to high-end. WAP works with most Wireless networks such as: CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC, Mobitex. 2/12/2016 9
  • 10. Operating systems that are compatible with WAP •WAP is a communications protocol and an application environment. •WAP is independent of OS that means WAP can be implemented on any OS. •It can be built on any operating system including Palm OS, EPOC 32, Windows CE, FLEXOS, OS/9, Java OS, etc. It provides service interoperability even between different device families. 2/12/2016 10
  • 11. WAP Architecture Requirements  Leverage existing standards whenever possible  Define a layered, scaleable and extensible architecture  Support as many wireless networks as possible  Optimize for narrow-band bearers with high latency 2/12/2016 11
  • 12. WAP Architecture Requirements (Contd.)  Optimize for efficient use of device resources  Provide support for secure applications and communication 2/12/2016 12
  • 13. Architecture Overview  WWW programming model is optimized and extended to match characteristics of the wireless environment  Utilizes proxy technology to connect between the wireless domain and WWW 2/12/2016 13
  • 14. World-Wide Web Model CGI, Scripts, Etc. Content Web Server Client Web Browser Request (URL) Response (Content) 2/12/2016 14
  • 15. WAP Programming Model CGI, Scripts, Etc. Content Web Server Client WAE User Agent Request (URL) Response (Content) Gateway Encoders And Decoders Encoded Request Encoded Response 2/12/2016 15
  • 16.  WAP Device - Is used to access WAP applications and content. It might be a PDA, handheld computer.  WAP Client - Entity that receives content from Internet via a WAP Gateway. This is usually the WAP Browser.  WAP Content/Origin/Application Server - Element in the network where the information or web/WAP applications resides. 2/12/2016 16
  • 17. WAP Proxy - Acts both as a client and as a server in the network.Typically has  Protocol gateway : translates requests from the WAP protocol stack to WWW protocol stack  Content encoders and decoders : translate WAP content into compact encoded formats to reduce the size of data over the network It allows content and applications to be hosted on standard WWW servers and developed using proven WWW technologies such as CGI scripting 2/12/2016 17
  • 18.  WAP Gateway - Intermediary element used to connect two different types of network. It receives request directly from the clients as if it actually were the origin server that clients want to receive the information form. The clients are usually unaware that they are speaking to the Gateway.  WAP Browser  Software running on the WAP device that interprets the WAP content arriving from the internet and decides how to display it on WAP device. 2/12/2016 18
  • 19. WML  WML – Wireless Markup Language formerly called HDML (Handheld Devices Markup Language)  Is a tag language that allows the text portions of Web Pages to be presented on cellular phones and Personal Digital Assistants (PDAs) via wireless access.  WML is used for delivering data to WAP devices, and is HTML- like in its appearance.  An alternative to WML is I-Mode’s cHTML language. 2/12/2016 19
  • 21. WWW Protocol Stack TCP/IP UDP/IP TLS - SSL HTTP HTML Java Script 2/12/2016 21
  • 22. Components of WAP Architecture Other Services And Applications Transport Layer (WDP) Security Layer (WTLS) Transaction Layer (WTP) Session Layer (WSP) Application Layer (WAE) GSM CDMA PHS IS-136 CDPD PDC-P FLEX Etc… Bearers : TCP/IP UDP/IP TLS - SSL HTTP HTML Java Script 2/12/2016 22
  • 23. Wireless Application Environment (WAE)  General-purpose application environment based on a combination of WWW and mobile telephony technologies.  It defines the user interface on the phone. It contains WML and WTA (Wireless Telephony Application).  Primary objective – interoperable environment. 2/12/2016 23
  • 24. Wireless Application Environment (Contd.)  WAE includes a micro-browser (Client software designed to overcome challenges of mobile handheld devices that enables wireless access to services such as Internet information in combination with a suitable network) server environment which provides  WML  WML script  WTA  Content formats 2/12/2016 24
  • 25. Wireless Session Protocol (WSP)  The WAP session protocol (WSP) layer provides a lightweight session layer to allow efficient exchange of data between applications.  Application layer with a consistent interface for two session services  Connection-oriented service that operates above the transaction layer protocol (WTP)  Connectionless service that operates above a secure or non-secure datagram service (WDP)  Optimized for low-bandwidth bearer networks with long latency 2/12/2016 25
  • 26. Wireless Transaction Protocol (WTP)  Runs on top of a datagram service  The WAP transaction protocol (WTP) layer provides transaction support, adding reliability to the datagram service provided by WDP.  Light weight transaction-oriented protocol  Three classes of transaction services  Unreliable one-way requests  Reliable one-way requests  Reliable two-way request-reply transactions 2/12/2016 26
  • 27. Wireless Transport Layer Security (WTLS) Based on industry-standard Transport Layer Security (TLS) protocol  Optimized for use over narrow-band communication channels  Features:  Data integrity  Privacy  Authentication  Denial-of-service protection 2/12/2016 27
  • 28. Wireless Datagram Protocol (WDP)  The WAP datagram protocol (WDP) is the Transport layer that sends and receives messages via any available bearer network, including SMS, USSD, CSD, CDPD, IS–136 packet data, and GPRS.  Operates above the data capable bearer services supported by various network types.  Provides a common interface to the upper layer protocols and hence they function independent of the underlying wireless network. 2/12/2016 28
  • 29. Bearers  Differing levels of quality of service with respect to throughput, error rate, and delays  WAP protocols are designed to compensate for or tolerate these varying levels of service  WDP specification lists the bearers that are supported and techniques used to allow WAP protocols to run over each bearer 2/12/2016 29
  • 30. Sample WAP Stacks No layer IP Non-IP UDP WDP WTP WSP/B WAE WTLS WAE User Agents No layer IP Non-IP UDP WDP WTP WTLS Applications over transactions No layer IP Non-IP UDP WDP WTLS Applications over Datagram Transport WAP Technology Outside of WAP 2/12/2016 30
  • 31. Mobile-Originated Example of WAP Architecture The request from the mobile device is sent as a URL through the operator's network to the WAP gateway, which is the interface between the operator's network and the Internet as shown in the figure below. 2/12/2016 31
  • 32. FUTURE OF WAP Will WAP comply with Third Generation wireless standards? Yes, WAP has been designed to be as independent as possible from the underlying network technology. Is WAP necessary with higher bandwidth 3G networks? Even as bandwidths increase, the cost of that bandwidth does not fall to zero. These costs result from higher power usage in the terminals, higher costs in the radio sections, greater use of RF spectrum, and increased network loading. In addition, the original constraints WAP was designed for -- intermittent coverage, small screens, low power consumption, wide scalability over bearers and devices, and one-handed operation -- are still valid in 3G networks. Finally, we can expect the bandwidth required by application users to steadily increase. Therefore, there is still a need to optimize the device and network resources for wireless environments. We can expect WAP to optimize support for multimedia applications that continue to be relevant.2/12/2016 32
  • 33. If WAP is very successful in mass-markets on 2.5G networks, 3G networks may be needed purely for capacity relief. The reasons to migrate to WAP technology Network operators are behind WAP With minimal risk and investment, WAP enables operators to decrease churn, cut costs, and increase revenues by improving existing, value-added services and offering exciting new informational services. Why are equipment manufacturers interested in WAP? Being a global open specification suite, WAP has generated the critical mass for manufacturers. This has opened up new product and marketing opportunities in the wireless industry and provides new revenue to participating companies. 2/12/2016 33
  • 34. WAP in the Competitive Environment Competition for WAP protocols could come from a number of sources: • subscriber identity module (SIM) toolkit—The use of SIMs or smart cards in wireless devices is already widespread and used in some of the service sectors. • Windows CE—This is a multitasking, multithreaded operating system from Microsoft designed for including or embedding mobile and other space-constrained devices. • JavaPhone™—Sun Microsystems is developing PersonalJava™ and a JavaPhone™ API, which is embedded in a Java™ virtual machine on the handset. NEPs will be able to build cellular phones that can download extra features and functions over the Internet; thus, customers will no longer be required to buy a new phone to take advantage of improved features. 2/12/2016 34
  • 35. USAGE - Corporate Applications: Sales force automation where sales people use their WAP enabled handsets to get instant, direct access to the latest pricing, latest news, competitive information any time, anywhere. - Online Services: Banking: Users can get their current balance, transfer funds between accounts and receive fax of a mini-statement. Electronic Commerce: Subscribers can use their handset just like their PC to purchase products and services over the Web. 2/12/2016 35
  • 36. - Tele services Prepaid Services: With a WAP-enabled phone, prepaid subscribers can see their current balance with the press of a button. By pressing another button, they can also recharge their account by entering a credit card or voucher number into the handset. - Personal Productivity Email: Using WAP users can keep track of their email right from their handset. - Others include: - Interactive Chat - Auctions - Games 2/12/2016 36
  • 37. The ADVANTAGES that WAP can offer over these other methods are the following: •open standard, vendor independent •network-standard independent •transport mechanism–optimized for wireless data bearers •application downloaded from the server, enabling fast service creation and introduction, as opposed to embedded software 2/12/2016 37
  • 38. DISADVANTAGES of WAP  Small screens: For web phones, there's an incredibly small viewing area; palmtops are barely better.  Speed of access: All devices have slow access.  Limited or fragmented availability: Wireless web access is sporadic in many areas and entirely unavailable in other areas.  Price: Many technology limitations are being addressed by higher-end devices and services. But the entry price for a good wireless web palmtop with decent display, keyboard, and speed is easily $700 to $900, not including monthly access.  Lack of user habit: It takes some patience and overcoming the learning curve to get the hang of it -- connecting, putting in an address, typing. Users just aren't used to the idea and protocol yet. 2/12/2016 38
  • 39. Summary • WAP provides a markup language and a transport protocol that open the possibilities of the wireless environment and give players from all levels of the industry the opportunity to access an untapped market that is still in its infancy. • The bearer-independent nature of WAP has proved to be a long- awaited breath of fresh air for an industry riddled with multiple proprietary standards that have suffocated the advent of a new wave of mobile-Internet communications. WAP is an enabling technology that, through gateway infrastructure deployed in mobile operator's network, will bridge the gap between the mobile world and the Internet, bringing sophisticated solutions to mobile users, independent of the bearer and network. • Backed by 75 percent of the companies behind the world's mobile telephone market and the huge development potential of WAP, the future for WAP looks bright. 2/12/2016 39
  • 40. Wireless Application Protocol (WAP)  Open standard providing mobile users of wireless terminals access to telephony and information services  Wireless terminals include wireless phones, pagers and personal digital assistants (PDAs)  Designed to work with all wireless network technologies such as GSM, CDMA, and TDMA  Based on existing Internet standards such as IP, XML, HTML, and HTTP  Includes security facilities 2/12/2016 40
  • 43. Wireless Markup Language (WML) Features  Text and image support – formatting and layout commands  Deck/card organizational metaphor – WML documents subdivided into cards, which specify one or more units of interaction  Support for navigation among cards and decks – includes provisions for event handling; used for navigation or executing scripts 2/12/2016 43
  • 44. WML Script  Scripting language for defining script-type programs in a user device with limited processing power and memory  WMLScript capabilities:  Check validity of user input before it’s sent  Access device facilities and peripherals  Interact with user without introducing round trips to origin server 2/12/2016 44
  • 45. WML Script  WMLScript features:  JavaScript-based scripting language  Procedural logic  Event-based  Compiled implementation  Integrated into WAE 2/12/2016 45
  • 46. Wireless Application Environment (WAE)  WAE specifies an application framework for wireless devices  WAE elements:  WAE User agents – software that executes in the wireless device  Content generators – applications that produce standard content formats in response to requests from user agents in the mobile terminal  Standard content encoding – defined to allow a WAE user agent to navigate Web content  Wireless telephony applications (WTA) – collection of telephony-specific extensions for call and feature control mechanisms 2/12/2016 46
  • 48. Wireless Session Protocol (WSP)  Transaction-oriented protocol based on the concept of a request and a reply  Provides applications with interface for two session services:  Connection-oriented session service – operates above reliable transport protocol WTP  Connectionless session service – operates above unreliable transport protocol WDP 2/12/2016 48
  • 49. Connection-mode WSP Services  Establish reliable session from client to server and release  Agree on common level of protocol functionality using capability negotiation  Exchange content between client and server using compact encoding  Suspend and resume a session  Push content from server to client in an unsynchronized manner 2/12/2016 49
  • 50. WSP Transaction Types  Session establishment – client WSP user requests session with server WSP user  Session termination – client WSP user initiates termination  Session suspend and resume – initiated with suspend and resume requests  Transaction – exchange of data between a client and server  Nonconfirmed data push – used to send unsolicited information from server to client  Confirmed data push – server receives delivery confirmation from client 2/12/2016 50
  • 51. Wireless Transaction Protocol (WTP)  Lightweight protocol suitable for "thin" clients and over low-bandwidth wireless links  WTP features  Three classes of transaction service  Optional user-to-user reliability: WTP user triggers confirmation of each received message  Optional out-of-band data on acknowledgments  PDU concatenation and delayed acknowledgment to reduce the number of messages sent  Asynchronous transactions 2/12/2016 51
  • 52. WTP Transaction Classes  Class 0: Unreliable invoke message with no result message  Class 1: Reliable invoke message with no result message  Class 2: Unreliable invoke message with one reliable result message 2/12/2016 52
  • 53. WTP PDU Types  Invoke PDU – used to convey a request from an initiator to a responder  ACK PDU – used to acknowledge an Invoke or Result PDU  Result PDU – used to convey response of the server to the client  Abort PDU – used to abort a transaction  Segmented invoke PDU and segmented result PDU – used for segmentation and reassembly  Negative acknowledgment PDU – used to indicate that some packets did not arrive 2/12/2016 53
  • 54. Examples of WTP Operation 2/12/2016 54
  • 55. Wireless Transport Layer Security (WTLS) Features  Data integrity – ensures that data sent between client and gateway are not modified, using message authentication  Privacy – ensures that the data cannot be read by a third party, using encryption  Authentication – establishes authentication of the two parties, using digital certificates  Denial-of-service protection – detects and rejects messages that are replayed or not successfully verified 2/12/2016 55
  • 56. WTLS Protocol Stack  WTLS consists of two layers of protocols  WTLS Record Protocol – provides basic security services to various higher-layer protocols  Higher-layer protocols:  The Handshake Protocol  The Change Cipher Spec Protocol  The Alert Protocol 2/12/2016 56
  • 58. WTLS Record Protocol Operation 2/12/2016 58
  • 59. Phases of the Handshake Protocol Exchange  First phase – used to initiate a logical connection and establish security capabilities  Second phase – used for server authentication and key exchange  Third phase – used for client authentication and key exchange  Forth phase – completes the setting up of a secure connection 2/12/2016 59
  • 60. Wireless Datagram Protocol (WDP)  Used to adapt higher-layer WAP protocol to the communication mechanism used between mobile node and WAP gateway  WDP hides details of the various bearer networks from the other layers of WAP  Adaptation may include:  Partitioning data into segments of appropriate size for the bearer  Interfacing with the bearer network 2/12/2016 60
  • 61. Wireless Control Message Protocol (WCMP)  Performs the same support function for WDP as ICMP does for IP  Used in environments that don’t provide IP bearer and don’t lend themselves to the use of ICMP  Used by wireless nodes and WAP gateways to report errors encountered in processing WDP datagrams  Can also be used for informational and diagnostic purposes 2/12/2016 61
  • 63. Overview  Introduction to i-mode  i-mode and mobile technology today  i-mode Development  iHTML  i-mode’s Business Model  Future of i-mode 2/12/2016 63
  • 64. What is i-mode?  Service across a wireless network which enables handheld devices (such as cell phones) to access the Internet  Mobile internet service offered by NTT DoCoMo  Introduced in February 1999  Extremely popular in Japan and expanding into Europe  As of March 31st, 2002, there are approximately 32,150,000 subscribers (in Japan) Quick Note: Invented by Mari Matsunaga 2/12/2016 64
  • 65. What Can I do With i-mode ?  Web-browsing  Email (the “killer app”)  Chat, Games  Access to information  Transaction Content  Money Transfer, Balance Check, Ticket Reservation…  Information Content  News updates, sports news, stock quotes…  Database Content  Restaurant Guide, Telephone Directory… 2/12/2016 65
  • 66. A Look at an i-mode Device  Currently an i-mode device is an equivalent of a very low-end computer  Additional buttons : directional, select and the i button.  Must have an iHTML browser.  Menu based interface (i-Menu)  Try typing in a URL => It’s not easy! 2/12/2016 66
  • 67. i-mode Transmission System  Packet - switching network – information divided into packets when sent and reassembled when received by the i-mode user => faster.  i-mode users pay by volume of data downloaded.  Code Division Multiple Access – method for allocating wireless channel (9.6kbps) 2/12/2016 67
  • 68. i-mode vs WAP  i-mode – packet switching network  Handset contains IP stack  Communicates directly using iHTML web sites, through DoCoMo’s relay centers  WAP – protocol originally implemented on a circuit switched network  Can be packet switched e.g. GPRS  Requires gateway if required to communicate using TCP/IP  Can WAP support streaming video?  Both i-mode and WAP will be supporting XHTML Comparing WAP and imode is not straightforward! 2/12/2016 68
  • 69. I-mode's security concerns/solutions  Concern: prank/redirected calls  Use SSL since version 3.0 since the medium is the internet and iHTML  Java is more secure and only delegates resources to "trusted" servers  Has partnered with major corporations including some Japanese and some in America and Europe  As of version 3.0, i-mode has 128-bit encryption 2/12/2016 69
  • 70. Development  The i-mode handset (Java enabled) use the KVM.  Sun has ported the J2ME to i-mode.  All Java Network operations in done via HTTP  Other companies are porting applications for development including Macromedia, WapProfit, SEGA...  It may even be possible to make your own movies that will be playable with 3G and 4G networks through FOMA 2/12/2016 70
  • 71. iHTML  Originally named cHTML (compact).  No jpegs, tables, image maps, frames, style sheets, cookies, fonts  Handles GIFs, MIDI, and Java (iAppli) 2/12/2016 71
  • 72. NTT DoCoMo 423-4567 iHTML example <HTML> <HEAD> <TITLE>DoCoMo Net</TITLE> </HEAD> <BODY> <CENTER> <a href=“http://www.nttdocomo.co.jp” accesskey=“#”>NTT DoCoMo</a><br> <a href=“tel:4234567” accesskey=“*”>423-4567</a><br> <!– animated gif --> <IMG SRC="navi_ca.gif" WIDTH="94" HEIGHT="72"> </CENTER> </BODY> </HTML> 2/12/2016 72
  • 73. Future of i-mode  Currently, transfer rate is 9600 kbps.  3G which is released next year, (new version of i- mode), transfer rate 2 Mbps with streaming video and audio  4G (released in 2006), transfer rate is 20 MBps 2/12/2016 73
  • 74.  http://www.palowireless.com/imode  http://www.eurotechnology.com/imode  http://www.mobilemediajapan.com  http://www.imodelinks.com  http://www.nttdocomo.com/html/subscriber_growth.html  http://www.nttdocomo.com/html/imode01_4.html  http://www.wapprofit.com/products/emudownload.html i-mode Interactive Demo Links i-mode iHTML Emulator 2/12/2016 74
  • 75. Sync ML  SyncML (Synchronization Markup Language) is the former name for a platform-independent information synchronization standard.  The project is currently referred to as Open Mobile Alliance Data Synchronization and Device Management.  The purpose of SyncML is to offer an open standard as a replacement for existing data synchronization solutions, which have mostly been somewhat vendor-, application- or operating system specific. 2/12/2016 75
  • 76.  SyncML is most commonly thought of as a method to synchronize contact and calendar information (personal information manager) between some type of handheld device and a computer (personal, or network-based service), such as between a mobile phone and a personal computer. The new version of the specification includes support for push email, providing a standard protocol alternative to proprietary solutions like BlackBerry. 2/12/2016 76
  • 78. Data Synchronization with SyncML* and sync4j 2/12/2016 78
  • 79. Agenda  Data synchronization  SyncML  sync4j  Q & A 2/12/2016 79
  • 80. What is data synchronization? Data synchronization “is the process of making two sets of data look identical” (syncml.org whitepaper) 2/12/2016 80
  • 81. Data Synchronization  Conflict resolution Datastore1  Data modifications Datastore2 A CB C A BA CB 2/12/2016 81
  • 82. What is a “data synchronization protocol”?  Communication syntax and semantics for a data synchronization session  Protocol includes:  naming and identification of records  common protocol commands  identification and resolution of synchronization conflicts 2/12/2016 82
  • 83. SyncML defined… “SyncML is a new industry initiative to develop and promote a single, common data synchronization protocol that can be used industry-wide.” (syncml.org) “SyncML is a specification for a common data synchronization framework and XML-based format […] for synchronizing data on networked devices.” (syncml.org) “SyncML is a […] protocol for conveying data synchronization operations.” (syncml.org) 2/12/2016 83
  • 85. SyncML: clients & servers SyncML server server modifications client modifications 2/12/2016 85
  • 86. SyncML data identification LUID Data 23 A 382 B 61 C GUID Data 189 A 3982 B 89 C Client Server GUID LUID 189 23 3982 382 89 61 2/12/2016 86
  • 87. Sync ML Synchronization Types  Two-way sync  Slow sync  One-way sync from client only  Refresh sync from client only 2/12/2016 87
  • 88. Sync ML Synchronization Types (cont.)  One-way sync from server only  Refresh sync from server only  Server alerted sync 2/12/2016 88
  • 89. Sync ML features  Synchronize any type of data  Multiple protocol bindings  HTTP, WSP, OBEX  Security  Interoperability 2/12/2016 89
  • 90. Sync ML terminology  Message  Package  Command  Status code  Datastore  Device Info  Meta Info  Capabilities exchange 2/12/2016 90
  • 91. Sync ML and XML  Abbreviated naming convention  Ex: ”protocol version” is <VerProto>  XML prolog is not required  WBXML  WAP Binary XML 2/12/2016 91
  • 92. SyncML documents  <SyncML> DTD  Meta info DTD  Device info DTD 2/12/2016 92
  • 93. <SyncML> document <?xml version="1.0"?> <!DOCTYPE … > <SyncML> <SyncHdr> … </SyncHdr> <SyncBody> … </SyncBody> </SyncML>  “A SyncML Message is a well-formed, but not necessarily valid, XML document.” (syncml.org)  Contains data synchronization commands (operations) 2/12/2016 93
  • 96. Meta Info document  Contains sync session parameters <MetInf> <Format>…</Format> <Type>…</Type> … <MaxMsgSize>586 </MaxMsgSize> … </MetInf> 2/12/2016 96
  • 97. Device Info document  Describes device capabilities  For both client and server <DevInf> … <SwV>0.99</SwV> <HwV>3.14</HwV> … <DevTyp>pda</DevTyp> … </DevInf> 2/12/2016 97
  • 98. SyncML commands  Add  Alert  Atomic  Copy  Delete  Exec  Get  Map  Put  Replace  Results  Search  Sequence  Status  Sync 2/12/2016 98
  • 99. sync4j  Java implementation of SyncML protocol  sync4j client & sync4j Server  open source  designed for J2SE platform  http://sync4j.sourceforge.net 2/12/2016 99
  • 100. Open source licensing  Licensing options:  GPL?  LGPL?  BSD?  Apache Public License?  JDOM public license?  Mozilla Public License (MPL)?  sync4j license is virtually identical to JDOM license 2/12/2016 100
  • 101. sync4j audience  developers who know Java but don’t know SyncML  developers who know SyncML but may not know Java  commercial application developers & open source application developers 2/12/2016 101
  • 102. API design ideas  SAX API  standard set of interfaces  multiple implementations  usage model: callbacks  JDOM API  concrete classes; single implementation  root Document object contains Element objects 2/12/2016 102
  • 103. API design ideas (cont.)  Servlet API  usage model: developer builds a new servlet by subclassing HTTPServlet  Auto-generate classes from DTD using an XML data-binding tool??  Sun’s JAXB  Enhydra’s Zeus 2/12/2016 103
  • 104. Design goals  Hide complexity of the SyncML specification from Java programmers  XML documents, XML parsing  multiple transport protocols  A complete SyncML implementation  Interoperability  with existing SyncML clients & servers 2/12/2016 104
  • 105. Design goals (cont.)  API should be natural and familiar to Java programmers  direct object instantiation  exceptions  use Collection API / arrays, where appropriate  event notification via event listeners  familiar naming conventions 2/12/2016 105
  • 106. Design goals (cont.)  API must be familiar to developers who already know the SyncML DTD’s  API must enforce any restrictions that are defined in the SyncML specification  Target platform: J2SE 2/12/2016 106
  • 107. Design goals (cont.)  Modular design:  “core” protocol support  transport protocol libraries  extensible client framework  extensible server framework  client application  server application 2/12/2016 107
  • 108. sync4j implementation  Immutable objects  Exception class for each SyncML “status code”  Declaration of constants  public final static variables  Command object hierarchy 2/12/2016 108
  • 110. sync4j toolset Tool URL Jakarta Ant jakarta.apache.org JDOM www.jdom.org Apache Xerces-J xml.apache.org CVS www.cygwin.com log4j www.log4j.org JDK 1.3.1 java.sun.com JUnit www.junit.org Source Forge www.sourceforge.net
  • 111. sync4j packages  sync4j.core  sync4j.client  sync4j.server  sync4j.http  sync4j.wsp  sync4j.obex  sync4j.tests 2/12/2016 111
  • 112. sync4j key classes  SyncMLMessage  DeviceInfo  MetaInfo  Command classes:  AddCommand  DeleteCommand  ReplaceCommand 2/12/2016 112
  • 113. sync4j.core.SyncMLMessage  Two ways to construct:  from a String of XML  from more basic sync4j objects 2/12/2016 113
  • 114. SyncML Message example 1 String strXML = “<SyncML> … </SyncML>”; SyncMLMessage msg; try { msg = new SyncMLMessage(strXML); } catch (InvalidSyncMLException ex) { } catch (XMLSyntaxException ex) { } 2/12/2016 114
  • 115. SyncML Message example 2 SyncHeader header = new SyncHeader(...); SyncBody body = new SyncBody(...); SyncMLMessage msg; msg = new SyncMLMessage(header, body); String strXML = msg.toXML(); 2/12/2016 115
  • 116. Algorithms  Base64  encode, decode  WBXML  encode, decode  MD5  java.security.MessageDigest 2/12/2016 116
  • 117. sync4j future issues  Compliance testing, interoperability tests  move to JDK 1.4?  Assert facility  Java Logging API  New I/O classes: java.nio  SSL class library 2/12/2016 117
  • 118. Summary  SyncML is both complex and powerful  sync4j hides the complexity of SyncML from Java programmers  The sync4j API is consistent with many familiar Java programming idioms  http://sync4j.sourceforge.net/ 2/12/2016 118
  • 119. References  Book: Wireless Communications and Networks by William Stallings  PPT: WilliamStalling.com/StudentsSupport.html.  http://www.wirelesscommunication.nl/reference/abo ut.htm 119

Editor's Notes

  1. sync4j project homepage: http://sync4j.sourceforge.net/
  2. Data modifications: add new record, replace existing record, delete record
  3. Client maintains a change log. Server maintains a change log. When they synchronize, the client and server use the change logs to determine what data has changed. Change log must track: replace, addition, deletion. Each piece of data in the datastore has a unique identifier. Client and server can each use their own private identifiers for internal use. The server is responsible for maintaining “Mapping Table” for mapping
  4. Explain LUID’s and GUID’s. Each piece of data in a datastore has a unique identifier. Client and server may use their own private data ID’s for its own internal use. Server maintains an ID mapping table.
  5. Any type of data: calendar data (iCalendar, vCalendar), address book (vCard), email messages, XML documents, binary data, etc. Data is identified by MIME types.
  6. WBXML: WAP Binary XML compact representation for XML documents http://www.wapforum.org/
  7. Talk about J2SE versus J2ME
  8. License details at www.opensource.org