[ca] En aquesta tesi, s'introdueix el codi per millorar les Xarxes DTN. Els protocols DTN Store-and-carry-forward ofereixen noves possibilitats en escenaris on hi ha connectivitat intermitent, amples de banda asimètrics, latències prolongades i variables i patrons ambigus de mobilitat. No obstant això, hi ha escenaris on mecanismes actuals DTN no són prou eficaços, per exemple, quan diverses aplicacions han de coexistir. En aquest treball presentem una arquitectura de propòsit general per a aquest tipus d'escenaris basats en la idea de deixar que l'aplicació, per mitjà dels seus missatges, determini el comportament de cada node intermedi. La pedra angular d'aquesta proposta és portar el codi d'algorisme d'enrutament al llarg de cada missatge. La xarxa DTN resultant pot ser utilitzada per diferents aplicacions a la vegada. Aquesta tesi utilitza tres exemples de tres escenaris diferents per mostrar com la nostra arquitectura es pot utilitzar. En primer lloc, una xarxa de propòsit general, multi-aplicació, de nodes mòbil basat en codi mòbil es presenta. Aquest sistema intel·ligent pot treballar en escenaris de DTN. Els nodes mòbils acollen codi mòbil amb les missions de fer tasques i actuen com routers DTN seguint el paradigma store-carry-and-forward. En segon lloc, un nou paradigma - store-carry-procés-and-forward - basat en codi mòbil per millorar la integració de les xarxes de sensors sense fils i computació grid es introduit. En tercer lloc, un escenari d'emergència en què els diferents usuaris, com policies, bombers, metges, infermeres, enginyers o els equips de rescat, entre d'altres, juntament amb els dispositius portàtils, com telèfons mòbils o tauletes, creuen la xarxa interconnectada. Contactes oportunistes permeten que diferents usuaris utilitzar les diferents aplicacions a la xarxa per a fins molt diferents. A més, la proposta es complementa amb una integració basada en extensions de codi del protocol Bundle Protocol. La viabilitat i la usabilitat de l'aplicació de les diferents propostes s'han demostrat i avaluat en comparació amb altres propostes del seu estat de l'art.

[en] In this thesis, we include code in the messages to improve Delay and Disruption Tolerant Networking (DTN) performance. Store-carry-and-forward DTN protocols offer new possibilities in scenarios where there are intermittent connectivity, asymmetric bandwidths, long and variable latency and ambiguous mobility patterns. However, there are scenarios where current DTN mechanisms are not efficient enough, for example when several applications need to coexist. In this study we present a general purpose architecture for this type of scenarios based upon the idea of letting the application, by means of its messages, decide the behavior of every intermediate node. The keystone of this proposal is to carry the routing algorithm code along with every single message. The resulting DTN can be used by different heterogeneous applications simultaneously. This thesis uses three examples of three different scenarios to show how our architecture can be used. Firstly, it presents a general purpose, multi-application mobile node sensor network based on mobile code. This intelligent system can work in DTN scenarios. Mobile nodes host software mobile code with task missions and act as DTN routers following the store-carry-and-forward model. Secondly, it introduces a new paradigm -- \textit{store-carry-process-and-forward} -- based on mobile code to improve the integration of wireless sensor networks and grid computing infrastructures. Thirdly, it describes an emergency scenario in which different users such as policemen, firemen, doctors, paramedics, engineers or rescue teams, among others, along with portable devices such as smart phones or tablets, create the interconnected network. Opportunistic contacts among the different users permit the different applications to employ the network for very different purposes. Additionally, the proposal is complemented by an integration based on code block bundle extensions of the proposed architecture with the DTN Bundle Protocol. The feasibility and usability of the different application proposals are proved and evaluated by comparing its performance with state-of-the-art proposals. [-]