Web Service Architecture

mashpeemoveΚινητά – Ασύρματες Τεχνολογίες

24 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

90 εμφανίσεις

Sangyoon Oh

1

Web Service Architecture

for Mobile Computing

Sangyoon Oh


Department of Computer Science

Indiana University

Sangyoon Oh

2

Outline


Motivation


Research Issues


Our approach:


HandHeld Flexible Representation Architecture


Performance Evaluation


Conclusion


Future work


3

Motivation and Research Problem

Sangyoon Oh

4

Web Service and Mobile Computing


Web Service inter
-
relates distributed functionalities
(i.e. services) in an elegant and technology
-
neutral
manner.



Mobile devices with wireless connections have
become a vital part of people’s everyday life.


Play audio/video, Access Web, Multiplayer gaming through
wireless connection, participate in collaboration session.


3G cellular network

(
downloading up to 500kbps
)
, 802.11b/g
(54Mbps),
or WiBro / WiMAX (practical bandwidth up to 2Mbps)

5

Important Obstacles

in Integrating
W
eb Services and Mobile Computing



Internet
Computing
Database
Base
Station
Mobile
Station
File Server
2
.
Processing
(
i
.
e
.
Parsing and
Serializing
)
XML message
(
e
.
g
.
Increased the Size of Messages
)
1
.
Bandwidth
Problem
SOAP
SOAP
SOAP
SOAP
SOAP
3
.
HTTP Request
/
Response mechanism
Sangyoon Oh

6

Some Current Approaches


Compressing XML Document


gzip, XMill


Able to reduce a document size


However, the additional layer required to
compress and to decompress
add a significant
overheads


Attaching binary data to SOAP message


MTOM/XOP
: MIME attachment


JPG, MP3: standardized format


DIME
: Wrapping binary data

Sangyoon Oh

7

Fast Infoset


S
pecifies a representation of
an instance of the XML
Infoset using binary encoding.


XML Infoset Specification is
used to refer information in well
formed XML.


Doesn’t tied up with XML API
(e.g. DOM, SAX)


Use ASN. 1. for binary
encoding

Sangyoon Oh

8

Fast Infoset: Example

<root>

<tag>
one
</tag>

<tag>
two
</tag>

<anotherTag>
one
</anotherTag>

</root>


{0}
<root>

{1}
<tag>
{0}
one

[1]
<>
{1}
two

{2}
<anotherTag>
[0]


Local Name

Content

0

root

0

one

1

tag

1

two

2

anotherTag

2


No end tags


Indexing repeated string


Indexing qualified names

Sangyoon Oh

9

Motivation


Performance has many aspects


XML parsing and transmission overhead

often can not be
afforded


A lot of research on message representation (
e.g.
binary XML)
but not on the
overall
system

framework



overcome or bypass possible performance overheads

required to support optimizing messages


Security can be important and impact performance

Sangyoon Oh

10

Research
Issues


Architecture of Interaction of mobile client
and Web Service.


A negotiation architecture that allows protocol
independent solutions


A data description language that allows
conversion between multiple representations


Adopt database semantics to reduce
message size and store negotiated
characteristics


11

Our approach:


HandHeld Flexible


Representation Architecture

Sangyoon Oh

12

Conventional Web Service Communication
Model in Mobile Computing

SOAP Engine
SOAP
Parser
Service Provider
Service Client
SOAP
Parser
SOAP
13

Our Approach: HHFR


Service Provider
Service Client
(
HHFR
-
Capable
)
(
HHFR
-
Capable
)
Simple
_
DFDL Doc
.
Static Metadata
Context
-
Store
(
WS
-
Context Compliant
Information Service
)
Stream Characteristcs
Store and retrieve
static meta
-
data
Store and retrieve
static meta
-
data
SOAP Engine
SOAP
Parser
SOAP
Parser
Negotiation
(
SOAP
)
Message Stream
HHFR
Architecture
Filter
HHFR
Architecture
Filter
Sangyoon Oh

14

Three Key Design Features

1.
Distinguishes between message semantics and syntax


Using
data description language

e.g.
Data Format Description
Language (DFDL) style
Simple_DFDL

2.
Exchange messages in a
streaming

style


Use streaming at protocol and semantic level

3.
Using Context
-
store to hold static data


Unchanging/redundant SOAP message parts


Simple_DFDL as a data representation


Negotiated stream characters

Sangyoon Oh

15

Messaging Style


Producer and Consumer of data have access
to its Schema (Static data binding)


Stream
--

set of related messages



Messages in the stream


the same structure
and same data type


