68
A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State University July. 03. 2003

A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

Embed Size (px)

Citation preview

Page 1: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

A Modular Data Pipelining Architecture (MDPA) for enabling

Universal Accessibility in P2P Grids

Sangmi LeeDepartment of Computer Science

Florida State UniversityJuly. 03. 2003

Page 2: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 2

Outline

Part I. Introductory Concepts and Motivation

Part II. Related WorksPart III. Enabling universal accessibility

in ServicesPart IV. Prototype of MDPAPart V. Contributions and Future Work

Page 3: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 3

Part I. Introductory Concepts and Motivation

Page 4: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 4

Some Observations for Distributed Services

• Distributed Object Computing and Resource Utilization over the Internet.

• Grids manage and share asynchronous resources in a rather centralized fashion

• Peer-to-peer networks are “just like” Grids with different implementations of services like registration and look-up

• Computers are fast and getting faster. One can afford many strategies that used to be unrealistic– All messages can be publish/subscribe– Software message routing

• Need Synchronous and Asynchronous Resource Sharing– Can provide universal access using synchronous collaboration

technology• Web Services interact with messages

– Everything (including applications like PowerPoint will be a WS?)

• XML will be used for most interesting data and meta-data• P2P Grid provides P2P network between resources or users in a

Grid environment

Page 5: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 5

Classic Grid P2P Grid

Resources

Clients

Database Database

NetsolveComputing

SecurityCollaboration

Composition Content Access

P2PP2P P2P

P2PP2P P2P

P2P

P2P

Middle TierBrokers Service Providers

Page 6: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 6

Universal Accessibility for P2P Grid

• Emerging Miniaturized Devices• Wireless Network Communication (Wireless

LAN(802.11b), 2.5, 3G wireless technology, PAN (Bluetooth), Satellite Communication, etc.)

• Widespread use of Mobile Devices – Affordable mobile devices and services

• Tendency of extending service for mobile devices.– As a user: Mobile devices can be users of traditional distributed

services– As a service provider: A mobile device can itself be a service

provider with its portability (e.g. weather or traffic sensor and send information with wireless network)

• However problems pertaining to limited computing and display capabilities in addition to unreliable network communications persist.

Page 7: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 7

Our Experiences I

• We’ve investigated on the Distributed Collaborative Services: Tango Interactive (NPAC, Syracuse Univ.) Garnet Collaborative Service (FSU)

• Garnet Collaborative Service• Purpose : Support distance Education, Training and if possible

Computing as Grid(Web) Services • Integrate Synchronous and Asynchronous collaboration• Support universal access including PDA’s collaboration with desktops• Uniform XML event (message) based architecture

•All data structures defined in an XML Schema called GXOS •XML for all metadata (Users, documents, computers) and object changes -- from text chats to display changes etc.•MyXoS manipulates GXOS objects

• We build on GMS/JMS (Java Message Service) as industry standard to implement publish/subscribe model

• Support collaborative features : basic interactive features (textchat, whiteboard, etc.), shared resources (shared display, shared export), AV conferences.

Page 8: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 8

Our Experiences II : Short Demonstration

Page 9: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 9

Our Experiences III: PDA Adaptor (Personal Server)

Page 10: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 10

Lessons from Earlier works

• Adaptor architecture provided us an easy way to integrate PDAs to existing distributed systems.

• However, we faced the limitation of proxy architecture.– Content adaptation concentrated on adaptor could cause

inefficient network bandwidth usage.– Proxy-based architecture for integrating network

communication protocols could not ensure end-to-end service features of intelligent messaging frameworks.

– Optimization of individual messages could be an overhead on message delivery

• The wireless communication capability and computing power of mobile devices are getting better and better.

Page 11: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 11

Motivation• A P2P Grid provides a natural environment for heterogeneous

resource sharing• A traditional 3-tier distributed service expects unified user

devices with the infrastructure focused on back-end resources or the middleware messaging service.

