ANAGRAM
An Agenda system for RAMs
Introduzione
La Meeting.com.org.net s.r.m.l. fornisce alle aziende servizi per
la pianificazione, organizzazione, gestione e hosting di riunioni.
La società intende ampliare la sua offerta offrendo alle aziende clienti
un servizio di agende distribuite per l'organizzazione di meeting basato
su tecnologia wireless.
In particolare, si vuole realizzare un sistema, basato su Rete Aziendale
Mobile (RAM), che consenta ai partecipanti di convocare riunioni fornendo
i nominativi dei partecipanti di cui è richiesta la presenza. Il sistema,
che mantiene le agende delle riunioni di tutto il personale dell'azienda,
individua il momento migliore per tenere la riunione, registra la riunione
sulle agende delle persone coinvolte, e invia una notifica sui terminali
wireless dei partecipanti (e di chi ha convocato la riunione).
Inoltre, il sistema deve fornire un servizio di allarmistica, ricordando
ai partecipanti i dettagli della riunione all'approssimarsi della data
e ora fissati.
In tutte le transazioni wireless, il sistema deve tenere conto dei
vincoli imposti dal protocollo di comunicazione e dalla disponibilità
di banda, determinati in sede contrattuale dal gestore della RAM.
Specifiche di dettaglio
-
Identificazione dell'utenza
Gli utenti sono identificati in base al numero telefonico del loro
terminale wireless (telefono cellulare) e autenticati tramite un PIN numerico
di cinque cifre, che viene inserito dall'utente nei messaggi di richiesta
al servizio. Di ogni utente è noto anche il nome anagrafico, che viene
usato per la visualizzazione. Non sono inizialmente previsti livelli di
autorizzazione diversi per diverse classi di utenza.
-
Formato dei messaggi
Tutti i messaggi in entrata e in uscita dal sistema devono essere messaggi
di testo (SMS) di lunghezza massima pari a 160 caratteri.
-
Messaggi di convocazione
Il messaggio con cui un utente chiede al sistema di convocare un meeting
include le seguenti informazioni:
-
ragione del meeting
-
luogo del meeting
-
partecipanti necessari
-
partecipanti opzionali
-
data e ora preferita
-
durata prevista
-
limite di anticipo
-
limite di posticipo
I campi b, d, f, g e h sono opzionali (b è per default la sede dell'azienda;
f è tutta la mattina o il pomeriggio, dall'ora della riunione alla pausa
pranzo o alla chiusura serale; g e h sono per default 2 giorni dalla data
preferita). I nomi dei partecipanti in c e d possono essere dati con abbreviazioni
uniche (per esempio, i soli cognomi). I limiti di anticipo e posticipo
possono essere espressi come data e ora o come numero di giorni rispetto
alla data e ora preferita.
-
Politica di selezione
Ricevuta una richiesta di convocazione di una riunione, il sistema
seleziona una data e ora per la riunione in modo che
-
tutti i partecipanti necessari siano liberi
-
il maggior numero possibile di partecipanti opzionali siano liberi
-
la data non sia precedente al limite di anticipo
-
la data non sia successiva al limite di posticipo
-
la data sia vicina per quanto possibile alla data e ora preferita
-
l'intera riunione sia compresa negli intervalli predefiniti (dall'apertura
alla pausa pranzo, o dal termine della pausa pranzo alla chiusura serale)
Se non esiste una selezione che soddisfi i vincoli dati sopra, il sistema
deve segnalare l'impossibilità di convocare la riunione all'autore della
richiesta.
-
Gestione agende
Una volta fissato un meeting, il sistema deve registrare l'impegno
dei partecipanti nelle rispettive agende, e inviare un messaggio di avviso
ai partecipanti (e al convocante) recante i dettagli della riunione. Ogni
utente del sistema deve avere la possibilità di consultare la propria
agenda, come mantenuta dal sistema, tramite una pagina web protetta da
autenticazione (il server web rende accessibili le pagine anche tramite
protocollo WAP).
-
Cancellazione riunioni
Chi ha convocato una riunione può cancellarla (al più tardi, due
ore prima dell'ora fissata per la riunione) inviando al server un messaggio
di cancellazione. La riunione da cancellare è indicata tramite il campo
"ragione" (vedi 2.a). In questo caso, il sistema aggiorna di conseguenza
le agende di tutti i partecipanti di cui era prevista la presenza, e avvisa
i partecipanti della cancellazione.
-
Allarmistica
Il sistema ricorda agli utenti l'approssimarsi di una riunione a cui
è prevista la loro partecipazione tramite l'invio di un messaggio. Tale
messaggio deve essere ricevuto almeno un'ora prima dell'inizio della riunione,
e non più di quattro ore prima. Il sistema evita comunque di inviare messaggi
fra l'ora di chiusura serale e un'ora prima dell'ora di apertura del giorno
successivo.
-
Disponibilità rete
La RAM non garantisce la disponibilità di banda, nè la consegna affidabile
di messaggi tramite la rete wireless. Ogni volta che viene trasmesso un
messaggio, la rete segnala se la consegna è avvenuta con successo o se
si è verificato un fallimento; in questo caso, il sistema deve ritentare
l'invio dopo un tempo di attesa.
La banda disponibile è solitamente sufficiente per l'invio dei messaggi,
ma occasionalmente il gestore della RAM può riservarne una parte per altri
usi (per esempio, per lo svolgimento di videoconferenze sulla RAM tramite
apparati wireless). In ogni caso, il sistema riceve dal gestore della rete
un messaggio che specifica la riduzione di banda, con un preavviso non
inferiore alle quattro ore. Il sistema deve in ogni caso garantire il servizio
di allarmistica, dando priorità alle riunioni più urgenti, e quello di
notifica della convocazione delle riunioni. Se la banda residua non è
sufficiente alla normale operatività del sistema, è accettabile che esso
rifiuti i messaggi di convocazione di nuove riunioni, indicando però il
rifiuto all'utente che convoca la riunione, e informandolo su quando si
stima che sarà disponibile banda sufficiente affinché si possa ritentare
la convocazione.
-
Architettura del sistema
Il sistema dispone un ricevitore/trasmettitore per messaggi di testo
(driver SMS). Sia i messaggi in uscita che quelli in entrata recano
il numero telefonico del destinatario/mittente e un campo di testo contenente
il messaggio. I messaggi in entrata recano anche l'istante di trasmissione
del messaggio da parte del terminale wireless dell'utente. I preavvisi
di allocazione della banda giungono al sistema tramite una connessione
separata, via cavo, con i sistemi del gestore della RAM (sistema gestore).
Il sistema è inoltre connesso a una macchina che funge da Web server (web
server), a cui possono essere inviati i file in formato HTML rappresentanti
le agende degli utenti.