Mobile clients (e.g. PDAs or smart phones)
access to Grid job


Message size is tend to be small (e.g. in
mobile computing)

Sangyoon Oh

16

Distinguishing

XML Syntax and Semantics


Our XML data model is defined by XML
Infoset specification.


Our approach


Distinguish semantic (message content) and
syntax


e.g. <year>2006</year>


Its syntax and value, 2006


To define the XML syntax

a)
Use a data description language (Simple_DFDL )

b)
Use a data description file as a sample instance of messages
in the stream

Sangyoon Oh

17

Simple_DFDL


and Processing Module


Mapping data between representations


Processing architecture


Simple_DFDL describes data format


Processor (DSParser) builds the HHFR Data model


Filter converts data from and to the preferred
representation format


A follow
-
on project is to integrate HHFR with
fully developed DFDL


HHFR starts with Simple_DFDL and will move to DFDL.

Example:

Simple_DFDL document

<xs:element name="HHFR">


<xs:complexType>


<xs:element name=“Float1" type=“float"/>


<xs:element name=“Float2" type=“float"/>


</xs:complexType>

</xs:element>

HHFR Data Model
DSParser
(
Simple
_
DFDL
Processor
)
Streamer
(
i
.
e
.
Filter
)
Data
SOAP Negotiation
Message
Simple
_
DFDL
Document
Data in the preferred
representation on
-
the
-
wire
19

Message Handling



Filters


Convert representations


XML
-
to
-
binary, binary
-
to
-
language specific data model


Handler for Headers


Conventional Handler Approach: Convert back to SOAP


M
ake a handler understand alternative representation


e.g. WS
-
RM handler could be taught alternative representation

Body
Processor
Handler
Handler
Filter
Body
...
Header
20

Negotiation Process


Use conventional SOAP message


Negotiate


HHFR
-
Capability


A preferred representation


Characteristics of Stream


QoS issues (e.g. reliability, security)

Client
Web
Service
Client
Web
Serrice
create
Negotiation
Response
(
False or Error
)
SOAP
Message
Exchange
Negotiation
Request
Negotiation
Request
Negotiation
Response
(
True
)
create
Message
Stream
Sangyoon Oh

21

Streaming

Related Issues


Transport:


HTTP transport could be a performance
bottleneck


well known fact


TCP/IP connection setup overhead
, Request/Response.


Persistent Connection may be not guaranteed in Cellular
environment


Representation:


Using Context
-
store saving of redundant /
unchanging data


Sangyoon Oh

22

Context
-
store


Strategy: a
rchiving
s
tatic
m
eta
-
data

and
negotiated information


Any WS enabled Database could be used


Guarantees semantically persistent recovery


WS
-
Context specification


Use URI to store and retrieve


Fault Tolerant High Performance Information
Service (FTHPIS) of CGL

Sangyoon Oh

23

Normal Runtime Scenario


1.
A HHFR
-
capable endpoint sends a negotiation request
to intended service endpoint over SOAP.

a)
Send an input data description

b)
Service endpoint sends an output data description

2.
Two endpoint
s

exchange message in stream fashion


Messages in the stream are in the form of negotiated
representations

3.
The redundant / unchanging static metadata and
negotiation details are stored in Context
-
store

Sangyoon Oh

24

Summary


Bandwidth problems in limited wireless connection


Optimized message representation


Reducing message size using Context
-
store


Parsing & Serializing overhead to less powered
processor in mobile device


Avoiding conventional SOAP processing


Simple_DFDL & Filters process message in efficient way.


HTTP request/response in high latency wireless
connection


Transport level message streaming


Intermittent Wireless Connection


Context
-
store automates semantically persistent recovery

25

Performance and Analysis


Sangyoon Oh

26

Performance Evaluation


Experiments are intended to show


Performance comparisons between a
conventional SOAP based client and a HHFR
based client


Savings and gains from Context
-
store


Analyzed optimal scalability using Context
-
store


Service clients are running on Treo600


Experiments run through actual 2G cellular
connections

Sangyoon Oh

27

Connection Setup

Internet
Treo
600
Wireless
Wired
Cellular Tower
Cellular
Gateway
Service A
(
String Concatenation
)
Service B
(
Floating Point Number Addition
)
28

Machine Configuration

Service Provider: Grid Farm 8

Processor

Intel® Xeon™ CPU (2.40GHz)

RAM

2GB total

Network Bandwidth

100Mbps

OS

GNU/Linux (kernel release 2.4.22)

Java Version

Java 2 platform, Standard Edition (1.5.0
-
06)

SOAP Engine

