grid-based collaboration in interactive data language applications

14
Grid-based Collaboration in Grid-based Collaboration in Interactive Data Language Interactive Data Language Applications Applications Minjun Wang Minjun Wang Department of Electrical Engineering and Computer Department of Electrical Engineering and Computer Science Science Syracuse University, U.S.A Syracuse University, U.S.A [email protected] [email protected]

Upload: cadman-carpenter

Post on 31-Dec-2015

24 views

Category:

Documents


0 download

DESCRIPTION

Grid-based Collaboration in Interactive Data Language Applications. Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A [email protected]. Outline. Introduction Grid-based Collaboration Model Shared Event Model Notifying Structure - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Grid-based Collaboration in Interactive Data Language Applications

Grid-based Collaboration in Interactive Grid-based Collaboration in Interactive

Data Language ApplicationsData Language Applications

Minjun WangMinjun WangDepartment of Electrical Engineering and Department of Electrical Engineering and

Computer ScienceComputer ScienceSyracuse University, U.S.ASyracuse University, U.S.A

[email protected]@syr.edu

Page 2: Grid-based Collaboration in Interactive Data Language Applications

OutlineOutline

IntroductionIntroduction Grid-based Collaboration ModelGrid-based Collaboration Model Shared Event ModelShared Event Model Notifying StructureNotifying Structure Polling StructurePolling Structure Future WorkFuture Work

Page 3: Grid-based Collaboration in Interactive Data Language Applications

IntroductionIntroduction Interactive Data Language (IDL) is an array-oriented data analysis and Interactive Data Language (IDL) is an array-oriented data analysis and

visualization application, which is widely used in research, commerce, and visualization application, which is widely used in research, commerce, and education.education.

It is meaningful to make user IDL applications collaborative between It is meaningful to make user IDL applications collaborative between computers over networks, using a common message broker as the computers over networks, using a common message broker as the underlying communication system.underlying communication system.

In order to achieve the global collaboration, we have brought together in In order to achieve the global collaboration, we have brought together in the research a Grid-based Collaboration paradigm, a Shared Event model, the research a Grid-based Collaboration paradigm, a Shared Event model, different implementing structures, methodologies and technologies.different implementing structures, methodologies and technologies.• One of the collaborative applications is a type of Master client, the other is a One of the collaborative applications is a type of Master client, the other is a

type of participant.type of participant.• The Master client captures events and sends the event messages to participants The Master client captures events and sends the event messages to participants

during its presentation; the participants then render and share the presentation during its presentation; the participants then render and share the presentation screens synchronously with the master.screens synchronously with the master.

• This collaboration can be implemented on a Notifying Structure or a Polling This collaboration can be implemented on a Notifying Structure or a Polling Structure.Structure.

Narada Message Broker as the underlying message communication systemNarada Message Broker as the underlying message communication system• It transmits event messages between the collaborative master and participant It transmits event messages between the collaborative master and participant

clientsclients

Page 4: Grid-based Collaboration in Interactive Data Language Applications

Grid-based Collaboration ModelGrid-based Collaboration Model In this model, there are two categories of computing – Grid In this model, there are two categories of computing – Grid

computing and Peer-to-Peer computing.computing and Peer-to-Peer computing. Grid computing is the basis; it largely comprises stable, formal, Grid computing is the basis; it largely comprises stable, formal,

and efficient high-functionality services like Web Services, Grid and efficient high-functionality services like Web Services, Grid Services, Common Message Brokers, etc., which are deployed as Services, Common Message Brokers, etc., which are deployed as Grids on structured, well-organized and powerful supercomputers. Grids on structured, well-organized and powerful supercomputers. They are in the core of the model. They are in the core of the model.

Peer-to-Peer computing offers user-friendly, convenient, intuitive Peer-to-Peer computing offers user-friendly, convenient, intuitive and easy accessible applications and services such as the popular and easy accessible applications and services such as the popular commodity software used daily and everywhere. They are commodity software used daily and everywhere. They are installed on a variety of personal devices. They are at the edge of installed on a variety of personal devices. They are at the edge of the model. the model.

In our collaborative IDL applications, we realize the Peer-to-Peer In our collaborative IDL applications, we realize the Peer-to-Peer Grids computing idea. We deploy the Narada Message Broker as a Grids computing idea. We deploy the Narada Message Broker as a Grid and use it for message communication between the Master Grid and use it for message communication between the Master and Participants of the applications; and we deploy the Master and and Participants of the applications; and we deploy the Master and Participants as Peers at the edge and make them collaborate on Participants as Peers at the edge and make them collaborate on events.events.

Page 5: Grid-based Collaboration in Interactive Data Language Applications

Grid-based Collaboration ModelGrid-based Collaboration Model

A grid-based collaboration modelA grid-based collaboration model

Page 6: Grid-based Collaboration in Interactive Data Language Applications

Shared Event ModelShared Event Model

In this model, small text event messages are transmitted In this model, small text event messages are transmitted via the Grids of common message brokers and used to via the Grids of common message brokers and used to coordinate the operations between the peers so that they coordinate the operations between the peers so that they can cooperate concurrently and share the output screen can cooperate concurrently and share the output screen simultaneously. simultaneously.