• Early efforts – Software architectures for user interface (Seeheim model, MVC,

PAC, etc) which have been developed to support various advanced approaches in user interface design.

– Scientific Visualization, which maps raw data sets to a graphical form for effective human visual senses. These efforts (IRIS, AVS…) were developed for a specific purpose and are not adaptable into a general purpose distributed service as it is.

The idea of separating user presentation from raw data is still a major approach in distributed services such as the Web service infrastructure.

• Therefore, the P2P Grid needs a software architecture, for supporting heterogeneous devices, which clearly defines data processing within the services that it provides.

Page 12: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 12

Research Objectives

• Investigating a software architecture which provides,– Modular data processing– Flexible Interoperability between object processing– User Interactivity– Universal Accessibility

• Developing a prototype based on this software architecture

• Ability to apply this software architecture design to other areas

• A service paradigm, which factors both the nature and capability of heterogeneous devices into its design.

Page 13: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 13

Part II. Related Work

Page 14: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 14

Classical Approaches for Presentation Generation

• PAC-Amodeos model : Presentation-Abstraction-Control (PAC) model + Arch model( refined Seehiem model )

• MVC (Model-View-Controller) Architecture• Advantage : Separating User Presentation from Raw data

object Provides flexible data representation (multiple synchronized views on the same information)

• Open problems : Data processing is defined coarsely. As a consequence, the design of the adapting process in multiple service instances cannot be unified cannot ensure interoperability between data processing

• Approaches in Scientific Visualization : Focused on the specific purpose of application, thus, hard to adapt into general purpose applications.

Page 15: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 15

Proxy-based architectural approaches

• Provides an interface to the service, which adapts mobile devices to the conventional network communication environments. (iMobile from AT&T, WBI project from IBM, ICEBERG from Berkeley)

• Advantages – More manageable for a specific group of users– Easy to integrate new devices to legacy service.

• Disadvantages – Network communication overhead if the content adapting

scheme is performed only in proxy.– Hard to ensure end-to-end service for existing communication

framework (security, fault-tolerance, etc)

Page 16: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 16

Standards for Heterogeneous Environments

• W3C(XML based markup languages, CC/PP..) OASIS (Web service description language), TEI, UnicodeConsotium, ANSI, Dublin Core Metadata Initiate etc.

• Advantage– Interoperability between heterogeneous devices, applications

and network environments.

• Open Problems – In some specific area, “Data Standard” does not have meaning

of standard because of too many standards—limited interoperability within the group using same metadata sets.

– Complexity of data processing—parsing, indexing, searching.

Page 17: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 17

Content Adapting Technologies

• Transcoding : Data process which mutates and customizes an object based on the requesting device and the user’s preferences

• Web Clipping (Palm), Quality Aware Transcoding (Duke Univ.) TranSqui (Univ. of Massachusetts), Web Sphere Everyplace Access (IBM)

• Transcoding technology can be a remote resource in distribute services.

Page 18: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 18

Part III. Enabling universal accessibility in Services

Page 19: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 19

Modular Data Pipelining Architecture (MDPA)

• Basic Constraints for the software architecture for enabling Universal Accessibility– Modularity– Adaptability– User Interactivity– Flexibility– Reusability– Scalability– Interoperability

Page 20: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 20

Modular design of Data Processing

• DAT (Data) stage: Data source (facing remote resources)• CTL (Control Logic) stage: Semantic control of the data• DTX (Data Transformer) stage: Process of filtering the object

for heterogeneous devices• PCL (Presentation client) stage: Generating abstract

presentation for each client• MCL (Minimal client) stage: Actual drawing onto user device

Universal user devices

real timemultimedia

IBM

computation unit

DAT CTL DTX PCL MCL

Database

Generating user presentation

User event transmit

Page 21: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 21

Event Model in MDPA (I)

• MDPA is an event based software architecture• Two directions of dataflow

– Event transmission– Presentation Generation

DAT CTL DTX PCL MCL

<?xml vers<!DOCTYPE<!--local DT<svg width=<desc>This