Axis 1.2 (in Tomcat 5.5.8)

Service Client: Treo 600

Processor

ARM (144MHz)

RAM

32MB total, 24MB user available

Network Bandwidth

14.4Kbps (Sprint PCS Vision)

OS

Palm 5.2.1.H

Java Version

Java 2 platform, Micro Edition

CLDC 1.1 and MIDP 2.0

29

System Parameters


t
hhfr

: time per message in a HHFR performance model


t
soap

: time per message in a conventional SOAP performance model


O
a

: overhead for accessing the Context
-
store Service


O
b

: overhead for negotiation


C
hhfr

: total time for finishing stream of the HHFR


C
soap

: total time for finishing stream of the conventional SOAP framework

Context
-
store
(
Information Service
)
Service Provider
(
Endpoint A
)
Mobile Client
(
Endpoint B
)
t
hhfr
Stream Communication
Channel of HHFR
O
a
Negotiation through SOAP
O
b
30


C
hhfr

= nt
hhfr

+ O
a

+ O
b


C
soap

= nt
soap




Breakeven point:


n
be

t
hhfr

+ O
a

+ O
b
=
n
be

t
soap







O
a
(WS) is roughly 20 milliseconds

Performance Model and Measurements

Average
±
error (sec)

Stddev (sec)

Context
-
store
Access

(
O
a
)

4.127
±
0.042

0.516

Negotiation (
O
b
)

5.133
±
0.036

0.825

O
a

: overhead for accessing the


Context
-
store Service

O
b

: overhead for negotiation

Sangyoon Oh

31

String Concatenation


Measure the total
stream time i.e.
summation of RTT


Independent
variables


Number of
messages per
stream


Size of the
message

0
5
10
15
20
25
30
35
0
20
40
60
80
100
120
140
Number Of Messages Per Stream
Time for Finishing Message Stream (sec)
HHFR: 16 String Per Message
SOAP: 16 String Per Message
Sangyoon Oh

32

Floating Point Number Addition


Large Slope of
SOAP

1.
high latency of
the HTTP
based
communication

2.
SOAP parsing/
serialization
overhead



There exist in
non
-
zero
locations
breakeven point

0
5
10
15
20
25
30
35
0
20
40
60
80
100
120
140
Number Of Messages Per Stream
Time for Finishing Message Stream (sec)
HHFR: 16 Floats Per Message
SOAP: 16 Floats Per Message
Sangyoon Oh

33

Performance

saving by using Context
-
store

Message Size

Full SOAP Message

Optimized Message

Ave.
±
error

Stddev

Ave.
±
error

Stddev

Medium: 513byte (sec)

2.76
±
0.034

0.187

1.75
±
0.040

0.217

Large: 2.61KB (sec)

5.20
±
0.158

0.867

2.81
±
0.098

0.538


Experiments ran over HHFR


Optimized message exchanged over HHFR after saving
redundant/unchanging parts to the Context
-
store


We use WS
-
Addressing message for the experiment.


Save on average 83% of message size, 41% of transit time

Summary of the
Round Trip Time (
T
RTT
)


Sangyoon Oh

34

System Parameters


N:
the maximum number of stream supported by
one server


T
wsctx
: time consumed to process (setContext) an
operation


T
time
-
in
-
server
: time consumed in Axis server


T
axis
-
overhead
: time consumed to process Axis
data
-
binding and HTTP request/response


T
stream
: length of stream in seconds

Sangyoon Oh

35

Summary of T
time
-
in
-
server

measurements

T
time
-
in
-
server

= T
wsctx
+ T
axis
-
overhead


T
wsctx
=< 1 milliseconds



Axis 1.2 Beta3 is used



Data binding overhead


at Web Service Container

is the dominant factor to

message processing







1.2
1.4
1.6
1.8
2
2.2
0
50
100
150
200
250
300
Size of Context (KB)
Time (msec)
T(time-in-server)
Sangyoon Oh

36


1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
2.1
0
50
100
150
200
250
300
Size of Context (KB)
Time (msec)
T(WSCTX)
T(Data-Binding)
T(SOAP-Sending-Receiving)
Sangyoon Oh

37

Allowed Maximum Number of Stream
by Server

N: the maximum number of stream supported by one server


3N/T
stream



1 / T
time
-
in
-
server
(N/T stream starts and N/T stream ends)


N ≈ T
stream

/ (3 * T
time
-
in
-
server
)


e.g. T
stream

= 600 (sec),


T
time
-
in
-
server

= 0.035 (when the context
-
size is 1.2 Kbyte)




N ≈ 600 / {3 * 0.035}