The Master client captures events and sends the event The Master client captures events and sends the event messages to participants during its presentation; the messages to participants during its presentation; the participants then render and share the presentation participants then render and share the presentation screens synchronously with the master.screens synchronously with the master.

It is fast and efficientIt is fast and efficient• small text string messages greatly reduce the network traffic.small text string messages greatly reduce the network traffic.• it makes full use of the computing power of both sides.it makes full use of the computing power of both sides.

Page 7: Grid-based Collaboration in Interactive Data Language Applications

Notifying StructureNotifying Structure

The Master client is written in IDL The Master client is written in IDL programs. It consists of a GUI programs. It consists of a GUI building and managing part, and an building and managing part, and an event handling part.event handling part.• It captures an event and gets the event It captures an event and gets the event

message in an event handler whenever a user message in an event handler whenever a user clicks a button in the GUI.clicks a button in the GUI.

• It makes use of the IDL-Java Bridge, calls It makes use of the IDL-Java Bridge, calls methods in a Java program to connect to methods in a Java program to connect to NaradaBrokering, and sends the event NaradaBrokering, and sends the event message over there for broadcasting to message over there for broadcasting to participants.participants.

Page 8: Grid-based Collaboration in Interactive Data Language Applications

The mechanism of master clientThe mechanism of master client

Page 9: Grid-based Collaboration in Interactive Data Language Applications

Notifying Structure (cont.)Notifying Structure (cont.) The participant is written in Java programs.The participant is written in Java programs.

• It connects to NaradaBrokering and receives event It connects to NaradaBrokering and receives event messages from it.messages from it.

• The Java program controls the rendering process The Java program controls the rendering process according to the event messages it receives.according to the event messages it receives.

It makes use of the Callable IDL technology and JNI It makes use of the Callable IDL technology and JNI technology.technology.

It calls the IDL routines (procedures or functions) for the It calls the IDL routines (procedures or functions) for the rendering.rendering.

In order to do that, it has to call the IDL routines through a In order to do that, it has to call the IDL routines through a C program, in other words, that C program calls IDL C program, in other words, that C program calls IDL routines directly through Callable IDL technology.routines directly through Callable IDL technology.

A shared library (libCallableIDL.so) is generated from the C A shared library (libCallableIDL.so) is generated from the C program, and the Java program calls the native functions in program, and the Java program calls the native functions in the shared library through JNI.the shared library through JNI.

Page 10: Grid-based Collaboration in Interactive Data Language Applications

Generating of a shared libraryGenerating of a shared library

Page 11: Grid-based Collaboration in Interactive Data Language Applications

The mechanism of participant clientThe mechanism of participant client

Page 12: Grid-based Collaboration in Interactive Data Language Applications

Polling StructurePolling Structure Both the master and participant clients make use of the IDL-Java Both the master and participant clients make use of the IDL-Java

Bridge to connect to NaradaBrokering and communicate with it. Bridge to connect to NaradaBrokering and communicate with it. The methods used in the Bridge belong to IDL.The methods used in the Bridge belong to IDL.

The mechanism of the Master is the same as that of the Notifying The mechanism of the Master is the same as that of the Notifying Structure.Structure.

In a Java class, which is an interface to NaradaBrokering, and In a Java class, which is an interface to NaradaBrokering, and which the participating clients codes instantiate and make use of, which the participating clients codes instantiate and make use of, we add public global variables for event change flag and event we add public global variables for event change flag and event message, and make a notification related method onMessage() message, and make a notification related method onMessage() update them whenever the Broker broadcasts event messages to update them whenever the Broker broadcasts event messages to the clients. The update includes setting event flag and storing the clients. The update includes setting event flag and storing event message in the variables. event message in the variables.

The participating client code now has an instance of the Java The participating client code now has an instance of the Java class; it is constantly testing, or Polling, the instance variable – class; it is constantly testing, or Polling, the instance variable – event flag. If it finds the flag is set, it resets the flag and retrieves event flag. If it finds the flag is set, it resets the flag and retrieves the event message from the event message instance variable. It the event message from the event message instance variable. It then follows the instructions of the message to execute different then follows the instructions of the message to execute different parts of the IDL programs to do the rendering. parts of the IDL programs to do the rendering.

Page 13: Grid-based Collaboration in Interactive Data Language Applications

The mechanism of participant client in polling structureThe mechanism of participant client in polling structure

Page 14: Grid-based Collaboration in Interactive Data Language Applications

Future WorkFuture Work We are working on the ReviewPlus package to We are working on the ReviewPlus package to

make it collaborative between computers using make it collaborative between computers using the polling structure. It is a big package. We plan the polling structure. It is a big package. We plan to finish the implementation of the collaboration to finish the implementation of the collaboration to make the Master and Participant clients to make the Master and Participant clients available in real life and daily use.available in real life and daily use.

We have worked on the project using 2D images We have worked on the project using 2D images and graphics; we are interested in exploiting 3D and graphics; we are interested in exploiting 3D IDL rendering applications and realizing Grid-IDL rendering applications and realizing Grid-based collaboration in them. based collaboration in them.

We are also interested in finding new and better We are also interested in finding new and better structures, methodologies and technologies for structures, methodologies and technologies for IDL applications to be collaborative over IDL applications to be collaborative over networks, platforms and environments. networks, platforms and environments.