User Event Transmitting

SVG documentwith the original

size of 1200 x 2000

DOM tree ofSVG

document

Rendered Imagewith CSS for PDAs

(resolution of160 x 160)

SVG browser for PDAs

Actual Displayon PDA

Generating Presentation View

Page 22: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 22

DAT CTL DTX PCL MCL

<?xml vers<!DOCTYPE<!--local DT<svg width=<desc>This

User Event Transmitting

SVG documentwith the original

size of 1200 x 2000

DOM tree ofSVG

document

Rendered Imagewith CSS for PDAs

(resolution of160 x 160)

SVG browser for PDAs

Actual Displayon PDA

Generating Presentation View

EXT event

Event Model in MDPA (II)

• Different stages have different data processing• User Event is a combination of multiple event types or single event type :

e.g. loading new URL includes moving mouse to text window (MCL) + Typing text (MCL) + Loading new data (EXT)

• We define minimal unit of user event based on the pattern of event processing.

• We should show MDPA supports these event types successfully.

MCL eventPCL eventDTX eventCTL eventDAT event

Page 23: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 23

Architecture of Each Stage

• Interface: A set of ports facing other stages, users, or resources.

• Presentation Filters: Processes for generating user presentations.

• Event Filters : Processes for transforming user event to deliver to next stage based on the original information

• Stage Manager : Basic concurrency management.

• Finally, Event type is decided by which stage executes its Event Processor.

Input Port facingDTX stage

EventFilter

EventProcessor

PresentationFilter

EventFilter

EventProcessor

PresentationFilter

Stage Manager

Output Portfacing DAT stage

Input Portfacing DAT stage

Output Portfacing DTX stage

Output Port facingPCL stage

Input Port facingPCL stage

Output Port facingCTL stage

Input Port facingCTL stage

CTL stage

DTX stage

Stage Manager

Filtered event byevent filter inDTX stage

User presentationgenerated by

event processor inCTL stage

User presentationfiltered by

presnetation filterin DTX stage

Filtered event byevent filter inPCL stage

Page 24: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 24

Modeling of MDPA

• Using software architecture pattern of “Pipes and Filters” : suitable for presenting data flow – Each processing step is encapsulated in a filter

component– Data is passed through pipes between adjacent filters.– Recombining these filters allows us to build families of

related filters.

• Representation of data process in MDPA : Modular PT-nets (Place and Transitions petri-net)– The main uses of Petri nets are for discrete event

simulation and modeling complex system such as communication protocols or distributed databases.

– State-based formalism– Graphical expressiveness– Well developed tools

Page 25: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 25

Modular PT-net

• Original PT-net includes four components: a set of place P, a set of transitions T, a weight function W, and a mapping function for the initial marking Mo.

• Modular PT-net : sharing Place or Transition, so, easy to represent Modular approach for big systems [Christensen+00].

• Each module should be able to generate output independently.

• Each stage of MDPA is represented as a Module and sharing transitions (interface between stages)

Transition TPlace A Place B

Place A Place BFusing Transition T

Two modules sharing one transition

Module A Module B

token

Page 26: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 26

A Service with MDPA• A Service : A set of processes from capturing user event to

delivering user presentation• Defining of a Service within MDPA following the Definition of

Modular PT-net– Define Stage as a Module of Modular PT-net– There is no fusing Place– Define Interface as a fusing Transitions Put it altogether!

Stage DAT Stage CTL

User Presentation Generating

Stage DTX Stage PCL Stage MCLResource

Event Transmit

PlaceFusing

TransitionArc

InterfaceOutput Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Interface Interface Interface Interface Interface

User

Page 27: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 27

Definition of a Service

MCLPCL DTX CTLDATservice

Service

s

s ss

MCLMCLMCLMCLMCL

PCLPCLPCLPCLPCL

DTXDTXDTXDTXDTX

CTLCTLCTLCTLCTL

DATDATDATDATDAT

MCLPCLDTXCTLDAT