N ≈ 5700

38

Conclusions

and Future Work

Sangyoon Oh

39

Summary of
Contributions


Design and implement an overall system framework architecture:
The HHFR Architecture provides


A mechanism to negotiate the characteristics of a stream


A streaming communication channel


Simple_DFDL which distinguishes the semantics from the
representation of message content


An interface to Information service (Context
-
store)


A semantically persistent recovery framework


Detailed performance evaluation


Benchmark applications, approach to use a Context
-
store

Sangyoon Oh

40

Future work


Streaming channel integrated with a
Web Service
Container.


Provide a plug
-
in API for filter implementation


Integration with fully developed DFDL


Support more message type


Secure Message stream using negotiation process


Bouncy Castle lightweight cryptography package


WS
-
Policy specifying the default strategy


Read from Context
-
store or negotiation message



Relevance to non mobile (conventional ) case

Sangyoon Oh

41

Related publications


Sangyoon Oh

and Geoffrey Fox, “
Optimizing Web Service Messaging
Performance in Mobile Computing
,”
Future Generation Computer Systems
Journal
, Revision being processed.


M. Aktas,
S. Oh
, G. Fox, and M. Pierce, “XML Metadata Service”
Proc. of the
IEEE 2
nd

International Conference on Semantics, Knowledge and Grid
(SKG2006)
, Nov. 2006



Sangyoon Oh
, Mehmet Aktas, Marlon Pierce, and Geoffrey Fox, “Architecture
for High
-
Performance Web Service Communications using an Information
Service,”
World Scientific and Engineering Academy and Society Transactions
on Information Science and Applications
, May 2006


Sangyoon Oh
, Hasan Bulut, Ahmet Uyar, Wenjun Wu, and Geoffrey Fox,
“Optimized Communication using the SOAP infoset For Mobile Multimedia
Collaboration Applications,”
Proc. Of the IEEE 2005 International Symposium on
Collaborative Technologies and Systems (CTS 2005)
, May 2005.


Sangyoon Oh

42

Full list of
publications

(I)


Wonil Kim,
Sangyoon Oh
, Sanggil Kang, Kyungro Yoon,
A Novel Approach in Sports Image
Classification
,
Lecture Notes in Computer Science (Proc. of the International Conference on Intelligent
Computing ICIC 2006)
, August 2006.


Wonil Kim,
Sangyoon Oh
, Sanggil Kang, Dongkyun Kim,
Multi
-
module Image Classification System
,
Lecture Notes in Artificial Intelligence (Proc. of the 7th International Conference on Flexible Query
Answering Systems FQAS 2006)
, June 2006.


Sangyoon Oh
, Mehmet S. Aktas, Geoffrey C. Fox, Marlon Pierce,
Architecture for High
-
Performance
Web Service Communications Using an Information Service
,
World Scientific and Engineering
Academy and Society Transactions on Information Science and Applications
, May 2006.


Geoffrey C. Fox, Mehmet S. Aktas, Galip Aydin, Hasan Bulut, Harshawardhan Gadgil,
Sangyoon Oh
,
Shrideep Pallickara, Marlon E. Pierce, Ahmet Sayar, and Gang Zhai,
Grids for Real Time Data
Applications
,
Lecture Notes in Computer Science (Proc. of the 6th International Conference on Parallel
Processing and Applied Mathematics PPAM 2005)
, Poznan Poland, September 11
-
14 2005.


Sangyoon Oh
, Sangmi Lee Pallickara, Sunghoon Ko, Jai
-
Hoon Kim, Geoffrey Fox,
Cost Model and
Adaptive Scheme for Publish/Subscribe Systems on Mobile Environments
,
Lecture Notes in
Computer Science (Proc. of the 2nd International Workshop on Active and Programmable Grids
Architectures and Components APGAC05)
, May 2005.


Sangyoon Oh
, Sangmi Lee Pallickara, Sunghoon Ko, Jai
-
Hoon Kim, Geoffrey Fox,
Publish/Subscribe
Systems on Node and Link Error Prone Mobile Environments
,
Lecture Notes in Computer Science
(Proc. of Wireless and Mobile Systems Workshop in ICCS 2005)
, May 2005.


G. Fox, S Ko, M Pierce, O Balsoy, J Kim, S Lee, K Kim,
S Oh
, X Rao, M Varank, H Bulut, G Gunduz, X
Qui, S Pallickara, A Uyar,
Grid Service for Earthquake Science
,

Concurrency and Computation:
Practice and Experience in ACES Special Issue
, 14, 371
-
393, October 2002.

Sangyoon Oh

43

