28.06.2013 Views

Papers in PDF format

Papers in PDF format

Papers in PDF format

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

To meet our requirements, we have organized the <strong>in</strong>teractions between users and applications <strong>in</strong> sets<br />

of queries called sessions.The collection of all <strong>in</strong><strong>format</strong>ion about sessions and applications is called the Session<br />

Database (SDB for short).<br />

The SDB is updated by a server, called the Session Manager SM for short), via a set of services:<br />

creation of new sessions; submission of queries; execution of applications. Start<strong>in</strong>g from the SDB, the user can<br />

create reports to organize the outputs of the queries.<br />

The SDB is stored on a s<strong>in</strong>gle mach<strong>in</strong>e. Each operation is performed by runn<strong>in</strong>g a process on the<br />

mach<strong>in</strong>e of the SDB.<br />

Its important to note that our <strong>in</strong>terface is <strong>in</strong>teractive, that is, each query submitted to an application<br />

process may depend on the previous queries submitted to the same process. Moreover we can start a<br />

computation, turn off our computer, and then, possibly after several days, reconnect to the session to see the<br />

results.<br />

The WWW <strong>in</strong>terface to the SM is called WebSM. The WebSM is connected to the SM via a set cgi- of<br />

applications, one for each service. Furthermore, with the WebSM the reports can be hypertextual.<br />

For use the hardest po<strong>in</strong>t to <strong>in</strong>vestigate was related to client-server capabilities of the <strong>in</strong>terface. If we<br />

plan to build such a type of <strong>in</strong>terface, first of all we have to solve some specific problems like crash recovery.<br />

We will dist<strong>in</strong>guish between local-crash recovery (usually due to net problems or browser crash) and remotecrash<br />

recovery (roughly speak<strong>in</strong>g, crash of the SM or failure of cgi-applications).<br />

2 The Session Manager<br />

The Session Manager (SM for short) is the ma<strong>in</strong> eng<strong>in</strong>e of our tool. It is a server that enables <strong>in</strong>teractions with<br />

the Session Database (SDB). WebSM is a WWW <strong>in</strong>terface to the SM. Here is a bit of term<strong>in</strong>ology:<br />

An application is an executable program; an application process is an application <strong>in</strong> execution; an<br />

application process agent is a process on the same mach<strong>in</strong>e of the SM which passes the queries of the SM to<br />

the application processes; a query is a tuple , where and are respectively the<br />

<strong>in</strong>put and the output of the query, is the current status of the query (see Sect. 2.3) and<br />

conta<strong>in</strong>s auxiliary <strong>in</strong><strong>format</strong>ion (not specified here) used by the SM; a session is a set of queries; a Sessions<br />

Database (SDB) is a tuple , where is a set conta<strong>in</strong><strong>in</strong>g the <strong>in</strong><strong>format</strong>ion related to the applications<br />

connected to the SM (i.e. the mach<strong>in</strong>e <strong>in</strong> which the application runs, the agent of the application, etc.), is a<br />

set of application processes and is a set of sessions.<br />

The user <strong>in</strong>teracts with the application processes by means of the SM which offers the follow<strong>in</strong>g<br />

services: creates a new session; adds the query<br />

to the session ; starts the application with<strong>in</strong> the session<br />

by runn<strong>in</strong>g a new application process; enqueues the query of the session to<br />

the queries for the process ; starts a new process for the same application of<br />

and passes all the queries queued for to the new process (used <strong>in</strong> case of an abnormal term<strong>in</strong>ation of );<br />

is the same as , except that it also submits the previously<br />

answered queries to the new process <strong>in</strong> order to restore the state of the process as it was at the moment of the<br />

crash; creates a report accord<strong>in</strong>g to the specified parameters (see Sect 2.4).<br />

The SM solves the queries us<strong>in</strong>g the application processes. The SM takes a query submitted by the<br />

user to a process and sends the <strong>in</strong>put to the agent of . When a process has completed a computation, the SM<br />

puts the result <strong>in</strong> the output part of the associated query.<br />

In the follow<strong>in</strong>g sections we will exam<strong>in</strong>e, <strong>in</strong> more detail, how the SM and the WebSM work. We will<br />

support our presentation with a simple example, which we now <strong>in</strong>troduce.We start with an empty SDB, and we<br />

consider two different sessions 1 and s2. The two sessions use two different processes, and , for the same<br />

application (CoCoA), but they share the process for runn<strong>in</strong>g the application s<strong>in</strong>gular. We will present the<br />

status of the SDB for the example, <strong>in</strong> a non-graphical style.<br />

2.1 Sessions<br />

The user submits requests to the SM with<strong>in</strong> a session. Other users can share this session and exchange data<br />

with<strong>in</strong> it; moreover different sessions can share the same process.<br />

In the example below a new session has been created (service ).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!