961 resultados para Client-server distributed databases
Resumo:
Realizzazione di un'app mobile interpiattaforma tramite phonegap che permette la geolocalizzazione di utenti di un gruppo. Connessione Client-Server attraverso Websocket. Librerie di Socket.IO e mappe di Google Maps.
Resumo:
Questo elaborato tratta della progettazione e dell'implementazione di una piattaforma social, destinata alla commercializzazione, per creare, gestire, condividere un insieme di liste organizzate di oggetti. La piattaforma è di tipo client-server, dove il client consiste in un'applicazione Android e il server in un'applicazione Node.js e un database MySQL che offrono un'API RESTful. Nello specifico è stata trattata l'implementazione delle notifiche push (anche geolocalizzate) e la sincronizzazione dei dati per l'utilizzo offline.
Resumo:
Questa tesi ha come scopo principale l'analisi delle diverse tecnologie di localizzazione in ambito indoor, analizzando in particolare l'utilizzo del Wifi RSS Fingerprinting. La tecnica del Wifi RSS Fingerprinting è una tecnica per la localizzazione all'interno di ambienti chiusi, che consiste nella definizione di un 'impronta'(fingerprint) in un punto preciso dell'ambiente(definito reference point), andando a inserire in un database i valori di potenza del segnale ricevuto(RSS) da ogni access point rilevato all'interno di quel determinato reference point. Per l'implementazione di questa tecnica è stato sviluppato un applicativo con un architettura client-server. Il client è stato sviluppato in ambiente Android, realizzando una applicazione per la gestione della fase di salvataggio di nuovi fingerprint e per la fase di localizzazione della posizione corrente, tramite l'utilizzo dei vari fingerprint precedentemente inseriti all'interno del DB. Il server, sviluppato in Node.js(framework Javascript), gestirà le diverse richieste ricevute dal client tramite delle chiamate AJAX, prelevando le informazioni richieste direttamente dal database. All'interno delle applicativo sono stati implementati diversi algoritmi per la localizzazione indoor, in modo da poter verificare l'applicabilità di questo sistema in un ambito reale. Questi algoritmi sono stati in seguito testati per valutare l'accuratezza e la precisione di ciascuno, andando ad individuare gli algoritmi migliori da utilizzare in base a scenari diversi.
Resumo:
L’obiettivo di questa tesi è la trasposizione del gioco da tavolo “Mahjong” su un’applicazione mobile. Essa è sviluppata in Android, ma l’idea è quella di estenderla anche alle altre piattaforme. Col passare del tempo il Mahjong si è diffuso in molti paesi e per questo ne sono nate molte varianti. In questo caso si adotta il regolamento ravennate 200-400, opportunamente modificato per adattarlo all’applicazione. Il nome dell’applicativo nasce dal fatto che esso dovrà gestire un numero molto elevato di lingue e che nessuno ha ancora sviluppato un gioco multiplayer sul Mahjong, per cui sarà il primo a livello mondiale. Nell’applicazione un utente dovrà creare il tavolo di gioco e solo allora gli altri potranno visualizzarlo. Dopo che tutti si saranno seduti, chiunque potrà chiedere di iniziare una partita, che comincerà non appena tutti avranno accettato la richiesta. È stato progettato un database, in modo da salvare lo stato attuale di tutti i tavoli. Le informazioni sullo stato di ogni partita, invece, sono salvate in un file diverso per ciascuna. L’architettura utilizzata per lo sviluppo dell’applicativo è del tipo client-server. Per la parte server dell’applicazione si è scelto di usare il linguaggio java, utilizzando le socket e instaurando connessioni SSL. Il server utilizza inoltre connessioni non persistenti. Tutte le richieste inviate e ricevute dal server sono create in un formato adatto all'interscambio di dati fra applicazioni client-server, chiamato JSON. Nel server si è creato, inoltre, un servizio di “caching” delle partite, in modo da incrementare le prestazioni e la velocità di elaborazione delle richieste. Per connettere in modo corretto il server al database si utilizza JDBC.
Resumo:
Obiettivo dell'elaborato di tesi è il comprendere l'organizzazione di un azienda tipo al fine di ottimizzarla e renderla più efficiente. Per raggiungere questo obiettivo è stato progettato un sistema client server che prende in gestione le commissioni di un’azienda. Il sistema permette la suddivisione del lavoro, i progetti sono formati da moduli e i moduli composti da attività. C’è un capo progetto e un responsabile per ogni modulo secondo la gerarchia aziendale. Ogni qualvolta un impiegato effettua una mansione per un’attività segnala le ore svolte attraverso un report, costituendo così il timetracking. Il sistema è stato sviluppato per dispositivi Android.
Resumo:
La presente tesi esamina la progettazione e lo sviluppo di un sistema software la cui funzionalità principale è quella di gestire segnalazioni in merito a problematiche riscontrate dall'utente che possono riguardare diversi ambiti come segnalazioni post-vendita in merito a progetti informatici (bug, mancanza di funzionalità, errori di funzionalità...) o segnalazioni in merito a disguidi su ordini (ordine errato, ordine non ricevuto...). Tali problematiche vengono identificate nel ticket. Una volta aperto, dopo un'analisi del problema, il ticket viene assegnato ad un operatore che si occuperà di risolverlo. In questa fase operatore ed utente possono scambiarsi informazioni aggiuntive tramite un thread di conversazione associato al ticket. Il sistema è volto ad uniformare il canale di comunicazione tra azienda e cliente e a fornire all'azienda che ne ha fatto richiesta un sistema efficiente per la gestione di queste segnalazioni, portando dei benefici ad entrambe le parti, impiegati e clienti, che possono fornire un feedback in merito al servizio ricevuto. Il sistema è stato sviluppato per dispositivi Android. L'architettura utilizzata per sviluppare l'applicazione è di tipo client-server. I dati necessari al funzionamento dell'applicazione sono conservati in un database online.
Resumo:
La tesi è incentrata sullo studio e sulla progettazione di un dispositivo wireless di feedback tattile per un sistema di ausilio per non vedenti o ipovedenti. Il dispositivo composto da micro motori vibranti avvisa l'utente di imminenti ostacoli nel suo cammino. La rilevazione degli ostacoli è opera del visore, un sistema composto da una videocamera stereo, con elaborazione su FPGA, collegata ad un Odroid-U3. Viene trattato anche lo sviluppo di un'applicazione server, con relativa libreria di funzioni, che permette al visore di comunicare con dispositivi iOS esterni. Quest'ultima parte è avvenuta in collaborazione con il collega Luca Ranalli che si è occupato dell' App client per smartphone e tablet iOS.
Resumo:
Nell’ambito di questo lavoro di tesi è stata progettata e realizzata un'applicazione di edutainment, pensata per essere fruita attraverso dispositivi mobili, da parte di studenti delle scuole medie, con l’obiettivo di esercitare e migliorare le capacità logiche e di problem solving. La tesi descrive il contesto educativo e scolastico in relazione alla presenza delle tecnologie dell'informazione e della comunicazione, ed infine mostra come una componente di intrattenimento possa essere utile nei processi di apprendimento. Lo sviluppo dell’applicazione è basato sulla progettazione di applicazioni ibride, usando come framework di sviluppo Apache Cordova, quindi attraverso tecnologie web-based, con un’architettura client-server, in cui la parte client gestisce l’interfaccia grafica e le interazioni logiche mentre la parte server viene sfruttata esclusivamente come contenitore di informazioni.
Resumo:
Linear programs, or LPs, are often used in optimization problems, such as improving manufacturing efficiency of maximizing the yield from limited resources. The most common method for solving LPs is the Simplex Method, which will yield a solution, if one exists, but over the real numbers. From a purely numerical standpoint, it will be an optimal solution, but quite often we desire an optimal integer solution. A linear program in which the variables are also constrained to be integers is called an integer linear program or ILP. It is the focus of this report to present a parallel algorithm for solving ILPs. We discuss a serial algorithm using a breadth-first branch-and-bound search to check the feasible solution space, and then extend it into a parallel algorithm using a client-server model. In the parallel mode, the search may not be truly breadth-first, depending on the solution time for each node in the solution tree. Our search takes advantage of pruning, often resulting in super-linear improvements in solution time. Finally, we present results from sample ILPs, describe a few modifications to enhance the algorithm and improve solution time, and offer suggestions for future work.
Resumo:
Modern e-learning systems represent a special type of web information systems. By definition, information systems are special computerized systems used to perform data operations by multiple users simultaneously. Each active user consumes an amount of hardware resources. A shortage of hardware resources can be caused by growing number of simultaneous users. Such situation can result in overall malfunctioning or slowed-down system. In order to avoid this problem, the underlying hardware system gets usually continuously upgraded. These upgrades, typically accompanied with various software updates, usually result in a temporarily increased amount of available resources. This work deals with the problem in a different way by proposing an implementation of a web e-learning system with a modified software architecture reducing resource usage of the server part to the bare minimum. In order to implement a full-scale e-learning system that could be used as a substitute to a conventional web e-learning system, a Rich Internet Application framework was used as basis. The technology allowed implementation of advanced interactivity features and provided an easy transfer of a substantial part of the application logic from server to clients. In combination with a special server application, the server part of the new system is able to run with a reasonable performance on a hardware with very limited computing resources.
Resumo:
Las prácticas en laboratorios forman una parte muy importante de la formación en todos los programas docentes. A pesar de esta importancia, la creación de un laboratorio no es una tarea fácil, ya que el hecho de equipar un laboratorio puede suponer un gran gasto económico, tanto inicial como posterior. Como solución, surge la educación a distancia, y en concreto los laboratorios virtuales, es decir, simulaciones de un laboratorio real utilizando modelos matemáticos. Por sus características y flexibilidad se han ido desarrollando laboratorios virtuales en el ámbito docente, pero no todas las áreas cuentan con tantas posibilidades o facilidades como en la electrónica. La mayoría de los laboratorios accesibles desde Internet que hay en la actualidad dentro de la enseñanza a distancia o formación online, son virtuales. El laboratorio que se ha desarrollado tiene como principal ventaja la realización de prácticas controlando instrumentos y circuitos reales de forma remota. El proyecto consiste en realizar un sistema software para implementar un laboratorio remoto en el área de la electrónica analógica, que pueda ser utilizado como complemento a las actividades formativas que se realizan en los laboratorios de los centros de enseñanza. El sistema completo también consta de un hardware controlado mediante buses de comunicación estándar, que permite la implementación de distintos circuitos analógicos, de tal forma que se pueda realizar prácticas sobre circuitos físicos reales. Para desarrollar un laboratorio lo más real posible, la aplicación que maneja el estudiante es un visor 3D. Con la utilización de un visor 3D lo que se pretende es tener un aumento de la realidad a la hora de realizar las prácticas de laboratorio remotamente. El sistema desarrollado cuenta con un sistema de comunicación basado en un modelo cliente-servidor: • Servidor: se encarga de procesar las acciones que realiza el cliente y controla y monitoriza los instrumentos y dispositivos del sistema hardware. • Cliente: sería el usuario final, que mediante un visor 3D comunica las acciones a realizar al servidor para que éste las procese. Practices in laboratories are a very important part of training in all educational programs. Despite this importance, the establishment of a laboratory is not an easy task, since the fact of equipping a laboratory can be a great economic budget, both initial and subsequent spending. As a solution, appears the education at distance (online), and in particular the virtual labs, namely simulations of a real laboratory by using mathematical models. Virtual laboratories in the field of teaching have been developed for its features and flexibility, but not all areas have so many possibilities or facilities as in electronics. The most accessible laboratories from the Internet that are currently accessible within the distance or e-learning (on-line) are virtual. The laboratory which has been developed has as a main advantage to make practices or exercises in the fact of controlling instruments and real circuits remotely. The project consists of making a software system in order to implement a remote laboratory in the area of analog electronics that can be used as a complement to the others training activities to be carried out. The complete system also consists of a controlled hardware by standard communication buses that allow the implementation of several analog circuits, in such a way that practices can control real physical circuits. To develop a laboratory as more realistic as possible, the application that manages the student is a 3D viewer. With the use of a 3D viewer, is intended to have an increase in reality when any student wants to access to laboratory practices remotely. The developed system has a communication system based on a model Client/Server: • Server: The system that handles actions provided by the client and controls and monitors the instruments and devices in the hardware system. • Client: The end user, which using a 3D viewer, communicates the actions to be performed at the server so that it will process them.
Resumo:
We discuss from a practical point of view a number of issues involved in writing Internet and WWW applications using LP/CLP systems. We describe Pd_l_oW, a public-domain Internet and WWW programming library for LP/CLP systems which we argüe significantly simplifies the process of writing such applications. Pd_l_oW provides facilities for generating HTML structured documents, producing HTML forms, writing form handlers, accessing and parsing WWW documents, and accessing code posted at HTTP addresses. We also describe the architecture of some application classes, using a high-level model of client-server interaction, active modules. We then propose an architecture for automatic LP/CLP code downloading for local execution, using generic browsers. Finally, we also provide an overview of related work on the topic. The PiLLoW library has been developed in the context of the &- Prolog and CIAO systems, but it has been adapted to a number of popular LP/CLP systems, supporting most of its functionality.
Resumo:
We discuss from a practical point of view a number of issues involved in writing Internet and WWW applications using LP/CLP systems. We describe PiLLoW, an Internet and WWW programming library for LP/CLP systems which we argüe significantly simplifies the process of writing such applications. PiLLoW provides facilities for generating HTML structured documents, producing HTML forms, writing form handlers, accessing and parsing WWW documents, and accessing code posted at HTTP addresses. We also describe the architecture of some application classes, using a high-level model of client-server interaction, active modules. Finally we describe an architecture for automatic LP/CLP code downloading for local execution, using generic browsers. The PiLLoW library has been developed in the context of the &-Prolog and CIAO systems, but it has been adapted to a number of popular LP/CLP systems, supporting most of its functionality.
Resumo:
En los últimos años, debido al notable desarrollo de los terminales portátiles, que han pasado de ser “simples” teléfonos o reproductores a puros ordenadores, ha crecido el número de servicios que ofrecen cada vez mayor cantidad de contenido multimedia a través de internet. Además, la distinta evolución de estos terminales hace que nos encontremos en el mercado con una amplísima gama de productos de diferentes tamaños y capacidades de procesamiento, lo que hace necesario encontrar una fórmula que permita satisfacer la demanda de dichos servicios sea cual sea la naturaleza de nuestro dispositivo. Para poder ofrecer una solución adecuada se ha optado por la integración de un protocolo como RTP y un estándar de video como SVC. RTP (Real-time Transport Protocol), en contraposición a los protocolos de propósito general fue diseñado para aplicaciones de tiempo real por lo que es ideal para el streaming de contenido multimedia. Por su parte, SVC es un estándar de video escalable que permite transmitir en un mismo stream una capa base y múltiples capas de mejora, por lo que podremos adaptar la calidad y tamaño del contenido a la capacidad y tamaño de nuestro dispositivo. El objetivo de este proyecto consiste en integrar y modificar tanto el reproductor MPlayer como la librería RTP live555 de tal forma que sean capaces de soportar el formato SVC sobre el protocolo RTP y montar un sistema servidorcliente para comprobar su funcionamiento. Aunque este proceso esté orientado a llevarse a cabo en un dispositivo móvil, para este proyecto se ha optado por realizarlo en el escenario más sencillo posible, para lo cual, se emitirán secuencias a una máquina virtual alojada en el mismo ordenador que el servidor. ABSTRACT In recent years, due to the remarkable development of mobile devices, which have evolved from "simple" phones or players to computers, the amount of services that offer multimedia content over the internet have shot up. Furthermore, the different evolution of these terminals causes that we can find in the market a wide range of different sizes and processing capabilities, making necessary to find a formula that will satisfy the demand for such services regardless of the nature of our device. In order to provide a suitable solution we have chosen to integrate a protocol as RTP and a video standard as SVC. RTP (Real-time Transport Protocol), in opposition to general purpose protocols was designed for real-time applications making it ideal for media streaming. Meanwhile, SVC is a scalable video standard which can transmit a single stream in a base layer and multiple enhancement layers, so that we can adapt the quality and size of the content to the capacity and size of our device. The objective of this project is to integrate and modify both MPlayer and RTP library live555 so that they support the SVC format over RTP protocol and set up a client-server system to check its behavior. Although this process has been designed to be done on a mobile device, for this project we have chosen to do it in the simplest possible scenario so we will stream to a virtual machine hosted on the same computer where we have the server.
Resumo:
Las aplicaciones distribuidas que precisan de un servicio multipunto fiable son muy numerosas, y entre otras es posible citar las siguientes: bases de datos distribuidas, sistemas operativos distribuidos, sistemas de simulación interactiva distribuida y aplicaciones de distribución de software, publicaciones o noticias. Aunque en sus orígenes el dominio de aplicación de tales sistemas distribuidos estaba reducido a una única subred (por ejemplo una Red de Área Local) posteriormente ha surgido la necesidad de ampliar su aplicabilidad a interredes. La aproximación tradicional al problema del multipunto fiable en interredes se ha basado principalmente en los dos siguientes puntos: (1) proporcionar en un mismo protocolo muchas garantías de servicio (por ejemplo fiabilidad, atomicidad y ordenación) y a su vez algunas de éstas en distintos grados, sin tener en cuenta que muchas aplicaciones multipunto que precisan fiabilidad no necesitan otras garantías; y (2) extender al entorno multipunto las soluciones ya adoptadas en el entorno punto a punto sin considerar las características diferenciadoras; y de aquí, que se haya tratado de resolver el problema de la fiabilidad multipunto con protocolos extremo a extremo (protocolos de transporte) y utilizando esquemas de recuperación de errores, centralizados (las retransmisiones se hacen desde un único punto, normalmente la fuente) y globales (los paquetes solicitados se vuelven a enviar al grupo completo). En general, estos planteamientos han dado como resultado protocolos que son ineficientes en tiempo de ejecución, tienen problemas de escalabilidad, no hacen un uso óptimo de los recursos de red y no son adecuados para aplicaciones sensibles al retardo. En esta Tesis se investiga el problema de la fiabilidad multipunto en interredes operando en modo datagrama y se presenta una forma novedosa de enfocar el problema: es más óptimo resolver el problema de la fiabilidad multipunto a nivel de red y separar la fiabilidad de otras garantías de servicio, que pueden ser proporcionadas por un protocolo de nivel superior o por la propia aplicación. Siguiendo este nuevo enfoque se ha diseñado un protocolo multipunto fiable que opera a nivel de red (denominado RMNP). Las características más representativas del RMNP son las siguientes; (1) sigue una aproximación orientada al emisor, lo cual permite lograr un grado muy alto de fiabilidad; (2) plantea un esquema de recuperación de errores distribuido (las retransmisiones se hacen desde ciertos encaminadores intermedios que siempre estarán más cercanos a los miembros que la propia fuente) y de ámbito restringido (el alcance de las retransmisiones está restringido a un cierto número de miembros). Este esquema hace posible optimizar el retardo medio de distribución y disminuir la sobrecarga introducida por las retransmisiones; (3) incorpora en ciertos encaminadores funciones de agregación y filtrado de paquetes de control, que evitan problemas de implosión y reducen el tráfico que fluye hacia la fuente. Con el fin de evaluar el comportamiento del protocolo diseñado, se han realizado pruebas de simulación obteniéndose como principales conclusiones que, el RMNP escala correctamente con el tamaño del grupo, hace un uso óptimo de los recursos de red y es adecuado para aplicaciones sensibles al retardo.---ABSTRACT---There are many distributed applications that require a reliable multicast service, including: distributed databases, distributed operating systems, distributed interactive simulation systems and distribution applications of software, publications or news. Although the application domain of distributed systems of this type was originally confíned to a single subnetwork (for example, a Local Área Network), it later became necessary extend their applicability to internetworks. The traditional approach to the reliable multicast problem in internetworks is based mainly on the following two points: (1) provide a lot of service guarantees in one and the same protocol (for example, reliability, atomicity and ordering) and different levéis of guarantee in some cases, without taking into account that many multicast applications that require reliability do not need other guarantees, and (2) extend solutions adopted in the unicast environment to the multicast environment without taking into account their distinctive characteristics. So, the attempted solutions to the multicast reliability problem were end-to-end protocols (transport protocols) and centralized error recovery schemata (retransmissions made from a single point, normally the source) and global error retrieval schemata (the requested packets are retransmitted to the whole group). Generally, these approaches have resulted in protocols that are inefficient in execution time, have scaling problems, do not make optimum use of network resources and are not suitable for delay-sensitive applications. Here, the multicast reliability problem is investigated in internetworks operating in datagram mode and a new way of approaching the problem is presented: it is better to solve to the multicast reliability problem at network level and sepárate reliability from other service guarantees that can be supplied by a higher protocol or the application itself. A reliable multicast protocol that operates at network level (called RMNP) has been designed on the basis of this new approach. The most representative characteristics of the RMNP are as follows: (1) it takes a transmitter-oriented approach, which provides for a very high reliability level; (2) it provides for an error retrieval schema that is distributed (the retransmissions are made from given intermedíate routers that will always be closer to the members than the source itself) and of restricted scope (the scope of the retransmissions is confined to a given number of members), and this schema makes it possible to optimize the mean distribution delay and reduce the overload caused by retransmissions; (3) some routers include control packet aggregation and filtering functions that prevent implosión problems and reduce the traffic flowing towards the source. Simulation test have been performed in order to evalúate the behaviour of the protocol designed. The main conclusions are that the RMNP scales correctly with group size, makes optimum use of network resources and is suitable for delay-sensitive applications.