Full list of
publications

(II)


Wenjun Wu, Ahmet Uyar, Hasan Bulut,
Sangyoon Oh
, Geoffrey Fox,
Grid Service Architecture for
Videoconferencing
, to appear as chapter in book "
Grid Computational Methods
" Edited by M.P.
Bekakos, G.A. Gravvanis and H.R. Arabnia.


M. Aktas, G. Aydin, H. Bulut, H. Gagdil, G. Fox, M. Nacar, M. Pierce, A. Sayar and
S
. Oh
,
XML
Metadata Services and Application Usage Scenarios
,
Proc. of The IEEE 2nd International
Conference on Semantics, Knowledge and Grid (SKG2006)
, Guilin China, Oct. 31


Nov. 3, 2006


Sangyoon Oh
, Mehmet S. Aktas, Marlon Pierce, Geoffrey C. Fox,
Optimizing Web Service Messaging
Performance Using a Context Store for Static Data
,
Invited paper for 5th WSEAS International
Conference on TELECOMMUNICATIONS and INFORMATICS (TELE
-
INFO '06)
, Istanbul, Turkey, May
27
-
29, 2006.


Geoffrey C. Fox, Mehmet S. Aktas, Galip Aydin, Andrea Donnellan, Harshawardhan Gadgil, Robert
Granat, Shrideep Pallickara, Jay Parker, Marlon E. Pierce,
Sangyoon Oh
, John Rundle, Ahmet Sayar,
and Michael Scharber,
Building Sensor Filter Grids: Information Architecture for the Data Deluge,

Proc. of The IEEE International Conference on Semantics, Knowledge and Grid (SKG2005)
, Beijing
China November 27
-
29 2005.


Sangyoon Oh
, Hasan Bulut, Ahmet Uyar, Wenjun Wu, Geoffrey C. Fox,
Optimized Communication
using the SOAP Infoset For Mobile Multimedia Collaboration Applications
,
Proc. of the IEEE 2005
International Symposium on Collaborative Technologies and Systems (CTS 2005),

St. Louis, Missouri,
USA, May. 2005.


Sangyoon Oh
, Geoffrey C. Fox , Sunghoon Ko,
GMSME: An Architecture for Heterogeneous
Collaboration with Mobile Devices
,
Proc. of the Fifth IEEE/IFIP International Conference on Mobile
and Wireless Communications Networks (MWCN 2003),

Singapore, October, 2003

Sangyoon Oh

44

Full list of
publications

(III)




Geoffrey Fox, Sunghoon Ko, Kangseok Kim, Sangmi Lee, and
Sangyoon Oh
,
Universal Accessible
Collaboration Frameworks for Ubiquitous Computing Environments
,
Proc. of

International
Conference in Ubiquitous Computing (ICUC 2003) in Seoul, Korea
, October 2003



Sangmi Lee, Sunghoon Ko, Geoffrey Fox, Kangseok Kim, and
Sangyoon Oh
,
A Web Service
Approach to Universal Accessibility in Collaboration Services
,

Proc. of the 1st International
Conference on Web Services (ICWS ’03),
Las Vegas, USA, June 2003.


Geoffrey Fox, Hasan Bulut, Kangseok Kim, Sung
-
Hoon Ko, Sangmi Lee,
Sangyoon Oh
, Shrideep
Pallickara, Xiaohong Qiu, Ahmet Uyar, Minjun Wang, Wenjun Wu,
Collaborative Web Services and
Peer
-
to
-
Peer Grids
,
Proc. of the 2003 International Symposium on Collaborative Technologies and
Systems (CTS 2003)
, Orlando, Florida, USA, Jan. 2003.


Hasan Bulut, Geoffrey Fox, Dennis Gannon, Kangseok Kim, Sung
-
Hoon Ko, Sangmi Lee,
Sangyoon
Oh
, Xi Rao, Shrideep Pallickara, Quinlin Pei, Marlon Pierce, Aleksander Slominski, Ahmet Uyar, Wenjun
Wu, Choonhan Youn,
An Architecture for e
-
Science and its Implications
,
Proc. of the 2002
International Symposium on Performance Evaluation of Computer and Telecommunication Systems
(SPECTS 2002)
, San Diego, CA, USA, July 2002.


Geoffrey C. Fox, Sunghoon Ko, Kangseok Kim,
Sangyoon Oh

and Sangmi Lee,
Integration of Hand
-
Held Devices into Collaborative Environments
,
Proc. the 1st International Workshop on
Wired/Wireless Internet Communications (WWIC 2002),

Las Vegas, NV, USA, April 2002.