961 resultados para Client-server distributed databases
Resumo:
Desenvolvemos a modelagem numérica de dados sintéticos Marine Controlled Source Electromagnetic (MCSEM) usada na exploração de hidrocarbonetos para simples modelos tridimensionais usando computação paralela. Os modelos são constituidos de duas camadas estrati cadas: o mar e o sedimentos encaixantes de um delgado reservatório tridimensional, sobrepostas pelo semi-espaço correspondente ao ar. Neste Trabalho apresentamos uma abordagem tridimensional da técnica dos elementos nitos aplicada ao método MCSEM, usando a formulação da decomposição primária e secundária dos potenciais acoplados magnético e elétrico. Num pós-processamento, os campos eletromagnéticos são calculados a partir dos potenciais espalhados via diferenciação numérica. Exploramos o paralelismo dos dados MCSEM 3D em um levantamento multitransmissor, em que para cada posição do transmissor temos o mesmo processo de cálculos com dados diferentes. Para isso, usamos a biblioteca Message Passing Interface (MPI) e o modelo servidor cliente, onde o processador administrador envia os dados de entradas para os processadores clientes computar a modelagem. Os dados de entrada são formados pelos parâmetros da malha de elementos nitos, dos transmissores e do modelo geoelétrico do reservatório. Esse possui geometria prismática que representa lentes de reservatórios de hidrocarbonetos em águas profundas. Observamos que quando a largura e o comprimento horizontais desses reservatório têm a mesma ordem de grandeza, as resposta in-line são muito semelhantes e conseqüentemente o efeito tridimensional não é detectado. Por sua vez, quando a diferença nos tamanhos da largura e do comprimento do reservatório é signi cativa o efeito 3D é facilmente detectado em medidas in-line na maior dimensão horizontal do reservatório. Para medidas na menor dimensão esse efeito não é detectável, pois, nesse caso o modelo 3D se aproxima de um modelo bidimensional. O paralelismo dos dados é de rápida implementação e processamento. O tempo de execução para a modelagem multitransmissor em ambiente paralelo é equivalente ao tempo de processamento da modelagem para um único transmissor em uma máquina seqüêncial, com o acréscimo do tempo de latência na transmissão de dados entre os nós do cluster, o que justi ca o uso desta metodologia na modelagem e interpretação de dados MCSEM. Devido a reduzida memória (2 Gbytes) em cada processador do cluster do departamento de geofísica da UFPA, apenas modelos muito simples foram executados.
Resumo:
Pós-graduação em Engenharia Elétrica - FEIS
Resumo:
Server responsiveness and scalability are more important than ever in today’s client/server dominated network environments. Recently, researchers have begun to consider cluster-based computers using commodity hardware as an alternative to expensive specialized hardware for building scalable Web servers. In this paper, we present performance results comparing two cluster-based Web servers based on different server infrastructures: MAC-based dispatching (LSMAC) and IP-based dispatching (LSNAT). Both cluster-based server systems were implemented as application-space programs running on commodity hardware. We point out the advantages and disadvantages of both systems. We also identify when servers should be clustered and when clustering will not improve performance.
Resumo:
[ES] Un servicio de urgencias de una zona ofrece asistencia sanitaria y tiene como principal objetivo atender la patología urgente que acude al hospital y el nivel de compromiso que se asume consiste en diagnosticar, tratar y estabilizar, en la medida posible, dicha patología urgente. Otro objetivo es gestionar la demanda de atención urgente por parte del ciudadano a través de un sistema de selección prioritaria inicial (Triaje) que selecciona, prioriza, organiza y gestiona la demanda de atención. Para poder controlar y realizar el trabajo de la forma más eficaz se utilizan herramientas de gestión necesarias para el control de los pacientes, desde que se realiza su ingreso en el servicio de urgencias hasta el alta del mismo. Las aplicaciones desarrolladas son las siguientes: Gestión de Pacientes en Urgencias: Esta aplicación asignará un estado inicial al paciente y permitirá ir cambiando el estado del mismo usando el método del Triaje (valoración), el más difundido en la medicina de urgencias. Además, se podrán solicitar pruebas diagnósticas y la visualización de marcadores de analíticas para comprobar su evolución. Finalmente, se podrá desarrollar un informe de alta para el paciente. Informadores de Urgencias: La aplicación gestiona la localización física del paciente dentro del servicio de urgencias, permitiendo asimismo el cambio entre las distintas localizaciones y el control para la información a los familiares de los mismos, pudiendo almacenar los familiares y teléfonos de contactos para que estos puedan ser informados. El desarrollo se ha realizado utilizando el MVC (modelo - vista - controlador) que es patrón de arquitectura que separa los datos de una aplicación, la interfaz gráfica de usuario y la lógica de control de componentes. El software utilizado para el desarrollo de las aplicaciones es CACHÉ de Intersystems que permite la creación de una base de datos multidimensional. El modelo de objetos de Caché se basa en el estándar ODMG (Object Database Management Group, Grupo de gestión de bases de datos de objetos) y soporta muchas características avanzadas. CACHÉ dispone de Zen, una biblioteca completa de componentes de objetos preconstruidos y herramientas de desarrollo basadas en la tecnología CSP (Caché Server Pages) y de objetos de InterSystems. ZEN es especialmente apropiado para desarrollar una versión Web de las aplicaciones cliente/servidor creadas originalmente con herramientas como Visual Basic o PowerBuilder.
Resumo:
The Peer-to-Peer network paradigm is drawing the attention of both final users and researchers for its features. P2P networks shift from the classic client-server approach to a high level of decentralization where there is no central control and all the nodes should be able not only to require services, but to provide them to other peers as well. While on one hand such high level of decentralization might lead to interesting properties like scalability and fault tolerance, on the other hand it implies many new problems to deal with. A key feature of many P2P systems is openness, meaning that everybody is potentially able to join a network with no need for subscription or payment systems. The combination of openness and lack of central control makes it feasible for a user to free-ride, that is to increase its own benefit by using services without allocating resources to satisfy other peers’ requests. One of the main goals when designing a P2P system is therefore to achieve cooperation between users. Given the nature of P2P systems based on simple local interactions of many peers having partial knowledge of the whole system, an interesting way to achieve desired properties on a system scale might consist in obtaining them as emergent properties of the many interactions occurring at local node level. Two methods are typically used to face the problem of cooperation in P2P networks: 1) engineering emergent properties when designing the protocol; 2) study the system as a game and apply Game Theory techniques, especially to find Nash Equilibria in the game and to reach them making the system stable against possible deviant behaviors. In this work we present an evolutionary framework to enforce cooperative behaviour in P2P networks that is alternative to both the methods mentioned above. Our approach is based on an evolutionary algorithm inspired by computational sociology and evolutionary game theory, consisting in having each peer periodically trying to copy another peer which is performing better. The proposed algorithms, called SLAC and SLACER, draw inspiration from tag systems originated in computational sociology, the main idea behind the algorithm consists in having low performance nodes copying high performance ones. The algorithm is run locally by every node and leads to an evolution of the network both from the topology and from the nodes’ strategy point of view. Initial tests with a simple Prisoners’ Dilemma application show how SLAC is able to bring the network to a state of high cooperation independently from the initial network conditions. Interesting results are obtained when studying the effect of cheating nodes on SLAC algorithm. In fact in some cases selfish nodes rationally exploiting the system for their own benefit can actually improve system performance from the cooperation formation point of view. The final step is to apply our results to more realistic scenarios. We put our efforts in studying and improving the BitTorrent protocol. BitTorrent was chosen not only for its popularity but because it has many points in common with SLAC and SLACER algorithms, ranging from the game theoretical inspiration (tit-for-tat-like mechanism) to the swarms topology. We discovered fairness, meant as ratio between uploaded and downloaded data, to be a weakness of the original BitTorrent protocol and we drew inspiration from the knowledge of cooperation formation and maintenance mechanism derived from the development and analysis of SLAC and SLACER, to improve fairness and tackle freeriding and cheating in BitTorrent. We produced an extension of BitTorrent called BitFair that has been evaluated through simulation and has shown the abilities of enforcing fairness and tackling free-riding and cheating nodes.
Resumo:
Nello sviluppo di sistemi informatici si sono affermate numerose tecnologie, che vanno utilizzate in modo combinato e, possibilmente sinergico. Da una parte, i sistemi di gestione di basi di dati relazionali consentono una gestione efficiente ed efficace di dati persistenti, condivisi e transazionali. Dall'altra, gli strumenti e i metodi orientati agli oggetti (linguaggi di programmazione, ma anche metodologie di analisi e progettazione) consentono uno sviluppo efficace della logica applicativa delle applicazioni. E’ utile in questo contesto spiegare che cosa s'intende per sistema informativo e sistema informatico. Sistema informativo: L'insieme di persone, risorse tecnologiche, procedure aziendali il cui compito è quello di produrre e conservare le informazioni che servono per operare nell'impresa e gestirla. Sistema informatico: L'insieme degli strumenti informatici utilizzati per il trattamento automatico delle informazioni, al fine di agevolare le funzioni del sistema informativo. Ovvero, il sistema informatico raccoglie, elabora, archivia, scambia informazione mediante l'uso delle tecnologie proprie dell'Informazione e della Comunicazione (ICT): calcolatori, periferiche, mezzi di comunicazione, programmi. Il sistema informatico è quindi un componente del sistema informativo. Le informazioni ottenute dall'elaborazione dei dati devono essere salvate da qualche parte, in modo tale da durare nel tempo dopo l'elaborazione. Per realizzare questo scopo viene in aiuto l'informatica. I dati sono materiale informativo grezzo, non (ancora) elaborato da chi lo riceve, e possono essere scoperti, ricercati, raccolti e prodotti. Sono la materia prima che abbiamo a disposizione o produciamo per costruire i nostri processi comunicativi. L'insieme dei dati è il tesoro di un'azienda e ne rappresenta la storia evolutiva. All'inizio di questa introduzione è stato accennato che nello sviluppo dei sistemi informatici si sono affermate diverse tecnologie e che, in particolare, l'uso di sistemi di gestione di basi di dati relazionali comporta una gestione efficace ed efficiente di dati persistenti. Per persistenza di dati in informatica si intende la caratteristica dei dati di sopravvivere all'esecuzione del programma che li ha creati. Se non fosse cosi, i dati verrebbero salvati solo in memoria RAM e sarebbero persi allo spegnimento del computer. Nella programmazione informatica, per persistenza si intende la possibilità di far sopravvivere strutture dati all'esecuzione di un programma singolo. Occorre il salvataggio in un dispositivo di memorizzazione non volatile, come per esempio su un file system o su un database. In questa tesi si è sviluppato un sistema che è in grado di gestire una base di dati gerarchica o relazionale consentendo l'importazione di dati descritti da una grammatica DTD. Nel capitolo 1 si vedranno più in dettaglio cosa di intende per Sistema Informativo, modello client-server e sicurezza dei dati. Nel capitolo 2 parleremo del linguaggio di programmazione Java, dei database e dei file XML. Nel capitolo 3 descriveremo un linguaggio di analisi e modellazione UML con esplicito riferimento al progetto sviluppato. Nel capitolo 4 descriveremo il progetto che è stato implementato e le tecnologie e tools utilizzati.
Resumo:
Il Progetto XCModel, che da dieci anni si sviluppa e si perfeziona col contributo di varie persone, consente la progettazione di scene 3D e la resa fotorealistica. Esso si appoggia sulle funzionalita' grafiche di X-Window in Linux: si tratta di un ambiente in costante evoluzione, dovuta sia alle continue innovazioni hardware che ai cambiamenti degli standard. XCModel e' composto da vari pacchetti, ognuno dei quali specializzato nel trattare un particolare aspetto della modellazione o della resa (curve, superfici, textures, luci, ...) e che si presentano come applicazioni dotate di una sofisticata interfaccia grafica. Tutte attingono alle funzioni della Libreria XTools, che fornisce numerose primitive grafiche facenti uso delle potenzialita' di X-Window. I recenti cambiamenti nelle specifiche di X-Org, ed in particolare la de- standardizzazione del backing-store, ha obbligato il team di XCModel ad una consistente riprogettazione di XTools e di tutti i pacchetti che su di esso s'appoggiano. S'e' colta l'occasione per un massiccio debugging e per modificare i pacchetti in base alle impressioni emerse nel corso degli anni da parte degli utilizzatori, primi tra tutti gli studenti del corso di Grafica tenuto dal Prof. Giulio Casciola, project-manager di XCModel: questa e' un'ulteriore testimonianza del continuo adattamento e dell'aggiornabilita' del Progetto! Nella fattispecie, ci si occupera' delle modifiche effettuate in particolare al pacchetto XCSurf, finalizzato alla creazione ed alla modifica di curve e superfici 3D da utilizzarsi successivamente per la creazione delle scene: tale pacchetto e' di fatto risultato il pie' avulso dalle specifiche di XTools, il che ha costretto ad un massiccio intervento al codice del programma, ma d'altro canto ha consentito una standardizzazione del pacchetto in linea con gli altri, in particolare ridisegnandone l'interfaccia. Nel primo capitolo si effettuera' una veloce panoramica dell'ambiente XCModel e delle problematiche emerse dai cambiamenti degli standard di X-Window. Il secondo capitolo affrontera' un'ampia analisi dell'hardware, del software e dei paradigmi che caratterizzano la grafica interattiva, e gli ambienti necessari per interagire con essa ed esaminando i vari obiettivi raggiungibili. Infine, il terzo capitolo analizzera' nel dettaglio le modifiche effettuate ai pacchetti di XCModel ed in particolare ad XCSurf per l'adattamento ai nuovi standard, nel rispetto delle politiche e delle linee guida dettate dalla grafica interattiva.
Resumo:
Negli ultimi anni si sente sempre più spesso parlare di cloud computing. L'idea di fondo di questo concetto è quella di pagare per il solo effettivo utilizzo di un servizio, disponibile sulla rete, avendo a disposizione la possibilità di poter variare le proprie risorse utilizzabili a seconda delle necessità, che potrebbero essere, per esempio, applicazioni standard oppure spazi di storage per i dati. Quando cominciò a diffondersi l'utilizzo del Web, la rete Internet veniva raffigurata come una nuvola (cloud) in modo tale che si rendesse l'idea di un'entità esterna rispetto alla nostra casa o al nostro posto di lavoro, un qualcosa cioè al di fuori dei luoghi abituali in cui vengono utilizzati i PC. Tale rappresentazione diventa ora utile per poter spiegare il concetto di cloud computing. Infatti, grazie a questa nuova tecnologia, dati e programmi normalmente presenti nei nostri computer potranno ora trovarsi sul cloud. Molti reparti IT sono costretti a dedicare una parte significativa del loro tempo a progetti di implementazione, manutenzione e upgrade che spesso non danno un vero valore per l'azienda. I team di sviluppo hanno cominciato quindi a rivolgersi a questa nuova tecnologia emergente per poter minimizzare il tempo dedicato ad attività a basso valore aggiunto per potersi concentrare su quelle attività strategiche che possono fare la differenza per un'azienda. Infatti un'infrastruttura come quella cloud computing promette risparmi nei costi amministrativi che raggiungono addirittura il 50% rispetto ad un software standard di tipo client/server. Questa nuova tecnologia sta dando inizio ad un cambiamento epocale nel mondo dello sviluppo delle applicazioni. Il passaggio che si sta effettuando verso le nuove soluzioni cloud computing consente infatti di creare applicazioni solide in tempi decisamente più brevi e con costi assai inferiori, evitando inoltre tutte le seccature associate a server, soluzioni software singole, aggiornamenti, senza contare il personale necessario a gestire tutto questo. L'obiettivo di questa tesi è quello di mostrare una panoramica della progettazione e dello sviluppo di applicazioni Web nel cloud computing, analizzandone pregi e difetti in relazione alle soluzioni software attuali. Nel primo capitolo viene mostrato un quadro generale in riferimento al cloud, mettendo in luce le sue caratteristiche fondamentali, esaminando la sua architettura e valutando vantaggi e svantaggi di tale piattaforma. Nel secondo capitolo viene presentata la nuova metodologia di progettazione nel cloud, operando prima di tutto un confronto con lo sviluppo dei software standard e analizzando poi l'impatto che il cloud computing opera sulla progettazione. Nel terzo capitolo si entra nel merito della progettazione e sviluppo di applicazioni SaaS, specificandone le caratteristiche comuni ed elencando le piattaforme di rilievo allo stato dell'arte. Si entrerà inoltre nel merito della piattaforma Windows Azure. Nel quarto capitolo viene analizzato nel particolare lo sviluppo di applicazioni SaaS Multi-Tenant, specificando livelli e caratteristiche, fino a spiegare le architetture metadata-driven. Nel quinto capitolo viene operato un confronto tra due possibili approcci di sviluppo di un software cloud, analizzando nello specifico le loro differenze a livello di requisiti non funzionali. Nel sesto capitolo, infine, viene effettuata una panoramica dei costi di progettazione di un'applicazione cloud.
Resumo:
L'obiettivo di questa tesi è stato quello di implementare un applicazione client-server per dispositivi Android basato sul paradigma del crowdsourcing. Il focus è stato rivolto sulla ricerca di un modo che consentisse all'utente di notificare degli eventi stradali senza distrarlo dalla guida, consentendogli di interagire vocalmente con il dispositivo per la segnalazione di differenti notifiche. Viene implementa un sistema di rilevazione delle velocità delle strade tramite l'invio di dati anonimi da parte degli utenti, che si integra con il sistema di notifica, consentendo una migliore rappresentazione della viabilità stradale. Inoltre è stato implementato anche un navigatore satellitare con tecnologia turn-by-turn da cui gli utenti possono effettuare itinerari, configurandosi, in ultima analisi, come una strumento in grado di supportare gli automobilisti da più punti di vista.
Resumo:
NinjaTyping è un cosiddetto "Typing Game", sviluppato per terminali Android. L'utente deve scrivere il testo visualizzato su schermo, nel minor tempo e con la minor incidenza possibile d'errore. I punteggi effettuati dagli utenti, possono essere condivisi su Facebook oltre che su un apposito server dedicato, atto a gestire i migliori punteggi. Inoltre è prevista anche una modalità online in cui gli utenti possono sfidarsi in partite a turni. Anche questa feature è gestita tramite il server dedicato.
Resumo:
Lo scopo di questo lavoro è realizzare, in ambito web, un'applicazione client-server database-independent, ovvero un'applicazione il cui funzionamento non è vincolato da uno specifico tipo di base di dati.
Resumo:
La tesi descrive la progettazione e lo sviluppo di un network informativo accessibile come Web App e come app sullo store Android, sviluppato con architettura Client / Server grazie ad un sistema di API sviluppato parzialmente ad-hoc.
Resumo:
In questa Tesi di laurea, si è affrontato il problema della mobilità veicolare in caso di nebbie. Si è quindi sviluppato un prototipo con architettura Client-Server, che si è soffermato maggiormente sull’analisi dei dati per la creazione di un percorso alternativo. Si è preso in considerazione il sistema operativo mobile di Apple, iOS7 che rappresenta uno dei Sistemi Operativi mobili maggiormente presenti sul mercato oggigiorno e che possiede un buon bacino di utenze. La parte Server è stata sviluppata secondo l’architettura REST; è presente un Server HTTP che riceve richieste e risponde in modo adeguato ai Client tramite lo scambio bidirezionale di dati in formato JSON. Nella parte Server è inclusa la base di dati: un componente molto importante poiché implementa al suo interno, parte della logica di Sistema tramite stored procedure. La parte Client è un’applicazione per dispositivi iPad e iPhone chiamata Fog Escaping; essa è stata sviluppata secondo il pattern MVC (Model- View-Controller). Fog Escaping implementa un algoritmo Greedy di ricerca del percorso alternativo, che può essere utilizzato per diverse tipologie di applicazioni.
Resumo:
Al giorno d’oggi il World Wide Web non è più un semplice strumento per la condivisione di informazioni. Le tecnologie nate nel corso dell’ultimo decennio hanno permesso lo sviluppo di vere e proprie applicazioni Web (Web App) complesse, indipendenti e multi-utente in grado di fornire le stesse funzionalità delle normali applicazioni desktop. In questa tesi verranno trattate le caratteristiche di una Web App moderna, analizzandone l’evoluzione e il processo produttivo. Particolare attenzione sarà posta alle Web App distribuite e ai meccanismi di comunicazione client-server che queste nuove tecnologie hanno reso disponibili. I WebSocket, la tecnologia di riferimento di HTML5, saranno riportati come caso di studio e relazionati allo standard precedente ad HTML5, cioè Ajax e Long Polling.
Resumo:
Un sistema per il mapping di access point wi-fi utilizzando un client scritto in android ed un server scritto in php. Il client si occuperà di scansionare le reti disponibili ed inviarle al server che con tali informazioni potrà inferire sulle posizioni effettive degli access point e fornire ad altri client informazioni più dettagliate per potersi connettere.