1 ph.d. student of eecs department, syracuse university research work is performed at community...
DESCRIPTION
3 Current projects of CGL NSF Middleware Initiative (NMI) NSF Middleware Initiative (NMI) CGL, Extreme Lab of IU, University of Texas, University of Chicago, Argon National Lab, a suite of grid services including portlets interface for middleware environment CGL, Extreme Lab of IU, University of Texas, University of Chicago, Argon National Lab, a suite of grid services including portlets interface for middleware environment NaradaBrokering NaradaBrokering A open source messaging infrastructure/middleware for collaboration, peer-to-peer, and Grid applications A open source messaging infrastructure/middleware for collaboration, peer-to-peer, and Grid applications collaboration environments collaboration environments GlobalMMCS A open source multimedia collaboration system (multiple video conferencing technology that supports Java A/V, H323, real player clients; XGSP session control) GlobalMMCS A open source multimedia collaboration system (multiple video conferencing technology that supports Java A/V, H323, real player clients; XGSP session control) Collaborative SVG, PowerPoint, and OpenOffice etc. Collaborative SVG, PowerPoint, and OpenOffice etc.TRANSCRIPT
![Page 1: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/1.jpg)
11
Ph.D. student of EECS department, Syracuse UniversityPh.D. student of EECS department, Syracuse UniversityResearch work is performed at Community Grids Lab, Indiana UniversityResearch work is performed at Community Grids Lab, Indiana University
[email protected]@syr.edu, , [email protected]@indiana.edu
501 Morton N. St, Suite 222, Bloomington IN 47404501 Morton N. St, Suite 222, Bloomington IN 47404CommunityCommunity Grids Lab, Indiana UniversityGrids Lab, Indiana University
by Xiaohong Qiuby Xiaohong Qiu
Building Desktop Applications with Web Services Building Desktop Applications with Web Services in a Message-based MVC Paradigmin a Message-based MVC Paradigm
![Page 2: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/2.jpg)
22
BackgroundBackgroundCGL researchCGL research – g– general area is technology support for eneral area is technology support for Synchronous and Asynchronous Resource SharingSynchronous and Asynchronous Resource Sharing
e-learninge-learning e-science e-science
GridsGrids manage and share (typically asynchronously) resources (people, manage and share (typically asynchronously) resources (people,
computers, data, applications etc.) or distributed services in a computers, data, applications etc.) or distributed services in a centralized fashion. centralized fashion.
Web ServicesWeb Services Define loosely coupled software components across internet Define loosely coupled software components across internet
interacting with messages. interacting with messages.
Peer-to-peer GridsPeer-to-peer Grids link services, resources and clients in dynamic decentralized link services, resources and clients in dynamic decentralized
fashionfashionThe system consists of The system consists of a sea of message-based Servicesa sea of message-based Services (e.g. shared SVG (e.g. shared SVG as a Web Service)as a Web Service)Services linked by Services linked by publish-subscribepublish-subscribe messaging infrastructure (e.g. messaging infrastructure (e.g. NaradaBrokering)NaradaBrokering)
![Page 3: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/3.jpg)
33
Current projects of CGLCurrent projects of CGL
NSF Middleware Initiative (NMI)NSF Middleware Initiative (NMI) CGL, Extreme Lab of IU, University of Texas, University of CGL, Extreme Lab of IU, University of Texas, University of
Chicago, Argon National Lab, a suite of grid services Chicago, Argon National Lab, a suite of grid services including portlets interface for middleware environmentincluding portlets interface for middleware environment
NaradaBrokeringNaradaBrokering A open source messaging infrastructure/middleware for A open source messaging infrastructure/middleware for
collaboration, peer-to-peer, and Grid applicationscollaboration, peer-to-peer, and Grid applications
collaboration environmentscollaboration environments GlobalMMCSGlobalMMCS A open source multimedia collaboration A open source multimedia collaboration
system (multiple video conferencing technology that system (multiple video conferencing technology that supports Java A/V, H323, real player clients; XGSP session supports Java A/V, H323, real player clients; XGSP session control) control)
Collaborative SVG, PowerPoint, and OpenOffice etc.Collaborative SVG, PowerPoint, and OpenOffice etc.
![Page 4: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/4.jpg)
44
Research on a generic model of building applicationsResearch on a generic model of building applications
Applications: Applications: distributed, Web/Internet, desktopdistributed, Web/Internet, desktopmotivationsmotivations
CPU speed (Moore’s law) and network bandwidth (Gilder’s law) CPU speed (Moore’s law) and network bandwidth (Gilder’s law) continue to improve bring fundamental changescontinue to improve bring fundamental changes
Internet and Web technologies have evolved into a global information Internet and Web technologies have evolved into a global information infrastructure for sharing of resourcesinfrastructure for sharing of resources
Applications getting increasingly sophisticated, e.g. Applications getting increasingly sophisticated, e.g. Internet collaboration enabling virtual enterprises; Internet collaboration enabling virtual enterprises; large-scale distributed computing)large-scale distributed computing)
Requires new application architecture that is adaptable to fast Requires new application architecture that is adaptable to fast technology changes with propertiestechnology changes with properties
scalabilityscalabilityReusabilityReusabilityInteroperabilityInteroperabilityReliabilityReliabilityHigh performanceHigh performanceLow costLow cost
![Page 5: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/5.jpg)
55
Summarization of the situationSummarization of the situationThe subsystem of Internet has evolved into stabilityThe subsystem of Internet has evolved into stability
TCP/IP network stack dominating the communication protocol domain; TCP/IP network stack dominating the communication protocol domain; IP forms the low-level sphere surrounding hardware network coreIP forms the low-level sphere surrounding hardware network core
Construction of distributed operating system over the Internet has not Construction of distributed operating system over the Internet has not completedcompleted and keeps adding new functionalities to the general purpose platform and keeps adding new functionalities to the general purpose platform
One current effort focuses on building of messaging infrastructure tailored for disparate One current effort focuses on building of messaging infrastructure tailored for disparate applicationsapplications
Evolution of application architecturesEvolution of application architectures client-server modelclient-server model Multi-tier (e.g. three-tier) modelMulti-tier (e.g. three-tier) model Peer-to-peer Peer-to-peer A variety of distributed model (e.g. Java RMI, CORBA, COM/DCOM, J2EE, .NET)A variety of distributed model (e.g. Java RMI, CORBA, COM/DCOM, J2EE, .NET) GridsGrids Web Services and SOAWeb Services and SOA
Web application deployment shows diverse directions but have common Web application deployment shows diverse directions but have common featuresfeatures
User interfacesUser interfaces Services for the sharing of information and resources (e.g. through unicast and multicast of group Services for the sharing of information and resources (e.g. through unicast and multicast of group
communication) communication) In the most general sense, collaboration is the core problem and service of Web applications, although In the most general sense, collaboration is the core problem and service of Web applications, although
“collaboration” usually refers to system with real-time synchronous and compelling time constraints“collaboration” usually refers to system with real-time synchronous and compelling time constraints
Next generation of Web client should enable pervasive accessibilityNext generation of Web client should enable pervasive accessibility Ubiquitous availability to clients fro heterogeneous platforms (e.g. Windows, Linux, Unix, Ubiquitous availability to clients fro heterogeneous platforms (e.g. Windows, Linux, Unix,
and PalmOS)and PalmOS) Uniform Web interface that provides a platform with aggregation of multiple servicesUniform Web interface that provides a platform with aggregation of multiple services
![Page 6: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/6.jpg)
6
Architecture of network system
FileServer
Laptop
Cellularphone
PDA
Desktop
Workstation
Database
IBM
Supercomputer
Shared
WANNetwork Core
router
router
ATMswitch
IPTCP UDP
HTTP
SMTP
protocolsApplication
H323
FTP
WS
DL
routing
(SOAP)
ServiceWeb
Conferencing
A/V
Stre
amin
g
Browsers
Web
Multiplayer game
Whiteboard
Overla
ynetwork
Applications
Messaging Infrastructure
Grid computing
P2P
SystemSha
red File
Telnet
Med
iaS
SL
![Page 7: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/7.jpg)
77
Our approachOur approachBuilding applications centered on messagesBuilding applications centered on messagesSeparation of application architecture from Separation of application architecture from messaging infrastructuremessaging infrastructureMessage-based MVC Paradigm Message-based MVC Paradigm forfor distributed, Web, and desktop applicationsdistributed, Web, and desktop applications MMVC and MVCMMVC and MVC MMVC and Web Services MMVC and Web Services MMVC and collaboration MMVC and collaboration MMVC and messaging infrastructureMMVC and messaging infrastructure
![Page 8: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/8.jpg)
88
Related technologiesRelated technologies
Batik SVG browser Batik SVG browser (an open source project from (an open source project from ApacheApache that supports SVG 1.0)that supports SVG 1.0)
A presentation style application is representative and complex in A presentation style application is representative and complex in nature (we experiments with multiplayer-online game with high nature (we experiments with multiplayer-online game with high interactivity and compelling time constraints)interactivity and compelling time constraints)
Similar applications includes Microsoft PowerPoint, Adobe Similar applications includes Microsoft PowerPoint, Adobe Illustrator, Macromedia FlashIllustrator, Macromedia Flash
SVGSVG (W3C specifications for Scalable Vector Graphics)(W3C specifications for Scalable Vector Graphics) A language for describing 2D vector and mixed vector/raster A language for describing 2D vector and mixed vector/raster
graphics in XML.graphics in XML.DOMDOM (W3C specifications for Document Object Model)(W3C specifications for Document Object Model)
Programmatic interfaces for access and manipulate structured Programmatic interfaces for access and manipulate structured document objectdocument object
All modern browsers (approximately) support the W3C DOMAll modern browsers (approximately) support the W3C DOM
![Page 9: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/9.jpg)
99
MethodologyMethodologyProposing an “Proposing an “explicit Message-based MVCexplicit Message-based MVC” paradigm (MMVC) as ” paradigm (MMVC) as the general architecture of Web applicationsthe general architecture of Web applicationsDemonstrating an approach of building “Demonstrating an approach of building “collaboration as a Web collaboration as a Web serviceservice” through ” through monolithic SVG experimentsmonolithic SVG experiments. .
As an example, we present architecture for three types of collaboration As an example, we present architecture for three types of collaboration ─ monolithic, thin client, and interactive client.─ monolithic, thin client, and interactive client.
Bridging the gap between desktop and Web application by Bridging the gap between desktop and Web application by leveraging the existing desktop application with a Web service leveraging the existing desktop application with a Web service interface through “interface through “MMVC in a publish/subscribe schemeMMVC in a publish/subscribe scheme”. ”.
As an experiment, we convert a desktop application into a distributed As an experiment, we convert a desktop application into a distributed system by modifying the architecture from method-based MVC into system by modifying the architecture from method-based MVC into message-based MVC. message-based MVC.
Proposing Multiple Model Multiple View and Single Model Multiple Proposing Multiple Model Multiple View and Single Model Multiple View collaboration as the general architecture of “View collaboration as the general architecture of “collaboration as a collaboration as a Web serviceWeb service” model.” model.Identifying some of the key factors that influence the performance of Identifying some of the key factors that influence the performance of message-based Web applicationsmessage-based Web applications especially those with rich Web especially those with rich Web content and high client interactivity and complex rendering issues.content and high client interactivity and complex rendering issues.
![Page 10: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/10.jpg)
1010
What is message-based MVC?What is message-based MVC?
Message-based Model-View-Controller (MMVC) Message-based Model-View-Controller (MMVC) is a general approach of building applications is a general approach of building applications with a message-based paradigmwith a message-based paradigm
emphasizes a universal modularized service model with emphasizes a universal modularized service model with messaging linkagemessaging linkage
Converges desktop application, Web application, and Converges desktop application, Web application, and Internet collaborationInternet collaboration
MVC and Web Services are fundamental architecture from MVC and Web Services are fundamental architecture from desktop to Web applications, MMVC has general importance as desktop to Web applications, MMVC has general importance as a uniform architecturea uniform architecture
MMVC allows automatic collaboration, which simplifies the MMVC allows automatic collaboration, which simplifies the architecture designarchitecture design
![Page 11: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/11.jpg)
1111
MVC paradigmMVC paradigm
Model View Controller
Model
Controller
ViewMouse eventKeyboard events
Figure MVC Model
Display
![Page 12: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/12.jpg)
12
Message-based MVC model
ViewUser Interface
Raw UIDisplay
ModelWeb Service
Sematic
High Level UI
Events as messages
Rendering as messages
Input port Output port
Messages contain control information
![Page 13: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/13.jpg)
13
View n-1 View nView 1 View 2
Model
a) Single Model Multiple View
View n-1 View nView 1 View 2
Model m-1 Model mModel 1 Model 2
b) Multiple Model Multiple View
SMMV vs. MMMV as MVC interactive patterns
![Page 14: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/14.jpg)
14
Model View Controller
a. MVC Model
Controller
View
Display
Model
Messages contain control information
Decomposition of SVG Browser
b. Three-stage pipeline
High Level UI
Raw UIDisplay
Rendering as messages
Events as messages
Semantic
Events as messages
Rendering as messages
Figure 1 Reformulation of SVG to message based MVC in a Web Service Model
Input port Output port
A comparison of MVC and MMVC model in a case of SVG application
![Page 15: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/15.jpg)
1515
Monolithic SVG ExperimentsMonolithic SVG ExperimentsCollaborative SVG BrowserCollaborative SVG Browser Teacher-Students scenarioTeacher-Students scenario Static Shared SVG contents Static Shared SVG contents Dynamic Share SVG contentsDynamic Share SVG contents
HyperlinkHyperlinkInteractivity and animation (JavaScript binding)Interactivity and animation (JavaScript binding)
Collaborative SVG Chess gameCollaborative SVG Chess game Two players-multiple observers scenarioTwo players-multiple observers scenario Complex interactivity with game intelligenceComplex interactivity with game intelligence
![Page 16: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/16.jpg)
1616
Collaborative SVG Chess GameCollaborative SVG Chess Game
Players
Observers
![Page 17: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/17.jpg)
17
Figure 3 Architecture of collaborative SVG browser on PC
XGSPSession control
Server
Nar
adaB
roke
ring
Even
t (M
essa
ge) S
ervi
ce In
fras
truc
ture
• • •
Master client SVG browser 1F
I
R
O
Other client SVG browser 2F
I
R
O
Other client SVG browser nF
I
R
O
Control to/from
all SVG browsers in the collaborative session
Data from master client
Control to/from XGSP
Data to other clients
Control to/from XGSP
Data from master client
Control to/from XGSP
Architecture of collaborative SVG browser on PC
![Page 18: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/18.jpg)
18
Figure 4 Architecture of collaborative Web Services drawn for particular case of Internet multiplayer game with SVG
Nar
adaB
roke
ring
Even
t (M
essa
ge) S
ervi
ce In
fras
truc
ture
• • •
XGSPSession control
Server
SVG WS 1
Internet Game
SVG WS 2
SVG WS n
• • •
SVG display 1
SVG display 2
SVG display n
Control to/from
SVG WS1,2, …, n
Control to/from XGSP, SVG display 2
Rendering to SVG display 2
Control to/from
SVG WS1,2, …, n
Rendering from SVG WS 2
Control to/from SVG display 2
Architecture of multiplayer game with SVG
![Page 19: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/19.jpg)
19
Figure 5 Collaborative SVG Event processing chart
Raw UI events(e.g. Mouse and
key events)
High Level UI events(e.g. SVG/DOM
events)
Semantic events(e.g. Application events such as
“capture” in chess game)
Collaborative events(e.g. Master Events
which has context information of
collaboration and information from previous stages)
Collaborative SVG Event processing chart
![Page 20: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/20.jpg)
20
Method-based MVC vs. message-based MVC
B
Subscribe to event class
A
Broker
Set up an event class (topic)
publish an event class Send event
message based
A Bregister call back method
invoke call back method with event
method based
![Page 21: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/21.jpg)
21
Decomposition of SVG browser into stages of pipeline
Figure 4 Decomposition of SVG browser into stages of pipeline
SVG parserOutput (Renderer)
(update image buffer)
Input (UI events)(e.g. Mouse and
key events)
JavaScript(access and
manipulate DOM element)DOM tree
(before mutation)(DOM events)
DOM tree’(after mutation)
GVT tree’(GraphicsNode changes )
GVT tree(GraphicsNode events)
DecompositionPoint ModelView
Figure 4 Decomposition of SVG browser into stages of pipeline
SVG parserSVG parserOutput (Renderer)
(update image buffer)
Output (Renderer)(update image buffer)
Input (UI events)(e.g. Mouse and
key events)
Input (UI events)(e.g. Mouse and
key events)
JavaScript(access and
manipulate DOM element)
JavaScript(access and
manipulate DOM element)DOM tree
(before mutation)(DOM events)
DOM tree’(after mutation)
GVT tree’(GraphicsNode changes )
GVT tree(GraphicsNode events)
DecompositionPoint ModelView
![Page 22: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/22.jpg)
2222
Important principalsImportant principals
One should split at points where the original method based linkage One should split at points where the original method based linkage involved serializable Java objects. involved serializable Java objects.
Serialization is needed before the method arguments can be Serialization is needed before the method arguments can be transported and this is familiar from Java RMI.transported and this is familiar from Java RMI.
““Spaghetti” classes implied that additional state information would Spaghetti” classes implied that additional state information would need to be transmitted if we split at points where classes spanned need to be transmitted if we split at points where classes spanned interfaces from different modules. interfaces from different modules.
Batik often involved large classes that implemented many different Batik often involved large classes that implemented many different interfaces. These interfaces often came from different parts of the interfaces. These interfaces often came from different parts of the program and crossed the possible stages mentioned above.program and crossed the possible stages mentioned above.
message-based paradigm tends to force a more restrictive message-based paradigm tends to force a more restrictive programming model where all data is shared explicitly and not programming model where all data is shared explicitly and not implicitly via interfaces crossing splitting lines. implicitly via interfaces crossing splitting lines.
![Page 23: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/23.jpg)
23
Implicit State
subscribe
A B
Broker
publish
send event
Separated component/service model
subscribe
AView
B
Broker
publish
send event
Conventional shared state model
Shared state
A
![Page 24: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/24.jpg)
2424
The changes bring up issues that The changes bring up issues that cause a challenge to the systemcause a challenge to the system
Timing becomes a compelling issueTiming becomes a compelling issue with the separation of client and Web Service server, with the separation of client and Web Service server,
original assumption and design principle break since original assumption and design principle break since time scope drastically increases from tens of time scope drastically increases from tens of microsecond level (e.g. a Java method call) to a few microsecond level (e.g. a Java method call) to a few milliseconds level (network latency plus system milliseconds level (network latency plus system overhead).overhead).
Object serialization is a must have toolkitObject serialization is a must have toolkit messages, as a linkage vehicle, contains component messages, as a linkage vehicle, contains component
information from both sides and keep context same. information from both sides and keep context same. Synchronization is a factor to consider for context Synchronization is a factor to consider for context consistency. consistency.
![Page 25: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/25.jpg)
25
Performance TestingT1: A given user event such as a mouse click can generate multiple associated DOM change events
transmitted from the Model to the View. T1 is the arrival time at the View of the first of these.T2: This is the arrival of the last of these events from the Model and the start of the processing of the
set of events in the GVT treeT3: This is the start of the rendering stageT4: This is the end of the rendering stage
Figure 8 Timing points
DecompositionPoint ModelView
T0
T4 T1T3 T2Output (Renderer)Output (Renderer)
Input (UI events)Input (UI events)
GVT tree’GVT tree’
DOM tree(before mutation)
DOM tree(before mutation)
DOM tree’(after mutation)
DOM tree’(after mutation)
GVT treeGVT treeJavaScriptJavaScript
Figure 8 Timing points
DecompositionPoint Model
DecompositionPoint ModelView
T0T0
T4T4 T1T1T3T3 T2T2Output (Renderer)Output (Renderer)
Input (UI events)Input (UI events)
GVT tree’GVT tree’
DOM tree(before mutation)
DOM tree(before mutation)
DOM tree’(after mutation)
DOM tree’(after mutation)
GVT treeGVT treeJavaScriptJavaScript
![Page 26: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/26.jpg)
26
Performance Results
Table 1 Timing of Stages in milliseconds
First arrival from Model: T1-T0
Start Process DOMT2-T0
Start RenderingT3-T0
End RenderingT4-T0
mean ± error
stddev mean ± error
stddev mean ± error
stddev mean ± error
stddev
Test 1
Solaris server
110 ±5.0
95.0 180 ±10.0
184.0 243 ±11.0
204.0 478 ±13.0
238.0
Test 2
direct connect. Desktop server
108 ±5.0
132.0 180 ±7.0
170.0 234 ±8.0
194.0 485 ±12.0
272.0
Test 3
wireless connect. Desktop server
113 ±3.0
54.0 212 ±5.0
77.0 225 ±5.0
78.0 510 ±5.0
78.0
Test 4
IBM Linux cluster node
76 ± 2.0
76.0 120±2.0
136.0 190 ± 3.0
174.0 476 ±3.0
194.0
Test 5
Solaris server
1490 ±48.0
519.0 2213 ±57.0
614.0 2275 ±56.0
597.0 2556 ±56.0
596.0
![Page 27: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/27.jpg)
27
Shared SVG Browser on PDA
b. Decomposed WS optimized for thin clients
Rendering as messages
Events as messages
Messages contain control information
SemanticHigh Level UI
R F I O
U F I O
Web Service
Event (Message) Service
Raw UIDisplay
Shared SVG Browser on PC
a. Non-decomposed collaborative SVG requiring minimal changes to the original source code
Messages contain control information
Event (Message) Service
R F I O
SVG Browser
SemanticHigh Level UI
Raw UIDisplay
Collaborative Events and Web Service messages
Internet Game
c. Decomposed WS optimized for performance
Messages contain control information
Semantic
R F I O
U F I O
Web Service
Event (Message) Service
High Level UIRaw UIDisplay
Figure 2 Three among the different ways of decomposing SVG between client and Web Service component
Input port Output portRendering as messages
Events as messages
Input port Output port
Collaborative Events and Web Service messages
Collaborative Events and Web Service messages
Three among the different ways of decomposing SVG between client and Web Service component
![Page 28: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/28.jpg)
2828
Summary of message-based MVCSummary of message-based MVC
Provision of a universal paradigm with a service model converging Provision of a universal paradigm with a service model converging desktop applications, Web applications, and Internet collaborationdesktop applications, Web applications, and Internet collaborationWeb applications built on messages can achieve important features Web applications built on messages can achieve important features such as scalabilitysuch as scalabilityThe message-based approach is an indispensable part of the big The message-based approach is an indispensable part of the big picture of system design with a separate intermediate messaging picture of system design with a separate intermediate messaging layerlayer
Reduce deployment overhead of applicationsReduce deployment overhead of applications Increase portability of application by decoupling application architecture Increase portability of application by decoupling application architecture
with underlying platformswith underlying platformsIt conforms to service oriented architecture with loosely coupled It conforms to service oriented architecture with loosely coupled messages linkage, which we expect to have an increasingly messages linkage, which we expect to have an increasingly important role for reusability, interoperability, and scalabilityimportant role for reusability, interoperability, and scalability
![Page 29: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/29.jpg)
2929
ObservationsObservationsThe overhead of the Web service decomposition is not directly measured in The overhead of the Web service decomposition is not directly measured in this table although the changes in T1-T0 in each row reflect the different this table although the changes in T1-T0 in each row reflect the different network transit times as we move the server from local to organization network transit times as we move the server from local to organization locations. locations. This client to server and back transit time is only 20% of the total processing This client to server and back transit time is only 20% of the total processing time in the local examples. time in the local examples. We separately measured the overhead in NaradaBrokering itself which We separately measured the overhead in NaradaBrokering itself which consisting of forming message objects, serialization and network transit time consisting of forming message objects, serialization and network transit time with four hops (client to broker, broker to server, server to broker, broker to with four hops (client to broker, broker to server, server to broker, broker to client). This overhead is 5-15 milliseconds depending on the operating mode client). This overhead is 5-15 milliseconds depending on the operating mode of the Broker in simple stand-alone measurements. The contribution of of the Broker in simple stand-alone measurements. The contribution of NaradaBrokering to T1-T0 is larger than this (about 30 milliseconds in NaradaBrokering to T1-T0 is larger than this (about 30 milliseconds in preliminary measurements) due to the extra thread scheduling inside the preliminary measurements) due to the extra thread scheduling inside the operating system and interfacing with complex SVG application. operating system and interfacing with complex SVG application. We expect the main impact to be the algorithmic effect of breaking the code We expect the main impact to be the algorithmic effect of breaking the code into two, the network and broker overhead, thread scheduling from OS. into two, the network and broker overhead, thread scheduling from OS.
![Page 30: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/30.jpg)
3030
NaradaBrokeringNaradaBrokeringOne can bind SOAP to NaradaBrokering and allow use One can bind SOAP to NaradaBrokering and allow use of any of NaradaBrokering transportof any of NaradaBrokering transport
NaradaBrokering is placed in SOAP handler and controls NaradaBrokering is placed in SOAP handler and controls transport, security and reliable messaging using WS-transport, security and reliable messaging using WS-Security and WS-Reliable MessagingSecurity and WS-Reliable Messaging
For a stream, one first uses port 80 and conventional For a stream, one first uses port 80 and conventional SOAP over HTTP and then negotiates the transport and SOAP over HTTP and then negotiates the transport and encoding to be used in messages of the streamencoding to be used in messages of the stream
![Page 31: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/31.jpg)
3131
Future WorkFuture WorkPerformance analysisPerformance analysis Performance optimizationPerformance optimizationApply the concept to other applications Apply the concept to other applications (e.g. OpenOffice)(e.g. OpenOffice)
![Page 32: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University](https://reader036.vdocuments.mx/reader036/viewer/2022070605/5a4d1b0b7f8b9ab05998b100/html5/thumbnails/32.jpg)
3232
ReferencesReferencesCommunity Grids LabCommunity Grids Lab
University Web siteUniversity Web site http://www.communitygrids.iu.edu/http://www.communitygrids.iu.edu/ CGL Web siteCGL Web site http://www.infomall.orghttp://www.infomall.org
Additional Projects Additional Projects http://grids.ucs.indiana.edu/ptliupages/http://grids.ucs.indiana.edu/ptliupages/
Publications Publications http://grids.ucs.indiana.edu/ptliupages/publications/http://grids.ucs.indiana.edu/ptliupages/publications/
CGL activities summary (2003-2004) CGL activities summary (2003-2004) http://grids.ucs.indiana.edu/ptliupages/publications/CGLHandout.pdfhttp://grids.ucs.indiana.edu/ptliupages/publications/CGLHandout.pdf
Current major projects of CGLCurrent major projects of CGLNSF Middleware Initiative (NMI) NSF Middleware Initiative (NMI) at at www.OGCE.orgwww.OGCE.org
NaradaBrokeringNaradaBrokering at at www.NaradaBrokering.orgwww.NaradaBrokering.org
Collaboration environmentsCollaboration environments GloblaMMCSGloblaMMCS at at http://www.globalmmcs.org/http://www.globalmmcs.org/ Commercial product: Commercial product: AnabasAnabas at at www.anabas.comwww.anabas.com Collaborative SVG at Collaborative SVG at www.svgarena.orgwww.svgarena.org