Interface Interface Interface Interface Interface= TF

,.MNin ns transitiofusing ofset a is There

s' s wheres' O(op) and s, I(op) s, op

such that ns, transitiofusing ofset a is sOutputPort

s'. s wheres' I(ip) and s, O(ip) s, ip

:such that ns, transitiofusing ofset a is InputPort

where,OutputPort InputPort = Interface

s, stagein ns transitiofusing ofset a as s stage of Interface define We(iii)

{} = PF Therefore MNService,in place fusingnot is There(ii)

);Mo , W,T ,(P = PT

);Mo , W,T ,(P = PT

);Mo , W,T ,(P = PT

);Mo , W,T ,(P = PT

);Mo , W,T ,(P = PT

:such thatnet -PT a as defined stageeach Where

}PT ,PT ,PT ,PT ,{PT = S

stage"." as called modules ofset finite a is S(i)

:such that TF) PF, (S, = MNService triplea as defined isMDPA in service single The

MDPA with ServiceA 4.12 DEFINITION

Define a Service architecture following Definition of Modular PT-net

Def. 4.7 ~ 4.11

Page 28: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 28

Representation of Stage with Modular PT-net

receive presentationfrom PCL stage

Presentation is receivefrom PCL stage

GeneratedPresentation

Presentationfiltering

Presentationfiltering

Filteredpresentation

Caching Output Filtered &stored Output

This stage isavailable

DisplayPresentation

EventQueuing

Eventis in Queue

Eventprocessing

Input Portfacing PCL stage

Output Portfacing PCL stage

Output Portfacing User

Input Portfacing User

StageManager

EventFilter

EventProcessor

PresentationFilter

receive event

received event

filtering event

filtered event

transmit eventto PCL stage

CTLevent

EXTevent

DTXevent

DATevent

PCLevent

MCLevent

Eventsfrom User

Filteredevents

from MLC

FilteredPresentation

from PCL

UserPresentation

CTLevent

EXTevent

DTXevent

DATevent

PCLevent

t1 t2 t3 t4 t5 t6

t7 t8 t9 t10 t11 t12

t13t14

t15t16

t17

t18

t19 t20 t21 t22 t23 t24

m1 m2 m3 m4 m5 m6

m7 m8 m9 m10 m11 m12m13m14m15

m16

m17 m18

Place Transition ArcFusing

Transition

Presentation Filters Event Filters

Event ProcessorStage Manager

Fusing transitions : Interface

Definition 4.7 ~ 4.11

Page 29: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 29

Tools for Modeling and Analysis

• Demonstration : Visual Object net++ Technical University of Ilmenau, Germany http://www.systemtechnik.tu-ilmenau.de/~drath/visual_E.htm

• Analysis : Tina Ver. 2.5.1 LAAS ( Laboratory for Analysis and Architecture of Systems), France http://www.laas.fr/tina/announce-2.5.1.html

Page 30: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 30

Analysis of Modeling MDPA

• Specification : Specify every path for every event types (Table 4.2) specify every paths inside of stage for each event

• Implementation : Defining a Modular PT-net (Def.4.7 ~ 4.12)• How to verify : Specification .iff. Implementation ?

– We analyze our implementation with PT-net tools.– Show the specification is satisfied with our PT-net implementation

(Is each path strongly connected?) • SCC (Strongly Connected Components) : Two nodes are

strongly connected, iff, there exists a finite directed path, which starts at a source node and ends in a destination node.

• Finally, each path specified in the stage (module) is strongly connected.

• Obviously, since we used fusing transitions for representing interfaces, each interface is strongly connected.

• No formal verification is included in this dissertation.

Page 31: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 31

Aggregation of Services

• Integrating services and enabling multiple service instances for user– Interface facing each data pipeline– Shared process of presentation generation– Independent event transmission to each data pipeline– Unified MCL stage for a single device

Input Output Input Output Input Output

DAT CTL

User Presentation Generation

DTX PCL MCLResourceB

Place Transition Arc

Input Output Input Output Input Output

Input port facingDTX of Service A

User

ResourceA

Fusing TransitionBetween Service

A and B

Input port facingDTX of Service B

FusingPlaceBetween

Service A and B

Input OutputInput Output

Service Instance A

Service Instance B

Aggregated Service

Page 32: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 32

Collaborative service with MDPA

• MDPA considers the interoperability between users in P2P Grid environments.

• Asynchronous collaboration• Synchronous collaboration (real-time

collaboration, 10 ~ 1000 msec.)– Shared Display : Sharing image data in the master’s

framebuffer– Shared Input Port : Sharing user input event and

generating individual display with the full set of data processing.

– Shared Output Port : Sharing user output, more flexible than shared display because it is customizable.

• The collaboration model within MDPA aims to support a flexible collaborative environment for heterogeneous users.

Page 33: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 33

Shared Display model

Master

Participant A

Participant B

DAT CTL

User Presentation Generating

DTX PCL MCLResource

Event Transmit

InterfaceOutput Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Interface Interface Interface Interface Interface

MCL

Output

MCL

Output

Place

Transition

ArcFusingTransition

Adjustedobject forparticipant

A

Adjustedobject forparticipant

B

Filtering

Filtering

Inputport

Inputport

Master'soutput

Master'soutput

Filtering forHeterogeneous

devices t1

m4

m3

t3

m2

t2t4

m1

• Immediate sharing of the bitmap image data from the master user’s framebuffer memory• Basic filtering (compression data, etc) is performed in the

Messaging middleware• Master/Participants share all stages except for the MCL stage• Therefore easy to implement. However, this is less flexible.

Page 34: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 34

Shared Output Port Model

Participant A

Participant B

MasterDAT CTL DTX PCL MCLResource

Event Transmit

InterfaceOutput Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Interface Interface Interface Interface Interface

Place

Transition

FusingTransition

PCL MCL

Input Output Input Output

Interface Interface

PCL MCL

Input Output Input Output

Interface Interface

Arc

User Presentation Generating

Interface Interface

• Sharing Output port to PCL stage• Basic content adaptation is possible• Each participant should have PCL and MCL stages

Page 35: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 35

Shared Input Port Model (CTL Event)

• Every user has full set of MDPA• Only sharing user input event• For each shared input event each service generates

user presentation

Resource

Interface Interface Interface Interface Interface Interface

MasterDAT CTL DTX PCL MCL

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

DAT CTL DTX PCL MCLResource

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Participant

Page 36: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 36

Shared Input Port Model (DAT/EXT Event)

MasterDAT CTL DTX PCL MCLResource

InterfaceOutput Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Interface Interface Interface Interface Interface

DAT CTL DTX PCL MCLResource

Interface

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Participant

MasterDAT CTL DTX PCL MCLResource

InterfaceOutput Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Interface Interface Interface Interface Interface

Interface

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

Output Input

Input Output

• DAT event

• EXT event

Page 37: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 37

PDAs(iPaq3900)Resolution:240 x 320Wireless LAN 802.11bJ2ME(Personal Java)Image size:553 x 46550.9 KB Bitmap Image

Application –Aware Transcoding for Shared Display

• Goal : Fast and Efficient Propagation upon change of the master’s display.

• Approach: Reduces size of data over the wireless network– Graphic Format Transformation

for specific devices (Based on Java MDPA)

– Data Compression– Color Depth Adjustment– Image Resolution Adjustment– Aggregative Update

Desktop PCLAN/J2SE1106 x 9304017.9 KBBitmap Image

SmartPhone(treo300)Resolution:160x1603G wireless comm.J2ME(MIDP)Image size:120x1001.7 KB/PNG image

Filtering shared display message for wireless devices

Page 38: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 38

Application –Aware Transcoding for Shared Export

• Goal : Support Flexible view points.

• Approach: Manipulate abstracted data and Reduce size of data– Graphic Format Transformation

for specific devices (Based on Java MDPA)

– Stylesheets (CSS)– Data Compression– Image Resolution Adjustment

Styling with CSS for Black/White PDAs

Workflow of Generating image for Shared Export (Collaborative SVG browser)

SVG DocumentSVG Document RenderingRendering ImageFormatting

ImageFormatting

Data Compression

Data Compression

Stylesheet User Profile

Page 39: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 39

Part IV. Prototype of MDPA

Page 40: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 40

Challenge of the Web Service Architecture

• Provide clear framework with the representation of resources and well defined interfaces (ports) specified in WSDL

• Enable the development of collaborative services that can interoperate with existing services implemented in different ways (Perl, Phython, Java, etc.)

• Support for unified user setup of collaborative environment for multiple services.

• Easy to reuse/discover for integrated collaborative features.

• Support for object sharing and integrated service environments

Page 41: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 41

Developing MDPA Service as a Web Service

• Each service is encapsulated as WS semantics

• Interfaces between services, users and resources are defined clearly in WSDL

• Each WS is accessible to other WS via a resource facing port.

• Multiple services are integrated into a Portlet aggregation environment (Jetspeed, WebSpheres)

• Accessible to other resources (including DB, file systems, URL, 3rd party services, A/V conference services, etc.) via resource faced “ports”.

• Flexible packaging method is possible

WSDL

Web Service

Collaborative Application

W

R

S

P

Collaborative Applications as Web Services: defined with WSDL

User Face Web Service WSRP Ports : define WS as a Portlet

WSDL

Web Service

Collaborative Application

W

R

S

P

WSDL

Web Service

Collaborative Application

W

R

S

P

WSDL

Web Service

Service/stage W

R

S

P

Page 42: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 42

Packaging and Structuring the service

WSDL

Web Service

W

RS

PDAT CTL DTX

Remote resourcesExample 1. Put it all together in one WS

WSDL

WS

W

RS

P

WSDL

WS

W

RS

PCTLDAT

WSDL

WS

W

RS

PDTX

Remote resources Example 2. One Stage in One WS

DTX

WSDL

WS

W

RS

P

WSDL

WS

W

RS

PCTLDAT WS WS WS

Remote resources

Example 3. Accessing multiple WSs in one stage

Page 43: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 43

Carousel Web Service

• Prototype of Real-time collaborative service with MDPA.

• DAT+CTL+DTX is designed as a Web Service (example.1)

• PTL is implemented in two phases– Markup Languages (HTML/WML)– Layout of Client application (J2SE AWT APIs/J2ME MIDP)

• MCL is supported in various ways (Traditional PC monitor(32bit true color)/ iPaq(320X240 12bit color)/ Treo300(160x160 8bit color)) based on J2ME technology

• Real-time collaboration requires efficient and reliable messaging framework

Page 44: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 44

Distributed Event Service :NaradaBrokering

• Based on a network of cooperating broker nodes– Cluster based architecture allows system to scale to arbitrary

size

• Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems.

• Now has four major core functions– Message transport (based on performance measurement) in

heterogeneous multi-link fashion– General publish-subscribe including JMS & JXTA and support

for RTP-based audio/video conferencing – Filtering for heterogeneous clients– Federation of multiple instances of Grid services

Page 45: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 45

Event ServiceEvent ServicePortal Portal AggregatorAggregator

Collaborative WebServiceCollaborative WebServiceCollaborative WebServiceCollaborative Web Services

Linkage with Event Service

Remote Collaborative Web Services : integrated As portlets in Portal Aggregator

Real-time event is processedBy the event service (NaradaBrokering) : text message/framebuffer image/URLs/Microsoft events, etc.

Heterogeneous Users

Page 46: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 46

Portal Portal AggregatorAggregator

Session ManagerCollaborative Web Services

Architecture of CAROUSEL Web service

Event ServiceEvent Service

Collaborative Web Services

Collaborative Web Services

Portlets

Traditional Desktop devices Handheld wireless devices

HT

TP

HTTP

NB publish/subscribe

NB publish/subscribe

Page 47: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 47

Scenario

Collaborative WS

user

Session ManagerAggregative Portal1. Login2. Setup

3. User setup input4. User preference/service request

5. Service Topics / Available NB Information

6. ServiceInvocation

7. Service TopicsNB information

9. Service Output

8. User Event

NaradaBrokering

Page 48: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 48

Security Framework

• Required in both phases of network communication• Within Traditional WS Architecture

– (Web Service Portal, Web Service Web Service)– Popular Security Solution is possible (SSL, SOAP Security

Extentions (W3C), S-HTTP, etc)

• Within Real-time messaging – Inherit Security Framework of NaradaBorkering– Topic based encryption of message exchanges– Key Management Center (KMC) manages key distribution– Ensures end-to-end message security– Mobile device should have encryption/decryption module if

it is the generator/consumer of secure messages respectively.

Page 49: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 49

Reliability and Fault Tolerance

• Reliability and Fault Tolerance also should be considered in Two Phase of network communications

• Within the traditional WS Architecture– Portal service for Mobile Device is stateless.

• Within the Real-time Messaging Service– Inherit reliability and fault tolerance scheme from high-

level messaging such as JMS scheme (NaradaBrokering is JMS compliant)

– Access point for the mobile device should provide reliability. Application layer protocol can ensure the reliability (e.g. message acknowledgements, status of network communication links, etc)

Page 50: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 50

WSDisplay

WSViewer

WS Display

WS Viewer

Master

WSDispla

y

WS Viewer

Collaboration as a WSSet up Session

WebServic

e

FI

U

O

FI

R

O

OtherParticipants

WebServic

e

FI

U

O

FI

R

O

WebServic

e

FI

U

O

FI

R

O

Event Service

Shared Input Port Model with Web Service Infrastructure

Page 51: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 51

Select Collaborative SVG Portlet : HTML

Select Collaborative SVG Portlet for Desktop environment

Page 52: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 52

Select Collaborative SVG Portlet for PDA environment

Select Collaborative SVG Portlet : WML

Page 53: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 53

Setup the collaborative environment

Setup Operating System

Setup User Device Resolution

Setup Types of Display

Setup from PDA

Page 54: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 54

Collaborative Browser for Users

Input URL of SVG document

Browse Ready-to-use image from SVG content server

Catch user’s collaborative events from viewer

Page 55: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 55

Part V. Contributions and Future Work

Page 56: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 56

Conclusions

• This dissertation presented a modular architecture for designing services in the context of the P2P Grid.

• Refined the data process as a set of modular stages.• Categorized the user event based on the definition of

stages.• Showing the software architecture based on the Filters and

Pipes pattern, and modeled with Modular PT-net theory• Modeling of aggregation/ collaboration for services with

MDPA• Presented how the architecture is deployed with a Web

service infrastructure• Implemented the prototype of a collaborative SVG Web

service for heterogeneous environments• Explained how MDPA incorporates and interacts with

content adaptation technologies.

Page 57: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 57

Contributions

• Service Design: MDPA provides a software architecture that incorporates heterogeneous user device profiles into its main service design phase. This enables the P2P Grid service designed using MDPA to support diverse user devices while ensuring maximum quality-of-service to each device.

• Refinement of Data Processing : MDPA modularizes data processing, and defines each process with distinguishable characteristics.

• User Interactive Event Model : Based on the definition of Data Processing, MDPA provides a user event model

• Interoperable Data Processing Architecture : Multiple sets of data processing can interoperate with each other.

• Collaboration: A modeling of collaboration in different degree of flexibility

• An adaptable system to support Universal Accessibility : MDPA provides an environment for developing universally accessible software with its well defined data processing stages and schemes of interoperating with other service instances.

• Prototype with a demonstrative application : Carousel Web service

Page 58: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 58

Future Work

• User Interface : Flexible MDPA compliant data object

• Intelligent Messaging middleware: special features for mobile devices

• Deployment with OGSI

• Extend the adaptability to Wearable Devices

Page 59: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 59

Thank you! Demonstration and Source Code is downloadable fromhttp://grids.ucs.indiana.edu/ptliupages/projects/carousel/

Page 60: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 60

Future Work 1. User Interface

• For mobile devices, network/computing capability is improving at a rapid rate.

• User display has the obvious size limit for miniaturized mobile devices.

• Consider flexible accessibility to data object.• Should be defined universally and adaptable to

the service and device.

Page 61: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 61

Future Work 2. Intelligent Messaging Middleware

• Accessible from heterogeneous network communication environments seamlessly.

• Should support basic data compression, security, reliability, and fault-tolerance.

• Should ensure end-to-end service feature for mobile devices.

• Extend the concept of Web service infrastructure – Service discovery/aggregation should be possible in messaging middleware as well.

• Provide Reliability/Fault Tolerance for mobile devices

Page 62: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 62

Future Work 3. Deployment with OGSI

• OGSI (Open Grid Service Infrastructure) provides an environment to integrate key Grid technologies with WS mechanisms to create a distributed system framework

• Since OGSI inherits WS, we expect MDPA to be compliant with OGSI.

• More refined Port type (extended WSDL) can provide more intelligent data processing for P2P Grid service

• Stateful WS concept of OGSI can support easier lifetime management and multiple instances for collaborative services in its aggregated portal environments

Page 63: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 63

Future Work 4. Wearable Devices

• We can extend the adaptability issue to wearable device and more advanced wireless network communications (PAN, satellite)

• As devices get more powerful and specialized, a more integrated and role-based design is required.

Page 64: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 64

Example: Shared SVG Web Service

• SVG (Scalable Vector Graphics) is a 2D vector graphics standard format from W3C with a structured XML syntax

• DOM based structure, so clearly represents object instance in each stage of process

• Prototype of Shared Input port model– Every user has individual service instance.– Collaborative/Non-collaborative user event is processed– User preferences and device profile is defined in setup

session.

• Minimum Functionality in User device : Easy to adapt new devices

Page 65: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 65

Defining the Interface

• Dataflow in MDPA is performed via communication with interfaces including input and output ports

• In Modular PT-net (shared transition), input/output ports are represented as fusing transitions.

).s' (s )s' = (S(O(t)) s = (S(I(t)))

such that, t ns transitioofset a isport t (iii)Outpu

),s' (s )s' = (S(I(t)) s = (S(O(t)))

such that, t ns transitioofset a isport (ii)Input

belongs. which x tostage thedenote toS(x) use we x,node(i)For

:such that ports,Output portsInput = Interfaces

as, defined is s stage a of Interface The

Interface. 4.6 Definition

Page 66: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 66

UserProfile

Application orContent source

WSDL

Web Service

FI

U

O

FI

R

O

Render

Portal(Aggregator)

Selector

Filter

Control Channel

Customized View

SelectionView

Control Channel

Customized View

•Customized User-Facing Ports-setup for device and user preferences

Filtering data for PDAs and Smartphones with different message topics

(NaradaBrokering)Event Service

Universal Access in CAROUSEL Web service

Page 67: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 67

Customizing User Facing Port

• Based on General Purpose Web service aggregator (Apache’s Jetspeed)

• Supporting HTML/WML• Customizable Layout of portal (integrating

environment)• Provide environment for selecting preferences,

hardware capabilities, network service, etc..• Deliver the information to session manager

Page 68: A Modular Data Pipelining Architecture (MDPA) for enabling Universal Accessibility in P2P Grids Sangmi Lee Department of Computer Science Florida State

July.03.2003 [email protected] Page. 68

Filtering in Event Service

• Non-collaborative/Collaborative event filtering

• Collaborative Event is processed depending on the type of devices

• Master user/Participants filtering

Filtering by the topics of Publish/Subscribe messaging system (NaradaBrokering)

Service output for PCService output for iPaq

Service output for regular wireless smartphone

Service output for Treo using 3G